﻿String.prototype.generate=function(){
	return this.replace(/@+/g,"@");
};

$loadJs("utf-8.js");


//酒店
$r("domReady",function(){
	var form=__.forms["hotelForm"];
	var perdate=form["perdate"].value,postdate=form["postdate"].value;
	var perdateCalc=perdate.isDateTime();postdateCalc=postdate.isDateTime();
	var cityname=form["cityname"],cityId=form["cityId"],city=form["city"],district=form["district"];
	var starttime=form["starttime"],deptime=form["deptime"];
	var Price=form["Price"],BegPrice=form["BegPrice"],EndPrice=form["EndPrice"];
	form.onsubmit=function(){
		var flag=[];
		if (cityname.isNull()){
			$alert(cityname,$s2t("请选择宾馆所在城市"));
			return false;
		}
		if (starttime.isNull()){
			$alert(starttime,$s2t("请选择入住日期"));
			return false;
		}
		flag[0]=starttime.value.isDateTime();
		if (!flag[0]){
			$alert(starttime,$s2t("日期格式为yyyy-mm-dd"));
			return false;
		}
		if (perdateCalc&&flag<perdateCalc){
			$alert(starttime,$s2t("入住时间不能早于")+perdate);
			return false;
		}
		if (deptime.isNull()){
			$alert(deptime,$s2t("请选择离店日期"));
			return false;
		}
		flag[1]=deptime.value.isDateTime();
		if (!flag[1]){
			$alert(deptime,$s2t("日期格式为yyyy-mm-dd"));
			return false;
		}
		if (flag[1]<=flag[0]){
			$alert(deptime,$s2t("您选择的离店日期早于/等于入住日期，请重新选择。"));
			return false;
		}
		

		if (flag[1]-flag[0]>2419200000){
			$alert(deptime,$s2t("入住时间段不能超过28天"));
			return false;
		}
		var priceRange=Price.value.split("|");
		BegPrice.value=priceRange[0];
		EndPrice.value=priceRange[1];
		function adjustCityId(id){
			id=parseInt(id,10);
			if (id<20000)
				return id-100;
			if (id<80000)
				return id-20000;
			return id-80000;
		}
		if (cityId.value>80000){
			district.value=adjustCityId(cityId.value);
			city.value="";
		}else{
			city.value=adjustCityId(cityId.value);
			district.value="";
		}
		return true;
	};
});

