/* ? 2005 Yahoo! Inc. All rights reserved. */

YAHOO.Travel.tmainDealsModMgr=function(numUsrs){this.newDestUrl='';this.newDestTextDomId='dealsModChgCityBox';this.newDestTextDomEl=null;this.newDestFormDomId='dealsModChgCityForm';this.newDestCbObj={success:this.newDestCbFn,failure:function(){;},scope:this};
this.newDestErrDomId='tmainDealChgDestErr';this.newDestErrDomEl=null;this.bodyDomId='tmainDealsBody';this.loadingDomId='dealsModLoadingCont';this.numUsrs=numUsrs;this.usrCommObjs=new Array();for(var i=0;i<this.numUsrs;i++){this.usrCommObjs.push(new YAHOO.Travel.tmainDealsModUsrComment(i,this));}this.nowShowingUsrComm=0;this.animDivIds=['dealsModTopGdeLink','dealsModDealsTitle','dealsModFlightDeal','dealsModHotelDeal','dealsModUsersSec'];new YAHOO.Travel.tmainMapSrchBar(this.newDestTextDomId,'Enter Destination');YAHOO.util.Event.addListener(this.newDestFormDomId,'submit',this.submitDestChange,this,true);};
YAHOO.Travel.tmainDealsModMgr.prototype.submitDestChange=function(){;if(!this.newDestErrDomEl){this.newDestErrDomEl=document.getElementById(this.newDestErrDomId);}this.newDestErrDomEl.style.display='none';if(!this.newDestTextDomEl){this.newDestTextDomEl=document.getElementById(this.newDestTextDomId);}var newDestVal=this.newDestTextDomEl.value;if(newDestVal==''||newDestVal=='Enter Destination'){return;}newDestVal=escape(newDestVal);var url=this.newDestUrl+'&dest='+newDestVal+'&rand='+Math.random();YAHOO.util.Connect.asyncRequest('GET',url,this.newDestCbObj);this.showLoading();};
YAHOO.Travel.tmainDealsModMgr.prototype.newDestCbFn=function(o){this.hideLoading();var respObj=eval('('+o.responseText+')');if(respObj.failure){this.handleDestChgFailure(respObj.failure);return;}for(var i=0;i<this.usrCommObjs.length;i++){this.usrCommObjs[i].removeEvents();}this.usrCommObjs=new Array();document.getElementById(this.bodyDomId).innerHTML=respObj.success.newhtml;for(var i=0;i<this.numUsrs;i++){this.usrCommObjs.push(new YAHOO.Travel.tmainDealsModUsrComment(i,this));}this.nowShowingUsrComm=0;this.newDestAnims();};
YAHOO.Travel.tmainDealsModMgr.prototype.handleDestChgFailure=function(msg){this.newDestErrDomEl.innerHTML=msg;this.newDestErrDomEl.style.display='block';var fadeAnim=new YAHOO.util.ColorAnim(this.newDestErrDomEl);fadeAnim.attributes.backgroundColor={from:'#ffffa7',to:'#71a4c1'};
fadeAnim.method=YAHOO.util.Easing.easeIn;fadeAnim.animate();};
YAHOO.Travel.tmainDealsModMgr.prototype.showLoading=function(){;YAHOO.util.Dom.setStyle(this.bodyDomId,'opacity',.2);YAHOO.util.Dom.removeClass(this.loadingDomId,'loadingDormant');};
YAHOO.Travel.tmainDealsModMgr.prototype.hideLoading=function(){;YAHOO.util.Dom.setStyle(this.bodyDomId,'opacity',1);YAHOO.util.Dom.addClass(this.loadingDomId,'loadingDormant');};
YAHOO.Travel.tmainDealsModMgr.prototype.newDestAnims=function(){;; for(var i=0;i<this.animDivIds.length;i++){var animEl=document.getElementById(this.animDivIds[i]);if(!animEl){continue;}var fadeInAnim=new YAHOO.util.Anim(animEl);YAHOO.util.Dom.setStyle(animEl,'opacity',0);fadeInAnim.attributes.opacity={to:0};
fadeInAnim.duration=(i+1)*0.15;var fadeOutAnimFn=function(){;var fadeOutAnim=new YAHOO.util.Anim(this.animEl);fadeOutAnim.attributes.opacity={to:1};
fadeOutAnim.duration=(this.rank)*0.2;fadeOutAnim.method=YAHOO.util.Easing.easeOut;fadeOutAnim.animate();};
var fadeOutAnimObj={animEl:animEl,rank:(this.animDivIds.length-i+1)};
fadeInAnim.onComplete.subscribe(fadeOutAnimFn,fadeOutAnimObj,true);fadeInAnim.animate();}};
YAHOO.Travel.tmainDealsModMgr.prototype.setNowShowing=function(num){this.nowShowingUsrComm=num;};
YAHOO.Travel.tmainDealsModMgr.prototype.hideUsrComment=function(){;this.usrCommObjs[this.nowShowingUsrComm].hideUsrComment();};
YAHOO.Travel.tmainDealsModUsrComment=function(num,parent){this.num=num;this.parent=parent;this.usrImgDomId='dealsModUsrImg_'+num;this.usrImgDomEl=null;this.usrCommDomId='dealsModUsrComm_'+num;this.usrCommDomEl=null;this.usrPtrDomId='dealsModUsrPtr_'+num;this.usrPtrDomEl=null;YAHOO.util.Event.addListener(this.usrImgDomId,'mouseover',this.chgUsrComment,this,true);};
YAHOO.Travel.tmainDealsModUsrComment.prototype.chgUsrComment=function(){;this.parent.hideUsrComment();if(!this.usrImgDomEl){this.usrImgDomEl=document.getElementById(this.usrImgDomId);}this.usrImgDomEl.className='usrInfo usrInfoOver';if(!this.usrCommDomEl){this.usrCommDomEl=document.getElementById(this.usrCommDomId);}this.usrCommDomEl.className='commentary';if(!this.usrPtrDomEl){this.usrPtrDomEl=document.getElementById(this.usrPtrDomId);}this.usrPtrDomEl.className='ptr tmainGifImg';this.parent.setNowShowing(this.num);};
YAHOO.Travel.tmainDealsModUsrComment.prototype.hideUsrComment=function(){;if(!this.usrImgDomEl){this.usrImgDomEl=document.getElementById(this.usrImgDomId);}this.usrImgDomEl.className='usrInfo';if(!this.usrCommDomEl){this.usrCommDomEl=document.getElementById(this.usrCommDomId);}this.usrCommDomEl.className='commentary novis';if(!this.usrPtrDomEl){this.usrPtrDomEl=document.getElementById(this.usrPtrDomId);}this.usrPtrDomEl.className='ptr tmainGifImg nodisp';};
YAHOO.Travel.tmainDealsModUsrComment.prototype.removeEvents=function(){;YAHOO.util.Event.removeListener(this.usrImgDomId,'mouseover',this.chgUsrComment);};

