﻿﻿﻿﻿// 日期选择
var months = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"); 
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 


if( typeof  language==undefined){
   var language="_zh_CN";
}

if (language=="_en_US") {
	var days = new Array("Su", "Mo", "Tu", "We", "Th", "Fr", "Sa");
}
else {
	var days = new Array("七", "一", "二", "三", "四", "五", "六");
} 
var today; 
////表格的阴影效果
document.writeln("<div id='Calendar' style='position:absolute; z-index:9999; visibility: hidden; filter:\"progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#999999,strength=3)\"'></div>");

function getDays(month, year)
{ 
    //下面的这段代码是判断当前是否是闰年的 
    if (1 == month) 
        return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; 
    else 
        return daysInMonth[month]; 
} 

function getToday() 
{ 
    //得到今天的年,月,日 
    this.now = new Date(); 
    this.year = this.now.getFullYear(); 
    this.month =this.now.getMonth();
    this.day = this.now.getDate(); 
}
function getStringDay(str) 
{ 
    //得到输入框的年,月,日
    var str=str.split("-")
    
    this.now = new Date(parseFloat(str[0]),parseFloat(str[1])-1,parseFloat(str[2])); 
    this.year = this.now.getFullYear(); 
    this.month = this.now.getMonth(); 
    this.day = this.now.getDate(); 
}

function newCalendar() { 
    var parseYear = parseInt(document.getElementById("Year").options[document.getElementById("Year").selectedIndex].value); 
    var newCal = new Date(parseYear, document.getElementById("Month").selectedIndex, 1); 
    var day = -1; 
    var startDay = newCal.getDay(); 
    var daily = 0; 
    
    if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) 
        day = today.day; 
        
    var tableCal = document.getElementById("dateTable"); 
    var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
    for (var intWeek = 1; intWeek < tableCal.rows.length;intWeek++) 
        for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++) 
        { 
            var cell = tableCal.rows[intWeek].cells[intDay]; 
            if ((intDay == startDay) && (0 == daily)) 
                daily = 1; 
                
            if(day==daily) //今天，调用今天的Class 
            {
                cell.style.background='#666666';///当前时间的背景
                cell.style.color='#FFFFFF';///当前时间字体的颜色
                //cell.style.fontWeight='bold';
            }
            else if(intDay==6) //周六 
                cell.style.color='red'; ///周六的字体颜色
            else if (intDay==0) //周日 
                cell.style.color='red';///周日的字体颜色
            
            if ((daily > 0) && (daily <= intDaysInMonth)) 
            { 
if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1) 
    cell.innerText = daily; 
   else 
   cell.textContent= daily; 
                daily++; 
            } 
            else 
                cell.innerText = ""; 
        } 
} 

