//在head中插入<script src="calender.js">< /script>,调用次函数 showDate('返回框的名字');

var DivFlag=1;//是否显示注释层 							1为显示,0不显示
var CursorManner="hand";//鼠标指针样式					hand
var FontSize="12";//字体大小							12px
var Zindex=1;//层的显示顺序 							1
var ReplaceAll=0;//替换全部下拉菜单						1为全部,0为部分
var UseReplace=1;//使用替换函数							1为使用,0为不用
//日历参数
var CalendarBackdrop="#FFFFFF";//日历背景颜色			#FFFFFF
var MTopLTColor="#D4D0C8";//总边框左侧和顶端边框的颜色	#ffffff
var MTopRBColor="#D4D0C8";//总边框右侧和底边框的颜色	#808080
var TopLTColor="#ffffff";//顶端左侧和顶端边框的颜色		#ffffff
var TopRBColor="#808080";//顶端右侧和底边框的颜色		#808080
var TopBGColor="#D4D0C8";//顶端背景的颜色				#D4D0C8
var TopFontColor="#000000";//顶端文字的颜色				#000000		
var OverColor="#d4d0c8";//鼠标划上时的颜色				#d4d0c8
var UpLine="#000000";//上面一条线的颜色					#000000
var DownLine="#000000";//下面一条线的颜色				#000000
var TopDBLTColor="#D4D0C8";//顶按钮默认左侧和顶端边框的颜色		#D4D0C8
var TopDBRBColor="#D4D0C8";//顶按钮默认右侧和底边框的颜色		#D4D0C8
var TopDownBLTColor="#808080";//顶按钮按下左侧和顶端边框的颜色	#808080
var TopDownBRBColor="#FFFFFF";//顶按钮按下右侧和底边框的颜色	#FFFFFF
var TopUpBLTColor="#D4D0C8";//顶按钮抬起左侧和顶端边框的颜色	#D4D0C8
var TopUpBRBColor="#D4D0C8";//顶按钮抬起右侧和底边框的颜色		#D4D0C8
var TopOutBLTColor="#D4D0C8";//顶按钮移出时左侧和顶端边框的颜色	#D4D0C8
var TopOutBRBColor="#D4D0C8";//顶按钮移出时右侧和底边框的颜色	#D4D0C8
var TopBBGColor="#D4D0C8";//顶按钮背景的颜色			#D4D0C8
var BLTColor="#ffffff";//下按钮左侧和顶端边框的颜色		#ffffff
var BRBColor="#808080";//下按钮右侧和底边框的颜色		#808080
var BBGColor="#D4D0C8";//下按钮背景的颜色				#D4D0C8
var YLTColor="#ffffff";//年菜单左侧和顶端边框的颜色		#ffffff
var YRBColor="#808080";//年菜单右侧和底边框的颜色		#808080
var YBGColor="#FFFFFF";//年菜单背景的颜色				#D4D0C8
var YOverColor="#D4D0C8";//鼠标划上时的颜色				#d4d0c8
var MLTColor="#ffffff";//月菜单左侧和顶端边框的颜色		#ffffff
var MRBColor="#808080";//月菜单右侧和底边框的颜色		#808080
var MBGColor="#FFFFFF";//月菜单背景的颜色				#D4D0C8
var MOverColor="#D4D0C8";//鼠标划上时的颜色				#d4d0c8
var TodayColor="#ff0000";//今天日期的颜色				#ff0000
var PitchOnColor="#d4d0c8";//选中时的颜色				#d4d0c8

//注释层参数
var LayerShowFlag1=1;//显示移动层的第一行				1为显示,0不显示
var LayerShowFlag2=1;//显示移动层的第二行				1为显示,0不显示
var LayerShowFlag3=1;//显示移动层的第三行				1为显示,0不显示
var LayerShowFlag4=1;//显示移动层的第四行				1为显示,0不显示
var LayerShowFlag5=1;//显示移动层的第五行				1为显示,0不显示
var LayerShowFlag6=1;//显示移动层的第六行己特殊行		1为显示,0不显示
var LayerBackdrop="#F5FFFA";//移动显示层的背景色		#FFFFFF
var LayerRimColor="#D4D0C8";//移动显示层的边框颜色		#D4D0C8
var LayerWidth="130"//移动显示层的宽					130
var FontColor1="#4682B4";//移动显示层第一行的颜色		#4682B4
var FontColor2="#4682B4";//移动显示层第二行的颜色		#4682B4
var FontColor3="#4682B4";//移动显示层第三行的颜色		#4682B4
var FontColor4="#4682B4";//移动显示层第四行的颜色		#4682B4
var FontColor5="#4682B4";//移动显示层第五行的颜色		#4682B4
var LayerDifferBackdrop="#FAF0E6";//移动显示层特殊表格的颜色	#FAF0E6
var FontDifferColor1="#ff0000";//移动显示层特殊文字的颜色		#ff0000

window.document.write("<div id='Demo' style='position:absolute;width:0px;height:0px;"+
"left:0px;top:0px;'></div><div id=date style=visibility:hidden;"+
"position:absolute;top:0;left:0;z-index:"+Zindex+"><input name=hiddenXX type=hidden>");
//定义层和隐藏域(当单击时是否隐藏曾).

var year,month,Sday,immobilityyear,immobilitymonth,immobilityday,TopValue,LeftValue,ParticularFound,ParticularYear;
var farmer= new Array(50);
//定义全局变量.

//隐藏下拉菜单
function ylib_Browser() {
	d=document;
	this.agt=navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.dom=(d.getElementById)?1:0; // true for ie6, ns6
	this.ns=(d.layers);
	this.ns4up=(this.ns && this.major >=4);
	this.ns6=(this.dom&&navigator.appName=="Netscape");
	this.op=this.agt.indexOf('opera')!=-1;
	this.ie=(d.all);
	this.ie4=(d.all&&!this.dom)?1:0;
	this.ie4up=(this.ie && this.major >= 4);
	this.ie5=(d.all&&this.dom);
	this.win=((this.agt.indexOf("win")!=-1) || (this.agt.indexOf("16bit")!=-1));
	this.mac=(this.agt.indexOf("mac")!=-1);
}

var oBw = new ylib_Browser();

