/* ? 2005 Yahoo! Inc. All rights reserved. */

var numItens = 4;
YAHOO.Travel2.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.Travel2.tmainDealsModUsrComment(i,this));}this.nowShowingUsrComm=0;this.animDivIds=['dealsModTopGdeLink','dealsModDealsTitle','dealsModFlightDeal','dealsModHotelDeal','dealsModUsersSec'];new YAHOO.Travel2.tmainMapSrchBar(this.newDestTextDomId,'Enter Destination');YAHOO.util.Event.addListener(this.newDestFormDomId,'submit',this.submitDestChange,this,true);};
YAHOO.Travel2.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.Travel2.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.Travel2.tmainDealsModUsrComment(i,this));}this.nowShowingUsrComm=0;this.newDestAnims();};
YAHOO.Travel2.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.Travel2.tmainDealsModMgr.prototype.showLoading=function(){;YAHOO.util.Dom.setStyle(this.bodyDomId,'opacity',.2);YAHOO.util.Dom.removeClass(this.loadingDomId,'loadingDormant');};
YAHOO.Travel2.tmainDealsModMgr.prototype.hideLoading=function(){;YAHOO.util.Dom.setStyle(this.bodyDomId,'opacity',1);YAHOO.util.Dom.addClass(this.loadingDomId,'loadingDormant');};
YAHOO.Travel2.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.Travel2.tmainDealsModMgr.prototype.setNowShowing=function(num){this.nowShowingUsrComm=num;};
YAHOO.Travel2.tmainDealsModMgr.prototype.hideUsrComment=function(){;this.usrCommObjs[this.nowShowingUsrComm].hideUsrComment();};
YAHOO.Travel2.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.Travel2.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.Travel2.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.Travel2.tmainDealsModUsrComment.prototype.removeEvents=function(){;YAHOO.util.Event.removeListener(this.usrImgDomId,'mouseover',this.chgUsrComment);};

