//******************************************************************************
// Package Index
// by Neao
// 2009-09
//******************************************************************************

var recommendInitList=[];

$r("domReady",function(){

	var pkgShow=$("pkgShow");
	
	if (!pkgShow)
		return;
	
	if(pkgShow.innerHTML.trim()==""){
		setTimeout(arguments.callee,500);
		return;
	}
	//var mode=$$.browser.IE||$$.browser.Moz||$$.browser.Opera||$$.browser.Safari;
	var mode=true;
	var liList=pkgShow.$("li");
	var curLi=liList[0];
	var posList=mode?[0,120,150,180,210,240,270,300,330,360,390]:[0,0,-90,-90,-90,-90,-90,-90,-90,-90,-90];//jzhu增加一个城市20090904
	var curPosList=posList.slice();
	var step=$$.browser.IE?5:10,interval=20,delay=200;
	var intervalClock,delayClock;
	pkgShow.$r("mouseover",function(e){
		var obj=$fixE(e).$target;
		while (obj.tagName!="LI"&&obj.tagName!="UL")
			obj=obj.parentNode;
		if (obj.tagName=="LI"){
			if (curLi==obj)
				return;
			clearInterval(delayClock);
			delayClock=setInterval(function(){
				var link=curLi.$("a")[0];
				link.className=link.className.replace(/pripackage_destination_selected/gi,"");
				curLi=obj;
				link=curLi.$("a")[0];
				link.className+=" pripackage_destination_selected";
				fixPosInit();
				clearInterval(intervalClock);
				intervalClock=setInterval(fixPos,interval);
			},delay);
		}
	});
	function fixPosInit(flag){
		for (var i=1;i<posList.length;i++)
			posList[i]=mode?(posList[i-1]+(liList[i-1]==curLi?120:30)):(liList[i-1]==curLi?0:-90);//jzhu高度调整20090904
		if (flag&&mode){
			pkgShow.style.position="relative";
			for (var i=0;i<posList.length;i++){
				liList[i].style.position="absolute";
				liList[i].style.top=curPosList[i]+"px";
				liList[i].style.marginTop="0px";
			}
		}
	}
	function fixPos(){
		var flag=true;
		for (var i=1;i<posList.length;i++){
			if (curPosList[i]!=posList[i]){
				if (curPosList[i]>posList[i])
					curPosList[i]=Math.max(posList[i],curPosList[i]-step);
				else if (curPosList[i]<posList[i])
					curPosList[i]=Math.min(posList[i],curPosList[i]+step);
				liList[i].style[mode?"top":"marginTop"]=curPosList[i]+"px";
			}
			if (curPosList[i]!=posList[i])
				flag=false;
		}
		if (flag)
			clearInterval(intervalClock);
	}
	fixPosInit(true);
});

$r("domReady",function(){
	function recommendInit(recommendDiv,recommendCity,recommendEm){
		if (!recommendDiv)
			return;

		if((recommendDiv==$("recommendDiv3_1") && $('divRecommendDiv3_1').innerHTML.trim()=="")||(recommendDiv==$("recommendDiv3_2") && $('divRecommendDiv3_2').innerHTML.trim()=="")){
			setTimeout(function(){recommendInit(recommendDiv,recommendCity,recommendEm)},500);
			return;
		}
		
		var recommendUlList=recommendDiv.$("ul");
		var recommendPanelHash={};
		var recommendLink=recommendCity.$("a")
		var curLink=recommendLink[0];
		for (var i=0;i<recommendLink.length;i++){
			if (recommendLink[i].className=="cites_current"){
				curLink=recommendLink[i];
				break;
			}
		}
		var curRecommend=recommendUlList[0];
		for (var i=0;i<recommendUlList.length;i++){
			var str=recommendUlList[i].getAttribute("pkgCol")||"";
			recommendPanelHash[str]=recommendUlList[i];
			if (recommendUlList[i].style.display=="")
				curRecommend=recommendUlList[i];
		}
		recommendCity.$r("click",function(e){
			var obj=$fixE(e).$target;
			if (obj.tagName=="A"){
				var tagRecommend=recommendPanelHash[obj.innerHTML];
				if (tagRecommend){
					recommendEm.innerHTML=obj.innerHTML;
					curLink.className="cites_nocurrent";
					obj.className="cites_current";
					curRecommend.style.display="none";
					tagRecommend.style.display="";
					curLink=obj;
					curRecommend=tagRecommend;
					recommendCity.style.display=recommendEm.$getStyle("display")=="none"?"":"none";
				}
			}
		});
		function recommendEmInit(str){
			for (var i=0;i<recommendLink.length;i++){
				if (recommendLink[i].innerHTML==str){
					if (recommendLink[i].click)
						recommendLink[i].click();
					else{
						var evt=__.createEvent("MouseEvents");
						evt.initMouseEvent("click",true,true,_,0,0,0,0,0,false,false,false,false,0,null);
						recommendLink[i].dispatchEvent(evt);
					}
					recommendEm.innerHTML=str;
					break;
				}
			}
		};
		recommendInitList.push(recommendEmInit);
		recommendEmInit(recommendEm.innerHTML);
	}
	recommendInit($("recommendDiv"),$("recommendCity"),$("recommendEm"));
	recommendInit($("recommendDiv1"),$("recommendCity1"),$("recommendEm1"));
	recommendInit($("recommendDiv2"),$("recommendCity2"),$("recommendEm2"));
	recommendInit($("recommendDiv3_1"),$("recommendCity3"),$("recommendEm3"));
	recommendInit($("recommendDiv3_2"),$("recommendCity3"),$("recommendEm3"));
});

