var winBody = document.body || document.documentElement
 function $( idstr ){
    return document.getElementById( idstr ) || false;
 }

window["MzBrowser"]={};
(function(){
	if(MzBrowser.platform) return;
	var ua = window.navigator.userAgent;
	MzBrowser.platform = window.navigator.platform;
	
	if( ua.indexOf("Firefox")>0 ) MzBrowser.mz = "firefox";
	if(typeof(window.opera)=="object") MzBrowser.mz = "opera"; 
	if( !MzBrowser.opera && ua.indexOf("MSIE")>0) MzBrowser.mz = "ie" ;
	if(window.navigator.product == "Gecko") MzBrowser.mz = "mozilla";
	if(window.navigator.vendor=="Netscape") MzBrowser.mz = "netscape";
	if( ua.indexOf("Safari")>-1 ) MzBrowser.mz = "safari";
	
	if(MzBrowser.mz=="firefox") var re = /Firefox(\s|\/)(\d+(\.\d+)?)/;
	else if(MzBrowser.mz=="ie") var re = /MSIE( )(\d+(\.\d+)?)/;
	else if(MzBrowser.mz=="opera") var re = /Opera(\s|\/)(\d+(\.\d+)?)/;
	else if(MzBrowser.mz=="netscape") var re = /Netscape(\s|\/)(\d+(\.\d+)?)/;
	else if(MzBrowser.mz=="safari") var re = /Version(\/)(\d+(\.\d+)?)/;
	else if(MzBrowser.mz=="mozilla") var re = /rv(\:)(\d+(\.\d+)?)/;
	
	if("undefined"!=typeof(re)&&re.test(ua))
	MzBrowser.version = parseFloat(RegExp.$2);
})(); 

 function exRili( year, mon, pid, id, setObjId){
 	  setObjId = setObjId || "date";
 	  if( $(setObjId).value!='' && !year ){
 	  	  var oldDate = $(setObjId).value.split("-");
 	  	  year = oldDate[0];
 	  	  mon = oldDate[1];
 	  }
 	  var setObjStr =  ",'"+setObjId+"'";
 	  var ws = ["日","一","二","三","四","五","六"];
    var d = new Date();
    pid = pid || "main";
    id = id || "riliWin";
    var wid = 200;
    var hei = 200;
    year = Number(year) || d.getFullYear();
    mon = Number(mon) || d.getMonth()+1;
 	  var monDays = [0,31,28,31,30,31,30,31,31,30,31,30,31];
 	  if ( ( year%100 && !(year%4) ) || !(year%400) ) monDays[2] = 29;
 	  var preYear = year - 1;
 	  var preMon = ( mon==1) ? 1 : mon - 1;
 	  var nextYear = year + 1;
 	  var nextMon = ( mon==12) ? 12 : mon + 1;
 	  if($(id)) removeWin(id)
 	  RiliWin = createWin( pid, id, wid, hei, setObjId )
 	  var newTbd = RiliWin.childNodes[0];
		var sel1 = "", sel2 = "";
		for( var i=1970,j=1; i<2050; i++,j++ ){
			 sel1 += "<option value="+i+">"+i+"</option>";
			 if(j<13) sel2 += "<option value="+j+">"+j+"</option>";
		}
		var titinner = "<div style='width:5px; padding:5px 6px 0px 6px'><a href=javascript:exRili("+preYear+","+mon+",'"+pid+"','"+id+"','"+setObjId+"')><image src=images/left.gif></a></div>" 
		   + "<div style='width:58px'><select onchange=\"exRili(this.value,$('selM').value,'"+pid+"','"+id+"','"+setObjId+"')\" id='selY'>"+sel1+"</select></div>"
       + "<div style='width:5px; padding:5px 0px 0px 6px'><a href=javascript:exRili("+nextYear+","+mon+",'"+pid+"','"+id+"','"+setObjId+"')><image src=images/right.gif></a></div>"
       + "<div style='width:5px;padding:5px 6px 0px 20px'><a href=javascript:exRili("+year+","+preMon+",'"+pid+"','"+id+"','"+setObjId+"')><image src=images/left.gif></a></div>"
       + "<div style='width:42px'><select onchange=\"exRili($('selY').value,this.value,'"+pid+"','"+id+"','"+setObjId+"')\" id='selM'>"+sel2+"</select></div>"
       + "<div style='width:5px;padding:5px 12px 0px 6px'><a href=javascript:exRili("+year+","+nextMon+",'"+pid+"','"+id+"','"+setObjId+"')><image src=images/right.gif></a></div>"
       + "<div style='margin-top:5px'><a href=\"javascript:removeWin('"+id+"')\"><img src='images/closecalender.gif' alt='关闭窗口' /></a></div>";
		var newTr = document.createElement("tr");
		newTbd.appendChild(newTr);
		var newTd = document.createElement("td");	
		newTr.appendChild(newTd);
		newTd.colSpan = 7;
    newTd.className = "calTit";
    newTd.innerHTML = titinner;
		newTr = document.createElement("tr");
		newTbd.appendChild(newTr);
		for( var i=0; i<7; i++ ){
		   var newTh = document.createElement("th");
		   newTr.appendChild(newTh);
	     newTh.innerHTML = ws[i];
		}
 	  var dt =new Date( year, mon-1, 1);
 	  var w = dt.getDay(); //初一是周几
 	  var cDay = 0;
		for( var i=0; i<6; i++ ){
			 var newTr = document.createElement("tr");
		   newTbd.appendChild(newTr);
       for( j=0; j<7; j++ ){
 		      var newTD = document.createElement("td");
		      newTr.appendChild(newTD);
 	  	 	  if( (i==0 && j >= w ) || (i>0 && cDay<monDays[mon]) ){
 	  	 	    cDay++;
 	  	 	    newTD.innerHTML = "<a href=javascript:setDate('"+year+"-"+mon+"-"+cDay+"','"+id+"'"+setObjStr+")>"+cDay+"</a>";
 	  	 	  }else{
 	  	 	  	newTD.innerHTML = "&nbsp;";
 	  	 	  }
       }
		}
		$("selY").value = year;
		$("selM").value = mon;
 }
 
  function setDate( dt,id, setObjId ){
 	  $( setObjId ).value = dt; removeWin( id );
 }
   
 function removeWin(id){   // //关闭弹出窗口
    try{ $(id).parentNode.removeChild( $(id) ) }catch(e){}
 }
 
  function createWin( pid, id, wid, hei, setObjId ){  //新建弹出窗口
		 var ScrollTop = (document.all ) ? winBody.scrollTop : window.scrollY
   	 try{  if($(id)) return false;  }catch(e){}
	   var newWin = document.createElement("table");
	   var newTbd = document.createElement("tbody");
     newWin.appendChild(newTbd);
     newWin.id = id
     newWin.className = "calender";
     newWin.style.cssText = "clear:both; color:#000; position:absolute; background:#fff; overflow:hidden;font-size:12px;border:0;";
     newWin.cellPadding=0;
     newWin.cellSpacing=1;
     $(pid).appendChild(newWin)
     if( wid ) newWin.style.width = wid + "px";
     if( hei ) newWin.style.height = hei + "px";
     var left = $(setObjId).offsetLeft;
 	   if(MzBrowser.mz=='ie' && MzBrowser.version<8){
 	   	   left = $(setObjId).parentNode.offsetLeft;
     }else{
         var top = $(setObjId).offsetTop + 25;
         newWin.style.top= top + "px"
     }
     newWin.style.left = left + "px";
     return newWin  
 }