function ypim_setForm(on) {		//隐藏select对像
	if (oBw.ns6) return;
	
	var oSelect;
	if ( oBw.ie4 )
		oSelect = document.body.all.tags('select');
	else
		oSelect = document.getElementsByTagName('select');
	
	var len = oSelect.length;
	
	if (on) {
		for (var i=0;i<len;i++) {
			ylib_show(oSelect[i]); 
			window.Demo.innerHTML="";
		}
	} else {
	
		for (var i=0;i<len;i++) { 
		
			azimuth(oSelect[i]);
            //alert(TopValue + "D" + LeftValue + "A" +(TopValue+oSelect[i].offsetHeight)+ "A"+(LeftValue+oSelect[i].offsetWidth));
            //alert(window.date.offsetTop + "D" +window.date.offsetLeft+"A"+(window.date.offsetTop+window.date.offsetHeight)+"A"+(window.date.offsetLeft+window.date.offsetWidth));
			if((TopValue>window.date.offsetTop && LeftValue>window.date.offsetLeft && TopValue<(window.date.offsetTop+window.date.offsetHeight) && LeftValue<(window.date.offsetLeft+window.date.offsetWidth)) || 
			((TopValue+oSelect[i].offsetHeight)>window.date.offsetTop && (LeftValue+oSelect[i].offsetWidth)>window.date.offsetLeft && (TopValue+oSelect[i].offsetHeight)<(window.date.offsetTop+window.date.offsetHeight) && (LeftValue+oSelect[i].offsetWidth)<(window.date.offsetLeft+window.date.offsetWidth)) || 
			((TopValue+oSelect[i].offsetHeight)>window.date.offsetTop && LeftValue>window.date.offsetLeft && (TopValue+oSelect[i].offsetHeight)<(window.date.offsetTop+window.date.offsetHeight) && LeftValue<(window.date.offsetLeft+window.date.offsetWidth)) || 
			(TopValue>window.date.offsetTop && (LeftValue+oSelect[i].offsetWidth)>window.date.offsetLeft && TopValue<(window.date.offsetTop+window.date.offsetHeight) && (LeftValue+oSelect[i].offsetWidth)<(window.date.offsetLeft+window.date.offsetWidth)) || 
			(TopValue>window.date.offsetTop && LeftValue<window.date.offsetLeft && (TopValue+oSelect[i].offsetHeight)<(window.date.offsetTop+window.date.offsetHeight) && (LeftValue+oSelect[i].offsetWidth)>(window.date.offsetLeft+window.date.offsetWidth)) ||
			ReplaceAll){
				
				ylib_hide(oSelect[i]); 
			}
			else{
				ylib_show(oSelect[i]); 
			}
		}
	}
}

function azimuth(obj){
	var obj;
	var top  = obj.offsetTop;    
 	var left = obj.offsetLeft;   
  	while (obj = obj.offsetParent){top+=obj.offsetTop; left+=obj.offsetLeft;}
	TopValue=top;
	LeftValue=left;
}

function ylib_show(o,disp) { 
	(oBw.ns)? '':(!disp)? o.style.display="inline":o.style.display=disp;
	(oBw.ns)? o.visibility='show':o.style.visibility='visible';
	//window.Demo.innerHTML="";
}
function ylib_hide(o,disp) { 
	/*
	if(o.size==1 || o.size==""){
		window.Demo.innerHTML=window.Demo.innerHTML+
		"<div style='position:absolute;z-index:"+(Zindex-1)+";width:"+o.offsetWidth+";height:"+o.offsetHeight+";left:"+LeftValue+";top:"+TopValue+";' align='center'>"+
		"<table width=100% height=20 border=0 cellpadding=0 cellspacing=0>"+
		   "<tr>"+
			"<td align='right'>"+
				"<table border='0' cellspacing='0' cellpadding='0' style='font-size:14;'>"+
				  "<tr>"+
					"<td><div style='overflow:hidden;width:"+(o.offsetWidth-20)+";'><input type='text' value='"+(o.innerText).replace(" ","")+"' width='"+o.offsetWidth+"'></div></td>"+
				  "</tr>"+
				"</table>"+
			"</td>"+
			"<td align='right' width='16' valign='bottom'> "+
				"<table width=100% height=100% border=0 cellpadding=0 cellspacing=0 >"+
				"<tr>"+
					"<td height=1>"+
						"<img width=0 height=0>"+
					"</td>"+
				"</tr>"+
				"<tr>"+
					"<td height=2 bgcolor=#000000>"+
						"<img width=0 height=0>"+
					"</td>"+
				"</tr>"+
				"<tr>"+
					"<td>"+
						"<input type='button' value='▼' style='font-size:7;height:17;width:16;'>"+
					"</td>"+
				"</tr>"+
			"</table>"+
			"</td>"+
		  "</tr>"+
		"</table>"+
		"</div>";
	}
	else{
		window.Demo.innerHTML=window.Demo.innerHTML+
		"<div style='position:absolute;z-index:"+(Zindex-1)+";width:"+o.offsetWidth+";height:"+o.offsetHeight+";left:"+LeftValue+";top:"+TopValue+";' align='center'>"+
		"<textarea wrap='VIRTUAL' width=100% height=100%>"+
		o.innerText+
		"</textarea>"+
		"</div>";
	}
	*/
	//(oBw.ns)? '':(arguments.length!=2)? o.style.display="none":'';
	(oBw.ns)? o.visibility='hide':o.style.visibility='hidden';
}

document.onclick=hidden;
//当单击时运行函数.
window.onresize=hidden;
//当窗体大小改变时运行函数.

function hidden(){
	if (window.hiddenXX.value!=1){
		window.date.style.visibility='hidden';
		window.YEARarr.style.visibility='hidden';	
		window.MONTHarr.style.visibility='hidden';
		if(UseReplace){
			ypim_setForm(1);//显示下拉菜单
		}
	}
	window.hiddenXX.value=0;
}
//此函数控制层的隐现.

function showDate(pathDate){
	window.hiddenXX.value=1;
	window.date.style.visibility='';
	pathD=pathDate;
	var x=event.screenX;
	var y=event.screenY;
	if (x > (window.screenLeft + document.body.offsetWidth-200)){
		x-=180;
	}
	if (y > (window.screenTop + document.body.offsetHeight-180)){
		y-=160;
	}
	window.date.style.top=y-window.screenTop+document.body.scrollTop;
	window.date.style.left=x-window.screenLeft+document.body.scrollLeft;
	var amountDate=eval("window."+pathDate);
	if (amountDate.value==""){
		Sday=42;
		datearr("D",0);
	}else{
		DXdate=amountDate.value.split("-",3);
		year=parseInt(DXdate[0]);
		month=DXdate[1];
		Sday=DXdate[2];
		immobilityyear=year;
		immobilitymonth=month;
		datearr("X",0);
	}
	if(UseReplace){
		ypim_setForm(0);//隐藏下拉菜单
	}
}
//此函数显示日历层,并未日历做初试化.