/* ? 2005 Yahoo! Inc. All rights reserved. */YAHOO.Travel.tmainDestMgr=function(instance,defaultGroup){this.instance=instance;this.groups={};
this.groups[defaultGroup]=this.getGroup(defaultGroup);this.defaultGroup=defaultGroup;this.currentGroup=this.groups[defaultGroup];this.currentGroup.haveHtml=true;this.scroller=new YAHOO.Travel.tmainDestScroll(this);this.recat=new YAHOO.Travel.tmainDestRecat(this);this.destsDomId='mainDestCont';this.destsDomEl=null;this.originHandler=new YAHOO.Travel.tmainDestOriginHandler();};
YAHOO.Travel.tmainDestMgr.prototype.getGroup=function(name,url){return new YAHOO.Travel.tmainDestGroup(name,url);};
YAHOO.Travel.tmainDestMgr.prototype.addDest=function(id,group){if(!group){group=this.defaultGroup;}if(!this.groups[group]){return;}this.groups[group].addDest(id);this.scroller.destCount++;};
YAHOO.Travel.tmainDestMgr.prototype.addGroup=function(name,url){if(this.groups[name]){return;}this.groups[name]=this.getGroup(name,url);};
YAHOO.Travel.tmainDestMgr.prototype.switchGroup=function(to,html){if(!this.groups[to]){return false;}if(!this.currentGroup.contDomEl){this.currentGroup.contDomEl=document.getElementById(this.currentGroup.contDomId);}this.currentGroup.contDomEl.style.display='none';this.currentGroup=this.groups[to];if(!this.currentGroup.contDomEl){this.currentGroup.contDomEl=document.getElementById(this.currentGroup.contDomId);}if(html){this.currentGroup.contDomEl.innerHTML=html;this.currentGroup.haveHtml=true;}this.currentGroup.contDomEl.style.display='block';};
YAHOO.Travel.tmainDestGroup=function(name,url){this.name=name;this.url=url;this.dests={};
this.destCount=0;this.contDomId=name+'_theme_cont';this.contDomEl=null;this.haveHtml=false;};
YAHOO.Travel.tmainDestGroup.prototype.addDest=function(id){this.destCount++;var key='d-'+id;this.dests[key]=this.getDest(id,this);this.dests[key].initEvents();};
YAHOO.Travel.tmainDestGroup.prototype.getDest=function(id,obj){return new YAHOO.Travel.tmainDest(id,obj);};
YAHOO.Travel.tmainDest=function(id,parent){this.id=id;this.parent=parent;this.tabContEl=null;this.tabIds={'deals':'destDealsTab-'+this.parent.name+'-'+id,'trips':'destTripsTab-'+this.parent.name+'-'+id,'guides':'destGuidesTab-'+this.parent.name+'-'+id,'weather':'destWeatherTab-'+this.parent.name+'-'+id};
this.detIds={'deals':'destDealsDet-'+this.parent.name+'-'+id,'trips':'destTripsDet-'+this.parent.name+'-'+id,'guides':'destGuidesDet-'+this.parent.name+'-'+id,'weather':'destWeatherDet-'+this.parent.name+'-'+id};
this.highlightedTab=document.getElementById(this.tabIds['deals']);this.displayedDetails=document.getElementById(this.detIds['deals']);};
YAHOO.Travel.tmainDest.prototype.initEvents=function(){;YAHOO.util.Event.addListener('dest-'+this.parent.name+'-'+this.id,'mouseover',this.showTabs,this,true);YAHOO.util.Event.addListener('dest-'+this.parent.name+'-'+this.id,'mouseout',this.hideTabs,this,true);YAHOO.util.Event.addListener(this.tabIds['deals'],'mouseover',this.changeToDeals,this);YAHOO.util.Event.addListener(this.tabIds['trips'],'mouseover',this.changeToTrips,this);YAHOO.util.Event.addListener(this.tabIds['guides'],'mouseover',this.changeToGuides,this);YAHOO.util.Event.addListener(this.tabIds['weather'],'mouseover',this.changeToWeather,this);};

