// JavaScript Document
//<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


function UxTimer(Obj)
{
	Obj.disabled=true;
	var _O=this;
	var Top=Obj.offsetTop+20;
	var Left=Obj.offsetLeft;
	var MRb=Obj;
	while(MRb=MRb.offsetParent) 
    {
      Top+=MRb.offsetTop; 
      Left+=MRb.offsetLeft; 
    }
	var wH=document.body.clientHeight;
	var wH2=document.documentElement.clientHeight;
	wH=wH>wH2?wH:wH2;
	if(Top+223>wH)Top=Top-223;
	var DatrStr="";
	var DayArr=new Array();
	var WeakArr=new Array();
	var Weak=new Array("日","一","二","三","四","五","六");
	var DaysMonth  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var FDate=new Date();
	
	
	var Year=FDate.getFullYear();
	var Month=FDate.getMonth()+1;
	var Day=FDate.getDate();
	
	var OYear=0;
	var OMonth=0;
	var ODay=0;
	
	if(Obj.value!="")
	{
		 var Str=Obj.value;
		 var   reg   =   /^(\d{4})-(\d{1,2})-(\d{1,2})$/;  
         var   arr   =   reg.exec(Str);
		
	    if(reg.test(Str)&&RegExp.$2<=12&&RegExp.$3<=31){
			var Y=RegExp.$1;
			var M=RegExp.$2;
			var D=RegExp.$3;
			OYear=Number(Y);
			OMonth=Number(M);
			ODay=Number(D);
			Year=Number(Y);
			Month=Number(M);
			Day=Number(D);
			} 
		 
		
	}
	
	var TYear=FDate.getFullYear();
	var TMonth=FDate.getMonth()+1;
	var TDay=FDate.getDate();
	
	this.Create=function()
	{
	    _O.From=document.createElement("div");
	    with(_O.From){
		  style.position="absolute";
		  name="UxTimer";
		  className="UxTime";
		  style.top=Top+"px";
		  style.left=Left+"px";
	      }
		_O.TPanl=document.createElement("div"); 
	    _O.TPanl.className="Top";
		_O.YearBar=document.createElement("select");
		for(var i=1950;i<=2050;i++)
		{
		var Opt = new Option(i+'年',i+""); 
        _O.YearBar.options.add(Opt); 
		}
		_O.YearBar.style.width="70px";
		_O.MondBar=document.createElement("select");
		for(var i=1;i<=12;i++)
		{
		var Opt = new Option(i+'月',i+""); 
        _O.MondBar.options.add(Opt);
		}
		_O.MondBar.style.width="51px";
		_O.MondBar.onchange=function(){
			var Opt=_O.MondBar.options[_O.MondBar.selectedIndex];
			Month=Number(Opt.value);
			_O.Update();
			}
		_O.YearBar.onchange=function(){
			var Opt=_O.YearBar.options[_O.YearBar.selectedIndex];
			Year=Number(Opt.value);
			_O.Update();
			}
		
		_O.Add=document.createElement("div");
		_O.Dee=document.createElement("div");
		_O.Add.className="Ads";
		_O.Dee.className="Ads";
		_O.Add.onmouseout=function(){this.className="Ads";}
		_O.Dee.onmouseout=function(){this.className="Ads";}
		_O.Add.onmouseover=function(){this.className="Adsn";}
		_O.Dee.onmouseover=function(){this.className="Adsn";}
		_O.Add.onclick=function(){_O.Next();};
		_O.Dee.onclick=function(){_O.Prev();};
		_O.Add.innerHTML="&gt;";
		_O.Dee.innerHTML="&lt;";
		_O.TPanl.appendChild(_O.Dee);
		_O.TPanl.appendChild(_O.YearBar);
		_O.TPanl.appendChild(_O.MondBar);
		_O.TPanl.appendChild(_O.Add);
		
	    _O.From.appendChild(_O.TPanl);
		
		for(var i=0;i<7;i++)
		{
			WeakArr[i]=document.createElement("div");
			
			WeakArr[i].className="week";
			WeakArr[i].innerHTML=Weak[i];
			_O.From.appendChild(WeakArr[i]);
		}
		for(var i=0;i<42;i++)
		{
			DayArr[i]=document.createElement("div");
			DayArr[i].className="day";
			_O.From.appendChild(DayArr[i]);
		}
		_O.CloP=document.createElement("div"); 
		_O.CloP.className="clo";
		_O.CloP.innerHTML="关闭";
		_O.CloP.onmouseout=function(){this.className="clo";}
		_O.CloP.onmouseover=function(){this.className="clon";}
		_O.CloP.onclick=function(){_O.Close();};
		_O.From.appendChild(_O.CloP);
		
		_O.DayP=document.createElement("div"); 
		_O.DayP.className="mday";
		var sY=TYear+"";
		var sM=TMonth+"";
		var sD=TDay+"";
		sM=sM.length!=2?"0"+sM:sM;
		sD=sD.length!=2?"0"+sD:sD;
		var DaTime=sY+"-"+sM+"-"+sD;
		_O.DayP.setAttribute("Date",DaTime);
		_O.DayP.innerHTML="今天："+DaTime;
		_O.DayP.onmouseout=function(){this.className="mday";}
		_O.DayP.onmouseover=function(){this.className="mdayn";}
		_O.DayP.onclick=function(){var Dstr=this.getAttribute("Date");Obj.value=Dstr;_O.Close();};
		_O.From.appendChild(_O.DayP);
		
		
	    document.body.appendChild(_O.From);
		
		_O.Update();
   }
   this.Next=function()
		{
			Month++;
			if(Month==13)
			{
				Year++;
				Month=1;
			}
			_O.Update();
		}
		this.Prev=function()
		{
			Month--;
			if(Month==0)
			{
				Year--;
				Month=12;
			}
			_O.Update();
		}
		this.Update=function()
		{
			//纠正 闰年
			DaysMonth[1]= (0==Year%4 && (Year%100!=0 || Year%400==0)) ? 29 : 28;
			for(var i=0;i<_O.YearBar.length;i++)
			{
				var Opt=_O.YearBar.options[i];
				if(Opt.value==Year)Opt.selected=true;
			}
			for(var i=0;i<_O.MondBar.length;i++)
			{
				var Opt=_O.MondBar.options[i];
				if(Opt.value==Month)Opt.selected=true;
			}
			var M= Month-1;
			var w = new Date(Year, M, 1).getDay();
			for(var i=0;i<42;i++)
			{
				DayArr[i].innerHTML="";
				DayArr[i].setAttribute("Date","");
				DayArr[i].className="hday";
				DayArr[i].onclick=null;
				DayArr[i].onmouseout=null;
				DayArr[i].onmouseover=null;
			}
			for(var i=0;i<DaysMonth[M];i++)
			{
				var D=(i+1);
				DayArr[i+w].innerHTML=D;
				
				var sY=Year+"";
				var sM=Month+"";
				var sD=D+"";
				sM=sM.length!=2?"0"+sM:sM;
				sD=sD.length!=2?"0"+sD:sD;
				var DaTime=sY+"-"+sM+"-"+sD;
				DayArr[i+w].setAttribute("Date",DaTime);
				DayArr[i+w].onclick=function(){var Dstr=this.getAttribute("Date");Obj.value=Dstr;_O.Close();};
				if(TYear==Year&&TMonth==Month&&D==TDay)
				{
					DayArr[i+w].className="today";
					DayArr[i+w].onmouseout=function(){this.className="today";}
		            DayArr[i+w].onmouseover=function(){this.className="sday";}
				}
				else
				{
					if(OYear==Year&&OMonth==Month&&D==ODay)
					{
					DayArr[i+w].className="oday";
					DayArr[i+w].onmouseout=function(){this.className="oday";}
		            DayArr[i+w].onmouseover=function(){this.className="sday";}
					}
					else
					{
					DayArr[i+w].className="day";
					DayArr[i+w].onmouseout=function(){this.className="day";}
		            DayArr[i+w].onmouseover=function(){this.className="sday";}
					}
				}
			}
			
		}
      this.Close=function()
	  {
		 if(!_O.From)return;
		 document.body.removeChild(_O.From);
		 _O.From=null;
		 Obj.disabled=false;;
	  }
	 
}
function MakeTime(O)
{
var A=new UxTimer(O);
A.Create();
}

