﻿document.write('<iframe id=CalFrame name=CalFrame frameborder=0 src=index/js/calendar.htm style=display:none;position:absolute;z-index:10000></iframe>');
document.onclick=function(){
	hideCalendar();
	slide_Up();
}
function Init_date(){
	var date=new Date(),mon=date.getMonth()+1,year=date.getFullYear(),wk=date.getDay(),day=date.getDate();		
	$("#dateMonth").find("span").html(year+"年"+mon+"月");
	$("#dateDay").find("span").html(DAY(day)+"&nbsp;&nbsp;"+WK(wk));
	addYearAndMonth(mon,year);
	addDayAndWeek(day,year,mon,day);
	dateDaysAddData(30);
	endTime();
}
function allWeek(yy,mm,dd){
	var week = new Date(yy,mm-1,dd);
	return WK(week.getDay());
}	
function allWeek2(yy,mm,dd){
	var week = new Date(yy,mm-1,dd);
	return WEEK(week.getDay());
}
function WK(week){
	if(week==0) return "周日";
	if(week==1) return "周一";
	if(week==2) return "周二";
	if(week==3) return "周三";
	if(week==4) return "周四";
	if(week==5) return "周五";
	if(week==6) return "周六";
	return "error";
}	
function WEEK(week){
	if(week==0) return "星期日";
	if(week==1) return "星期一";
	if(week==2) return "星期二";
	if(week==3) return "星期三";
	if(week==4) return "星期四";
	if(week==5) return "星期五";
	if(week==6) return "星期六";
	return "error";
}	
function checkDay(day,yy,mm,num,dd){
	var dt=new Date(),mon=dt.getMonth()+1;
	var str="<ul class='day-list clearfix'>";	
	if(mon==mm){
		$("#dateDay").find("span").html(DAY(day)+"&nbsp;&nbsp;"+allWeek(yy,mm,day));
		if(num-dd+1<=5){
			for(var i=dd;i<=num;i++){
				if(num-dd+1<=5)
					str+="<li class='li_line'>"+i+"</li>";
				else
					str+="<li>"+i+"</li>";
			}
		} else {
			for(var i=dd;i<=num;i++){
				str+="<li>"+i+"</li>";
			}
		}
	}
	if(mon!=mm){
		$("#dateDay").find("span").html("1&nbsp;&nbsp;"+allWeek(yy,mm,1));
		for(var i=1;i<=num;i++){
			str+="<li>"+i+"</li>";
		}
	}
	str+="</ul>";
	$("#dayAndWeek").html(str);
	$("#dayAndWeek").find("li").click(function(){
		var data=$("#dateMonth").find("span").html();
		var yy=data.split("年")[0],
			mm=data.split("年")[1].split("月")[0];
		$("#dateDay").find("span").html($(this).html()+"&nbsp;&nbsp;"+allWeek(yy,mm,$(this).html()));
			endTime();
	});	
	endTime();
}
function checkYear(yy){
	if(yy%4!=0) return false;	
	if(yy%100==0&&yy%400!=0) return false;
	return true;
}
function DAY(dd){
	return dd;
}
function dateDaysAddData(num){
	var str="<ul class='slt-ad-list clearfix'>";
	for(var i=1;i<=num;i++){
		str+="<li>"+i+"</li>"
	}
	str+="</ul>";
	$("#dayTotal").html(str);
	$("#dayTotal").find("li").click(function(){
		$("#dateDays").find("span").html($(this).html());
		endTime();
	});
}
function endTime(){
	var data1 = $("#dateMonth").find("span").html(),
		data2=$("#dateDay").find("span").html(),
		data3=parseInt($("#dateDays").find("span").html());
	data2=parseInt(data2);
	var yy=data1.split("年")[0];mm=data1.split("年")[1].split("月")[0];
	var array=checkMonthAndDay(yy,mm,data2+data3);
	$("#EndTime1").html(array[0]+"年"+array[1]+"月"+array[2]+"日");
	$("#EndTime2").html(allWeek2(array[0],array[1],array[2]));
	$("#hdate1").val(yy+"-"+mm+"-"+data2);
	$("#hdate2").val(array[0]+"-"+array[1]+"-"+array[2]);
}
function checkMonth(yy,mm){
	if(checkYear(yy)&&mm==2) return 29;
	if(!checkYear(yy)&&mm==2) return 28;
	if(mm==4||mm==6||mm==9||mm==11) return 30;
	return 31;
}
function checkMonthAndDay(yy,mm,dd){
	if(typeof yy!="number") yy=parseInt(yy);
	if(typeof mm!="number") mm=parseInt(mm);
	if(typeof dd!="number") dd=parseInt(dd);
	var newArray =[];
	var num=checkMonth(yy,mm);
	if(dd>num){
		if(mm==12){
			newArray[0]=yy+1;
			newArray[1]=1;
			newArray[2]=dd-31
		} else {
			newArray[0]=yy;
			newArray[1]=mm+1;
			newArray[2]=dd-num;
		}
	} else {
		newArray[0]=yy;
		newArray[1]=mm;
		newArray[2]=dd
	}
	return newArray;
}
function addYearAndMonth(mm,yy){
	str="<ul class='year-list clearfix'>";
	str+="<span class='yyear' title='"+yy+"年'>"+yy+"年</span>";
	str+="<li title='当前月份"+mm+"月' class='curre'>"+mm+"月</li>";
	for(var i=mm+1;i<13;i++){
		str+="<li title='"+yy+"年"+i+"月'>"+i+"月</li>";
	}
	if(mm!=1){
		str+="<span class='yyear' title='"+(yy+1)+"年'>"+(yy+1)+"年</span>";
		for(var i=1;i<mm;i++){
			str+="<li title='"+(yy+1)+"年"+i+"月'>"+i+"月</li>";
		}
	}
	str+="</ul>";
	$("#yearAndMonth").html(str);
}
function addDayAndWeek(day,yy,mm,dd){
	var num=checkMonth(yy,mm);
	if(day!=1&&dd==1) dd=day;
	checkDay(day,yy,mm,num,dd);
}
function slide_Up(){
	if($("#yearAndMonth").css("display")=="block"){
		$("#yearAndMonth").slideUp();				
	}
	if($("#dayAndWeek").css("display")=="block"){
		$("#dayAndWeek").slideUp();
	}
	if($("#dayTotal").css("display")=="block"){
		$("#dayTotal").slideUp();
	}	
}
function showCalendar(num,sImg,bOpenBound,sFld1,sFld2,sCallback){
	var fld1,fld2,Num;
	var cf=document.getElementById("CalFrame");
	var wcf=window.frames.CalFrame;
	var oImg=document.getElementById(sImg);
	Num=num;
	if(!oImg){alert("控制对象不存在！");return;}
	fld1=document.getElementById(sFld1);
	if(sFld2){
		fld2=document.getElementById(sFld2);
		if(!fld2){alert("参考控件不存在！");return;}
		if(fld2.tagName!="INPUT"){alert("参考控件类型错误！");return;}
	}
	if(!wcf.bCalLoaded){alert("日历未成功装载！请刷新页面！");return;}
	if($("#CalFrame").css("display")=="block"){$("#CalFrame").slideUp();return;}
	
	var eT=0,eL=0,p=oImg;
	var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
	var eH=18,eW=18;
	while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
	cf.style.top=parseInt((document.documentElement.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height)+"px";
	cf.style.left=parseInt((document.documentElement.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width)+"px";
	$("#CalFrame").slideDown();
	wcf.openbound=bOpenBound;
	wcf.fld1=fld1;
	wcf.fld2=fld2;
	wcf.num=Num;
	wcf.img=oImg;
	wcf.callback=sCallback;
	wcf.initCalendar();	
}
function hideCalendar(){
	$("#CalFrame").slideUp();
}
function getDates(data){		
	var yy = data.split("-")[0],mm = data.split("-")[1],dd = data.split("-")[2];
	var dates=new Date(),day=dates.getDate();
	addDayAndWeek(day,yy,mm,1);
	$("#dateMonth").find("span").html(yy+"年"+mm+"月");
	$("#dateDay").find("span").html(dd+"&nbsp;&nbsp;"+allWeek(yy,mm,dd));
	endTime();
}
function getDatee(data){
	if(!$("#dateMonth").size()) return;
	var yy = data.split("-")[0],mm = data.split("-")[1],dd = data.split("-")[2];
	var yy2 = $("#dateMonth").find("span").html().split("年")[0],mm2= $("#dateMonth").find("span").html().split("年")[1].split("月")[0],dd2=parseInt($("#dateDay").find("span").html());
	var t2=new Date(yy2,mm2,dd2).getTime();
	var t1=new Date(yy,mm,dd).getTime();
	if(t1-t2<=0){
		alert("退房日期必须大于入住日期！");
		var array=checkMonthAndDay(yy2,mm2,dd2+1);
		$("#EndTime1").html(array[0]+"年"+array[1]+"月"+array[2]+"日");
		$("#EndTime2").html(allWeek2(array[0],array[1],array[2]));
		$("#dateDays").find("span").html(1);
		endTime();
		return;
	}
	
	if((t1-t2)/86400000>30){
		alert("入住晚数应在 1-30 之间！");
		var array=checkMonthAndDay(yy2,mm2,dd2+30);
		$("#EndTime1").html(array[0]+"年"+array[1]+"月"+array[2]+"日");
		$("#EndTime2").html(allWeek2(array[0],array[1],array[2]));
		$("#dateDays").find("span").html(30);
		endTime();
		return;	
	}
	$("#EndTime1").html(yy+"年"+mm+"月"+dd+"日");
	$("#EndTime2").html(allWeek2(yy,mm,dd));
	$("#dateDays").find("span").html((t1-t2)/86400000);
}
function getDatep(data,f2,f1){
	if(f1){
		if(f1.value=="yyyy-mm-dd"){
			alert("请选择住房日期!");
			f1.select();
			return;	
		}
		var v1=f1.value,v2=f2.value;
		var y1=v1.split("-")[0],m1=v1.split("-")[1].split("-")[0],d1=v1.split("-")[2];
		var y2=v2.split("-")[0],m2=v2.split("-")[1].split("-")[0],d2=v2.split("-")[2];
		var date1=new Date(y1,m1,d1),date2=new Date(y2,m2,d2);
		var t1=date1.getTime(),t2=date2.getTime();
		if(t2<=t1){
			alert("退房日期必须大于入住日期！默认为您选择7天！");
			var array=checkMonthAndDay(y1,m1,parseInt(d1)+7);
			f2.value=array[0]+"-"+array[1]+"-"+array[2];
			endTime();
			return;
		}
		if((t2-t1)/86400000>30){
			alert("入住晚数应在 1-30 之间！");
			var array=checkMonthAndDay(y1,m1,parseInt(d1)+30);
			f2.value=array[0]+"-"+array[1]+"-"+array[2];
			endTime();		
			return;
		}
	}
}
$(function(){
	$("#dateMonth").append('<div id="yearAndMonth"></div>');
	$("#dateDay").append('<div id="dayAndWeek"></div>');
	$("#dateDays").append('<div id="dayTotal"></div>');
	if($("#dateMonth").size())
		Init_date();
	$(".date_bg").click(function(e){
		slide_Up();
		hideCalendar();
		if($(this).find("div").css("display")=="none"){
			$(this).find("div").slideDown(function(){
				$(this).show();//偶遇IE8 slideDown效果不出来，故加上show以防万一。
			});
			$(this).find("li").hover(function(){$(this).addClass("on")},function(){$(this).removeClass("on");});
		} else $(this).find("div").slideUp();
		e=window.event || e;
		if(document.all) e.cancelBubble=true;	
		else e.stopPropagation();
	});
	$("#yearAndMonth").find("li").click(function(){
		var date = new Date(),yy=date.getFullYear(),mms=date.getMonth()+1,day=date.getDate();
		var data = $(this).html(),mm=data.split("月")[0];
		if(mm<mms) yy+=1;
		$(this).parent().parent().parent().parent().find("span").eq(0).html(yy+"年"+data);
		addDayAndWeek(day,yy,mm,1);		
	});
});