YAHOO.Travel.tmainDestScroll=function(parent){ this.parent=parent;this.destCount=0;this.contDomId='mainDestCont';this.rArrowDomId='destMagArrR';this.lArrowDomId='destMagArrL';this.rArrowEl=null;this.lArrowEl=null;this.scrollPosL=0;this.scrollPosR=3;this.destWidth=220;this.scrollAnim=new YAHOO.util.Scroll(this.contDomId);this.scrollAnim.duration=1.1;this.scrollAnim.onComplete.subscribe(this.enableArrows,this,true);this.curStartDomId='curDestStart';this.curEndDomId='curDestEnd';this.curTotDomId='curDestTotal';this.curStartEl=null;this.curEndEl=null;this.curTotEl=null;this.selectedBtn=null;this.selectedBtnIdx=null;this.btnCnt=0;this.scrollBtns=[new YAHOO.Travel.tmainDestScrollBtn(this,1,this.btnCnt++),new YAHOO.Travel.tmainDestScrollBtn(this,3,this.btnCnt++),new YAHOO.Travel.tmainDestScrollBtn(this,5,this.btnCnt++),new YAHOO.Travel.tmainDestScrollBtn(this,7,this.btnCnt++),new YAHOO.Travel.tmainDestScrollBtn(this,9,this.btnCnt++)];this.scrollBtns[0].setAsSelected();var resetAnim=new YAHOO.util.Scroll(this.contDomId);resetAnim.attributes.scroll={to:[0,0]};
resetAnim.animate();};
YAHOO.Travel.tmainDestScroll.prototype.scrollTo=function(pos){ if(pos<0||pos>this.destCount){return;}this.disableArrows();this.scrollPosL=pos;this.scrollPosR=pos+3;this.setCounters();var scrollTo=this.scrollPosL*this.destWidth;this.scrollAnim.attributes.scroll={to:[scrollTo,0]};
this.scrollAnim.animate();};
YAHOO.Travel.tmainDestScroll.prototype.zero=function(){;this.destCount=0;this.scrollPosL=0;this.scrollPosR=3;this.disableArrows();this.setCounters();document.getElementById(this.contDomId).scrollLeft=0;for(var i=0;i<this.scrollBtns.length;i++){this.scrollBtns[i].hide();}this.scrollBtns[this.selectedBtnIdx].btnOff();};
YAHOO.Travel.tmainDestScroll.prototype.calibrate=function(){;this.destCount=this.parent.currentGroup.destCount;if(this.destCount>3){this.enableRArrow();}if(!this.curTotEl){this.curTotEl=document.getElementById(this.curTotDomId);}this.curTotEl.innerHTML=this.destCount;var cnt=0;if(this.destCount>3){for(var i=1;i<=this.destCount;i+=3){this.scrollBtns[cnt].enable();this.scrollBtns[cnt++].show();}}this.scrollBtns[0].setAsSelected();};

