
//<script language="JavaScript" src="calenda.js"></script>

var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var nStr1 = new Array('日','一','二','三','四','五','六')
//==============================传回国历 y年某m+1月的天数
function m_over(x,y,d){
	dn=d;
	Layer.style.left=x;
	Layer.style.top=y;
	Layer.style.visibility="visible";
}  

 function m_out(){
	Layer.style.visibility="hidden";
}

function solarDays(y,m) {
   if(m==1)
      return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28)
   else
      return(solarMonth[m])
}

function calElement(sYear,sMonth,sDay,week) {
      this.isToday    = false;
      this.sYear      = sYear;
      this.sMonth     = sMonth;
      this.sDay       = sDay;
      this.week       = week;
      this.color      = '';
}

function calendar(y,m) {

   var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2
   var lDPOS = new Array(3)
   var n = 0
   var firstLM = 0

   sDObj = new Date(y,m,1)
   this.length    = solarDays(y,m)
   this.firstWeek = sDObj.getDay()

   for(var i=0;i<this.length;i++) {
      if(lD>lX) {
         sDObj = new Date(y,m,i+1)
         if(n==0) firstLM = lM
         lDPOS[n++] = i-lD+1
      }
      this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7])
      if((i+this.firstWeek)%7==0)   this[i].color = 'red'
   }
   if(y==tY && m==tM) this[tD-1].isToday = true;
}

var cld;
function drawCld(SY,SM) {
   var i,sD,s;
   cld = new calendar(SY,SM);

   for(i=0;i<42;i++) {

      sObj=eval('SD'+ i);
      sObj.className = '';

      sD = i - cld.firstWeek;

      if(sD>-1 && sD<cld.length) { //日期内
         sObj.innerHTML = sD+1;

         if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日颜色

         sObj.style.color = cld[sD].color; //国定假日颜色
      }
      else { //非日期
         sObj.innerHTML = '';
      }
   }
}


function changeCld() {
   var y,m;
   y=CLD.SY.selectedIndex+1900;
   m=CLD.SM.selectedIndex;
   drawCld(y,m);
   tY1=y;
   tM1=m;
}

function pushBtm(K) {
   switch (K){
      case 'YU' :
         if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
         break;
      case 'YD' :
         if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;
         break;
      case 'MU' :
         if(CLD.SM.selectedIndex>0) {
            CLD.SM.selectedIndex--;
         }
         else {
            CLD.SM.selectedIndex=11;
            if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
         }
         break;
      case 'MD' :
         if(CLD.SM.selectedIndex<11) {
            CLD.SM.selectedIndex++;
         }
         else {
            CLD.SM.selectedIndex=0;
            if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;
         }
         break;
      default :
         CLD.SY.selectedIndex=tY-1900;
         CLD.SM.selectedIndex=tM;
   }
   changeCld();
}



var Today = new Date();
var tY = Today.getFullYear();
var tM = Today.getMonth();
var tD = Today.getDate();
var tY1,tM1;

function mOvr(v) {
   var sObj=eval('SD'+ v);
   var d=sObj.innerHTML-1;
    if (d<0 || d>cld.length) return;
//   alert(cld[d].sYear+"年"+cld[d].sMonth+"月"+cld[d].sDay+"日 星期"+cld[d].week);
	s=dn+".value='"+cld[d].sYear+"-"+cld[d].sMonth+"-"+cld[d].sDay+"'";
	eval(s);
//	if (wn.length>0)
//	{	s=wn+".value='星期"+cld[d].week+"'";
//		eval(s);
//	}
	Layer.style.visibility="hidden";
}

function mOut() {
 if (tM!=tM1 || tY!=tY1)
   YM = new calendar(tY,tM);
   YM = new calendar(tY1,tM1);
}

//function tick() {
//   var today
//   today = new Date()
//   m_out();
//   window.setTimeout("tick()", 5000);
//}

function w_t()
{
str="<form name=CLD><table border=0 border='0' cellspacing='0' cellpadding='2' class='box'><tbody><tr><td colspan=7 valign='middle'>";
str=str+" <table width='100%' border='0' cellspacing='0' cellpadding='0'>";
str=str+"<tr><td rowspan='2'><select name=SY onChange=changeCld() style='FONT-SIZE: 9pt;'>";
         for(i=1900;i<2050;i++) str=str+"<option>"+i;
str=str+"</select></td>";
str=str+"<td><button onClick=pushBtm('YD') class=bot1><img src='images/up.gif'></button></td>";
str=str+"<td rowspan='2' width='4'></td>";
str=str+"<td rowspan='2'><select name=SM onChange=changeCld() style='FONT-SIZE: 9pt'>";
         for(i=1;i<13;i++) str=str+"<option>"+i;
str=str+"</select></td>"
str=str+"<td><button onClick=pushBtm('MD') class=bot1><img src='images/up.gif'></button></td></tr>";
str=str+"<tr><td><button onClick=pushBtm('YU') class=bot1><img src='images/dn.gif'></button></td>";
str=str+"<td><button onClick=pushBtm('MU') class=bot1><img src='images/dn.gif'></button></td></tr></table> ";
str=str+"</td></tr><tr style='font-size:9pt;text-align:center;' bgcolor=#00ccff'>";
str=str+"<td width=12 height='16'><font color='#CC0000'>日</font></td><td width=12>一</td>";
str=str+"<td width=12>二</td><td width=12>三</td>";
str=str+"<td width=12>四</td><td width=12>五</td>";
str=str+"<td width=12><font color='#339933'>六</font></td></tr>";
       var gNum 
	   gNum=0;      
         for(i=0;i<6;i++) {  
str=str+"<tr align=center>";
            for(j=0;j<7;j++) {       
                  gNum = i*7+j ;      
str=str+"<td id='GD" + gNum +"' onClick=mOvr('" + gNum +"') onMouseOut='mOut()' style='CURSOR: hand'><font id='SD" + gNum +"' style='FONT-SIZE: 9pt'";
                if(j == 0) str=str+" color=#FFCC00";
                if(j == 6) str=str+" color=#FFCC00";
str=str+"></font></td>";
               }       
str=str+"</tr>";
            }       
str=str+"<tr align=middle style='font-size:9pt'><td align='center' colspan='7'>";
str=str+"<button onClick=pushBtm() class=bot2>当月</button>&nbsp;<button onClick='m_out()' class=bot2>关闭</button></td>";
str=str+"</tr></tbody></table></form>";
//document.write str;
Layer.innerHTML=str;
pushBtm();
//tick();
}