_.goSearch=function(){};

$r("domReady",function(){
	var pkgSearch=$("pkgSearch");
	var inputList=pkgSearch.$("input");
	var selectList=pkgSearch.$("select");
	var pkgDestFlag={destCityCode:null,destCityType:null};
	var pkgEle={
		form:$(__.forms["packageForm"]||__.forms[0]),
		startCity:inputList[0],
		startCityCode:inputList[4],
		startCityDiv:$("pkgStartCityDiv"),
		destCity:inputList[1],
		destCityType:inputList[5],
		destCityCode:inputList[6],
		destCityDiv:$("pkgDestCityDiv"),
		startDate:inputList[2],
		submitBtn:inputList[3]
	};
	var objTmp=pkgSearch.$("h1");
	if (objTmp&&objTmp[0])
		objTmp=objTmp[0].$("span");
	if (objTmp&&objTmp[0])
		pkgEle.startCitySpan=objTmp[0];
	var today=$$.module.pkgSearch.today&&$$.module.pkgSearch.today.isDateTime()||new Date().dateValue();
	//初始化destCity
	pkgEle.destCity.init=function(){
		if (pkgEle.startCitySpan)
			pkgEle.startCitySpan.innerHTML=pkgEle.startCity.value;
		if (!pkgEle.destCity.module.address){
			setTimeout(arguments.callee,500);
			return;
		}
		var str=pkgEle.startCity.value.trim();
		pkgEle.destCity.module.address.source=str?"pkg_"+str:"pkgAll";
	};
	pkgEle.destCity.init();
	//注册浮出Div事件
	pkgEle.startCity.$r("focus",function(){
		pkgEle.startCity.blurFlag=false;
		pkgEle.startCityDiv.style.display="";
		pkgEle.startCityDiv.$setIframe();
	});
	pkgEle.startCity.$r("blur",function(){
		if (pkgEle.startCity.blurFlag){
			setTimeout(function(){
				pkgEle.startCity.focus();
			},0);
			return;
		}
		pkgEle.startCityDiv.style.display="none";
		pkgEle.startCityDiv.$clearIframe();
	});
	pkgEle.destCity.$r("focus",function(){
		if (!pkgEle.destCity.module.notice||!pkgEle.destCity.module.address){
			pkgEle.destCity.blur();
			return;
		}
		setTimeout(function(){
			pkgEle.destCity.module.notice.enabled=false;
		},0);
		pkgEle.destCity.blurFlag=false;
		//pkgEle.destCity.clock=setInterval(function(){
			//var flag=pkgEle.destCity.value.trim();
			//pkgEle.destCityDiv.style.display=flag?"none":"";
			//if (flag)
				//pkgEle.destCityDiv.$clearIframe();
			//else
				//pkgEle.destCityDiv.$setIframe();
		//},100);
	});
	pkgEle.destCity.$r("blur",function(){
		if (!pkgEle.destCity.module.notice||!pkgEle.destCity.module.address){
			pkgEle.destCity.blur();
			return;
		}
		clearInterval(pkgEle.destCity.clock);
		if (pkgEle.destCity.blurFlag){
			setTimeout(function(){
				pkgEle.destCity.focus();
			},0);
			return;
		}
		pkgEle.destCity.module.notice.enabled=true;
		//pkgEle.destCityDiv.style.display="none";
		pkgEle.destCityDiv.$clearIframe();
	});
	//初始化destCityDiv
	if (pkgEle.destCityDiv&&$$.module.pkgQuickSearch){
		var dlList=pkgEle.destCityDiv.$("dl");
		var classList=["","inChina","outChina","theme"];
		for (var i=0;i<dlList.length;i++){
			var suggestList=$$.module.pkgQuickSearch[classList[i]];
			if (suggestList){
				for (var j=0;j<suggestList.length;j++){
					var dd=dlList[i].appendChild($c("dd"));
					dd.innerHTML="<a href=\"###\" title=\""+suggestList[j]+"\">"+suggestList[j]+"</a>";
				}
			}
		}
	}
	//注册点击事件
	pkgEle.startCityDiv.$r("mousedown",function(e){
		var obj=$fixE(e).$target;
		if (obj.tagName=="A" ){
			var txt=obj.innerHTML.trim();
			pkgEle.startCity.value=obj.innerHTML.trim();
			if ($$.browser.IE){
				pkgEle.startCityDiv.innerHTML=pkgEle.startCityDivBak.innerHTML;
				pkgEle.startCity.blur();
			}
			pkgEle.destCity.init();
			recommendInitList.each(function(func){
				func(txt);
			});
		}else
			pkgEle.startCity.blurFlag=true;
	});
	pkgEle.startCityDivBak=pkgEle.startCityDiv.cloneNode(true);
	pkgEle.destCityDiv.$r("mousedown",function(e){
		e=$fixE(e);
		//e.$target.getAttribute("clickJump") 直接跳转链接不填值入框
		if (e.$target.tagName=="A"&& e.$target.getAttribute("clickJump")!=0){
			pkgEle.destCity.value=e.$target.innerHTML.trim();
			if ($$.browser.IE){
				//pkgEle.destCityDiv.innerHTML=pkgEle.destCityDivBak.innerHTML;
				pkgEle.destCity.blur();
			}
			pkgEle.destCity.style.color="black";
			//pkgEle.destCityDiv.style.display="none";
			//点击
			__.forms[0].submitBtn=pkgEle.submitBtn.value.trim();
			
			
			if (pkgEle.submitBtn.click)
				pkgEle.submitBtn.click();
			else{
				var evt=__.createEvent("MouseEvents");
				evt.initMouseEvent("click",true,true,_,0,0,0,0,0,false,false,false,false,0,null);
				pkgEle.submitBtn.dispatchEvent(evt);
			}
		}
		pkgEle.destCity.blurFlag=true;
	});
	pkgEle.destCityDivBak=pkgEle.destCityDiv.cloneNode(true);
	//初始化出发地code
	if (pkgEle.startCityCode.value){
		pkgEle.startCity.value=$$.module.pkgSearch.pkgStartCityHash[pkgEle.startCityCode.value]||"";
		pkgEle.destCity.init();
	}
	//初始化目的地code
	if (!pkgEle.destCity.value.trim()&&pkgEle.destCityCode.value&&pkgEle.destCityType.value){
		(function(){
			if (!pkgEle.destCity.module.address){
				setTimeout(arguments.callee,500);
				return;
			}
			var strTmp=pkgEle.startCity.value.trim();
			var source=$$.module.address.source[strTmp?"pkg_"+strTmp:"pkgAll"];
			var re=new RegExp("@([^\\|]*)\\|([^\\|]*)\\|"+pkgEle.destCityCode.value+"\\|"+pkgEle.destCityType.value+"[\\|@]","i");
			var arr=source.match(re);
			if (arr){
				pkgEle.destCity.value=arr[2]||arr[1];
				pkgEle.destCity.module.notice.check();
			}
		})();
	}
	//链接提交
	_.goSearch=function(obj,destCityType,destCityCode){
		var str=(obj.innerHTML||obj||"").toString().trim();
		var olink=obj.getAttribute("isnew");
		if (!str)
			return;
		if (olink == "1"){
				document.forms[0].setAttribute("target","_blank")
			}
		pkgDestFlag.destCityCode=destCityCode||null;
		pkgDestFlag.destCityType=destCityType||null;
		pkgEle.destCity.value=str;
		if (pkgEle.destCity.module.notice)
			pkgEle.destCity.module.notice.check();
		pkgEle.startDate.value="";
		if (pkgEle.startDate.module.notice)
			pkgEle.startDate.module.notice.check();
		__.forms[0].submitBtn=pkgEle.submitBtn.value.trim();
		if (pkgEle.submitBtn.click)
			pkgEle.submitBtn.click();
		else{
			var evt=__.createEvent("MouseEvents");
			evt.initMouseEvent("click",true,true,_,0,0,0,0,0,false,false,false,false,0,null);
			pkgEle.submitBtn.dispatchEvent(evt);
		}
	};

	___.$r("mousedown",function(e){
		var obj=$fixE(e).$target;
		if (obj.tagName=="INPUT"&&obj.type=="submit")
			__.forms[0].submitBtn=obj.value.trim();
	});
	
	//提交校验
	pkgEle.form.$r("submit",function(e){
		e=$fixE(e);
		var flag={destCityCode:pkgDestFlag.destCityCode,destCityType:pkgDestFlag.destCityType};
		pkgDestFlag={destCityCode:null,destCityType:null};
		if (!new RegExp("^"+$s2t("搜索")).test(__.forms[0].submitBtn))
			return true;
		var strTmp;
		//出发地校验
		strTmp=pkgEle.startCity.value.trim();
		if (!strTmp){
			$alert(pkgEle.startCity,$s2t("请选择您的出发地"));
			$stopEvent(e,1);
			return false;
		}
		var code=$$.module.pkgSearch.pkgStartCityHash[strTmp];
		if (!code){
			$alert(pkgEle.startCity,$s2t("请选择正确的出发地"));
			$stopEvent(e,1);
			return false;
		}
		pkgEle.startCityCode.value=code;
		//目的地处理
		var source=$$.module.address.source["pkg_"+strTmp];
		strTmp=pkgEle.destCity.isNull&&pkgEle.destCity.isNull()?"":pkgEle.destCity.value.trim();
		if (!strTmp)
			pkgEle.destCityCode.value=pkgEle.destCityType.value="";
		else{
			strTmp=strTmp.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi,"\\$1").replace(/@|\|/gi,"");
			var re=new RegExp("@("+strTmp+"\\|\\||[^\\|]*\\|"+strTmp+"\\|)[^@]+","i");
			var arr=source.match(re);
			if (!arr&&/^[a-z]{2,}$/.test(strTmp)){
				re=new RegExp("@[^@]+\\|"+strTmp+"(\\|[^@]*)?(?=@)","i");
				arr=source.match(re);
			}
			if (arr){
				var str=arr.toString().split("|");
				pkgEle.destCityCode.value=str[2];
				pkgEle.destCityType.value=str[3];
			}else
				pkgEle.destCityCode.value=pkgEle.destCityType.value="";
		}
		//强制填写destCityCode,destCityType
		if (flag.destCityCode)
			pkgEle.destCityCode.value=flag.destCityCode;
		if (flag.destCityType)
			pkgEle.destCityType.value=flag.destCityType;
		
		//目的地校验
		strTmp=pkgEle.destCity.isNull&&pkgEle.destCity.isNull()?"":pkgEle.destCity.value.trim();
		if (!strTmp){
			$alert(pkgEle.destCity,$s2t("请输入目的地"));
			$stopEvent(e,1);
			return false;
		}
		//出发区间校验
		var strDate=pkgEle.startDate.isNull&&pkgEle.startDate.isNull()?"":pkgEle.startDate.value.trim();
		if (strDate){
			var date=strDate.isDateTime();
			if (!date){
				$alert(pkgEle.startDate,$s2t("请输入正确的出发区间"));
				$stopEvent(e,1);
				return false;
			}
			if (date-today<0){
				$alert(pkgEle.startDate,$s2t("请输入正确的出发日期,出发日期不能早于今天"));
				$stopEvent(e,1);
				return false;
			}
		}
		if ($$.module.pkgSearch.action)
			pkgEle.form.action=$$.module.pkgSearch.action;
		return true;
	});
	//调试
	//__.body.ondblclick=checkForm;
});
window.$r("domReady",function(){
	if(!$("onSale"))	return;
	var onSale = $("onSale");
	if ($$.module.pkgSearch.saleUrl)
		onSale.$r("click",function(){
			window.open($$.module.pkgSearch.saleUrl[parseInt(onSale.className.slice(-1),10)-1]);
		});
	var timeList = onSale.$("ul")[0];
	var ulList = onSale.$("ul");
	var height = 20;
	var diff =new Date($$.module.pkgSearch.now) - new Date();
	var startDay = 3;
	var list = timeList.$("li");
	function transferToPic(number,ob){
		return ob.style.backgroundPosition = '0px '+(-number*height)+'px';
	}
	function freshTime(ti){
		if(!ti) return;
		var noList = ti.split("");
		var picList = [];
		for(var i =0 ; i< list.length ;i++){
			if(list[i].className == "count_num")	picList.push(list[i]);
		}
		if(noList.length != picList.length)	return;
		for(var j = 0; j<noList.length; j++){
			transferToPic(parseInt(noList[j]),picList[j]);
		}
	}
	function changeContent(obj){
		if(!obj)	return;
		var roller = $('specialsale');
		roller.innerHTML = obj.innerHTML;
	}
	function getStart(){
		var time =new  Date(new Date().getTime() + diff);
		if(time.getDay() == startDay && time.getHours() >= 17)	time.setDate(time.getDate()+1);
		while(time.getDay()!=startDay)
			time.setDate(time.getDate()+1);
		time.setHours(15);
		time.setMinutes(0);
		time.setSeconds(0);
		return time;
	}
	Number.prototype.addZero = function(){
		if((this+"").match(/^\d$/))	return '0' + this;
		else return (this+"");
	}
	function getTime(){
		var now = new  Date(new Date().getTime() + diff);
		var period = getStart() - now;
		var temp = period/1000;
		if( period >= 24*1000*3600 ){
			if(onSale.className != 'pripackage_sales03')	{
				onSale.className = 'pripackage_sales03';
				onSale.style.zoom = 1.5;
				onSale.style.zoom =1;
				changeContent(ulList[4]);
			}
			
			return "150000";
		}
		else if(period >= 0 && period < 24*1000*3600){
			if(onSale.className != 'pripackage_sales01'){
				onSale.className = 'pripackage_sales01';
				changeContent(ulList[2]);
			}
			return Math.floor(temp/3600).addZero() + Math.floor((temp%3600)/60).addZero() + Math.floor((temp%3600)%60).addZero();
		}
		else if(period < 0){
			if(onSale.className != 'pripackage_sales02'){
				onSale.className = 'pripackage_sales02';
				changeContent(ulList[3]);
			}
			return Math.floor((7200+temp)/3600).addZero() + Math.floor(((7200+temp)%3600)/60).addZero() + Math.floor(((7200+temp)%3600)%60).addZero();
		}
	}
	freshTime(getTime());
	setInterval(function(){freshTime(getTime());},1000);
});



