(function(A){A.createUIComponent("waitingDialog",{initialize:function(B){B=$H({name:"waiting_dialog",position:"center"}).merge(B).toObject();return new EzRez.UI.Dialog(B);}});A.createUIComponent("ScheduleChangeModification",(function(){var B=function(){var C=function(F){var E=$("schedule_change_status").value;var D=$("schedule_change_booking_id").value;new Ajax.Request("/travel/itinerary_details_schedule_change_modification_process.cfm",{parameters:{status:E,booking_id:D},evalScripts:true,onCreate:function(){},onLoading:function(G){},onComplete:function(G){},onSuccess:function(G,H){$("schedule_change_success_message").show();$("current_status").innerHTML=E;},onException:function(G,H){$("schedule_change_failure_message").show();},onFailure:function(G){$("schedule_change_failure_message").show();}});};this.applyListeners=function(){if($("schedule_change_modification_update")){$("schedule_change_modification_update").observe("click",C);}};this.removeListeners=function(){};};return{initialize:function(){if($("schedule_change_success_message")){$("schedule_change_success_message").hide();}if($("schedule_change_failure_message")){$("schedule_change_failure_message").hide();}return new B();},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();}};})());A.createUIComponent("detailPricingMatrix",(function(){var B=function(C){var F=$H({anchorSelector:"a.show_detail_pricing_matrix"}).merge(C).toObject();var D=new EzRez.UI.LightBox({className:"detailPricingMatrix",type:"inline"});var E=function(G){Event.stop(G);var H=$(G.target);D.show(H);};this.applyListeners=function(){$$(F.anchorSelector).each(function(G){G.observe("click",E);});};this.removeListeners=function(){$$(F.anchorSelector).each(function(G){G.stopObserving("click",E);});};};return{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}};})());})(EzRez.Application);(function(A){var B=YAHOO.util.Dom;A.createUIComponent("debugger",(function(){if(!A.WebContext){return{};}if(!A.WebContext.isDebugMode){return{};}var D=function(F){if(F.keyCode!==Event.KEY_F2&&F.keyCode!==undefined){return false;}A.Debug.setEnabled(true);A.Debug.openPopup();Event.stop(F);return false;};var C=function(F){A.Debug.setEnabled(true);A.Debug.openPopup();Event.stop(F);return false;};var E=new Element("a",{id:"open_debugger",href:"#"}).update("Open Debugger");return{initialize:function(){document.body.appendChild(E);return null;},applyListeners:function(){document.observe("keydown",D);E.observe("click",C);}};})());A.createUIComponent("modify-search-box",(function(){var C=function(L){var M=$H({openButtonSelector:"#modifySearch .show_hide_modify",closeButtonSelector:".modifySearchBody .modifySearchClose a",searchBoxViewSelector:".modifySearchBody",revealIconSelector:"#modifySearch .modifySearchToggle",revealIconClass:"active"}).merge(L).toObject();var H=$$(M.searchBoxViewSelector);if(H.size()<=0){A.Debug.error("Missing expected search box: "+M.searchBoxViewSelector);return ;}var E=null;var K=(Prototype.Browser.IE&&window.document.implementation);if(K){E=document.createElement("iframe");E.id="modifySearchFormShim";Element.setStyle(E,{display:"none",position:"absolute",width:0,height:0,top:0,left:0,zIndex:999});E.setAttribute("frameborder","0");E.setAttribute("src","javascript:false;");document.body.appendChild(E);}var N=$$(M.revealIconSelector);var D=true;var F=function(){D=true;};var J=function(Q){Event.stop(Q);H.first().setStyle({display:"block"});if(N.first()){N.first().setStyle({background:"transparent url('/images/filter_arrow_down.gif') center left no-repeat"});}if(E){Element.setStyle(E,{display:"block"});}if(D===false){return ;}D=false;var P=B.getXY("modifySearch");P[1]+=B.get("modifySearch").offsetHeight-21;var R=B.get("modifySearchContainer").offsetWidth;var S=P[0]+R;var T=document.viewport.getWidth();if(S<T){P[0]+=B.get("modifySearch").offsetWidth-160;}else{P[0]+=B.get("modifySearch").offsetWidth-R;}B.setXY("modifySearchContainer",P);if(E){B.setXY(E,P);Element.setStyle(E,{width:H.first().offsetWidth+"px",height:H.first().offsetHeight+"px"});}};var O=function(P){Event.stop(P);H.first().setStyle({display:"none"});if(N.first()){N.first().setStyle({background:"transparent url('/images/filter_arrow_right.gif') center left no-repeat"});}if(E){Element.setStyle(E,{display:"none"});}};var I=$$(M.openButtonSelector);if(I.size()<=0){A.Debug.error("Missing expected open selector: "+M.openButtonSelector);return ;}I.first().observe("click",J);var G=$$(M.closeButtonSelector);if(G.size()>0&&G.first()){G.first().observe("click",O);}this.recalcSearchBoxPos=F;};return{initialize:function(D){return new C(D);}};})());})(EzRez.Application);(function(A){A.createUIComponent("AirlinesMac",{initialize:function(){var B=new EzRez.UI.MultiAutoComplete({name:"airlines",maxInputs:3});B.loadAirportsFromSelect();return B;}});(function(){var B=[];["",1,2,3,4,5].each(function(C){A.createUIComponent("ConnectingAirportsMac"+C,{initialize:function(){var D=new EzRez.UI.MultiAutoComplete({name:"connecting_airports"+C,maxInputs:1});if(B.length===0){B=D.loadAirportsFromSelect($("connecting_airports_select"));}else{D.loadAirportsFromArray(B);}return D;},unload:function(){B=null;}});});})();A.createUIComponent("partial-room-stay",(function(){var B=function(){var F=A.use("searchCalendar");F.clearInputs();F.addInput("date1");F.addInput("date3");F.addInput("date4");F.addInput("date2");var I=function(){var J=$$(".partial_room_stay_row");if(J.size()>0){J.invoke("show");}};var E=function(){var J=$$(".partial_room_stay_row");if(J.size()>0){J.invoke("hide");}};var G=function(){var J=$$(".partial_stay_dates");if(J.size()>0){J.invoke("show");}};var H=function(){var J=$$(".partial_stay_dates");if(J.size()>0){J.invoke("hide");}};var D=function(J){var K=$("partial_room_stay");if(K!=null){if(K.checked==true){G();}else{H();}}};var C=function(J){if($("room1")==null||$("air1")==null||$("car1")==null){return ;}if(($("room1").checked==true&&($("air1").checked==true||$("car1").checked==true))){I();var K=$("partial_room_stay");if(K!=null){if(K.checked==true){G();}}}else{E();H();}};this.applyListeners=function(){var J=$("partial_room_stay");if(J!=null){J.observe("click",D);$$("input.product_checkbox").each(function(K){K.observe("click",C);});}};this.removeListeners=function(){var J=$("partial_room_stay");if(J!=null){J.stopObserving("click",D);$$("input.product_checkbox").each(function(K){K.stopObserving("click",C);});}};this.unload=function(){this.removeListeners();};this.setup=function(){C();D();};};return{initialize:function(){var C=new B();C.setup();return C;},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.unload();}};})());})(EzRez.Application);(function(A){A.createUIComponent("alignHotelFilters",(function(){var F="show_hide_modify";var D="hotel_avail_container";var E="hotel_filters";var C=function(){};var B=function(G){if(C){C();}if(!$(D)){return ;}if(!$(E)){return ;}var K=$(D).cumulativeOffset().top;var H=$(E);var J=H.getStyle("marginTop");if(J){J=parseInt(J.replace("px",""));}if(!J){J=0;}var I=H.cumulativeOffset().top-J;if(K>I){H.setStyle({marginTop:(K-I)+"px"});}else{H.setStyle({marginTop:0});}if(G){Event.stop(G);}};return{initialize:function(){B();if(!$(F)){return ;}C=$(F).onclick;$(F).onclick=null;return null;},applyListeners:function(){if(!$(F)){return ;}$(F).observe("click",B);},removeListeners:function(){if(!$(F)){return ;}$(F).stopObserving("click",B);}};})());A.createUIComponent("hotelsMapWaiting",{initialize:function(){return new EzRez.UI.Spinner("hotels_map_waiting",{hide_sibling:false});}});A.createUIComponent("hotelDescriptionExpander",(function(){var B=function(){var C=function(H){var J=Event.element(H);if(J.tagName.toLowerCase()!="a"){return ;}var E=Element.up(J,".supplier-desc");if(!E){return ;}var I=Element.select(E,".hotel_description_inner");if(Element.hasClassName(J,"open")){Event.stop(H);var G=Element.select(E,"a.close");if(G.length>0){J.hide();G[0].show();}if(I.length>0){I[0].setStyle({height:"auto"});I[0].setStyle({overflow:"visible"});}}else{if(Element.hasClassName(J,"close")){Event.stop(H);var F=Element.select(E,"a.open");if(F.length>0){J.hide();F[0].show();}if(I.length>0){I[0].setStyle({height:""});I[0].setStyle({overflow:"hidden"});}}}};var D=$("hotel_avail_container");if(!D){D=$$("form .avail");if(D.length>0){D=D[0];}}if(D){Event.observe(D,"click",C);}this.applyListeners=function(){this.hideUnnecessaryLinks();};this.removeListeners=function(){};this.unload=function(){};this.hideUnnecessaryLinks=function(){var E=$("hotel_avail_container");if(!E){return ;}var J=E.select(".hotel_description_outer");var I=E.select(".hotel_description_inner");for(var F=I.length-1;F>-1;F--){if(I[F].offsetHeight>=I[F].scrollHeight){var G=Element.select(J[F],".open");if(G.length){G[0].hide();}var H=Element.select(J[F],".close");if(H.length){H[0].hide();}}}};this.hideUnnecessaryLinks();};return{initialize:function(){return new B();}};})());A.createUIComponent("hotelResultsTabs",{initialize:function(){var B=new EzRez.UI.TabLinks({name:"HotelsTabs",default_tab:"hotels_list_view",link_active_css:"active_tab",no_hide_classname:"no_hide",onshow:function(C,D){switch(D.identify()){case"hotels_list_view":$("hotels_list_view").removeClassName("map_active");break;case"hotels_map_view":$("hotels_list_view").addClassName("map_active");if($("hotels_map_view")){$("hotels_map_view").show();}break;}}});return B;}});A.requires("hotelsMap",["hotelsMapWaiting","hotelResultsTabs","hotelMap"]);A.createUIComponent("hotelsMap",(function(){var B=function(){var F=A.use("hotelMap");var E=A.use("hotelsMapWaiting");var C=A.use("hotelResultsTabs");var D=A.getDOMController("hotelResultsController");var G=null;this.setMap=function(H){G=H;};this.getMap=function(){return G;};this.getMapCenter=function(){return G.getMapCenter();};this.addGeoCoord=function(J,I,H){return G.addGeoCord(J,I,H);};this.startup=function(){if(!$("hotels_map_canvas")){return false;}E.hide();C.addLinks($$("#hotels_view_nav a"));if(!EzRez.UI.GMap.isCompatible()){$("hotels_view_nav").down("li.hotels_map_tab").hide();C.showTab("hotels_list_view");if($("hotels_list_view")){$("hotels_list_view").addClassName("gmapsDisabled");}return false;}if(F){F.closeExtInfoWindow();}G=new EzRez.UI.GMap({canvas_id:"hotels_map_canvas",map_options:{googleBarOptions:{suppressZoomToBounds:true}},setup:function(H){H.addControl(new GSmallMapControl());H.addControl(new GMapTypeControl());H.enableContinuousZoom();H.disableGoogleBar();}});G.addListener("extinfowindowopen",function(){setTimeout(function(){D.applyAction("a.view_more_overlay,click",$("info_window_ext"));},500);});$("hotels_map_tab").observe("click",function(H){E.show();setTimeout(function(){G.fixCenter(true);E.hide();},500);});C.showLastViewedTab();if($("hotels_list_view")){this.reload($("hotels_list_view").select("div.hotel_map_container"));}return true;};this.reload=function(H){if(!EzRez.UI.GMap.isCompatible()){return false;}if(!$("hotels_map_canvas")){return false;}E.show();if(!Object.isElement(H.first())){H=H.collect(function(I){return $(I);});}G.parse({elements:H,clear_markers:true,parseComplete:function(K,J,I){I.each(function(L){$("hotel_details_"+L.label).addClassName("hide_map_references");});if(K.size()>0){E.hide();}}});};this.closeExtInfoWindow=function(){if(!G){return ;}G.getMap().closeExtInfoWindow();};};return{initialize:function(){var C=new B();C.startup();return C;}};})());A.createUIComponent("hotelMap",(function(){var B=function(){var E=null;var D=A.getDOMController("hotelResultsController");var C=A.use("hotelsMap");this.setMap=function(F){E=F;};this.getMap=function(){return E;};this.startup=function(){if(!EzRez.UI.GMap.isCompatible()){return false;}var G=$("lightbox").select(".hotel_map_canvas");if(G.size()==0){return false;}var F=G[0].identify();if(C){C.getMap().closeExtInfoWindow();}E=new EzRez.UI.GMap({canvas_id:F,info_id:"lightbox",setup:function(H){H.addControl(new GSmallMapControl());H.addControl(new GMapTypeControl());H.enableContinuousZoom();H.disableGoogleBar();}});E.addListener("extinfowindowopen",function(){setTimeout(function(){D.applyAction("a.view_more_overlay,click",$("info_window_ext"));},500);});};this.closeExtInfoWindow=function(){if(!E){return ;}E.getMap().closeExtInfoWindow();};};return{initialize:function(){return new B();}};})());A.createUIComponent("lightBoxForHotelDetails",{initialize:function(){return new EzRez.UI.LightBox({className:"hotel_details",type:"iframe"});}});A.createUIComponent("lightBoxForHotelMap",{initialize:function(){return new EzRez.UI.LightBox({className:"hotel_map",type:"inline",opened:function(D,C,B){setTimeout(function(){A.use("hotelMap").startup();},500);},hidden:function(D,C,B){A.use("hotelMap").closeExtInfoWindow();EzRez.UI.GMap.unload();var E=A.use("hotelsMap");E.startup();if($("hotels_list_view")){E.reload($("hotels_list_view").select("div.hotel_map_container"));}}});}});A.createUIComponent("lightBoxForTabbedHotelDetails",{initialize:function(){return new EzRez.UI.LightBox({className:"hotel_details_tabbed",type:"iframe"});}});A.createUIComponent("lightBoxForVirtualTour",{initialize:function(){return new EzRez.UI.LightBox({className:"virtual_tour",type:"iframe"});}});A.createUIComponent("lightBoxForReviews",{initialize:function(){return new EzRez.UI.LightBox({className:"hotel_review_overlay",type:"iframe"});}});A.createUIComponent("lightBoxDefault",{initialize:function(){return new EzRez.UI.LightBox({className:"popup_overlay",type:"iframe"});}});A.requires("hotelUpdater",["hotelResultsController","hotelDescriptionExpander","bonus-offer-display","waitingDialog","hotelsMap"]);A.createUIComponent("hotelUpdater",(function(){var B=function(D){var F=Object.extend({create:function(){A.use("waitingDialog").show();A.getDOMController("hotelResultsController").removeActions();A.use("hotelDescriptionExpander").removeListeners();A.use("bonus-offer-display").removeListeners();setTimeout(function(){EzRez.UI.GMap.unload();},50);},loading:function(){},complete:function(){A.getDOMController("hotelResultsController").applyActions();A.use("hotelDescriptionExpander").applyListeners();A.use("hotelDescriptionExpander").hideUnnecessaryLinks();A.use("bonus-offer-display").applyListeners();A.use("hotelsMap").startup();A.use("waitingDialog").hide();},failure:function(){A.getDOMController("hotelResultsController").applyActions();A.use("hotelDescriptionExpander").applyListeners();A.use("hotelDescriptionExpander").hideUnnecessaryLinks();A.use("bonus-offer-display").applyListeners();A.use("waitingDialog").hide();},exception:function(H,I){try{A.getDOMController("hotelResultsController").applyActions();A.use("hotelDescriptionExpander").applyListeners();A.use("hotelDescriptionExpander").hideUnnecessaryLinks();A.use("bonus-offer-display").applyListeners();A.use("waitingDialog").hide();}catch(J){}throw (I);},target:"hotel_avail_container",url:"/travel/malibu/hotel_choices_content.cfm",params:{}},D);var E=$H();var C=F.target;var G=F.url;this.update=function(){new Ajax.Updater(C,G,{parameters:E.merge(F.params),evalScripts:true,onCreate:F.create,onLoading:F.loading,onComplete:F.complete,onException:F.exception,onFailure:F.complete});document.fire("ezrez:filterTriggered",{});};this.updatePage=function(H){E=E.merge({start_index:H});this.update();};this.updateFilter=function(H){E=E.merge(H);E.unset("start_index");this.update();};this.updateSort=function(H){E=E.merge({sort:H});E.unset("start_index");this.update();};this.sortByDistanceFromGeoCoords=function(H){var I=Object.extend({lat:0,lng:0,address:"",sort:"hotel_distance_from_geocords"},H);E=E.merge(I);E.unset("start_index");this.update();};this.resetParameters=function(){E=$H();};this.mergeParameters=function(H){E=E.merge(H);};this.getParameters=function(){return E;};};return{initialize:function(C){return new B(C);}};})());A.requires("hotelFilters",["alignHotelFilters","hotelUpdater"]);A.createUIComponent("hotelFilters",(function(){var B=function(){var I=false;var F=$H();var G=A.use("hotelUpdater");var H=function(K,L){if(I){return ;}G.updateFilter({price_min:K.value,price_max:L.value});};var E=function(L,M){A.use("waitingDialog").show();var K=$H();K.set(M,L);G.updateFilter(K.toObject());};var C=function(){A.use("waitingDialog").show();var K=$H();I=true;F.each(function(M){var L=M.value;L.reset();if(L.getCheckboxName){K.set(L.getCheckboxName(),L.getCheckedValues());}});I=false;G.resetParameters();G.updateFilter(K.toObject());};var J=function(){F.set("priceFilter",new EzRez.UI.DualSliderFilter({id:"hotelFilterPriceContainer",ticks:A.Temp.get("hotelFilterPriceContainer_ticks"),update:H}));if($("rating_filter_form")){F.set("ratingFilter",new EzRez.UI.CheckboxFilter({form_id:"rating_filter_form",checkbox_name:"ratings",checked_by_default:true,update:E}));}if($("neighborhood_filter_form")){F.set("neighborhoodFilter",new EzRez.UI.CheckboxFilter({form_id:"neighborhood_filter_form",checkbox_name:"neighborhood_ids",checked_by_default:false,show_all_id:"neighborhood_filter_show_all",update:E}));}if($("amenities_filter_form")){F.set("amenityFilter",new EzRez.UI.IconFilter({form_id:"amenities_filter_form",checkbox_name:"amenities",active_classname:"active_amenity",hover_classname:"li_hover",checked_by_default:false,update:E}));}};var D=function(K){C();Event.stop(K);return false;};this.applyListeners=function(){F.each(function(K){K.value.applyListeners();});$("hotel_filters_reset_all_filters").observe("click",D);};this.removeListeners=function(){F.each(function(K){K.value.removeListeners();});$("hotel_filters_reset_all_filters").stopObserving("click",D);};J();};return{initialize:function(){return new B();},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}};})());A.requires("hotelPagination",["hotelUpdater"]);A.createUIComponent("hotelPagination",(function(){var B=function(C){var H=$H({outerContainerId:"hotel_avail_container",pagerContainerClassName:"arc_pager",inactivePageClassName:"inactive",pageClassName:"page",scrollToElementSelector:".malibu_choose_hotel_header",itemsPerPage:10}).merge(C).toObject();var F=A.use("hotelUpdater");var D=$$(H.scrollToElementSelector);if(D.length>0){D=D[0];}else{D=null;}var E=$(H.outerContainerId);if(E===null){return ;}Event.observe(E,"click",G);var I=parseInt(H.itemsPerPage,10);function G(M){var J=Event.element(M);if(J.tagName.toLowerCase()!="a"){return ;}if(!Element.up(J,"."+H.pagerContainerClassName)){return ;}if(Element.hasClassName(J,H.inactivePageClassName)){Event.stop(M);return ;}if(Element.hasClassName(J,H.pageClassName)){Event.stop(M);if(D){Element.scrollTo(D);}var L=Element.readAttribute(J,"rel");var K=(L*I)-I+1;F.updatePage(K);}}};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("bonus-offer-display",(function(){var B=function(I){var J=$H({bonusParentClass:"bonusOffers",overlayContentClass:"bonusOfferText",priceContainerClass:"priceContainer",cardParentClass:"supplier-info",hotelOptionClass:"hotelOption",overlayWidth:"260",overlayYOffset:86,overlayXOffset:50}).merge(I).toObject();var C=[];var G={};var E=null;var H=function(S){if(E){E.destroy();}if(!S){return ;}var R=G[S.identify()];if(!R){return ;}var V=Element.up(S,"."+J.hotelOptionClass);if(!V){return ;}var P=Element.select(V,"."+J.priceContainerClass);if(P.length<=0){return ;}P=P[0];var N=Element.select(V,"."+J.bonusParentClass);if(N.length<=0){return ;}N=N[0];var Q=Element.cumulativeOffset(P);var M=Element.cumulativeOffset(N);var T=Element.getHeight(N);var O=Q.left-J.overlayWidth+J.overlayXOffset;var U=M.top+T-J.overlayYOffset-(T/2);E=new YAHOO.widget.Panel("bonusPanel",{xy:[O,U],width:J.overlayWidth+"px",visible:false,draggable:false,close:true,underlay:"none"});E.setBody(R.c);E.render(document.body);E.show();};var K=function(M){if(E){E.hide();}Event.stopObserving(document.body,"click",K);};var D=function(N){if(E){E.hide();}Event.stop(N);var M=Event.element(N);H(M);Event.observe(document.body,"click",K);};var L=function(){if(C.length>0){F();}var S=$$("."+J.bonusParentClass);if(S.length<=0){return ;}for(var Q=S.length-1;Q>-1;Q--){var N=S[Q];var P=Element.select(N,"a");if(P.length==0){continue;}P=P[0];C.push(P);var O=[];var R=[];var M=Element.up(P,"."+J.cardParentClass);if(M){O=Element.select(M,"."+J.overlayContentClass);}if(O.length>0){O=O[0].innerHTML;}else{O=null;}if(M){R=Element.select(M,"."+J.priceContainerClass);}if(R.length>0){R=R[0];}else{R=null;}if(!O||!R){G[Element.identify(P)]=null;}else{G[Element.identify(P)]={c:O,cx:R};}Event.observe(P,"click",D);}};var F=function(){Event.stopObserving(document.body,"click",K);if(C.length<=0){return ;}for(var M=C.length-1;M>-1;M--){Event.stopObserving(C[M],"click",D);}C=[];G={};};this.applyListeners=L;this.removeListeners=F;};return{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}};})());})(EzRez.Application);(function(A){A.createUIComponent("options-click-manager",(function(){var B=function(C){var H=$H({optionsDivId:"optionsContainer"}).merge(C).toObject();var E;var G=[];var D=0;var I=function(J){for(var K=0;K<D;K++){G[K](J);}};var F=function(){if(E){Event.stopObserving(E,"click",I);E=null;}E=document.getElementById(H.optionsDivId);if(E){Event.observe(E,"click",I);}};this.registerListenerCallback=function(J,K){G.push(K);D++;};F();this.updateClickManager=F;};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("pagination-handler",(function(){var B=function(J){var m=$H({optionsContainerId:"optionsContainer",paginationSummaryContainerId:"paginationSummary",paginationFooterContainerId:"optionsFooter",activePageClassName:"pageActive",disabledPageClassName:"pageLinkDisabled",nextPageClassName:"pageNext",previousPageClassName:"pagePrevious",pageNumberIdPrefix:"pageNum",pageNavigationContainerClassName:"paginationContainer",resultsPerPage:10,resultsPerPageParamName:"results_per_page",sortingParamName:"sorting",currentSorting:"sortPrice",pageParamName:"page_requested",numResultsClassName:"numResults",dataUrl:"/travel/arc_process.cfm",responseType:"json",waitingText:"Updating Airlines, please wait...",additionalPaginationGetParams:{},filteringManagerComponentName:"air-shop-filtering"}).merge(J).toObject();var M=1;var O;var k=parseInt(m.resultsPerPage,10);var F=m.currentSorting;var Z=null;var I={setFilteredResultsTotal:function(){console.log("filterManager not implemented");}};var d;var j=0;var N=function(){j++;if(j>=4){clearInterval(d);}if(!A.use(m.filteringManagerComponentName)){return ;}I=A.use(m.filteringManagerComponentName);Z=I.currentActiveFilters();clearInterval(d);};d=setInterval(N,100);var W=YAHOO.util.Connect;var b=false;var V;var c="";for(var K in m.additionalPaginationGetParams){c+="&"+encodeURIComponent(K)+"="+encodeURIComponent(m.additionalPaginationGetParams[K]);}var T=new EzRez.UI.Dialog({name:"waiting_dialog",headerContent:m.waitingText});var X=document.getElementById("paginationSummary");var G=document.getElementById(m.optionsContainerId);if(!G||G=="undefined"){return ;}var a;var Y;var h=document.getElementById(m.paginationSummaryContainerId);var n=document.getElementById(m.paginationFooterContainerId);var Q=Element.down(h,"div."+m.pageNavigationContainerClassName);var H=Element.down(n,"div."+m.pageNavigationContainerClassName);var e=function(p){var i={STATUS:"false",MESSAGE:"invalid response"};if(p.responseXML){var o=p.responseXML.documentElement;i.STATUS=o.getElementsByTagName("status")[0].firstChild.nodeValue;if(i.STATUS=="true"){i.MESSAGE=o.getElementsByTagName("responseMessage")[0].firstChild.nodeValue;i.CONTENT=o.getElementsByTagName("content")[0].firstChild.nodeValue;i.STARTINDEX=parseInt(o.getElementsByTagName("startIndex")[0].firstChild.nodeValue,10);i.ENDINDEX=parseInt(o.getElementsByTagName("endIndex")[0].firstChild.nodeValue,10);i.NUMBER_RESULTS_RETURNED=parseInt(o.getElementsByTagName("numberResultsReturned")[0].firstChild.nodeValue,10);i.PAGE=parseInt(o.getElementsByTagName("page")[0].firstChild.nodeValue,10);i.TOTALRESULTS=parseInt(o.getElementsByTagName("totalResults")[0].firstChild.nodeValue,10);}}return i;};var E=function(i){if(m.responseType=="json"){try{return i.responseText.evalJSON();}catch(o){return{STATUS:false,MESSAGE:o.message};}}else{if(m.responseType=="xml"){return e(i);}else{throw new Error("unrecognized response type: "+m.responseType);}}};var S=function(o){if(o.status!=200){R(o);}var i=E(o);if(i.STATUS!=="true"){R(o);return ;}G=C(G,i.CONTENT);if(A.use("options-click-manager")){A.use("options-click-manager").updateClickManager();}I.setFilteredResultsTotal(i.TOTALRESULTS);D(i);if(X&&b){Element.scrollTo(X);}b=false;T.hide();};var C;if(Prototype.Browser.IE){C=function(p,o){var i=typeof p==="string"?document.getElementById(p):p;i.innerHTML=o;return i;};}else{C=function(p,o){var i=typeof p==="string"?document.getElementById(p):p;var q=i.cloneNode(false);q.innerHTML=o;i.parentNode.replaceChild(q,i);return q;};}var U=function(v,p,r){var u=true;if(v===p){u=true;}var t="dummy=1";for(var s in p){var o=p[s];if(u){if(!v[s]||v[s].length!=o.length){u=false;}}for(var q=o.length-1;q>-1;q--){if(u){if(o[q]!=v[s][q]){u=false;}}o[q]=o[q].replace(/,/g,"~");t+="&"+encodeURIComponent(s)+"="+encodeURIComponent(o[q]);}}r._val=t;return u;};var R=function(o){T.hide();var i=unescape(window.location.pathname);window.location.replace(i);};var f=function(i){R(i);};var l={success:S,failure:f};var D=function(r){M=parseInt(r.PAGE,10);var v=parseInt(r.TOTALRESULTS,10);O=Math.ceil(v/k);if(a){var p=(r.PAGE*k)-k+1;var t=p+k-1;if(t>v){t=v;}a.innerHTML=String(p)+" - "+String(t);if(Y){Y.innerHTML=String(v);}}var u=Element.select(Q,"a");if(Q){var i=Element.down(Q,"."+m.activePageClassName);if(i){Element.removeClassName(i,m.activePageClassName);}var o=1;if(M<=3||O<=5){o=1;}else{if(M>=(O-2)){o=(O-4);}else{o=M-2;}}for(var q=1;q<=5;q++){var s=o+(q-1);if(s>O){s="&nbsp;";Element.addClassName(u[q],m.disabledPageClassName);Element.setStyle(u[q],{textDecoration:"none"});}else{Element.removeClassName(u[q],m.disabledPageClassName);Element.setStyle(u[q],{textDecoration:""});}u[q].innerHTML=s;if(s==M){Element.addClassName(u[q],m.activePageClassName);}else{Element.removeClassName(u[q],m.activePageClassName);}}if(M===1){Element.addClassName(u[0],m.disabledPageClassName);}else{Element.removeClassName(u[0],m.disabledPageClassName);}if(M===O){Element.addClassName(u[6],m.disabledPageClassName);}else{Element.removeClassName(u[6],m.disabledPageClassName);}if(H){H.innerHTML=Q.innerHTML;}}};var P=function(v,q,o,t){if(!t){t=false;}b=t;if(!o){o=Z;}if(!q){q=F;}if(!v){v=M;}var p={_val:""};var r=U(Z,o,p);if(v==M&&q==F&&r===true){return ;}Z=o;var s=false;var u=q;if(q.toLowerCase().match("desc$")=="desc"){s=true;u=q.substr(0,(q.length-4));}F=q;T.show();var i=m.dataUrl+"?content_type="+m.responseType+"&"+encodeURIComponent(m.pageParamName)+"="+v+"&"+encodeURIComponent(m.resultsPerPageParamName)+"="+k+"&sortDesc="+encodeURIComponent(s)+"&"+encodeURIComponent(m.sortingParamName)+"="+encodeURIComponent(u)+c;if(V&&W.isCallInProgress(V)){W.abort(V,null,false);}V=W.asyncRequest("POST",i,l,p._val);};var g=function(s){var q=Event.element(s);if(q.tagName.toLowerCase()!="a"){return ;}if(Element.hasClassName(q,m.activePageClassName)){Event.stop(s);return ;}var p=q.parentNode;if(!Element.hasClassName(p,m.pageNavigationContainerClassName)){return ;}Event.stop(s);var o=false;var r=Element.up(q,"#"+m.paginationFooterContainerId);if(r){o=true;}var i;if(Element.hasClassName(q,m.nextPageClassName)){i=M+1;if(i>O){return ;}}else{if(Element.hasClassName(q,m.previousPageClassName)){i=M-1;if(i<0){return ;}}else{if(Element.hasClassName(q,m.disabledPageClassName)){return ;}else{i=parseInt(q.firstChild.nodeValue,10);}}}q.blur();P(i,null,null,o);};if(h){Event.observe(h,"click",g);var L=Element.select(h,"span."+m.numResultsClassName+" strong");a=L[0];Y=L[1];}if(n){Event.observe(n,"click",g);}this.getPageContentAndUpdate=P;};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("availability-sorting",(function(){var B=function(C){var G=$H({sortingContainerDiv:"optionsSorting",availableSorting:["sortAirline","sortDepart","sortArrive","sortDuration","sortPrice"],defaultSorting:"sortPrice",defaultSortDirection:"ascending",ascendingSortClass:"sortAscending",descendingSortClass:"sortDescending"}).merge(C).toObject();var E=document.getElementById(G.sortingContainerDiv);if(!E){throw new Error("Missing sorting box: #"+G.sortingContainerDiv);}var D=G.defaultSorting;if(G.defaultSortDirection=="descending"){D=D+"Desc";}var F=function(I){D=I;A.use("pagination-handler").getPageContentAndUpdate(1,I);};var H=function(M){var P=Event.element(M);if(P.tagName.toLowerCase()!="a"){P=Element.up(P,"a");if(!P){return ;}}if(P.parentNode.tagName.toLowerCase()!="div"){return ;}var K="";var O=G.availableSorting.length;for(var N=0;N<O;N++){if(Element.hasClassName(P.parentNode,G.availableSorting[N])){K=G.availableSorting[N];break;}}if(K==""){return ;}Event.stop(M);var J=Element.select(E,"."+G.ascendingSortClass);J.each(function(Q){Element.removeClassName(Q,G.ascendingSortClass);});var I=Element.select(E,"."+G.descendingSortClass);I.each(function(Q){Element.removeClassName(Q,G.descendingSortClass);});var L=G.ascendingSortClass;if(K==D){K=K+"Desc";L=G.descendingSortClass;}Element.addClassName(P.parentNode,L);F(K);};Event.observe(E,"click",H);};return{initialize:function(C){return new B(C);}};})());})(EzRez.Application);if(typeof (EzRez.Application)=="undefined"){EzRez.Application=new EzRez.App.Application();}(function(A){A.createUIComponent("air-shop-filtering",(function(){var B=function(G){var AG=$H({availableFilters:{stops:[],airlines:[],airports:{},duration:{},times:{}},hiddenClass:"hiddenBlock",numResults:0}).merge(G).toObject();var AA,f;var J=false;var t=function(k){if(AA){AA.innerHTML=parseInt(k,10);}};this.setFilteredResultsTotal=t;var L=function(k){if(f){f.innerHTML=parseInt(k,10);}};var W=document.getElementById("filtersContainer");var AD;var O=document.getElementById("filterFormStops");var z=document.getElementById("filterFormAirlines");var I=function(){var AK={};for(var AI=AD.length-1;AI>-1;AI--){var l=AD[AI].type.toLowerCase();if(l=="checkbox"&&!AD[AI].checked){continue;}var AH=AD[AI].name;var AJ=AD[AI].value;if(!AK[AH]){AK[AH]=[];}if(AK[AH].indexOf(AJ)<0){AK[AH].push(AJ);}}return AK;};var d=function(){for(var k in j){j[k](null);}};var V=function(k){if(k){Event.stop(k);}d();var l=A.use("air-shop-filtering").currentActiveFilters();A.use("pagination-handler").getPageContentAndUpdate(1,null,l);};var E=function(l,AH){for(var k=AH.length-1;k>-1;k--){if(AH[k].disabled||l===AH[k].value){AH[k].checked=true;}else{AH[k].checked=false;}}};var C=function(k){d();if(z&&k.airline){var AI=Element.select(z,"input[name='airlines']");E(k.airline,AI);}if(O&&k.stop){var l=Element.select(O,"input[name='stops']");E(k.stop,l);}var AH=A.use("air-shop-filtering").currentActiveFilters();A.use("pagination-handler").getPageContentAndUpdate(1,null,AH);};var D=function(AL,AI){var AO=0;var AK=null;var AM=Element.select(AL,"ul")[0];var AH=AM.cloneNode(true);var AN=Element.select(AH,".label")[0];var AP=Element.select(AH,"input")[0];AP.setAttribute("checked",true);var AJ="";var l="";for(l in AI){AO++;var k=new String(l).escapeHTML();var AQ=new String(AI[l]).escapeHTML();AP.value=AQ;AN.innerHTML=k;if(AQ=="MULTIPLE"){AK=AH.innerHTML;continue;}AJ+=AH.innerHTML;}if(AK!=null){AJ+=AK;}AM.innerHTML=AJ;return AO;};var R=function(k,l){var AM=k.select("ul")[0];var AK=AM.cloneNode(true);var AL=AK.select(".label")[0];var AH=AK.select("input")[0];AH.setAttribute("checked",true);var AJ="";for(var AI=l.length-1;AI>-1;AI--){AL.innerHTML=new String(l[AI].name).escapeHTML();AH.value=new String(l[AI].code).escapeHTML();AJ+=AK.innerHTML;}AM.innerHTML=AJ;};var m=function(k,AL){var AK=Element.select(k,"ul")[0];var AI=AK.cloneNode(true);var AJ=Element.select(AI,".label")[0];var l=Element.select(AI,"input")[0];var AH="";var AM="";for(AM in AL){l.value=new String(AM).escapeHTML();AJ.innerHTML=new String(AL[AM]["label"]).escapeHTML();if(AL[AM]["disabled"]&&AL[AM]["disabled"]=="true"){l.setAttribute("disabled",true);l.disabled=true;l.setAttribute("checked",false);}else{l.setAttribute("disabled",false);l.disabled=false;l.setAttribute("checked",true);}AH+=AI.innerHTML;}AK.innerHTML=AH;};if(AG.availableFilters.stops){var a=AG.availableFilters.stops;var r=document.getElementById("filterStops");if(O){J=true;m(O,a);Element.removeClassName(r,AG.hiddenClass);}}else{O.innerHTML="";}if(AG.availableFilters.airlines){var p=AG.availableFilters.airlines;var H=document.getElementById("filterAirlines");if(z){var AE=D(z,p);if(AE>1){Element.removeClassName(H,AG.hiddenClass);J=true;}else{z.innerHTML="";}}}else{z.innerHTML="";}var K=document.getElementById("filterAirports");if(AG.availableFilters.airports&&false){var q=AG.availableFilters.airports;var Y=q[0];var F=q[1];var P=Element.select(K,".filterFormAirportsDepart");if(P.length>0){P=P[0];J=true;var o=Element.select(K,"#filterAirportsDepart a.filterSubHeader")[0];o.innerHTML=new String(Y.city).escapeHTML();R(P,Y.airports);Element.removeClassName(K,AG.hiddenClass);P.show();}var AC=Element.select(K,".filterFormAirportsArrive");if(AC.length>0){AC=AC[0];J=true;var n=Element.select(K,"#filterAirportsArrive a.filterSubHeader")[0];n.innerHTML=new String(F.city).escapeHTML();R(AC,F.airports);Element.removeClassName(K,AG.hiddenClass);AC.show();}}else{K.innerHTML="";}var s=document.getElementById("filterPriceContainer");if(s){Element.removeClassName(s,AG.hiddenClass);s.show();}var S=document.getElementById("filterTimesContainer");if(S&&false){Element.removeClassName(S,AG.hiddenClass);S.show();}AD=Element.select(W,'input[type="checkbox"]');AD=AD.concat(Element.select(W,'input[type="hidden"]'));if(J){var g=document.getElementById("filtersTop");if(g){Element.removeClassName(g,AG.hiddenClass);var y=Element.select(g,".numResults strong");if(y[0]){AA=y[0];t(AG.numResults);}if(y[1]){f=y[1];L(AG.numResults);}}}var j={};var U=Element.select(W,".showAllResults a");if(U.length>0){var Q=function(k){k.checked=true;};var b=function(l){var k=A.use("dualSliderFactory");if(l&&k){k.get(l.identify()).reset();if(!l.visible()){l.show();}}};var x=function(AI){var l=AI.up(".filterContainer");var k=[];var AH=[];if(l){k=l.select('input[type="checkbox"]');AH=l.select(".dualSlider");if(Element.hasClassName(l,"dualSlider")){AH.push(l);}}return function(AJ){k.each(Q);AH.each(b);if(AJ){Event.stop(AJ);var AK=I();A.use("pagination-handler").getPageContentAndUpdate(1,null,AK);}};};for(var v=U.length-1;v>0;v--){var w=x(U[v]);j[U[v].identify()]=w;Event.observe(U[v],"click",w);}Event.observe(U[0],"click",V);}var N=W.select("a.filterSubHeader");if(N.length>0){var T=function(l){var k=l.next("form");return function(AH){Event.stop(AH);if(k.visible()){k.hide();l.setStyle({background:"#EEEEEE url('/images/filter_arrow_right.gif') no-repeat scroll 2px 4px"});}else{k.show();l.setStyle({background:"#EEEEEE url('/images/filter_arrow_down.gif') no-repeat scroll 2px 4px"});}};};N.each(function(k){Event.observe(k,"click",T(k));});}var c=W.select(".flightTimesFilterToggle");if(c.length>0){var X=function(l,k){return function(AH){if(k){AF(l,k);}};};var i=function(AL){var AJ=null;var AK=Element.up(AL,".filterFormTimesLegToggle");if(AK){var AI=Element.select(AK,".flightTimesFilterToggle");var AH=Element.select(AK,".dualSlider");var l=AI.indexOf(AL);var k=AH.length;if(l>=0&&l<k){AJ=AH[l];}}return AJ;};function e(l){var k=i(l);Event.observe(l,"click",X(l,k));}function AF(AH,l){if(AH.checked){l.show();}else{var k=A.use("dualSliderFactory");if(k){k.get(l.identify()).reset();}l.hide();}}function AB(AH){var k=Event.element(AH);var l=i(k);AF(k,l);}if(Prototype.Browser.IE){c.each(function(k){Event.observe(k,"click",AB);});}else{c.each(e);}}var Z=function(){var k=I();A.use("pagination-handler").getPageContentAndUpdate(1,null,k);};var h=function(AQ){var AJ=Event.element(AQ);var AH=false;var AN=false;var AL=false;if(Element.hasClassName(AJ,"dualSlider")){AN=true;}else{if(AJ.tagName.toLowerCase()=="input"&&AJ.readAttribute("type").toLowerCase()=="checkbox"){AH=true;}else{if(AJ.tagName.toLowerCase()=="span"&&Element.hasClassName(AJ,"label")){var AK=Element.up(AJ,"form");if(AK&&Element.identify(AK)==="filterFormAirlines"){AL=true;var AO=Element.previous(AJ,'input[type="checkbox"]');var k=Element.select(AK,'input[type="checkbox"]:checked');for(var AI=k.length-1;AI>-1;AI--){k[AI].checked=false;}AO.checked=true;}}}}if(!AN&&!AH&&!AL){return ;}if(AH&&!Element.hasClassName(AJ,"flightTimesFilterToggle")){var AP=AJ.up(".filterContainer");if(AP){var AM=AP.select('input[type="checkbox"]:checked');if(AM.length==0||(AM.length==1&&AM[0].disabled===true)){Event.stop(AQ);return ;}}}Z();};Event.observe(W,"click",h);var M=W.select(".dualSlider");for(var u=M.length-1;u>-1;u--){Event.observe(M[u],"DualSliderFilter:update",h);}this.currentActiveFilters=I;this.clearAllFilters=V;this.setFiltersByAirlineAndStops=C;};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("air-shop-show-hide-details",(function(){var B=function(G){var I=$H({toggleSelector:"#optionsContainer div.airOption div.toggle a",toggleOffLabel:"hide full details",toggleOnLabel:"show full details",hideClass:"hiddenBlock",selectorShowAllDetails:"div#paginationSummary a",classNameDetails:"optionDetails"}).merge(G).toObject();var E=function(M){if(M.innerHTML==I.toggleOffLabel){D(M);}else{K(M);}};var K=function(N){N.innerHTML=I.toggleOffLabel;var M=$(N.parentNode).next();if(M&&M.hasClassName(I.classNameDetails)){M.removeClassName(I.hideClass);}};var D=function(N){N.innerHTML=I.toggleOnLabel;var M=$(N.parentNode).next();if(M&&M.hasClassName(I.classNameDetails)){M.addClassName(I.hideClass);}};var C=function(O){var N=Event.element(O);if(N.tagName.toLowerCase()!="a"){return ;}var M=N.parentNode;if(M.tagName.toLowerCase()!="div"){return ;}if(!Element.hasClassName(M,"toggle")){return ;}Event.stop(O);E(N);};A.use("options-click-manager").registerListenerCallback("ToggleDetails",C);var H=false;var L=function(M){if(H){K(M);}else{D(M);}};var J=$$(I.selectorShowAllDetails);if(J.length>0){J[0].observe("click",function(N){Event.stop(N);H=!H;var M=$$(I.toggleSelector);if(M.length>0){M.each(L);}});}var F=function(O){var N=Event.element(O);if(N.tagName.toLowerCase()!="a"){return ;}var M=N.parentNode;if(!Element.hasClassName(M,"showAllResults")){return ;}Event.stop(O);A.use("air-shop-filtering").clearAllFilters();};A.use("options-click-manager").registerListenerCallback("ClearAllFilters",F);};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("air-matrix-manager",(function(){var B=function(L){var M=$H({airMatrixId:"airMatrix",prevPageSelector:".matrixPagePrevious",nextPageSelector:".matrixPageNext",colsPerPage:6,colClassPrefix:"matrixCol",rowClassPrefix:"matrixRow",priceLinkClass:"matrixPriceFilter"}).merge(L).toObject();var D=1;var U=parseInt(M.colsPerPage);if(isNaN(U)||U<=0){U=6;}var T=[];var E=[];var P;var F;function R(Y){var a=0;var X=Element.select(Y,"table");if(X.length==0){return a;}var Z=Element.select(X[0],"tr");if(Z.length==0){return a;}return Element.select(Z[0],"td").length-1;}function V(Z){T=[];var Y=Element.select(Z,"table");if(Y.length==0){return ;}Y=Y[0];for(var b=0;b<=S;b++){var a="."+M.colClassPrefix+b;var X=Element.select(Y,a);T.push(X);if(b>=1&&b<=U){E=E.concat(T[b]);}}}function N(Z){var a=(U*Z)-U+1;var Y=a+U-1;if(Y>S){Y=S;}E.each(function(b){b.hide();});E=[];for(var X=a;X<=Y;X++){T[X].each(function(b){b.show();E.push(b);});}P.innerHTML=a;F.innerHTML=Y;}function W(X){Event.stop(X);if(D==J){return ;}D++;N(D);}function K(X){Event.stop(X);if(D==1){return ;}D--;N(D);}var C=$(M.airMatrixId);var S=R(C);var J=1;if(S>U){J=Math.ceil(S/U);}var H=Element.select(C,M.prevPageSelector);if(H.length){Event.observe(H[0],"click",K);}var I=Element.select(C,M.nextPageSelector);if(I.length){Event.observe(I[0],"click",W);}var Q=Element.select(C,".numResults span");if(Q.length>0){P=Q[0];}if(Q.length>1){F=Q[1];}function O(X){Event.stop(X);var c=Event.element(X);if(c.tagName.toLowerCase()!="a"){c=Element.up(c,"a.matrixPriceFilter");}if(!c){return ;}var e=Element.up(c);if(!e){return ;}var Z={airline:null,stop:null};if(Element.hasClassName(e,"matrixRow2")){Z.stop="0";}else{if(Element.hasClassName(e,"matrixRow3")){Z.stop="1";}else{if(Element.hasClassName(e,"matrixRow4")){Z.stop="2";}}}var d=$A(Element.classNames(e));var b;for(var a=d.length-1;a>-1;a--){if(d[a].startsWith("matrixCol")){b=$$(".matrixRow1."+d[a]);break;}}if(b.length>=0){d=$A(Element.classNames(b[0]));for(var Y=d.length-1;Y>-1;Y--){if(d[Y].startsWith("airlineCode_")){b=$$(".matrixRow1."+d[Y]);Z.airline=d[Y].substring(12);break;}}}A.use("air-shop-filtering").setFiltersByAirlineAndStops(Z);}var G=Element.select(C,"."+M.priceLinkClass);if(G.length>0){G.each(function(X){Element.observe(X,"click",O);});}V(C);};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("air-shop-filtering-by-flight-number",(function(){var B=function(K){var M=$H({filterFormId:"filterByFlightNumber",defaultTextboxText:"Enter Flight Number",autocompleteList:[],autocompleteResultsClass:"modify_search_autocomplete_results",flightNumText:"Flight Number",showAllClass:"showAllResults"}).merge(K).toObject();var N=$(M.filterFormId);if(N){var R=Element.select(N,'input[name="flightNumber"]');if(R.length>0){R=R[0];}var P=Element.select(N,'input[type="text"]');if(P.length>0){P=P[0];}var G=Element.select(N,"."+M.autocompleteResultsClass);if(G.length>0){G=G[0];}var Q=Element.select(N,'input[type="button"]');if(Q.length>0){Q=Q[0];var D=function(S){Event.stop(S);var T=R.value.strip();if(T!==""){A.use("pagination-handler").getPageContentAndUpdate(1,null,{flightNumber:[T]});}};Event.observe(Q,"click",D);}if(M.autocompleteList.length>0&&P&&G&&R){var I=new YAHOO.widget.DS_JSArray(M.autocompleteList);var L=new YAHOO.widget.AutoComplete(P.identify(),G.identify(),I);L.typeAhead=true;L.forceSelection=true;L.formatResult=function(S,T){return M.flightNumText+" "+S[0];};var C=function(U,T){var S=T[2];R.value=new String(S[0]).strip();Q.disabled=false;};var O=function(T,S){P.focus();Q.disabled=true;R.value="";};var J=function(T,S){if(P.value.strip()===M.defaultTextboxText){P.value="";}};var H=function(S){if(P.value.strip()===""){P.value=M.defaultTextboxText;}};L.itemSelectEvent.subscribe(C);L.selectionEnforceEvent.subscribe(O);L.textboxFocusEvent.subscribe(J);L.textboxBlurEvent.subscribe(H);}var F=Element.select(N,"."+M.showAllClass+" a");if(F.length>0){F=F[0];var E=function(S){Event.stop(S);A.use("air-shop-filtering").clearAllFilters();};Event.observe(F,"click",E);}}};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("detailPricingMatrixHandler",(function(){var B=function(C){var F=$H({anchorSelector:"show_detail_pricing_matrix"}).merge(C).toObject();var E=new EzRez.UI.LightBox({className:"detailPricingMatrix",type:"inline"});var D=function(H){var G=Event.element(H);if(G.tagName.toLowerCase()!="a"){return ;}if(!Element.hasClassName(G,F.anchorSelector)){return ;}Event.stop(H);E.show(G);};A.use("options-click-manager").registerListenerCallback("ShowPricesPerPassengerType",D);};return{initialize:function(C){return new B(C);}};})());})(EzRez.Application);(function(A){A.createUIComponent("car-shop-filtering",(function(){var B=function(D){var q=$H({availableFilters:{carClasses:[],companies:{},destinations:[]},idListOfClickFilters:["filterFormCarClass","filterFormCompanies","filterFormCarDestination"],hiddenClass:"hiddenBlock",logoBaseUrl:"",numResults:0}).merge(D).toObject();var o,Y;var F=false;var f=function(k){if(o){o.innerHTML=parseInt(k,10);}};this.setFilteredResultsTotal=f;var G=function(k){if(Y){Y.innerHTML=parseInt(k,10);}};var S=document.getElementById("filtersContainer");var p;var I=document.getElementById("filterFormCompanies");var d=document.getElementById("filterFormCarDestination");var P=document.getElementById("filterFormCarClass");var E=function(){var v={};for(var t=p.length-1;t>-1;t--){var l=p[t].type.toLowerCase();if(l=="checkbox"&&!p[t].checked){continue;}var s=p[t].name;var u=p[t].value;if(!v[s]){v[s]=[];}if(v[s].indexOf(u)<0){v[s].push(u);}}return v;};var X=function(){for(var k in c){c[k](null);}};var R=function(k){if(k){Event.stop(k);}X();var l=A.use("car-shop-filtering").currentActiveFilters();A.use("pagination-handler").getPageContentAndUpdate(1,null,l);};function L(k){k=k.replace(/\s/g,"_");return k.replace(/\W/g,"");}function K(l){var u=l.split(" "),k=u.length;if(k==1){return u[0];}var t="";for(var s=0;s<k;s++){t+=u[s].charAt(0).toUpperCase()+u[s].substring(1).toLowerCase()+" ";}return t;}var C=function(z,w,AA){var AD=0;var x=null;var AB=Element.select(z,"ul")[0];var y="";for(var s in w){AD++;var AG=w[s];var t=AB.cloneNode(true);var AC=Element.select(t,".label")[0];var AE=Element.select(t,"input")[0];var k=Element.select(t,"li")[0];AE.setAttribute("checked",true);var AF=new String(AG.value).escapeHTML();var l=AF;if(typeof AG.name!=="undefined"){l=new String(AG.name).escapeHTML();}var u=AG.useImage||false;AE.value=AF;if(AA===true){AC.innerHTML=K(l);}else{AC.innerHTML=l;}if(q.logoBaseUrl!==""&&u!==false){var v=new Image();if(u==="CT"){u=L(AF);}v.src=q.logoBaseUrl+u+".gif";v.className="filterLogo";k.insertBefore(v,AC);}Element.addClassName(k,L(AF));Element.addClassName(k,u);if(AF=="MULTIPLE"){x=t.innerHTML;continue;}y+=t.innerHTML;}if(x!=null){y+=x;}AB.innerHTML=y;return AD;};if(q.availableFilters.carClasses){var i=q.availableFilters.carClasses;var b=document.getElementById("filterCarClass");if(P){if(C(P,i,false)>1){Element.removeClassName(b,q.hiddenClass);F=true;}else{P.innerHTML="";}}}else{if(P){P.innerHTML="";}}if(q.availableFilters.companies){var r=q.availableFilters.companies;var U=document.getElementById("filterCompanies");if(I){if(C(I,r,true)>1){Element.removeClassName(U,q.hiddenClass);F=true;}else{I.innerHTML="";}}}else{if(P){I.innerHTML="";}}if(q.availableFilters.destinations){var V=q.availableFilters.destinations;var N=document.getElementById("filterCarDestination");if(d){if(C(d,V,false)>1){Element.removeClassName(N,q.hiddenClass);F=true;}else{d.innerHTML="";}}}else{if(d){d.innerHTML="";}}var e=document.getElementById("filterPriceContainer");if(e){Element.removeClassName(e,q.hiddenClass);e.show();}p=Element.select(S,'input[type="checkbox"]');p=p.concat(Element.select(S,'input[type="hidden"]'));if(F){var Z=document.getElementById("filtersTop");if(Z){Element.removeClassName(Z,q.hiddenClass);var n=Element.select(Z,".numResults strong");if(n[0]){o=n[0];f(q.numResults);}if(n[1]){Y=n[1];G(q.numResults);}}}var c={};var Q=Element.select(S,".showAllResults a");if(Q.length>0){var M=function(k){k.checked=true;};var W=function(l){var k=A.use("dualSliderFactory");if(l&&k){k.get(l.identify()).reset();if(!l.visible()){l.show();}}};var m=function(t){var l=t.up(".filterContainer");var k=[];var s=[];if(l){k=l.select('input[type="checkbox"]');s=l.select(".dualSlider");if(Element.hasClassName(l,"dualSlider")){s.push(l);}}return function(u){k.each(M);s.each(W);if(u){Event.stop(u);var v=E();A.use("pagination-handler").getPageContentAndUpdate(1,null,v);}};};for(var h=Q.length-1;h>0;h--){var j=m(Q[h]);c[Q[h].identify()]=j;Event.observe(Q[h],"click",j);}Event.observe(Q[0],"click",R);}var J=S.select("a.filterSubHeader");if(J.length>0){var O=function(l){var k=l.next("form");return function(s){Event.stop(s);if(k.visible()){k.hide();l.setStyle({background:"#EEEEEE url('/images/filter_arrow_right.gif') no-repeat scroll 2px 4px"});}else{k.show();l.setStyle({background:"#EEEEEE url('/images/filter_arrow_down.gif') no-repeat scroll 2px 4px"});}};};J.each(function(k){Event.observe(k,"click",O(k));});}var T=function(){var k=E();A.use("pagination-handler").getPageContentAndUpdate(1,null,k);};var a=function(AC){var v=Event.element(AC);var t=false;var y=false;var k=false;if(Element.hasClassName(v,"dualSlider")){y=true;}else{if(v.tagName.toLowerCase()=="input"&&v.readAttribute("type").toLowerCase()=="checkbox"){t=true;}else{if(v.tagName.toLowerCase()=="span"&&Element.hasClassName(v,"label")||v.tagName.toLowerCase()=="img"&&Element.hasClassName(v,"filterLogo")){var w=Element.up(v,"form");var AB=Element.identify(w);if(w&&q.idListOfClickFilters.indexOf(AB)>=0){k=true;var z=Element.previous(v,'input[type="checkbox"]');var s=Element.select(w,'input[type="checkbox"]:checked');for(var u=s.length-1;u>-1;u--){s[u].checked=false;}z.checked=true;}}}}if(!y&&!t&&!k){return ;}if(t){var AA=v.up(".filterContainer");if(AA){var x=AA.select('input[type="checkbox"]:checked');if(x.length==0||(x.length==1&&x[0].disabled===true)){Event.stop(AC);return ;}}}T();};Event.observe(S,"click",a);var H=S.select(".dualSlider");for(var g=H.length-1;g>-1;g--){Event.observe(H[g],"DualSliderFilter:update",a);}this.currentActiveFilters=E;this.clearAllFilters=R;};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("car-option-click-manager",(function(){var B=function(C){var F=$H({clearAllFiltersSelector:"#optionsContainer .showAllResults a",showPoliciesSelector:".carPolicyLink a",showLocationSelector:".pickupLocation .pickupLocationLink",whoIsThisSelector:".carAggregator .carAggregatorLink"}).merge(C).toObject();var D=new YAHOO.widget.Tooltip("availabilityTooltip");function E(H){Event.stopObserving(document,"click",E);if(D.cfg.getProperty("visible")){D.hide();}}function G(I){var L;if(F.showPoliciesSelector!==""){L=Event.findElement(I,F.showPoliciesSelector);}if(!L&&F.clearAllFiltersSelector!==""){L=Event.findElement(I,F.clearAllFiltersSelector);if(L){A.use("car-shop-filtering").clearAllFilters();}}if(!L&&F.showLocationSelector!==""){L=Event.findElement(I,F.showLocationSelector);}if(!L&&F.whoIsThisSelector!==""){L=Event.findElement(I,F.whoIsThisSelector);}if(L){Event.stop(I);var J=Element.next(L,".helpPopupText");if(J){D.cfg.context=L;D.setBody(J.innerHTML);var H=L.cumulativeOffset();var K=[H.left+10,H.top+10];D.cfg.setProperty("xy",K);D.cfg.setProperty("zIndex",16);if(!D.cfg.getProperty("visible")){D.show();Event.observe(document,"click",E);}}}}A.use("options-click-manager").registerListenerCallback("CarOptionManager",G);};return{initialize:function(C){return new B(C);}};})());A.createUIComponent("alignCarFilters",(function(){var D="modifySearch";var E="paginationSummary";var C=function(){};var B=function(F){if(C){C();}if(!$(E)){return ;}var H=$("filtersContainer");var J=$(E).cumulativeOffset().top;var I=H.getStyle("marginTop");if(I){I=parseInt(I.replace("px",""));}if(!I){I=0;}var G=H.cumulativeOffset().top-I;if(J>G){H.setStyle({marginTop:(J-G)+"px"});}else{H.setStyle({marginTop:0});}if(F){Event.stop(F);}};return{initialize:function(){B();if(!$(D)){return ;}C=$(D).onclick;$(D).onclick=null;return null;},applyListeners:function(){if(!$(D)){return ;}$(D).observe("click",B);},removeListeners:function(){if(!$(D)){return ;}$(D).stopObserving("click",B);}};})());})(EzRez.Application);(function(B){if(!B){throw new EzRez.Util.Exception({message:"Missing application."});}var C=["debugger",];var A=B.createDOMController("app-controller",{});A.requires(C);})(EzRez.Application);(function(D){if(!D){throw new EzRez.Util.Exception({message:"Missing application."});}var B=function(F,H){var G=$(F.target);if(G.nodeName.strip().toLowerCase()!=="a"){G=G.up("a");}G.onclick=null;H.show(G);Event.stop(F);return false;};var E={hotelAvailability:[],hotelResults:["lightBoxForHotelDetails","lightBoxForVirtualTour","lightBoxForHotelMap","lightBoxForTabbedHotelDetails","lightBoxDefault","lightBoxForReviews","hotelsMap","hotelMap"]};var A=D.createDOMController("hotelAvailabilityController",{});A.requires(E.hotelAvailability);var C=D.createDOMController("hotelResultsController",{after:function(G){if(!$("hotel_filter")||!$("hotel_results")){return ;}new YAHOO.EzRez.hotelAutocomplete(YAHOO.EzRez.hotelAutocomplete.globalConfig,"hotel_filter","hotel_results");var H=$("hotel_filters");var F=$("hotel_pager_container");if(H&&F){H.down(".num_hotels_filtered").innerHTML=F.down(".num_hotels_filtered").innerHTML;H.down(".num_hotels_unfiltered").innerHTML=F.down(".num_hotels_unfiltered").innerHTML;}},"#hotel_avail_container div.avail_sort select,change":function(G,F){var H=$(G.target).getValue();D.use("hotelUpdater").updateSort(H);return false;},"#hotel_avail_container div.avail_sort a.sort,click":function(G,F){D.use("waitingDialog").show();var H=$(G.target);if(H.nodeName.strip().toLowerCase()!=="a"){H=H.up("a");}var I=H.href.split("#")[1];D.use("hotelUpdater").updateSort(I);Event.stop(G);return false;},"a.popup_overlay,click":function(G,F){return B(G,D.use("lightBoxForHotelDetails"));},"a.virtual_tour_overlay,click":function(G,F){return B(G,D.use("lightBoxForVirtualTour"));},"a.virtual_tour_overlay_tabbed,click":function(G,F){return B(G,D.use("lightBoxForTabbedHotelDetails"));},"a.view_more_overlay,click":function(G,F){return B(G,D.use("lightBoxForHotelDetails"));},"a.view_more_overlay_tabbed,click":function(G,F){return B(G,D.use("lightBoxForTabbedHotelDetails"));},".card-left a.thumbnail,click":function(G,F){return B(G,D.use("lightBoxForHotelDetails"));},"a.gmap_overlay,click":function(G,F){return B(G,D.use("lightBoxForHotelMap"));},"a.gmap_overlay_tabbed,click":function(G,F){return B(G,D.use("lightBoxForTabbedHotelDetails"));},"a.hotel_review_overlay,click":function(G,F){return B(G,D.use("lightBoxForReviews"));},"a.hotel_review_overlay_tabbed,click":function(G,F){return B(G,D.use("lightBoxForTabbedHotelDetails"));}});C.requires(E.hotelResults);})(EzRez.Application);(function(A){if(!A){throw new EzRez.Util.Exception({message:"Missing application."});}var B=["alignHotelFilters","resource2"];A.createDOMController("air-availability",{"div.shopCard div.toggle a,click":function(D,C){var E=$(D.target);var F=E.up("div.toggle").next("div.details");if(F){F.toggle();}Event.stop(D);}}).requires(B);})(EzRez.Application);(function(A){A.load("app-controller");})(EzRez.Application);YAHOO.namespace("YAHOO.EzRez");YAHOO.EzRez.hotelAutocomplete=function(D,B,C){var A=EzRez.App.Messenger.read("hotel_filter_data",true);if(!A){return ;}A=A.sortBy(function(H){return H.hotel_name;}).reverse();this.getHotels=function(M){var L=new Array();if(M.length>0&&decodeURI(M)!=" "){for(var K=0,H=A.length;K<H;K++){var J=A[K].hotel_search_string;var I=J.toLowerCase().indexOf(decodeURI(M.toLowerCase()));if(I>=0){L.unshift([A[K].hotel_name,A[K].hotel_display,A[K].url]);}}}return L;};this.dataSource=new YAHOO.util.FunctionDataSource(this.getHotels);this.widget=new YAHOO.widget.AutoComplete(B,C,this.dataSource);this.widget.queryDelay=D.QUERY_DELAY;this.widget.maxResultsDisplayed=D.MAX_RESULTS_DISPLAYED;this.widget.forceSelection=D.FORCE_SELECTION;this.widget.useShadow=D.USE_SHADOW;this.widget.animHoriz=D.ANIM_HORIZ;this.widget.animSpeed=D.ANIM_SPEED;this.widget.formatResult=function(I,J){var H=I[1];return(H);};if(this.widget.textboxFocusEvent){this.widget.textboxFocusEvent.subscribe(YAHOO.EzRez.hotelAutocomplete.textboxFocusHandler,B);}if(this.widget.itemSelectEvent){this.widget.itemSelectEvent.subscribe(YAHOO.EzRez.hotelAutocomplete.selectHandler);}var F=$(this.widget._elContent).up("div.yui-ac");var G=EzRez.Application.SysConf.useResultsAccordian;var E=F.getHeight();if(G){F.setStyle("height","auto !important");}if(this.widget.containerCollapseEvent){this.widget.containerCollapseEvent.subscribe(function(){if(G){new Effect.Morph(F,{style:{height:E+"px"},duration:0.5});}$(C).fire("autocomplete:collapse");},this.widget,true);}if(this.widget.containerExpandEvent){this.widget.containerExpandEvent.subscribe(function(){if(G){var I=$(this._elContent);var H=I.getHeight();new Effect.Morph(F,{style:{height:H+"px"},duration:0.5});}$(C).fire("autocomplete:expand");},this.widget,true);}};YAHOO.EzRez.hotelAutocomplete.selectHandler=function(C,B){YAHOO.log(C);var A=B[2];location.href=A[2];};YAHOO.EzRez.hotelAutocomplete.textboxFocusHandler=function(C,B,A){YAHOO.log(C);$(A).value="";};YAHOO.EzRez.hotelAutocomplete.globalConfig={FORCE_SELECTION:true,USE_SHADOW:true,ANIM_HORIZ:true,ANIM_SPEED:0.3,MAX_RESULTS_DISPLAYED:15,QUERY_DELAY:0};(function(A){var B=function(C){var F=Object.extend({calendarButtonSelector:"a.calendar-image",minDaysAdvance:0},C);var G=new EzRez.UI.CalendarFormInput(Object.extend({minDate:A.SysConf.systemTime.addDays(F.minDaysAdvance)},C));var E=new EzRez.App.DOMController({});E.addAction(F.calendarButtonSelector+",click",function(I,H){Event.stop(I);var J=$(I.target);if(J.nodeName.strip().toLowerCase()!=="a"){J=J.up("a");}if(!J){return ;}var K=$(J.href.split("#")[1]);if(!K){return ;}G.show(K);});var D=function(){window.gfPop={};window.popCal=function(H,I,J){G.addInput("date1");G.addInput("date2");G.show(H);};};this.setBlackoutDates=function(H){G.setBlackoutDates(H);};this.applyListeners=function(){G.applyListeners();E.applyActions();};this.removeListeners=function(){G.removeListeners();E.removeActions();};this.addInput=function(H){G.addInput(H);};this.clearInputs=G.clearInputs;D();};A.createUIComponent("searchCalendar",{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},upload:function(C){C.removeListeners();}});})(EzRez.Application);(function(C){var A=function(G){var F=Object.extend({_points:0,_cash:0,_index:-1,_normalizedPoints:0,_pointsDisplay:"",_cashDisplay:""},G);this.points=F._points;this.cash=F._cash;this.pointsDisplay=F._pointsDisplay;this.cashDisplay=F._cashDisplay;this.normalizedPoints=F._normalizedPoints;this.index=F._index;};var D=function(G){var F=Object.extend({_thousandsSeparator:",",_decimalsSeparator:".",_currencySymbol:"$",_currencyCode:"USD",_locale:"en_US"},G);this.thousandsSeparator=F._thousandsSeparator;this.decimalsSeparator=F._decimalsSeparator;this.currencySymbol=F._currencySymbol;this.currencyCode=F._currencyCode;this.locale=F._locale;};var E=function(G){var F=Object.extend({_message:"",_errorMessage:"",_success:false,_tick:{}},G);this.message=F._message;this.errorMessage=F._errorMessage;this.success=F._success;this.message=F._message;this.tickJson=F._tick;};var B=function(J){var u=Object.extend({initialPoints:0,passThroughTotal:0,decimalPlaces:6,isCashAdjustmentSupported:false,isCollectCCWhenPointsOnly:false,isAlwaysAllowZeroPointsEnabled:false,rootElement:"sliderWrapper",ajaxUrl:"/authorize/points_slider/get_point_allocation_json.cfm",currencyFormat:{},ticks:{},translations:{PAYMENT_ERROR_POINTS_MIN:"",PAYMENT_ERROR_POINTS_MAX:"",PAYMENT_ERROR_POINTS_MUST_BE_INTEGER:"",PAYMENT_ERROR_MISSING_PROFILE:"",PAYMENT_ERROR_CASH_MUST_BE_NUMBER:"",PAYMENT_ERROR_CASH_MIN:"",PAYMENT_ERROR_CASH_MAX:"",PAYMENT_ERROR_ALLOCATION_ISSUE:""}},J);var O=0;var U=false;var a=false;var c=null;var W=new A();var M=new A();var l=new A();var v=null;var n=null;var j=false;var d=new D(u.currencyFormat);var G=false;var K=true;var L=new EzRez.UI.DOMCache({rootNode:"#"+u.rootElement,nodes:{sliderWrapper:function(w){return w.down("div.sliderComponentWrapper");},slider:function(w){return w.down("div.slider");},sliderThumb:function(w){return w.down("div.slider div.sliderHandle");},sliderHighlight:function(w){return w.down("div.sliderComponentWrapper div.highlight");},cashInput:function(w){return $("cc_amount");},cashInputDisplay:function(w){return $("cc_amount_display");},cashText:function(w){return w.down(".cashText p");},errorMessage:function(w){return w.down("p.errorMessage");},pointsInput:function(w){return $("redemption_points_total");},pointsInputDisplay:function(w){return $("redemption_points_total_display");},pointsText:function(w){return w.down(".pointsText p");},payWithPointsOption:function(w){return w.down("input.payWithPoints");},payWithCashOption:function(w){return w.down("input.payWithCashOnly");},payWithPointsContent:function(w){return w.down(".sliderPayWithPointsOption .optionContent");},payWithCashContent:function(w){return w.down(".sliderPayWithCashOption .optionContent");}}});var Z=function(w){var x=u.translations[w];return x?x:w;};var b=function(w){return(w-M.points)/(l.points-M.points);};var V=function(){var w=parseFloat(L.cashInput.getValue());if(isNaN(w)||w<0){w=W.cash;}var x=H();if(w>0||u.passThroughTotal>0||u.isCollectCCWhenPointsOnly){x.invoke("show");return ;}x.invoke("hide");};var H=function(){return[$("credit_card_section_addressid"),$("credit_card_sectionid"),$("credit_card_section_amountid"),$("credit_card_information_display")].compact();};var e=function(w){var x=Object.extend({target:0,mode:""},w);m();new Ajax.Request(u.ajaxUrl,{method:"post",parameters:x,onSuccess:function(AC){var z=new E(AC.responseText.evalJSON());if(!z.success){T(W);X(z.errorMessage);return ;}var AA=b(z.tickJson._points);z.tickJson._normalizedPoints=AA;var AB=q(AA);z.tickJson._index=AB.normalizedPoints>AA?AB.index-1:AB.index+1;var y=new A(z.tickJson);T(y);if(z.errorMessage===null||z.errorMessage.blank()){m();}else{X(z.errorMessage);}K=true;},onException:function(z,y){T(W);X(Z("PAYMENT_ERROR_ALLOCATION_ISSUE"));K=true;throw y;},onFailure:function(){T(W);X(Z("PAYMENT_ERROR_ALLOCATION_ISSUE"));K=true;}});};var X=function(w){L.errorMessage.update(w);if(j){return ;}L.errorMessage.show();j=true;};var m=function(){if(!j){return ;}L.errorMessage.hide();j=false;};var N=function(z,w,y,x){if(Math.abs(y-z[x])<Math.abs(w[x]-y)){return new A(z);}return new A(w);};var Y=function(AA,z){if(!AA.length){return null;}var AC=AA.length-1;var w=0;var x=0;var AB={};var y={};while(w<=AC){x=parseInt((w+AC)/2);AB=AA[x];y=AA[x+1];if(y&&AB._normalizedPoints<z&&z<=y._normalizedPoints){return y;}if(AB._normalizedPoints>z){AC=x-1;}else{if(AB._normalizedPoints<z){w=x+1;}else{return AB;}}}return null;};var q=function(y){var x=C.Profile.start("PointsSlider findNearestNormalizedTick "+new Date());var z=v.get(y.toFixed(u.decimalPlaces));if(z){x.stop();return new A(z);}var w=Y(n,y);if(!w){x.stop();return null;}var AA=n[w._index-1];if(!AA){x.stop();return new A(w);}x.stop();return N(AA,w,y,"_normalizedPoints");};var F=function(w){L.sliderHighlight.setStyle({width:(w+Math.floor(L.sliderThumb.getWidth()/2))+"px"});};var k=function(w){if(!w){return ;}U=true;setTimeout(function(){var x=w.normalizedPoints*O;c.setValue(x);F(x);},25);};var t=function(w){if(!w){return ;}W=w;r(W);R(W);};var r=function(w){if(!w){return ;}L.cashInput.value=W.cash;L.cashInputDisplay.value=W.cashDisplay;L.cashText.update(W.cashDisplay);V();};var R=function(w){if(!w){return ;}L.pointsInput.value=W.points;L.pointsInputDisplay.value=W.pointsDisplay;L.pointsText.update(W.pointsDisplay);};var T=function(w){if(!w){return ;}t(w);k(W);};var Q=function(w){var x=(1/2).toString().charAt(1);w=w.gsub(d.decimalsSeparator,x);w=w.gsub(d.thousandsSeparator,"");w=w.gsub(d.currencyCode,"");w=w.gsub(d.currencySymbol,"");return w;};var f=function(){var y=Q(L.refresh("cashInputDisplay").getValue());var w=parseFloat(y);if(isNaN(w)){r(W);X(Z("PAYMENT_ERROR_CASH_MUST_BE_NUMBER"));K=true;return ;}if(w>M.cash){r(W);X(Z("PAYMENT_ERROR_CASH_MAX")+" "+M.cashDisplay);K=true;return ;}if(w<l.cash){r(W);X(Z("PAYMENT_ERROR_CASH_MIN")+" "+l.cashDisplay);K=true;return ;}var x=n.find(function(z){return parseInt(z._cash)===w;});if(x){T(new A(x));m();K=true;return ;}e({target:w,mode:"cash"});};var p=function(){var y=Q(L.refresh("pointsInputDisplay").getValue());var w=parseInt(y);if(isNaN(w)){R(W);X(Z("PAYMENT_ERROR_POINTS_MUST_BE_INTEGER"));K=true;return ;}if(w<M.points){R(W);X(Z("PAYMENT_ERROR_POINTS_MIN")+" "+M.pointsDisplay);K=true;return ;}if(w>l.points){R(W);X(Z("PAYMENT_ERROR_POINTS_MAX")+" "+l.pointsDisplay);K=true;return ;}var x=n.find(function(z){return parseInt(z._points)===w;});if(x){T(new A(x));m();K=true;return ;}e({target:w,mode:"points"});};var i=function(y){var x;var w=-1;if(y.keyCode===Event.KEY_UP){w=W.index+1;}if(y.keyCode===Event.KEY_DOWN){w=W.index-1;}x=n[w];if(x){T(new A(x));m();}};var S=function(w){K=false;if(w.keyCode===Event.KEY_RETURN){f();}i(w);};var s=function(w){K=false;if(w.keyCode===Event.KEY_RETURN){p();return ;}i(w);};var P=function(){if(U){U=false;return ;}var x=c.getValue();F(x);var w=q(x/O);if(!w){return ;}m();W=w;t(W);};var h=function(){var z=C.Profile.start("PointsSlider initialize");var AD=C.Profile.start("PointsSlider init elms.cache");L.cache();if(!L.isValidHtml()){throw new EzRez.Util.Exception({message:"Invalid html for PointsSlider."});}n=[];v=$H();AD.stop();var x=C.Profile.start("PointsSlider generate tick arrays & map");for(var y in u.ticks){var AB=u.ticks[y];n.push(AB);v.set(y,AB);}if(n.length===0){X(Z("PAYMENT_ERROR_MISSING_PROFILE"));L.cashInput.readOnly=true;L.pointsInput.readOnly=true;a=true;G=true;return ;}x.stop();var w=C.Profile.start("PointsSlider create yui slider");var AA=L.sliderThumb.getWidth();var AC=L.sliderWrapper.getDimensions();if(AC.width+AC.height+AA===0){G=false;return ;}L.slider.setStyle({width:(AC.width-Math.floor(AA/2))+"px",height:AC.height+"px"});O=AC.width-AA;c=YAHOO.widget.Slider.getHorizSlider(L.slider,L.sliderThumb,0,O);M=new A(v.get("0.000000"));l=new A(n.last());w.stop();if(!u.isCashAdjustmentSupported){L.cashInput.readOnly=true;}if(u.initialPoints>l.points){u.initialPoints=l.points;}W=q(b(u.initialPoints));if(W&&W.points===u.initialPoints){T(W);}else{e({target:u.initialPoints,mode:"points"});}G=true;z.stop();};var o=function(w){var x=w.findElement("input.paymentOption");if(x.getValue()==="points"){if(!L.payWithPointsContent.visible()){new Effect.Parallel([new Effect.BlindDown(L.payWithPointsContent,{sync:true}),new Effect.BlindUp(L.payWithCashContent,{sync:true})]);}L.pointsInput.value=W.points;V();if(!G){setTimeout(function(){g();h();I();},500);}}else{if(!L.payWithCashContent.visible()){new Effect.Parallel([new Effect.BlindUp(L.payWithPointsContent,{sync:true}),new Effect.BlindDown(L.payWithCashContent,{sync:true})]);}L.pointsInput.value=0;H().invoke("show");}};var I=function(){if(a){return ;}if(u.isCashAdjustmentSupported){L.cashInputDisplay.observe("blur",f);L.cashInputDisplay.observe("keypress",S);}L.pointsInputDisplay.observe("blur",p);L.pointsInputDisplay.observe("keypress",s);L.payWithCashOption.observe("click",o);L.payWithPointsOption.observe("click",o);if(c){c.subscribe("change",P,this,true);}};var g=function(){if(u.isCashAdjustmentSupported){L.cashInputDisplay.stopObserving("blur",f);L.cashInputDisplay.stopObserving("keypress",S);}L.pointsInputDisplay.stopObserving("blur",p);L.pointsInputDisplay.stopObserving("keypress",s);L.payWithCashOption.stopObserving("click",o);L.payWithPointsOption.stopObserving("click",o);if(c){c.unsubscribe("change",P);}};this.isErrorVisible=function(){return j;};this.areKeystrokesValidated=function(){return K;};this.reinitialize=function(){g();h();I();};this.applyListeners=function(){I();};this.removeListeners=function(){g();};h();};C.createUIComponent("PointsSlider",{initialize:function(F){return new B(F);},applyListeners:function(F){F.applyListeners();},removeListeners:function(F){F.removeListeners();},isErrorVisible:function(F){return F.isErrorVisible();},areKeystrokesValidated:function(F){return F.areKeystrokesValidated();}});})(EzRez.Application);(function(A){A.createUIComponent("dualSliderFactory",(function(){var B=function(){var C=$H();var E=false;var D=function(){C.each(function(G){G.value.applyListeners();});E=true;};var F=function(){C.each(function(G){G.value.removeListeners();});E=false;};this.add=function(G){if(C.get(G.id)){return ;}var H=new EzRez.UI.DualSliderFilter(G);C.set(G.id,H);if(E){H.applyListeners();}};this.get=function(G){return C.get(G);};this.applyListeners=D;this.removeListeners=F;this.unload=function(){F();C=null;};};return{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.unload();}};})());})(EzRez.Application);(function(A){var B=function(I){var L=Object.extend({helpLinkClassname:"helpLink",helpLinkPopupClassname:"helpLinkPopup",helpPopupTextClassname:"helpPopupText",toolTipPanelId:"toolTipPanel",toolTipId:"toolTip"},I);var N=null;var E=null;var F=false;var D=function(){E.hide();F=false;};var K=function(Q){var S=Q.cumulativeOffset();var R=Q.getDimensions();var P=Q.next("."+L.helpPopupTextClassname);E.setBody(P.innerHTML);E.cfg.setProperty("x",S.left+R.width);E.cfg.setProperty("y",S.top+R.height);E.render(document.body);E.show();F=true;};var M=function(P){var R=$(P.target);var Q=null;if(R.nodeName.strip().toLowerCase()!=="a"){Q=R.up("a");}if(Object.isElement(Q)&&Q.href.endsWith("#")){Event.stop(P);}if(N!==null){N.doShow(P);}};var O=function(P){Event.stop(P);if(E.cfg.getProperty("visible")){D();return ;}var Q=P.findElement("."+L.helpLinkPopupClassname);K(Q);};var H=function(P){var Q=$(P.target);if(Event.findElement(P,"a."+L.helpLinkPopupClassname)){O(P);}else{if(Event.findElement(P,"a."+L.helpLinkClassname)){M(P);}else{if(F&&!Event.findElement(P,"#"+L.toolTipPanelId)){D();}}}};var J=function(P){Event.stop(P);D();};var C=function(){if(!location.hash||!location.hash.startsWith("#policies_")){return ;}var P=$$("."+location.hash.split("#")[1]+" a."+L.helpLinkPopupClassname).first();if(P){K(P);}};var G=function(){E=new YAHOO.widget.Panel(L.toolTipPanelId,{constraintoviewport:true,underlay:"shadow",visible:false,draggable:false,monitorresize:false,iframe:true,close:false,modal:true,fixedcenter:true});E.setHeader("<a class='container-close' href='#' alt='close' title='close'>X</a>");E.render(document.body);C();};this.applyListeners=function(){document.observe("click",H);N=new YAHOO.widget.Tooltip(L.toolTipId,{context:$$("."+L.helpLinkClassname)});$(L.toolTipPanelId).down("a.container-close").observe("click",J);};this.removeListeners=function(){document.stopObserving("click",H);$(L.toolTipPanelId).down("a.container-close").stopObserving("click",J);};G();};A.createUIComponent("helpToolTip",{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}});})(EzRez.Application);(function(A){A.createUIComponent("checkoutInsurance",(function(){var C=function(E){var D=$H({_success:false,_errorMessage:"",_price:0,_priceWithCurrency:"",_insuranceKey:""}).merge(E).toObject();this.success=D._success;this.errorMessage=decodeURIComponent(D._errorMessage);this.price=decodeURIComponent(D._price);this.priceWithCurrency=decodeURIComponent(D._priceWithCurrency);this.insuranceKey=decodeURIComponent(D._insuranceKey);};var B=function(M){var O=Object.extend({rootElement:"insurance_search_advertisement",validateCallback:function(){},translations:{RBC_CONNECTOR_ERROR_FOR_NON_CANADIAN:"",RBC_CONNECTOR_ERROR_FOR_CAR_ONLY_BOOKING:"",RBC_CONNECTOR_WARNING_FOR_DOB_CHANGED:""}},M);var T=new EzRez.UI.DOMCache({rootNode:"#"+O.rootElement,nodes:{advertisementSection:function(U){return $("insurance_search_advertisement");},searchSection:function(U){return $("search_insurance_section");},resultSection:function(U){return $("insurance_search_results_section");},waitingSection:function(){return $("insurance_search_waiting_section");},errorSection:function(U){return $("insurance_search_failure_section");},errorMessage:function(U){return $("insurance_search_failure_section").down(".errorMessage p");},price:function(U){return $("insurance_price");},priceHidden:function(U){return $("insurance_amount");},insuranceKeyHidden:function(U){return $("insuranceKey");},searchButton:function(U){return $("search_insurance_button");},leadTravelerCountry:function(){return $("traveler_1_country");},dobInputContainers:function(){return $$(".dobInputContainer");},pnrForm:function(){return $("pnr");}}});var N=null;var R=function(U){var V=O.translations[U];if(!V){return U;}return V;};var K=function(){var U=T.leadTravelerCountry.getValue();return U==="CA";};var L=function(){var U=A.Itinerary.products;return !U.hasAir&&!U.hasRoom&&U.hasCar;};var J=function(U){T.errorMessage.update(U);T.errorSection.show();};var Q=function(U){T.advertisementSection.hide();T.searchSection.hide();J(U);T.waitingSection.hide();N.hide();T.resultSection.hide();};var G=function(){if(L()){Q(R("RBC_CONNECTOR_ERROR_FOR_CAR_ONLY_BOOKING"));return ;}if(!K()){Q(R("RBC_CONNECTOR_ERROR_FOR_NON_CANADIAN"));return ;}T.advertisementSection.show();T.searchSection.show();T.errorSection.hide();T.waitingSection.hide();N.hide();T.resultSection.hide();};var F=function(){T.advertisementSection.hide();T.searchSection.hide();T.errorSection.hide();T.waitingSection.hide();N.show();T.resultSection.hide();};var P=function(U){T.advertisementSection.show();T.searchSection.hide();T.errorSection.hide();T.waitingSection.hide();N.hide();T.resultSection.show();T.price.update(U.priceWithCurrency);T.priceHidden.value=U.price;T.insuranceKeyHidden.value=U.insuranceKey;T.dobInputContainers.each(function(V){V.select("select").invoke("observe","click",D);});};var E=function(U){T.advertisementSection.show();T.searchSection.show();J(U);T.waitingSection.hide();N.hide();T.resultSection.hide();};var I=function(U){return new C(U.responseText.strip().evalJSON());};var H=function(U){Event.stop(U);if(!O.validateCallback()){return ;}F();new Ajax.Request("/authorize/insurance/checkout_form_insurance_process.cfm",{parameters:T.pnrForm.serialize(true),evalScripts:true,onSuccess:function(X,W){var V=I(X);if(V.success){P(V);}else{E(V.errorMessage);}},onException:function(W,V){E(I(W).errorMessage);},onFailure:function(V){E(I(V).errorMessage);}});};var D=function(){G();J(R("RBC_CONNECTOR_WARNING_FOR_DOB_CHANGED"));};var S=function(U){Event.stop(U);var V=U.findElement("a.popUp");window.open(V.href,"_blank","height=500,width=400,scrollbars=yes");};this.applyListeners=function(){T.searchButton.observe("click",H);T.leadTravelerCountry.observe("change",G);$$("a.popUp").each(function(U){if(U!="undefined"){U.observe("click",S);}});};this.removeListeners=function(){};this.initialize=function(){T.cache();if(!T.isValidHtml()){new EzRez.Util.Exception({message:"Invalid html for checkoutInsurance: "+T.getInvalidNodes().join(", ")+"."});return ;}N=new EzRez.UI.Dialog({name:"waiting_dialog",headerContent:" ",bodyContent:T.waitingSection.innerHTML,className:"insuranceWaiting",position:"center"});G();};};return{initialize:function(D){var E=new B(D);E.initialize();return E;},applyListeners:function(D){D.applyListeners();},removeListeners:function(D){D.removeListeners();}};})());})(EzRez.Application);(function(A){A.createUIComponent("AirAsiaPaymentPost",(function(){var B=function(D){var C=$H(Object.extend({Amount:"",CardHolder:"",CardNo:"",CardExp:"",CardCVV2:"",CurrencyCode:"",FormAction:"",MerchantName:"AirAsia",MerchantReturnURL:"",MerchantApprovalURL:"",MerchantUnApprovalURL:"",HashMethod:"MD5",HashValue:"",PaymentID:"",ServiceID:"",TransactionType:"sale"},D));var E=function(){var F=new Element("form",{action:C.get("FormAction"),method:"post",style:"display:none;"});C.unset("FormAction");C.each(function(G){F.appendChild(new Element("input",{type:"hidden",name:G.key,value:G.value}));});return F;};this.createAndSubmit=function(){var F=E();document.body.appendChild(F);F.submit();};};return{initialize:function(C){var D=new B(C);D.createAndSubmit();return D;}};})());})(EzRez.Application);(function(A){var B=function(C){var G=Object.extend({showAnchorSelector:"div.showXmlContainer a.showDetails",hideAnchorSelector:"div.showXmlContainer a.hideDetails"},C);var D=function(H){var I=$(H.target);if(Event.findElement(H,G.showAnchorSelector)){F(H);}else{if(Event.findElement(H,G.hideAnchorSelector)){E(H);}}};var F=function(I){Event.stop(I);var H=I.findElement("a").next("textarea");H.show();H.enable();};var E=function(I){Event.stop(I);var H=I.findElement("a").next("textarea");H.hide();H.disable();};this.applyListeners=function(){document.observe("click",D);};this.removeListeners=function(){document.stopObserving("click",D);};};A.createUIComponent("showDebugXml",{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}});})(EzRez.Application);(function(C){var A=function(){var D=$H();this.create=function(F,E){D.set(F,new B(E));};this.get=function(E){return D.get(E);};};var B=function(E){var I=Object.extend({textFieldId:"",resultsContainerId:E.textFieldId+"_results",hiddenFieldId:"",maxResults:15,minQueryLength:3,searchURL:"",additionalParams:"",selectHandler:null,blurHandler:null,errorHandler:function(M,L){}},E);var K=false;var H=new YAHOO.util.XHRDataSource(I.searchURL);H.responseType=YAHOO.util.XHRDataSource.TYPE_JSARRAY;H.responseSchema={fields:["_displayValue","_searchValue"]};H.maxCacheEntries=50;var D=new YAHOO.widget.AutoComplete(I.textFieldId,I.resultsContainerId,H);D.animHoriz=true;D.animSpeed=0.15;D.queryDelay=0.05;D.maxResultsDisplayed=I.maxResults;D.minQueryLength=I.minQueryLength;D.useIFrame=true;D.useShadow=true;D.queryMatchContains=true;D.generateRequest=function(L){return"?query="+L+I.additionalParams;};D.resultTypeList=false;D.formatResult=function(N,O,M){if(M.toUpperCase().startsWith(O.toUpperCase())){return"<span class='autoCompleteHighlight'>#{partToBold}</span><span class='autoCompleteRemainder'>#{remainder}</span>".interpolate({partToBold:M.substr(0,O.length),remainder:M.substr(O.length)});}var L=M.toUpperCase().search(O.toUpperCase());if(L>0){return"<span class='autoCompleteRemainder'>#{firstPart}</span><span class='autoCompleteHighlight'>#{partToBold}</span><span class='autoCompleteRemainder'>#{remainder}</span>".interpolate({firstPart:M.substr(0,L),partToBold:M.substr(L,O.length),remainder:M.substr(L+O.length)});}return M;};var G=function(O,N,M){K=true;if(M.selectHandler){M.selectHandler(O,N,M);return ;}var L=N[2];$(E.hiddenFieldId).value=L._searchValue;M.errorHandler(false,M.textFieldId);};var F=function(N,M,L){$(L.textFieldId).value="";$(L.hiddenFieldId).value="";};var J=function(O,N,M){if(K){K=false;return ;}if(M.blurHandler){M.blurHandler(O,N,M);return ;}var L="/travel/plugins/ajax_locations/get_valid_location.cfm";new Ajax.Request(L,{parameters:{query:$(M.textFieldId).getValue()},onComplete:function(R){var P=R.responseText.evalJSON();var Q=Object.isArray(P)&&P.length>0;if(Q){$(M.hiddenFieldId).value=P.first()["_searchValue"];$(M.textFieldId).value=P.first()["_displayValue"];}M.errorHandler(!Q,M.textFieldId);},onException:function(Q,P){throw P;}});};D.textboxFocusEvent.subscribe(F,I);D.itemSelectEvent.subscribe(G,I);D.textboxBlurEvent.subscribe(J,I);};C.createUIComponent("locationAutoCompleteFactory",{initialize:function(){return new A();}});})(EzRez.Application);(function(B){var C=function(){var D=$H();this.create=function(F,E){D.set(F,new A(E));};this.get=function(E){return D.get(E);};};var A=function(D){var F=Object.extend({errorElementId:D.textFieldId+"_error",errorMessage:""},D);var E=function(H,G){if(H){B.FormErrors.addError(G,"LocationAutoCompleteError");$(F.errorElementId).show();$(F.errorElementId).innerHTML=F.errorMessage;}else{B.FormErrors.removeError(G);$(F.errorElementId).hide();}};B.use("locationAutoCompleteFactory").create(F.textFieldId,Object.extend({errorHandler:E},F));};B.createUIComponent("searchFormAutoCompleteFactory",{initialize:function(){return new C();}});})(EzRez.Application);(function(A){var B=function(C){var F=Object.extend({rootElementSelector:".page_v1_c2_wide",submitLinkSelector:"a.submit_link"},C);var D=new EzRez.UI.DOMCache({rootNode:F.rootElementSelector,nodes:{submitLinks:function(J){return J.select(F.submitLinkSelector);},forms:function(J){return J.select("form");}}});var E=new EzRez.UI.DOMCache({rootNode:F.rootElementSelector,nodes:{pointsInput:function(J){return $("redemption_points_total");}}});var G=function(K){if(!K){return ;}if(A.use("PointsSlider")){if(A.use("PointsSlider").isErrorVisible()){return ;}if(!A.use("PointsSlider").areKeystrokesValidated()){setTimeout(function(){G(K);},100);return ;}}if(!E.isValidHtml()||K===E.pointsInput.up("form")){K.submit();return ;}var J=E.pointsInput.cloneNode(false);J.writeAttribute({id:"cloned_redemption_points_total"});K.appendChild(J);K.submit();};var I=function(J){Event.stop(J);var K=J.findElement(F.submitLinkSelector);var L=K.href.split("#")[1];G(document[L]);};var H=function(J){Event.stop(J);var K=J.findElement("form");G(K);};this.applyListeners=function(){if(!D.isValidHtml()){return ;}D.submitLinks.each(function(J){J.observe("click",I);});D.forms.each(function(J){J.observe("submit",H);});};this.removeListeners=function(){if(!D.isValidHtml()){return ;}D.submitLinks.each(function(J){J.stopObserving("click",I);});D.forms.each(function(J){J.stopObserving("submit",H);});};D.cache();E.cache();if(!D.isValidHtml()){new EzRez.Util.Exception({message:"Missing elements for ItineraryForms: "+D.getInvalidNodes().join(", ")});}};A.createUIComponent("itineraryForms",{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},upload:function(C){C.removeListeners();}});})(EzRez.Application);(function(A){var B=function(C){var D=Object.extend({selector:"a.iframe",sanitizer:"/service/sanitizer.cfm"},C);var E=function(){$$(D.selector).each(function(F){var I=$H({ep:encodeURIComponent(F.href)});var H=location.protocol+"//"+location.host+D.sanitizer+"?"+I.toQueryString();var G=new Element("iframe",{src:H,"class":F.classNames().toString(),frameborder:0});F.insert({after:G});F.remove();});};E();};A.createUIComponent("validatedIframe",{initialize:function(C){return new B(C);}});})(EzRez.Application);(function(A){A.createUIComponent("carCrossSellSelectionHandler",(function(){var B=function(C){var E=$H({linkClass:"carCrossSellOptions",selectedCarOptionClass:"selectedCarOption",carKeyFieldId:"carKeyField",linkSelector:".carCrossSellOptions .card_link a",initiallySelectedCarKey:""}).merge(C).toObject();var G=$$(E.linkSelector);if(G.length>0){var H=$$("."+E.linkClass+" ."+E.selectedCarOptionClass);var F=null;if(H.length>0){F=H[0];}var D=$(E.carKeyFieldId);D.value=E.initiallySelectedCarKey;G.each(function(I){Event.observe(I,"click",function(K){Event.stop(K);var M=Event.findElement(K,E.linkSelector);var J=M.up(".carOption");var L=M.href.substring(M.href.lastIndexOf("carKey=")+7);D.value=L;if(F){F.removeClassName(E.selectedCarOptionClass);}J.addClassName(E.selectedCarOptionClass);F=J;});});}};return{initialize:function(C){return new B(C);}};})());})(EzRez.Application);(function(B){var A=function(){var K=EzRez.UI.GMap.isCompatible();var H=null;var P=$("hotelLandingMapCanvas");var E=$("hotelLandingReviews");var M=$("hotelVirtualTour");var N=$("aboutHotel");var F=new YAHOO.widget.TabView("hotelLandingTabbedView");F.addListener("activeTabChange",O);var Q=location.href.toQueryParams();function O(R){var S=R.newValue;var T=S.get("contentEl");D(Element.identify(T));}function D(R){if(R==="hotelReviews"){if(P){Element.hide(P);}Element.show(E);}else{if(R==="hotelMap"){if(!K){return ;}Element.show(P);if(E){Element.hide(E);}if(H){H.fixCenter(true);}}else{if(R=="hotelVirtualTour"){if(P){Element.hide(P);}if(E){Element.hide(E);}Element.show(M);}else{if(P){Element.hide(P);}if(E){Element.hide(E);}Element.show(N);}}}}function L(){if(P){Element.hide(P);}var R=$$("#hotelLandingTabbedView .yui-nav li");if(R.length>0){Element.hide(R[1]);}}function J(){if(!K){L();return ;}H=new EzRez.UI.GMap({canvas_id:P.identify(),info_id:"hotelMap",setup:function(S){var R=S.getDefaultUI();R.zoom.scrollwheel=false;S.setUI(R);S.enableContinuousZoom();},parseComplete:function(S,R){if(S.length===0){L();D("aboutHotel");F.selectTab(0);}}});Event.observe(document,"unload",EzRez.UI.GMap.unload);Event.observe(window,"unload",EzRez.UI.GMap.unload);}function G(){if(top!==self){return ;}var S=window.location.href;var U=S.toQueryParams();if(U.show_terms_and_search){if(U.show_terms_and_search==="false"){return ;}}var T=$$(".hotelSearchBox");if(T.length>0){T=T[0];Element.show(T);}var R=$$(".termsAndConditions");if(R.length>0){R=R[0];Element.show(R);}}function C(){var S={hotelVirtualTour:function(){D("hotelVirtualTour");},hotelMap:function(){if(K){D("hotelMap");}else{D("aboutHotel");}},hotelReviews:function(){D("hotelReviews");},defaultTab:function(){D("aboutHotel");}};var R=S[Q.view];if(R){R();}else{S.defaultTab();}}function I(){J();G();C();}I();};B.createUIComponent("hotelDetails",{initialize:function(){return new A();}});})(EzRez.Application);(function(A){var B=function(K){var L=Object.extend({translations:{AVAILABILITY_MAP_PIN_MOVE_ME:"Move me!",AVAILABILITY_MAP_DROPPED_PIN:"Dropped Pin"}},K);var C=new EzRez.UI.DOMCache({rootNode:".mapAddressSearchContainer",nodes:{searchButton:function(b){return b.down("input.submitNearbyAddress");},addressInput:function(b){return b.down("input.nearbyAddress");},addressResultsUl:function(b){return b.down("ul.addressResults");},addressResultsContainer:function(b){return b.down("div.addressResultsContainer");},noAddressResultsContainer:function(b){return b.down("div.noAddressResultsContainer");},selectedAddressContainer:function(b){return b.down("div.selectedAddressContainer");},selectedAddress:function(b){return b.down("div.selectedAddressContainer span.selectedAddress");},errorMessage:function(b){return b.down("div.errorMessage");}}});var P=EzRez.UI.GMap.isCompatible();var T=$H();var X=null;var E=null;var R={200:"Success",400:"Bad Request",500:"Server Error",601:"Missing Query or Missing Address",602:"Unknown Address",603:"Unavailable Address",604:"Unknown Directions",610:"Bad Key",620:"Too Many Queries"};function F(b){EzRez.Util.Debug.info(b);console.info(b);}function Q(b){var c=L.translations[b];if(!c){return b;}return c;}function H(){C.addressResultsContainer.hide();C.noAddressResultsContainer.hide();C.selectedAddressContainer.hide();C.errorMessage.hide();}function a(b){C.noAddressResultsContainer.show();}function V(){var b=new GIcon();b.image="/js/gmaps/images/markers/bluePin/image.png";b.shadow="/js/gmaps/images/markers/bluePin/shadow.png";b.iconSize=new GSize(32,32);b.shadowSize=new GSize(48,32);b.iconAnchor=new GPoint(0,32);b.infoWindowAnchor=new GPoint(16,0);b.printImage="/js/gmaps/images/markers/bluePin/printImage.gif";b.mozPrintImage="/js/gmaps/images/markers/bluePin/mozPrintImage.gif";b.printShadow="/js/gmaps/images/markers/bluePin/printShadow.gif";b.transparent="/js/gmaps/images/markers/bluePin/transparent.png";b.imageMap=[18,0,20,1,23,2,24,3,26,4,26,5,26,6,26,7,24,8,22,9,22,10,22,11,21,12,21,13,20,14,21,15,21,16,22,17,22,18,22,19,22,20,22,21,22,22,21,23,19,24,13,25,13,26,12,27,12,28,12,29,11,30,11,31,9,31,9,30,9,29,9,28,9,27,10,26,10,25,10,24,11,23,9,22,8,21,7,20,6,19,5,18,5,17,5,16,5,15,6,14,7,13,8,12,11,11,11,10,11,9,12,8,12,7,12,6,13,5,12,4,11,3,11,2,11,1,12,0];return b;}function U(c){C.selectedAddress.update(c.address);C.selectedAddressContainer.show();var d=A.use("hotelsMap");var b=d.addGeoCoord(c.Point.coordinates[1],c.Point.coordinates[0],{title:Q("AVAILABILITY_MAP_PIN_MOVE_ME"),label:null,labelClass:"LabeledMarker_markerLabel selectedAddressLabeledMarker",marker_opts:{icon:V()}});b.enableDragging();GEvent.addListener(b,"click",function(){b.openInfoWindowHtml("<br/>"+c.address);});GEvent.addListener(b,"dragend",N);}function M(b){T=$H();C.addressResultsUl.update("");b.each(function(c){T.set(c.address.toLowerCase(),c);C.addressResultsUl.insert('<li class="addressResults"><a href="#">#{address}</a></li>'.interpolate(c));});C.addressResultsContainer.show();}function W(b){H();U(b);F("  Sorting by distance from: "+b.address);console.dir(b);X=b;var c=A.use("hotelUpdater");c.sortByDistanceFromGeoCoords({lat:b.Point.coordinates[1],lng:b.Point.coordinates[0],address:b.address});}function J(d,b){F(" Dropped pin: using pin geo coordinates");var c={address:b,Point:{coordinates:[d.lng(),d.lat()]},latlng:d};W(c);}function O(b){H();X=null;var c=A.use("hotelsMap").getMap().getMap();E.setViewport(c.getBounds());E.getLocations(b,function(d){F("Geocoding address: "+b+".");if(d.Status.code!=G_GEO_SUCCESS){F("  ClientGeocoder Request Error: "+d.Status.code+" - "+R[d.Status.code]+").");F("  Failed to geocode address.");a(b);return ;}console.dir(d);var e=A.use("hotelsMap");var g=e.getMapCenter();var f=d.Placemark.findAll(function(i){var k=Math.abs(g.lat()-i.Point.coordinates[1]);var j=Math.abs(g.lng()-i.Point.coordinates[0]);var h=k<=2&&j<=2;if(!h){F("  Inaccurate placemark: "+i.address);}return h;});if(f.length===0){F("  No accurate plaemarks");F("  Failed to geocode address.");a(b);return ;}if(f.length===1){W(f.first());return ;}M(f);});}function Z(b){X=null;E.getLocations(b,function(c){F("Reverse Geocoding coordinate: "+b.toString()+".");if(c.Status.code!=G_GEO_SUCCESS){F("  ClientGeocoder Request Error: "+c.Status.code+" - "+R[c.Status.code]+").");F("  Failed to reverse geocode coordinate.");J(b,Q("AVAILABILITY_MAP_DROPPED_PIN"));return ;}console.dir(c);if(c.Placemark.length===0){F("  No accurate plaemarks");F("  Failed to reverse geocode coordinate.");J(b,Q("AVAILABILITY_MAP_DROPPED_PIN"));return ;}var d=c.Placemark.first();F("  Reverse geocode success: "+d.address);J(b,d.address);});}function D(b){C.addressInput.value="";}function N(b){Z(b);}function S(b){O(C.addressInput.getValue());}function G(b){Event.stop(b);var c=b.findElement("li.addressResults a");var d=T.get(c.innerHTML.toLowerCase());W(d);}function I(){if(!P){return ;}C.addressInput.observe("focus",D);C.searchButton.observe("click",S);C.addressResultsUl.observe("click",G);}function Y(){if(!P){return ;}E=new GClientGeocoder();C.cache();}this.applyListeners=I;this.reinitialize=function(){if(!P){return ;}Y();I();if(X){U(X);}};Y();};A.createUIComponent("hotelMapDistanceSorter",{initialize:function(C){return new B(C);},applyListeners:function(C){C.applyListeners();}});})(EzRez.Application);(function(A){var B=function(L){var N=Object.extend({formName:"pnr",travelContainerSelector:"span.travelerContainer",firstNameSelector:"input.address_firstname",middleNameSelector:"input.address_middlename",lastNameSelector:"input.address_lastname",travelerSelectClass:"travelerSelect",translations:{CO_UNIQUE_TRAVELER_NAME:null,CO_DUPLICATE_NAMES_ROOMS:null}},L);var K=$$(N.travelContainerSelector);var P={};K.each(function(U){var W=U.identify();var T=U.down(N.firstNameSelector);var V=U.down(N.lastNameSelector);P[W]={firstNameElm:T,lastNameElm:V};});var E=new EzRez.UI.FormValidator({formName:N.formName});var O=new EzRez.App.DOMController({});var C=$H();var S=function(T){var U=N.translations[T];if(!U){return T;}return U;};var G=function(){var T=[];K.each(function(V){var X=V.identify();var U={firstName:P[X]["firstNameElm"].getValue(),lastName:P[X]["lastNameElm"].getValue(),index:X.replace("traveler_","")};var W=U.firstName+U.lastName;if(W.blank()){return ;}T.push(U);});$$("select."+N.travelerSelectClass).each(function(U){var X=C.get(U.name);var V=X?parseInt(X):parseInt(U.getValue());U.innerHTML="";for(var W=0;W<T.length;W++){U.options[W]=new Option(T[W].firstName+" "+T[W].lastName,T[W].index);}if(!V||U.options.length<V){U.selectedIndex=-1;return ;}U.selectedIndex=V-1;});};var J=function(T){G();};var F=function(T){G();};O.addAction(N.lastNameSelector+",blur",J);O.addAction(N.firstNameSelector+",blur",F);function R(T){var V=false;var U=[];$$(N.travelContainerSelector).each(function(c){if(!c.visible()){return ;}var X={first:"",middle:"",last:""};var a=c.down(N.firstNameSelector);if(a){X.first=a.getValue();}var Z=c.down(N.middleNameSelector);if(Z){var b=Z.up("tr");if(b.visible()){X.middle=Z.getValue();}}var Y=c.down(N.lastNameSelector);if(Y){X.last=Y.getValue();}var W="#{first} #{middle} #{last}".interpolate(X).toLowerCase();if(U.include(W)){V=true;throw $break;}U.push(W);});return !V;}function Q(T){var V=[];var U=true;if(!T){return U;}T.each(function(W){if(V.include(W.selectedIndex)||W.selectedIndex<0){U=false;throw $break;}V.push(W.selectedIndex);});return U;}function M(U){var T=true;if(!U){return T;}U.each(function(V){if(!Q(V.select("select.travelerSelect"))){T=false;throw $break;}});return T;}function H(T){if(!Q($$(".airInfo select.travelerSelect"))){return false;}if(!Q($$(".cruiseInfo select.travelerSelect"))){return false;}return M($$(".activity_travelers_div"));}function I(){return M($$(".roomInfo .co_details"));}function D(){E.addRule({message:S("CO_UNIQUE_TRAVELER_NAME"),validator:R});E.addRule({message:S("CO_UNIQUE_TRAVELER_NAME"),validator:H});E.addRule({message:S("CO_DUPLICATE_NAMES_ROOMS"),validator:I,onFailure:function(U,T){return confirm(U.message);}});}this.setPulldownTraveler=function(T,U){C.set(T,U);G();};this.applyListeners=function(){O.applyActions();};this.removeListeners=function(){O.removeActions();};this.buildTravelerSelects=function(){G();};this.addValidationRule=function(T){E.addRule(T);};this.validateAndSubmitForm=function(){E.validateAndSubmit();};this.checkForDuplicateNames=function(){};this.validate=function(){return E.validate();};D();};A.createUIComponent("checkOutForm",{initialize:function(C){var D=new B(C);D.buildTravelerSelects();return D;},applyListeners:function(C){C.applyListeners();},removeListeners:function(C){C.removeListeners();},unload:function(C){C.removeListeners();}});})(EzRez.Application);(function(C){var A=function(E){var D=Object.extend({_success:false,_errorMessage:"",_formInputErrors:{},_records:[]},E);this.success=D._success;this.errorMessage=D._errorMessage;this.records=D._records;};var B=function(H){var I=$H({countriesRequireZip:"",cancelConfirmTranslation:"",cancelLoader:"",custTrackingId:"",custid:0,shouldRenderExistingCreditCard:true,shouldRenderCreditCard:true,firstname:"",lastname:"",email:""}).merge(H).toObject();var J=[];var S=new EzRez.UI.FormValidator({formName:"cc_input"});var M=function(){var e=$$(".existingCCInfo")[0];var f=$$(".newCCInfo")[0];if(this.checked){if(e.hasClassName("hidden")){e.removeClassName("hidden");}f.addClassName("hidden");}else{if(f.hasClassName("hidden")){f.removeClassName("hidden");}e.addClassName("hidden");}};function D(){var q=$("cc_number").value;var e="0123456789";var l=q.length;var k=parseInt(q);var o=q.toString();o=o.replace(/^\s+|\s+$/g,"");var n=0;var r=true;var m=false;var p;var g;for(var f=0;f<l;f++){p=""+o.substring(f,f+1);if(e.indexOf(p)=="-1"){r=false;}}if(!r){m=false;}if((l==0)&&(m)){m=false;}else{if(l>=14){for(var h=l;h>0;h--){g=parseInt(k)%10;g=parseInt(g);n+=g;h--;k=k/10;g=parseInt(k)%10;g=g*2;switch(g){case 10:g=1;break;case 12:g=3;break;case 14:g=5;break;case 16:g=7;break;case 18:g=9;break;}k=k/10;n+=g;}m=(n%10)==0;}}return m;}function X(){var e;if(I.shouldRenderExistingCreditCard&&$("same_cc_flag").checked){e=$("cc_cvv").value;}else{e=$("cc_cvv2").value;}return(e.length==3||e.length==4);}function R(){var i=$("cc_exp_month").value;var f=$("cc_exp_year").value;var h=new Date();var e=h.getFullYear();var g=h.getMonth()+1;if(i==""||f==""){return false;}return !(f==e&&i<g);}function d(){return !$("cc_firstname").value.blank();}function W(){return !$("cc_lastname").value.blank();}function T(){return !$("cc_country").value.blank();}function E(){return !$("cc_address1").value.blank();}function N(){return !$("cc_city").value.blank();}function K(){return(!I.countriesRequireZip.include($("cc_country").value))?true:!$("cc_zip").value.blank();}function Q(){return !$("cc_state").value.blank();}function U(){return !$("cc_phone").value.blank();}function P(){var e=/^([^@]+)@([^@\.]+)\.([^@\.]+)/;return e.test($("cc_email").value);}function L(){return $("cc_terms").checked;}function Z(){if(!L()){J.push("cc_terms");return L();}if(!I.shouldRenderCreditCard){return true;}if(I.shouldRenderExistingCreditCard&&$("same_cc_flag").checked){if(!X()){J.push("cc_cvv");return X();}}else{if(!D()){J.push("cc_number");return D();}if(!R()){J.push("cc_exp_date");return R();}if(!d()){J.push("cc_firstname");return d();}if(!W()){J.push("cc_lastname");return W();}if(!T()){J.push("cc_country");return T();}if(!E()){J.push("cc_address");return E();}if(!N()){J.push("cc_city");return N();}if(!Q()){J.push("cc_state");return Q();}if(!K()){J.push("cc_zip");return K();}if(!P()){J.push("cc_email");return P();}if(!U()){J.push("cc_phone");return U();}}return true;}function a(){S.addRule({inputNames:["cc_cancelContinue"],validator:Z,event:"blur",onFailure:function(){J.each(function(e){G(e);});},onSuccess:function(){O();}});S.addRule({inputNames:["cc_terms"],validator:L,event:"blur",onFailure:function(){G("cc_terms");},onSuccess:function(){F("cc_terms");}});S.addRule({inputNames:["cc_number"],validator:D,event:"blur",onFailure:function(){G("cc_number");},onSuccess:function(){F("cc_number");}});S.addRule({inputNames:["cc_cvv2"],validator:X,event:"blur",onFailure:function(){G("cc_cvv2");},onSuccess:function(){F("cc_cvv2");}});S.addRule({inputNames:["cc_cvv"],validator:X,event:"blur",onFailure:function(){G("cc_cvv");},onSuccess:function(){F("cc_cvv");}});S.addRule({inputNames:["cc_exp_month"],validator:R,event:"blur",onFailure:function(){G("cc_exp_date");},onSuccess:function(){F("cc_exp_date");}});S.addRule({inputNames:["cc_exp_year"],validator:R,event:"blur",onFailure:function(){G("cc_exp_date");},onSuccess:function(){F("cc_exp_date");}});S.addRule({inputNames:["cc_lastname"],validator:W,event:"blur",onFailure:function(){G("cc_lastname");},onSuccess:function(){F("cc_lastname");}});S.addRule({inputNames:["cc_firstname"],validator:d,event:"blur",onFailure:function(){G("cc_firstname");},onSuccess:function(){F("cc_firstname");}});S.addRule({inputNames:["cc_country"],validator:T,event:"blur",onFailure:function(){G("cc_country");},onSuccess:function(){F("cc_country");}});S.addRule({inputNames:["cc_address1"],validator:E,event:"blur",onFailure:function(){G("cc_address1");},onSuccess:function(){F("cc_address1");}});S.addRule({inputNames:["cc_city"],validator:N,event:"blur",onFailure:function(){G("cc_city");},onSuccess:function(){F("cc_city");}});S.addRule({inputNames:["cc_state"],validator:Q,event:"blur",onFailure:function(){G("cc_state");},onSuccess:function(){F("cc_state");}});S.addRule({inputNames:["cc_zip"],validator:K,event:"blur",onFailure:function(){G("cc_zip");},onSuccess:function(){F("cc_zip");}});S.addRule({inputNames:["cc_email"],validator:P,event:"blur",onFailure:function(){G("cc_email");},onSuccess:function(){F("cc_email");}});S.addRule({inputNames:["cc_phone"],validator:U,event:"blur",onFailure:function(){G("cc_phone");},onSuccess:function(){F("cc_phone");}});}var G=function(e){$(e+"_error").show();$$("."+e+"_container")[0].addClassName("fieldError");$("cc_cancelContinue").disabled=true;};var F=function(e){$(e+"_error").hide();$$("."+e+"_container")[0].removeClassName("fieldError");$("cc_cancelContinue").disabled=false;};var c={};c.US={stateClass:".us_container",showZip:true};c.CA={stateClass:".ca_container",showZip:false};c.AU={stateClass:".au_container",showZip:false};c.free={stateClass:".free_container",showZip:false};var V=function(g){var e=$(g.target);if(e.value===""){$("cc_complete_address_container").hide();return ;}var j=c.free;if(c[e.value]){j=c[e.value];}var h=$$(j.stateClass)[0];var f=$$(".state_container");var i;f.each(function(k){k.hide();i=k.down("select");if(i){if(i.hasAttribute("id")){i.removeAttribute("id");i.removeAttribute("name");}i.disabled=true;}});if(j.showZip){$$(".zip")[0].show();$$(".postal_code")[0].hide();}else{$$(".zip")[0].hide();$$(".postal_code")[0].show();}h.show();h.down("select").disabled=false;h.down("select").setAttribute("id","cc_state");h.down("select").setAttribute("name","cc_state");Effect.BlindDown("cc_complete_address_container",{duration:0.5});};var O=function(){if(confirm(I.cancelConfirmTranslation)){$("cc_cancelContinue").disabled=true;C.use("waitingDialog").setHeaderText(I.cancelLoader);C.use("waitingDialog").show();var f=$H();var e=$("cc_input").getElements();e.each(function(h){var g=h.value;f.set(h.name,g);});if(!I.shouldRenderCreditCard){f.set("_method","DELETE");}else{if(I.shouldRenderExistingCreditCard&&$("same_cc_flag").checked){f.set("_method","POST");}else{f.set("_method","PUT");}}f.set("email",I.email);f.set("firstname",I.firstname);f.set("lastname",I.lastname);f.set("custid",I.custid);f.set("password",I.custTrackingId);f.set("sendby","email");new Ajax.Request("/authorize/cancellation_ajax.cfm",{parameters:f,onComplete:function(h){var g=new A(h.responseText.evalJSON());if(g.success){Y();C.use("waitingDialog").hide();return ;}C.use("waitingDialog").hide();b();$("cc_cancelContinue").disabled=false;},onFailure:function(h){var g=new A(h.responseText.evalJSON());C.use("waitingDialog").hide();b();$("cc_cancelContinue").disabled=false;},onException:function(h,g){C.use("waitingDialog").hide();b();$("cc_cancelContinue").disabled=false;console.error(g);throw g;}});}};var Y=function(){window.location="/service/bookings_view.cfm?custid="+I.custid+"&password="+I.custTrackingId;};var b=function(){$$(".fieldError")[0].show();$("errorContent_top").focus();};this.applyListeners=function(){if(I.shouldRenderCreditCard){$("same_cc_flag").observe("click",M);$("cc_country").observe("change",V);}$("cc_doNotCancel").observe("click",Y);S.applyListeners();};this.removeListeners=function(){};this.unload=function(){_removeListeners();};a();};C.createUIComponent("bookingCancellation",{initialize:function(D){return new B(D);},applyListeners:function(D){D.applyListeners();},removeListeners:function(D){D.removeListeners();},unload:function(D){D.unload();}});})(EzRez.Application);