YAHOO.Travel.tmainDestScroll.prototype.scrollRight=function()
{
  if(this.scrollPosR>=this.destCount){return;}
  var scrollNum=(this.destCount%3==1&&this.scrollPosR==this.destCount-1)?1:3;
  this.disableArrows();
  this.scrollPosR+=scrollNum;
  this.scrollPosL+=scrollNum;
  this.setCounters();
  var scrollTo=this.scrollPosL*this.destWidth;
  this.scrollAnim.attributes.scroll={to:[scrollTo,0]};
  this.scrollAnim.animate();
  this.scrollBtns[this.selectedBtnIdx].btnOff();
  if (this.selectedBtnIdx == 1)
    this.scrollBtns[this.selectedBtnIdx+2].setAsSelected();
  else
    this.scrollBtns[this.selectedBtnIdx+1].setAsSelected();
};

YAHOO.Travel.tmainDestScroll.prototype.scrollLeft=function()
{
  if(this.scrollPosL<=0){return;}
  var scrollNum=(this.destCount%3==1&&this.scrollPosR==this.destCount)?1:3;
  this.disableArrows();
  this.scrollPosR-=scrollNum;
  this.scrollPosL-=scrollNum;
  this.setCounters();
  var scrollTo=this.scrollPosL*this.destWidth;
  this.scrollAnim.attributes.scroll={to:[scrollTo,0]};
  this.scrollAnim.animate();
  this.scrollBtns[this.selectedBtnIdx].btnOff();
  if (this.selectedBtnIdx == 3)
    this.scrollBtns[this.selectedBtnIdx-2].setAsSelected();
  else
    this.scrollBtns[this.selectedBtnIdx-1].setAsSelected();
};