window.document.write ("<table width=180 border=1 cellspacing=0 cellpadding=0 bordercolorlight="+MTopLTColor+" bordercolordark="+MTopRBColor+" bgcolor="+TopBGColor+"><tr><td valign=top>");
//输出主框架.

window.document.write ("<table width=100% id=TableMain height=100% border=0 "+
"cellspacing=0 cellpadding=0 bgcolor="+CalendarBackdrop+" style=font-size:"+FontSize+";>");
//输出头.

RTable1=window.TableMain.insertRow();
RTable1.align="center";
RTable1.bgColor=TopBGColor;
var CTable1R1=RTable1.insertCell();
CTable1R1.colSpan="9";
CTable1R1.innerHTML="<table width=100% id='TOPICX' height=24 border=1 cellpadding=0 "+
"cellspacing=0 bordercolorlight="+TopLTColor+" bordercolordark="+TopRBColor+" bgcolor="+TopBGColor+" "+
"style='font-size:"+FontSize+";'></table>";
//在第一行中输出一表格

RTable1X=window.TOPICX.insertRow();
var CTable1R1X=RTable1X.insertCell();
var CTable2R1X=RTable1X.insertCell();
var CTable3R1X=RTable1X.insertCell();
var CTable4R1X=RTable1X.insertCell();
var CTable5R1X=RTable1X.insertCell();
var CTable6R1X=RTable1X.insertCell();
var CTable7R1X=RTable1X.insertCell();
var CTable8R1X=RTable1X.insertCell();
var CTable9R1X=RTable1X.insertCell();
//在表格中输出9列.

CTable1R1X.width="16";
CTable1R1X.align="center";
CTable1R1X.valign="middle";
CTable1R1X.borderColorLight=TopBGColor;
CTable1R1X.borderColorDark=TopBGColor;
CTable1R1X.bgColor=TopBGColor;
CTable1R1X.innerHTML="<table width=23 height=10 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+TopDBLTColor+" bordercolordark="+TopDBRBColor+" bgcolor="+TopBBGColor+" "+
"style='font-size:"+(FontSize-2)+";cursor:"+CursorManner+";' onmousedown=this.borderColorDark='"+TopDownBRBColor+"';"+
"this.borderColorLight='"+TopDownBLTColor+"' onMouseUp=this.borderColorDark='"+TopUpBRBColor+"';"+
"this.borderColorLight='"+TopUpBLTColor+"' onMouseOut=this.borderColorDark='"+TopOutBRBColor+"';"+
"this.borderColorLight='"+TopOutBLTColor+"' title='上一年'><tr><td width=100% align=center valign=middle nowrap "+
"bordercolorlight="+TopBBGColor+" bordercolordark="+TopBBGColor+" bgcolor="+TopBBGColor+" "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;datearr('Y',-1);>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;this.style.top=0'"+
"  onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'><<<</div></td></tr></table>";
//输出当前年减一安钮.

CTable2R1X.width="16";
CTable2R1X.align="center";
CTable2R1X.valign="middle";
CTable2R1X.borderColorLight=TopBGColor;
CTable2R1X.borderColorDark=TopBGColor;
CTable2R1X.bgColor=TopBGColor;
CTable2R1X.innerHTML="<table width=18 height=10 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+TopDBLTColor+" bordercolordark="+TopDBRBColor+" bgcolor="+TopBBGColor+" "+
"style='font-size:"+(FontSize-2)+";cursor:"+CursorManner+";' onmousedown=this.borderColorDark='"+TopDownBRBColor+"';"+
"this.borderColorLight='"+TopDownBLTColor+"' onMouseUp=this.borderColorDark='"+TopUpBRBColor+"';"+
"this.borderColorLight='"+TopUpBLTColor+"' onMouseOut=this.borderColorDark='"+TopOutBRBColor+"';"+
"this.borderColorLight='"+TopOutBLTColor+"' title='上一月'><tr><td width=100% align=center valign=middle nowrap "+
"bordercolorlight="+TopBBGColor+" bordercolordark="+TopBBGColor+" bgcolor="+TopBBGColor+" "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;datearr('M',-1);>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;this.style.top=0' "+
"onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'><<</div></td></tr></table>";
//输出当前月减一安钮.

CTable3R1X.width="16";
CTable3R1X.align="center";
CTable3R1X.valign="middle";
CTable3R1X.borderColorLight=TopBGColor;
CTable3R1X.borderColorDark=TopBGColor;
CTable3R1X.bgColor=TopBGColor;
CTable3R1X.innerHTML="&nbsp;";
//输出一空列.

CTable4R1X.width="16";
CTable4R1X.align="center";
CTable4R1X.valign="middle";
CTable4R1X.borderColorLight=TopBGColor;
CTable4R1X.borderColorDark=TopBGColor;
CTable4R1X.bgColor=TopBGColor;
CTable4R1X.innerHTML="<div id=YMarr1 style=cursor:"+CursorManner+"; "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;"+
"YEARmenu();window.YEARarr.style.top=parseInt(window.date.style.top)+3;"+
"window.YEARarr.style.left=parseInt(window.date.style.left)+33;"+
"window.YEARarr.style.visibility=''; title='年'></div>";
//输出当前年.

CTable5R1X.width="16";
CTable5R1X.align="center";
CTable5R1X.valign="middle";
CTable5R1X.borderColorLight=TopBGColor;
CTable5R1X.borderColorDark=TopBGColor;
CTable5R1X.bgColor=TopBGColor;
CTable5R1X.innerHTML="-";
//输出当前年于当前月的分隔符.

CTable6R1X.width="16";
CTable6R1X.align="center";
CTable6R1X.valign="middle";
CTable6R1X.borderColorLight=TopBGColor;
CTable6R1X.borderColorDark=TopBGColor;
CTable6R1X.bgColor=TopBGColor;
CTable6R1X.innerHTML="<div id=YMarr2 style=cursor:"+CursorManner+"; "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;"+
"window.MONTHarr.style.top=parseInt(window.date.style.top)+2;"+
"window.MONTHarr.style.left=parseInt(window.date.style.left)+115;"+
"window.MONTHarr.style.visibility=''; title='月'></div>";
//输出当前月.

