var range=180;var vDateRange=180;var initMin=0;var initMax=180;var PriceMax=1000;var PriceScale=1;var PriceTickSize=0;var vMinPrice=0;var vMaxPrice=0;var vMinStar=3;var vMaxStar=6;var dateMax=0;var DateScale=1;var DateTickSize=0;var MinDate=0;var MaxDate=31;var itins=[];var filteredSearches=[];var tree;var cruiseTree;var nodes=[];var nodeIndex;var price_slider,date_slider,star_slider;var slidersLoaded=false;var filterCount=0;var totalCount=0;var PageNo=1;var LengthCat=[];var SizeCat="|";var RegionCat="|";var yuiPrice;var yuiStar;var yuiDeparture;var yuiDuration;var yuiSize;var yuiRegion;var yuiCruiselines;var yuiLoading;var yuiNoresults;var m_names=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");function commaFormatted(g){var d=",";var f=parseInt(g);if(isNaN(f)){return"";}var h="";if(f<0){h="-";}f=Math.abs(f);var k=new String(f);var b=[];while(k.length>3){var j=k.substr(k.length-3);b.unshift(j);k=k.substr(0,k.length-3);}if(k.length>0){b.unshift(k);}k=b.join(d);g=k;g="$"+h+g;return g;}function pageReload(){var a=e("dep_date");var b=tree.getRoot().children;clearArray(checkedRegions);for(var d=0;d<b.length;d++){if(b[d].checked){checkedRegions[checkedRegions.length]=b[d].destinationId;}}vDate=a.options[a.selectedIndex].value;var f=vDate.split("-");for(var d=0;d<m_names.length;d++){if(m_names[d]==f[1]){vCrunchDate=new Date(f[2],d,1);}}loadSearch();}function compLinkCheck(){var a=e("viewComparisonLink");if(arrSess.length){a.style.display="inline";}else{a.style.display="none";}return false;}function loadSearch(){compLinkCheck();clearArray(itins);var f=vCrunchDate.getMonth();var b=vCrunchDate.getFullYear();var a="/xml/search_"+m_names[f]+b+".xml";var d=YAHOO.util.Connect.asyncRequest("GET",a,{success:SearchSuccess,failure:SearchFailure});}function SearchSuccess(g){var f=g.responseXML;var d=f.documentElement.getElementsByTagName("itins");if(!d.length){return;}totalCount=parseInt(f.documentElement.getAttribute("count"));for(var b=0;b<d.length;b++){var a=new itinResult(d[b]);}buildRegionNodeTree();buildCruiseNodeTree();reloadSliders();}function SearchFailure(a){return false;}function daysInMonth(a,b){return 32-new Date(a,b,32).getDate();}var tmpPriceMax=0;function reloadSliders(){PriceMax=0;for(i=0;i<itins.length;i++){if(itins[i].rate>PriceMax){PriceMax=itins[i].rate;}}tmpPriceMax=PriceMax;PriceMax=(Math.ceil(PriceMax/500)*500)+500;PriceScale=PriceMax/range;PriceTickSize=(range/PriceMax)*500;dateMax=daysInMonth(vCrunchDate.getFullYear(),vCrunchDate.getMonth());DateTickSize=(range/dateMax);vDateRange=Math.round(DateTickSize*dateMax)+1;loadSliders();}function itinResult(b){this.id=itins.length;itins.push(this);var a=b.getAttribute("dep_date").split("-");this.cruiseId=b.getAttribute("cruise_id");this.shipSize=parseInt(b.getAttribute("size"));this.duration=parseInt(b.getAttribute("duration"));this.cruise_name=b.getAttribute("cruise_name");this.ship_name=b.getAttribute("ship_name");this.star_rating=parseInt(b.getAttribute("star_rating"));this.adv_star_rating=parseFloat(b.getAttribute("adv_star_rating"));this.start_port=b.getAttribute("start_port");this.start_portId=b.getAttribute("start_port_id");this.start_country=b.getAttribute("start_country");this.portCount=parseInt(b.getAttribute("portCount"));this.countryCount=parseInt(b.getAttribute("countryCount"));this.schedId=b.getAttribute("sch_id");this.cruiseDate=new Date(parseInt(a[2]),parseInt(a[1]),parseInt(a[0]));this.cruiseLine=b.getAttribute("cruise_line");this.cruiseLineId=parseInt(b.getAttribute("CruiseLine_ID"));this.destination=b.getAttribute("destination");this.destinationId=parseInt(b.getAttribute("dest_id"));this.rate=parseInt(b.getAttribute("rate"));this.rate2=parseInt(b.getAttribute("rate2"));this.rate3=parseInt(b.getAttribute("rate3"));this.rate4=parseInt(b.getAttribute("rate4"));this.youtube=b.getAttribute("youtube");this.brochure1=parseInt(b.getAttribute("brochure1"));this.brochure2=parseInt(b.getAttribute("brochure2"));this.brochure3=parseInt(b.getAttribute("brochure3"));this.brochure4=parseInt(b.getAttribute("brochure4"));this.liveRate=false;if(b.getAttribute("liveRateCheck")=="true"){this.liveRate=true;}this.filterRate=this.rate;if(this.liveRate){if((!isNaN(this.rate4))&&(!isNaN(this.brochure4))){this.filterRate=this.rate4;}if((!isNaN(this.rate3))&&(!isNaN(this.brochure3))&&((this.rate3<this.filterRate)||(!this.filterRate))){this.filterRate=this.rate3;}if((!isNaN(this.rate2))&&(!isNaN(this.brochure2))&&((this.rate2<this.filterRate)||(!this.filterRate))){this.filterRate=this.rate2;}if((!isNaN(this.rate))&&(!isNaN(this.brochure1))&&((this.rate<this.filterRate)||(!this.filterRate))){this.filterRate=this.rate;}}this.discount=parseInt(b.getAttribute("discount"));this.compared=false;}function filteredSearchResult(a){this.id=filteredSearches.length;filteredSearches.push(this);this.loaded=false;this.cruiseId=a.cruiseId;this.shipSize=a.shipSize;this.duration=a.duration;this.cruise_name=a.cruise_name;this.ship_name=a.ship_name;this.star_rating=a.star_rating;this.adv_star_rating=a.adv_star_rating;this.start_port=a.start_port;this.start_portId=a.start_portId;this.start_country=a.start_country;this.portCount=a.portCount;this.countryCount=a.countryCount;this.schedId=a.schedId;this.cruiseDate=a.cruiseDate;this.cruiseLine=a.cruiseLine;this.cruiseLineId=a.cruiseLineId;this.destination=a.destination;this.destinationId=a.destinationId;this.rate=a.rate;this.rate2=a.rate2;this.rate3=a.rate3;this.rate4=a.rate4;this.youtube=a.youtube;this.brochure1=a.brochure1;this.brochure2=a.brochure2;this.brochure3=a.brochure3;this.brochure4=a.brochure4;this.liveRate=a.liveRate;this.filterRate=a.filterRate;this.discount=a.discount;}filteredSearchResult.prototype.show=function(){if(this.loaded){return;}var a=e("tblResults");a.width="100%";a.border=0;a.cellPadding=0;var o=-1;var q=a.insertRow(o);q.id="cruise"+this.id;var j="country";var f="city";if(this.countryCount>1){j="countries";}if(this.portCount>1){f="ports";}if(!this.liveRate){var l="";if(this.discount>0){l=' <font style="color:#EE4700;font-size:95%;">(includes savings up to '+this.discount+"% off brochure rates!)</font>";}var h="";if(this.rate){h+='<li><span class="name">Inside</span><b id="PriceCabin_'+this.cruiseId+'_1" class="main-price">'+commaFormatted(this.rate)+'</b><b id="PriceDiem_'+this.cruiseId+'_1" class="sub-price">'+commaFormatted(this.rate/this.duration)+" per day</b></li>";}if(this.rate2){h+='<li><span class="name">Outside</span><b id="PriceCabin_'+this.cruiseId+'_2" class="main-price">'+commaFormatted(this.rate2)+'</b><b id="PriceDiem_'+this.cruiseId+'_2" class="sub-price">'+commaFormatted(this.rate2/this.duration)+" per day</b></li>";}if(this.rate3){h+='<li><span class="name">Balcony</span><b id="PriceCabin_'+this.cruiseId+'_3" class="main-price">'+commaFormatted(this.rate3)+'</b><b id="PriceDiem_'+this.cruiseId+'_3" class="sub-price">'+commaFormatted(this.rate3/this.duration)+" per day</b></li>";}if(this.rate4){h+='<li><span class="name">Suite</span><b id="PriceCabin_'+this.cruiseId+'_4" class="main-price">'+commaFormatted(this.rate4)+'</b><b id="PriceDiem_'+this.cruiseId+'_4" class="sub-price">'+commaFormatted(this.rate4/this.duration)+" per day</b></li>";}}else{var g=null;var l="";var h="";if((!isNaN(this.rate4))&&(!isNaN(this.brochure4))){g=Math.round((100-(this.rate4/this.brochure4)*100));}if((!isNaN(this.rate3))&&(!isNaN(this.brochure3))&&((Math.round((100-(this.rate3/this.brochure3)*100))>g)||(!g))){g=Math.round((100-(this.rate3/this.brochure3)*100));}if((!isNaN(this.rate2))&&(!isNaN(this.brochure2))&&((Math.round((100-(this.rate2/this.brochure2)*100))>g)||(!g))){g=Math.round((100-(this.rate2/this.brochure2)*100));}if((!isNaN(this.rate))&&(!isNaN(this.brochure1))&&((Math.round((100-(this.rate/this.brochure1)*100))>g)||(!g))){g=Math.round((100-(this.rate/this.brochure1)*100));}if(g>0){l=' <font style="color:#EE4700;font-size:95%;">(includes savings up to '+g+"% off brochure rates!)</font>";}if((this.rate)&&(this.brochure1)){h+='<li><span class="name">Inside</span><b id="PriceCabin_'+this.cruiseId+'_1" class="main-price">'+commaFormatted(this.rate)+'</b><b id="PriceDiem_'+this.cruiseId+'_1" class="sub-price">was '+commaFormatted(this.brochure1)+"</b></li>";}else{h+='<li><span class="name">Inside</span><b id="PriceCabin_'+this.cruiseId+'_1" class="main-price">Sold Out</b><b id="PriceDiem_'+this.cruiseId+'_1" class="sub-price">n/a</b></li>';}if((this.rate2)&&(this.brochure2)){h+='<li><span class="name">Outside</span><b id="PriceCabin_'+this.cruiseId+'_2" class="main-price">'+commaFormatted(this.rate2)+'</b><b id="PriceDiem_'+this.cruiseId+'_2" class="sub-price">was '+commaFormatted(this.brochure2)+"</b></li>";}else{h+='<li><span class="name">Outside</span><b id="PriceCabin_'+this.cruiseId+'_2" class="main-price">Sold Out</b><b id="PriceDiem_'+this.cruiseId+'_2" class="sub-price">n/a</b></li>';}if((this.rate3)&&(this.brochure3)){h+='<li><span class="name">Balcony</span><b id="PriceCabin_'+this.cruiseId+'_3" class="main-price">'+commaFormatted(this.rate3)+'</b><b id="PriceDiem_'+this.cruiseId+'_3" class="sub-price">was '+commaFormatted(this.brochure3)+"</b></li>";}else{h+='<li><span class="name">Balcony</span><b id="PriceCabin_'+this.cruiseId+'_3" class="main-price">Sold Out</b><b id="PriceDiem_'+this.cruiseId+'_3" class="sub-price">n/a</b></li>';}if((this.rate4)&&(this.brochure4)){h+='<li><span class="name">Suite</span><b id="PriceCabin_'+this.cruiseId+'_4" class="main-price">'+commaFormatted(this.rate4)+'</b><b id="PriceDiem_'+this.cruiseId+'_4" class="sub-price">was '+commaFormatted(this.brochure4)+"</b></li>";}else{h+='<li><span class="name">Suite</span><b id="PriceCabin_'+this.cruiseId+'_4" class="main-price">Sold Out</b><b id="PriceDiem_'+this.cruiseId+'_4" class="sub-price">n/a</b></li>';}}var m='<div id="'+this.schedId+'_compare"> <a href="#" title="Add to cruise comparison" onclick="schCompare(\''+this.schedId+"', 'add'); return false;\">Add to Comparison</a></div>";if(arrSess.length>0){for(var b=0;b<arrSess.length;b++){if(arrSess[b]==this.schedId){m='<div id="'+this.schedId+'_compare"><b>Added to Comparison</b> <a href="/cruise_compare.asp" title="View cruise comparison">View</a> | <a href="#" title="Remove from cruise comparison" onclick="schCompare(\''+this.schedId+"', 'remove'); return false;\">Remove</a></div>";break;}}}var k="";if(this.youtube){k='</a>&nbsp;<a href="itinerary.asp?sched_id='+this.schedId+'"><img style="display:inline;" src="/images/camera.gif" title="Click here to view cruise video">';}var d=q.insertCell(-1);d.innerHTML='<div class="box"><div class="barb">'+'<div id="view-details"><a name="link_'+this.cruiseId+'" title="Click to view cruise itinerary details" href="/itinerary.asp?sched_id='+this.schedId+'">View details</a></div>'+'<div id="addRemove">'+m+"</div>"+'<div id="textlink"><a href="itinerary.asp?sched_id='+this.schedId+'" title="Click for cruise details">'+this.duration+" night &quot;"+this.cruise_name+"&quot; from "+commaFormatted(this.rate)+k+"</a></div>"+"</div>"+'<div class="content">'+'<div class="left-images"> <a href="/itinerary.asp?sched_id='+this.schedId+'"><img src="images/maps/'+this.cruiseId+'.jpg" title="Click to view large Google map and itinerary details" height="150" width="200"></a></div>'+'<div class="description">'+'<div id="search-ship"> <img src="images/ship/105/'+this.cruiseId.substr(0,6)+'.jpg" alt="" align="right" height="63" width="105"><br>'+"<br>"+"<br>"+'<img src="images/logo/thumb/'+this.cruiseId.substr(0,3)+'.gif" alt="" align="right" height="35" width="105"></div>'+"<b>Ship Name:</b> "+this.ship_name+'<img src="/images/'+this.star_rating+'star.gif" style="display: inline; padding-left: 5px;"><br>'+"<b>Cruise Line:</b> "+this.cruiseLine+"<br>"+"<b>Departure Dates:</b> "+dispDate(this.cruiseDate)+"<br>"+"<b>Departs:</b> "+this.start_port+", "+this.start_country+" to "+this.portCount+" "+f+" in "+this.countryCount+" "+j+"<br>"+"<b>Pricing:</b>"+l+'<ul style="padding-top:5px">'+h+"</ul>"+"</div></div></div>";filterCount++;this.loaded=true;};function schCompare(d,f){if((f=="add")&&(arrSess.length>=4)){yuiLimit.show();}else{var a="/saveCruise.asp?sch="+d+"&action="+f;var g=YAHOO.util.Connect.asyncRequest("GET",a,{success:l,failure:l});var m=e(d+"_compare");if(f=="add"){if(d!=""){arrSess[arrSess.length]=d;}m.innerHTML='<div id="'+d+'_compare"><b>Added to Comparison</b> <a href="/cruise_compare.asp">View</a> | <a href="#" onclick="schCompare(\''+d+"', 'remove'); return false;\">Remove</a></div>";}else{if(f=="remove"){m.innerHTML='<div id="'+d+'_compare"> <a href="#" onclick="schCompare(\''+d+"', 'add'); return false;\">Add to Comparison</a></div>";for(var h=0;h<arrSess.length;h++){if(arrSess[h].indexOf(d)!=-1){arrSess.splice(h,1);}}var p=document.registerForm.prefs;var o=document.loginForm.prefs;var b="";for(var k=0;k<arrSched.length;k++){if(arrSched[k]!=""){if(b!=""){b+="|";}b+=arrSched[k];}}p.value=b;o.value=b;}}}compLinkCheck();function l(j){}}function clearArray(a){for(n=a.length-1;n>=0;n--){delete a[n];}a.length=0;}function dispDate(d){var a=d.getDate();var f=d.getMonth();var b=d.getFullYear();return(a+" "+m_names[f]+" "+b);}function durationCheck(a){for(var b=0;b<LengthCat.length;b++){if((LengthCat[b]!=12)&&(LengthCat[b]!=4)){if((LengthCat[b]-1<=a.duration)&&(a.duration<=LengthCat[b]+1)){return true;}}else{if(((LengthCat[b]==12)&&(LengthCat[b]<=a.duration))||((LengthCat[b]==4)&&(LengthCat[b]+1>=a.duration))){return true;}}}return false;}function filterResults(){if(!itins.length){return;}yuiLoading.show();var j=document.getElementsByName("Ship_size");var a=document.getElementsByName("Cruise_duration");var g=parseInt(document.filterform.minPriceVal.value);var d=parseInt(document.filterform.maxPriceVal.value);var h=document.filterform.minDateVal.value;var f=document.filterform.maxDateVal.value;h=new Date(h);f=new Date(f);SizeCat="|";for(var b=0;b<j.length;b++){if(j[b].checked==true){if(j[b].value==1){SizeCat+="1|";}else{if(j[b].value==2){SizeCat+="2|";}else{if(j[b].value==3){SizeCat+="3|";}else{if(j[b].value==4){SizeCat+="4|";}else{if(j[b].value==5){SizeCat+="5|";}}}}}}}LengthCat=[];for(var b=0;b<a.length;b++){if(a[b].checked==true){if(a[b].value==1){LengthCat[LengthCat.length]=1;}else{if(a[b].value==2){LengthCat[LengthCat.length]=4;}else{if(a[b].value==3){LengthCat[LengthCat.length]=7;}else{if(a[b].value==4){LengthCat[LengthCat.length]=10;}else{if(a[b].value==5){LengthCat[LengthCat.length]=12;}}}}}}}itinFilter();arraySort();showResults();}function arraySort(){function b(m,l){if(m.filterRate!=l.filterRate){return m.filterRate-l.filterRate;}else{return m.cruiseDate.getDate()-l.cruiseDate.getDate();}}function g(m,l){if((m.filterRate/m.duration)!=(l.filterRate/l.duration)){return(m.filterRate/m.duration)-(l.filterRate/l.duration);}else{return m.cruiseDate.getDate()-l.cruiseDate.getDate();}}function f(m,l){if(m.duration!=l.duration){return m.duration-l.duration;}else{if(m.filterRate!=l.filterRate){return m.filterRate-l.filterRate;}else{return m.cruiseDate.getDate()-l.cruiseDate.getDate();}}}var j=document.getElementsByName("orderby");var k=1;for(var h=0;h<j.length;h++){if(j[h].checked){k=j[h].value;}}if(k==1){filteredSearches.sort(b);}else{if(k==2){filteredSearches.sort(g);}else{filteredSearches.sort(f);}}for(var d=0;d<filteredSearches.length;d++){filteredSearches[d].id=d;}}function regionCheck(f){var a=tree.getRoot().children;for(var b=0;b<a.length;b++){if(a[b].checked){if(a[b].checkState==1){var d=a[b].children;for(i=0;i<d.length;i++){if((d[i].checked)&&(d[i].label==f.start_port)&&(a[b].label==f.destination)){return true;}}}else{if(a[b].label==f.destination){return true;}}}}return false;}function cruiseCheck(b){var f=cruiseTree.getRoot().children;for(var a=0;a<f.length;a++){if(f[a].checked){if(f[a].checkState=1){var d=f[a].children;for(i=0;i<d.length;i++){if(d[i].checked){if(d[i].label==b.ship_name){return true;}}}}else{if(f[a].label==b.cruiseLine){return true;}}}}return false;}function dupeCheck(b){if(!filteredSearches.length){return true;}for(var a=0;a<filteredSearches.length;a++){if(filteredSearches[a].schedId==b.schedId){return false;}}return true;}function itinFilter(){clearArray(filteredSearches);for(var a=0;a<itins.length;a++){if((itins[a].filterRate)&&(SizeCat.indexOf("|"+itins[a].shipSize.toString()+"|")>-1)&&(durationCheck(itins[a]))&&((itins[a].adv_star_rating>=vMinStar)&&(itins[a].adv_star_rating<=vMaxStar))&&(vMinPrice<=itins[a].filterRate)&&(itins[a].filterRate<=vMaxPrice)&&(MinDate<=itins[a].cruiseDate.getDate())&&(itins[a].cruiseDate.getDate()<=MaxDate)&&(regionCheck(itins[a]))&&(cruiseCheck(itins[a]))&&(dupeCheck(itins[a]))){var b=new filteredSearchResult(itins[a]);}}}function resetSlider(a){a.minSlider.unsubscribe("slideEnd");a.maxSlider.unsubscribe("slideEnd");a.setValues(0,180,true,true,false);a.minSlider.subscribe("slideEnd",filterResults);a.maxSlider.subscribe("slideEnd",filterResults);}function resetSearch(a,b){if(a=="show"){if(b=="all"){resetSlider(price_slider);resetSlider(star_slider);resetSlider(date_slider);resetCheckBoxes();checkAll(tree);checkAll(cruiseTree);e("allReset").style.display="none";}else{if(b=="cruises"){checkAll(cruiseTree);}else{checkAll(tree);}}}else{if(a=="hide"){if(b=="all"){e("allReset").style.display="inline";uncheckAll(tree);uncheckAll(cruiseTree);}else{if(b=="cruises"){e("allReset").style.display="inline";uncheckAll(cruiseTree);}else{e("allReset").style.display="inline";uncheckAll(tree);}}}}return true;}function resetCheckBoxes(){var b=document.getElementsByName("Cruise_duration");for(var a=0;a<b.length;a++){b[a].onclick="";b[a].checked="checked";b[a].onclick=Function("filterResults();");}var b=document.getElementsByName("Ship_size");for(var a=0;a<b.length;a++){b[a].onclick="";b[a].checked="checked";b[a].onclick=Function("filterResults();");}}function showResults(m){filterCount=0;var d=e("tblResults");for(var g=d.rows.length-1;g>=0;g--){d.deleteRow(g);}for(var h=0;h<filteredSearches.length;h++){filteredSearches[h].loaded=false;}e("results-sort").style.display="block";if(!filteredSearches.length){var r=d.insertRow(-1);var f=r.insertCell(-1);f.innerHTML='<div class="box2"><div class="zero-results">'+"<b>You're filter choices have hidden all cruise results. Try making changes to the filters at left to display results again.</b></div></div>";e("results-sort").style.display="none";}var l=10;var q=1;if(m){q=m;}PageNo=q;q=(q*10)-10;var p=q+10;if(p>filteredSearches.length-1){p=filteredSearches.length;}for(c=q;c<p;c++){filteredSearches[c].show();}var o=1900+vCrunchDate.getYear();if(navigator.appName.indexOf("Microsoft")!=-1){o=vCrunchDate.getYear();}e("count").innerHTML='<span class="filtered">'+filteredSearches.length+'</span> results of <span class="filtered">'+totalCount+'</span> total cruises for <span class="filtered">'+m_names[vCrunchDate.getMonth()]+" "+o+"</span>";if(filteredSearches.length<totalCount){e("allReset").style.display="inline";}else{e("allReset").style.display="none";}setTimeout("pagination();",1);}function pagination(){if(itins.length>0){var h="";var g=1;if(filteredSearches.length%10==0){g=filteredSearches.length/10;}else{g=Math.floor(filteredSearches.length/10)+1;}if(PageNo>1){h+='<span class="link" onclick="showResults('+(PageNo-1)+');">Previous</span>';}var f=false;var b=false;for(var a=1;a<=g;a++){if(a==PageNo){h+='<span class="selected">'+a+"</span>";}else{if(((a>(PageNo-3))&&(a<(PageNo+2)))||(a==g)||(a==1)||((a<7)&&(PageNo<5))){h+='<span class="link" onclick="showResults('+a+');">'+a+"</span>";}else{if((a<=(PageNo-3))&&(f==false)){h+="<span>...</span>";f=true;}if((a>=(PageNo+2))&&(b==false)){h+="<span>...</span>";b=true;}}}}if(PageNo<g){h+='<span class="link" onclick="showResults('+(PageNo+1)+');">Next</span>';}var d=e("pagination");d.innerHTML=h;var d=e("bottompagination");d.innerHTML=h;}yuiLoading.hide();}function loadSliders(){initMin=0;initMax=180;var d=e("minPriceDisplay");var p=e("maxPriceDisplay");var a=e("minDateDisplay");var f=e("maxDateDisplay");var g=e("minStarDisplay");var m=e("maxStarDisplay");document.filterform.minPriceVal.value=commaFormatted(initMin*PriceScale);document.filterform.maxPriceVal.value=commaFormatted(initMax*PriceScale);d.innerHTML=commaFormatted(initMin*PriceScale);p.innerHTML=commaFormatted(initMax*PriceScale);vMinPrice=Math.round((initMin*PriceScale)/500)*500;vMaxPrice=Math.round((initMax*PriceScale)/500)*500;document.filterform.minDateVal.value=dispDate(vCrunchDate);document.filterform.maxDateVal.value=dispDate(new Date(vCrunchDate.getFullYear(),vCrunchDate.getMonth(),dateMax));a.innerHTML=(vCrunchDate.getDate()+" "+m_names[vCrunchDate.getMonth()]);f.innerHTML=(dateMax+" "+m_names[vCrunchDate.getMonth()]);MinDate=1;MaxDate=dateMax;if(slidersLoaded){price_slider.setValues(0,180,true,true,false);price_slider.maxSlider.tickSize=PriceTickSize;price_slider.minSlider.tickSize=PriceTickSize;date_slider.setValues(0,180,true,true,false);date_slider.maxSlider.tickSize=DateTickSize;date_slider.minSlider.tickSize=DateTickSize;}else{var o=[initMin,initMax];price_slider=new YAHOO.widget.Slider.getHorizDualSlider("pricesliderbg","priceminthumb","pricemaxthumb",range,PriceTickSize,o);price_slider.minSlider.subscribe("change",q);price_slider.maxSlider.subscribe("change",q);price_slider.minSlider.subscribe("slideEnd",filterResults);price_slider.maxSlider.subscribe("slideEnd",filterResults);var l=[initMin,initMax];date_slider=new YAHOO.widget.Slider.getHorizDualSlider("datesliderbg","dateminthumb","datemaxthumb",vDateRange,DateTickSize,l);date_slider.minSlider.subscribe("change",j);date_slider.maxSlider.subscribe("change",j);date_slider.minSlider.subscribe("slideEnd",filterResults);date_slider.maxSlider.subscribe("slideEnd",filterResults);var h=[initMin,initMax];var k=30;star_slider=new YAHOO.widget.Slider.getHorizDualSlider("starsliderbg","starminthumb","starmaxthumb",range,k,o);star_slider.minSlider.subscribe("change",b);star_slider.maxSlider.subscribe("change",b);star_slider.minSlider.subscribe("slideEnd",filterResults);star_slider.maxSlider.subscribe("slideEnd",filterResults);slidersLoaded=true;}function q(){pageTracker._trackPageview("/search/filters/sliders/price");var s=price_slider.minVal;var r=price_slider.maxVal;vMinPrice=Math.round((s*PriceScale)/500)*500;vMaxPrice=Math.round((r*PriceScale)/500)*500;d.innerHTML=commaFormatted(vMinPrice);p.innerHTML=commaFormatted(vMaxPrice);document.filterform.minPriceVal.value=commaFormatted(vMinPrice);document.filterform.maxPriceVal.value=commaFormatted(vMaxPrice);}function j(){pageTracker._trackPageview("/search/filters/sliders/date");var s=date_slider.minVal;var r=date_slider.maxVal;MinDate=Math.round(s/DateTickSize)+1;MaxDate=Math.round(r/DateTickSize);var u=new Date(vCrunchDate.getFullYear(),vCrunchDate.getMonth(),Math.round(s/DateTickSize)+1);var t=new Date(vCrunchDate.getFullYear(),vCrunchDate.getMonth(),Math.round(r/DateTickSize));a.innerHTML=(u.getDate()+" "+m_names[u.getMonth()]);f.innerHTML=(t.getDate()+" "+m_names[t.getMonth()]);document.filterform.minDateVal.value=dispDate(u);document.filterform.maxDateVal.value=dispDate(t);}function b(){pageTracker._trackPageview("/search/filters/sliders/star");var s=star_slider.minVal;var r=star_slider.maxVal;vMinStar=(Math.round(s/k)/2)+3;vMaxStar=(Math.round(r/k)/2)+3;g.innerHTML=vMinStar;m.innerHTML=vMaxStar;document.filterform.minStarVal.value=vMinStar;document.filterform.maxStarVal.value=vMaxStar;}filterResults();}YAHOO.util.Event.on("expand","click",function(a){tree.expandAll();YAHOO.util.Event.preventDefault(a);});YAHOO.util.Event.on("collapse","click",function(a){tree.collapseAll();YAHOO.util.Event.preventDefault(a);});YAHOO.util.Event.on("check","click",function(a){checkAll();YAHOO.util.Event.preventDefault(a);});YAHOO.util.Event.on("uncheck","click",function(a){uncheckAll();YAHOO.util.Event.preventDefault(a);});YAHOO.util.Event.on("getchecked","click",function(a){YAHOO.util.Event.preventDefault(a);});function buildCruiseNodeTree(){cruiseTree=new YAHOO.widget.TreeView("treeDiv2");var d=cruiseTree.getRoot().children;var a=tree.getRoot().children;function m(j){for(var g=0;g<d.length;g++){if(d[g].label==j){return d[g];}}return false;}function h(s,q){var r=s.children;for(var g=0;g<r.length;g++){if(r[g].label==q){return true;}}return false;}for(var f=0;f<a.length;f++){if(a[f].checked){for(var b=0;b<itins.length;b++){if(a[f].label==itins[b].destination){var p=m(itins[b].cruiseLine);if(!p){p=new YAHOO.widget.TaskNode(itins[b].cruiseLine,cruiseTree.getRoot(),false);p.onCheckClick=onCheckClick;}if(!h(p,itins[b].ship_name)){var k=new YAHOO.widget.TaskNode(itins[b].ship_name,p,false);k.onCheckClick=onCheckClick;}if(checkedShips.length){for(var l=0;l<checkedShips.length;l++){if(checkedShips[l]==itins[b].cruiseId.substring(0,6)){k.check();p.expand();}}}else{if(checkedCruiselines.length){for(var l=0;l<checkedCruiselines.length;l++){if(checkedCruiselines[l]==itins[b].cruiseLineId){p.check();p.expand();}}}}}}}}d.sort(labelOrder);for(var f=0;f<d.length;f++){var o=d[f].children;o.sort(labelOrder);}if((!checkedCruiselines.length)&&(!checkedShips.length)){for(var f=0;f<d.length;f++){d[f].check();}}clearArray(checkedShips);clearArray(checkedCruiselines);cruiseTree.subscribe("expand",function(g){});cruiseTree.subscribe("collapse",function(g){});cruiseTree.subscribe("labelClick",function(g){});cruiseTree.subscribe("checkClick",function(g){});cruiseTree.draw();labelLoad();}function labelOrder(f,d){if(f.label<d.label){return -1;}else{return 1;}}var CheckedNodes;function buildRegionNodeTree(){tree=new YAHOO.widget.TreeView("treeDiv1");var k=tree.getRoot().children;function a(g){for(var o=0;o<k.length;o++){if(k[o].label==g){return k[o];}}return false;}function m(p,q){var o=p.children;for(var g=0;g<o.length;g++){if(o[g].label==q){return true;}}return false;}for(var d=0;d<itins.length;d++){var b=a(itins[d].destination);if(!b){b=new YAHOO.widget.TaskNode(itins[d].destination,tree.getRoot(),false);b.destinationId=itins[d].destinationId;b.onCheckClick=onRegionCheckClick;}if(!m(b,itins[d].start_port)){var h=new YAHOO.widget.TaskNode(itins[d].start_port,b,false);h.onCheckClick=onRegionCheckClick;}if(checkedRegions.length){for(var f=0;f<checkedRegions.length;f++){if(checkedRegions[f]==itins[d].destinationId){b.check();b.expand();}}}}var k=tree.getRoot().children;if(!checkedRegions.length){for(var d=0;d<k.length;d++){k[d].check();}}CheckedNodes=getCheckedNodes(k);if(CheckedNodes.length>1){for(var l=0;l<CheckedNodes.length;l++){CheckedNodes[l].collapse();}}k.sort(labelOrder);for(var d=0;d<k.length;d++){var j=k[d].children;j.sort(labelOrder);}tree.subscribe("expand",function(g){});tree.subscribe("collapse",function(g){});tree.subscribe("labelClick",function(g){});tree.subscribe("checkClick",function(g){});tree.draw();}var callback=null;function onRegionCheckClick(d){yuiLoading.show();clearArray(checkedRegions);var a=tree.getRoot().children;CheckedNodes=getCheckedNodes(a);if(CheckedNodes.length>1){for(var b=0;b<CheckedNodes.length;b++){CheckedNodes[b].collapse();}}for(var b=0;b<CheckedNodes.length;b++){checkedRegions[checkedRegions.length]=CheckedNodes[b].destinationId;}setTimeout("clearArray(checkedCruiselines);",1);setTimeout("buildCruiseNodeTree();",1);setTimeout("filterResults();",1);}function onCheckClick(d){yuiLoading.show();var a=cruiseTree.getRoot().children;CheckedNodes=getCheckedNodes(a);if(CheckedNodes.length>1){for(var b=0;b<CheckedNodes.length;b++){CheckedNodes[b].collapse();}}setTimeout("filterResults();",1);}function checkAll(d){var a=d.getRoot().children;for(var b=0;b<a.length;++b){a[b].check();a[b].collapse();}if(d=tree){buildCruiseNodeTree();}filterResults();}function uncheckAll(d){var a=d.getRoot().children;for(var b=0;b<a.length;++b){a[b].uncheck();a[b].collapse();}if(d==tree){buildCruiseNodeTree();}filterResults();}function onLabelClick(a){new YAHOO.widget.TaskNode("new",a,false);a.refresh();return false;}function getCheckedNodes(b){b=b||tree.getRoot().children;checkedNodes=[];for(var d=0,a=b.length;d<a;d=d+1){var f=b[d];if(f.checkState===2){checkedNodes.push(f);}}return checkedNodes;}
