﻿var caltype='';

function hideObject(objName)
{
	hideObj = getObject(objName);
	hideObj.style.display = 'none';
	return ;
}

function showObject(objName)
{
	showObj = getObject(objName);
	showObj.style.display = 'block';
	return ;
}

function getObject(objName)
{
	if(document.all){
	    return document.all(objName);
	}
	else{
		return document.getElementById(objName);
	}
}

function RunNian(The_Year)
{
	if ((The_Year%400==0) || ((The_Year%4==0) && (The_Year%100!=0)))return true;
	else return false;
}

function GetWeekday(The_Year,The_Month)
{
	var Allday;
	Allday = 0;
	if (The_Year>2000){
		for (i=2000 ;i<The_Year; i++)
		if (RunNian(i))
		Allday += 366;
		else
			Allday += 365;
			for (i=2; i<=The_Month; i++){
				switch (i){
					case 2 : Allday += 31; break;
					case 3 : 
					    if (RunNian(The_Year))Allday += 29;
					    else Allday += 28;
					    break;
					case 4 : Allday += 31; break;
					case 5 : Allday += 30; break;
					case 6 : Allday += 31; break;
					case 7 : Allday += 30; break;
					case 8 : Allday += 31; break;
					case 9 : Allday += 31; break;
					case 10 : Allday += 30; break;
					case 11 : Allday += 31; break;
					case 12 :  Allday += 30; break;
				}
			}
	}
	return (Allday+6)%7;
}

function chooseday(The_Year,The_Month,The_Day)
{
	var Firstday;
	var e=document.getElementById("calenderShow");
	Firstday = GetWeekday(The_Year,The_Month);
    ShowCalender(The_Year,The_Month,The_Day,Firstday);
    var randomUrl = "/calender/"+The_Year+"/"+The_Month+"/"+The_Day;
	$.get(randomUrl,function(data){
	    e.innerHTML= data+'<a href="javascript:void(0)" onclick="$(\'#calenderShow\').fadeOut(600)">关闭</a>';
	    $('#calenderShow').fadeIn(600);
	});
}

function chooseday2(The_Year,The_Month,The_Day)
{
	var e=document.getElementById("calender");
	e.style.display="none";
	if(The_Month<10)The_Month='0'+The_Month;
	if(The_Day<10)The_Day='0'+The_Day;
	document.getElementById("date").value=The_Year+'-'+The_Month+'-'+The_Day+" 00:00:00";
}

function nextmonth(The_Year,The_Month)
{
	if (The_Month==12)getCalender(The_Year+1,1,0);
	else getCalender(The_Year,The_Month+1,0);
}

function prevmonth(The_Year,The_Month)
{
	if (The_Month==1)getCalender(The_Year-1,12,0);
	else getCalender(The_Year,The_Month-1,0);
}

function prevyear(The_Year,The_Month)
{
	getCalender(The_Year-1,The_Month,0);
}

function nextyear(The_Year,The_Month)
{
	getCalender(The_Year+1,The_Month,0);
}

function getCalender(The_Year, The_Month,The_Day)
{
	var Firstday;
	Firstday = GetWeekday(The_Year,The_Month);
	ShowCalender(The_Year,The_Month,The_Day,Firstday);
}

function ShowCalender(The_Year,The_Month,The_Day,Firstday)
{
	var showstr;
	var Month_Day;
	var ShowMonth;
	var today;
	today = new Date();
	switch (The_Month)
	{
		case 1 : ShowMonth = "1月"; Month_Day = 31; break;
		case 2 :
		ShowMonth = "2月";
		if (RunNian(The_Year))Month_Day = 29;
		else
			Month_Day = 28;
			break;
		case 3 : ShowMonth = "3月"; Month_Day = 31; break;
		case 4 : ShowMonth = "4月"; Month_Day = 30; break;
		case 5 : ShowMonth = "5月"; Month_Day = 31; break;
		case 6 : ShowMonth = "6月"; Month_Day = 30; break;
		case 7 : ShowMonth = "7月"; Month_Day = 31; break;
		case 8 : ShowMonth = "8月"; Month_Day = 31; break;
		case 9 : ShowMonth = "9月"; Month_Day = 30; break;
		case 10 : ShowMonth = "10月"; Month_Day = 31; break;
		case 11 : ShowMonth = "11月"; Month_Day = 30; break;
		case 12 : ShowMonth = "12月"; Month_Day = 31; break;
	}
	showstr = "<table class='yeartb' width=200>";
	showstr += "<tr><td class='calenderbtn' onclick=prevyear("+The_Year+"," + The_Month + ")>&lt;</td>";
	showstr += "<td width=20%>" + The_Year + "</td><td onclick=nextyear("+The_Year+","+The_Month+") class='calenderbtn'>&gt;</td>";
	showstr += "<td class='calenderbtn' onclick=prevmonth("+The_Year+","+The_Month+")>&lt;</td>";
	showstr += "<td width=40% align=center>" + ShowMonth + "</td><td onclick=nextmonth("+The_Year+","+The_Month+") class='calenderbtn'>&gt;</td></tr>";
	showstr += "<table class='monthtb'><tr class='weektr'><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr>";
	for (i=1; i<=Firstday; i++)
	showstr += "<td align=center>&nbsp;</td>";
	for (i=1; i<=Month_Day; i++)
	{
		if ((The_Year==today.getFullYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()))
		bgColor = "Blue;color:white";
		else
			bgColor = "#FFFFFF";
		if (The_Day==i) bgColor = "Red;color:white";
		showstr += "<td align=center style='cursor:pointer;background-color:"+bgColor+"' onclick=chooseday"+caltype+"(" + The_Year + "," + The_Month + "," + i + ")>" + i + "</td>";
		Firstday = (Firstday + 1)%7;
		if ((Firstday==0) && (i!=Month_Day)) showstr += "</tr><tr>";
	}
	if (Firstday!=0)
	{
		for (i=Firstday; i<7; i++)
    	showstr += "<td align=center>&nbsp;</td>";
		showstr += "</tr>";
	}
	showstr += "</tr></table></td></tr></table>";
	document.getElementById("cc").innerHTML = showstr;
}

function openCalender()
{
    var e=document.getElementById("calender");
    var f=document.getElementById("openCal");
    caltype='2';
    e.innerHTML='<table><tr><td id="cc"></td></tr></table><span class="tip2">请点选日期</span>';
    var today = new Date();
    var The_Year = today.getFullYear();
    var The_Month = today.getMonth() + 1;
    var The_Day = today.getDate();
    var Firstday = GetWeekday(The_Year,The_Month);
    getCalender(The_Year, The_Month,The_Day);
    displayposition(e,f);
}