/*
* By gftian, 2007-12-12
* Copyright(C) Ctrip.COM 2007-2008. All Rights Reserved.
*/

var oQs={dateStart:'qs_perdate',dateEnd:'qs_postdate',cityName:'qs_cityname',cityId:'qs_city',districtId:'qs_district',
dateCheckIn:'qs_starttime',dateCheckOut:'qs_deptime',hotelName:'qs_htln',englishName:'qs_enamesearch',priceLow:'qs_BegPrice',priceHigh:'qs_EndPrice',zoneId:'qs_zone',locationId:'qs_location',hotelType:'qs_ResidentialFlag',starLincence:'qs_starlicence',starLevel:'qs_star'};
var oQsUi={txtCheckIn:"txtCheckIn_calender_notice_m",txtCheckOut:"txtCheckOut_calender_notice_m",txtHotelName:"txtHotelName_notice_m",chkEnglishName:"chkEnglishName",txtPriceLow:"txtPriceLow",txtPriceHigh:"txtPriceHigh",txtArea:"txtArea",selHotelType:"selHotelType",spnFitment:"spnFitment",spnStarLevel:"spnStarLevel",divFitment:"divFitment",divStarLevel:"divStarLevel",chkStarX:"chkStarX",objStarA:"chkStarA",objStarB:"chkStarB",btnSearch:"btnQuickSearch"};
	function initQSearch(){
	//alert("1111");
			var c=document.forms[0];
			for(var d in oQs)oQs[d]=c.elements[oQs[d]];
			for(var d in oQsUi)oQsUi[d]=/^obj/.test(d)?new BoxGroup(oQsUi[d],c):document.getElementById(oQsUi[d]);
	        setValue(oQsUi.txtCheckIn,oQs.dateCheckIn.value);
			setValue(oQsUi.txtCheckOut,oQs.dateCheckOut.value);
			setValue(oQsUi.txtHotelName,oQs.hotelName.value);
			oQsUi.chkEnglishName.checked=oQs.englishName.value=="on";
			oQsUi.txtPriceLow.value=oQs.priceLow.value;
			oQsUi.txtPriceHigh.value=oQs.priceHigh.value;
			initHotelType();
			initArea();
			setHotelStar(oQs.starLincence.value,oQs.starLevel.value);
			oQsUi.objStarA.ele.concat(oQsUi.objStarB.ele).each(
			function(a,b){
			//alert("aaa");
			a._index=b});
			oQsUi.objStarA.listen('click',syncStar);
			oQsUi.objStarB.listen('click',syncStar);
			$event.listen(oQsUi.chkStarX,'click',syncStarX);
			$event.listen(oQsUi.btnSearch,'click',quickSearch)
			}
	function initHotelType()
	      {
		//alert("222");      
	      oQsUi.selHotelType.value=oQs.hotelType.value||'F';
	      		if(!c_data.packageCity[oQs.cityId.value])oQsUi.selHotelType.remove(2);
	      		$event.listen(oQsUi.selHotelType,'change',enableStar);enableStar();
	      		function enableStar(){
	   // alert("bbb"); 		
	      		var b=oQsUi.selHotelType.value=='T';
	      		if(b!=oQsUi.chkStarX.disabled)oQsUi.chkStarX.disabled=b;
	      		oQsUi.objStarA.ele.concat(oQsUi.objStarB.ele).each(
	      		function(a){
	      		alert("ccc");
	      		a.disabled=b});
	      		updateStarText(getHotelStar())
	      		}
	      		}
	function initArea(){var f=oQs.cityId.value;
	//alert("333");
	      		if(!f&&parseInt(f)<=0)
      		
	      		f=oQs.districtId.value;
	      		var g=null;var h={type:'',id:'',name:''};
	      		var j=oQsUi.txtArea;
	      		var k=document.getElementById('hotel_jmpinfo_warp');
	      		['zone','location'].each(
	      		function(b,i){
	      		//alert("ddd");
	      		var c=c_data[b][f];
	      		var d=c_data[b+'Name'];var e=$('div_'+b);
	      		if(c&&c.length)      		
		{
		

		e.innerHTML+=c._map(function(a){
		//alert("eee");
	     				return'<a href="#;" id="{1}_{2}" title="{3}">{3}</a>'.xReplace(b,a,d[a])}).join('')
	     		}else e.style.display='none'});
	     		j.readOnly=true;
	     		$event.listen(j,'click',eleClick);$event.listen(j,'focus',eleClick);
	     		$event.listen(k,'click',divClick);getCurrent();setCurrent();
	     		function getCurrent(){
	     		//alert("999");
	     		['zone','location'].each(function(t){
	     		//alert("fff");
	     		h.id=oQs[t+'Id'].value;if(h.id in c_data[t+'Name']){h.type=t;h.name=c_data[t+'Name'][h.id];
	      			g=$(t+'_'+h.id);
	      				return false}
	      				}
	      				 )
	      				 }
	      				 
	      		function setCurrent(a)
	      		{
	      		//alert("nnn");
	      		oQs.zoneId.value='';
	      		oQs.locationId.value='';
	      		j.value='';
	      		if(h.type)
	      			{oQs[h.type+'Id'].value=h.id;
	      				j.value=h.name}
	      				}
	      				
	      	function eleClick(e)
	      	{
	      	//alert("mmmm");
	      	if(k.parentNode!=document.body)document.body.appendChild(k);
	      	$(k.id).$setPos($(j.id),'tl','tr');
	      	k.style.display='block';
	      	k.style.visibility='visible';
	      	$event.fix(e).stopPropagation();
	      	$event.listen(document.documentElement,'click',docClick);
	      	if(g)g.style.fontWeight='bold'}
	      		function docClick(e){
	      		//alret("hhh");
	      		
	      		k.style.visibility='hidden';
	      		setCurrent();
	      		$event.unlisten(document.documentElement,'click',docClick)
	      		}
	      		
	      		function divClick(e){
	      		//alert("qqq");
	      		var a=$event.fix(e);
	      		if(a.target.tagName=='A')
	      		{if(g)g.style.fontWeight='normal';
	      		g=a.target;a.preventDefault();
	      		if(!g.id)h.type=null;
	      		else{var x=g.id.split('_');h.type=x[0];
	      		h.id=x[1];h.name=c_data[h.type+'Name'][h.id]}
	      		}else{a.stopPropagation()}
	      			}
	      	}///333
	      	function setHotelStar(c,d)
	      	{
	      	//alert("444");
	      	var a=oQsUi.objStarA,b=oQsUi.objStarB;
	      	d=d.match(/2,1,0|\d/g);
	      	a.set((c=='T'||c=='')?d:'-1');
	      	b.set((c=='F'||c=='')?d:'-1');
	      	a.ele[0].checked=b.ele.slice(1).each(function(a){
	      	//alert("rrr");
	      	return a.checked});
	      	b.ele[0].checked=b.ele.slice(1).each(function(a){
	      	//alert("zzz");
	      	return a.checked});
	      	syncStarX(false)
	      	}
	      	function getHotelStar()
	      	{
	      //	alert("555");
	      	if(oQsUi.chkStarX.disabled)return[''];
	      	var a=oQsUi.objStarA.get();
	      	var b=oQsUi.objStarB.get();
	      	var r=a?a.match(/2,1,0|\d/g):b?b.match(/2,1,0|\d/g):[''];
	      	if(a&&b)r.unshift('');
	      	else if(a)r.unshift('T');
	      	else if(b)r.unshift('F');
	      	return r}
	      	
	      	function updateStarText(a){
	      //	alert("666");
	      	var c,d,e;c=a[0];a=a.slice(1);
	      	if(!a.length)d=e=MSG.nolimit;
	      	else{d=oQsUi.objStarA.ele[0].checked?MSG.all:a._map(MSG.star_level).join(' ');
	      	e=oQsUi.objStarB.ele[0].checked?MSG.all:a._map(MSG.star_text).join(' ')
	      	}
	      	display('StarLevel',c!='F',d||MSG.nolimit);
	      	display('Fitment',c!='T',e||MSG.nolimit);
	      	function display(s,b,h){
	      //	alert("ppp");
	      	oQsUi['spn'+s].innerHTML=h;oQsUi['div'+s].style.display=b?'':'none'
	      	}
	      	}
	      	function syncStar(e)
	      	{
	      //	alert("666");
	      	var n=oQsUi.objStarA.ele.length;
	      	var i=$event.fix(e).target._index;
	      	var g=i<n?0:1;i%=n;
	      	var a=[valmap(oQsUi.objStarA),valmap(oQsUi.objStarB)];
	      	var s=adjust(a[g]);var d=a[g==0?1:0];
	      	if(!/1/.test(s.join(''))||!/1/.test(d.join('')))valmap(g==0?oQsUi.objStarA:oQsUi.objStarB,s);
	      	else{a=adjust(s._map(function(x,j){
	     // 	alert("www");
	      	return i==j?x:(x||d[j])?1:0}));
	      	valmap(oQsUi.objStarA,a);
	      	valmap(oQsUi.objStarB,a)}syncStarX();
	      	function valmap(c,v)
	      	{
	     // 	alert("ttt");
	      	return v?c.ele.each(
	      			function(a,b){
	      		//	alert("rrr");
	      			a.checked=v[b]==1}):c.ele._map(function(a){
	      		//	alert("jjj");
	      			return a.checked?1:0})
	      			}
	      			function adjust(t){
	      		//	alert("ggg");
	      			if(i==0)for(var k=1;k<t.length;k++)t[k]=t[0];
	      			else t[0]=/0/.test(t.slice(1).join(''))?0:1;
	      			return t
	      			}
	      			}///666
	      	function syncStarX(f)
	      	{
	      //	alert("777");
	      	var a=oQsUi.objStarA,b=oQsUi.objStarB,x=oQsUi.chkStarX,c=x.checked;
	      	if(f===false||arguments.callee.caller)x.checked=a.ele[0].checked&&b.ele[0].checked;
	      	else{a.ele.each(chk);
	      	b.ele.each(chk)}updateStarText(getHotelStar());
	      	function chk(a){
	      //	alert("lll");
	      	a.checked=c}
	      	}
	      	function quickSearch(e)
	      	{
	   	alert("888");
	      	if(!validateQuery(oQs.dateStart,oQs.dateEnd,oQsUi.txtCheckIn,oQsUi.txtCheckOut,oQsUi.txtPriceLow,oQsUi.txtPriceHigh,null,oQs.cityId.value))return;
	      	var a=oQsUi.chkEnglishName.checked?'on':'';
	      	var b=getHotelStar(),c=b[0],d=b.slice(1).join(',');
	      	['txtCheckIn|dateCheckIn','txtCheckOut|dateCheckOut','txtHotelName|hotelName',[a,'englishName'],'txtPriceLow|priceLow','txtPriceHigh|priceHigh','selHotelType|hotelType',[c,'starLincence'],[d,'starLevel']].each(function(x){
	      //	alert("xxx");
	      	if(x.charAt){x=x.split('|');
	      	oQs[x[1]].value=getValue(oQsUi[x[0]])}else{oQs[x[1]].value=x[0]}});
	      	checkGForm();
	      	submitForm(g_form.isCorp&&g_form.isCorp[0].checked?c_corp_search_action:c_search_action,'_self',{qs_screensize:screen.width,flag:'QuickSearchHotel'
	      	})
	      	}
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		
	      		