function GetDate(InputBox,event)
{ 
    var sDate; 
    //这段代码处理鼠标点击的情况 

if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1){
if (event.srcElement.tagName == "TD") 
        if (event.srcElement.innerText != "") 
        { 
         		var month  = document.getElementById("Month").value ;
         		(month.length == 1 )? month = "0"+month : month = month ;
         		var day = event.srcElement.innerText ;
         		(day.length == 1 )? day = "0"+day : day = day ;
            sDate = document.getElementById("Year").value + "-" + month + "-" + day;

	/*var tDate=document.getElementById("textfield").value


	if(sDate < tDate){
	return false;
	}*/
            eval("document.getElementById('"+InputBox+"')").value=sDate;
            HiddenCalendar(InputBox);
        } 
}else{
if (event.target.tagName == "TD") 
        if (event.target.textContent != "") 
        { 
         		var month  = document.getElementById("Month").value ;
         		(month.length == 1 )? month = "0"+month : month = month ;
         		var day = event.target.textContent ;
         		(day.length == 1 )? day = "0"+day : day = day ;
            sDate = document.getElementById("Year").value + "-" + month + "-" + day;

	/*var tDate=document.getElementById("textfield").value


	if(sDate < tDate){
	return false;
	}*/
            eval("document.getElementById('"+InputBox+"')").value=sDate;
            HiddenCalendar(InputBox);
        } 

}

} 
function GetDatePeng(InputBox,event)
{ 
    var sDate; 
    //这段代码处理鼠标点击的情况 

if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1){
if (event.srcElement.tagName == "TD") 
        if (event.srcElement.innerText != "") 
        { 
         		var month  = document.getElementById("Month").value ;
         		(month.length == 1 )? month = "0"+month : month = month ;
         		var day = event.srcElement.innerText ;
         		(day.length == 1 )? day = "0"+day : day = day ;
            sDate = document.getElementById("Year").value + "-" + month + "-" + day;

	/*var tDate=document.getElementById("textfield1").value


	if(sDate < tDate){
	return false;
	}*/
            eval("document.getElementById('"+InputBox+"')").value=sDate;
            HiddenCalendar(InputBox);
        } 
}else{
if (event.target.tagName == "TD") 
        if (event.target.textContent != "") 
        { 
         		var month  = document.getElementById("Month").value ;
         		(month.length == 1 )? month = "0"+month : month = month ;
         		var day = event.target.textContent ;
         		(day.length == 1 )? day = "0"+day : day = day ;
            sDate = document.getElementById("Year").value + "-" + month + "-" + day;

	var tDate=document.getElementById("textfield1").value


	if(sDate < tDate){
	return false;
	}
            eval("document.getElementById('"+InputBox+"')").value=sDate;
            HiddenCalendar(InputBox);
        } 

}

} 
function HiddenCalendar(InputBox)
{
    //关闭选择窗口
    
	if(InputBox=="textfield"){
		 document.getElementById("Calendar").style.visibility='hidden';
		 var textv=document.getElementById("textfield").value;
		 var textd=new Date(textv.substring(0,4),textv.substring(5,7),textv.substring(8,textv.length));
         textd.setDate(textd.getDate()+1);
		 var m;
		 var d;
		 if(textd.getMonth().toString().length==1){
		 	    m=  "0"+textd.getMonth();
		 }else{
		 	 	m=  textd.getMonth();
		 }
		 if(textd.getDate().toString().length==1){
		 	   d=  "0"+textd.getDate();
		 }else{
		 	 	d=  textd.getDate();
		 }
		 var text2=textd.getFullYear()+"-"+m+"-"+d;
//		 var testStr =textd.format("YYYY-MM-dd");
//         document.getElementById("textfield2").value=testStr;
         
         document.getElementById("textfield2").value=text2;
		 ShowCalendar("textfield2");
	}
	else if(InputBox=="textfield2"){
		var date1=document.getElementById("textfield").value;
		var date2=document.getElementById("textfield2").value;
		var regS = new RegExp("-","gi");
        date1=date1.replace(regS,"/");
        date2=date2.replace(regS,"/");
        var bd =new Date(Date.parse(date1));
        var ed =new Date(Date.parse(date2));
		var tt=(ed.getTime()-bd.getTime())/(24  *  3600  *  1000);
        if(bd>=ed){
			  alert('退房日期不得早于入住日期');
		}else if(tt>10){
			  alert('最多可预订10天');
		}else{
			  document.getElementById("Calendar").style.visibility='hidden';
		} 
		
	}else{
		document.getElementById("Calendar").style.visibility='hidden';
	}
	
}

/**
* 时间对象的格式化;
*/
Date.prototype.format = function(format){
 /*
  * eg:format="YYYY-MM-dd hh:mm:ss";
  */
 var o = {
  "M+" :  this.getMonth()+1,  //month
  "d+" :  this.getDate(),     //day
  "h+" :  this.getHours(),    //hour
      "m+" :  this.getMinutes(),  //minute
      "s+" :  this.getSeconds(), //second
      "q+" :  Math.floor((this.getMonth()+3)/3),  //quarter
      "S"  :  this.getMilliseconds() //millisecond
   }
  
   if(/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
   }
 
   for(var k in o) {
    if(new RegExp("("+ k +")").test(format)) {
      format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
    }
   }
 return format;
}

