﻿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=1; i<The_Month; i++)
  {
   switch (i)
   {
    case 2 : 
     if (RunNian(The_Year))
      Allday += 29;
     else
      Allday += 28;
     break;
    case 3 : Allday += 31; break;
    case 4 : Allday += 30; break;
    case 5 : Allday += 31; break;
    case 6 : Allday += 30; break;
    case 7 : Allday += 31; break;
    case 8 : Allday += 31; break;
    case 9 : Allday += 30; break;
    case 10 : Allday += 31; break;
    case 11 : Allday += 30; break;
    case 12 :  Allday += 31; break;
    case 1 :  Allday += 31; break;
    
   }
   
  }
 }
 
 return (Allday+6)%7;
 }
function chooseday(The_Year,The_Month,The_Day)
{
 var Firstday;
 var completely_date;
 if (The_Day!=0)
  completely_date = The_Year + "-" + The_Month + "-" + The_Day;
 else
  completely_date = "";
 //showdate 只是一个为了显示而采用的东西，
 //如果外部想引用这里的时间，可以通过使用 completely_date引用完整日期
 //也可以通过The_Year,The_Month,The_Day分别引用年，月，日
 //当进行月份和年份的选择时，认为没有选择完整的日期
 showdate.innerText = completely_date;
 Firstday = GetWeekday(The_Year,The_Month);
 ShowCalender(The_Year,The_Month,The_Day,Firstday);
 
}
function nextmonth(The_Year,The_Month)
{
 if (The_Month==12)
  chooseday(The_Year+1,1,0);
 else
  chooseday(The_Year,The_Month+1,0);
}
function prevmonth(The_Year,The_Month)
{
 if (The_Month==1)
  chooseday(The_Year-1,12,0);
 else
  chooseday(The_Year,The_Month-1,0);
}
function prevyear(The_Year,The_Month)
{
 chooseday(The_Year-1,The_Month,0);
}
function nextyear(The_Year,The_Month)
{
 chooseday(The_Year+1,The_Month,0);
}


function GetReady()
{
    
}


