var isIE = navigator.appVersion.match(/MSIE/) == "MSIE";

//有效的时间范围
var sd_date_start,sd_date_end,sd_g_object
var sd_today = new Date();
var sd_separator="-";
var sd_inover=false;

function sd_change_date(temp,mode)
{
	var t_month,t_year;

	var cele_date_month = document.getElementById('cele_date_month');
	var  cele_date_year = document.getElementById('cele_date_year');
    if (mode){
        if(mode==1)
        t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);
        else
        t_month=parseInt(temp)
        if (t_month<cele_date_month.options[0].text) {
            cele_date_month.value=cele_date_month.options[cele_date_month.length-1].text;
            sd_change_date(parseInt(cele_date_year.value,10)-1,0);
            }
        else{
            if (t_month>cele_date_month.options[cele_date_month.length-1].text){
                cele_date_month.value=cele_date_month.options[0].text;
                sd_change_date(parseInt(cele_date_year.value,10)+1,0);
                }
            else
                {cele_date_month.value=t_month;
                 sd_set_cele_date(cele_date_year.value,cele_date_month.value);
                }
        }
    }
    else{
        t_year=parseInt(temp,10);

        if (t_year<cele_date_year.options[0].text) {
            cele_date_year.value=cele_date_year.options[0].text;
            sd_set_cele_date(cele_date_year.value,1);
            }
        else{
            if (parseInt(t_year,10)>parseInt(cele_date_year.options[cele_date_year.length-1].text,10)){
                cele_date_year.value=cele_date_year.options[cele_date_year.length-1].text;
                sd_set_cele_date(cele_date_year.value,12);
                }
            else
                {cele_date_year.value=t_year;
                 sd_set_cele_date(cele_date_year.value,cele_date_month.value);
                }
        }
    }
document.getElementById('cele_date').focus();
}

function getChineseMonth(i) {
	switch (i) {
		case 1:
			return '一月'
		case 2:
			return '二月'
		case 3:
			return '三月'
		case 4:
			return '四月'
		case 5:
			return '五月'
		case 6:
			return '六月'
		case 7:
			return '七月'
		case 8:
			return '八月'
		case 9:
			return '九月'
		case 10:
			return '十月'
		case 11:
			return '十一月'
		case 12:
			return '十二月'
		default:
			break;
	}
}