function ShowCalendar(InputBox)
{
    var x,y,intLoop,intWeeks,intDays;
    var DivContent;
    var year,month,day;
    var o=eval("document.getElementById('"+InputBox+"')");
    var thisyear; //真正的今年年份
    
    thisyear=new getToday();
    thisyear=thisyear.year;
    
    today = o.value;
    if(isDate(today))
        today = new getStringDay(today);
    else
        today = new getToday(); 
    
    //显示的位置
    x=o.offsetLeft;
    y=o.offsetTop;
    while(o=o.offsetParent)
    {
        x+=o.offsetLeft;
        y+=o.offsetTop;
    }
    document.getElementById("Calendar").style.left=(x+2)+'px';
    document.getElementById("Calendar").style.top=(y+20)+'px';
    document.getElementById("Calendar").style.visibility="visible";
    
    //下面开始输出日历表格(border-color:#9DBAF7)
    DivContent="<iframe frameborder=0 marginheight=0 marginwidth=0 hspace=0 vspace=0 scrolling=no style='z-index:9;position:absolute;width:expression(this.nextSibling.offsetWidth); height:expression(this.nextSibling.offsetHeight); '></iframe>"; 
    DivContent+="<table  border='0' cellspacing='0' style='border:1px solid #666666; background-color:#FFFFFF;left:0px;top:0px;position:absolute; z-index:10;'>";
    DivContent+="<tr>";
    DivContent+="<td style='border-bottom:1px solid #666666; background-color:#FFFFFF'>";
    
    //年
    DivContent+="<select name='Year' id='Year' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
    for (intLoop = thisyear - 0; intLoop < (thisyear + 2); intLoop++) 
        DivContent+="<option value= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop + "</option>"; 
    DivContent+="</select>";
    
    //月
    DivContent+="<select name='Month' id='Month' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
    for (intLoop = 0; intLoop < months.length; intLoop++) 
        DivContent+="<option value= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop] + "</option>"; 
    DivContent+="</select>";
    
    DivContent+="</td>";
    
    DivContent+="<td style='border-bottom:1px solid #666666; background-color:#FFFFFF; font-weight:bold; font-family:Wingdings 2,Wingdings,Webdings; font-size:20px; padding-top:2px; color:#666666; cursor:hand' align='center' title='关闭' onClick='javascript:HiddenCalendar()'>X</td>";
    DivContent+="</tr>";
     
    DivContent+="<tr><td align='center' colspan='3'>";
    DivContent+="<table id='dateTable' border='0' width='100%'>";
    
    //星期
    DivContent+="<tr>";
    for (intLoop = 0; intLoop < days.length; intLoop++) 
        DivContent+="<td align='center' style='font-size:12px; color:#FFFFFF; background-color:#666666;'>" + days[intLoop] + "</td>"; 
    DivContent+="</tr>";
    
    //天
    for (intWeeks = 0; intWeeks < 6; intWeeks++)
    { 
        DivContent+="<tr>"; 
        for (intDays = 0; intDays < days.length; intDays++) 
           DivContent+="<td onClick='GetDate(\"" + InputBox + "\",event)' style='cursor:pointer;border-left:1px solid #BBBBBB; border-top:1px solid #BBBBBB;border-right:1px solid #BBBBBB; border-bottom:1px solid #BBBBBB; color:#666666; font-family:Verdana; font-size:12px' align='center'></td>"; 
        DivContent+="</tr>"; 
    } 
    DivContent+="</table></td></tr></table>";
   
   
    document.getElementById("Calendar").innerHTML=DivContent;
    newCalendar();
}

function isDate(dateStr)
{ 
    var datePat = /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);
    if (matchArray == null) return false; 
    var month = matchArray[3];
    var day = matchArray[5]; 
    var year = matchArray[1]; 
    if (month < 1 || month > 12) return false; 
    if (day < 1 || day > 31) return false; 
    if ((month==4 || month==6 || month==9 || month==11) && day==31) return false; 
    if (month == 2)
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
        if (day > 29 || (day==29 && !isleap)) return false; 
    } 
    return true;
}