CTable7R1X.width="16";
CTable7R1X.align="center";
CTable7R1X.valign="middle";
CTable7R1X.borderColorLight=TopBGColor;
CTable7R1X.borderColorDark=TopBGColor;
CTable7R1X.bgColor=TopBGColor;
CTable7R1X.innerHTML="&nbsp;";
//输出一空行.

CTable8R1X.width="16";
CTable8R1X.align="center";
CTable8R1X.valign="middle";
CTable8R1X.borderColorLight=TopBGColor;
CTable8R1X.borderColorDark=TopBGColor;
CTable8R1X.bgColor=TopBGColor;
CTable8R1X.innerHTML="<table width=18 height=10 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+TopDBLTColor+" bordercolordark="+TopDBRBColor+" bgcolor="+TopBBGColor+" "+
"style='font-size:"+(FontSize-2)+";cursor:"+CursorManner+";' onmousedown=this.borderColorDark='"+TopDownBRBColor+"';"+
"this.borderColorLight='"+TopDownBLTColor+"' onMouseUp=this.borderColorDark='"+TopUpBRBColor+"';"+
"this.borderColorLight='"+TopUpBLTColor+"' onMouseOut=this.borderColorDark='"+TopOutBRBColor+"';"+
"this.borderColorLight='"+TopOutBLTColor+"' title='下一月'><tr><td width=100% align=center valign=middle nowrap "+
"bordercolorlight="+TopBBGColor+" bordercolordark="+TopBBGColor+" bgcolor="+TopBBGColor+" "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;datearr('M',1);>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;this.style.top=0'"+
"  onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'>>></div></td></tr></table>";

//输出当前月加一安钮.

CTable9R1X.width="16";
CTable9R1X.align="center";
CTable9R1X.valign="middle";
CTable9R1X.borderColorLight=TopBGColor;
CTable9R1X.borderColorDark=TopBGColor;
CTable9R1X.bgColor=TopBGColor;
CTable9R1X.innerHTML="<table width=23 height=10 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+TopDBLTColor+" bordercolordark="+TopDBRBColor+" bgcolor="+TopBBGColor+" "+
"style='font-size:"+(FontSize-2)+";cursor:"+CursorManner+";' onmousedown=this.borderColorDark='"+TopDownBRBColor+"';"+
"this.borderColorLight='"+TopDownBLTColor+"' onMouseUp=this.borderColorDark='"+TopUpBRBColor+"';"+
"this.borderColorLight='"+TopUpBLTColor+"' onMouseOut=this.borderColorDark='"+TopOutBRBColor+"';"+
"this.borderColorLight='"+TopOutBLTColor+"' title='下一年'><tr><td width=100% align=center valign=middle nowrap "+
"bordercolorlight="+TopBBGColor+" bordercolordark="+TopBBGColor+" bgcolor="+TopBBGColor+" "+
"onClick=window.YEARarr.style.visibility='hidden';"+
"window.MONTHarr.style.visibility='hidden';window.hiddenXX.value=1;datearr('Y',1);>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;"+
"this.style.top=0'  onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'>>>></div></td></tr></table>";
//输出当前年加一安钮.

RTable2=window.TableMain.insertRow();
var CTable1R2=RTable2.insertCell();
var CTable2R2=RTable2.insertCell();
var CTable3R2=RTable2.insertCell();
CTable1R2.width="20";
CTable1R2.rowSpan="16";
CTable1R2.innerHTML="<img src='' height=1 width=1>";
CTable2R2.height="5";
CTable2R2.colSpan="7";
CTable2R2.innerHTML="<img src='' height=5 width=1>";
CTable3R2.width="20";
CTable3R2.rowSpan="16";
CTable3R2.innerHTML="<img src='' height=1 width=1>";
//输出一空行.

RTable3=window.TableMain.insertRow();
RTable3.align="center";
var CTable1R3=RTable3.insertCell();
var CTable2R3=RTable3.insertCell();
var CTable3R3=RTable3.insertCell();
var CTable4R3=RTable3.insertCell();
var CTable5R3=RTable3.insertCell();
var CTable6R3=RTable3.insertCell();
var CTable7R3=RTable3.insertCell();
CTable1R3.width="20";
CTable2R3.width="20";
CTable3R3.width="20";
CTable4R3.width="20";
CTable5R3.width="20";
CTable6R3.width="20";
CTable7R3.width="20";
CTable1R3.innerHTML="<font color="+TopFontColor+">日</font>";
CTable2R3.innerHTML="<font color="+TopFontColor+">一</font>";
CTable3R3.innerHTML="<font color="+TopFontColor+">二</font>";
CTable4R3.innerHTML="<font color="+TopFontColor+">三</font>";
CTable5R3.innerHTML="<font color="+TopFontColor+">四</font>";
CTable6R3.innerHTML="<font color="+TopFontColor+">五</font>";
CTable7R3.innerHTML="<font color="+TopFontColor+">六</font>";
//输出日历的头.

RTable4=window.TableMain.insertRow();
var CTable1R4=RTable4.insertCell();
CTable1R4.height="1";
CTable1R4.colSpan="7";
CTable1R4.align="center";
CTable1R4.innerHTML="<img src='' height=2 width=1>";
//输出一空行.

RTable5=window.TableMain.insertRow();
var CTable1R5=RTable5.insertCell();
CTable1R5.height="1";
CTable1R5.colSpan="7";
CTable1R5.align="center";
CTable1R5.bgColor=UpLine;
CTable1R5.innerHTML="<img src='' height=1 width=1>";
//输出一空行作为一条线.

RTable6=window.TableMain.insertRow();
var CTable1R6=RTable6.insertCell();
CTable1R6.height="1";
CTable1R6.colSpan="7";
CTable1R6.align="center";
CTable1R6.innerHTML="<img src='' height=2 width=1>";
//输出一空行.

RTable = new Array();
CTable = new Array();
for (iZ=0;iZ<6;iZ++){
	RTable[iZ+7]=window.TableMain.insertRow();
	for (iiZ=0;iiZ<7;iiZ++){
		var CTable="CTable"+iZ+"R"+iiZ;
		NTable=iZ*7+iiZ;
		var CTable=RTable[iZ+7].insertCell();
		CTable.align="center";
		CTable.innerHTML="<div id='Ddate"+NTable+"'><div id='date"+NTable+"' "+
		"style='cursor:"+CursorManner+";' onMouseOver=this.style.background='"+OverColor+"';if(DivFlag==1){mOvr("+NTable+")} "+
		"onMouseOut=this.style.background='';if(DivFlag==1){mOut();} onClick=output(this.innerHTML,this.id)>"+
		"</div></div>";
	}
}
//循环输出天.