function sd_init(d_start,d_end) {
     var temp_str;
     var i=0
     var j=0
     document.getElementById('cele_date').innerHTML="";
     
     temp_str="<table border=\"1\" width=\"185\" style=\"margin-left:0px;border-collapse:collapse;text-align:center;\" bordercolor=\"#D6EBBA\"><tr><td colspan=7 onmouseover=\"sd_overcolor(this)\">";
     temp_str+="<input type=\"Button\" value=\"<\" onclick=\"sd_change_date(-1,1)\" onmouseover=\"sd_getlayerfocus()\"  style=\"color: #000000; background-color: #FFFFFF;width:25px; padding-left:5px;cursor: pointer\">";
     temp_str+="";
     temp_str+="<select name=\"cele_date_year\" id=\"cele_date_year\" length=\"8\" language=\"javascript\" onchange=\"sd_change_date(this.value,0)\" onmouseover=\"sd_getlayerfocus()\" onblur=\"sd_getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset;width:55px; background-color: #F4F8FB\">"

     for (i = d_start; i <= d_end; i++) {
     	temp_str+="<OPTION value=\""+i.toString() + "\">" + i.toString() + "</OPTION>";
     }
     
     temp_str+="</select>";
     temp_str+="";
     temp_str+="<select name=\"cele_date_month\" id=\"cele_date_month\" language=\"javascript\" onchange=\"sd_change_date(this.value,2)\" onmouseover=\"sd_getlayerfocus()\" onblur=\"sd_getlayerfocus()\" style=\"font-size: 9pt; border: 1px #666666 outset;width:60px; background-color: #F4F8FB\">"

     for (i = 1; i <= 12; i++) {
    	 temp_str+="<OPTION value=\"" + i.toString() + "\">" + getChineseMonth(i) + "</OPTION>";
     }
     
     temp_str+="</select>";
     temp_str+="";
     temp_str+="<input type=\"Button\" value=\">\" onclick=\"sd_change_date(1,1)\" onmouseover=\"sd_getlayerfocus()\"  style=\"color: #000000; background-color: #FFFFFF;width:20px; padding-left:5px;cursor: pointer\">";
     temp_str+="";
     //temp_str+="<input type=\"Button\" value=\"空\" onclick=\"clear_date()\" onmouseover=\"sd_getlayerfocus()\"  style=\"color: #000000; background-color: #FFFFFF;width:20px;padding-left:3px; cursor: pointer\">";
	 temp_str+="<input type=\"Button\" value=\"关\" onclick=\"document.getElementById('cele_date').style.display='none';\" onmouseover=\"sd_getlayerfocus()\"  style=\"color: #000000; background-color: #FFFFFF;width:20px;padding-left:3px; cursor: pointer\">";
	 
  	 temp_str+="</td></tr><tr bgColor=\"#FFFFFF\"><td onmouseover=\"sd_overcolor(this)\">"
     temp_str+="<font color=red>日</font></td><td >";temp_str+="一</td><td>"; temp_str+="二</td><td>"; temp_str+="三</td><td>"
     temp_str+="四</td><td>";temp_str+="五</td><td>"; temp_str+="<font color=red>六</td></font></tr>";
     
     for (i=1 ;i<=6 ;i++) {
     	temp_str+="<tr>";
        
        for(j=1;j<=7;j++){
        	temp_str+="<td name=\"c"+i+"_"+j+"\"id=\"c"+i+"_"+j+"\" style=\"CURSOR: pointer\" style=\"COLOR:#000000\" language=\"javascript\" onmouseover=\"sd_overcolor(this)\" onmouseout=\"sd_outcolor(this)\" onclick=\"sd_td_click(this)\"></td>"
        }
        
        temp_str+="</tr>"
     }
     
     temp_str+="</td></tr></table>";
     document.getElementById('cele_date').innerHTML=temp_str;;
}
function sd_set_cele_date(year,month)
{
	year = year;

   var i,j,p,k
   var nd=new Date(year,month-1,1);
   event.cancelBubble=true;
   /*
   cele_date_year.value=year;
   cele_date_month.value=month;
   */
   document.getElementById('cele_date_year').value=year;
   document.getElementById('cele_date_month').value=month;
   k=nd.getDay()-1
   var temp;
   for (i=1;i<=6;i++)
      for(j=1;j<=7;j++)
      {
      	/*
      eval("c"+i+"_"+j+".innerHTML=\"\"");
      eval("c"+i+"_"+j+".bgColor=\"#eeeeee\"");
      eval("c"+i+"_"+j+".style.cursor=\"pointer\"");
      */
      	document.getElementById("c"+i+"_"+j).innerHTML='';
	    document.getElementById("c"+i+"_"+j).bgColor='#eeeeee';
      	document.getElementById("c"+i+"_"+j).style.cursor='pointer';
      }
   while(month-1==nd.getMonth())
    { j=(nd.getDay() +1);
      p=parseInt((nd.getDate()+k) / 7)+1;
      //eval("c"+p+"_"+j+".innerHTML="+"\""+nd.getDate()+"\"");
      document.getElementById("c"+p+"_"+j).innerHTML=nd.getDate();
      
      /*
      if ((nd.getDate()==sd_today.getDate())&&(cele_date_month.value==sd_today.getMonth()+1)&&(cele_date_year.value==sd_today.getFullYear())){
      	 eval("c"+p+"_"+j+".bgColor=\"#EFFB64\"");
      }
      */
      
      if ((nd.getDate()==sd_today.getDate())&&(document.getElementById('cele_date_month').value==sd_today.getMonth()+1)&&(document.getElementById('cele_date_year').value==sd_today.getFullYear())){
      	// eval("c"+p+"_"+j+".bgColor=\"#EFFB64\"");
      	 document.getElementById("c"+p+"_"+j).bgColor='#EFFB64';
      }
      
      if (nd>sd_date_end || nd<sd_date_start)
      {
      	/*
      eval("c"+p+"_"+j+".bgColor=\"#FF9999\"");
      eval("c"+p+"_"+j+".style.cursor=\"text\"");
      */
      document.getElementById("c"+p+"_"+j).bgColor='#FF9999';
      document.getElementById("c"+p+"_"+j).style.cursor='text';
      }
      nd=new Date(nd.valueOf() + 86400000)
    }
}