function ShowCalendarPeng(InputBox)
{
    var x,y,intLoop,intWeeks,intDays;
    var DivContent;
    var year,month,day;
    var o=eval("document.getElementById('"+InputBox+"')");
    var thisyear; //真正的今年年份
    
    thisyear=new getToday();
    thisyear=thisyear.year;
    
    today = o.value;
    if(isDate(today))
        today = new getStringDay(today);
    else
        today = new getToday(); 
    
    //显示的位置
   /* x=o.offsetLeft+155;
    y=o.offsetTop;
    while(o=o.offsetParent)
    {
        x+=o.offsetLeft;
        y+=o.offsetTop;
    }
    document.getElementById("Calendar").style.left=(x+10)+'px';
    document.getElementById("Calendar").style.top=y+'px';
    document.getElementById("Calendar").style.visibility="visible";
    */
    //显示的位置
    x=o.offsetLeft;
    y=o.offsetTop;
    while(o=o.offsetParent)
    {
        x+=o.offsetLeft;
        y+=o.offsetTop;
    }
    document.getElementById("Calendar").style.left=(x+2)+'px';
    document.getElementById("Calendar").style.top=(y+20)+'px';
    document.getElementById("Calendar").style.visibility="visible";
    
    //下面开始输出日历表格(border-color:#9DBAF7)
    DivContent="<iframe frameborder=0 marginheight=0 marginwidth=0 hspace=0 vspace=0 scrolling=no style='z-index:9;position:absolute;width:expression(this.nextSibling.offsetWidth); height:expression(this.nextSibling.offsetHeight); '></iframe>";
    DivContent+="<table  border='0' cellspacing='0' style='border:1px solid #666666; background-color:#FFFFFF;left:0px;top:0px;position:absolute; z-index:10;'>";
    DivContent+="<tr>";
    DivContent+="<td style='border-bottom:1px solid #666666; background-color:#FFFFFF'>";
    
    //年
    DivContent+="<select name='Year' id='Year' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
    for (intLoop = thisyear - 35; intLoop < (thisyear + 2); intLoop++) 
        DivContent+="<option value= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop + "</option>"; 
    DivContent+="</select>";
    
    //月
    DivContent+="<select name='Month' id='Month' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
    for (intLoop = 0; intLoop < months.length; intLoop++) 
        DivContent+="<option value= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop] + "</option>"; 
    DivContent+="</select>";
    
    DivContent+="</td>";
    
    DivContent+="<td style='border-bottom:1px solid #666666; background-color:#FFFFFF; font-weight:bold; font-family:Wingdings 2,Wingdings,Webdings; font-size:20px; padding-top:2px; color:#666666; cursor:hand' align='center' title='关闭' onClick='javascript:HiddenCalendar()'>X</td>";
    DivContent+="</tr>";
     
    DivContent+="<tr><td align='center' colspan='3'>";
    DivContent+="<table id='dateTable' border='0' width='100%'>";
    
    //星期
    DivContent+="<tr>";
    for (intLoop = 0; intLoop < days.length; intLoop++) 
        DivContent+="<td align='center' style='font-size:12px; color:#FFFFFF; background-color:#666666;'>" + days[intLoop] + "</td>"; 
    DivContent+="</tr>";
    
    //天
    for (intWeeks = 0; intWeeks < 6; intWeeks++)
    { 
        DivContent+="<tr>"; 
        for (intDays = 0; intDays < days.length; intDays++) 
           DivContent+="<td onClick='GetDatePeng(\"" + InputBox + "\",event)' style='cursor:pointer;border-left:1px solid #BBBBBB; border-top:1px solid #BBBBBB;border-right:1px solid #BBBBBB; border-bottom:1px solid #BBBBBB; color:#666666; font-family:Verdana; font-size:12px' align='center'></td>"; 
        DivContent+="</tr>"; 
    } 
    DivContent+="</table></td></tr></table>";
    document.getElementById("Calendar").innerHTML=DivContent;
    newCalendar();
}
	function showtime() {
		var date = new Date();
		var hours = date.getHours();
		var minutes = date.getMinutes();
		var seconds = date.getSeconds();
		hours = checkTime(hours);
		minutes = checkTime(minutes);
		seconds = checkTime(seconds);
		var s = hours + ":" + minutes + ":" + seconds ;
		document.getElementById("time").innerHTML = s;

		window.setTimeout(showtime, 1000);
	}

	function checkTime(i) {
		if(i < 10) {
			return "0" + i;
		} else {
			return i;
		}
	}