RTable13=window.TableMain.insertRow();
var CTable1R13=RTable13.insertCell();
CTable1R13.height="1";
CTable1R13.colSpan="7";
CTable1R13.align="center";
CTable1R13.innerHTML="<img src='' height=2 width=1>";
//输出一空行.

RTable14=window.TableMain.insertRow();
var CTable1R14=RTable14.insertCell();
CTable1R14.height="1";
CTable1R14.colSpan="7";
CTable1R14.align="center";
CTable1R14.bgColor=DownLine;
CTable1R14.innerHTML="<img src='' height=1 width=1>";
//输出一空行作为一条线.

RTable15=window.TableMain.insertRow();
var CTable1R15=RTable15.insertCell();
CTable1R15.height="1";
CTable1R15.colSpan="7";
CTable1R15.align="center";
CTable1R15.innerHTML="<img src='' height=5 width=1>";
//输出一空行.

RTable16=window.TableMain.insertRow();
var CTable1R16=RTable16.insertCell();
var CTable2R16=RTable16.insertCell();
var CTable3R16=RTable16.insertCell();
CTable1R16.align="right";
CTable1R16.colSpan="3";
CTable1R16.innerHTML="<table width=80% height=24 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+BLTColor+" bordercolordark="+BRBColor+" bgcolor="+BBGColor+" "+
"style='font-size:"+FontSize+";' style='cursor:"+CursorManner+";' onmousedown=this.borderColorDark='"+BLTColor+"';"+
"this.borderColorLight='"+BRBColor+"' onMouseUp=this.borderColorDark='"+BRBColor+"';"+
"this.borderColorLight='"+BLTColor+"' onMouseOut=this.borderColorDark='"+BRBColor+"';"+
"this.borderColorLight='"+BLTColor+"' title='今天'><td width=100% align=center valign=middle nowrap "+
"bordercolorlight="+BBGColor+" bordercolordark="+BBGColor+" bgcolor="+BBGColor+" "+
"onClick=window.hiddenXX.value=1;datearr('D',0);>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;"+
"this.style.top=0'  onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'>Today</div></td></table>";
//输出一个按钮按下跳到当前日期.

CTable2R16.align="left";
CTable2R16.innerHTML=""
CTable3R16.align="left";
CTable3R16.colSpan="3";
CTable3R16.innerHTML="<table width=80% height=24 border=2 cellpadding=0 cellspacing=0 "+
"bordercolorlight="+BLTColor+" bordercolordark="+BRBColor+" bgcolor="+BBGColor+" style=font-size:"+FontSize+" "+
"onmousedown=this.borderColorDark='"+BLTColor+"';this.borderColorLight='"+BRBColor+"' "+
"onMouseUp=this.borderColorDark='"+BRBColor+"';this.borderColorLight='"+BLTColor+"' "+
"onMouseOut=this.borderColorDark='"+BRBColor+"';this.borderColorLight='"+BLTColor+"' title='关闭'><tr>"+
"<td width=100% align=center valign=middle nowrap bordercolorlight="+BBGColor+" "+
"bordercolordark="+BBGColor+" bgcolor="+BBGColor+" style=cursor:"+CursorManner+"; "+
"onMouseUp=hidden();>"+
"<div onMouseOut='this.style.left=0;this.style.top=0' onMouseUp='this.style.left=0;"+
"this.style.top=0'  onMouseDown='this.style.left=1;this.style.top=1' "+
"style='position:relative;left:0;top:0;CURSOR:hand;'>Clear</div></td></tr></table>";
//输出一个按钮按下隐藏层即关闭日历.

RTable17=window.TableMain.insertRow();
var CTable1R17=RTable17.insertCell();
CTable1R17.height="1";
CTable1R17.colSpan="7";
CTable1R17.align="center";
CTable1R17.innerHTML="<img src='' height=10 width=1>";
//输出一空行.

window.document.write ("</table>");
//内层输出完毕.

window.document.write ("</td></tr></table></div>");
//外层输出完毕.

window.document.close();
//关闭输出.

 function datearr(arr,XX){
	 if (arr=="Y"){
		year=parseInt(year)+XX;
	 }
	 else if (arr=="M"){
		 month=month+XX;
		 if (month==0){year=year-1;month=12;}
		 if (month==13){year=year+1;month=1;}	
	 }
	 else if (arr=="D"){
		  initialize = new Date();
		  d=initialize.getMonth();
		  year=initialize.getYear();
		  month=d+1;
	 }
	 else if (arr=="YX"){
		  year=XX;
	 }
	 else if (arr=="MX"){
		  month=XX;
	 }
	 month-=1
	 var iiX=0;
	 d = new Date(year,month,1);
	 day = d.getDay();
	 iiX-=day;
	 if (month==0 || month==2 ||month==4 ||month==6 ||month==7 ||month==9 ||month==11){
		 endarr=31;
	 }
	 else if(month==3 ||month==5 ||month==8 ||month==10){
		 endarr=30;
	 }
	 else if(month==1){
		if (year % 4==0){
			endarr=29;
		}else{
			endarr=28;
		}
	 }
	 month+=1
	 for (iX=0;iX<=41;iX++){
		var obj1=eval("window.date"+iX);
		obj1.innerHTML="";
		obj1.style.color="";
		obj1.style.width="0";
		obj1.style.height="0";
	  }
	 CZ = new Date();
	 if (month-1==CZ.getMonth() && year==CZ.getYear()){
		XXZ=1;
	 }
	 else{
		XXZ=0;
	 }
	 Today=CZ.getDate();
	 for (iX=0;iX<=41;iX++){
		 var obj2=eval("window.Ddate"+iX);
		 iiX+=1;
		 if (immobilityyear!=year || immobilitymonth!= month){
			obj2.style.background="";
		 }
		 else {
			if(Sday==iiX && immobilityyear==year && immobilitymonth==month){
				obj2.style.background=PitchOnColor;
			}
			else{
				obj2.style.background="";
			}
		 }
	 }
	 iiX=0-day;
	 for (iX=0;iX<=41;iX++){
		var obj1=eval("window.date"+iX);
		iiX+=1;
		if (iiX>0){
		obj1.innerHTML=iiX;
		obj1.style.width="100%";
		obj1.style.height="100%";
			if (XXZ==1 && iiX==Today){
				obj1.style.color=TodayColor; 
			}
		}
		if (iiX>=endarr){break;}
	  }
	  
  window.YMarr1.innerHTML=year;
  window.YMarr2.innerHTML=month;
  initial();//初始化详细信息
}
//运算函数.

