var AdvancedSearch={ActiveTab:"",RoundTripTab:"",OneWayTab:"",MultiCityTab:"",AwardTravelTab:"",IsAward:false,IsMultiCity:false,JourneyType:"RoundTrip",PageContext:"RoundTrip",IsInitialized:false,ValidationGroup:AdvancedSearchVars.ValidationGroup,ValidationGroupMultiCity:AdvancedSearchVars.ValidationGroupMultiCity,AwardTravelPanel:null,DestinationAirport:null,DestinationAirportValidator:null,DestinationAirportRegExValidator:null,DestinationTravelDatesPanel:null,ECertificateContainer:null,ECertificateRegExValidator:null,ECertificateTextBox:null,ECertificateValidator:null,JourneyTypeControl:null,mcDestinationAirport:null,mcOriginAirport:null,OriginAirport:null,OriginAirportValidator:null,OriginAirportRegExValidator:null,OutboundDateValidator:null,PassengerValidator:null,ReturnDateValidator:null,SearchByOptionsFixed:null,SearchByOptionsFlexible:null,SearchInvokeButton:null,SearchTypeControl:null,TravelCitiesJourneyTypeControl:null,TravelDatesJourneyTypeControl:null,TravelMarketsMultiCityPanel:null,TravelMarketsODPanel:null,TravelTypeControl:null,PageContextControl:null,Initialize:function(){if(!this.IsInitialized){this.AwardTravelPanel=$get(AwardTravelPolicies.panelAwardTravelPolicies);this.DestinationAirport=$find(TravelCities.DestinationAirportExtenderId);this.DestinationAirportValidator=$get(TravelCities.DestinationAirportValidatorId);this.DestinationAirportRegExValidator=$get(TravelCities.DestinationAirportRegExValidatorId);this.DestinationTravelDatesPanel=$get(TravelDates.ReturnTravelDatePanelId);this.ECertificateContainer=$get(AdvancedSearchVars.ECertificateContainerId);this.ECertificateRegExValidator=$get(AdvancedSearchVars.ECertificateRegexValidatorId);this.ECertificateTextBox=$get(AdvancedSearchVars.ECertificateTextBoxId);this.ECertificateValidator=$get(AdvancedSearchVars.ECertificateValidatorId);this.JourneyTypeControl=$get(AdvancedSearchVars.JourneyTypeControlId);this.mcDestinationAirport=$find(MultiCityAirports.mcDestinationAirportExtender);this.mcOriginAirport=$find(MultiCityAirports.mcOriginAirportExtender);this.OriginAirport=$find(TravelCities.OriginAirportExtenderId);this.OriginAirportValidator=$get(TravelCities.OriginAirportValidatorId);this.OriginAirportRegExValidator=$get(TravelCities.OriginAirportRegExValidatorId);this.OutboundDateValidator=$get(TravelDates.OutboundDateValidatorId);this.PassengerValidator=$get(PassengerTypes.ValidatorID);this.ReturnDateValidator=$get(TravelDates.ReturnDateValidatorId);this.SearchByOptionsFixed=$get(SearchByOptions.SearchByOptionsId+"_0");this.SearchByOptionsFlexible=$get(SearchByOptions.SearchByOptionsId+"_1");this.SearchInvokeButton=$get(SearchInvokeVars.SearchCommandID);this.SearchTypeControl=$get(AdvancedSearchVars.SearchTypeControlId);this.TravelCitiesJourneyTypeControl=$get(TravelCities.JourneyTypeId);this.TravelDatesJourneyTypeControl=$get(TravelDates.JourneyTypeControlId);this.TravelMarketsMultiCityPanel=$get(TravelMarkets.TravelMarketsMultiCityPanelId);this.TravelMarketsODPanel=$get(TravelMarkets.TravelMarketsODPanelId);this.TravelTypeControl=$get(AdvancedSearchVars.TravelTypeControlId);this.PageContextControl=$get(AdvancedSearchVars.PageContextControlId);this.AwardRequest=$get(AdvancedSearchVars.AwardRequestControlId);this.IsInitialized=true}},SetTabs:function(a,b){this.RoundTripTab.className="off";this.OneWayTab.className="off";this.MultiCityTab.className="off";this.AwardTravelTab.className=b?"inactive":"off";a.className="on"},LoadContext:function(a,c,d,e){this.Initialize();this.RoundTripTab=a;this.OneWayTab=c;this.MultiCityTab=d;this.AwardTravelTab=e;var b=this.PageContextControl?this.PageContextControl.value:"RoundTrip";AdvancedSearch.SetContext(b)},CreateReturnURL:function(f,c){var d=$get(f);if(d&&d!=null&&d!=undefined){var a="advancedSearch.aspx";var b=a.length;var g=d.href.search(/AdvancedSearch.aspx/i);if(g>-1){href=d.href.substring(0,g+b);var e=this.IsAward?"awardnew":"new";d.href=href+"%3Fbook="+e+"%26context="+c}}},SetContext:function(d){this.Initialize();this.PageContext=d;this.PageContextControl.value=d;this.DestinationTravelDatesPanel.className="fleft";this.TravelMarketsODPanel.className="displayinline";if(this.TravelMarketsMultiCityPanel!=undefined&&this.TravelMarketsMultiCityPanel!=null){this.TravelMarketsMultiCityPanel.className="displaynone"}this.ECertificateContainer.className="displayblock";this.AwardTravelPanel.className="displaynone";this.SearchByOptionsFlexible.disabled=false;this.SearchByOptionsFlexible.nextSibling.style.color="";this.IsAward=false;this.IsMultiCity=false;var a=this.RoundTripTab;this.JourneyType="RoundTrip";var f="Revenue";this.ActiveTab=d;this.ECertificateTextBox.value=this.ECertificateTextBox.value.replace(/^\s+|\s+$/g,"");if(this.ECertificateTextBox.value!=""){this.SearchByOptionsFlexible.checked=false;this.SearchByOptionsFlexible.disabled=true;this.SearchByOptionsFixed.checked=true}switch(d){case"RoundTrip":default:this.JourneyType="RoundTrip";a=this.RoundTripTab;PassengerTypes.AllowUnaccompaniedMinors=true;if(this.mcOriginAirport!=null&&this.mcOriginAirport!=undefined&&this.mcOriginAirport._currentPrefix!=null){var g=$get(TravelCities.OriginAirportTextBoxID);g.value=$get(MultiCityAirports.mcOriginAirportID).value}if(this.mcDestinationAirport!=null&&this.mcDestinationAirport!=undefined&&this.mcDestinationAirport._currentPrefix){var b=$get(TravelCities.DestinationAirportTextBoxID);b.value=$get(MultiCityAirports.mcDestinationAirportID).value}break;case"OneWay":this.JourneyType="OneWay";a=this.OneWayTab;ValidatorEnable(this.ReturnDateValidator,false);this.ReturnDateValidator.validationGroup="Unassigned";this.DestinationTravelDatesPanel.className="displaynone";break;case"MultiCity":this.JourneyType="MultiCity";a=this.MultiCityTab;this.IsMultiCity=true;PassengerTypes.AllowUnaccompaniedMinors=false;this.TravelMarketsODPanel.className="displaynone";this.ECertificateContainer.className="displaynone";if(this.TravelMarketsMultiCityPanel!=undefined&&this.TravelMarketsMultiCityPanel!=null){this.TravelMarketsMultiCityPanel.className="displayblock"}this.SearchByOptionsFlexible.disabled=true;this.SearchByOptionsFlexible.nextSibling.style.color="Gray";break;case"AwardTravel":this.JourneyType="RoundTrip";a=this.AwardTravelTab;this.IsAward=true;this.AwardTravelPanel.className="displayinline";break}this.SearchInvokeButton.validationGroup=this.IsMultiCity?this.ValidationGroupMultiCity:this.ValidationGroup;var e=this.IsAward?AirportFilter.AwardReservation:AirportFilter.RevenueReservation;if(typeof this.OriginAirport!=="undefined"&&this.OriginAirport!==null){this.OriginAirport.set_contextKeyClear(e)}if(typeof this.DestinationAirport!=="undefined"&&this.DestinationAirport!==null){this.DestinationAirport.set_contextKeyClear(e)}this.SetTabs(a,this.IsAward);this.TravelTypeControl.value=this.IsAward?"Award":"Revenue";var c=this.IsAward?SearchByOptions.SearchTermRedemptionFlexibleVerbose:SearchByOptions.SearchTermRevenueFlexibleVerbose;this.SearchByOptionsFlexible.nextSibling.innerHTML=c;if(this.AwardRequest.value==""){this.IsAward?this.SearchByOptionsFlexible.checked=true:this.SearchByOptionsFixed.checked=true}this.AwardRequest.value="";this.SetFareOption($get(FareOptions.FareOptionsRadioID),this.IsAward);this.JourneyTypeControl.value=this.JourneyType;this.TravelDatesJourneyTypeControl.value=this.JourneyType;this.TravelCitiesJourneyTypeControl.value=this.JourneyType;if((MasterPageVariables!=undefined&&MasterPageVariables!=null)&&MasterPageVariables.LoginLinkID!=null){this.CreateReturnURL(MasterPageVariables.LoginLinkID,d)}if((MasterPageVariables!=undefined&&MasterPageVariables!=null)&&MasterPageVariables.LogoutLinkID!=null){this.CreateReturnURL(MasterPageVariables.LogoutLinkID,d)}},SetFareOption:function(b,a){b.childNodes[6].style.visibility=a?"hidden":"visible";b.childNodes[6].nextSibling.style.visibility=a?"hidden":"visible"},SetValidators:function(a){this.Initialize();var b=this.IsMultiCity?this.ValidationGroupMultiCity:this.ValidationGroup;this.PassengerValidator.validationGroup=b;ValidatorEnable(this.PassengerValidator,true);this.ECertificateValidator.validationGroup=b;ValidatorEnable(this.ECertificateValidator,true);this.ECertificateRegExValidator.validationGroup=b;ValidatorEnable(this.ECertificateRegExValidator,true);this.SearchInvokeButton.validationGroup=b;switch(a){case"OneWay":ValidatorEnable(this.ReturnDateValidator,false);break;case"MultiCity":ValidatorEnable(this.OutboundDateValidator,false);ValidatorEnable(this.ReturnDateValidator,false);ValidatorEnable(this.OriginAirportValidator,false);ValidatorEnable(this.OriginAirportRegExValidator,false);ValidatorEnable(this.DestinationAirportValidator,false);ValidatorEnable(this.DestinationAirportRegExValidator,false);break;default:this.OutboundDateValidator.validationGroup=b;ValidatorEnable(this.OutboundDateValidator,true);this.ReturnDateValidator.validationGroup=b;ValidatorEnable(this.ReturnDateValidator,true);this.OriginAirportValidator.validationGroup=b;ValidatorEnable(this.OriginAirportValidator,true);this.OriginAirportRegExValidator.validationGroup=b;ValidatorEnable(this.OriginAirportRegExValidator,true);this.DestinationAirportValidator.validationGroup=b;ValidatorEnable(this.DestinationAirportValidator,true);this.DestinationAirportRegExValidator.validationGroup=b;ValidatorEnable(this.DestinationAirportRegExValidator,true)}},EnableValidators:function ValidateGroup(c,a){for(var b=0;b<Page_Validators.length;++b){if(Page_Validators[b].validationGroup==c){ValidatorEnable(Page_Validators[b],a);ValidatorValidate(Page_Validators[b])}}},Validate:function(){this.SetValidators(this.PageContext);if(this.IsMultiCity){Page_ClientValidate(this.ValidationGroupMultiCity);return Page_IsValid}else{Page_ClientValidate(this.ValidationGroup);if(Page_IsValid){return this.CheckAlerts()}else{return false}}},ValidateInfantInLap:function(e,d){var b=$get(PassengerTypes.InfantLapID);var a=b?parseInt(b.value):0;var g=false;var f=$get(AdvancedSearchVars.PageContextControlId);var c=$get(ModifySearchVars.TravelTypeControlId);if(f&&f!=null&&f!=undefined){g=f.value=="AwardTravel"}if(c&&c!=null&&c!=undefined){g=c.value=="Award"}d.IsValid=a>0&&g;return},CheckAlerts:function(){var c=$get(PassengerTypes.AdultID);var p=c?parseInt(c.value):0;var n=$get(PassengerTypes.SeniorID);var i=n?parseInt(n.value):0;var o=$get(PassengerTypes.ChildID);var g=o?parseInt(o.value):0;var a=$get(PassengerTypes.InfantSeatID);var k=a?parseInt(a.value):0;var d=$get(PassengerTypes.InfantLapID);var m=d?parseInt(d.value):0;var l=false;var r=false;var e=false;var b=false;var j=false;if(k>0){r=true;l=true}if(m>0&&!this.IsAward){r=true;l=true}if(!this.IsAward&&i>0){b=true;l=true}if(g>0&&(p+i)<1){e=true;l=true}var q=$get(FareOptions.FareOptionsRadioID);if(q&&q.childNodes.length>=6&&q.childNodes[6].checked){j=true;l=true}if(l){var f="";if(e){f+=AdvancedSearchVars.UMAlertText}if(r){f+=AdvancedSearchVars.InfantAlertText}if(b){f+=AdvancedSearchVars.SeniorAlertText}if(j){f+=AdvancedSearchVars.PreferredAlertText}var h=$get(AdvancedSearchVars.crCustomContentID);h.innerHTML=f;ShowConfirmationRequest("crAlerts");return false}return true},ChangeSearchByForECert:function(a){this.Initialize();if(a!=null){a.value=a.value.replace(/^\s+|\s+$/g,"");if(a.value==""){this.SearchByOptionsFlexible.disabled=false}else{this.SearchByOptionsFixed.checked=true;this.SearchByOptionsFlexible.checked=false;this.SearchByOptionsFlexible.disabled=true}}},HasAward:function(e,b,a){this.Initialize();b.className=e?"displaynone":"flighttype";a.className=e?"flighttype":"displaynone";var d=e?AirportFilter.AwardReservation:AirportFilter.RevenueReservation;this.OriginAirport.set_contextKeyClear(d);this.DestinationAirport.set_contextKeyClear(d);var c=e?SearchByOptions.SearchTermRedemptionFlexible:SearchByOptions.SearchTermRevenueFlexible;this.SearchByOptionsControl.options[1]=new Option(c,"FlexibleSchedule",false,false)},SetMultiCityDateValues:function(c,a){var e=$get(a);var d=$get(c);if(e&&d){if(Date.parse(e.value)>=Date.parse(d.value)){return}var e=document.getElementById(a);var d=document.getElementById(c).value;var b=new Date(d);b.setDate(b.getDate()+1);e.value=b.format(b.getMonth()+1+"/d/yyyy")}},SetMultiCityAirportValues:function(d,b,c,a){var f=$get(b);var e=$get(d);if($find(a)&&$find(c)){$find(a).set_Text($find(c).get_Text(e))}},OnReady:function(c){var a=$get("RoundTripTab");var d=$get("OneWayTab");var e=$get("MultiCityTab");var b=$get("AwardTravelTab");AdvancedSearch.LoadContext(a,d,e,b);switch(c){case"OneWay":case"RoundTrip":case"MultiCity":case"AwardTravel":AdvancedSearch.SetContext(c);break}}};