// JavaScript Document

function ajax_change(yearID,monthID,dayID,calendarID){

//方法一
//以下是利用prototype框架的Ajax.Updater
	var pars="yearID="+yearID+"&monthID="+monthID+"&dayID="+dayID;
	var myajax=new Ajax.Updater(
	'showMovieList',
	'ajax_request.asp',
	{method: 'get', 
	parameters: pars//参数
	}
	);	
	var totalWidth=document.documentElement.clientWidth;//浏览器窗口的宽度
	var totalHeight=document.documentElement.clientHeight;//浏览器窗口的高度
	var objLeft=get_X(document.getElementById(calendarID));
	var objTop=get_Y(document.getElementById(calendarID));
	var objWidth=document.getElementById("showMovieList").offsetWidth;
	var objHeight=document.getElementById("showMovieList").offsetHeight;
	document.getElementById("showMovieList").style.display="block";
	if(totalWidth-objLeft<objWidth){
		document.getElementById("showMovieList").style.left=(totalWidth-objWidth)+'px';
	}else{
		document.getElementById("showMovieList").style.left=objLeft+'px';
	}
	
	document.getElementById("showMovieList").style.top=get_Y(document.getElementById(calendarID))+document.getElementById(calendarID).offsetHeight+'px';

}

function hiddenMore(){
	document.getElementById("showMovieList").style.display="none";
}
function showMore(){
	document.getElementById("showMovieList").style.display="block";
}

//获取对像相对浏览器左上角的X轴坐标 
function get_X(obj){
	var ParentObj=obj;
	var left=obj.offsetLeft;
	while(ParentObj=ParentObj.offsetParent){
		left+=ParentObj.offsetLeft;
	}
	return left;
}

//获取对像相对浏览器左上角的Y轴坐标 	
function get_Y(obj){
	var ParentObj=obj;
	var top=obj.offsetTop;
	while(ParentObj=ParentObj.offsetParent){
		top+=ParentObj.offsetTop;
	}
	return top;
}

function displayCalendar(pYear,pMonth,pDay){
	//获取当天日期信息
	var today=new Date(pYear,pMonth,pDay);
	var year=today.getFullYear();
	var month=today.getMonth();
	var day=today.getDate();
	var dayWeek=today.getDay();
	//获取当月第一天日期信息
	var firstDay=new Date(year,month,1);
	var firstDayWeek=firstDay.getDay();
	//设置下月
	var nYear=pYear;
	var nMonth=pMonth;//月为是从0-11表示
	var nDay=pDay;
	if(nMonth==11){//当月份为12月时,首先年份加1,月份设置为1月
		nMonth=0;
		nYear=nYear+1;
	}else{
		nMonth++;	
	}
	//打印年份
	var contentHTML;
	contentHTML='<table width="275" border="0" cellspacing="0" cellpadding="0">';
	contentHTML=contentHTML+'<tr>' ;
	contentHTML=contentHTML+'<td><img src="images/next-month.gif" style="cursor:pointer;" onclick="displayCalendar('+nYear+','+nMonth+','+nDay+');"/></td>';
	contentHTML=contentHTML+'<td align="right"><img src="images/'+(month+1)+'y.gif" style="margin:10px 10px 5px 0;" /></td>';
	contentHTML=contentHTML+'</tr>';
	contentHTML=contentHTML+'</table>';

	contentHTML=contentHTML+'<table width="275" border="0" cellspacing="0" cellpadding="0">';
	contentHTML=contentHTML+'<thead>';
	contentHTML=contentHTML+'<tr>';
	contentHTML=contentHTML+'<td align="center" height="30" ><img src=images/3.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/4.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/5.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/6.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/7.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/8.gif /></td>';
	contentHTML=contentHTML+'<td align="center"><img src=images/9.gif /></td>';
	contentHTML=contentHTML+'</tr>';
	contentHTML=contentHTML+'</thead>';
	contentHTML=contentHTML+'<tbody>';
	
	contentHTML=contentHTML+'<tr>';
	for(var i = 0;i<firstDayWeek;i++){
		contentHTML=contentHTML+'<td align="center">&nbsp;</td>';
	}
	var totalI;
	for(var i = 0;i<getDaysForMonth(year,month+1);i++){
		contentHTML=contentHTML+'<td align="center"><div id="calendar'+i+'" class=calendar onMouseOver="ajax_change('+year+','+(month+1)+','+(i+1)+',\'calendar'+i+'\');">'+(i+1)+'</div></td>';
		totalI = firstDayWeek + i + 1;
		if((totalI) % 7 == 0) contentHTML=contentHTML+'</tr>';
	}
	
	contentHTML=contentHTML+'</tr>';
	contentHTML=contentHTML+'</tbody>';
	contentHTML=contentHTML+'</table>';
	$("calendar-content").innerHTML=contentHTML;
}	
//计算当月的天数
//year 年份
//month 月份
function getDaysForMonth(year,month){
	if(month==1 ||month==3 ||month==5 ||month==7 ||month==8 ||month==10 ||month==12){
		return 31;
	}else if(month==4 ||month==6 ||month==9 ||month==11){
		return 30;
	}else{
		if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
			return 29;
		}
		else{
			return 28;
		}
	}
}
 