function output(Value,Id){
	for (iX=0;iX<=41;iX++){
		var objX1=eval("window.Ddate"+iX);
			objX1.style.background="";
	}
	var pathDD=eval("window."+pathD);
	pathDD.value=year+"-"+month+"-"+Value;
	immobilityday=eval("window."+"D"+Id);
	immobilityyear=year;
	immobilitymonth=month;
	window.date.style.visibility='hidden';
	window.YEARarr.style.visibility='hidden';	
	window.MONTHarr.style.visibility='hidden';
	var DXD=eval("window."+"D"+Id)
		DXD.style.background=PitchOnColor;
}
//头输出函数.

window.document.write("<div id=YEARarr style=z-index:"+Zindex+1+";width:35;visibility:hidden;position:absolute;>"+
"<table border=1 bgcolor="+YBGColor+" bordercolorlight="+YLTColor+" bordercolordark="+YRBColor+" cellspacing=0 cellpadding=0><tr><td><table width=16 "+
"id=TYEARarr bgcolor="+YBGColor+" bordercolorlight="+YLTColor+" bordercolordark="+YRBColor+" border=0 cellspacing=0 cellpadding=0></table></tr></td>"+
"</table></div>");
function YEARmenu(){
	var z=window.TYEARarr.rows.length;
	if(z>1){
		for(i=0;i<z;i++){
		document.all.TYEARarr.deleteRow();
		}
	}
	for (i=year-5;i<parseInt(year)+6;i++){
		YE="YEARtr"+i;
		YEtd="YEARtd"+i;
		YE=window.TYEARarr.insertRow();
		var YEtd=YE.insertCell();
		YEtd.innerHTML="<div style=cursor:"+CursorManner+";font-size:"+FontSize+"; "+
		"onMouseOver=this.style.background='"+YOverColor+"'; "+
		"onMouseOut=this.style.background=''; "+
		"onClick=window.YEARarr.style.visibility='hidden';"+
		"window.hiddenXX.value=1;datearr('YX','"+i+"');>"+i+"</div>";
	}
}
//年菜单.

window.document.write("<div id=MONTHarr style=z-index:"+Zindex+1+";visibility:hidden;position:absolute;>"+
"<table border=1 bgcolor="+MBGColor+" bordercolorlight="+MLTColor+" bordercolordark="+MRBColor+" cellspacing=0 cellpadding=0><tr><td><table width=16 "+
"id=TMONTHarr bordercolorlight="+MLTColor+" bgcolor="+MBGColor+" bordercolordark="+MRBColor+" border=0 cellspacing=0 cellpadding=0></table></tr></td></table></div>");
for (i=1;i<13;i++){
	MON="MONtr"+i;
	MONtd="MONtd"+i;
	MON=window.TMONTHarr.insertRow();
	var MONtd=MON.insertCell();
	MONtd.align="right";
	MONtd.innerHTML="<div style=cursor:"+CursorManner+";font-size:"+FontSize+";width:100%; "+
	"onMouseOver=this.style.background='"+MOverColor+"'; "+
	"onMouseOut=this.style.background=''; onClick=window.MONTHarr.style.visibility='hidden';"+
	"window.hiddenXX.value=1;datearr('MX',"+i+");>"+i+"</div>";
}
//月菜单.

window.document.write("<DIV id=detail style='POSITION:absolute;z-index:"+Zindex+1+";'></DIV>");
/*****************************************************************************
                                   日期资料
*****************************************************************************/

var lunarInfo=new Array(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)

var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");
var solarTerm = new Array("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至")
var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)
var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十')
var nStr2 = new Array('初','十','廿','卅','　')
var monthName = new Array("1 月","2 月","3 月","4 月","5 月","6 月","7 月","8 月","9 月","10 月","11 月","12 月");

//国历节日 *表示放假日
var sFtv = new Array(
"0101*元旦",
"0202 湿地日",
"0214 情人节",
"0303 爱耳日",
"0305 周恩来诞辰 青年志愿者服务日",
"0308 妇女节",
"0312 植树节",
"0314 警察日",
"0315 消费者权益日",
"0317 航海日",
"0321 森林日",
"0322 世界水日",
"0323 气象日",
"0401 愚人节",
"0407 卫生日",
"0422 地球日",
"0426 知识产权日",
"0501 劳动节",
"0504 青年节",
"0508 红十字日",
"0512 护士节",
"0515 家庭日",
"0517 电信日",
"0531 无烟日",
"0601 儿童节",
"0605 环境日",
"0606 爱眼日",
"0611 人口日",
"0620 难民日",
"0623 奥林匹克日",
"0625 土地日",
"0626 禁毒日",
"0701 建党节 香港回归日",
"0801 建军节",
"0808 父亲节",
"0908 扫盲日",
"0910 教师节",
"0920 爱牙日",
"0921 和平日",
"0927 旅游日",
"0928 孔子诞辰",
"1001*国庆节",
"1009 邮政日",
"1010 辛亥革命",
"1016 粮食日",
"1017 消除贫困日",
"1018 逛网建站日",
"1024 联合国日",
"1031 万圣节",
"1108 记者节",
"1112 孙中山诞辰",
"1201 艾滋病日",
"1210 人权日",
"1220 澳门回归日",
"1224 平安夜",
"1225 圣诞节",
"1226 毛泽东诞辰")

//农历节日 *表示放假日
var lFtv = new Array(
"0101*春节",
"0115 元宵节",
"0408 佛诞",
"0505 端午节",
"0707 七夕节",
"0715 盂兰盆节",
"0815 中秋节",
"0909 重阳节",
"0100*除夕")

//某月的第几个星期几
var wFtv = new Array(
"0430 儿童日",
"0520 母亲节",
"0530 助残日",
"0630 父亲节 ",
"1144 感恩节")

/*****************************************************************************
                                      日期计算
*****************************************************************************/

//====================================== 传回农历 y年的总天数
function lYearDays(y) {
   var i, sum = 348
   for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0
   return(sum+leapDays(y))
}

