function isNullOrWhitespace(n){return typeof n=="undefined"||n==null?!0:n.replace(/\s/g,"").length<1}function validateEmail(n){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(n)}function number_format(n,t,i,r){var e=isFinite(+n)?+n:0,f=isFinite(+t)?Math.abs(t):0,o=typeof r=="undefined"?",":r,s=typeof i=="undefined"?".":i,h=function(n,t){var i=Math.pow(10,t);return Math.round(n*i)/i},u=(f?h(e,f):Math.round(e)).toString().split(".");return u[0].length>3&&(u[0]=u[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,o)),(u[1]||"").length<f&&(u[1]=u[1]||"",u[1]+=new Array(f-u[1].length+1).join("0")),u.join(s)}function findItem(n,t,i){var e,f,r,u,o;if(n===null)throw new TypeError("array is null or undefined");if(typeof t!="string")throw new TypeError("term must be a string");for(e=n.length>>>0,r=0;r<e;r++)for(f=n[r],u=0;u<i.length;u++)if(o=i[u],f[o].toLowerCase()===t.toLowerCase())return f;return undefined}function updateMaterializeTextFields(){Materialize.updateTextFields();$("input[type=date].datepicker ").each(function(n,t){var i=$(this);$(t).val().length>0||t.autofocus||i.attr("placeholder")!==undefined?i.siblings("label").addClass("active"):$(t)[0].validity?i.siblings("label").toggleClass("active",$(t)[0].validity.badInput===!0):i.siblings("label").removeClass("active")})}function closeSideNav(){$("#sidenav-overlay")[0]!=undefined&&$("#sidenav-overlay").click()}function cleanPrice(n){return number_format(n,0,".",",")}function getAirportDesc(n){var t=findItem(referenceData_AirportCodes,n,["Code","Name"]);return t!==undefined?t.Desc:n}function cleanAirportCode(n,t){var u=!0,r,i;return t===!1&&(u=t),r="",i=findItem(referenceData_AirportCodes,n,["Code","Name"]),i!==undefined?(r=i.Name,u||i.Code==undefined||isNullOrWhitespace(i.Code)||i.Name=="Anywhere"||(r+=" ("+i.Code+")")):r=n,r}function cleanAirline(n,t){var r=!1,u,i;return t===!0&&(r=t),u="",n.indexOf(",")>-1&&(n="ZZ"),i=findItem(referenceData_AirlineCodes,n,["Code","Name"]),i!=undefined&&r===!1?i.Name:n}function convertSearchToParameter(n,t,i,r,u,f,e,o){var h="",s="airline=",c,a,l,v;return isNullOrWhitespace(n)||(s+=n,h+="&airline="+n),s+="&depart=",isNullOrWhitespace(t)||(c=new Date(t),a=c.getFullYear()+"-"+("0"+(c.getMonth()+1)).slice(-2)+"-"+("0"+c.getDate()).slice(-2),s+=a,h+="&depart="+a),s+="&return=",isNullOrWhitespace(i)||(l=new Date(i),v=l.getFullYear()+"-"+("0"+(l.getMonth()+1)).slice(-2)+"-"+("0"+l.getDate()).slice(-2),s+=v,h+="&return="+v),s+="&maxPrice=",r>0&&(s+=r,h+="&maxPrice="+r),s+="&minNights=",u>0&&(s+=u,h+="&minNights="+u),s+="&maxNights=",f>0&&(s+=f,h+="&maxNights="+f),isNullOrWhitespace(e)||(s+="&origin="+e),isNullOrWhitespace(o)||(s+="&destination="+o),h.length>0&&(h="?"+h.substring(1)),{urlParams:h,searchParams:s}}function convertToLongDate(n){var t=new Date(n);return t.toDateString()}function ValidatorInit(){ko.extenders.isAirport=function(n){function t(t){n.hasError(findItem(referenceData_AirportCodes,t,["Label"])==undefined);n.errorCss(t.length>0||n.formSubmit()?findItem(referenceData_AirportCodes,t,["Label"])==undefined?"invalid":"valid":"")}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable("An airport from the list must be selected"),n.subscribe(t),n.validate=function(){t(this())},n};ko.extenders.isNotNullOrWhitespace=function(n,t){function i(t){n.hasError(isNullOrWhitespace(t));n.errorCss(t.length>0||n.formSubmit()?isNullOrWhitespace(t)?"invalid":"valid":"")}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable(t+" is a required field"),n.subscribe(i),n.validate=function(){i(this())},n};ko.extenders.email=function(n){function t(t){n.hasError(!validateEmail(t));n.errorCss(t.length>0||n.formSubmit()?validateEmail(t)?"valid":"invalid":"")}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable("Email address is invalid"),n.subscribe(t),n.validate=function(){t(this())},n};ko.extenders.password=function(n){function t(t){n.hasError(t.length<6);n.errorCss(t.length>0||n.formSubmit()?t.length<6?"invalid":"valid":"")}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable("Password must be at least 6 characters"),n.subscribe(t),n.validate=function(){t(this())},n};ko.extenders.isTrue=function(n){function t(t){n.hasError(t==!1);n.errorCss(n.formSubmit()&&t==!1?"red-text":"")}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable("This must be selected"),n.subscribe(t),n.validate=function(){t(this())},n};ko.extenders.match=function(n,t){function i(i){n.hasError(i!==t());n.errorCss(i.length>0||n.formSubmit()?i!==t()?"invalid":"valid":"")}function r(){n.valueHasMutated()}return n.hasError=ko.observable(),n.errorCss=ko.observable(),n.formSubmit=ko.observable(!1),n.errorMessage=ko.observable("Passwords must match"),n.validate=function(){i(this())},n.subscribe(i),t.subscribe(r),n}}function getFlightResults(n){return $.get("/"+GLOBAL_CountryCode+"/CheapFlights/Search?"+n)}function getDetailedFlightResult(n){return $.get("/"+GLOBAL_CountryCode+"/CheapFlights/DetailedSearch/"+n)}function getTopFlightDeals(n){return $.get("/"+GLOBAL_CountryCode+"/CheapFlights/TopDeals/6?origin="+n).done(function(n){return n})}function getAirlinePrices(n,t){return $.get("/"+GLOBAL_CountryCode+"/CheapFlights/AirlinePrices?origin="+n+"&destination="+t)}function getCountries(){return $.get("/referencedata/country-codes").done(function(n){return n})}function searchViewModel(n){this.setup=function(){$("input#autocomplete-origin").autocomplete({data:referenceData_AirportCodes,limit:20,airportAutocomplete:!0});$("input#autocomplete-destination").autocomplete({data:referenceData_AirportCodes,limit:20,airportAutocomplete:!0});$("input#autocomplete-origin").focus(function(){var n=$(this);window.setTimeout(function(){n.select()},100)});$("input#autocomplete-destination").focus(function(){var n=$(this);window.setTimeout(function(){n.select()},100)})};this.viewModel=function(){var t=this,i,r;t.origin=ko.observable("").extend({isAirport:""});t.destination=ko.observable("").extend({isAirport:""});i=undefined;i=isNullOrWhitespace(n.Origin)?findItem(referenceData_AirportCodes,"000",["Code"]):findItem(referenceData_AirportCodes,n.Origin,["Code"]);i!=undefined&&(t.origin(i.Label),$("input#autocomplete-origin").siblings("i.clearable__clear").first().toggle(!0));r=undefined;r=isNullOrWhitespace(n.Destination)?findItem(referenceData_AirportCodes,"000",["Code"]):findItem(referenceData_AirportCodes,n.Destination,["Code"]);r!=undefined&&(t.destination(r.Label),$("input#autocomplete-destination").siblings("i.clearable__clear").first().toggle(!0));t.valid=ko.pureComputed(function(){return!t.destination.hasError()&&!t.origin.hasError()});t.submitForm=function(){if(t.origin.formSubmit(!0),t.destination.formSubmit(!0),t.origin.validate(),t.destination.validate(),t.valid()==!0){var n=findItem(referenceData_AirportCodes,t.origin(),["Label"]),i=findItem(referenceData_AirportCodes,t.destination(),["Label"]);window.location.href="/"+GLOBAL_CountryCode+("/cheap-flights/"+n.Desc+"-to-"+i.Desc).toLowerCase()}}}}function flightDealsViewModel(){this.viewModel=function(){var n=this,t;n.deals=ko.observableArray();n.loading=n.origin=ko.observable(!0);n.selectedAirport=ko.observable();n.allDealsUrl=ko.observable();n.populateTopResults=function(){n.deals.removeAll();n.loading(!0);getTopFlightDeals(n.selectedAirport()).done(function(t){if(t!=undefined&&t!=null)for(var i=0;i<t.length;i++)n.deals.push(t[i])}).always(function(){n.loading(!1)})};this.selectedAirport.subscribe(function(t){n.populateTopResults();bioEp.cookieManager.create("nearest_airport",t,180,!1);n.allDealsUrl("/"+GLOBAL_CountryCode+"/cheap-flights/"+getAirportDesc(t)+"-to-anywhere")});t=bioEp.cookieManager.get("nearest_airport");t!==null&&n.selectedAirport(t);n.showSubscribePanel=ko.pureComputed(function(){return!(bioEp.cookieManager.get("mail_sign_up")=="true")});n.openSubscribeModal=function(){bioEp.showPopup(!1)}}}function signupViewModel(){this.setup=function(){$("input#autocomplete-nearest-airport").autocomplete({data:referenceData_AirportCodes,limit:20,airportAutocomplete:!0})};this.viewModel=function(){var n=this;n.firstName=ko.observable("").extend({isNotNullOrWhitespace:"First Name"});n.lastName=ko.observable("").extend({isNotNullOrWhitespace:"Last Name"});n.password=ko.observable("").extend({password:""});n.email=ko.observable("").extend({email:""});n.nearestAirport=ko.observable("").extend({isAirport:""});n.mailingList=ko.observable(!1);n.terms=ko.observable(!1).extend({isTrue:""});n.valid=ko.pureComputed(function(){return!n.firstName.hasError()&&!n.lastName.hasError()&&!n.password.hasError()&&!n.email.hasError()&&!n.nearestAirport.hasError()&&!n.terms.hasError()});n.submitSignupForm=function(){if(n.firstName.formSubmit(!0),n.lastName.formSubmit(!0),n.password.formSubmit(!0),n.email.formSubmit(!0),n.nearestAirport.formSubmit(!0),n.terms.formSubmit(!0),n.firstName.validate(),n.lastName.validate(),n.password.validate(),n.email.validate(),n.nearestAirport.validate(),n.terms.validate(),n.valid()==!0){var t=findItem(referenceData_AirportCodes,n.nearestAirport(),["Code","Label"]);$.post("/"+GLOBAL_CountryCode+"/account/signup",{FirstName:n.firstName(),LastName:n.lastName(),Email:n.email(),Password:n.password(),NearestAirport:t.Code,MailingList:n.mailingList(),Terms:n.terms()}).done(function(n){n=="True"?window.location.href="/"+GLOBAL_CountryCode+"/account/signup/success":Materialize.toast("Account sign up failed",8e3,"red darken-4")})}}}}function resultsFilterViewModel(n,t,i){this.setup=function(){var i;$("input.autocomplete.airport").autocomplete({data:referenceData_AirportCodes,limit:20,airportAutocomplete:!0});$("input.autocomplete.airport").focus(function(){var n=$(this);window.setTimeout(function(){n.select()},100)});i=new Date;i.setFullYear(i.getFullYear()+1);var f=$("#departDate").pickadate({selectMonths:!0,selectYears:2,min:new Date,max:i}),n=f.pickadate("picker"),e=$("#departDate-m").pickadate({selectMonths:!0,selectYears:2,min:new Date,max:i}),r=e.pickadate("picker"),o=$("#returnDate").pickadate({selectMonths:!0,selectYears:2,min:new Date,max:i}),t=o.pickadate("picker"),s=$("#returnDate-m").pickadate({selectMonths:!0,selectYears:2,min:new Date,max:i}),u=s.pickadate("picker");n.get("value")&&(t.set("min",n.get("select")),u.set("min",n.get("select")));t.get("value")&&(n.set("max",t.get("select")),r.set("max",t.get("select")));n.on("set",function(i){i.select?t.set("min",n.get("select")):"clear"in i&&(t.set("min",new Date),$(n.$node[0]).siblings("label").first().removeClass("active"));"select"in i&&(n.close(!0),$(n.$node[0]).siblings("label").first().hasClass("active")===!1&&$(n.$node[0]).siblings("label").first().addClass("active"))});t.on("set",function(r){r.select?n.set("max",t.get("select")):"clear"in r&&(n.set("max",i),$(t.$node[0]).siblings("label").first().removeClass("active"));"select"in r&&(t.close(!0),$(t.$node[0]).siblings("label").first().hasClass("active")===!1&&$(t.$node[0]).siblings("label").first().addClass("active"))});r.on("set",function(n){n.select?u.set("min",r.get("select")):"clear"in n&&(u.set("min",new Date),$(r.$node[0]).siblings("label").first().removeClass("active"));"select"in n&&(r.close(!0),$(r.$node[0]).siblings("label").first().hasClass("active")===!1&&$(r.$node[0]).siblings("label").first().addClass("active"))});u.on("set",function(n){n.select?r.set("max",u.get("select")):"clear"in n&&(r.set("max",i),$(u.$node[0]).siblings("label").first().removeClass("active"));"select"in n&&(u.close(!0),$(u.$node[0]).siblings("label").first().hasClass("active")===!1&&$(u.$node[0]).siblings("label").first().addClass("active"))});$("#filter-icon-link.button-collapse").sideNav({edge:"right",closeOnClick:!0});$('.drag-target[data-sidenav="filter-mobile"]').on("swiperight",function(){$("#sidenav-overlay").trigger("click")})};this.viewModel=function(){var t=this,f,e,o,s;for(t.origin=ko.observable("").extend({isAirport:""}),t.destination=ko.observable("").extend({isAirport:""}),t.anywhereDropdown=ko.observable(),t.departDate=ko.observable(),t.returnDate=ko.observable(),t.minNights=ko.observable(),t.maxNights=ko.observable(),t.maxPrice=ko.observable(),t.loading=ko.observable(!1),t.filtersApplied=ko.observable(!1),t.params=ko.observable(""),t.searchResults=ko.observableArray(),t.selectedFlightLoading=ko.observable(!1),t.selectedFlight=ko.observable(),t.selectedFlightHasProvider=ko.pureComputed(function(){return t.selectedFlightLoading()===!1&&t.selectedFlight()!==undefined&&t.selectedFlight().Provider!==undefined}),t.searchTitle=ko.observable(n.MetaText.Title),t.searchDesc=ko.observable(n.MetaText.Description),t.originSearch=ko.observable(n.Search.Origin),t.destinationSearch=ko.observable(n.Search.Destination),t.isAnywhere=ko.pureComputed(function(){return t.originSearch()==="000"||t.destinationSearch()==="000"}),t.isAnywhereDestination=ko.pureComputed(function(){return t.destinationSearch()==="000"&&(t.originSearch()==="000"||findItem(i,t.originSearch(),["Code"])!=undefined)}),f=0;f<n.Results.length;f++)t.searchResults.push(n.Results[f]);if(isNullOrWhitespace(n.Search.Origin)||(t.origin(findItem(referenceData_AirportCodes,n.Search.Origin,["Code"]).Label),$("input#destination-m").siblings("i.clearable__clear").first().toggle(!0),$("input#destination").siblings("i.clearable__clear").first().toggle(!0)),isNullOrWhitespace(n.Search.Destination)||(t.destination(findItem(referenceData_AirportCodes,n.Search.Destination,["Code"]).Label),$("input#origin-m").siblings("i.clearable__clear").first().toggle(!0),$("input#origin").siblings("i.clearable__clear").first().toggle(!0)),n.Search.MaxPrice!=undefined&&n.Search.MaxPrice>0&&(t.maxPrice(n.Search.MaxPrice),t.filtersApplied(!0)),n.Search.MinNights!=undefined&&n.Search.MinNights>0&&(t.minNights(n.Search.MinNights),t.filtersApplied(!0)),n.Search.MaxNights!=undefined&&n.Search.MaxNights>0&&(t.maxNights(n.Search.MaxNights),t.filtersApplied(!0)),e=["January","February","March","April","May","June","July","August","September","October","November","December"],!isNullOrWhitespace(n.Search.Depart)){var r=new Date(Number(n.Search.Depart.replace("/Date(","").replace(")/",""))),h=$("#departDate").pickadate("picker"),c=$("#departDate-m").pickadate("picker");h.set("select",r);c.set("select",r);o=r.getDate()+" "+e[r.getMonth()]+", "+r.getFullYear();t.departDate(o);t.filtersApplied(!0)}if(!isNullOrWhitespace(n.Search.Return)){var u=new Date(Number(n.Search.Return.replace("/Date(","").replace(")/",""))),l=$("#returnDate").pickadate("picker"),a=$("#returnDate-m").pickadate("picker");l.set("select",u);a.set("select",u);s=u.getDate()+" "+e[u.getMonth()]+", "+u.getFullYear();t.returnDate(s);t.filtersApplied(!0)}t.selectedAirline=ko.observable();t.airlines=ko.observableArray([{id:"",name:"All Airlines"}]);t.valid=ko.pureComputed(function(){return!t.origin.hasError()&&!t.destination.hasError()});t.showSubscribePanel=ko.pureComputed(function(){return!(bioEp.cookieManager.get("mail_sign_up")=="true")});t.loading(!0);getAirlinePrices(n.Search.Origin,n.Search.Destination).done(function(n){var r,i,u;if(n!==null&&n!==undefined&&n.length>0)for(r=0;r<n.length;r++)i=n[r],u=findItem(referenceData_AirlineCodes,i.Airline,["Code"]),u!=undefined?t.airlines.push({id:u.Code,name:u.Name+" (from "+siteCurrencySymbol+i.Price+")"}):t.airlines.push({id:i,name:i})}).always(function(){isNullOrWhitespace(n.Search.Airline)||(t.selectedAirline(n.Search.Airline),t.filtersApplied(!0))});getFlightResults("origin="+n.Search.Origin+"&destination="+n.Search.Destination+location.search.replace("?","&")).done(function(n){t.searchResults.removeAll();for(var i=0;i<n.Results.length;i++)t.searchResults.push(n.Results[i])}).fail(function(){Materialize.toast("Search request failed",8e3,"red darken-4")}).always(function(){t.params(location.search);t.loading(!1);$("#select-flight-link.button-collapse").sideNav({edge:"right",closeOnClick:!0});$('.drag-target[data-sidenav="select-flight"]').on("swiperight",function(){$("#sidenav-overlay").trigger("click")})});t.clearFilters=function(){t.departDate("");t.returnDate("");t.minNights("");t.maxNights("");t.maxPrice("");t.selectedAirline("");Materialize.updateTextFields()};t.submitFilterForm=function(){var n;if($(window).scrollTop(0),t.origin.formSubmit(!0),t.destination.formSubmit(!0),t.origin.validate(),t.destination.validate(),t.valid()){t.loading(!0);closeSideNav();var i=findItem(referenceData_AirportCodes,t.origin(),["Label"]),r=findItem(referenceData_AirportCodes,t.destination(),["Label"]),u=t.selectedAirline(),f=convertSearchToParameter(t.selectedAirline(),t.departDate(),t.returnDate(),t.maxPrice(),t.minNights(),t.maxNights(),i.Code,r.Code);t.params(f.urlParams);n=null;t.originSearch(i.Code);t.destinationSearch(r.Code);r.Code==="000"&&(t.anywhereDropdown(i.Code),t.anywhereDropdown.valueHasMutated());getFlightResults(f.searchParams).done(function(f){t.searchResults.removeAll();t.originSearch(i.Code);t.destinationSearch(r.Code);for(var e=0;e<f.Results.length;e++)t.searchResults.push(f.Results[e]);n=f.MetaText;t.searchTitle(f.MetaText.Title);t.searchDesc(f.MetaText.Description);location.href.toLowerCase().indexOf(i.Desc.toLowerCase()+"-to-"+r.Desc.toLowerCase())==-1&&(t.airlines.removeAll(),t.airlines.push({id:"",name:"All Airlines"}),getAirlinePrices(i.Code,r.Code).done(function(n){var e=!1,f,r,i;if(n!==null&&n!==undefined&&n.length>0)for(f=0;f<n.length;f++)r=n[f],i=findItem(referenceData_AirlineCodes,r.Airline,["Code"]),i!=undefined?t.airlines.push({id:i.Code,name:i.Name+" (from "+siteCurrencySymbol+r.Price+")"}):t.airlines.push({id:r.Airline,name:r.Airline}),u===r.Airline&&(e=!0);isNullOrWhitespace(u)||e||(i=findItem(referenceData_AirlineCodes,u,["Code"]),i!=undefined?t.airlines.push({id:i.Code,name:i.Name}):t.airlines.push({id:u,name:u}))}).always(function(){t.selectedAirline(u)}))}).fail(function(){Materialize.toast("Search request failed",8e3,"red darken-4")}).always(function(){updateMaterializeTextFields();var u=location.origin+"/"+GLOBAL_CountryCode+"/cheap-flights/"+i.Desc+"-to-"+r.Desc+f.urlParams,e=n.MetaTitle+" | Flight Scout";window.history.pushState(history.state,e,u);$(document).prop("title",e);$("meta[property='og\\:title']").attr("content",n.MetaTitle);$("meta[property='og\\:description']").attr("content",n.Description);$("meta[property='og\\:url']").attr("content",u);$("meta[name='description']").attr("content",n.Description);$(".sharethis-inline-share-buttons").attr("data-url",u);$(".sharethis-inline-share-buttons").attr("data-title",n.MetaTitle);$(".sharethis-inline-share-buttons").attr("data-description",n.Description);n.Image!==null&&n.Image!==undefined&&($("meta[property='og\\:image']").attr("content",n.Image),$(".sharethis-inline-share-buttons").attr("data-image",n.Image));isNullOrWhitespace(f.urlParams)?t.filtersApplied(!1):t.filtersApplied(!0);t.loading(!1);$("#select-flight-link.button-collapse").sideNav({edge:"right",closeOnClick:!0});$('.drag-target[data-sidenav="select-flight"]').on("swiperight",function(){$("#sidenav-overlay").trigger("click")})})}};t.openSubscribeModal=function(){bioEp.showPopup(!1)};t.checkAndOpenSubscribeModal=function(){bioEp.showPopup(!0)};t.populateResultsModal=function(n){t.selectedFlightLoading(!0);closeSideNav();$("#select-flight-link").sideNav("show");getDetailedFlightResult(n.Id).done(function(i){var r="",u="",f;n.AirlineCode.indexOf(",")!==-1?(r=n.AirlineCode.split(",")[0].trim(),u=n.AirlineCode.split(",")[1].trim()):(r=n.AirlineCode,u=n.AirlineCode);f={Flight:{Origin:n.Origin,Destination:n.Destination,DepartString:n.DepartString,ReturnString:n.ReturnString,AirlineOutbound:r,AirlineInbound:u,Class:"Economy",TotalDays:n.TotalDays},Provider:i[0]};t.selectedFlight(f)}).always(function(){t.selectedFlightLoading(!1)})};t.openFilterPanel=function(){$("#filter-icon-link.button-collapse").sideNav("show")};t.destinationDropdownChanged=function(n,i){i.originalEvent&&(t.origin(findItem(referenceData_AirportCodes,i.target.value,["Code"]).Label),t.submitFilterForm())}}}function loginViewModel(){this.viewModel=function(){var n=this;n.email=ko.observable("").extend({email:""});n.password=ko.observable("").extend({isNotNullOrWhitespace:"Password"});this.valid=ko.pureComputed(function(){return!n.email.hasError()&&!n.password.hasError()});this.submitForm=function(){this.email.formSubmit(!0);this.password.formSubmit(!0);this.email.validate();this.password.validate();this.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/login",{Email:n.email(),Password:n.password()}).done(function(t){t=="True"?(bioEp.hidePopup(),bioEp.cookieManager.create("mail_sign_up","true",30,!1),window.location.href="/"+GLOBAL_CountryCode+"/account"):(Materialize.toast("Login failed - Please try again",8e3,"red darken-4"),n.password(""))})}}}function forgotPasswordVMViewModel(){this.viewModel=function(){var n=this;n.email=ko.observable("").extend({email:""});n.valid=ko.pureComputed(function(){return!n.email.hasError()});n.submitForm=function(){n.email.formSubmit(!0);n.email.validate();n.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/login/forgot-password",{Email:n.email()}).done(function(n){n=="True"?Materialize.toast("An email has been sent to the associated account",8e3,"green darken-4"):Materialize.toast("Forgot password request failed",8e3,"red darken-4")})}}}function resetPasswordViewModel(){this.viewModel=function(){var n=this;n.success=ko.observable(!1);n.password=ko.observable("").extend({password:""});n.confirmPassword=ko.observable("").extend({password:""}).extend({match:n.password});this.valid=ko.pureComputed(function(){return!n.password.hasError()&&!n.confirmPassword.hasError()});this.submitForm=function(){this.password.formSubmit(!0);this.confirmPassword.formSubmit(!0);this.password.validate();this.confirmPassword.validate();this.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/account/reset-password/"+window.location.pathname.split("/").reverse()[0],{password:n.password(),confirmPassword:n.confirmPassword(),token:window.location.pathname.split("/").reverse()[0]}).done(function(t){t=="True"?(Materialize.toast("Password has been reset",8e3,"green darken-4"),n.success(!0)):Materialize.toast("Failed to reset password",8e3,"red darken-4")})}}}function contactViewModel(){this.viewModel=function(){var n=this;n.name=ko.observable("").extend({isNotNullOrWhitespace:"Name"});n.email=ko.observable("").extend({email:""});n.phone=ko.observable("");n.inquiry=ko.observable("").extend({isNotNullOrWhitespace:"Inquiry"});this.valid=ko.pureComputed(function(){return!n.name.hasError()&&!n.email.hasError()&&!n.inquiry.hasError()});this.submitForm=function(){this.name.formSubmit(!0);this.email.formSubmit(!0);this.inquiry.formSubmit(!0);this.name.validate();this.email.validate();this.inquiry.validate();this.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/contact",{Name:n.name(),Email:n.email(),Phone:n.phone(),Inquiry:n.inquiry()}).done(function(n){n=="True"?Materialize.toast("Inquiry has been sent",8e3,"green darken-4"):Materialize.toast("Inquiry failed to send - Please try again",8e3,"red darken-4")})}}}function editAccountViewModel(n){this.setup=function(){$("input#autocomplete-nearest-airport").autocomplete({data:referenceData_AirportCodes,limit:20,airportAutocomplete:!0})};this.viewModel=function(){var t=this,i;t.firstName=ko.observable(n.FirstName).extend({isNotNullOrWhitespace:"First Name"});t.lastName=ko.observable(n.LastName).extend({isNotNullOrWhitespace:"Last Name"});t.email=ko.observable(n.Email).extend({email:""});t.mailingList=ko.observable(n.MailingList);t.nearestAirport=ko.observable("").extend({isAirport:""});isNullOrWhitespace(n.NearestAirport)||(i=findItem(referenceData_AirportCodes,n.NearestAirport,["Code","Label"]),i!=undefined?t.nearestAirport(i.Label):t.nearestAirport(n.NearestAirport),$("input#autocomplete-nearest-airport").siblings("i.clearable__clear").first().toggle(!0));this.valid=ko.pureComputed(function(){return!t.firstName.hasError()&&!t.lastName.hasError()&&!t.email.hasError()&&!t.nearestAirport.hasError()});this.submitForm=function(){if(this.firstName.formSubmit(!0),this.lastName.formSubmit(!0),this.email.formSubmit(!0),this.nearestAirport.formSubmit(!0),this.firstName.validate(),this.lastName.validate(),this.email.validate(),this.nearestAirport.validate(),this.valid()==!0){var n=findItem(referenceData_AirportCodes,t.nearestAirport(),["Code","Label"]);$.post("/"+GLOBAL_CountryCode+"/account/edit-details",{FirstName:t.firstName(),LastName:t.lastName(),Email:t.email(),NearestAirport:n.Code,MailingList:t.mailingList()}).done(function(n){n=="True"?window.location.href="/"+GLOBAL_CountryCode+"/account":Materialize.toast("Failed to edit account details",8e3,"red darken-4")})}}}}function changePasswordViewModel(){this.viewModel=function(){var n=this;n.currentPassword=ko.observable("").extend({isNotNullOrWhitespace:"Current Password"});n.newPassword=ko.observable("").extend({password:""});this.valid=ko.pureComputed(function(){return!n.currentPassword.hasError()&&!n.newPassword.hasError()});this.submitForm=function(){this.currentPassword.formSubmit(!0);this.newPassword.formSubmit(!0);this.currentPassword.validate();this.newPassword.validate();this.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/account/change-password",{currentPassword:n.currentPassword(),newPassword:n.newPassword()}).done(function(n){n=="True"?Materialize.toast("Password has been changed",8e3,"green darken-4"):Materialize.toast("Failed to change password",8e3,"red darken-4")})}}}function accountViewModel(n){this.viewModel=function(){var t=this;t.nearestAirport=n}}function mailingListViewModel(){this.setup=function(){};this.viewModel=function(){var n=this;n.firstName=ko.observable("").extend({isNotNullOrWhitespace:"First Name"});n.email=ko.observable("").extend({email:""});n.valid=ko.pureComputed(function(){return!n.firstName.hasError()&&!n.email.hasError()});n.closeModal=function(){bioEp.hidePopup()};n.emailNoThanks=function(){ga("send","event",{eventCategory:"EmailSignup",eventAction:"NoThanks"});bioEp.hidePopup()};n.neverShowMailSignUp=function(){ga("send","event",{eventCategory:"EmailSignup",eventAction:"AlreadySubscribed"});bioEp.hidePopup();bioEp.cookieManager.create("mail_sign_up","true",30,!1)};n.submitMailingListForm=function(){var t,i;n.email.formSubmit(!0);n.email.validate();n.firstName.formSubmit(!0);n.firstName.validate();t=$("#mailingListAirport").val();isNullOrWhitespace(t)||(i=findItem(referenceData_AirportCodes,t,["Name"]),i!==undefined&&i!==null&&(t=i.Code));n.valid()==!0&&$.post("/"+GLOBAL_CountryCode+"/account/mailinglist",{FirstName:n.firstName(),Email:n.email(),NearestAirport:t}).done(function(n){n=="True"?(bioEp.hidePopup(),bioEp.cookieManager.create("mail_sign_up","true",30,!1),ga("send","event",{eventCategory:"EmailSignup",eventAction:"SignupSucceeded"}),Materialize.toast("Welcome to the mailing list!",4e3,"green darken-4")):(ga("send","event",{eventCategory:"EmailSignup",eventAction:"SignupFailed"}),Materialize.toast("Mailing list sign up failed",8e3,"red darken-4"))})}}}function mailingListPanelViewModel(){this.viewModel=function(){var n=this;n.openSubscribeModal=function(){bioEp.showPopup(!1)}}}function countrySelectorViewModel(n){this.setup=function(){var n=$("select#countrySelect").empty().html(" ");n.append($("<option><\/option>").attr("value","").attr("selected","selected").text("Choose your country"));getCountries().done(function(t){var i,r;if(t!=undefined&&t!=null)for(i=0;i<t.length;i++)r=t[i],n.append($("<option><\/option>").attr("value",r.Code).text(r.Name))})};this.viewModel=function(){var t=this;t.returnUrl=ko.observable(n);t.selectedCountry=ko.observable("");t.error=ko.observable(!1);t.submitForm=function(){var i=$("select#countrySelect").val(),n;isNullOrWhitespace(i)==!1?(n="/"+i.toLowerCase(),isNullOrWhitespace(t.returnUrl())==!1&&(t.returnUrl()[0]!="/"&&(n+="/"),n+=t.returnUrl()),window.location.href=n):t.error(!0)};t.closeModal=function(){$("#countrySelectorModal").modal("close")}}}function homePageInit(n){ValidatorInit();$(document).ready(function(){var r=new flightDealsViewModel,t=new searchViewModel(n),i;t.setup();i=new mailingListPanelViewModel;ko.applyBindings(new i.viewModel,document.getElementById("subscribe-panel"));ko.applyBindings(new r.viewModel,document.getElementById("latest-deals"));ko.applyBindings(new t.viewModel,document.getElementById("search-component"));Materialize.updateTextFields()})}function cheapFlightsPageInit(n,t,i){ValidatorInit();$(document).ready(function(){var r=new resultsFilterViewModel(n,t,i);r.setup();ko.applyBindings(new r.viewModel,document.getElementById("results-component"));updateMaterializeTextFields()})}function loginPageInit(){ValidatorInit();$(document).ready(function(){var n=new loginViewModel;ko.applyBindings(new n.viewModel,document.getElementById("login-component"));Materialize.updateTextFields()})}function mailingListComponentInit(){ValidatorInit();$(document).ready(function(){var n=new mailingListViewModel,t;n.setup();ko.applyBindings(new n.viewModel,document.getElementById("mailing-list-component"));Materialize.updateTextFields();bioEp.init();t=(location.origin+"/"+GLOBAL_CountryCode+"/email-signup").toLowerCase();location.href.toLowerCase().indexOf(t)>-1&&bioEp.showPopup(!1)})}function countrySelectComponentInit(n){ValidatorInit();$(document).ready(function(){var t=new countrySelectorViewModel(n);t.setup();ko.applyBindings(new t.viewModel,document.getElementById("country-selector-component"));Materialize.updateTextFields()})}function forgotPasswordPageInit(){ValidatorInit();$(document).ready(function(){var n=new forgotPasswordVMViewModel;ko.applyBindings(new n.viewModel,document.getElementById("forgot-password-component"));Materialize.updateTextFields()})}function resetPasswordPageInit(){ValidatorInit();$(document).ready(function(){var n=new resetPasswordViewModel;ko.applyBindings(new n.viewModel,document.getElementById("account-reset-password-component"));Materialize.updateTextFields()})}function contactPageInit(){ValidatorInit();$(document).ready(function(){var n=new contactViewModel;ko.applyBindings(new n.viewModel,document.getElementById("contact-component"))})}function editDetailsPageInit(n){ValidatorInit();$(document).ready(function(){var t=new editAccountViewModel(n);t.setup();ko.applyBindings(new t.viewModel,document.getElementById("account-edit-component"));Materialize.updateTextFields()})}function changePasswordPageInit(){ValidatorInit();$(document).ready(function(){var n=new changePasswordViewModel;ko.applyBindings(new n.viewModel,document.getElementById("account-changepassword-component"));Materialize.updateTextFields()})}function signupPageInit(){ValidatorInit();$(document).ready(function(){var n=new signupViewModel;n.setup();ko.applyBindings(new n.viewModel,document.getElementById("signup-component"));Materialize.updateTextFields()})}function accountHomePageInit(n){ValidatorInit();$(document).ready(function(){var t=new accountViewModel(n);ko.applyBindings(new t.viewModel,document.getElementById("account-component"));Materialize.updateTextFields()})}(function(n,t){"use strict";if(typeof n.createEvent!="function")return!1;var it=function(n){var t=n.toLowerCase(),i="MS"+n;return navigator.msPointerEnabled?i:window.PointerEvent?t:!1},i={useJquery:!t.IGNORE_JQUERY&&typeof jQuery!="undefined",swipeThreshold:t.SWIPE_THRESHOLD||100,tapThreshold:t.TAP_THRESHOLD||150,dbltapThreshold:t.DBL_TAP_THRESHOLD||200,longtapThreshold:t.LONG_TAP_THRESHOLD||1e3,tapPrecision:t.TAP_PRECISION/2||30,justTouchEvents:!0},f=!1,c={touchstart:"touchstart",touchend:"touchend",touchmove:"touchmove"},l=function(n){return!n.pointerId||typeof o=="undefined"||n.pointerId===o},a=function(n,t,i){for(var r=t.split(" "),u=r.length;u--;)n.addEventListener(r[u],i,!1)},p=function(n){return n.targetTouches?n.targetTouches[0]:n},w=function(){return(new Date).getTime()},v=function(t,f,e,o){var s=n.createEvent("Event"),h;if(s.originalEvent=e,o=o||{},o.x=r,o.y=u,o.distance=o.distance,i.useJquery&&(s=jQuery.Event(f,{originalEvent:e}),jQuery(t).trigger(s,o)),s.initEvent){for(h in o)s[h]=o[h];s.initEvent(f,!0,!0);t.dispatchEvent(s)}while(t)t["on"+f]&&t["on"+f](s),t=t.parentNode},g=function(n){if(l(n)&&(o=n.pointerId,n.type!=="mousedown"&&(f=!0),n.type!=="mousedown"||!f)){var t=p(n);s=r=t.pageX;h=u=t.pageY;d=setTimeout(function(){v(n.target,"longtap",n);y=n.target},i.longtapThreshold);b=w();e++}},nt=function(n){var c,g;if(l(n)){if(o=undefined,n.type==="mouseup"&&f){f=!1;return}var t=[],nt=w(),a=h-u,p=s-r;if(clearTimeout(k),clearTimeout(d),p<=-i.swipeThreshold&&t.push("swiperight"),p>=i.swipeThreshold&&t.push("swipeleft"),a<=-i.swipeThreshold&&t.push("swipedown"),a>=i.swipeThreshold&&t.push("swipeup"),t.length){for(c=0;c<t.length;c++)g=t[c],v(n.target,g,n,{distance:{x:Math.abs(p),y:Math.abs(a)}});e=0}else s>=r-i.tapPrecision&&s<=r+i.tapPrecision&&h>=u-i.tapPrecision&&h<=u+i.tapPrecision&&b+i.tapThreshold-nt>=0&&(v(n.target,e>=2&&y===n.target?"dbltap":"tap",n),y=n.target),k=setTimeout(function(){e=0},i.dbltapThreshold)}},tt=function(n){if(l(n)&&(n.type!=="mousemove"||!f)){var t=p(n);r=t.pageX;u=t.pageY}},e=0,o,r,u,s,h,b,y,k,d;a(n,c.touchstart,g);a(n,c.touchend,nt);a(n,c.touchmove,tt);t.tocca=function(n){for(var t in n)i[t]=n[t];return i}})(document,window);window.matchMedia=window.matchMedia||function(n){var u,i=n.documentElement,f=i.firstElementChild||i.firstChild,r=n.createElement("body"),t=n.createElement("div");return t.id="mq-test-1",t.style.cssText="position:absolute;top:-100em",r.style.background="none",r.appendChild(t),function(n){return t.innerHTML='&shy;<style media="'+n+'"> #mq-test-1 { width: 42px; }<\/style>',i.insertBefore(r,f),u=t.offsetWidth==42,i.removeChild(r),{matches:u,media:n}}}(document),function(n){function d(){a(!0)}if(n.respond={},respond.update=function(){},respond.mediaQueriesSupported=n.matchMedia&&n.matchMedia("only all").matches,!respond.mediaQueriesSupported){var t=n.document,i=t.documentElement,e=[],u=[],r=[],o={},v=30,f=t.getElementsByTagName("head")[0]||i,g=t.getElementsByTagName("base")[0],s=f.getElementsByTagName("link"),h=[],y=function(){for(var f=s,c=f.length,r=0,t,i,u,e;r<c;r++)t=f[r],i=t.href,u=t.media,e=t.rel&&t.rel.toLowerCase()==="stylesheet",!i||!e||o[i]||(t.styleSheet&&t.styleSheet.rawCssText?(w(t.styleSheet.rawCssText,i,u),o[i]=!0):(/^([a-zA-Z:]*\/\/)/.test(i)||g)&&i.replace(RegExp.$1,"").split("/")[0]!==n.location.host||h.push({href:i,media:u}));p()},p=function(){if(h.length){var n=h.shift();nt(n.href,function(t){w(t,n.href,n.media);o[n.href]=!0;p()})}},w=function(n,t,i){var o=n.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),s=o&&o.length||0,t=t.substring(0,t.lastIndexOf("/")),v=function(n){return n.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+t+"$2$3")},y=!s&&i,h=0,f,c,r,l,p;for(t.length&&(t+="/"),y&&(s=1);h<s;h++)for(f=0,y?(c=i,u.push(v(n))):(c=o[h].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,u.push(RegExp.$2&&v(RegExp.$2))),l=c.split(","),p=l.length;f<p;f++)r=l[f],e.push({media:r.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:u.length-1,hasquery:r.indexOf("(")>-1,minw:r.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:r.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")});a()},c,b,k=function(){var u,r=t.createElement("div"),n=t.body,f=!1;return r.style.cssText="position:absolute;font-size:1em;width:1em",n||(n=f=t.createElement("body"),n.style.background="none"),n.appendChild(r),i.insertBefore(n,i.firstChild),u=r.offsetWidth,f?i.removeChild(n):n.removeChild(r),l=parseFloat(u)},l,a=function(n){var nt="clientWidth",tt=i[nt],it=t.compatMode==="CSS1Compat"&&tt||t.body[nt]||tt,d={},ot=s[s.length-1],rt=(new Date).getTime(),o,h,g;if(n&&c&&rt-c<v){clearTimeout(b);b=setTimeout(a,v);return}c=rt;for(o in e){var y=e[o],p=y.minw,w=y.maxw,ut=p===null,ft=w===null,et="em";!p||(p=parseFloat(p)*(p.indexOf(et)>-1?l||k():1));!w||(w=parseFloat(w)*(w.indexOf(et)>-1?l||k():1));y.hasquery&&(ut&&ft||!(ut||it>=p)||!(ft||it<=w))||(d[y.media]||(d[y.media]=[]),d[y.media].push(u[y.rules]))}for(o in r)r[o]&&r[o].parentNode===f&&f.removeChild(r[o]);for(o in d)h=t.createElement("style"),g=d[o].join("\n"),h.type="text/css",h.media=o,f.insertBefore(h,ot.nextSibling),h.styleSheet?h.styleSheet.cssText=g:h.appendChild(t.createTextNode(g)),r.push(h)},nt=function(n,t){var i=tt();i&&(i.open("GET",n,!0),i.onreadystatechange=function(){i.readyState==4&&(i.status==200||i.status==304)&&t(i.responseText)},i.readyState!=4)&&i.send(null)},tt=function(){var n=!1;try{n=new XMLHttpRequest}catch(t){n=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return n}}();y();respond.update=y;n.addEventListener?n.addEventListener("resize",d,!1):n.attachEvent&&n.attachEvent("onresize",d)}}(this),function(n){n(function(){n("#nav-icon-m.button-collapse").sideNav({closeOnClick:!0});n(".drag-target").on("swipeleft",function(){n("#sidenav-overlay").trigger("click")});n(".dropdown-button").dropdown({constrainWidth:!1})})}(jQuery);window.bioEp={bgEl:{},popupEl:{},closeBtnEl:{},shown:!1,overflowDefault:"visible",transformDefault:"",html:"",css:"",delay:5,showOnDelay:!1,exitIntent:!0,cookieExp:21,onPopup:null,cookieManager:{create:function(n,t,i,r){var f="",u;r?f="; expires=0":i&&(u=new Date,u.setTime(u.getTime()+i*864e5),f="; expires="+u.toGMTString());document.cookie=n+"="+t+f+"; path=/"},get:function(n){for(var t,r=n+"=",u=document.cookie.split(";"),i=0;i<u.length;i++){for(t=u[i];t.charAt(0)==" ";)t=t.substring(1,t.length);if(t.indexOf(r)===0)return t.substring(r.length,t.length)}return null},erase:function(n){this.create(n,"",-1)}},checkCookie:function(){return this.cookieManager.get("bioep_shown")=="true"||bioEp.cookieManager.get("mail_sign_up")=="true"},addCSS:function(){var t=document.createTextNode("#bio_ep_bg {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.3; z-index: 10001;}#bio_ep {display: none; position: fixed; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); background-color: #fff; box-shadow: 0px 1px 4px 0 rgba(0,0,0,0.5); z-index: 10002;}"),n=document.createElement("style");n.type="text/css";n.appendChild(t);document.getElementsByTagName("head")[0].appendChild(n)},addPopup:function(){this.bgEl=document.createElement("div");this.bgEl.id="bio_ep_bg";document.body.appendChild(this.bgEl);document.getElementById("bio_ep")?this.popupEl=document.getElementById("bio_ep"):(this.popupEl=document.createElement("div"),this.popupEl.id="bio_ep",this.popupEl.innerHTML=this.html,document.body.appendChild(this.popupEl));document.getElementById("bio_ep_close")?this.closeBtnEl=document.getElementById("bio_ep_close"):(this.closeBtnEl=document.createElement("div"),this.closeBtnEl.id="bio_ep_close",this.closeBtnEl.appendChild(document.createTextNode("X")),this.popupEl.insertBefore(this.closeBtnEl,this.popupEl.firstChild))},showPopup:function(n){n&&this.checkCookie()||(this.bgEl.style.display="block",this.popupEl.style.display="block",this.overflowDefault=document.body.style.overflow,document.body.style.overflow="hidden",this.cookieManager.create("bioep_shown","true",this.cookieExp,!1),typeof this.onPopup=="function"&&this.onPopup())},hidePopup:function(){this.bgEl.style.display="none";this.popupEl.style.display="none";document.body.style.overflow=this.overflowDefault},addEvent:function(n,t,i){n.addEventListener?n.addEventListener(t,i,!1):n.attachEvent&&n.attachEvent("on"+t,i)},loadEvents:function(){bioEp.exitIntent&&this.addEvent(document,"mouseout",function(n){var t,i;(n=n?n:window.event,n.target.tagName===undefined||n.target.tagName.toLowerCase()!="input")&&((t=Math.max(document.documentElement.clientWidth,window.innerWidth||0),n.clientX>=t-50)||n.clientY>=50||(i=n.relatedTarget||n.toElement,i||bioEp.showPopup(!0)))}.bind(this));this.addEvent(this.closeBtnEl,"click",function(){bioEp.hidePopup()})},domReady:function(n){document.readyState==="interactive"||document.readyState==="complete"?n():this.addEvent(document,"DOMContentLoaded",n)},init:function(){this.addCSS();this.domReady(function(){bioEp.addPopup();setTimeout(function(){bioEp.loadEvents();bioEp.showOnDelay&&bioEp.showPopup(!0)},bioEp.delay*1e3)})}};var template_DetailedFlightHeader='<div class="row valign-wrapper" style="margin: 0;"><div class="col s12">{origin} to {destination}<br><span class="blue-grey-text text-lighten-1" style="font-size: 80%;">{airline} - {flightNumber}<br>{departDate} - {returnDate}<br>{nights} nights<br><br>All prices are for 1 adult, economy class.<\/span><\/div><\/div><div class="divider"><\/div>',template_DetailedFlightProvider='<div class="row valign-wrapper flight-provider-wrapper"><div class="col s2 center-align"><img src="{providerImg}"><\/div><div class="col s7">{provider}<br><span class="blue-grey-text text-lighten-1" style="font-size: 80%;">{providerDescription}<\/span><\/div><div class="col s3 center-align"><a href="{deeplinkUrl}">${price}<\/a><\/div><\/div><div class="divider"><\/div>';$(document).ready(function(){$("#countrySelectorModal.modal").modal()})