
document.write("<iframe id='CalFrame' name='CalFrame' frameborder=0 src='/yuexiang/js/calendar/cal.html' style='display:none;position:absolute;z-index:110'></iframe>");
document.onclick = hideCalendar;
function showCalendar(sImg, bOpenBound, sFld1, sNextP, sNextD, sStartD, sEndD, sVD, sOE, sVDE, sOT, s3F, sFld2, sCallback, sNextVDE) {
	var fld1, fld2;
	var cf = document.getElementById("CalFrame");
	var wcf = window.frames.CalFrame;
	var oImg = document.getElementById(sImg);
	if (!oImg) {
		alert("\u63a7\u5236\u5bf9\u8c61\u4e0d\u5b58\u5728");
		return;
	}
	if (!sFld1) {
		alert("\u8f93\u5165\u63a7\u4ef6\u672a\u6307\u5b9a");
		return;
	}
	fld1 = document.getElementById(sFld1);
	if (!fld1) {
		alert("\u8f93\u5165\u63a7\u4ef6\u4e0d\u5b58\u5728");
		return;
	}
	if (fld1.tagName != "INPUT" || fld1.type != "text") {
		alert("\u8f93\u5165\u63a7\u4ef6\u7c7b\u578b\u9519\u8bef");
		return;
	}
	if (sFld2) {
		fld2 = document.getElementById(sFld2);
		if (!fld2) {
			alert("\u53c2\u8003\u63a7\u4ef6\u4e0d\u5b58");
			return;
		}
		if (fld2.tagName != "INPUT" || (fld2.type != "text" && fld2.type != "hidden")) {
			alert("\u63a7\u4ef6\u7c7b\u578b\u9519\u8bef");
			return;
		}
	}
	wcf.n_position = sNextP;
	wcf.n_textdate = sNextD;
	wcf.startdate = sStartD;
	wcf.enddate = sEndD;
	wcf.vailidday = sVD;
	wcf.oddeven = sOE;
	wcf.vailiddate = sVDE;
	wcf.nextvailiddate = sNextVDE;
	wcf.objecttype = sOT;
	wcf.thirdfocus = s3F;
	if (cf.style.display == "block") {
		cf.style.display = "none";
		return;
	}
	var eT = 0, eL = -70, p = oImg;
	var sT = (document.body.scrollTop > document.documentElement.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
	var sL = (document.body.scrollLeft > document.documentElement.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
	var h1 = document.body.clientHeight;
	var h2 = document.documentElement.clientHeight;
	var isXhtml = (h2 <= h1 && h2 != 0) ? true : false;
	var myClient = getClient();
	var myScroll = getScroll();
	var eH = oImg.height, eW = oImg.width;
	while (p && p.tagName.toLowerCase() != "body") {
		eT += p.offsetTop;
		eL += p.offsetLeft;
		p = p.offsetParent;
	}
	var bottomSpace = myClient.clientHeight - eT - myScroll.sTop;
	eH = 5;
	if (sOT == "text") {
		cf.style.top = (eT + eH + 20).toString() + "px";
	} else {
		cf.style.top = (eT + eH + 20).toString() + "px";
	}
	cf.style.left = ((isXhtml ? document.documentElement.clientWidth : document.body.clientWidth - (eL - sL) >= cf.width) ? eL : eL + eW - cf.width).toString() + "px";
	cf.style.display = "block";
	wcf.openbound = bOpenBound;
	wcf.fld1 = fld1;
	wcf.fld2 = fld2;
	wcf.callback = sCallback;
	wcf.initCalendar();
}
function hideCalendar() {
	if (document.getElementById("showCityIframe")) {
		document.getElementById("showCityIframe").style.display = "none";
	}
	var cf = document.getElementById("CalFrame");
	cf.style.display = "none";
	try {
		hideThisDiv();
	}
	catch (e) {
	}
}
function getScroll() {
	var sTop = 0, sLeft = 0, sWidth = 0, sHeight = 0;
	sTop = (document.body.scrollTop > document.documentElement.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
	if (isNaN(sTop) || sTop < 0) {
		sTop = 0;
	}
	sLeft = (document.body.scrollLeft > document.documentElement.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
	if (isNaN(sLeft) || sLeft < 0) {
		sLeft = 0;
	}
	return {sTop:sTop, sLeft:sLeft, sWidth:sWidth, sHeight:sHeight};
}
function getClient() {
	var h1 = document.body.clientHeight;
	var h2 = document.documentElement.clientHeight;
	var isXhtml = (h2 <= h1 && h2 != 0) ? true : false;
	this.clientHeight = isXhtml ? document.documentElement.clientHeight : document.body.clientHeight;
	this.clientWidth = isXhtml ? document.documentElement.clientWidth : document.body.clientWidth;
	return {clientHeight:this.clientHeight, clientWidth:this.clientWidth};
}
function showDateNew(id, future) {
	var begin = "";
	var end = "";
	var showPast = false;
	if (future == -1) {
		var date = new Date();
		begin = "1900-01-01";
		end = dateToStringNew(date);
		showPast = true;
	}
	if (future == 0) {
		showPast = true;
	}
	if (id == "depDate1") {
		showCalendar(id, showPast, id, "", "", begin, end, "", "", "", "", id, "", SetReturnDatecn, "");
	} else {
		if (id == "startDate") {
			showCalendar(id, showPast, id, "", "", begin, end, "", "", "", "", id, "", setCheckOutDate, "");
		} else {
			if (id == "endDate") {
				showCalendar("endDate", true, "endDate", "", "", document.getElementById("startDate").value, "2020-12-30", "", "", "", "", "endDate", "", showCity, "");
			} else {
				showCalendar(id, showPast, id, "", "", begin, end, "", "", "", "", id, "", "", "");
			}
		}
	}
}
function showCity() {
	showCityIframe.settheTextBox(document.getElementById("cname_cityRadio"));
	showCityIframe.searchKey(document.getElementById("cname_cityRadio").value);
}
function SetReturnDatecn() {
	if (document.getElementById("depDate2")) {
		if (selectFlightType == 2 || selectFlightType == 3) {
			document.getElementById("depDate2").value = stringDateAddNew(1, document.getElementById("depDate1").value);
			showCalendar("depDate2", true, "depDate2", "", "", document.getElementById("depDate1").value, "2020-12-30", "", "", "", "", "depDate2", "", "", "");
		}
	}
}
function setCheckOutDate() {
	if (document.getElementById("endDate")) {
		document.getElementById("endDate").value = stringDateAddNew(1, document.getElementById("startDate").value);
		showCalendar("endDate", true, "endDate", "", "", document.getElementById("startDate").value, "2020-12-30", "", "", "", "", "endDate", "", showCity, "");
	}
}
function stringToDateNew(sDate) {
	var year, month, day;
	var iaDate = new Array(3);
	if (isDateStringNew(sDate)) {
		iaDate = sDate.toString().split("-");
		year = parseFloat(iaDate[0]);
		month = parseFloat(iaDate[1]) - 1;
		day = parseFloat(iaDate[2]);
		return (new Date(year, month, day));
	} else {
		alert("\u4f20\u5165\u5b57\u7b26\u4e32\u683c\u5f0f\u9519\u8bef");
		return (new Date(1900, 1, 1));
	}
}
function stringDateAddNew(days, oldStringDate) {
	var oldDate = stringToDateNew(oldStringDate);
	var addvalue = 86400000 * parseInt(days);
	var newdate = new Date(oldDate.getTime() + addvalue);
	var newStringDate = dateToStringNew(newdate);
	return (newStringDate);
}
function dateToStringNew(oDate) {
	var month = oDate.getMonth() + 1;
	var day = oDate.getDate();
	if (month < 10) {
		month = "0" + month;
	}
	if (day < 10) {
		day = "0" + day;
	}
	return oDate.getFullYear() + "-" + month + "-" + day;
}
function isDateStringNew(str) {
	var reg = /^\d{4}-[0-1]?\d{1}-[0-3]?\d{1}$/;
	return reg.test(str);
}
function transdate(object) {
	var datestr = object.value;
	if (datestr != "") {
		var c = datestr.indexOf("/");
		if (c != -1) {
			var re = /\//g;
			datestr = datestr.replace(re, "-");
		}
		var d = datestr.indexOf(".");
		if (d != -1) {
			var re = /\./g;
			datestr = datestr.replace(re, "-");
		}
		var depdates = datestr.split("-");
		if (depdates.length == 3) {
			if (depdates[1].length == 1) {
				depdates[1] = "0" + depdates[1];
			}
			if (depdates[2].length == 1) {
				depdates[2] = "0" + depdates[2];
			}
			datestr = depdates[0] + "-" + depdates[1] + "-" + depdates[2];
		}
		if (isdate(datestr)) {
			object.value = datestr;
		} else {
			alert("\u8f93\u5165\u7684\u65e5\u671f\u683c\u5f0f\u9519\u8bef\uff0c\u8bf7\u68c0\u67e5\u91cd\u65b0\u8f93\u5165");
			for (var i = 1; i < 6; i++) {
				if (object.id == ("date" + i)) {
					if (typeof (dates) != "undefined") {
						if (typeof (dates[i - 1]) != "undefined") {
							object.value = dates[i - 1];
						}
					} else {
						if (i == 2) {
							var firdatestr = document.getElementById("date1").value;
							var firdate = new Date(firdatestr.substring(0, 4) * 1, firdatestr.substring(5, 7) * 1 - 1, firdatestr.substring(8, 10) * 1);
							var secdate = new Date(firdate.getTime() + 24 * 3600 * 1000);
							var secmonth = "";
							var secday = "";
							if (secdate.getMonth() < 9) {
								secmonth = "0" + (secdate.getMonth() + 1);
							} else {
								secmonth = secdate.getMonth() + 1;
							}
							if (secdate.getDate() < 10) {
								secday = "0" + secdate.getDate();
							} else {
								secday = secdate.getDate();
							}
							object.value = secdate.getYear() + "-" + secmonth + "-" + secday;
						} else {
							object.value = "";
						}
					}
				}
			}
		}
	}
}
function isdate(str) {
	var myReg = new RegExp("^\\d{0,4};(\\-\\d{0,2})(\\-\\d{0,2})?$");
	var year = str.substring(0, 4);
	if (year % 4 == 0) {
		febdays = 29;
	} else {
		febdays = 28;
	}
	switch (str.substring(5, 7)) {
	  case "01":
		days = 31;
		break;
	  case "02":
		days = febdays;
		break;
	  case "03":
		days = 31;
		break;
	  case "04":
		days = 30;
		break;
	  case "05":
		days = 31;
		break;
	  case "06":
		days = 30;
		break;
	  case "07":
		days = 31;
		break;
	  case "08":
		days = 31;
		break;
	  case "09":
		days = 30;
		break;
	  case "10":
		days = 31;
		break;
	  case "11":
		days = 30;
		break;
	  case "12":
		days = 31;
		break;
	}
	if (myReg.test(str)) {
		if (str.substring(5, 7) * 1 > 12 || str.substring(5, 7) * 1 < 1 || str.substring(8, 10) * 1 > days || str.substring(8, 10) * 1 < 1) {
			return false;
		} else {
			return true;
		}
	} else {
		return false;
	}
}