//====================================== 传回农历 y年闰月的天数
function leapDays(y) {
   if(leapMonth(y))  return((lunarInfo[y-1900] & 0x10000)? 30: 29)
   else return(0)
}

//====================================== 传回农历 y年闰哪个月 1-12 , 没闰传回 0
function leapMonth(y) {
   return(lunarInfo[y-1900] & 0xf)
}

//====================================== 传回农历 y年m月的总天数
function monthDays(y,m) {
   return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )
}

//====================================== 算出农历, 传入日期物件, 传回农历日期物件
//                                       该物件属性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl
function Lunar(objDate) {

   var i, leap=0, temp=0
   var baseDate = new Date(1900,0,31)
   var offset   = (objDate - baseDate)/86400000

   this.dayCyl = offset + 40
   this.monCyl = 14

   for(i=1900; i<2050 && offset>0; i++) {
      temp = lYearDays(i)
      offset -= temp
      this.monCyl += 12
   }

   if(offset<0) {
      offset += temp;
      i--;
      this.monCyl -= 12
   }

   this.year = i
   this.yearCyl = i-1864

   leap = leapMonth(i) //闰哪个月
   this.isLeap = false

   for(i=1; i<13 && offset>0; i++) {
      //闰月
      if(leap>0 && i==(leap+1) && this.isLeap==false)
         { --i; this.isLeap = true; temp = leapDays(this.year); }
      else
         { temp = monthDays(this.year, i); }

      //解除闰月
      if(this.isLeap==true && i==(leap+1)) this.isLeap = false

      offset -= temp
      if(this.isLeap == false) this.monCyl ++
   }

   if(offset==0 && leap>0 && i==leap+1)
      if(this.isLeap)
         { this.isLeap = false; }
      else
         { this.isLeap = true; --i; --this.monCyl;}

   if(offset<0){ offset += temp; --i; --this.monCyl; }

   this.month = i
   this.day = offset + 1
}

//==============================传回国历 y年某m+1月的天数
function solarDays(y,m) {
   if(m==1)
      return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28)
   else
      return(solarMonth[m])
}
//============================== 传入 offset 传回干支, 0=甲子
function cyclical(num) {
   return(Gan[num%10]+Zhi[num%12])
}

//============================== 月历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {

      this.isToday    = false;
      //国历
      this.sYear      = sYear;
      this.sMonth     = sMonth;
      this.sDay       = sDay;
      this.week       = week;
      //农历
      this.lYear      = lYear;
      this.lMonth     = lMonth;
      this.lDay       = lDay;
      this.isLeap     = isLeap;
      //干支
      this.cYear      = cYear;
      this.cMonth     = cMonth;
      this.cDay       = cDay;

      this.color      = '';

      this.lunarFestival = ''; //农历节日
      this.solarFestival = ''; //国历节日
      this.solarTerms    = ''; //节气

}

//===== 某年的第n个节气为几日(从0小寒起算)
function sTerm(y,n) {
   var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000  ) + Date.UTC(1900,0,6,2,5) )
   return(offDate.getUTCDate())
}

//============================== 传回月历物件 (y年,m+1月)
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()    //国历当月1日星期几

   for(var i=0;i<this.length;i++) {
   
      if(lD>lX) {
         sDObj = new Date(y,m,i+1)    //当月一日日期
         lDObj = new Lunar(sDObj)     //农历
         lY    = lDObj.year           //农历年
         lM    = lDObj.month          //农历月
         lD    = lDObj.day            //农历日
         lL    = lDObj.isLeap         //农历是否闰月
         lX    = lL? leapDays(lY): monthDays(lY,lM) //农历当月最後一天

         if(n==0) firstLM = lM
         lDPOS[n++] = i-lD+1
      }

      //sYear,sMonth,sDay,week,
      //lYear,lMonth,lDay,isLeap,
      //cYear,cMonth,cDay
      this[i] = new calElement(y, parseInt(m)+1, i+1, nStr1[(i+this.firstWeek)%7],
                               lY, lM, lD++, lL,
                               cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) )

      if((i+this.firstWeek)%7==0)   this[i].color = 'red'  //周日颜色
      if((i+this.firstWeek)%14==13) this[i].color = 'red'  //周休二日颜色
   }

   //节气
   tmp1=sTerm(y,m*2)-1
   tmp2=sTerm(y,m*2+1)-1
   //alert(this[tmp1]);
   this[tmp1].solarTerms = solarTerm[m*2]
   this[tmp2].solarTerms = solarTerm[m*2+1]
   if(m==3) this[tmp1].color = 'red' //清明颜色

   //国历节日
   for(i in sFtv)
      if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))
         if(Number(RegExp.$1)==(m+1)) {
            this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' '
            if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red'
         }

   //月周节日
   for(i in wFtv)
      if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))
         if(Number(RegExp.$1)==(m+1)) {
            tmp1=Number(RegExp.$2)
            tmp2=Number(RegExp.$3)
            this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' '
         }

   //农历节日
   for(i in lFtv)
      if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {
         tmp1=Number(RegExp.$1)-firstLM
         if(tmp1==-11) tmp1=1
         if(tmp1 >=0 && tmp1<n) {
            tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1
            if( tmp2 >= 0 && tmp2<this.length) {
               this[tmp2].lunarFestival += RegExp.$4 + ' '
               if(RegExp.$3=='*') this[tmp2].color = 'red'
            }
         }
      }

   //今日
   if(y==tY && m==tM) this[tD-1].isToday = true;

}

//====================== 中文日期
function cDay(d){
   var s;

   switch (d) {
      case 10:
         s = '初十'; break;
      case 20:
         s = '二十'; break;
         break;
      case 30:
         s = '三十'; break;
         break;
      default :
         s = nStr2[Math.floor(d/10)];
         s += nStr1[d%10];
   }
   return(s);
}

///////////////////////////////////////////////////////////////////////////////

var cld;