YAHOO.Travel.tmainDestScroll.prototype.setCounters=function(){;
  if(!this.curStartEl)
  {
    this.curStartEl=document.getElementById(this.curStartDomId);
  }
  this.curStartEl.innerHTML=this.scrollPosL+1;
  if(!this.curEndEl)
  {
    this.curEndEl=document.getElementById(this.curEndDomId);
  }
  if(this.scrollPosR > this.destCount)
  {
  this.curEndEl.innerHTML=this.destCount;
  }
  else
  {
  this.curEndEl.innerHTML=this.scrollPosR;
  }
};

YAHOO.Travel.tmainDestScroll.prototype.enableArrows=function(){this.enableRArrow();this.enableLArrow();for(var i=0;i<this.scrollBtns.length;i++){this.scrollBtns[i].enable();}};
YAHOO.Travel.tmainDestScroll.prototype.enableRArrow=function(){if(this.scrollPosR>=this.destCount){return;}if(!this.rArrowEl){this.rArrowEl=document.getElementById(this.rArrowDomId);}YAHOO.util.Dom.removeClass(this.rArrowEl,'leftOff');YAHOO.util.Event.addListener(this.rArrowEl,'click',this.scrollRight,this,true);};
YAHOO.Travel.tmainDestScroll.prototype.enableLArrow=function(){if(this.scrollPosL<=0){return;}if(!this.lArrowEl){this.lArrowEl=document.getElementById(this.lArrowDomId);}YAHOO.util.Dom.removeClass(this.lArrowEl,'rightOff');YAHOO.util.Event.addListener(this.lArrowEl,'click',this.scrollLeft,this,true);};
YAHOO.Travel.tmainDestScroll.prototype.disableArrows=function(){if(!this.rArrowEl){this.rArrowEl=document.getElementById(this.rArrowDomId);}YAHOO.util.Dom.addClass(this.rArrowEl,'rightOff');rar=YAHOO.util.Event.removeListener(this.rArrowEl,'click',this.scrollRight);if(!this.lArrowEl){this.lArrowEl=document.getElementById(this.lArrowDomId);}YAHOO.util.Dom.addClass(this.lArrowEl,'leftOff');YAHOO.util.Event.removeListener(this.lArrowEl,'click',this.scrollLeft);for(var i=0;i<this.scrollBtns.length;i++){this.scrollBtns[i].disable();}};

YAHOO.Travel.tmainDestScrollBtn=function(parent,num,idx){
  if (num == 3){num=4;} if(num == 5 || num == 9){this.parent=parent; return;} 
  this.parent=parent; 
  this.num=num;
  this.idx=idx;
  this.btnDomId='destMagBtn_'+num;
  YAHOO.util.Event.addListener(this.btnDomId,'click',this.btnClick,this,true);
};

YAHOO.Travel.tmainDestScrollBtn.prototype.btnClick=function(){if(this.idx==this.parent.selectedBtnIdx){return;}var scrollToIdx=(this.num==this.parent.destCount)?this.num-3:this.num-1;this.parent.scrollTo(scrollToIdx);this.parent.selectedBtn.btnOff();

  this.btnDomId='destMagBtn_1';
  YAHOO.util.Dom.removeClass(this.btnDomId,'selected');
  this.btnDomId='destMagBtn_2';
  YAHOO.util.Dom.removeClass(this.btnDomId,'selected');
  this.btnDomId='destMagBtn_3';
  YAHOO.util.Dom.removeClass(this.btnDomId,'selected');
  
  this.btnDomId='destMagBtn_'+this.num;  
  
  this.setAsSelected();};
  