//var sd_afterTime=" 00:00:00";
var sd_afterTime="";
function sd_showdate(eP,d_start,d_end,t_object,ev)
{	
	var cele_date_div = document.getElementById('cele_date');
	cele_date_div.style.display="";
	cele_date_div.style.zIndex=99
	var s,cur_d
	var eT = eP.offsetTop;
	var eH = eP.offsetHeight+eT;
	var dH = cele_date_div.style.pixelHeight;
	var sT = document.body.scrollTop;
	var sL = document.body.scrollLeft;
	var oldTime=t_object.value;
	var beforetime="";
	if (oldTime.length>10){
	    sd_afterTime=oldTime.substring(10,oldTime.length);
	    beforetime=oldTime.substring(0,10);
	}
	if (!isIE) {
	event = ev;
	}
	event.cancelBubble=true;
	cele_date_div.style.left = event.clientX - 20 + sL + 'px';
	cele_date_div.style.top = event.clientY + document.documentElement.scrollTop + 10 + sT + 'px';
	if (cele_date_div.style.posLeft+cele_date_div.clientWidth>document.body.clientWidth) cele_date_div.style.posLeft+=eP.offsetWidth-cele_date_div.clientWidth;
	//if (window.cele_date.style.posTop+window.cele_date.clientHeight>document.body.clientHeight) window.cele_date.style.posTop-=(eP.offsetHeight+window.cele_date.clientHeight+5);

	if (d_start!=""){
	    if (d_start=="today"){
	        sd_date_start=new Date(sd_today.getFullYear(),sd_today.getMonth(),sd_today.getDate());
	    }else{
	        s=d_start.split(sd_separator);
	        sd_date_start=new Date(s[0],s[1]-1,s[2]);
	    }
	}else{
	    sd_date_start=new Date(1900,1,1);
	}
	
	if (d_end!=""){
	    s=d_end.split(sd_separator);
	    sd_date_end=new Date(s[0],s[1]-1,s[2]);
	}else{
	    sd_date_end=new Date(3000,1,1);
	}
	
	sd_g_object=t_object;
	
	cur_d=new Date();
	if (beforetime.length>9){
	    s=beforetime.split(sd_separator);
	    cur_d=new Date(s[0],s[1]-1,s[2]);
	}
	
	sd_set_cele_date(cur_d.getFullYear(),cur_d.getMonth()+1);
	cele_date_div.style.display="block";
	cele_date_div.focus();
}
function sd_td_click(t_object)
{
	var t_d
	if (parseInt(t_object.innerHTML,10)>=1 && parseInt(t_object.innerHTML,10)<=31 )
	{ 
		var cele_date_month = document.getElementById('cele_date_month');
		var cele_date_year = document.getElementById('cele_date_year');
		t_d=new Date(cele_date_year.value,cele_date_month.value-1,t_object.innerHTML)
		if (t_d<=sd_date_end && t_d>=sd_date_start)
		{
			var year = cele_date_year.value;
			var month = cele_date_month.value;
			var day = t_object.innerHTML;
			if (parseInt(month)<10) month = "0" + month;
			if (parseInt(day)<10) day = "0" + day;
			
			sd_g_object.value=year+sd_separator+month+sd_separator+day+sd_afterTime;
			document.getElementById('cele_date').style.display="none";
		};
	}

}
function clear_date() {
	sd_g_object.value="";
	document.getElementById('cele_date').style.display="none";
}
function sd_h_cele_date()
{
	document.getElementById('cele_date').style.display="none";
}

function sd_overcolor(obj)
{
  if (obj.style.cursor=="pointer"){
  	obj.style.backgroundColor = "red";
  	obj.style.color = "#FFFFFF";
  	sd_inover=true;
  	document.getElementById('cele_date').focus();
  }
}

function sd_outcolor(obj)
{
  obj.style.color = "#000000";
  obj.style.backgroundColor = "";
  sd_inover=false;
}


function sd_getNow(o){
    var Stamp=new Date();
    var year = Stamp.getFullYear();
    var month = Stamp.getMonth()+1;
    var day = Stamp.getDate();
    if(month<10){
	month="0"+month;
    }
    if(day<10){
	day="0"+day;
    }
    o.value=year+sd_separator+month+sd_separator+day;
}
function sd_hilayer()
{
	if (sd_inover==false)
	{
		var lay=document.getElementById('cele_date');
		lay.style.display="none";
	}
}
function sd_getlayerfocus()
{
	sd_inover=true;
}
function sd_lostlayerfocus()
{
	sd_inover=false;
}
function sd_body_init(){
	document.write("<div name=\"cele_date\" id=\"cele_date\"  style=\"display:none;LEFT: 69px; POSITION: absolute; TOP: 159px;Z-INDEX:99\" onClick=\"event.cancelBubble=true;\" onBlur=\"sd_hilayer()\" onMouseout=\"sd_lostlayerfocus()\"></div>");
//	document.write("<div name=\"cele_date\" id=\"cele_date\"  style=\"border:1px solid #D6EBBA;display:none;LEFT: 69px; POSITION: absolute; TOP: 159px;Z-INDEX:999\" onClick=\"event.cancelBubble=true;\" onBlur=\"sd_hilayer()\" onMouseout=\"sd_lostlayerfocus()\"></div>");
	sd_init(2000,2013);
}

function sd_body_init1(){
	document.write("<div name=\"cele_date\" id=\"cele_date\" style=\"display:none\" style=\"RIGHT: 429px; POSITION: absolute; TOP: 159px;Z-INDEX:99\" onClick=\"event.cancelBubble=true;\" onBlur=\"sd_hilayer()\" onMouseout=\"sd_lostlayerfocus()\"></div>");
	
	sd_init(2000,2013);
	
}

