// JavaScript Document
//检测浏览器
var Nav=window.navigator;
var isIE=Nav.appName.indexOf("Microsoft")!=-1?true:false;
var isNN=Nav.appName.indexOf("Netscape")!=-1?true:false;
//初始化全局变量
var TempLayer=3;//whichForm;
var TempFlyType=1;
var TempDirectType=false;
//初始化时间全局变量
var theTime=new Date();
var theYear=theTime.getFullYear();
var theMonth=theTime.getMonth()+1;
var theDay=theTime.getDate();
var hotelToday=theYear+"-"+theMonth+"-"+theDay;
//------------------------------------------------------------------------------------------------------------
document.write('<iframe id=CalFrame name=CalFrame frameborder=0 src=calendar.htm  style=display:none;position:absolute;z-index:100></iframe>');
if(isIE)
document.onclick=hideCalendar;
if(isNN)
{document.onmouseup=hideCalendar;
 function fun2(evnt) 
 { var objFrame= document.getElementById("CalFrame");
      objFrame.style.left=evnt.pageX+"px";
	  objFrame.style.top=evnt.pageY+"px";}
 document.onclick=fun2;
 } 
function showCalendar(sInput,sFont,sInputName,sNextP,sNextD,sStartD,sEndD,sVD,sOE,sVDE,sOT,s3F,sStartDate,sCallback)
{
	//1.sInput日历弹出位置的控件的名称,
	//2.sFont字体颜色标志,
	//3.sInputName取得日期的控件名称,
	
	
	//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下一个日历弹出并选择后点取日期后定位到新的控件
	
	//sStartDate,弹出日历默认日期
	//sCallback
	var oInputname,oStartdate;
	var CFrame=document.getElementById("CalFrame");
	var WCFrame=window.frames.CalFrame;
	var oInput=document.getElementById(sInput);
	if(!oInput){alert("控制对象不存在！");return;}
	if(!sInputName){alert("输入控件未指定！");return;}
	oInputname=document.getElementById(sInputName);
	if(!oInputname){alert("输入控件不存在！");return;}
	if(oInputname.tagName!="INPUT"||oInputname.type!="text"){alert("输入控件类型错误！");return;}
	if(sStartDate)
	{
		oStartdate=document.getElementById(sStartDate);
		if(!oStartdate){alert("参考控件不存在！");return;}
		if(oStartdate.tagName!="INPUT"||(oStartdate.type!="text"&&oStartdate.type!="hidden")){alert("参考控件类型错误！");return;}
	}
	if(!WCFrame.bCalLoaded){alert("日历未成功装载！请刷新页面！");return;}
	WCFrame.n_position=sNextP;
	WCFrame.n_textdate=sNextD;
	WCFrame.startdate=sStartD;
	WCFrame.enddate=sEndD;
	WCFrame.vailidday=sVD;
	WCFrame.oddeven=sOE;
	WCFrame.vailiddate=sVDE;
	WCFrame.objecttype=sOT;
	WCFrame.thirdfocus=s3F;
	if(CFrame.style.display=="block"){CFrame.style.display="none";return;}
	var eT=0,eL=0,p=oInput;
    if(isIE)
	{
	 var sT=document.body.scrollTop;
	 var sL=document.body.scrollLeft;
	 var eH=oInput.height,eW=oInput.width;
	 while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
	 if(sOT=="text")
	{
		CFrame.style.top=+(document.body.clientHeight-(eT-sT)-eH>=CFrame.height)?eT+eH+20:eT-CFrame.height;		
	}
	else
	{
		CFrame.style.top=(document.body.clientHeight-(eT-sT)-eH>=CFrame.height)?eT+eH:eT-CFrame.height;		
	}
	CFrame.style.left=(document.body.clientWidth-(eL-sL)>=CFrame.width)?eL:eL+eW-CFrame.width;
	}
	CFrame.style.display="block";
	WCFrame.oFont=sFont;
	WCFrame.oInputname=oInputname;
	WCFrame.oStartdate=oStartdate;
	WCFrame.callback=sCallback;
	WCFrame.initCalendar();
}
function hideCalendar()
{
	var CFrame=document.getElementById("CalFrame");
	CFrame.style.display="none";
}

//-----------------------------------------------------------------------------------------------