/* ? 2005 Yahoo! Inc. All rights reserved. */YAHOO.Travel2.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.Travel2.tmainDestScroll(this);this.recat=new YAHOO.Travel2.tmainDestRecat(this);this.destsDomId='mainDestCont2';this.destsDomEl=null;this.originHandler=new YAHOO.Travel2.tmainDestOriginHandler();};
YAHOO.Travel2.tmainDestMgr.prototype.getGroup=function(name,url){return new YAHOO.Travel2.tmainDestGroup(name,url);};
YAHOO.Travel2.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.Travel2.tmainDestMgr.prototype.addGroup=function(name,url){if(this.groups[name]){return;}this.groups[name]=this.getGroup(name,url);};
YAHOO.Travel2.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.Travel2.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.Travel2.tmainDestGroup.prototype.addDest=function(id){this.destCount++;var key='d-'+id;this.dests[key]=this.getDest(id,this);this.dests[key].initEvents();};
YAHOO.Travel2.tmainDestGroup.prototype.getDest=function(id,obj){return new YAHOO.Travel2.tmainDest(id,obj);};
YAHOO.Travel2.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.Travel2.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.Travel2.tmainDestScroll = function(parent) {
  this.parent = parent;
  this.destCount = 0;
  this.contDomId = 'mainDestCont2';
  this.rArrowDomId = 'destMagArrR2';
  this.lArrowDomId = 'destMagArrL2';
  this.rArrowEl = null;
  this.lArrowEl = null;
  this.scrollPosL = 0;
  this.scrollPosR = numItens;
  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 = 'curDestStart2';
  //this.curEndDomId = 'curDestEnd2';
  this.curTotDomId = 'curDestTotal2';
  this.curNumPagId = 'numPagina';
  this.recomecar = 'recomecar';
  this.curStartEl = null;
  this.curEndEl = null;
  this.curTotEl = null;
  this.selectedBtn = null;
  this.selectedBtnIdx = null;
  this.btnCnt = 0;
  this.scrollBtns = [new YAHOO.Travel2.tmainDestScrollBtn(this, 1, this.btnCnt++), new YAHOO.Travel2.tmainDestScrollBtn(this, 4, this.btnCnt++), new YAHOO.Travel2.tmainDestScrollBtn(this, 7, this.btnCnt++), new YAHOO.Travel2.tmainDestScrollBtn(this, 10, this.btnCnt++), new YAHOO.Travel2.tmainDestScrollBtn(this, 13, this.btnCnt++)];
  this.scrollBtns[0].setAsSelected();
  var resetAnim = new YAHOO.util.Scroll(this.contDomId);
  resetAnim.attributes.scroll = { to: [0, 0] };
  resetAnim.animate();
};
YAHOO.Travel2.tmainDestScroll.prototype.scrollTo = function(pos) {
  if (pos < 0 || pos > this.destCount) { return; } this.disableArrows(); this.scrollPosL = pos; this.scrollPosR = pos + numItens; this.setCounters(); var scrollTo = this.scrollPosL * this.destWidth; this.scrollAnim.attributes.scroll = { to: [scrollTo, 0] };
this.scrollAnim.animate();};
YAHOO.Travel2.tmainDestScroll.prototype.zero = function() { ; this.destCount = 0; this.scrollPosL = 0; this.scrollPosR = numItens; 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.Travel2.tmainDestScroll.prototype.calibrate = function() 
{
  this.destCount = this.parent.currentGroup.destCount;
  if (this.destCount > numItens) {
    this.enableRArrow();
  } 
  if (!this.curTotEl) {
    this.curTotEl = document.getElementById(this.curTotDomId);
  }
  var v = this.destCount / numItens;
  if (v % 1 != 0)
    v = v + 1;
  this.curTotEl.innerHTML = parseInt(v);
  var cnt = 0;
  if (this.destCount > numItens) {
    for (var i = 1; i <= this.destCount; i += numItens) {
      this.scrollBtns[cnt].enable();
      this.scrollBtns[cnt++].show();
    }
  }
  this.scrollBtns[0].setAsSelected();
};

YAHOO.Travel2.tmainDestScroll.prototype.scrollRight=function()
{
  if(this.scrollPosR>=this.destCount){return;}
  var scrollNum = (this.destCount % numItens == 1 && this.scrollPosR == this.destCount - 1) ? 1 : numItens;
  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.Travel2.tmainDestScroll.prototype.scrollLeft=function()
{
  if(this.scrollPosL<=0){return;}
  var scrollNum = (this.destCount % numItens == 1 && this.scrollPosR == this.destCount) ? 1 : numItens;
  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 == numItens)
    this.scrollBtns[this.selectedBtnIdx-2].setAsSelected();
  else
    this.scrollBtns[this.selectedBtnIdx-1].setAsSelected();
};

YAHOO.Travel2.tmainDestScroll.prototype.setCounters = function() {
var v = this.scrollPosR / numItens;
if (v % 1 != 0)
  v = v + 1;
document.getElementById(this.curNumPagId).innerHTML = parseInt(v);
if ((this.scrollPosR / numItens) > 1)
    document.getElementById(this.recomecar).style.display = '';
  else
    document.getElementById(this.recomecar).style.display = 'none';
};

YAHOO.Travel2.tmainDestScroll.prototype.enableArrows=function(){this.enableRArrow();this.enableLArrow();for(var i=0;i<this.scrollBtns.length;i++){this.scrollBtns[i].enable();}};
YAHOO.Travel2.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.Travel2.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.Travel2.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.Travel2.tmainDestScrollBtn=function(parent,num,idx){
if (num == 3) { num = numItens; } if (num == 5 || num == 9) { this.parent = parent; return; } 
  this.parent=parent; 
  this.num=num;
  this.idx=idx;
  this.btnDomId='destMagBtn2_'+num;
  YAHOO.util.Event.addListener(this.btnDomId,'click',this.btnClick,this,true);
};

YAHOO.Travel2.tmainDestScrollBtn.prototype.btnClick = function() {
  if (this.idx == this.parent.selectedBtnIdx) { return; } var scrollToIdx = (this.num == this.parent.destCount) ? this.num - numItens : this.num - 1; this.parent.scrollTo(scrollToIdx); this.parent.selectedBtn.btnOff();

  this.btnDomId='destMagBtn2_1';
  YAHOO.util.Dom.removeClass(this.btnDomId,'selected');
  this.btnDomId='destMagBtn2_2';
  YAHOO.util.Dom.removeClass(this.btnDomId,'selected');
  this.btnDomId='destMagBtn2_3';
  YAHOO.util.Dom.removeClass(this.btnDomId, 'selected');
  this.btnDomId = 'destMagBtn2_4';
  YAHOO.util.Dom.removeClass(this.btnDomId, 'selected');
  
  this.btnDomId='destMagBtn2_'+this.num;  
  
  this.setAsSelected();};
  
YAHOO.Travel2.tmainDestScrollBtn.prototype.show=function(){YAHOO.util.Dom.removeClass(this.btnDomId,'nodisp');};
YAHOO.Travel2.tmainDestScrollBtn.prototype.hide=function(){YAHOO.util.Dom.addClass(this.btnDomId,'nodisp');};

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

YAHOO.Travel2.tmainDestScrollBtn.prototype.btnOff=function(){YAHOO.util.Dom.removeClass(this.btnDomId,'selected');};
YAHOO.Travel2.tmainDestScrollBtn.prototype.enable=function(){YAHOO.util.Event.addListener(this.btnDomId,'click',this.btnClick,this,true);};
YAHOO.Travel2.tmainDestScrollBtn.prototype.disable=function(){YAHOO.util.Event.removeListener(this.btnDomId,'click',this.btnClick);};
YAHOO.Travel2.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.Travel2.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.Travel2.tmainDestRecat.prototype.callbackFn=function(o){var resp=o.responseText;eval(resp);this.hideLoading();};
YAHOO.Travel2.tmainDestRecat.prototype.hideLoading=function(){this.parent.scroller.calibrate();this.loadingDomEl.style.display='none';this.parent.destsDomEl.style.visibility='visible';};
YAHOO.Travel2.tmainDestRecat.prototype.resetSelect=function(){this.selectDomEl=document.getElementById(this.selectDomId);if(this.selectDomEl){this.selectDomEl.value=this.parent.defaultGroup;}};
YAHOO.Travel2.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.Travel2.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.Travel2.tmainDestOriginHandler.prototype.hideForm=function(){;YAHOO.util.Dom.addClass(this.formDomId,'nodisp');YAHOO.util.Dom.removeClass(this.promptDomId,'turned');};