//本周特卖滚动
window.$r('domReady',function(){
	if(!$("onSale"))	return;
	var onSale = $("onSale");
	var Init=function(){	
		var salemessage = $('specialsale');
		var timeout;
		setTimeout(function(){
			rollup();
		},3000);
		function rollup(){
			salemessage.scrollTop += 1;
			if(salemessage.scrollTop % 20 == 0){
				var li = salemessage.$('li');
				salemessage.appendChild(li[0]);
				salemessage.scrollTop =0;
			} 	
			timeout = setTimeout(arguments.callee,salemessage.scrollTop%20?10:3000);
		}
		
		salemessage.$r("mouseover",function(){
			salemessage.style.cursor="pointer";
			clearTimeout(timeout);
		});
		salemessage.$r("mouseout",function(){
			rollup();
		});
	}
	Init();
});


//更多出发地切换
window.$r('domReady',function(){
	var menu = $('menu');
	var show = $('pkgMoreCityDiv');
	if(!menu){
		return;
	}
	if(!show){
		return;
	}
	menu.$r("click", function() {
		if (show.style.display == 'none'){
			show.style.display = '';
			menu.className="pripackage_focus";
		}
		else{
			show.style.display = 'none';
		}
	},30);
	menu.$r("blur", function() {
		show.style.display = 'none';
		menu.className="";
	});
	var city = show.$("a");
	var cityname = $('cityname');
	var cityinfo = $('cityinfo').$("ul");
	var show2 = $('pkgStartCityDiv');
	var city2 = show2.$("a");
	if(!cityname){
		return;
	}
	if(!cityinfo){
		return;
	}

	show.$r("mousedown",function(e){
		e=$fixE(e);
		var obj=e.$target;
		if (obj.tagName!="A")
			return;
		cityname.innerHTML = obj.innerHTML;
		for(var j=0;j<show.$("a").length;j++){
			cityinfo[j].style.display = cityinfo[j].getAttribute("pkgCol").trim()==obj.innerHTML.trim()?"":"none";
		}
		show.style.display = 'none';
	});

	//和出发地的联动
	show2.$r("mousedown",function(e){
		e=$fixE(e);
		var obj=e.$target;
		if (obj.tagName!="A")
			return;
		cityname.innerHTML = obj.innerHTML;
		for(var j=0;j<show2.$("a").length;j++){
			cityinfo[j].style.display = cityinfo[j].getAttribute("pkgCol").trim()==obj.innerHTML.trim()?"":"none";
		}
		show2.style.display = 'none';
	},40);
});