//工具函数,用于切换显示
function whichShow(obj1,arg1,obj2,arg2,obj3,arg3)
{
 var arg=whichShow.arguments;
 for(count=0;count<arg.length;count+=2)
 {var obj=document.getElementById(arg[count]).style;
    obj.display=arg[count+1]=="block"?"block":"none";
   }
 if(obj1=="air_main_1"&&obj2=="air_main_2"&&obj3=="air_main_3")
	WriteAirCookie();
	ReadAirCookie();
}
function getCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr[2]); return null;
}


//
//显示hotel，隐藏flight,tour
function showHotel(objA,argA,objB,argB,objC,argC)
{
	WriteAirCookie();
	ReadHotelCookie();
	document.ihotel.src=imgHotel.src;
	document.iair.src=imgAirB.src;
	document.itours.src=imgToursB.src;
	whichShow(objA,argA,objB,argB,objC,argC);
}
//
//显示flight,隐藏hotel,tours
function showAir(objA,argA,objB,argB,objC,argC)
{
	WriteHotelCookie();
	ReadAirCookie();
	document.ihotel.src=imgHotelB.src;
	document.iair.src=imgAir.src;
	document.itours.src=imgToursB.src;
	whichShow(objA,argA,objB,argB,objC,argC);
	document.forms["airsearch"].elements["FLY_TYPE"][1].checked=true;
	whichShow('air_main_1','none','air_main_2','block','air_main_3','none');
	}
//
//显示tours,隐藏hote,flight
function showTours(objA,argA,objB,argB,objC,argC)
{
	WriteHotelCookie();//写cookie
	WriteAirCookie();//写cookie
	document.ihotel.src=imgHotelB.src;
	document.iair.src=imgAirB.src;
	document.itours.src=imgTours.src;
	whichShow(objA,argA,objB,argB,objC,argC);
	ProdTypeChanged(document.forms["form1"].elements["RadioGroup"][0].value);document.form1.prodType.value=document.forms["form1"].elements["RadioGroup"][0].value
}
//
//工具函数，为指定的select对象添加内容
 function addOption(selObj,valueAry,textAry,selectIndex)
 { 
   //selobj:select对象;
  //valueAry:value数组;
  //textAry:text数组;
  //telectIndex:被选择的option索引;
   var d=document;
   var o=document.getElementById(selObj).options;
   for(i=o.length-1;i>=0;i--)
   o[i]=null;
   for(j=0;j<valueAry.length;j++)
   o[j]=new Option(textAry[j],valueAry[j]);
   o[selectIndex].selected=true;
  }
//添加日历
//
function setTempLayer(objStr)
{ 
  if(objStr=="FLY_DATE1"||objStr=="FLY_DATE1Anchor")
    TempLayer=2;
   if(objStr=="FLY_DATE2"||objStr=="FLY_DATE2Anchor"||objStr=="RETURN_DATE1"||objStr=="RETURN_DATE1Anchor")
    TempLayer=3;
   if(objStr=="FLY_DATE3"||objStr=="FLY_DATE3Anchor"||objStr=="RETURN_DATE2"||objStr=="RETURN_DATE2Anchor")
    TempLayer=4;
  }
 function addTimeClick(objId,idStr1,idStr2,idStr3,idStr4)
 { 
   //获取对象；
    var o=document.getElementById(objId);
	//针对ie的处理程序;
	if(isIE)
	 {o.onclick=function()
       {
		event.cancelBubble=true;
        showCalendar(idStr1,false,idStr2,idStr3,idStr4,'2004-12-01','2016-12-30','','','','','','','','1');
		setTempLayer(objId);
		if(o.tagName=="A") return false;

       }
	 }
	 //针对netscape的处理程序;
	 if(isNN)
	 {
		 o.onclick=function()
       {
	     showCalendar(idStr1,false,idStr2,idStr3,idStr4,'2004-12-01','2006-12-30','','','','','','','','1');
		 setTempLayer(objId);
		 if(o.tagName=="A") return false;

       }
	   }
	  //给锚点添加行为
	 if(o.tagName=="A")
	 {o.onmouseout=function(){window.status="";}
	  o.onmouseover=function(){window.status="Calendar";return true;}
	 }
}
//公用函数
function CheckName(Name) {
	var ErrStr;
	var ErrChar;
	var ArryErrStr;
	ErrChar="!@#$%^&*()_+|-=\\~`;'[]{}\"':;,./<>?～！@#￥％^&×（）……＋|－＝、〔〕｛｝：“；‘《》？，。、0123456789";
	ErrStr="虚拟,傻冒,先生,小姐,代订";
	ArryErrStr = ErrStr.split(",");
	//是否含有非法字符
	for(var k=0;k<Name.length;k++){
		if(ErrChar.indexOf(Name.charAt(k))>-1){
			return false;
		}
	}
	//是否含有非法字符串
	for (k=0; k<ArryErrStr.length; k++){
		if (Name.indexOf(ArryErrStr[k])>-1){
			return false;
		}
	}
	return true;
}

