/////カレンダー生成JS/////

var ECtoday=new Date();
var thisYear=ECtoday.getFullYear();
var thisMonth=ECtoday.getMonth()+1;
var oneday=24 * 60 * 60 * 1000;
var onedaycell=6;//1日の横ピクセル
var genrecount=5;//ジャンル数
var genreHeads=new Array('Art','Music','Sports','Stage','Others');
/*ひと月の日数*/
var ECdayslist=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/*閏年*/
//今月＞2月だったら来年の2月を判定
var targetYear=thisMonth>2?thisYear+1:thisYear;
if(targetYear%4 == 0 && (targetYear%100 != 0 || targetYear%400 == 0)){
	ECdayslist[1]=29;
	}

/*表示月リスト*/
var ECM=new Array();
for(i=0;i<8;i++){
	ECM[i]=thisMonth+i<13?thisMonth+i:thisMonth+i-12;
	}

/*レンダリング*/
var startMonth=0;
function EConload(){
	var bgvrOffset=0;
	//「月」表示
	for(i=0;i<5;i++){
		$('EC'+(i+1)).style.width=ECdayslist[ECM[startMonth+i]-1]*onedaycell-1+'px';
		$('EC'+(i+1)+'B').style.width=ECdayslist[ECM[startMonth+i]-1]*onedaycell-1+'px';
		var dispTH='';
		if(ECM[startMonth+i]==1){
			dispTH=thisMonth==1?thisYear+'年':(thisYear+1)+'年';
			}
		else if(i==0){
			dispTH=thisMonth<=ECM[startMonth+i]?thisYear+'年':(thisYear+1)+'年';
			}
		dispTH+=ECM[startMonth+i]+'月';
		$('EC'+(i+1)).innerHTML=dispTH;
		$('EC'+(i+1)+'B').innerHTML=dispTH;
		$('month'+(i+1)).style.backgroundPosition=bgvrOffset+'px 0';
		bgvrOffset+=ECdayslist[ECM[startMonth+i]-1]*onedaycell;
		}
	//表示のはじめ
	var dispStart=new Date(
		ECM[0]>ECM[startMonth]?thisYear+1:thisYear,
		ECM[startMonth]-1,
		1);
	//表示のおわり
	var dispEnd=new Date(
		ECM[0]>ECM[startMonth+4]?thisYear+1:thisYear,
		ECM[startMonth+4]-1,
		ECdayslist[ECM[startMonth+4]-1]);
	//XMLデータ編集
	var http = new JKL.ParseXML('./event.xml?'+Math.floor(Math.random()*100000));
	var data = http.parse();var itemCount=data['eventlist']['array_item'].length;
	/*===XMLパース開始===*/
	var ECcontents='<div id="vertical_container" >';
	for(_j=0;_j<genrecount;_j++){//ジャンルのループ
	for(_i=0;_i<itemCount;_i++){//すべてのループ
	if((_i==0)&&(_j!=0)){ECcontents+='<div class="topanchor"><a href="#ecTOP">カレンダーの先頭へ▲</a></div>';}
	if(_i==0){ECcontents+='<div class="h3'+_j+'"><a name="eventTarget'+(_j+1)+'"><span class="alt">'+genreHeads[_j]+'</span></a></div><div class="accordion_content">'}
	if(_j+1==parseInt(data['eventlist']['array_item'][_i]['event_genre'])){//ジャンルごとにフィルタ
		//HTML生成
		var tmpDays=data['eventlist']['array_item'][_i]['days'].split(',');
		/*----------------------------------------------------------*/
		ECcontents+='<div class="entry">';
		ECcontents+='<div class="calCell">';
		/*----------------------------------------------------------*/
		for(i=0;i<tmpDays.length;i++){//Daysを分割
			if(tmpDays[i].indexOf('-')>-1){//複数日かどうか
				//2日以上
				var _kaishi=tmpDays[i].split('-')[0];
				var _shuryo=tmpDays[i].split('-')[1];
				var kaishi=new Date(_kaishi.substr(0,4),Number(_kaishi.substr(4,2))-1,Number(_kaishi.substr(6,2)));
				var shuryo=new Date(_shuryo.substr(0,4),Number(_shuryo.substr(4,2))-1,Number(_shuryo.substr(6,2)));
				var tmpSpan=(shuryo-kaishi)/oneday+1;
				}
			else{
				//1日
				var kaishi=new Date(tmpDays[i].substr(0,4),Number(tmpDays[i].substr(4,2))-1,Number(tmpDays[i].substr(6,2)));
				var shuryo=new Date(tmpDays[i].substr(0,4),Number(tmpDays[i].substr(4,2))-1,Number(tmpDays[i].substr(6,2)));
				var tmpSpan=1;
				}
			//相対位置
			var blockPoint=kaishi.getTime()<dispStart.getTime()?0:(kaishi.getTime()-dispStart.getTime())/oneday;
			//blockの長さ
			var fiveMonthdays=(dispEnd.getTime()-dispStart.getTime())/oneday;
			var leftOffset=kaishi.getTime()<dispStart.getTime()?(dispStart.getTime()-kaishi.getTime())/oneday:0;
			var rightOffset=shuryo.getTime()>dispEnd.getTime()?(shuryo.getTime()-dispEnd.getTime())/oneday:0;
			var blockLength=tmpSpan-leftOffset-rightOffset;
			//テキストインデント
			if(i==0){var ECtxtindent=blockPoint*onedaycell;}
			/*----------------------------------------------------------*/
			ECcontents+='<img src="./img/block'+_j+'.gif" style="left:'+(blockPoint*onedaycell)+'px;" width="'+(blockLength*onedaycell)+'" height="12" alt="'+data['eventlist']['array_item'][_i]['days_text']+'" />';
			/*----------------------------------------------------------*/
			}
		/*----------------------------------------------------------*/
		ECcontents+='</div>';
		ECcontents+='<div class="eventDate" style="margin-left:'+ECtxtindent+'px;">'+data['eventlist']['array_item'][_i]['days_text']+'</div>';
		ECcontents+='<div class="eventTitle '+data['eventlist']['array_item'][_i]['event_channel']+'" style="margin-left:'+ECtxtindent+'px;">';
		//リンクありなし・ウィンドウ設定
		if(parseInt(data['eventlist']['array_item'][_i]['link_type'])==0){
			var linkkey='',redirectkey='';
			}
		else if(parseInt(data['eventlist']['array_item'][_i]['link_type'])==1){
			var linkkey=' target="_blank"',redirectkey='http://dogatch.jp/bin/redirect.php?url=';
			}
		else{
			var linkkey='x',redirectkey='';
			}
			if(linkkey!='x'){ECcontents+='<a href="'+redirectkey+data['eventlist']['array_item'][_i]['event_url']+'"'+linkkey+'>';}
		ECcontents+=data['eventlist']['array_item'][_i]['event_title'];
			if(linkkey!='x'){ECcontents+='</a>';}
		ECcontents+='</div></div>';
		/*----------------------------------------------------------*/
		}
		if(_i==itemCount-1){ECcontents+='</div>'}
		}
		}
	ECcontents+='</div>';
	/*===XMLパース終了===*/
	$('month5').innerHTML=ECcontents;
	}

/*次月へ*/
function ECnext(){
	startMonth+=1;
	if(startMonth>=3){
		$('ECnext1').className="alt";
		$('ECnext2').className="alt";
		}
	$('ECprev1').className="";
	$('ECprev2').className="";
	EConload();
	}
/*前月へ*/
function ECprev(){
	startMonth-=1;
	if(startMonth==0){
		$('ECprev1').className="alt";
		$('ECprev2').className="alt";
		}
	$('ECnext1').className="";
	$('ECnext2').className="";
	EConload();
	}


//---------イチオシをセット
function setIchioshi(){
	var n=Math.floor(Math.random()*5)+1;
	changeIchioshi(n)
	}
function ichioshi(n){
	for(i=1;i<=5;i++){
		$('is'+i).className='';
		$('iF'+i).style.display='none';
		}
	changeIchioshi(n)
	}
function changeIchioshi(n){
	$('is'+n).className='selected';
	$('iF'+n).style.display='block';
	}