//机票
$r("domReady",function(){
	var form=__.forms["flightForm"];
	var flightway=Ctrip.Object.apply(form["flightway"]);
	var flag=[$("flag1"),$("flag2")];
	var homecity=form["homecity_name"],destcity1=form["destcity1_name"],ticketagency_list=form["ticketagency_list"];
	var HomeCityID=form["HomeCityID"],destcityID=form["destcityID"],ticketagencyID=form["ticketagencyID"];
	var DDatePeriod1=form["DDatePeriod1"],ADatePeriod1=form["ADatePeriod1"],today=form["today"];
	function changeFlightType(){
		flag[0].style.visibility=flag[1].style.visibility=flightway.value=="Single"?"hidden":"";
	};
	flightway.onchange=changeFlightType;
	changeFlightType();
	form.onsubmit=function(){
		if (homecity.isNull()){
			$alert(homecity,$s2t("请选择出发城市"));
			return false;
		}
		if (destcity1.isNull()){
			$alert(destcity1,$s2t("请选择目的城市"));
			return false;
		}
		if (homecity.value==destcity1.value){
			$alert(destcity1,$s2t("您选择的出发地点与目的地相同,请重新选择"));
			return false;
		}
		if (DDatePeriod1.isNull()){
			$alert(DDatePeriod1,$s2t("请选择出发日期"));
			return false;
		}
		var d1=DDatePeriod1.value.isDateTime();
		if (!d1){
			$alert(DDatePeriod1,$s2t("出发日期不符合格式规范或无效的日期"));
			return false;
		}
		var d3=today.value.isDateTime();
		if (d3>d1){
			$alert(DDatePeriod1,$s2t("出发日期不能早于")+today.value);
			return false;
		}
		if (ADatePeriod1.isNull()&&flightway.value=="Double"){
			flightway.value="Single";
			changeFlightType();
		}
		if (flightway.value=="Double"){
			var d2=ADatePeriod1.value.isDateTime();
			if (!d2){
				$alert(DDatePeriod1,$s2t("返回日期不符合格式规范或无效的日期"));
				return false;
			}
			if (d2<d1){
				$alert(DDatePeriod1,$s2t("返回日期不能早于出发日期")+DDatePeriod1.value);
				return false;
			}
		}
		if (ticketagency_list.isNull()){
			ticketagency_list.value=homecity.value.replace(/\(.*$/,"");
			ticketagency_list.module.notice.check();
		}
		//国际机票判断
		var destcity1Code=$("destcity1");
		var childtype=form["childtype"],PType=form["PType"];
		var flightclass=form["flightclass"];
		var re=new RegExp($s2t("^香港"));
		if (re.test(homecity)||re.test(destcity1)||destcity1Code.value.match(/^(\d+)$/)&&destcity1Code.value!="594"){
			PType.value=childtype.value=="ADU"?"NOR":"CHD";
			if (ADatePeriod1.isNull())
				ADatePeriod1.value="";
			flightclass.value="I";
			//出发城市
			if (!fillCode("fltInternationalStart",homecity,HomeCityID)){
				$alert(homecity,$s2t("你选择的出发城市没有前往")+destcity1.value+$s2t("的航班，请重新选择"));
				return false;
			}
			//目的城市
			if (!fillCode("fltInternational",destcity1,destcityID)){
				$alert(destcity1,$s2t("你选择的出发城市没有前往该目的城市的航班，请重新选择"));
				return false;
			}
			//送票城市
			if (!fillCode("fltInternationalTicket",ticketagency_list,ticketagencyID)){
				$alert(ticketagency_list,$s2t("您选择的城市不在我们的送票服务范围，请重新选择。"));
				return false;
			}
			form.action="http://flights."+getDomain()+"/International/ShowFareFirst.aspx";
		}
		return true;
	};
	function getDomain(){
		var arr=location.hostname.match(/(ctrip\.com|([^\.]+).sh.ctriptravel.com)$/);
		return arr&&!/^local$/i.test(arr[2])?arr[0]:"ctrip.com1";
	}
	function fillCode(sourceName,fromObj,toObj){
		var source=$$.module.address.source[sourceName];
		if (!source)
			return false;
		var re=new RegExp("@[^\\|]*\\|"+fromObj.value.replace(/([\.\\\/\+\*\?\[\]\{\}\(\)\^\$\|])/g,"\\$1")+"[^@]*","i");
		var arr=source.match(re);
		if (!arr)
			return false;
		toObj.value=arr[0].match(/^@[^\|]*\|[^\|]*\|([^\|@]*)/)[1];
		return true;
	}
});

$r("domReady",function(){
	var button=$("queryTabButton");
	var buttonList=button.$("li");
	var panelList=$("queryTabPanel").$("li");
	var classList=["hotel","flight","package","b2","b3"];
	for(var i=0;i<5;i++){
		(function(i){
			buttonList[i].$r("click",function(){
				button.className="priindexquery_searchtitle_"+classList[i];
				for (var j=0;j<5;j++)
					panelList[j].style.display=i==j?"":"none";
			});
		})(i);
	}
});

$r("domReady",function(){
	var button=$("search_ul");
	//$("li1").className="sidebartab_current";
	var buttonList=button.$("li");
	//var panelList=$("search_ul").$("li");
	
	//for(var i=0;i<3;i++){
		//(function(i){
			buttonList[0].$r("click",function(){
				//panelList[i].className="sidebartab_current";

				    $("li0").className="sidebartab_current";
					$("li1").className="sidebartab_nocurrent";
					$("li2").className="sidebartab_nocurrent";	
					$("categories").value="1";
				//button.className="priindexquery_searchtitle_"+classList[i];
				//for (var j=0;j<5;j++)
					//panelList[j].style.display=i==j?"":"none";
			});
			buttonList[1].$r("click",function(){
				//panelList[i].className="sidebartab_current";

				    $("li0").className="sidebartab_nocurrent";
					$("li1").className="sidebartab_current";
					$("li2").className="sidebartab_nocurrent";	
					$("categories").value="2";
				//button.className="priindexquery_searchtitle_"+classList[i];
				//for (var j=0;j<5;j++)
					//panelList[j].style.display=i==j?"":"none";
			});		
			buttonList[2].$r("click",function(){
				//panelList[i].className="sidebartab_current";

				    $("li0").className="sidebartab_nocurrent";
					$("li1").className="sidebartab_nocurrent";
					$("li2").className="sidebartab_current";	
					$("categories").value="3";
				//button.className="priindexquery_searchtitle_"+classList[i];
				//for (var j=0;j<5;j++)
					//panelList[j].style.display=i==j?"":"none";
			});				
			
		//})(i);
	//}
});
