document.write("<iframe id='CalFrame' name='CalFrame' frameborder=0 src='/itu/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)
{
	//1.sImg日历弹出位置的控件的名称,
	//2.bOpenBound,
	//3.sFld1取得日期的控件名称,
	
	
	//4.sNextP选取日期后新日历弹出的位置的控件名称,可不输入,
	//5.sNextD选取日期后新日历弹出从中取值的控件名称,可不输入,
	
	//6.sStartD开始有效时间,
	//7.sEndD截至有效时间,
	
	//8.sVD周几有效,例如：'1,3,5',注意星期日应输入'0'
	//9.sOE,单双日有效,'0'表示双日,'1'表示单日
	//10.sVDE特殊日期,例如'2004-10-11,2004-11-20,',最后一定要输入','
	//11.sOT如果是直接在文本框中点击则值为'text',
	//12.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("控制对象不存在！");return;}
	if(!sFld1){alert("输入控件未指定！");return;}
	fld1=document.getElementById(sFld1);
	if(!fld1){alert("输入控件不存在！");return;}
	if(fld1.tagName!="INPUT"||fld1.type!="text"){
		alert("输入控件类型错误");
		return;}
	if(sFld2)
	{
		fld2=document.getElementById(sFld2);
		if(!fld2){alert("参考控件不存在");return;}
		if(fld2.tagName!="INPUT"||(fld2.type!="text"&&fld2.type!="hidden")){
			alert("控件类型错误");
			return;}
	}
	//if(!wcf.bCalLoaded){alert("日历未成功装载！请刷新页面");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;}
	
	//==============���: ?��?? ziqiu.zhang ?	=================
	var eT=0,eL=-70,p=oImg;
	
	var sT=(document.body.scrollTop > document.documentElement.scrollTop)? document.body.scrollTop:document.documentElement.scrollTop;
	//alert(sT);
	var sL=(document.body.scrollLeft > document.documentElement.scrollLeft )? document.body.scrollLeft:document.documentElement.scrollLeft;
	//alert(sL)
	
	var h1 = document.body.clientHeight;
	//alert("h1:" + h1);
	var h2 = document.documentElement.clientHeight;
	//alert("h2:" + h2);
	var isXhtml = (h2<=h1&&h2!=0)?true:false;
	//alert(isXhtml);
	
	//alert("document.documentElement.clientHeight:" + document.documentElement.clientHeight );
	//alert("document.body.clientHeight:" + document.body.clientHeight );
	var myClient = getClient();
	var myScroll = getScroll();		
	//alert("myClient.clientWidth:" + myClient.clientWidth);
	//alert("myScroll.sTop:" + myScroll.sTop);
	//alert("myScroll.sLeft:" + myScroll.sLeft);
	
	var eH=oImg.height,eW=oImg.width;
	while(p&&p.tagName.toLowerCase() != "body"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}	
	//alert("myClient.clientHeight:" + myClient.clientHeight);
	//alert("myScroll.sTop:" + myScroll.sTop);
	//alert("eT:" + eT);
	//alert("eL:" + eL);
	//alert("eT-myScroll.sTop :" + (eT-myScroll.sTop) );
	
	//??????.??.
	/*
	eH=oImg.height;
	alert("eH:" + eH);
	alert(oImg.height);
	alert( "oImg.height :" + oImg.height); //?:oImg.heightFirefox��?
	*/
	
	//alert("eH:" + eH);
	//alert("eT - myScroll.sTop - eH :" +( eT - myScroll.sTop - eH ) );
	
	var bottomSpace = myClient.clientHeight - eT - myScroll.sTop;
	//alert("bottomSpace:" + bottomSpace);
	//alert("myClient.clientHeight-(eT-sT)-eH:" + (parseInt(myClient.clientHeight-(eT-sT)-eH)).toString() );
	//alert("cf.height:" + cf.height);
	eH=5;
	if(sOT=="text")
	{
		//cf.style.top= ( (bottomSpace>=cf.height)?eT+eH+20:eT-cf.height ).toString() + "px";
		cf.style.top= (eT+eH+20).toString() + "px";	
	}
	else
	{
		//cf.style.top= ( (bottomSpace>=cf.height)?eT+eH+20:eT-cf.height ).toString() + "px";	
		//cf.style.top=(bottomSpace>=cf.height)?eT:eT-cf.height;
		
		cf.style.top= (eT+eH+20).toString() + "px";	
		
	}
	
	//==============���: ?��?? ziqiu.zhang 	=================
	
	
	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()
{
	var cf=document.getElementById("CalFrame");
	cf.style.display="none";
}



//得到鼠标滚过的距离 scrollTop 与 scrollLeft 
//用法与测试:
/*
	var myClient = getClient();
	alert("myClient.clientHeight:" + myClient.clientHeight);
	alert("myClient.clientWidth:" + myClient.clientWidth);
*/
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 }; 
}

//得到浏览器当前显示区域的大小 clientHeight 与 clientWidth
/*	用法与测试:
	var myScroll = getScroll();	
	alert("myScroll.sTop:" + myScroll.sTop);
	alert("myScroll.sLeft:" + myScroll.sLeft);
*/
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){
	
	
	//alert(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=='date1'){
	showCalendar(id,showPast,id,'','',begin,end,'','','','',id,'',SetReturnDatecn,'');
	}
	else if(id=='checkInDate'){
		showCalendar(id,showPast,id,'','',begin,end,'','','','',id,'',setCheckOutDate,'');
		}
	else{
	showCalendar(id,showPast,id,'','',begin,end,'','','','',id,'','','');
		}	
	}
	

	
function SetReturnDatecn(){

//判断是否来回程 如果是来回程或者是多航程
if(document.getElementById("date2")){

document.getElementById("date2").value=stringDateAddNew(1,document.getElementById("date1").value);

}
}


function setCheckOutDate(){


if(document.getElementById("checkOutDate")){	

document.getElementById("checkOutDate").value=stringDateAddNew(1,document.getElementById("checkInDate").value);

//showCalendar('checkOutDate',true,'checkOutDate','','','','','','','','','checkOutDate','','','');
}
}


//字符串("2008-10-25")转换为日期格式
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("传入字符串格式错误");
		return (new Date(1900,1,1))
	}
}

//yyyy-mm-dd 加上days天数后返回 yyyy-mm-dd
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);
}

//日期格式转为字符串("2008-12-25")
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;
}

//判断是否是“2008-12-25”格式的字符串
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("输入的日期格式错误，请检查重新输入");
			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; 
	}
}