YAHOO.Travel.tmainDestScrollBtn.prototype.show=function(){YAHOO.util.Dom.removeClass(this.btnDomId,'nodisp');};
YAHOO.Travel.tmainDestScrollBtn.prototype.hide=function(){YAHOO.util.Dom.addClass(this.btnDomId,'nodisp');};

YAHOO.Travel.tmainDestScrollBtn.prototype.setAsSelected=function()
{  
  YAHOO.util.Dom.addClass(this.btnDomId,'selected');
  this.parent.selectedBtn=this;
  this.parent.selectedBtnIdx=this.idx;
};

YAHOO.Travel.tmainDestScrollBtn.prototype.btnOff=function(){YAHOO.util.Dom.removeClass(this.btnDomId,'selected');};
YAHOO.Travel.tmainDestScrollBtn.prototype.enable=function(){YAHOO.util.Event.addListener(this.btnDomId,'click',this.btnClick,this,true);};
YAHOO.Travel.tmainDestScrollBtn.prototype.disable=function(){YAHOO.util.Event.removeListener(this.btnDomId,'click',this.btnClick);};
YAHOO.Travel.tmainDestRecat=function(parent){this.parent=parent;this.selectDomId='destsRecatSel';this.selectDomEl=null;this.loadingDomId='destLoadingCont';this.callbackObj={success:this.callbackFn,failure:function(){;},scope:this};
YAHOO.util.Event.addListener(this.selectDomId,'change',this.getNewCat,this,true);YAHOO.util.Event.addListener(window,'load',this.resetSelect,this,true);};
YAHOO.Travel.tmainDestRecat.prototype.getNewCat=function(){this.parent.scroller.zero();var val=this.selectDomEl.value;var groupExists=this.parent.groups[val].haveHtml;if(!groupExists){var url=this.parent.groups[val].url+'&rand='+Math.random();YAHOO.util.Connect.asyncRequest('GET',url,this.callbackObj);}if(!this.loadingDomEl){this.loadingDomEl=document.getElementById(this.loadingDomId);}this.loadingDomEl.style.display='block';if(!this.parent.destsDomEl){this.parent.destsDomEl=document.getElementById(this.parent.destsDomId);}this.parent.destsDomEl.style.visibility='hidden';if(groupExists){this.parent.switchGroup(val);setTimeout(this.parent.instance+'.recat.hideLoading()',800);}};
YAHOO.Travel.tmainDestRecat.prototype.callbackFn=function(o){var resp=o.responseText;eval(resp);this.hideLoading();};
YAHOO.Travel.tmainDestRecat.prototype.hideLoading=function(){this.parent.scroller.calibrate();this.loadingDomEl.style.display='none';this.parent.destsDomEl.style.visibility='visible';};
YAHOO.Travel.tmainDestRecat.prototype.resetSelect=function(){this.selectDomEl=document.getElementById(this.selectDomId);if(this.selectDomEl){this.selectDomEl.value=this.parent.defaultGroup;}};
YAHOO.Travel.tmainDestOriginHandler=function(){;this.promptDomId='tmdChangeOrigPrompt';this.formDomId='tmdChangeOrigForm';this.formInputDomId='tmdChangeOrigInput';this.cancelBtnDomId='tmdChangeOrigCncl';YAHOO.util.Event.addListener(this.promptDomId,'click',this.showForm,this);YAHOO.util.Event.addListener(this.cancelBtnDomId,'click',this.hideForm,this,true);};
YAHOO.Travel.tmainDestOriginHandler.prototype.showForm=function(e,thisObj){YAHOO.util.Dom.addClass(this,'turned');YAHOO.util.Dom.removeClass(thisObj.formDomId,'nodisp');document.getElementById(thisObj.formInputDomId).focus();};
YAHOO.Travel.tmainDestOriginHandler.prototype.hideForm=function(){;YAHOO.util.Dom.addClass(this.formDomId,'nodisp');YAHOO.util.Dom.removeClass(this.promptDomId,'turned');};

