Type.registerNamespace("SearchBrowse");SearchBrowse.Updater=function(b){this.QsmCollapseGroupState=new Array();this.QsmCollapseItemState=new Array();this.QsmOpenedMultiSelectBlocks=new Array();this.WaitPanelCount=0;this.PriceUpdateQueryFilter=null;this.integrateListerTabsInPager=false;this.DefaultedTo2Adults=false;this.InitialFhUrlOfPage=this.GetInitialFhUrlOfPage();this.CurrentUrl=this.InitialFhUrlOfPage;this.TraceCurrentUrlChange();SearchBrowse.Updater.initializeBase(this,[b]);ThomasCook.Ecom.Web.SearchBrowse.set_timeout(50000);this.StateRetrieverDelegate=Function.createDelegate(this,this.StateRetriever);this.LoadInitialCompareDelegate=Function.createDelegate(this,this.LoadInitialCompare);this.CompareStateRetrieverDelegate=Function.createDelegate(this,this.CompareStateRetriever);this.UpdateDelegate=Function.createDelegate(this,this.OnUpdate);this.GoToDetailDelegate=Function.createDelegate(this,this.GoToDetail);this.ShowDetailDelegate=Function.createDelegate(this,this.ShowDetail);this.ShowDetailFromButtonDelegate=Function.createDelegate(this,this.ShowDetailFromButton);this.ShowDetailFromBookNowLinkDelegate=Function.createDelegate(this,this.ShowDetailFromBookNowLink);this.ShowDetailFromMoreLinkDelegate=Function.createDelegate(this,this.ShowDetailFromMoreLink);this.ListerOrFullTextSearchDelegate=Function.createDelegate(this,this.ListerOrFullTextSearch);this.MoreLessDelegate=Function.createDelegate(this,this.MoreLess);this.MoreLessItemDelegate=Function.createDelegate(this,this.MoreLessItem);this.BackToListDelegate=Function.createDelegate(this,this.BackToList);this.CompareUpdateDelegate=Function.createDelegate(this,this.CompareUpdate);this.RemoveFromCompareStateRetrieverDelegate=Function.createDelegate(this,this.RemoveFromCompareStateRetriever);this.NullStateRetrieverDelegate=Function.createDelegate(this,this.NullStateRetriever);this.OnStorePackageInProfileDelegate=Function.createDelegate(this,this.OnStorePackageInProfile);this.RememberSelectedItemDelegate=Function.createDelegate(this,this.RememberSelectedItem);this.LoginAndStorePackageDelegate=Function.createDelegate(this,this.LoginAndStorePackage);this.QsmDateSelectDelegate=Function.createDelegate(this,this.QsmDateSelect);this.InitializeQsmDatesDelegate=Function.createDelegate(this,this.InitializeQsmDates);this.UpdatePriceDetailsDelegate=Function.createDelegate(this,this.UpdatePriceDetails);this.ShowWaitPanelDelegate=Function.createDelegate(this,this.ShowWaitPanel);this.HideWaitPanelDelegate=Function.createDelegate(this,this.HideWaitPanel);this.ShowFullWaitPanelDelegate=Function.createDelegate(this,this.ShowFullWaitPanel);this.HideFullWaitPanelDelegate=Function.createDelegate(this,this.HideFullWaitPanel);this.ShowPopupWaitPanelDelegate=Function.createDelegate(this,this.ShowPopupWaitPanel);this.HidePopupWaitPanelDelegate=Function.createDelegate(this,this.HidePopupWaitPanel);this.ShowPriceDetailsWaitPanelDelegate=Function.createDelegate(this,this.ShowPriceDetailsWaitPanel);this.HidePriceDetailsWaitPanelDelegate=Function.createDelegate(this,this.HidePriceDetailsWaitPanel);this.ShowEmptyTextSearchDelegate=Function.createDelegate(this,this.ShowEmptyTextSearch);this.DoCompareDelegate=Function.createDelegate(this,this.DoCompare);this.InitializeNavigationDelegate=Function.createDelegate(this,this.InitializeNavigation);this.InitializeJavaScriptElementsDelegate=Function.createDelegate(this,this.InitializeJavaScriptElements);this.UpdateNumberOfChildrenDelegate=Function.createDelegate(this,this.UpdateNumberOfChildren);this.UpdateNumberOfAdultsDelegate=Function.createDelegate(this,this.UpdateNumberOfAdults);this.UpdateQsmSubGroupSelectionDelegate=Function.createDelegate(this,this.UpdateQsmSubGroupSelection);this.TrackPartySelectionDelegate=Function.createDelegate(this,this.TrackPartySelection);this.GetOmnitureLabelForTargetGroupDelegate=Function.createDelegate(this,this.GetOmnitureLabelForTargetGroup);this.RegisterEventHandler("dateRangeFrom","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QSMContent","dummy",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowPriceDetailsWaitPanelDelegate,this.HidePriceDetailsWaitPanelDelegate);this.RegisterEventHandler("QSMContent","otherdummy",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowPopupWaitPanelDelegate,this.HidePopupWaitPanelDelegate);this.dateRangeSuffixes=["","_exact"];var c=$get("dateRangeFrom");if(c!=null){this.dateRangeWaitSpecification=this.FindWaitSpecificationInstance(c,"click")}var d=$get("QSMContent");if(d!=null){this.priceDetailsWaitSpecification=this.FindWaitSpecificationInstance(d,"dummy");this.popupWaitSpecification=this.FindWaitSpecificationInstance(d,"otherdummy")}this.RegisterEventHandler("QsmChangeSelect","change",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("PagerSize","change",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("PagerSort","change",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmSingleSelect","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmMultiSelect","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmSingleValueCheckbox","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmReset","click",true,ThomasCook.Ecom.Web.SearchBrowse.Reset,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("PagerPrevious","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("PagerNext","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("PagerDirectLink","click",true,ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmGoToDetail","click",true,this.GoToDetailDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmListerOrFullTextSearch","click",true,this.GetOmnitureLabelForTargetGroupDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("QsmMore","click",true,this.MoreLessDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmLess","click",true,this.MoreLessDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmMoreSingleSelect","click",true,this.MoreLessItemDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmLessSingleSelect","click",true,this.MoreLessItemDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmMoreMultiSelect","click",true,this.MoreLessItemDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmLessMultiSelect","click",true,this.MoreLessItemDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("storePackage","click",true,this.LoginAndStorePackageDelegate,this.OnStorePackageInProfileDelegate,this.RememberSelectedItemDelegate,null,this.HideWaitPanelDelegate);this.HookChildSelects(b);this.RegisterEventHandler("QsmCompare","click",true,this.DoCompareDelegate,this.CompareUpdateDelegate,this.CompareStateRetrieverDelegate,this.ShowWaitPanelDelegate,this.HideWaitPanelDelegate);this.RegisterEventHandler("CompareBackToList","click",true,this.BackToListDelegate,this.UpdateDelegate,this.CompareStateRetrieverDelegate,null,null);this.RegisterEventHandler("RemoveFromCompare","click",true,ThomasCook.Ecom.Web.SearchBrowse.Compare,this.CompareUpdateDelegate,this.RemoveFromCompareStateRetrieverDelegate,null,null);this.RegisterEventHandler("QsmSelect","click",true,this.ShowDetailDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("ArrangementDetails","click",true,this.ShowDetailDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);this.RegisterEventHandler("BazaarVoiceDetails","click",true,this.ShowDetailDelegate,this.UpdateDelegate,this.StateRetrieverDelegate,null,null);var a=Function.createDelegate(this,this.RecommendationListerClick);this.RecommendationListerClickDelegate=a;jQuery(".jqRecommendationListerContainer").each(function(){var e=jQuery(this);if((e!=null)&&(e.length>0)){$addHandler(e[0].parentNode,"click",a)}});this.SwitchTabDelegate=Function.createDelegate(this,this.SwitchTab);this.RegisterEventHandler("TabList","click",true,null,null,this.SwitchTabDelegate,null,null);this.RegisterEventHandler("TabMap","click",true,null,null,this.SwitchTabDelegate,null,null);$addHandler(b,"click",this.OnClickDelegate);$addHandler(b,"mouseover",this.OnMouseOverDelegate);$addHandler(b,"mouseout",this.OnMouseOutDelegate);Sys.Application.add_load(this.InitializeQsmDatesDelegate);Sys.Application.add_load(this.ShowEmptyTextSearchDelegate);Sys.Application.add_load(this.InitializeNavigationDelegate);Sys.Application.add_load(this.InitializeJavaScriptElementsDelegate);jQuery("#qsmNumberOfChildren").live("change",this.UpdateNumberOfChildrenDelegate);jQuery("#qsmNumberOfAdults").live("change",this.UpdateNumberOfAdultsDelegate);jQuery("[id^=qsmSubGroup_]").live("change",this.UpdateQsmSubGroupSelectionDelegate);jQuery("[id^=QsmPopupChangeSelect_]").live("change",this.UpdateQsmSubGroupSelectionDelegate);this.AcceptQsmGroupEditDelegate=Function.createDelegate(this,this.AcceptQsmGroupEdit);jQuery("[id^=QsmSubmit_]").live("click",this.AcceptQsmGroupEditDelegate);this.StartQsmGroupEditDelegate=Function.createDelegate(this,this.StartQsmGroupEdit);jQuery("[id^=qsmStartGroupEdit]").live("click",this.StartQsmGroupEditDelegate);jQuery("[id^=QsmDetailLink]").live("click",this.ShowDetailFromButtonDelegate);jQuery("[class=book-now]").live("click",this.ShowDetailFromBookNowLinkDelegate);jQuery("[class=even-more-prices]").live("click",this.ShowDetailFromMoreLinkDelegate);jQuery(".jsMoreLessMultiSelectItems").live("click",this.ToggleMoreLessMultiSelectItems);jQuery("#QSMContent .qsm-criterium-container.read-only span").live("click",Function.createDelegate(this,this.LocateAndStartQsmGroupEdit));this.CloseQsmPopupDelegate=Function.createDelegate(this,this.CloseQsmPopup);jQuery("[id$='_PopupContainer_CloseButton']").live("click",this.CloseQsmPopupDelegate);this.UpdatePartyCompositionWarningDelegate=Function.createDelegate(this,this.UpdatePartyCompositionWarning);jQuery(".qsm-partycomposition-popup select").live("change",this.UpdatePartyCompositionWarningDelegate);jQuery("[id^=adultcategory_]").live("click",Function.createDelegate(this,this.ToggleAdultCategory))};SearchBrowse.Updater.prototype={initialize:function(){SearchBrowse.Updater.callBaseMethod(this,"initialize")},ToggleAdultCategory:function(a){jQuery("#qsmAdultCategory label").removeClass("qsm-categorySelected");jQuery(a.target).parent().addClass("qsm-categorySelected")},TraceCurrentUrlChange:function(){Sys.Debug.trace("CurrentUrl: "+this.CurrentUrl)},InitializeNavigation:function(){try{Sys.Debug.trace("Initializing navigation");Sys.Application._enableHistoryInScriptManager();Sys.Application._ensureHistory();this.NavigationStateChangedDelegate=Function.createDelegate(this,this.NavigationStateChanged);Sys.Application.add_navigate(this.NavigationStateChangedDelegate)}catch(a){Sys.Debug.trace("Navigation not supported")}this.LoadInitialHash();this.IntegrateListerTabsInPager()},InitializeJavaScriptElements:function(){jQuery(".tooltip-element").bubble();jQuery("#ListerContainer .lister-item p[id^='ArrangementDetails_']").bubble("",true,false);jQuery("#ListerContainer .lister-item p[id^='AvailableAsSmartDealHelp_']").bubble("#availableAsSmartDealToolHelp",false,false);jQuery("#ListerContainer .lister-item span[id^='ComparerHelp_']").bubble("#compareToolHelp",false,false);jQuery(".price-example-tooltip").each(function(){var item=jQuery(this);var listerItem=item.closest(".lister-item");item.tooltip({tip:"#priceExampleTooltip",position:"bottom left",offset:[-69,-2],onBeforeShow:function(){var departureDate=jQuery(listerItem).find(".included-in-price .departure-date").text(),airport=jQuery(listerItem).find(".included-in-price .airport .location").text(),durationAndboardType=jQuery(listerItem).find(".included-in-price .duration-and-boardtype").text(),roomType=jQuery(listerItem).find(".price-details .additional-info .room-type").text(),tooltipInfo=eval("("+jQuery(listerItem).find(".jqPriceExampleTooltipInfo").val()+")"),combinedInfo="";if(tooltipInfo!=null){if(tooltipInfo.ShowReferencePrice){this.getTip().find(".tooltip-price-old").removeAttr("style");this.getTip().removeClass("no-reference-price").find(".tooltip-price-old").show().text(tooltipInfo.OldPrice)}else{this.getTip().addClass("no-reference-price").find(".tooltip-price-old").hide();this.getTip().find(".tooltip-price-old").css("background-image","none")}this.getTip().find("#tooltip-content-price").show().parent().find("#tooltip-content-no-price").hide();if(tooltipInfo.ShowRoundedPrice){this.getTip().find(".tooltip-price-large").text(tooltipInfo.RoundedPrice)}else{if(tooltipInfo.ExactPrice!=""){this.getTip().find(".tooltip-price-large").text(tooltipInfo.ExactPrice).parent().find(".tooltip-price-small").text(tooltipInfo.DecimalPart)}else{this.getTip().find("#tooltip-content-no-price").show().parent().find("#tooltip-content-price").hide()}}if(departureDate!=""){combinedInfo+=departureDate+"<br />"}if(airport!=""){combinedInfo+=airport+"<br />"}if(roomType!=""){combinedInfo+=roomType+"<br />"}if(durationAndboardType!=""){combinedInfo+='<span class="duration-and-boardtype">'+durationAndboardType+"</span>"}this.getTip().find(".tooltip-last-item").show().html(combinedInfo)}}})})},IntegrateListerTabsInPager:function(){if(this.integrateListerTabsInPager){jQuery("#listerTabs").appendTo("#mainContent [id^='placeholderForListerTabs_']:first").show()}},DoCompare:function(f,e,d,b,a,c){if(d.CompareIds.length<2){this.Wait(c,false);return}return ThomasCook.Ecom.Web.SearchBrowse.Compare(f,e,d,b,a,c)},ToggleMoreLessMultiSelectItems:function(){var b=$find("mainclick");if(b!=null){jQuery(this).find("span").toggleClass("hide-link");var c=jQuery(this).closest(".jsToggleBlock").find(".more-element").toggle();if(c.length>0){var a=c.first().closest("[id^=ExtraMultiSelectItems_]").attr("id");b.QsmOpenedMultiSelectBlocks[a]=c.is(":visible")}}},ShowEmptyTextSearch:function(){Sys.Debug.trace("Handling initial empty text search");var b=this;var a="#emptyTextSearchPopup";var d={dialogClass:"emptyTextSearch",width:420,position:["middle","center"]};var c=$get("emptyTextSearchPopup");if(c!=null){this.emtytextsearchpopup=new Ecom.UI.ModalBox(a,d);this.emtytextsearchpopup.show();jQuery("#modalOverlay").addClass("dark-overlay");jQuery(a).parent().appendTo(jQuery("form:first"));jQuery("#PopupCloseBtn").click(function(){b.emtytextsearchpopup.hide();jQuery("#modalOverlay").removeClass("dark-overlay")});jQuery("#PopupBackToLister").click(function(){b.emtytextsearchpopup.hide();jQuery("#modalOverlay").removeClass("dark-overlay")});jQuery("#PopupSearch").click(function(){var f=$get("PopupSearchTerm");if(f!=null){var e=$get("fullTextSearchInput");if(e!=null){e.value=f.value}}b.ListerOrFullTextSearch(b.results,b.context,"emptyTextSearchPopup")})}},GetInitialFhUrlOfPage:function(){var a=null;var b=$get("QSMContent");if(b!=null){a=b.getAttribute("initialfh");if(a==null){a=b.getAttribute("defaultfh")}}return a},GetInitialSearchFhUrlOfPage:function(){var a=null;var b=$get("QSMContent");if(b!=null){a=b.getAttribute("initialsearchfh")}return a},GetDatePickerDateString:function(b,d){var c=jQuery("#"+b);if(c.length>0){var a=c.datepicker("getDate");if(a){return a.format("yyyyMMdd")}else{return null}}},AcceptQsmGroupEdit:function(c){var d={wait:{showwaitmethod:this.ShowWaitPanelDelegate,hidewaitmethod:this.HideWaitPanelDelegate}};var b=this.StateRetriever(c,"groupCommit",null);var a=b.PartyComposition;if(a!=null){if(!a.AreAgesValid){return}}var e="#QsmCriteriaGroup_"+b.GroupId+"_PopupContainer";jQuery(e).dialog("close");b.PartyCompositionEdited=true;this.Wait(d,true);ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,b,this.UpdateDelegate,this.MethodTimeoutDelegate,d)},PerformInitialQsmUpdateForDropDownWithoutAllOption:function(b){var d={wait:{showwaitmethod:this.ShowWaitPanelDelegate,hidewaitmethod:this.HideWaitPanelDelegate}};var c=new Object;var a="#"+b;c.target=jQuery(a)[0];ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(c,"change"),this.UpdateDelegate,this.MethodTimeoutDelegate,d)},CloseQsmPopup:function(a){var b=jQuery(a.target).closest("[id$='_PopupContainer']");jQuery(b).dialog("close");if(this.DefaultedTo2Adults){jQuery("#qsmNumberOfAdults").val(0).change();this.DefaultedTo2Adults=false}},LocateAndStartQsmGroupEdit:function(a){jQuery(a.target).closest("[id^=QsmCriteriaGroup_]").find("[id^=qsmStartGroupEdit_]").click()},StartQsmGroupEdit:function(k){var f=jQuery(k.target).closest(".qsm-block");var h=f.find("input[name='subgrouplessfh']:hidden").val()||"";var c=this.StateRetriever(k,"groupChange",h);var b="#QsmCriteriaGroup_"+c.GroupId+"_PopupContainer";var d="#QsmCriteriaGroup_"+c.GroupId;var e=jQuery("#QsmCriteriaGroup_"+c.GroupId);var g="normal";var j=["center","center"];var a=420;if(e.find("#qsm-partycomposition-readonly").length>0){this.UpdatePartyCompositionUI();g="inline";j=[e.parent().offset().left,(e.parent().offset().top-jQuery(window).scrollTop())];a=e.parent().outerWidth()}jQuery(b).dialog({closeOnEscape:true,autoOpen:false,modal:true,draggable:false,dialogClass:"qsm-popup",resizable:false,width:a,minHeight:50,position:j,height:"auto",bgiframe:true});jQuery(b).bind("dialogopen",function(m,n){if(g=="inline"){var l=jQuery(this).parent().height()+20;e.height(l)}jQuery(".ui-widget-overlay:visible").addClass("qsm-popup-overlay")});jQuery(b).bind("dialogclose",function(l,m){jQuery(".ui-widget-overlay:visible").removeClass("qsm-popup-overlay");jQuery(b).dialog("destroy");e.height("");jQuery(d).append(jQuery(b))});if(g=="inline"){jQuery(b).bind("numberOfChildrenChanged",function(m,n){var l=jQuery(this).parent().height()+20;e.height(l)})}this.ClearChildValidationIndicators();jQuery(b).dialog("open")},UpdateQsmSubGroupSelection:function(k){var c=jQuery(k.target).closest("[id ^= 'QsmCriteriaGroup_']");for(var d=0;d<this.dateRangeSuffixes.length;d++){var l=this.dateRangeSuffixes[d];c.find("#dateRangeFrom"+l).val("");c.find("#dateRangeTo"+l).val("")}var j=jQuery("#QSMContent");var e=c.find("input[name='subgrouplessfh']:hidden").val()||"";var f=j.attr("initialfh")||"";var h={wait:{showwaitmethod:this.ShowWaitPanelDelegate,hidewaitmethod:this.HideWaitPanelDelegate}};var a=k.type;var g=k.target.id;if(g!=null&&g.startsWith("qsmSubGroup_")){a="groupChange"}var b=this.StateRetriever(k,a,e);c.find(".qsm-criteria-subgroups-container").slideUp("fast");jQuery(k.target).parent().find(".qsm-criteria-subgroups-container").slideToggle("fast");if(e!=f){this.Wait(h,true);ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,b,this.UpdateDelegate,this.MethodTimeoutDelegate,h)}},GetCheckedSubGroups:function(){return jQuery("[input[id^='qsmSubGroup_']:checked").map(function(){return this.id.split("_")[2]}).get()},IsPeriodSelected:function(){var a=jQuery("option.jqPeriodOption:selected").val();return a!=null&&(a.length>0)},UpdatePartyCompositionWarning:function(){this.ClearChildValidationIndicators()},GetCurrentPartyComposition:function(){return this.GetAgeBasedCurrentPartyComposition()},DisplayOrHideChildAgesWarning:function(a){if(a){jQuery(".jqChildAgesWarning").hide()}else{jQuery(".jqChildAgesWarning").show()}},GetAgeBasedCurrentPartyComposition:function(){var f=true;var c=jQuery("#qsmNumberOfAdults").val();if(c!=null){var b=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.PartyCompositionParameters();b.NumberOfAdults=c;b.AdultCategory=jQuery("input[name='adultcategory']:checked").val();b.AreAgesValid=true;var g=jQuery("#qsmNumberOfChildren").val();var e=0;var a=0;b.ChildAges=new Array();for(e=1;e<=g;e++){var d=jQuery("#qsmChildAge_"+e).val();if(!this.UpdateMandatoryFieldIndicator($get("qsmChildAge_"+e),"invalid")){f=false}if((d!=null)&&(d.length>0)){b.ChildAges[a]=d;a++}}b.AreAgesValid=f;this.DisplayOrHideChildAgesWarning(f);return b}return null},GetBirthDateBasedCurrentPartyComposition:function(){var e=true;var c=jQuery("#qsmNumberOfAdults").val();if(c!=null){var b=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.BirthDayBasedPartyCompositionParameters();b.NumberOfAdults=c;var f=jQuery("#qsmNumberOfChildren").val();var d=0;b.ChildBirthDates=new Array();for(var d=0;d<f;d++){var a=$find("qsmChildBirthDate_"+(d+1));if(a!=null){a.Validate();if(a.IsValidDate()){b.ChildBirthDates[d]=a.GetCanonicalStringValue()}else{b.ChildBirthDates[d]=null;e=false}}}this.DisplayOrHideChildAgesWarning(e);return b}return null},ClearChildValidationIndicators:function(){var b=jQuery("#qsmNumberOfChildren").val();for(i=1;i<=b;i++){var a=jQuery("#qsmChildAge_"+i).val();this.ClearMandatoryFieldIndicator($get("qsmChildAge_"+i),"invalid")}this.DisplayOrHideChildAgesWarning(true)},UpdateNumberOfChildren:function(){var a=jQuery("#qsmNumberOfChildren").val();if(a==0){jQuery("#qsmChildrenContainer").find(".children-age-info").hide()}else{jQuery("#qsmChildrenContainer").find(".children-age-info").show()}jQuery("[id^=qsmChildAge_]").each(function(b){if(b<a){jQuery(this).parent().show()}else{jQuery(this).parent().hide()}});this.ClearChildValidationIndicators();jQuery("#qsmNumberOfChildren").trigger("numberOfChildrenChanged")},UpdateNumberOfAdults:function(){var a=jQuery("#qsmNumberOfAdults").val();if(a==0){jQuery("#qsmNumberOfChildren").val(0).change();jQuery("#qsmChildrenContainer").addClass("disabled").show();jQuery("#qsmNumberOfChildren").attr("disabled","disabled")}else{jQuery("#qsmChildrenContainer").removeClass("disabled").show();jQuery("#qsmNumberOfChildren").attr("disabled",null);this.UpdateNumberOfChildren()}this.UpdateAdultCategoryVisibility(a)},UpdateAdultCategoryVisibility:function(b){var a=jQuery("#qsmAdultCategory");if(b==2){a.show()}else{a.hide()}},GetCurrentQsmDateRange:function(){var d=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.DateRangeParameters();for(var a=0;a<this.dateRangeSuffixes.length;a++){var b=this.dateRangeSuffixes[a];var c=this.GetDatePickerDateString("dateRangeFrom"+b);if((c!=null)&&(c.length>0)){d.EarliestDepartureDayString=c;d.LatestReturnDayString=this.GetDatePickerDateString("dateRangeTo"+b);if(b=="_exact"){d.IsExactMatch=true}}}Sys.Debug.trace("Current daterange: "+d.EarliestDepartureDayString+"/"+d.LatestReturnDayString);return d},GetInitialDatepickerAttributes:function(c,f){if(!c){return null}var a=jQuery.extend({},f);var g=c.getAttribute("code");if(g){a.initialDate=Date.parseInvariant(g,"yyyyMMdd")}var e=c.getAttribute("minOffset");if(e){a.minOffset=parseInt(e,10)||null}var d=c.getAttribute("maxOffset");if(d){a.maxOffset=parseInt(d,10)||null}if(a.offsetDate){if(a.minOffset){a.minDate=new Date(a.offsetDate.getTime());a.minDate.setDate(a.minDate.getDate()+a.minOffset)}if(a.maxOffset){a.maxDate=new Date(a.offsetDate.getTime());a.maxDate.setDate(a.maxDate.getDate()+a.maxOffset)}}var b=c.getAttribute("dateDelta");a.disabled=(b==null);return a},SetDatepickerAttributes:function(b,a){if(!b||!a){return}b.setRanges(a.minDate,a.maxDate);if(a.initialDate){b.selectDate(a.initialDate,false)}if(a.disabled){b.disable()}},EnableDateControl:function(b){var d=null;var c=b;d=$get(c);if(d!=null){var a=$find(b);if(a!=null){a.dispose()}$create(Ecom.DateControl,{hasBlankDefault:true,maxAge:18},null,null,d)}},CreateQsmCalenderControls:function(){for(var b=0;b<this.dateRangeSuffixes.length;b++){var d=this.dateRangeSuffixes[b];if($get("dateRangeFrom"+d)!=null){var f=Ecom.UI.Calendar.create({target:"#dateRangeFrom"+d,altField:"#dateRangeFromTrigger"+d,onSelect:this.QsmDateSelectDelegate,beforeShowDay:function(h){var j=Math.ceil((h-new Date())/(1000*60*60*24));var g=this.getAttribute("dateDelta");return[(g&&g.indexOf("|"+j+"|")>=0),""]}});var e=Ecom.UI.Calendar.create({target:"#dateRangeTo"+d,altField:"#dateRangeToTrigger"+d,onSelect:this.QsmDateSelectDelegate});var c=this.GetInitialDatepickerAttributes(f,{minOffset:1,maxOffset:56,offsetDate:new Date()});this.SetDatepickerAttributes(f,c);var a=this.GetInitialDatepickerAttributes(e,{minOffset:1,maxOffset:21,offsetDate:c.initialDate});if(a&&a.initialDate){a.disabled=false;this.SetDatepickerAttributes(e,a)}else{jQuery("#dateRangeToTrigger"+d).addClass("disabled");e.disable()}}}},QsmDateSelect:function(c,b){var a="#"+b.id;this.DateRangeWait();ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(),this.UpdateDelegate,this.MethodTimeoutDelegate,this.dateRangeWaitSpecification)},InitializeQsmDates:function(){Sys.Debug.trace("Initializing QSM dates");this.overlayOptions={id:"extraOverlay",zIndex:1003,extraClass:"price-update-overlay"};this.overlay=new Ecom.UI.Overlay(this.overlayOptions);this.popupOverlayOptions={id:"popupOverlay",zIndex:1100};this.popupOverlay=new Ecom.UI.Overlay(this.popupOverlayOptions);this.CreateQsmCalenderControls();var initialFilterJsonText=jQuery("#InitialPriceUpdateQueryFilter_QSM").val();Sys.Debug.trace("Initial filter: "+initialFilterJsonText);if(initialFilterJsonText){this.PriceUpdateQueryFilter=eval("("+initialFilterJsonText+")")}var initialPartyJsonText=jQuery("#InitialPartyComposition_QSM").val();Sys.Debug.trace("Initial partycomposition: "+initialPartyJsonText);if(initialPartyJsonText){this.PartyComposition=eval("("+initialPartyJsonText+")");this.UpdatePartyCompositionUI()}},UpdatePartyCompositionUI:function(){if(this.PartyComposition!=null){var a=jQuery("#qsm-partycomposition-readonly");if(this.PartyComposition.NumberOfAdults>0){a.find(".noparty").hide();var f=this.PartyComposition.ChildAges;a.find(".adults").show().find("strong").text(this.PartyComposition.NumberOfAdults);a.find(".children").show().find("strong").text(f?f.length:"0");var d=a.find(".children-summary");if(!f||f.length==0){d.hide()}else{d.show();if(f.length==1){d.find(".from").show();d.find(".and").hide();d.find(".first").text(f[0]+" ")}else{d.find(".from").show();d.find(".and").show();var g=d.find(".first").text("");for(i=0;i<f.length-1;i++){g.text(g.text()+f[i]+", ")}var h=g.text();g.text(h.substring(0,h.length-2));d.find(".last").text(f[f.length-1]+" ")}}}else{a.find(".noparty").show();a.find(".adults").hide();a.find(".children").hide()}var c=this.PartyComposition.NumberOfAdults;jQuery("#qsmNumberOfAdults").val(c).change();this.UpdateAdultCategoryVisibility(c);var e=this.PartyComposition.AdultCategory;jQuery("input[name='adultcategory']").each(function(){jQuery(this).attr("checked",jQuery(this).val()==e?"checked":"")});if(this.PartyComposition.ChildAges!=null){jQuery("#qsmNumberOfChildren").val(this.PartyComposition.ChildAges.length).change();for(i=0;i<this.PartyComposition.ChildAges.length;i++){jQuery("#qsmChildAge_"+(i+1)).val(this.PartyComposition.ChildAges[i])}}if(this.PartyComposition.ChildBirthDates!=null){jQuery("#qsmNumberOfChildren").val(this.PartyComposition.ChildBirthDates.length).change();for(i=0;i<this.PartyComposition.ChildBirthDates.length;i++){var b=$find("qsmChildBirthDate_"+(i+1));if(b!=null){b.SetFromCanonicalString(this.PartyComposition.ChildBirthDates[i])}}}}},UpdatePrices:function(){if(this.PriceUpdateQueryFilter!=null){var a=$get("QSMContent");if(a!=null){this.PriceUpdateQueryFilter.PageKeyName=a.getAttribute("pageKey");this.PriceUpdateQueryFilter.Language=a.getAttribute("language");this.PriceDetailsWait();Sys.Debug.trace("Starting price update");this.PriceUpdateQueryFilter.PartyComposition=this.PartyComposition;ThomasCook.Ecom.Web.SearchBrowse.UpdatePrices(null,null,this.PriceUpdateQueryFilter,this.UpdatePriceDetailsDelegate,this.MethodTimeoutDelegate,this.priceDetailsWaitSpecification)}}},UpdatePriceDetails:function(c,b,a){Sys.Debug.trace("Finishing price update");if(c!=null){this.DoPartialUpdateWithOmnitureLogging(c);jQuery(".lister-item").each(function(){var d=jQuery(this);var h="";var g=d.attr("basequery");if(g!=null&&g.length>0){h="&"+decodeURIComponent(g);d.find(".price-detail-lister .book-now").each(function(){var k=jQuery(this);var j=k.attr("href")+h;k.attr("href",j)});var f=decodeURIComponent(g);d.find(".even-more-prices").each(function(){var k=jQuery(this);var j=k.attr("href")+"?"+f;k.attr("href",j)})}if(d.find(".price-detail-lister .best-price").length>0){var e=d.find(".price-detail-lister .best-price");d.find(".go-to").attr("href",e.find(".jqUrl").val()+h);d.find(".jqNotPreloader").children().not(".go-to").remove();d.find(".jqNotPreloader").prepend(e.show().html());e.remove()}});this.InitializeJavaScriptElements()}this.Wait(b,false)},RememberSelectedItem:function(d){if(d==null){return null}var c=d.target;if(c==null){return null}var e=c.id;if(e==null){return null}var b=e.indexOf("_");if(b>=0){var a=e.substring(b+1);this.LastSelectedItem=a}return null},LoginAndStorePackage:function(a,h,c,b,j,g){var d=$find("header");if(d!=null){if(!d.IsLoggedIn()){var f=$find("loginpopupcomponentmain");if(f!=null){f.RememberProductToStore(a,h,c,b,j,g)}var e=$find("loginpopupcomponentmodaldialog");if(e!=null){e.Show()}}else{this.ShowWaitPanel();ThomasCook.Ecom.Web.Personalization.StorePackageInProfile(a,h,c,b,j,g)}}},OnStorePackageInProfile:function(a){if(a=="Succeeded"){show("storedPackagePanel_"+this.LastSelectedItem);hide("storePackagePanel_"+this.LastSelectedItem)}else{var b=$find("header");if(b!=null){b.ShowError(a)}}this.HideWaitPanel()},LoadInitialCompare:function(f,e,b){this.OnUpdate(f,e,b);var c=new Object();c.showwaitmethod=this.ShowWaitPanelDelegate;c.hidewaitmethod=this.HideWaitPanelDelegate;var d=new Object();d.wait=c;var a=this.CompareStateRetriever();if((a.CompareIds!=null)&&(a.CompareIds.length>1)){ThomasCook.Ecom.Web.SearchBrowse.Compare(null,null,a,this.CompareUpdateDelegate,this.MethodTimeoutDelegate,d)}},LoadInitialUrl:function(c,g,f){c=this.ParseUrl(c);this.CurrentUrl=c;this.TraceCurrentUrlChange();var d=new Object();d.DontAddToHistory=true;var b=new Object();b.showwaitmethod=this.ShowWaitPanelDelegate;b.hidewaitmethod=this.HideWaitPanelDelegate;d.wait=b;this.Wait(d,true);var e=jQuery.query.load("?"+c);var a=e.get("c");this.RestorePartyCompositionFromUrl(e);if((a!=null)&&(a.length>0)){ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(null,f),this.LoadInitialCompareDelegate,this.MethodTimeoutDelegate,d)}else{ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(null,f),this.UpdateDelegate,this.MethodTimeoutDelegate,d)}},ParseUrl:function(a){if(a!=null){if(a.startsWith("#")){a=a.substring(1,a.length)}if(a.startsWith("s=")){a=a.substring(2,a.length)}}return a},RestorePartyCompositionFromUrl:function(d){var c=d.get("a");if(c!=null){var b=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.PartyCompositionParameters();b.NumberOfAdults=c;b.AdultCategory=d.get("ac");b.ChildAges=new Array();var a=""+d.get("ca");if((a!=null)&&(a.length>0)){b.ChildAges=a.split("_")}this.PartyComposition=b}this.UpdatePartyCompositionUI()},RestoreGroupCollapseState:function(){var a;for(a in this.QsmCollapseGroupState){var b=a.split("_");if(this.QsmCollapseGroupState[a]){this.MoreLess("QsmMore_"+b[1])}else{this.MoreLess("QsmLess_"+b[1])}}},RestoreOpenedMultiSelectBlocks:function(){for(key in this.QsmOpenedMultiSelectBlocks){if(this.QsmOpenedMultiSelectBlocks[key]){jQuery("#"+key).parent().find(".jsMoreLessMultiSelectItems").click()}}},RestoreItemCollapseState:function(){var a;for(a in this.QsmCollapseItemState){var b=a.split("_");if(this.QsmCollapseItemState[a]){this.MoreLessItem("QsmMoreSingleSelect_"+b[1])}else{this.MoreLessItem("QsmLessSingleSelect_"+b[1])}}},DecodeUrl:function(b){if((b==null)||(b==undefined)||(b=="")){return null}var a=decodeURIComponent(b);return a},GatherMultiSelectParametersCollection:function(){var b=new Array();var a=this;jQuery("#QSMContent div[crittype='MultiSelect'], #QSMContent div[crittype='SingleValueCheckbox']").each(function(c){var d=a.GatherMultiSelectParameters(this);if(d!=null){b[c]=d}});return b},GatherMultiSelectParameters:function(c){var a=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.MultiSelectParameters();a.FacetName=jQuery(c).attr("critid");var b=[];jQuery(c).find("input:checked").each(function(){b.push(this.value)});a.FacetValues=b;a.OperatorType=jQuery(c).find("input:checked:first").attr("combineOperator");if(a.OperatorType==""||a.OperatorType==null){a.OperatorType="Or"}return a},GatherPagerParameters:function(c){var d=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.PagerSettings();var b;var a;if(c!=null){if(c.id.startsWith("PagerSize_")){b=c}if(c.id.startsWith("PagerSort_")){a=c}}if(b==null){b=$get("PagerSize")}if(a==null){a=$get("PagerSort")}if(b!=null){d.Size=b[b.selectedIndex].text}if(a!=null){d.SortOrder=a[a.selectedIndex].getAttribute("sortby")}return d},StateRetriever:function(a,c,b){Sys.Debug.trace("Retrieving state for QSM update");var g=(c==="showgmap"||c==="showlister");var j=(a&&a.target)||null;var l=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.SearchBrowseParameters();var f=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.SearchParameters();l.SubmitSearchParameters=f;l.CompareParameters=this.CompareStateRetriever();if(j!==null){if(c==="groupChange"){var k=$get("QSMContent");if(k!=null){f.FhUrl=this.DecodeUrl(b)}}else{if(c==="change"){l.LinkType=jQuery("#"+j.id+" option:selected").attr("linktype");f.FhUrl=this.DecodeUrl(j.value);l.InitialFhSelectAction=jQuery("#"+j.id+" option:selected").attr("initialFhSelectAction")}else{if(c==="groupCommit"){f.FhUrl=this.DecodeUrl(jQuery(j).closest(".jqSubgroup-footer").find("input:hidden[name='fhurl']").val())}else{if(c==="calendarChangeInPopup"){f.FhUrl=this.DecodeUrl(jQuery(j).find(".jqSubgroup-footer").find("input:hidden[name='fhurl']").val())}else{f.FhUrl=this.DecodeUrl(j.getAttribute("fhurl"))}}}}l.SelectedSubGroupIds=this.GetCheckedSubGroups();var d=jQuery(a.target).closest("[id^='QsmCriteriaGroup_']").get(0);if(d!=null){l.GroupId=d.id.split("_")[1]}var e=jQuery(j).siblings(".qsm-criteria-omniture-label");if(e!=null){l.OmnitureLabelForModifiedCategory=e.val()}l.OmnitureRetrieverType=omniture_RetrieverType}if(!f.FhUrl){f.FhUrl=this.CurrentUrl}if((c!=="loadinitialhash")&&(c!=="navigation")){f.MultiSelectParametersCollection=this.GatherMultiSelectParametersCollection();l.PagerSetting=this.GatherPagerParameters(j);l.DateRange=this.GetCurrentQsmDateRange()}l.PartyComposition=this.GetCurrentPartyComposition();var k=$get("QSMContent");if(k!=null){l.PageKeyName=k.getAttribute("pageKey");l.Language=k.getAttribute("language")}if(g){l.ShowGMapOnLister=(c==="showgmap")}else{if(k){l.ShowGMapOnLister=k.getAttribute("showMap")||false}}if(a==null&&(c=="navigation")){var h=this.GetInitialSearchFhUrlOfPage();if(h!=null){h=this.ParseUrl(h);if(f.FhUrl==h){l.InitialFhSelectAction="Add"}}}return l},OnUpdate:function(e,d,b){Sys.Debug.trace("Finishing QSM update");if(e!=null){if(e.RedirectLocation!=null&&e.RedirectLocation!=""){this.TryAddHistory(e,d);window.location=e.RedirectLocation}else{this.DoPartialUpdateWithOmnitureLogging(e);var f=jQuery("[id^=QsmChangeSelect_][initialrenderingrequired]");if(f.length==0){this.TryAddHistory(e,d)}this.CreateQsmCalenderControls();this.PartyComposition=e.PartyComposition;this.UpdatePartyCompositionUI();this.PriceUpdateQueryFilter=e.PriceUpdateQueryFilter;this.UpdatePrices();Sys.Debug.trace("Should we show the GMap? "+e.ShowMap);if(e.ShowMap){Sys.Debug.trace("Initialize GMap objects...");this.InitGMap()}}}generateImageLinks();this.RestoreGroupCollapseState();this.RestoreItemCollapseState();this.RestoreOpenedMultiSelectBlocks();this.ShowParentComponent($get("QSMContent"));this.show("mainContent");this.show("mainSidebar");var c=document.getElementsByName("PagerContent");if(c!=null){for(i=0;i<c.length;i++){this.ShowParentComponent(c[i])}}this.Wait(d,false);this.InitializeJavaScriptElements();this.IntegrateListerTabsInPager();this.UpdateLanguageLink();SetupShadowBox(".more-images a");this.ScrollBreadcrumbIntoView();var a=(e!=null&&e.divUpdates!=null);if(a&&f!=null&&f.length>0){this.Wait(d,true);this.PerformInitialQsmUpdateForDropDownWithoutAllOption(f[0].id)}},ScrollBreadcrumbIntoView:function(){var a=jQuery(".jqlisterpager");if((a==null)||(a.length==0)){return}var b=jQuery(".breadcrumb");if((b!=null)&&(b.length>0)){b[0].scrollIntoView()}},TryAddHistory:function(b,a){if(b.HistoryAnchor!=null&&b.HistoryAnchor!=""){if(a.DontAddToHistory==true){Sys.Debug.trace("Skipping history update")}else{this.AddHistory(b.HistoryAnchor)}}},GetOmnitureLabelForTargetGroup:function(b,a,c){if(c!=null&&c.PartyComposition!=null){if(c.PartyComposition.AreAgesValid){ThomasCook.Ecom.Web.SearchBrowse.GetCommercialPriorityLabelForOmniture(c,this.TrackPartySelectionDelegate)}else{this.Wait(a,false);this.ListerOrFullTextSearch(null,a,"")}}else{this.Wait(a,false);this.ListerOrFullTextSearch(null,a,"")}this.Wait(a,false)},ListerOrFullTextSearch:function(h,c,n){var l=this.CurrentUrl;if(l==null){return}var m=$get("QSMContent");if(m==null){return}var j=m.getAttribute("Lister");if(j==null){return}var o=new Sys.StringBuilder();o.append(j);o.append("?");var f;if(n!="emptyTextSearchPopup"){f=$get("fullTextSearchInput")}else{f=$get("PopupSearchTerm")}if(f){var a=f.value;if(a){a=a.trim()}if(a&&a.length>0){var d=m.getAttribute("initialsearchfh");if(d){l=d+"/$s="+encodeURIComponent(a)}}}o.append("fh_eds=ÃŸ&fh_view=lister&");if(l.startsWith("?")){l=l.substring(1,l.length)}l=this.RemoveFhParam(l,"fh_eds");l=this.RemoveFhParam(l,"fh_search");l=this.RemoveFhParam(l,"fh_view");l=this.RemoveFhParam(l,"fh_nothemes");l=this.RemoveParamFromURL(l,"a");l=this.RemoveParamFromURL(l,"ca");l=this.RemoveParamFromURL(l,"ac");o.append(l);var k=this.GetCurrentPartyComposition();if(k!=null&&k.NumberOfAdults>0){if(!k.AreAgesValid){this.Wait(c,false);return}}var e=this.GetPartyCompositionUrlParameters();o.append(e);var b=o.toString();var g=jQuery("#qsmOpenSearchInNewWindow").val()=="True";SearchBrowse.Updater.redirectTo(b,g);this.Wait(c,false)},GetPartyCompositionUrlParameters:function(){var a=new Sys.StringBuilder();var c=this.GetCurrentPartyComposition();if(c!=null){a.append("&a="+c.NumberOfAdults);if(c.AdultCategory>0){a.append("&ac="+c.AdultCategory)}if(c.ChildAges!=null){if(c.ChildAges.length>0){a.append("&ca=");for(var b=0;b<c.ChildAges.length;b++){a.append(c.ChildAges[b]);if(b<c.ChildAges.length-1){a.append("_")}}}}if(c.ChildBirthDates!=null){if(c.ChildBirthDates.length>0){a.append("&cb=");for(var b=0;b<c.ChildBirthDates.length;b++){a.append(c.ChildBirthDates[b]);if(b<c.ChildBirthDates.length-1){a.append("_")}}}}}return a.toString()},RemoveParamFromURL:function(a,c){a=String(a);var b=new RegExp("\\?"+c+"=[^&]*&?","gi");a=a.replace(b,"?");b=new RegExp("\\&"+c+"=[^&]*&?","gi");a=a.replace(b,"&");a=a.replace(/(\?|&)$/,"");b=null;return a},RemoveFhParam:function(d,b){var e=d;var f=e.indexOf(b,0);while(f>=0){var c=e.substring(0,f);var a=e.indexOf("&",f);if(a>=0){c+=d.substring(a+1,e.length)}e=c;f=e.indexOf(b,0)}return e},MoreLess:function(a,c,b){var d=a.split("_");if(d[0]=="QsmMore"){this.QsmCollapseGroupState["QsmMore_"+d[1]]=true;this.show("QsmCollapse_"+d[1]);this.show("QsmLess_"+d[1]);this.hide("QsmMore_"+d[1])}else{this.QsmCollapseGroupState["QsmMore_"+d[1]]=false;this.hide("QsmCollapse_"+d[1]);this.hide("QsmLess_"+d[1]);this.show("QsmMore_"+d[1])}},MoreLessItem:function(a,c,b){var d=a.split("_");if(/QsmMore(Single|Multi)Select/.test(d[0])){this.QsmCollapseItemState[d[0]+"_"+d[1]]=true;this.show(d[0].replace("More","Collapse")+"_"+d[1]);this.hide(d[0]+"_"+d[1])}else{this.QsmCollapseItemState[d[0]+"_"+d[1]]=false;this.hide(d[0].replace("Less","Collapse")+"_"+d[1]);this.show(d[0].replace("Less","More")+"_"+d[1])}},show:function(a){var b=$get(a);if(b!=null){b.style.display=""}},hide:function(a){var b=$get(a);if(b!=null){b.style.display="none"}},CompareStateRetriever:function(){var a=new Array();jQuery("#ListerContainer input.comparer-checkbox:checked").each(function(d){a[d]=this.id});var b=new ThomasCook.Ecom.Core.PageComponents.Data.CommonView.SearchBrowse.CompareParameters();b.CompareIds=a;b.FhUrl=this.CurrentUrl;b.PartyComposition=this.GetCurrentPartyComposition();var c=$get("QSMContent");if(c!=null){b.PageKeyName=c.getAttribute("pageKey")}return b},GoToDetail:function(d,c,a){var f=this.CurrentUrl;if(f==null){return}var e=SearchBrowse.Updater.getDetailPageBaseUrl();if(e==null){return}var g=new Sys.StringBuilder();g.append(e);g.append("?");if(f.startsWith("?")){f=f.substring(1,f.length)}g.append(f);var b=g.toString();open(b,"_self")},TrackPartySelection:function(a,d,b){try{var e=a.OmnitureLogging;if(e!=null&&e.EVar[52]!=null&&e.EVar[52]!=""){this.DoOmnitureCall(e)}}catch(c){}this.ListerOrFullTextSearch(a,d,b)},ShowDetail:function(a,c,b){var e=jQuery("#"+a).closest(".lister-item");if(e.length<1){return null}var d=a.split("_");if(d.length<2){return}var f=e.find("a[id^='QsmDetailLink_']");GetOmnitureEventSuite().FillInOmnitureForListerDetailClicked(e);if(f.length>0){url=f.attr("href");if(a.substring(0,18)=="ArrangementDetails"){url+="&SelectedArrangement="+d[d.length-2]+"&SelectedTab=ARRANGEMENTS"}if(a.substring(0,18)=="BazaarVoiceDetails"){url+="&SelectedTab=BV_RATINGS_AND_REVIEWS"}SearchBrowse.Updater.redirectTo(url,f.hasClass("jqExternalUrl"))}},ShowDetailFromButton:function(a,c,b){var d=jQuery(a.currentTarget).parents(".lister-item");if(d.length<1){return null}GetOmnitureEventSuite().FillInOmnitureForListerDetailClicked(d)},ShowDetailFromBookNowLink:function(a,c,b){var d=jQuery(a.currentTarget).parents(".lister-item");if(d.length<1){return null}GetOmnitureEventSuite().FillInOmnitureForListerDetailClicked(d)},ShowDetailFromMoreLink:function(a,c,b){var d=jQuery(a.currentTarget).parents(".lister-item");if(d.length<1){return null}GetOmnitureEventSuite().FillInOmnitureForListerDetailClicked(d)},BackToList:function(a,f,e){this.show("mainContent");this.ShowParentComponent($get("QSMContent"));var b=document.getElementsByName("PagerContent");if(b!=null){for(i=0;i<b.length;i++){this.ShowParentComponent(b[i])}}this.hide("ComparerContainer");this.show("mainSidebar");var c=jQuery.query.load("?"+this.CurrentUrl);var d=c.remove("c").toString();var g=decodeURIComponent(d);this.AddHistory(g);jQuery("#ComparerContainer").parent().hide()},GetCompareParams:function(){var b=this.CompareStateRetriever();var a="";var d=b.CompareIds;if(d!=null){for(var c=0;c<d.length;c++){if(c!=0){a+=","}a+=d[c]}}return a},CompareUpdate:function(h,j,b){this.OnUpdate(h,j,b);this.hide("mainContent");this.HideParentComponent($get("QSMContent"));var d=document.getElementsByName("PagerContent");if(d!=null){for(i=0;i<d.length;i++){this.HideParentComponent(d[i])}}this.show("ComparerContainer");this.hide("mainSidebar");var c="?"+this.CurrentUrl;var f=jQuery.query.load(c);var g=this.GetCompareParams();var e=f.set("c",g).toString();var a=decodeURIComponent(e);this.AddHistory(a);jQuery("#ComparerContainer").parent().show()},LoadInitialHash:function(){var a=document.location.hash;Sys.Debug.trace("Initial navigation to "+a);var b="QsmChangeSelect";if((a!=null)&&(a.length>0)){a=decodeURIComponent(a);a=decodeURIComponent(a);this.LoadInitialUrl(a,b,"loadinitialhash")}else{this.UpdatePrices()}},NavigationStateChanged:function(c,f){Sys.Debug.trace("Receiving navigation event");var d="QsmChangeSelect";var a=f.get_state().s;if((a!=null)&&(a.length>0)){a=decodeURIComponent(a);if(a!=this.CurrentUrl){Sys.Debug.trace("Navigation: InitialUrl= "+a);this.LoadInitialUrl(a,d,"navigation")}else{Sys.Debug.trace("Navigation: Navigate not needed to "+a)}}else{var b=location.search;if((b!=null)&&(b.length>0)){b=this.InitialFhUrlOfPage;Sys.Debug.trace("Navigation: back to initial fhlocation of url: "+b);this.LoadInitialUrl(b,d,"navigation")}else{var a=this.GetInitialSearchFhUrlOfPage();if(a!=null){Sys.Debug.trace("Navigation: back to initial search (channel) fhlocation: "+a);this.LoadInitialUrl(a,d,"navigation")}else{Sys.Debug.trace("Navigation: no navigation data")}}}},AddHistory:function(d){if(d.startsWith("?")){d=d.substring(1)}var g=encodeURIComponent(d);if(this.CurrentUrl!=d){this.CurrentUrl=d;this.TraceCurrentUrlChange();Sys.Debug.trace("AddHistory: Adding ("+g+")");var f=document.location;var a=encodeURIComponent(g);var b=f.href.length-f.hash.length+a.length;try{if(b>1020){Sys.Debug.trace("AddHistory: url too long ("+g+")")}else{Sys.Application.addHistoryPoint({s:g},"")}}catch(c){Sys.Debug.trace("AddHistory: Unhandled exception adding ("+g+"): "+c+" Url length= "+b)}}else{Sys.Debug.trace("AddHistory: remain on same url: "+g)}},NullStateRetriever:function(a,c,b){return null},RemoveFromCompareStateRetriever:function(c,b){var a=c.target.id;var e=a.indexOf("_");if(e>=0){var f=a.substring(e+1);var d=$get(f);if(d!=null){d.checked=false}}return this.CompareStateRetriever(c,b)},UpdateLanguageLink:function(){var headerComponent=$find("header");if(headerComponent!=null){var qsmJsonText=jQuery("#languageSwitchersQsmHash").val();Sys.Debug.trace("Qsm language switch hash: "+qsmJsonText);if(qsmJsonText){var urls=eval("("+qsmJsonText+")");headerComponent.UpdateLanguageSwitchers(urls)}}},RecommendationListerClick:function(c){c.preventDefault();var d=c.target;if(d!=null){do{var b=SearchBrowse.Updater.buildDetailPageURL({element:d});if(b.detailUrl&&b.searchValue){var a=b.detailUrl+b.searchValue;SearchBrowse.Updater.redirectTo(a,false);return true}d=d.parentNode}while(d!=null)}return true},DateRangeWait:function(){this.Wait(this.dateRangeWaitSpecification,true)},PriceDetailsWait:function(){this.Wait(this.priceDetailsWaitSpecification,true)},ShowOverlay:function(){},HideOverlay:function(){},ShowWaitPanel:function(){if(Ecom.Application.isHomePage){this.ShowFullWaitPanel()}else{++this.WaitPanelCount;if(this.WaitPanelCount==1){this.overlay.show(this.overlayOptions);jQuery(".jqNotPreloader").hide();jQuery(".jqPreloader").show()}}},HideWaitPanel:function(){if(Ecom.Application.isHomePage){this.HideFullWaitPanel()}else{--this.WaitPanelCount;if(this.WaitPanelCount==0){this.overlay.hide();jQuery(".jqNotPreloader").show();jQuery(".jqPreloader").hide()}}},ShowFullWaitPanel:function(){Ecom.Application.showWaiterBox()},HideFullWaitPanel:function(){Ecom.Application.hideWaiterBox();jQuery(".jqNotPreloader").show();jQuery(".jqPreloader").hide()},ShowPriceDetailsWaitPanel:function(){this.ShowWaitPanel()},HidePriceDetailsWaitPanel:function(){this.HideWaitPanel()},ShowPopupWaitPanel:function(){this.popupOverlay.show(this.popupOverlayOptions)},HidePopupWaitPanel:function(){this.popupOverlay.hide(this.popupOverlayOptions)},SwitchTab:function(d){var b=jQuery("#listerTabs li.lister-tab.active-tab").attr("id");var c="unknown";if(d.target!=null){c=d.target.id.split("_")[0]}var a={DontAddToHistory:true,wait:{showwaitmethod:this.ShowFullWaitPanelDelegate,hidewaitmethod:this.HideFullWaitPanelDelegate}};if((c=="TabList"&&c!=b)||(c=="unknown"&&b=="TabMap")){this.Wait(a,true);ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(d,"showlister"),this.UpdateDelegate,this.MethodTimeoutDelegate,a)}if((c=="TabMap"&&c!=b)||(c=="unknown"&&b=="TabMap")){this.Wait(a,true);ThomasCook.Ecom.Web.SearchBrowse.UpdateSearchBrowse(null,null,this.StateRetriever(d,"showgmap"),this.UpdateDelegate,this.MethodTimeoutDelegate,a)}},InitGMap:function(){gmDispatcher=new SearchBrowse.GmDispatcher();gmDispatcher.registerLister(new SearchBrowse.GmLister());gmDispatcher.registerMapComponent(new MapComponent());gmDispatcher.initialize()}};SearchBrowse.Updater.getDetailPageBaseUrl=function(){return jQuery("#QSMContent").attr("Detail")||""};SearchBrowse.Updater.extractUrlParams=function(a){if(!a){return}return{searchValue:a.getAttribute("url")||"",detailUrl:a.getAttribute("detailUrl")||SearchBrowse.Updater.getDetailPageBaseUrl()||""}};SearchBrowse.Updater.buildDetailPageURL=function(b){if(!b||!(b.element)){return}var a=SearchBrowse.Updater.extractUrlParams(b.element);jQuery.extend(b,a);if(!b.detailUrl){return}return b};SearchBrowse.Updater.redirectTo=function(a,b){if(!a){return}open(a,b?"_blank":"_self")};SearchBrowse.Updater.registerClass("SearchBrowse.Updater",Ecom.Omniture);(function(a){a.fn.jshowoff2=function(c){var b={animatePause:true,autoPlay:true,changeSpeed:600,controls:true,controlText:{play:"Play",pause:"Pause",next:"Next",previous:"Previous"},effect:"fade",hoverPause:true,links:true,speed:3000};if(c){a.extend(true,b,c)}if(b.speed<(b.changeSpeed+20)){alert("jShowOff: Make speed at least 20ms longer than changeSpeed; the fades aren't always right on time.");return this}this.each(function(t){var l=a(this);var d=a(this).children().remove();var p="";var o=0;var s=[];var j=a(".jshowoff").length+1;var m="jshowoff-"+j;var n=b.cssClass!=undefined?b.cssClass:"";l.css("position","relative").wrap('<div class="jshowoff '+m+'" />');var q=a("."+m);q.css("position","relative").addClass(n);a(d[0]).clone().appendTo(l);k();if(b.controls){v();if(b.autoPlay==false){a("."+m+"-play").addClass(m+"-paused jshowoff-paused").text(b.controlText.play)}}if(b.links){u();a("."+m+"-slidelinks a").eq(0).addClass(m+"-active jshowoff-active")}if(b.hoverPause){l.hover(function(){if(g()){h("hover")}},function(){if(g()){x("hover")}})}if(b.autoPlay&&d.length>1){p=setInterval(function(){x()},b.speed)}if(d.length<1){a("."+m).append("<p>For jShowOff to work, the container element must have child elements.</p>")}function e(A,C){var z=o;if((o>=A.length)||(C>=A.length)){o=0;var E=true}else{if((o<0)||(C<0)){o=A.length-1;var B=true}else{o=C}}if(b.effect=="slideLeft"){var F,G;function D(H){F=H=="right"?"left":"right";G=H=="left"?"left":"right"}o>=z?D("left"):D("right");a(A[o]).clone().appendTo(l).slideIt2({direction:F,changeSpeed:b.changeSpeed});if(l.children().length>1){l.children().eq(0).css("position","absolute").slideIt2({direction:G,showHide:"hide",changeSpeed:b.changeSpeed},function(){a(this).remove()})}}else{if(b.effect=="fade"){a(A[o]).clone().appendTo(l).hide().fadeIn(b.changeSpeed,function(){if(a.browser.msie){this.style.removeAttribute("filter")}});if(l.children().length>1){l.children().eq(0).css("position","absolute").fadeOut(b.changeSpeed,function(){a(this).remove()})}}else{if(b.effect=="none"){a(A[o]).clone().appendTo(l);if(l.children().length>1){l.children().eq(0).css("position","absolute").remove()}}}}if(b.links){a("."+m+"-active").removeClass(m+"-active jshowoff-active");a("."+m+"-slidelinks a").eq(o).addClass(m+"-active jshowoff-active")}}function g(){return a("."+m+"-play").hasClass("jshowoff-paused")?false:true}function x(z){if(!y()){o++;e(d,o);if(z=="hover"||!g()){p=setInterval(function(){x()},b.speed)}if(!g()){a("."+m+"-play").text(b.controlText.pause).removeClass("jshowoff-paused "+m+"-paused")}}}function h(z){clearInterval(p);if(!z||z=="playBtn"){a("."+m+"-play").text(b.controlText.play).addClass("jshowoff-paused "+m+"-paused")}if(b.animatePause&&z=="playBtn"){a('<p class="'+m+'-pausetext jshowoff-pausetext">'+b.controlText.pause+"</p>").css({fontSize:"62%",textAlign:"center",position:"absolute",top:"40%",lineHeight:"100%",width:"100%"}).appendTo(q).addClass(m+"pauseText").animate({fontSize:"600%",top:"30%",opacity:0},{duration:500,complete:function(){a(this).remove()}})}}function r(){w(o+1)}function f(){w(o-1)}function y(){return l.children().length>1?true:false}function w(z){l.children().stop(true,true);if((o!=z)||((o==z)&&y())){if(y()){l.children().eq(0).remove()}e(d,z);h()}}function k(){a(d).each(function(z){a(this).find("img").each(function(A){s[A]=a("<img>").attr("src",a(this).attr("src"))})})}function v(){q.append('<p class="jshowoff-controls '+m+'-controls"><a class="jshowoff-play '+m+'-play" href="#null">'+b.controlText.pause+'</a> <a class="jshowoff-prev '+m+'-prev" href="#null">'+b.controlText.previous+'</a> <a class="jshowoff-next '+m+'-next" href="#null">'+b.controlText.next+"</a></p>");a("."+m+"-controls a").each(function(){if(a(this).hasClass("jshowoff-play")){a(this).click(function(){g()?h("playBtn"):x();return false})}if(a(this).hasClass("jshowoff-prev")){a(this).click(function(){f();return false})}if(a(this).hasClass("jshowoff-next")){a(this).click(function(){r();return false})}})}function u(){q.append('<p class="jshowoff-slidelinks '+m+'-slidelinks"></p>');a.each(d,function(A,C){var B=a(this).attr("title")!=""?a(this).attr("title"):A+1;var z=a(this).children("a").attr("href")?a(this).children("a").attr("href"):"#null";a('<a class="jshowoff-slidelink-'+A+" "+m+"-slidelink-"+A+'" href="'+z+'">'+B+"</a>").bind("mouseover",{index:A},function(D){w(D.data.index);return false}).appendTo("."+m+"-slidelinks")})}});return this}})(jQuery);(function(a){a.fn.slideIt2=function(c,d){var b={direction:"left",showHide:"show",changeSpeed:600};if(c){a.extend(b,c)}this.each(function(f){a(this).css({left:"auto",right:"auto",top:"auto",bottom:"auto"});var g=(b.direction=="left")||(b.direction=="right")?a(this).outerWidth():a(this).outerHeight();var e={};e.position=a(this).css("position")=="static"?"relative":a(this).css("position");e[b.direction]=(b.showHide=="show")?"-"+g+"px":0;var h={};h[b.direction]=b.showHide=="show"?0:"-"+g+"px";a(this).css(e).animate(h,b.changeSpeed,d)});return this}})(jQuery);Ecom.SlidingPromotionControl=function Ecom$SlidingPromotionControl(a){Ecom.SlidingPromotionControl.initializeBase(this,[a])};Ecom.SlidingPromotionControl.prototype={initialize:function(){Ecom.SlidingPromotionControl.callBaseMethod(this,"initialize")}};Ecom.SlidingPromotionControl.registerClass("Ecom.SlidingPromotionControl",Sys.UI.Control);jQuery(document).ready(function(){try{jQuery(".SlidingPromotionControlComponent").each(function(){var d=jQuery(this);$create(Ecom.SlidingPromotionControl,null,null,null,this);var c=d.find(".features");var b="slideLeft";if(c.hasClass("fade")){b="fade"}c.jshowoff2({effect:b,speed:5000})})}catch(a){Sys.Debug.trace("unhandled exception initializing slidingpromotion control")}});Ecom.FreeTextSearchControl=function Ecom$FreeTextSearchControl(a){Ecom.FreeTextSearchControl.initializeBase(this,[a])};Ecom.FreeTextSearchControl.prototype={initialize:function(){Ecom.FreeTextSearchControl.callBaseMethod(this,"initialize");jQuery(this.get_element()).find("#FreeTextSearchButton").live("click",Function.createDelegate(this,this.FreeTextSearch));jQuery(this.get_element()).find("#freeTextSearchInput").live("keypress",Function.createDelegate(this,this.KeyPress))},KeyPress:function(b){var a=b.keyCode;if(a!=null&&(a==10||a==13)){this.FreeTextSearch()}},FreeTextSearch:function(){var h=$get("free-text-search");if(h==null){return}var d=h.getAttribute("Lister");if(d==null){return}var g=new Sys.StringBuilder();g.append(d);var b=$get("freeTextSearchInput");if(b){var e=b.value;var a=b.defaultValue;if(e){e=e.trim()}if(a&&a==e){return}if(e&&e.length>0){g.append("?filter=search(");g.append(encodeURIComponent(e));g.append(")")}}var c=g.toString();var f=$find("mainclick");if(f!=null){f.ShowWaitPanel()}open(c,"_self")}};Ecom.FreeTextSearchControl.registerClass("Ecom.FreeTextSearchControl",Sys.UI.Control);jQuery(document).ready(function(){jQuery(".free-text-search input#freeTextSearchInput").attr("value",jQuery(".free-text-search input#freeTextSearchInput").attr("defaultValue"));jQuery(".free-text-search input#freeTextSearchInput").enableClearAndRestoreField();jQuery(".free-text-search").each(function(){var a=jQuery(this);$create(Ecom.FreeTextSearchControl,null,null,null,this)})});