function ShowCalender(The_Year,The_Month,The_Day,Firstday)
{
// alert(Firstday)
 var shijian1
 var showstr;
 var Month_Day;
 var ShowMonth;
 var today;
 today = new Date();
 shijian1=""
 
 
 switch (The_Month)
 {
  case 1 : ShowMonth = "一月"; Month_Day = 31; break;
  case 2 :
   ShowMonth = "二月";
   if (RunNian(The_Year))
    Month_Day = 29;
   else
    Month_Day = 28;
   break;
  case 3 : ShowMonth = "三月"; Month_Day = 31; break;
  case 4 : ShowMonth = "四月"; Month_Day = 30; break;
  case 5 : ShowMonth = "五月"; Month_Day = 31; break;
  case 6 : ShowMonth = "六月"; Month_Day = 30; break;
  case 7 : ShowMonth = "七月"; Month_Day = 31; break;
  case 8 : ShowMonth = "八月"; Month_Day = 31; break;
  case 9 : ShowMonth = "九月"; Month_Day = 30; break;
  case 10 : ShowMonth = "十月"; Month_Day = 31; break;
  case 11 : ShowMonth = "十一月"; Month_Day = 30; break;
  case 12 : ShowMonth = "十二月"; Month_Day = 31; break;
   
 }
 
 
 showstr = "";
 showstr = "<Table cellpadding=0 cellspacing=0 border=0 width=100% align=center>"; 
 showstr +=  "<tr><td width=15% align=center class='Calendar_year_ico' onclick=prevyear("+The_Year+"," + The_Month + ")>&lt;&lt;</td>";
 showstr +=  "<td width=15% align=center class='Calendar_year'>&nbsp;" + The_Year + "&nbsp;</td>";
 showstr +=  "<td width=15% align=center class='Calendar_year_ico' onclick=nextyear("+The_Year+","+The_Month+")>&gt;&gt;</td>";
 showstr +=  "<td width=15% align=center class='Calendar_month_ico' onclick=prevmonth("+The_Year+","+The_Month+")>&lt;</td>";
 showstr +=  "<td width=width=25% align=center class='Calendar_month'>" + ShowMonth + "</td>";
 showstr +=  "<td width=15% align=center onclick=nextmonth("+The_Year+","+The_Month+")  class='Calendar_month_ico'>&gt;</td></tr>";
 showstr +=  "<tr><td align=center width=100% colspan=6>";
 showstr +=  "<table cellpadding=0 cellspacing=0 border=0 width=100%>";
 showstr += "<Tr align=center bgcolor=#ffffff> ";
    showstr += "<td class='Calendar_weekly'>日</td>";
    showstr += "<td class='Calendar_weekly'>一</td>";
    showstr += "<td class='Calendar_weekly'>二</td>";
    showstr += "<td class='Calendar_weekly'>三</td>";
    showstr += "<td class='Calendar_weekly'>四</td>";
    showstr += "<td class='Calendar_weekly'>五</td>";
    showstr += "<td class='Calendar_weekly'>六</td>";
 showstr += "</Tr><tr>";
 
 
 
 //读取xml
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    var xhai_xml,DayTime,TdOnclick, IsLink;
    var NodwsI, zc, WebCastCalendar_LiveDate,WebCastCalendar_ID,WebCastCalendar_Title;
    xhai_xml = new ActiveXObject("Microsoft.XMLDOM");
    xhai_xml.async=false;
    xhai_xml.load("XmlData/WebCastCalendar.xml")
    if(xhai_xml.readyState==4)
    {
        if(xhai_xml.parseError.errorCode==0)
        {
            NodwsI=xhai_xml.documentElement.selectNodes("//WebCastCalendar_ID").length;
        }    
    }
 
 for (i=1; i<=Firstday; i++)
  showstr += "<Td align=center class='FontGray'></Td>";
 
 
 
 
 for (i=1; i<=Month_Day; i++)
 {
  if ((The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()))
   TClassName = "Calendar_Today";
  else
   TClassName = "Calendar_NormalDay";
  
  if (The_Day==i) TClassName = "Calendar_Today";
  //if (15==i) TClassName = "#000000";
  DayTime=The_Year+"-"+The_Month+"-"+i+" 0:00:00"
  
  //判断得到不同的日期
	   	//
	   	IsLink="no"
	   	for ( zc =0; zc<NodwsI; zc++)
	   	{
	   	    WebCastCalendar_LiveDate = xhai_xml.documentElement.selectNodes("WebCastCalendar_LiveDate")(zc).text;
	   	    WebCastCalendar_ID = xhai_xml.documentElement.selectNodes("WebCastCalendar_ID")(zc).text;
	   	    WebCastCalendar_Title = xhai_xml.documentElement.selectNodes("WebCastCalendar_Title")(zc).text;
	   	    //alert(WebCastCalendar_LiveDate);
	   	    //break;
	   	    if (DayTime==WebCastCalendar_LiveDate)
	   	    {
	   	        TClassName="Calendar_Selectday";
	   	        showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'><a target=_blank href='content.aspx?id="+WebCastCalendar_ID+"'>" +i+ "</a></div></td>";
	   	        IsLink="yes"
	   	    }
	   	    //else
	   	    //{
	   	    //    TClassName="#f0f0f0"; 
	   	    //}
	   	}
  
  if(IsLink!="yes")
  {
    showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'>" +i+ "</div></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 class='FontGray'></td>";
   showstr += "</tr>";
 }

 showstr += "</tr></table></td></tr></table>";
 cc.innerHTML = showstr;  

}

 var The_Year,The_Day,The_Month;
 var today;
 var Firstday;
 today = new Date();
 The_Year = today.getYear();
 The_Month = today.getMonth()+1;
 The_Day = today.getDate();
 Firstday = GetWeekday(The_Year,The_Month);
 ShowCalender(The_Year,The_Month,The_Day,Firstday);