function drawCld(SY,SM) {
   SY=SY.innerHTML;
   SM=SM.innerHTML-1;
   var i,sD,s,size,yDisplay;
	cld = new calendar(SY,SM);
   if(SY>1949) yDisplay = '建国 ' + (((SY-1949)==1)?'元':SY-1949)
   
   ParticularFound = yDisplay +' 周年'
   ParticularYear = '农历' + cyclical(SY-1900+36) + '年【'+Animals[(SY-4)%12]+'年】'

   //YMBG.innerHTML = "&nbsp;" + SY + "<BR>&nbsp;" + monthName[SM];


   for(i=0;i<42;i++) {//42

      //sObj=eval('Ddate'+ i);
      //lObj=eval('LD'+ i);
//alert();
      //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; //国定假日颜色

         //if(cld[sD].lDay==1) //显示农历月
           //farmer[i] = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
		   
		   //lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闰':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
        // else //显示农历日
		 
            farmer[i] = cDay(cld[sD].lDay);
			//lObj.innerHTML = cDay(cld[sD].lDay);

         s=cld[sD].lunarFestival;
		
         if(s.length>0) { //农历节日
            if(s.length>6) s = s.substr(0, 4)+'…';
            s = s.fontcolor('red');
         }
         else { //国历节日
            s=cld[sD].solarFestival;
            if(s.length>0) {
               size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
               if(s.length>size+2) s = s.substr(0, size)+'…';
               s = s.fontcolor('blue');
            }
            else { //廿四节气
               s=cld[sD].solarTerms;
               if(s.length>0) s = s.fontcolor('limegreen');
            }
         }
         //if(s.length>0) farmer[i] = s;//lObj.innerHTML = s;//不将节日付值给变量
      }
      else { //非日期
         //sObj.innerHTML = '';
		 farmer[i] = '';
         //lObj.innerHTML = '';
      }
   }
}


function changeCld() {
   var y,m;
   y=CLD.SY.selectedIndex+1900;
   m=CLD.SM.selectedIndex;
   drawCld(y,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 width = "130";
var offsetx = 2;
var offsety = 16;

var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;

var dStyle;
document.onmousemove = mEvn;

function Chinese(Value){
	switch (Value){
	   case 1:
	   		return "一";
		    break;
	   case 2:
	   		return "二";
	   		break;
	   case 3:
	   		return "三";
	   		break;
	   case 4:
	   		return "四";
	   		break;
	   case 5:
	   		return "五";
	   		break;
	   case 6:
	   		return "六";
	   		break;
	   case 7:
	   		return "七";
	   		break;
	   case 8:
	   		return "八";
	   		break;
	   case 9:
	   		return "九";
	   		break;
	   case 10:
	   		return "十";
	   		break;
	   case 11:
	   		return "十一";
	   		break;
	   case 12:
	   		return "十二";
	   		break;
	}
}



//显示详细日期资料
function mOvr(v) {
   var s,festival;
   var sObj=eval('date'+ v);
   var d=sObj.innerHTML-1;
      //sYear,sMonth,sDay,week,
      //lYear,lMonth,lDay,isLeap,
      //cYear,cMonth,cDay

   if(sObj.innerHTML!='') {

      sObj.style.cursor = CursorManner;

      if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
         festival = '';
      else
         festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="'+LayerDifferBackdrop+'" STYLE="font-size:'+FontSize+';">'+
						'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontDifferColor1+';">'+
								cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+
							'</TD>'+
						'</TR>'+
					'</TABLE>';

      s='<TABLE WIDTH="'+LayerWidth+'" BORDER=1 CELLPADDING="2" CELLSPACING=0 BGCOLOR="'+LayerBackdrop+'"  bordercolorlight="'+LayerRimColor+'" bordercolordark="'+LayerRimColor+'">'+
			'<TR>'+
				'<TD>'+
					'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 style="font-size:'+FontSize+';">'
					if(LayerShowFlag1==1){
					s=s+'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontColor4+';">'+
								ParticularFound+
							'</TD>'+
						'</TR>'
					}
					if(LayerShowFlag2==1){
					s=s+'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontColor5+';">'+
								ParticularYear+
							'</TD>'+
						'</TR>'
					}
					if(LayerShowFlag3==1){
					s=s+'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontColor2+';">'+
								'农历'+(cld[d].isLeap?'闰 ':' ')+Chinese(cld[d].lMonth)+'月'+farmer[v]+
								//'农历'+(cld[d].isLeap?'闰':'')+Chinese(cld[d].lMonth)+'月 '+cld[d].lDay+' 日'+
							'</TD>'+
						'</TR>'
					}
					if(LayerShowFlag4==1){
					s=s+'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontColor1+';">'+
								cld[d].sYear+'年'+cld[d].sMonth+'月'+cld[d].sDay+'日 星期'+cld[d].week+
							'</TD>'+
						'</TR>'
					}
					if(LayerShowFlag5==1){
					s=s+'<TR>'+
							'<TD ALIGN="center" style="COLOR:'+FontColor3+';">'+
								cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日'+
							'</TD>'+
						'</TR>'
					}
					s=s+'</TABLE>'
					if(LayerShowFlag6==1){
						s=s+festival
					}
				s=s+'</TD>'+
			'</TR>'+
		'</TABLE>';
		
      document.all["detail"].innerHTML = s;

   	if (snow == 0) {
         dStyle.left = x+offsetx-(width/2);
         dStyle.top = y+offsety;
   		dStyle.visibility = "visible";
   		snow = 1;
   	}
	}
}

//清除详细日期资料
function mOut() {
	if ( cnt >= 1 ) { sw = 0 }
	if ( sw == 0 ) { snow = 0;	dStyle.visibility = "hidden";}
	else cnt++;
}

//取得位置
function mEvn() {
   x=event.x;
   y=event.y;
	if (document.body.scrollLeft || document.body.scrollTop)
	   {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
	if (snow){
      dStyle.left = x+offsetx-(width/2)
      dStyle.top = y+offsety
	}
}

///////////////////////////////////////////////////////////////////////////

function tick() {
   var today
   today = new Date()
   Clock.innerHTML = today.toLocaleString().replace(/(年|月)/g, "/").replace(/日/, "");
   Clock.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)
   window.setTimeout("tick()", 1000);
}

function setCookie(name, value) {
	var today = new Date()
	var expires = new Date()
	expires.setTime(today.getTime() + 1000*60*60*24*365)
	document.cookie = name + "=" + escape(value)	+ "; expires=" + expires.toGMTString()
}

function getCookie(Name) {
   var search = Name + "="
   if(document.cookie.length > 0) {
      offset = document.cookie.indexOf(search)
      if(offset != -1) {
         offset += search.length
         end = document.cookie.indexOf(";", offset)
         if(end == -1) end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      }
      else return ""
   }
}

/////////////////////////////////////////////////////////

function initial() {
   dStyle = detail.style;
   //CLD.SY.selectedIndex=tY-1900;
   //CLD.SM.selectedIndex=tM;
   drawCld(YMarr1,YMarr2);
}
