var zj = {};
zj.startYmd;
zj.endYmd;
zj.carousel;
zj.loading = false;

zj.nextWeekBtn;
zj.lastWeekBtn;
zj.path;

zj.itemLoadCallback = function(carousel , state){
	if(state == "init"){
		return;
	}
	var ul = document.getElementById("schedule_carousel");
	var li = ul.getElementsByTagName("li");
	var size = li.length;
	var first = carousel.first;
	var last = carousel.last;
	zj.carousel = carousel;
	if(state == "next"){

		if(size - last < 10){
			zj.getItem(zj.endYmd , 1);
		}
	}
	if(state == "prev"){
		if(first < 10){
			zj.getItem(zj.startYmd , 0);
		}
	}
};

zj.getItem = function(ymd , state){
	if(zj.loading) return;
	var d = new Date().getTime();
	var url = z.path + "game/live.do?cmd=addList&targetYmd=" + ymd + "&state=" + state + "&d=" + d;

	var request = createHttpRequest("get",url,true);
	if(request == null) return true;
	setAjaxFunction(request,function(request){
		var json = getJsonObj(request);
		zj.getItemEnd(json);

	});
	zj.loading = true;
	request.send(null);
};

zj.getItemEnd = function(data){
	var size = zj.carousel.size();
	zj.carousel.size(size + data.shiaiScheduleGroup.length);
	var ul = document.getElementById("schedule_carousel");
	var li = ul.getElementsByTagName("li");

	if(!li || li.length == 0) return;

	var firstIndex = li[0].getAttribute("jcarouselindex");
	var lastIndex = li[li.length - 1].getAttribute("jcarouselindex");

	if(data.state == 0){
		zj.startYmd = data.startYmd;
		//前に日程を付け足すときは配列の後ろから足していき,更に現在の表示位置を1つ後ろにずらす
		for(var i = data.shiaiScheduleGroup.length - 1; i >= 0 ; i--){
			zj.addItem(data.shiaiScheduleGroup[i] , --firstIndex);
//			zj.carousel.first = zj.carousel.first + 1;
//			zj.carousel.last = zj.carousel.last  + 1;
			zj.carousel.scroll(zj.carousel.first + 1 , false);
		}
	}
	else{
		zj.endYmd = data.endYmd;
		for(var i = 0; i < data.shiaiScheduleGroup.length; i++){
			zj.addItem(data.shiaiScheduleGroup[i] , ++lastIndex);
		}
	}

	zj.loading = false;
}

zj.addItem = function(obj , num){
	var html = zj.createHtmlText(obj);
	zj.carousel.add(num , html);
};

zj.createHtmlText = function(obj){
	var arr = [];
	arr.push('<div class="');
	if(obj.schedules.length > 3){
		arr.push("game6");
	}else{
		arr.push("game3");
	}
	if(obj.today == "true"){
		arr.push(" today_schedule");
	}
	arr.push('">');

	if(obj.schedules.length > 0){
		arr.push('<a href="');
		arr.push(zj.path);
		arr.push("game/live/");
		arr.push(obj.ymd);
		arr.push('.jsp">')
	}

	arr.push('<div class="schedule_box">');
	arr.push('<div class="schedule_date">');
	arr.push(obj.ymdStr);
	arr.push('<span>');

	arr.push(obj.youbi);
	arr.push('</span></div>');
	for(var i = 0; i < obj.schedules.length; i++){
		var d = obj.schedules[i];
		arr.push('<div class="schedule_game');
		arr.push(i+1);
		arr.push('"><p>');
		arr.push('<img src="');
		arr.push(zj.path);
		arr.push('images/schedule_');
		arr.push(d.homeTeamBisCd);
		arr.push('.png" alt="" /> ');
		arr.push('<span');
		if (Number(d.homeScore) > Number(d.visitorScore)) {
			arr.push(' class="win"');
		}
		arr.push('>');
		if(d.endKbn != "00" && d.endKbn != "03"){
			arr.push(d.homeScore);
		}

		arr.push('</span> VS <span');
		if (Number(d.homeScore) < Number(d.visitorScore)) {
			arr.push(' class="win"');
		}
		arr.push('>');
		if(d.endKbn != "00" && d.endKbn != "03"){
			arr.push(d.visitorScore);
		}

		arr.push('</span><img src="');
		arr.push(zj.path);
		arr.push('images/schedule_');
		arr.push(d.visitorTeamBisCd);
		arr.push('.png" alt="" /></p>');
		arr.push('</div>');
	}
	//ゲーム日程のHTMLはゲーム数のDivが3か6じゃないと表示が狂うので、足りない分を空div配置
	var lack = obj.schedules.length > 3 ? 6 - obj.schedules.length : 3 - obj.schedules.length;
	for(var i = 0; i < lack; i++){
		arr.push('<div class="schedule_game');
		arr.push(obj.schedules.length+ i + 1);
		arr.push('">');
		arr.push('</div>');
	}


	arr.push('</div>');
	if(obj.schedules.length > 0){
		arr.push('</a>');
	}
	arr.push('</div>');

	return arr.join("");
};

