function AirportsApplication(){function i(){n.airlineSearch(n.partnerAirline()?n.partnerAirline().Name():"");n.searchDestination(n.destination()?n.destination().To():"");n.searchOrigin(n.origin()?n.origin().From():"")}var n=this,t,r;n.partnerCalculator=ko.observable(!1);t="--";r="--";n.origins=ko.observableArray();n.destinations=ko.observableArray();n.bookingClasses=ko.observableArray();n.airpoints=ko.observableArray();n.partnerAirlines=ko.observableArray();n.areas=ko.observableArray();n.productCodes=ko.observableArray();n.AirpointsResults=ko.observableArray();n.origin=ko.observable();n.areaOrigin=ko.observable();n.destination=ko.observable();n.bookingClass=ko.observable();n.productCode=ko.observable();n.partnerAirline=ko.observable();n.showResults=ko.observable(!1);n.areOriginsLoading=ko.observable(!0);n.areDestinationsLoading=ko.observable(!1);n.areBookingClassesLoading=ko.observable(!1);n.isLoadingResults=ko.observable(!0);n.destinationDistance=ko.observable(0);n.hasDecimal=ko.computed(function(){return n.partnerAirline()!==undefined&&n.partnerAirline()!==""});n.hasOrigin=ko.computed(function(){return n.origin()!==undefined&&n.origin()!==""});n.hasDestination=ko.computed(function(){return n.destination()!==undefined&&n.destination()!==""});n.hasAirline=ko.computed(function(){return n.partnerAirline()!==undefined&&n.partnerAirline()!==""});n.canUseAdvancedSearch=ko.computed(function(){return!n.partnerCalculator()});n.partnerCalculatorNonDetailed=ko.computed(function(){return n.partnerCalculator()&&!(n.hasAirline()&&n.partnerAirline().UseDetailedPointsMatrix())});n.hasAirlineWebsiteUrl=ko.computed(function(){return n.partnerCalculator()&&n.hasAirline()&&n.partnerAirline().WebsiteUrl()!==""});n.partnerAirlineWebsiteUrl=ko.computed(function(){return n.hasAirline()?n.partnerAirline().WebsiteUrl():""});n.MoreThanOneResult=ko.computed(function(){return n.AirpointsResults().length>1});n.IsDomestic=ko.computed(function(){return n.AirpointsResults().length===0?!1:n.AirpointsResults()[0].IsDomestic});n.airlineSearch=ko.observable();n.searchOrigin=ko.observable();n.searchDestination=ko.observable();n.originName=ko.computed(function(){return n.origin()===undefined||n.origin()===""?"Please select":n.origin().From()});n.bookingClassName=ko.computed(function(){return n.bookingClass()===undefined||n.bookingClass().BookingClass()===""?t:n.bookingClass()});n.bookingClassSelected=ko.computed(function(){return n.bookingClass()===undefined||n.bookingClass().BookingClass()===""||n.bookingClass().BookingClass()===t?!1:!0});n.productCodeSelected=ko.computed(function(){return n.productCode()===undefined||n.productCode().Name()===""||n.productCode().Name()===r?!1:!0});n.generalSearch=ko.computed(function(){return!n.partnerCalculatorNonDetailed()&&!(n.bookingClassSelected()||n.productCodeSelected())});n.silkAirSearch=ko.computed(function(){return n.partnerCalculator()&&n.partnerAirlineName()==="SilkAir"});n.aerolineasArgentinasSearch=ko.computed(function(){return n.partnerCalculator()&&n.partnerAirlineName()==="Aerolineas Argentinas"});n.aviancaInBrazilSearch=ko.computed(function(){return n.partnerCalculator()&&n.partnerAirlineName()==="Avianca in Brazil"});n.destinationName=ko.computed(function(){return n.destination()===""||n.destination()===undefined?"Please select":n.destination().To()});n.partnerAirlineName=ko.computed(function(){return n.partnerAirline()===""||n.partnerAirline()===undefined?"Please select":n.partnerAirline().Name()});n.filteredOrigins=ko.computed(function(){return n.origins()===undefined?[]:n.searchOrigin()===undefined?n.origins():n.origins().filter(function(t){return t.From().toUpperCase().startsWith(n.searchOrigin().toUpperCase())||t.FromATA().toUpperCase().startsWith(n.searchOrigin().toUpperCase())})});n.hasFilteredOrigins=ko.computed(function(){return n.areOriginsLoading()?!0:n.partnerCalculator()?n.partnerAirline()===undefined||n.partnerAirline()===""?!0:n.filteredOrigins().length>0&&!n.areOriginsLoading():n.filteredOrigins().length>0&&!n.areOriginsLoading()});n.filteredDestinations=ko.computed(function(){return n.destination()===undefined?[]:n.searchDestination()===undefined?n.destinations():n.destinations().filter(function(t){return t.To().toUpperCase().startsWith(n.searchDestination().toUpperCase())||t.ToATA().toUpperCase().startsWith(n.searchDestination().toUpperCase())})});n.hasBookingClasses=ko.computed(function(){return n.bookingClasses().length>0});n.bookingClassCaption=ko.dependentObservable(function(){if(!n.hasBookingClasses())return t},n);n.hasProducts=ko.computed(function(){return n.productCodes().length>0});n.hasFilteredDestinations=ko.computed(function(){return n.hasOrigin()?n.areDestinationsLoading()?!0:n.filteredDestinations().length>0:!0});n.filteredAirlineList=ko.computed(function(){var t,i;return n.partnerAirlines()===undefined?[]:(t=n.partnerAirlines().filter(function(n){return n.AirlineType()==="NORMAL"}),i=new AirlineModel,i.load({Name:"Star Alliance Airlines",AirlineType:"TITLE"}),t.unshift(i),n.airlineSearch()===undefined||n.airlineSearch()==="")?t:t.filter(function(t){return t.AirlineType()!=="TITLE"&&t.Name().toUpperCase().startsWith(n.airlineSearch().toUpperCase())})});n.coopFilteredAirlineList=ko.computed(function(){var t,i;return n.partnerAirlines()===undefined?[]:(t=n.partnerAirlines().filter(function(n){return n.AirlineType()!=="NORMAL"}),i=new AirlineModel,i.load({Name:"Co-operation Partners",AirlineType:"TITLE"}),t.unshift(i),n.airlineSearch()===undefined||n.airlineSearch()==="")?t:t.filter(function(t){return t.AirlineType()!=="TITLE"&&t.Name().toUpperCase().startsWith(n.airlineSearch().toUpperCase())})});n.hasCoopFilteredAirlines=ko.computed(function(){return n.coopFilteredAirlineList().length>0});n.hasFilteredAirlines=ko.computed(function(){return n.filteredAirlineList().length>0||n.hasCoopFilteredAirlines()});n.showOriginList=function(t,i){if(n.shortcutKeys(t,i))return $(".originSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),!0};n.showDestinationList=function(t,i){if(n.shortcutKeys(t,i))return $(".destinationSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),!0};n.showBookingClassList=function(t,i){if(n.shortcutKeys(t,i))return $(".bookingClassSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),!0};n.hideOriginList=function(){return setTimeout(function(){$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide")},100),$("#main").removeClass("hello"),$("#overlay").removeClass("hello"),!0};n.hideDestinationList=function(){return setTimeout(function(){$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide")},100),$("#main").removeClass("hello"),$("#overlay").removeClass("hello"),!0};n.hideBookingClassList=function(){return setTimeout(function(){$(".bookingClassSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide")},100),$("#main").removeClass("hello"),$("#overlay").removeClass("hello"),!0};n.makeOriginChoice=function(t){n.showResults(!1);n.origin(t);n.searchOrigin(t.From());n.destination("");n.searchDestination("");n.bookingClass(undefined);n.bookingClasses.removeAll();$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide");$("#main").removeClass("hello");$("#overlay").removeClass("hello")};n.makeDestinationChoice=function(t){n.showResults(!1);n.destination(t);n.searchDestination(t.To());$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide");$("#main").removeClass("hello");$("#overlay").removeClass("hello")};n.makeAirlineChoice=function(t){n.partnerAirline(t);n.airlineSearch(t.Name());n.searchOrigin("");n.origin("");n.origins.removeAll();n.destinations.removeAll();$(".airlineSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide");$("#main").removeClass("hello")};n.showOriginSelectionPanel=function(t,r){if(n.showResults(!1),n.searchOrigin(undefined),$("#txtFrom").focus(),$(".originSelectorPanel").closest("fieldset").hasClass("hide")){if($("#main").addClass("hello"),r.currentTarget.className==="drop-down-arrow"&&n.searchOrigin(undefined),$(".originSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),$(".destinationSelectorPanel").closest("fieldset").hasClass("hide")||$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),r.stopPropagation(),Modernizr.mq("only all and (max-width: 399px)"))$("#overlay").addClass("hello").on({"click.closeSelection":function(n){$(n.target).closest("aside").length||($("#main").removeClass("hello"),$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),$("#overlay").off("click.closeSelection").removeClass("hello"))}})}else $(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),i()};n.showDestinationSelectionPanel=function(t,r){if($("#txtTo").focus(),$("#main").addClass("hello"),$(".destinationSelectorPanel").closest("fieldset").hasClass("hide")){if(r.currentTarget.className==="drop-down-arrow"&&n.searchDestination(undefined),$(".destinationSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),$(".originSelectorPanel").closest("fieldset").hasClass("hide")||$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),r.stopPropagation(),Modernizr.mq("only all and (max-width: 399px)"))$("#overlay").addClass("hello").on({"click.closeSelection":function(n){$(n.target).closest("aside").length||($("#main").removeClass("hello"),$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),$("#overlay").off("click.closeSelection").removeClass("hello"))}})}else $(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),i();return!0};n.showPartnerAirlineSelectionPanel=function(t,r){r.type==="keyup"?(n.shortcutKeys(t,r),$(".airlineSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide")):(r.currentTarget.id!=="txtAirline"&&(n.airlineSearch(""),n.showResults(!1)),$(".originSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),$(".destinationSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),$("#txtAirline").focus(),$(".airlineSelectorPanel").closest("fieldset").hasClass("hide")?($("#main").addClass("hello"),r.currentTarget.className==="drop-down-arrow"&&(n.searchOrigin(undefined),n.searchDestination(undefined)),$(".airlineSelectorPanel").closest("fieldset").css("z-index","100000").removeClass("hide"),r.stopPropagation()):($(".airlineSelectorPanel").closest("fieldset").css("z-index","100").addClass("hide"),i()))};n.monitorOriginChange=ko.computed(function(){if(n.origin()!==undefined&&n.origin()!==""&&(!n.partnerCalculator()||n.partnerAirline()!==undefined))if(n.areDestinationsLoading(!0),n.destination(""),n.bookingClass(undefined),n.partnerCalculator()){if(n.partnerAirline()==="")return!0;$.post("/"+siteVersion+"/airports/Destinations/"+n.partnerAirline().AirlineId()+"/"+n.origin().FromATA(),{},n.monitorOriginChange_callback)}else $.post("/"+siteVersion+"/airports/Destinations/"+n.origin().FromATA(),{},n.monitorOriginChange_callback)});n.monitorOriginChange_callback=function(t){for(var r,u=[],i=0;i<t.length;i++)r=new RouteModel,r.load(t[i]),u.push(r);n.destinations(u);n.areDestinationsLoading(!1)};n.isLoadingBookingClasses=!1;n.isChangingProduct=!1;n.monitorDestinationChange=ko.computed(function(){n.destination()!==""&&n.destination()!==undefined&&n.origin()!==undefined&&n.origin()!==""&&(n.airpoints.removeAll(),n.AirpointsResults.removeAll(),n.isLoadingResults(!0),n.bookingClasses.removeAll(),n.singaporeAirlineDetailedSearch=ko.computed(function(){if(n.hasOrigin()&&n.hasDestination()){var t=n.origin().FromATA(),i=n.destination().ToATA();if(n.partnerAirlineName()==="Singapore Airlines")return n.partnerAirlineName()==="Singapore Airlines"&&t==="CHC"||t==="AKL"||t==="WLG"&&i==="SIN"||n.partnerAirlineName()==="Singapore Airlines"&&t==="SIN"&&i==="CHC"||i==="AKL"||i==="WLG"}return!1}),n.partnerCalculator()?(_gaq.push(["_trackEvent","Partner "+n.partnerAirline().Name(),"Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()]),console.log("/"+siteVersion+"/partner/"+n.partnerAirline().AirlineId()+"/"+n.origin().FromATA()+"/"+n.destination().ToATA()),n.isLoadingBookingClasses=!0,$.post("/"+siteVersion+"/partner/"+n.partnerAirline().AirlineId()+"/"+n.origin().FromATA()+"/"+n.destination().ToATA(),{},function(t){if(typeof t.Results!="undefined")n.processSearchResultPartnerDetailed(t,!0,!0);else{var i=new PartnerAirlineResultModel;i.load(t);n.destinationDistance(i.PrettyDistance());n.AirpointsResults.push({Results:[i],IsBrando:!1});n.isLoadingResults(!1)}})):(_gaq.push(["_trackEvent","Air New Zealand","Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()]),console.log("/"+siteVersion+"/airpoints/"+n.origin().FromATA()+"/"+n.destination().ToATA()),n.isLoadingBookingClasses=!0,$.post("/"+siteVersion+"/airpoints/"+n.origin().FromATA()+"/"+n.destination().ToATA(),{},function(t){n.processSearchResultAirNewZealand(t,!0,!0)})))});n.setAdvancedSearchProducts=function(t){n.productCodes.removeAll();ko.utils.arrayForEach(t.Products,function(t){var i=new ProductModel;i.load(t);n.productCodes.push(i)})};n.setAdvancedSearchBookingClasses=function(i,r){var u=[t],f,e;for(i.AllBookingClasses&&i.AllBookingClasses.length>0&&(u=u.concat(i.AllBookingClasses)),u.sort(function(n,i){return n==t?-2:n<i?-1:n>i?1:0}),f=0;f<u.length;f++)e=new BookingClassModel,e.load(u[f]),e.IsPartner(r),n.bookingClasses.push(e)};n.processSearchResultAirNewZealand=function(t,i,r){var u,f,e;for(console.log(t),u=0;u<t.length;u++)(f=t[u],f.Results.length!==0)&&(e=[],ko.utils.arrayForEach(f.Results,function(n){var t=new AirpointsOverviewModel;t.load(n);t.IsBrando(!0);e.push(t)}),n.AirpointsResults.push({IsBrando:!0,IsDomestic:t[0].IsDomestic,Results:e}),i&&u===0&&n.setAdvancedSearchProducts(f,!1),r&&u===0&&n.setAdvancedSearchBookingClasses(f,!1));return n.isLoadingResults(!1),n.isLoadingBookingClasses=!1,n.isChangingProduct=!1,!0};n.processSearchResultPartnerDetailed=function(t,i,r){if(console.log(t),t.Results.length!==0){n.destinationDistance(t.Distance);var u=[];return ko.utils.arrayForEach(t.Results,function(n){var t=new AirpointsOverviewModel;t.load(n);t.IsBrando(!0);u.push(t)}),n.AirpointsResults.push({IsBrando:!0,IsDomestic:!1,Results:u}),i&&n.setAdvancedSearchProducts(t,!0),r&&n.setAdvancedSearchBookingClasses(t,!0),n.isLoadingResults(!1),n.isLoadingBookingClasses=!1,n.isChangingProduct=!1,!0}};n.monitorBookingClassChange=ko.computed(function(){if(n.destination()!==""&&n.destination()!==undefined&&n.origin()!==undefined&&n.origin()!==""&&n.hasBookingClasses()&&n.bookingClass()!==undefined&&n.bookingClass().BookingClass()!==""&&!n.isChangingProduct&&!n.partnerCalculatorNonDetailed()&&!n.isLoadingBookingClasses){console.log("Hello from booking class change");n.isLoadingBookingClasses=!0;n.showResults(!1);n.airpoints.removeAll();n.AirpointsResults.removeAll();n.isLoadingResults(!0);var i=n.bookingClass().BookingClass()===t?"":n.bookingClass().BookingClass();n.partnerCalculator()?(_gaq.push(["_trackEvent","Partner "+n.partnerAirline().Name(),"Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()+" (booking class: "+n.bookingClass().BookingClass()+")"]),$.post("/"+siteVersion+"/partnerdetailed/"+n.partnerAirline().AirlineId()+"/"+n.origin().FromATA()+"/"+n.destination().ToATA()+"/"+i,{},function(t){n.processSearchResultPartnerDetailed(t,!1,!1)})):(_gaq.push(["_trackEvent","Air New Zealand","Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()+" (booking class: "+n.bookingClass().BookingClass()+")"]),$.post("/"+siteVersion+"/airpoints/"+n.origin().FromATA()+"/"+n.destination().ToATA()+"/"+i,{productName:n.productCode().Name()},function(t){n.processSearchResultAirNewZealand(t,!1,!1)}))}});n.monitorProductCodeChange=ko.computed(function(){n.productCode()===undefined||n.origin()===""||n.origin()===undefined||n.destination()===""||n.destination()===undefined||n.isChangingProduct||n.isLoadingResults()||n.isLoadingBookingClasses||n.partnerCalculatorNonDetailed()||(console.log("Hello from product code change"),n.showResults(!1),n.airpoints.removeAll(),n.AirpointsResults.removeAll(),n.bookingClasses.removeAll(),n.isChangingProduct=!0,n.isLoadingResults(!0),n.isLoadingBookingClasses=!0,n.partnerCalculator()?(_gaq.push(["_trackEvent","Partner "+n.partnerAirline().Name(),"Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()+" (product code: "+n.productCode().Name()+")"]),$.post("/"+siteVersion+"/partnerdetailed/"+n.partnerAirline().AirlineId()+"/"+n.origin().FromATA()+"/"+n.destination().ToATA(),{productName:n.productCode().Name()},function(t){n.processSearchResultPartnerDetailed(t,!1,!0)})):(_gaq.push(["_trackEvent","Air New Zealand","Search "+siteVersion,"From: "+n.origin().FromATA()+" To: "+n.destination().ToATA()+" (product code: "+n.productCode().Name()+")"]),$.post("/"+siteVersion+"/airpoints/"+n.origin().FromATA()+"/"+n.destination().ToATA(),{productName:n.productCode().Name()},function(t){n.processSearchResultAirNewZealand(t,!1,!0)})))});n.start=function(){n.loadOrigins()};n.loadOrigins=function(){$.post("/"+siteVersion+"/airports/origins",{},n.loadOrigins_callback)};n.loadOrigins_callback=function(t){var i=[];ko.utils.arrayForEach(t,function(n){var t=new RouteModel;t.load(n);i.push(t)});n.origins(i);n.areOriginsLoading(!1)};n.updateAreaOriginList=function(t){n.areaOrigin(t)};n.setNormalCalculator=function(){n.commonSwitchMode();n.partnerCalculator(!1);$(".anz-terms").hide();$(".partner-terms").hide();n.loadOrigins()};n.setPartnerCalculator=function(){n.commonSwitchMode();n.partnerCalculator(!0);$(".anz-terms").hide();$(".partner-terms").hide();n.partnerAirlines().length===0&&n.loadPartnerAirlines()};n.commonSwitchMode=function(){$(".originSelectorPanel").closest("fieldset").addClass("hide");$(".destinationSelectorPanel").closest("fieldset").addClass("hide");n.origins.removeAll();n.destinations.removeAll();n.airpoints.removeAll();n.AirpointsResults.removeAll();n.bookingClasses.removeAll();n.productCodes.removeAll();n.showResults(!1);n.partnerAirline("");n.origin("");n.destination("");n.bookingClass(undefined);n.productCode(undefined);n.airlineSearch("");n.searchOrigin("");n.searchDestination("")};n.loadPartnerAirlines=function(){$.post("/"+siteVersion+"/airlines/partners",{},n.loadPartnerAirlines_callback)};n.loadPartnerAirlines_callback=function(t){for(var r,u=[],i=0;i<t.length;i++)r=new AirlineModel,r.load(t[i]),u.push(r);n.partnerAirlines(u)};n.partnerAirlineWatch=ko.computed(function(){if(n.partnerAirline()===""||n.partnerAirline()===undefined||n.partnerAirline()===undefined)return!0;n.areOriginsLoading(!0);n.origins.removeAll();$.post("/"+siteVersion+"/airports/origins/"+n.partnerAirline().AirlineId(),{},function(t){for(var r,u=[],i=0;i<t.length;i++)r=new RouteModel,r.load(t[i]),u.push(r);n.origins(u);n.areOriginsLoading(!1)})});n.showResultPanel=function(){n.origin()!==undefined&&n.origin()!==""&&n.destination()!==undefined&&n.destination()!==""&&(n.showResults(!0),$("html").hasClass("lt-ie9")?$(window).scrollTo("#route",400):Modernizr.mq("only all and (min-width: 500px)")?$(window).scrollTo("#route",400):$(window).scrollTo("#route",0))};n.tabKey=function(n,t){var i=$(t.target).closest("fieldset").find("div.group"),r;switch(t.keyCode){case 9:return r=i.find("div.suggestion.active"),r.length===0?i.find("div.suggestion").first().click():i.find("div.suggestion.active").click(),!0;default:return!0}};n.shortcutKeys=function(t,i){var r=$(i.target).closest("fieldset").find("div.group"),f=r.find("div.active"),u;switch(i.keyCode){case 38:if(f.length===0)return r.find("div.suggestion").last().addClass("active"),!0;u=r.find("div.suggestion.active").parent().prev();f.removeClass("active");u.find("div.suggestion").addClass("active");u.length>0&&u.get(0).scrollIntoView(!1);break;case 40:if(f.length===0)return r.find("div.suggestion").first().addClass("active"),!0;u=r.find("div.suggestion.active").parent().next();f.removeClass("active");u.find("div.suggestion").addClass("active");u.length>0&&u.get(0).scrollIntoView(!1);break;case 13:return r.find("div.suggestion.active").click(),r.closest("fieldset").css("z-index","100").addClass("hide"),n.showResultPanel(),!1;case 27:return r.closest("fieldset").css("z-index","100").addClass("hide"),!1;default:return!0}return!0};n.selectText=function(n,t){t.target.select();t.target.onmouseup=function(){return t.target.onmouseup=null,!1}};n.searchForAnotherFlight=function(){n.partnerCalculator()?(n.setPartnerCalculator(),n.airlineSearch(""),$("#txtAirline").focus()):(n.setNormalCalculator(),$("#txtFrom").focus())};n.showInfo=function(n,t){$(t.target).siblings(".info-box").addClass("hello");$("#overlay").addClass("hello").on({"click.closeInfobox":function(){$("#overlay").off("click.closeInfobox").removeClass("hello");$(".info-box").removeClass("hello")}})};n.showAirpointsForBusinessRow=ko.computed(function(){var i,f,r,t,u,e;if(n.partnerCalculator())return!1;for(i=0;i<n.AirpointsResults().length;i++)for(f=n.AirpointsResults()[i].Results,r=0;r<f.length;r++)if(t=f[r],t.HasProducts()){for(u=0;u<t.ProductModels().length;u++)if(e=t.ProductModels()[u],e.MaxAirpointsDollars()>0&&!e.IsDomesticAddon())return!0}else if(t.MaxAirpointsDollars()>0&&!t.IsDomesticAddon())return!0;return!1})}function AirlineModel(){var n=this;n.Name=ko.observable();n.AirlineId=ko.observable();n.AirlineType=ko.observable();n.WebsiteUrl=ko.observable();n.UseDetailedPointsMatrix=ko.observable();n.IsTitle=ko.computed(function(){return n.AirlineType()==="TITLE"});n.load=function(t){n.Name(t.Name);n.AirlineId(t.AirlineId);n.AirlineType(t.AirlineType);n.WebsiteUrl(t.WebsiteUrl);n.UseDetailedPointsMatrix(t.UseDetailedPointsMatrix)}}function AirpointsOverviewModel(){var n=this;n.Name=ko.observable();n.ProductType=ko.observable();n.ProductModels=ko.observableArray();n.MinStatusPoints=ko.observable();n.MaxStatusPoints=ko.observable();n.BookingClasses=ko.observable();n.IsBrando=ko.observable();n.IsDomestic=ko.observable();n.IsPartner=ko.observable();n.MinAirpointsDollars=ko.observable();n.MaxAirpointsDollars=ko.observable();n.HasProducts=function(){return n.ProductModels()!==undefined&&n.ProductModels()!==null&&n.ProductModels()!==""&&n.ProductModels()!==undefined&&n.ProductModels().length>0};n.FormattedName=ko.computed(function(){if(n.Name()===null||n.Name()===undefined)return"";switch(n.Name().toLowerCase()){case"seat":return"seat";case"seat+bag":return'<span style="font-weight: 400">seat<\/span>+bag';case"flexi time":return'<span style="font-weight: 400">flexi<\/span>time';case"flexi plus":return'<span style="font-weight: 400">flexi<\/span>plus';default:return n.Name()}});n.PrettyName=ko.computed(function(){if(n.IsPartner())return n.Name();switch(n.ProductType()){case"JSS":return"Seat";case"SBS":return"Seat + Bag";case"WKS":return"The Works";case"DLS":return"Works Deluxe";case"ADDON":return"Possible";case"Premium Economy":return"Premium Economy";case"Business":return"Business";case"Flexi Plus":return"flexiplus";case"Flexi Time":return"flexitime"}return"Domestic add on (if applicable)"});n.CSSClass=ko.computed(function(){return n.Name()===null||n.Name()===undefined?"":n.Name().toLowerCase().replace("+","").replace(" ","")});n.AreStatusesSame=ko.computed(function(){return n.MinStatusPoints()===n.MaxStatusPoints()});n.ArePointsSame=ko.computed(function(){return n.MinAirpointsDollars()===n.MaxAirpointsDollars()});n.HasBookingClasses=ko.computed(function(){return n.Name()===undefined?!1:n.BookingClasses()!==""&&n.BookingClasses()!==undefined&&n.BookingClasses()!==null&&n.BookingClasses().length>1});n.IsDomesticAddon=ko.computed(function(){return n.Name()==="Domestic add on (if applicable)"});n.ShowInfoIcon=ko.computed(function(){return(n.HasBookingClasses()||n.IsDomesticAddon())&&!n.IsPartner()});n.load=function(t){var i,r;if(n.Name(t.Name),n.ProductType(t.ProductType),n.MinAirpointsDollars(t.MinAirpointsDollars),n.MaxAirpointsDollars(t.MaxAirpointsDollars),n.MinStatusPoints(t.MinStatusPoints),n.MaxStatusPoints(t.MaxStatusPoints),n.BookingClasses(t.BookingClass),n.IsDomestic(t.IsDomestic),n.IsPartner(t.IsPartner),t.IsPartner?(n.MinAirpointsDollars=ko.observable(t.MinAirpointsDollars),n.MaxAirpointsDollars=ko.observable(t.MaxAirpointsDollars)):(n.MinAirpointsDollars=ko.observable(t.MinAirpointsDollars).extend({numeric:2}),n.MaxAirpointsDollars=ko.observable(t.MaxAirpointsDollars).extend({numeric:2})),t.ProductModels!==undefined&&t.ProductModels!==null)for(i=0;i<t.ProductModels.length;i++)r=new AirpointsOverviewModel,r.load(t.ProductModels[i]),n.ProductModels.push(r)}}function BookingClassModel(){var n=this;n.IsPartner=ko.observable();n.BookingClass=ko.observable();n.PrettyBookingClass=ko.computed(function(){return n.BookingClass()==="F"&&!n.IsPartner()?"F (grabaseat)":n.BookingClass()});n.load=function(t){n.BookingClass(t)}}function PartnerAirlineResultModel(){var n=this;n.IsBradno=function(){return!1};n.DiscountEconomyAirpoints=ko.observable();n.DiscountEconomyStatusPoints=ko.observable();n.EconomyAirpoints=ko.observable();n.EconomyStatusPoints=ko.observable();n.PremiumEconomyAirpoints=ko.observable();n.PremiumEconomyStatuspoints=ko.observable();n.BusinessClassAirpoints=ko.observable();n.BusinessClassStatusPoints=ko.observable();n.FirstClassAirpoints=ko.observable();n.FirstClassStatusPoints=ko.observable();n.Distance=ko.observable();n.PrettyDistance=ko.computed(function(){return numeral(n.Distance()).format("0,0")});n.hasPremiumEconomy=ko.computed(function(){return n.PremiumEconomyAirpoints()!==undefined&&n.PremiumEconomyAirpoints()!==null});n.HasProducts=function(){return!1};n.HasBusinessClass=ko.computed(function(){return n.BusinessClassAirpoints()!==undefined&&n.BusinessClassAirpoints()!==null});n.HasFirstClass=ko.computed(function(){return n.FirstClassAirpoints()!==undefined&&n.FirstClassAirpoints()!==null});n.load=function(t){t!==null&&(n.DiscountEconomyAirpoints(t.DiscountEconomyAirpoints),n.DiscountEconomyStatusPoints(t.DiscountEconomyStatusPoints),n.EconomyAirpoints(t.EconomyAirpoints),n.EconomyStatusPoints(t.EconomyStatusPoints),n.PremiumEconomyAirpoints(t.PremiumEconomyAirpoints),n.PremiumEconomyStatuspoints(t.PremiumEconomyStatuspoints),n.BusinessClassAirpoints(t.BusinessClassAirpoints),n.BusinessClassStatusPoints(t.BusinessClassStatusPoints),n.FirstClassAirpoints(t.FirstClassAirpoints),n.FirstClassStatusPoints(t.FirstClassStatusPoints),n.Distance(t.Distance))}}function ProductModel(){var n=this;n.ProductId=ko.observable();n.Name=ko.observable();n.PrettyName=ko.computed(function(){switch(n.Name()){case"JSS":return"Seat";case"SBS":return"Seat + Bag";case"WKS":return"The Works";case"DLS":return"Works Deluxe";case"ADDON":return"Possible";case"Premium Economy":return"Premium Economy";case"Business":return"Business";case"Flexi Plus":return"flexiplus";case"Flexi Time":return"flexitime";case"Seat":return"seat";case"Seat+Bag":return"seat+bag"}return n.Name()});n.load=function(t){t!==undefined&&(n.ProductId(t.ProductId),n.Name(t.Name))}}function RouteModel(){var n=this;n.FromATA=ko.observable();n.From=ko.observable();n.ToATA=ko.observable();n.To=ko.observable();n.HighlightFrom=ko.observable();n.HighlightTo=ko.observable();n.load=function(t){n.FromATA(t.FromATA);n.From(t.From);n.ToATA(t.ToATA);n.To(t.To);n.HighlightFrom(t.HighlightFrom);n.HighlightTo(t.HighlightTo)};n.Highlight=ko.computed(function(){return n.HighlightFrom()||n.HighlightTo()})}ko.extenders.numeric=function(n,t){var i=ko.dependentObservable({read:function(){return n().toFixed(t)},write:n});return i.raw=n,i}