var aryEventR = {};
function makeCal(f, Y, M)
{
	var aryEvent ={};
	var fwdY,fwdM, prvY,prvM;

	if(aryEventR[Y]==undefined){
		$.getJSON('/script/php/loadevent.php', {sY:Y}, function(json){
			aryEventR[Y] = {};
			$.each(json.items, function(i,item){
				var aryDate = item.date.split("/");
				var strKey  = "v"+(aryDate.join(""));
				if(strKey!="v"){
					var tmpKM   = parseInt(aryDate[1],10) - 1;
					if(aryEventR[Y][tmpKM]==undefined) aryEventR[Y][tmpKM]= {};
					var tmpObj  = new Object();
					tmpObj.eventId     = item.eventId;
					tmpObj.title       = item.title;
					tmpObj.href        = item.link;
					tmpObj.datetext    = item.datetext;
					tmpObj.description = item.description;
					tmpObj.area        = item.area;
					tmpObj.areanum     = item.areanum;
	
					aryEventR[Y][tmpKM][strKey] = tmpObj;
				}
			});
			aryEvent = aryEventR[Y][M];
			$(f).html(makeCalBody(Y,M,aryEvent));
		});
	}else{
		aryEvent = aryEventR[Y][M];
		$(f).html(makeCalBody(Y,M,aryEvent));
	}
}

function makeCalBody(Y,M,aryEvent)
{
	var retVal = "";
	var PrCal = new ConstPrCal(Y,M);

	var tdM         = (PrCal.dM<9) ? ' '+(PrCal.dM+1): PrCal.dM+1;
	var strdM       = (PrCal.dM<9) ? String("0"+(PrCal.dM+1)): String(PrCal.dM+1);
	var strCalTitle = PrCal.dY+"年"+tdM+'月';
	var strAryKeyYM = "v"+(PrCal.dY+strdM);
	var idCal, clsCal, cssPiece, schPiece, isD, tmpD;

	// put calender
	retVal += '<div id="top-calnavi">';
	retVal += '<a href="javascript:makeCal('+"'#frmcal',"+PrCal.prvY+', '+PrCal.prvM+');">&lt;</a>';
	retVal += '　　<a href="/event/index.php?sY='+(PrCal.dY)+'&amp;sM='+(PrCal.dM+1)+'">'+strCalTitle+'</a>　　';
	retVal += '<a href="javascript:makeCal('+"'#frmcal',"+PrCal.fwdY+', '+PrCal.fwdM+');">&gt;</a>';
	retVal += '</div>'+"\n";

	retVal += '<table id="top-calendar">'+"\n";

	retVal += '<tr>'+"\n";
	for(var i=0; i<7; i++){
		clsCal = "";
		if(isHoliday)  clsCal =' class="holiday"';
		else if(i==0) clsCal = ' class="red"';
		else if(i==6) clsCal = ' class="blue"';
		retVal+='<th'+clsCal+' scope="col">'+PrCal.aryW[i]+'</th>'+"\n";
	}
	retVal += '</tr>'+"\n";

	for(var i=0;i<PrCal.cCal; i++){
		retVal += '<tr>'+"\n";
		for(var k=0; k<7; k++){
			var strdD     = (PrCal.cAry[k+i*7]!='　' && PrCal.cAry[k+i*7]<10) ? "0"+PrCal.cAry[k+i*7]: PrCal.cAry[k+i*7];
			var strAryKey = strAryKeyYM+strdD;
			var isHoliday = false;
			if(aryHoliday[strAryKey]!=undefined)    isHoliday = true;
			if(PrCal.cAry[k+i*7]!='&nbsp;' && k==0) isHoliday = true;

			isD      = (PrCal.cAry[k+i*7]!='　') ? true: false;
			cssPiece = new Array();
			if(isD) cssPiece.push('sel');
			if(PrCal.dY==PrCal.nY && PrCal.dM==PrCal.nM && PrCal.dD==PrCal.cAry[k+i*7]) cssPiece.push('today');
			if(isHoliday) cssPiece.push('holiday');
			if((i+1)==PrCal.cCal) cssPiece.push('pb');
			clsCal  = (cssPiece.length>0) ? ' class="'+(cssPiece.join(" "))+'"': '';
			tmpDate = (PrCal.cAry[k+i*7]!='　') ? PrCal.cAry[k+i*7]: '&nbsp;';
			if(tmpDate!='&nbsp;'){
				tmpD = (tmpDate<10) ? "0"+tmpDate: tmpDate;
				if(aryEvent!=undefined && aryEvent[strAryKeyYM+tmpD]) tmpDate = '<a href="'+(aryEvent[strAryKeyYM+tmpD].href)+'">'+tmpDate+'</a>';
			}
			retVal += '<td'+clsCal+'>'+tmpDate+'</td>'+"\n";
		}
		retVal += '</tr>'+"\n";
	}
	retVal += '</table>'+"\n";

	return retVal;
}