//日期格式检查
function isDateString(str) {
	var reg=/^\d{4}-[0-1]?\d{1}-[0-3]?\d{1}$/;
	return reg.test(str);
}
function IsDate(DateString , Dilimeter) 
{ 
		
		if (DateString==null) return false; 

		if (Dilimeter=='' || Dilimeter==null) 
			Dilimeter = '-'; 
			
		var tempy=''; 
		var tempm=''; 
		var tempd=''; 
		
		var tempArray; 
		
		if (!isDateString(DateString))
		return false;
		
		if ( DateString.length<8 || DateString.length>10) 
			return false;  
			
		tempArray = DateString.split(Dilimeter); 
		
		if (tempArray.length!=3) 
			return false; 
		if (tempArray[0].length==4) 
			{ 
				tempy = tempArray[0]; 
				tempd = tempArray[2]; 
			} 
		else 
			{ 
				tempy = tempArray[2]; 
				tempd = tempArray[1]; 
			} 
		tempm = tempArray[1]; 
		
		var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区 
		
		var tempDate = new Date(tDateString); 
		if (isNaN(tempDate)) 
			return false; 
		if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) 
			{ 
				return true; 
			} 
			else 
			{ 
				
				return false; 
			} 
} 

function CheckDate(strDate1,strDate2) {
	//var tmp1=strDate1.split('-');
	//var tmp2=strDate2.split('-');
	//var date1=eval('new Date('+tmp1[0]+','+tmp1[1]+','+tmp1[2]+')');
	//var date2=eval('new Date('+tmp2[0]+','+tmp2[1]+','+tmp2[2]+')');
	//return (date2>date1);
	return(stringToDate(strDate1, true)<stringToDate(strDate2, true));
}

function stringToDate(sDate, bIgnore)
{	var bValidDate, year, month, day;
	var iaDate = new Array(3);
	
	if (bIgnore) 
	 bValidDate = true
	else
	 bValidDate = isDateString(sDate);
	
	if (bValidDate)
	{  iaDate = sDate.toString().split("-");
		year = parseFloat(iaDate[0]);
		month = parseFloat(iaDate[1]) - 1;
		day=parseFloat(iaDate[2]);
		return (new Date(year,month,day));
	}
	else 
	return (new Date(1900,1,1));
}

function compareDate(strDate1,strDate2) {
	var tmp1=strDate1.split('-');
	var tmp2=strDate2.split('-');
	var date1=eval('new Date('+tmp1[0]+','+tmp1[1]+','+tmp1[2]+')');
	var date2=eval('new Date('+tmp2[0]+','+tmp2[1]+','+tmp2[2]+')');
	if ((date2.valueOf()-date1.valueOf())>=20*24*60*60*1000)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function compareDate1(strDate1,strDate2) {
	var tmp1=strDate1.split('-');
	var tmp2=strDate2.split('-');
	var date1=eval('new Date('+tmp1[0]+','+tmp1[1]+','+tmp1[2]+')');
	var date2=eval('new Date('+tmp2[0]+','+tmp2[1]+','+tmp2[2]+')');
	if ((date2.valueOf()-date1.valueOf())>=60*24*60*60*1000)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function key_up1()
{
	var s=document.hotelsearch.raCityName.value;
	var b="";
	var a="";
	if (/[^\x00-\xff]/g.test(s))
	{
		//alert("含有汉字");
	}
	else
	{
		a=s.substr(0,1)
		a=a.toUpperCase();
		b=s.substr(1);
		b=b.toLowerCase();
		document.hotelsearch.raCityName.value=a+b;
			//alert("全是字符");
	}
}
function compareFlyDate(strDate1,strDate2) {
	var tmp1=strDate1.split('-');
	var tmp2=strDate2.split('-');
	var date1=eval('new Date('+tmp1[0]+','+tmp1[1]+','+tmp1[2]+')');
	var date2=eval('new Date('+tmp2[0]+','+tmp2[1]+','+tmp2[2]+')');
	if ((date2.valueOf()-date1.valueOf())>=0)
	{
		return true;
	}
	else
	{
		return false;
	}
}



