var flightResultsApp,flightsSearchBox;$(document).ready(function(){flightResultsApp.Init();onErrorImage("150x120");$("[data-toggle=tooltip]").tooltip({html:!0})});flightResultsApp={Init:function(){$("#stopsFilter input[type='checkbox'], #airlinesFilter input[type='checkbox'], #airportsFilter input[type='checkbox'], #sourceFilter input[type='checkbox']").click(function(){showLoadingFilter();$("#stopsStr").val(getValuesArr(".stops"));$("#airportsStr").val(getValuesArr(".airports"));$("#airlinesStr").val(getValuesArr(".airlines"));$("#airlinesStr").val(getValuesArr(".airlines"));$("#flightSourceStr").val(getValuesArr(".source"));setTimeout(function(){$("#FlightFilterForm").submit()},50)});flightResultsApp.InitializeSliders();$(".sorter a, .pagination a, #clearFilter").click(function(){showLoadingFilter()});$(document).on("shown.bs.modal","#ruleDisplayModal",function(n){var i=$(n.relatedTarget),t=$(n.target).find(".modal-body"),u=$.templates("#ruleDisplayLoadingTmpl"),r;u.link(".modal-body:visible",null);r={TokenFlights:$("#tokenFlights").val(),Id:i.data("id"),SaleFlightId:i.data("saleid"),FullRuleDisplay:!1};$.post("/Flights/RuleDisplay",r,function(n){if($.isEmptyObject(n))t.html("<div class='text-center mt20'><i class='fa fa-frown-o'><\/i> "+Resources.CannotLoadRuleDisplay+"<\/div>");else{t.find(".loading").remove();var i=$.templates("#ruleDisplayTmpl");i.link(".modal-body:visible",{data:n});t.find(".rule-display-body").height(screen.height*.6+"px")}}).done(function(){}).fail(function(){t.html("<div class='text-center mt20'><i class='fa fa-frown-o'><\/i> "+Resources.CannotLoadRuleDisplay+"<\/div>")}).always(function(){})})},InitializeSliders:function(){InitPriceSlider(".flight-price-slider","#flightPriceStr","#FlightFilterForm");InitDurationSlider(".flight-duration-slider","#durationStr","#FlightFilterForm");InitDurationSlider(".flight-stops-duration-slider","#stopsDurationStr","#FlightFilterForm");InitDateTimeSlider(".flight-departure-slider","#departureStr","#FlightFilterForm");InitDateTimeSlider(".flight-arrival-slider","#arrivalStr","#FlightFilterForm")}};$(document).ready(function(){$("#FlightSearchForm").length>0&&flightsSearchBox.Init()});flightsSearchBox={Init:function(){this.InitAutocomplete("#DepartureDesc");this.InitAutocomplete("#DepartureDesc2");this.InitAutocomplete("#DepartureDesc3");this.InitAutocomplete("#ArrivalDesc");this.InitAutocomplete("#ArrivalDesc2");this.InitAutocomplete("#ArrivalDesc3");this.InitDatePickers();this.InitSwitchDestinations();this.InitPersons();this.InitSearchType();this.InitMultiDest();$("#FlightSearchForm").validate().settings.ignore=[]},InitAutocomplete:function(n){var t=$(n).data("autocompleteversion");t=t==null?"expediav4":t.toLowerCase();t==="travelpayouts"?this.InitAutocompleteTravelPayouts(n):this.InitAutocompleteExpediaV4(n)},EmptyCodeOnTyping:function(n){n=="ArrivalDesc"?$("#ArrivalCode").val(""):n=="DepartureDesc"?$("#DepartureCode").val(""):n=="ArrivalDesc2"?$("#ArrivalCode2").val(""):n=="DepartureDesc2"?$("#DepartureCode2").val(""):n=="ArrivalDesc3"?$("#ArrivalCode3").val(""):n=="DepartureDesc3"&&$("#DepartureCode3").val("")},AutocompleteSelect:function(n,t){n=="ArrivalDesc"?$("#ArrivalCode").val(t.item.value):n=="DepartureDesc"?$("#DepartureCode").val(t.item.value):n=="ArrivalDesc2"?$("#ArrivalCode2").val(t.item.value):n=="DepartureDesc2"?$("#DepartureCode2").val(t.item.value):n=="ArrivalDesc3"?$("#ArrivalCode3").val(t.item.value):n=="DepartureDesc3"&&$("#DepartureCode3").val(t.item.value)},InitMultiDest:function(){function n(n){var t=$("#collapseFlights3").closest("fieldset");t.find(".collapse-flight3 .fa").toggleClass("fa-minus").toggleClass("fa-plus");n?(t.find(".flight3-title").addClass("hidden"),t.find(".add-flight").show()):(t.find(".flight3-title").removeClass("hidden"),t.find(".add-flight").hide())}$("#collapseFlights3").on("show.bs.collapse",function(){n(!1)});$("#collapseFlights3").on("hide.bs.collapse",function(){n(!0)});$("#ArrivalCode2").val()!=""&&n(!1)},InitAutocompleteExpediaV3:function(n){var t=$(n);t.length>0&&(t.autocomplete({source:function(n,i){t.attr("id").toLowerCase().indexOf("arrival")>=0?$("#ArrivalCode").val(""):$("#DepartureCode").val("");jQuery.ajax({url:"/api/Autocomplete/FlightsExpediaV3",method:"POST",data:{term:n.term},dataType:"json",success:function(n){i(jQuery.map(n.sr,function(n){if(n!=null&&(n.t==="AIRPORT"||n.rt==="MULTICITY"))return{label:n.d,focus:n.f,value:n.a,type:n.t,rtype:n.rt}}))}})},autoFocus:!0,minLength:2,delay:100,focus:function(){return!1},select:function(n,t){var i=$("<div>").html(t.item.label).text();return $(this).val(i),$(this).attr("id").toLowerCase().indexOf("arrival")>=0?$("#ArrivalCode").val(t.item.value):$("#DepartureCode").val(t.item.value),!1}}).data("ui-autocomplete")._renderItem=function(n,t){var i=$("<a><\/a>").html(" "+t.label);return t.type==="AIRPORT"||t.rtype==="MULTICITY"?$('<i class="fa fa-plane text-primary" title='+t.type+"><\/i>").prependTo(i):t.type==="HOTEL"&&$('<i class="fa fa-building-o text-primary" title='+t.type+"><\/i>").prependTo(i),$('<li class="ellipsis"><\/li>').append(i).appendTo(n)})},InitAutocompleteExpediaV4:function(n){var t=$(n);t.length>0&&(t.autocomplete({source:function(n,i){var r=t.attr("id");flightsSearchBox.EmptyCodeOnTyping(r);jQuery.ajax({url:"https://suggest.expedia.com/api/v4/typeahead/"+n.term+"?features=ta_hierarchy|contextual_ta|postal_code|boldSearchDest&format=json&maxresults=10&client=Homepage&lob=FLIGHTS",dataType:"json",success:function(n){$.isEmptyObject(n)||i(jQuery.map(n.sr,function(n){return{label:n.regionNames.displayName,focus:n.regionNames.displayName,value:n.hierarchyInfo.airport.airportCode,type:n.type,child:n.hierarchyInfo.isChild}}))}})},autoFocus:!0,minLength:2,delay:100,focus:function(){return!1},select:function(n,t){var r=$("<div>").html(t.item.label).text(),i;return $(this).val(r),i=$(this).attr("id"),flightsSearchBox.AutocompleteSelect(i,t),!1}}).data("ui-autocomplete")._renderItem=function(n,i){var r=$("<a><\/a>").html(" "+i.label),u=ContainsHebrewLetters(t.val());return i.child?$('<i class="fa fa-fw text-primary '+(u?"fa-angle-left mr18":"fa-angle-right ml18")+' " title='+i.type+"><\/i>").prependTo(r):$('<i class="fa fa-fw fa-plane text-primary " title='+i.type+"><\/i>").prependTo(r),u?n.addClass("rtl"):n.removeClass("rtl"),$("<li><\/li>").append(r).appendTo(n)})},InitAutocompleteTravelPayouts:function(n){var t=$(n);t.length>0&&(t.autocomplete({source:function(n,i){var r=t.attr("id");flightsSearchBox.EmptyCodeOnTyping(r);jQuery.ajax({url:"/api/Autocomplete/FlightsTravelPayouts",method:"POST",data:{term:n.term},dataType:"json",success:function(n){$.isArray(n)&&i(jQuery.map(n,function(n){if(n.code!=null)return{label:n.name,focus:n.name,value:n.code,type:n.type}}))}})},autoFocus:!0,minLength:2,delay:100,focus:function(){return!1},select:function(n,t){var r=$("<div>").html(t.item.label).text(),i;return $(this).val(r),i=$(this).attr("id"),flightsSearchBox.AutocompleteSelect(i,t),!1}}).data("ui-autocomplete")._renderItem=function(n,i){var r=$("<a><\/a>").html(" <i class='text-muted'>"+i.type+"<\/i> "+i.label),u=ContainsHebrewLetters(t.val());return u?n.addClass("rtl"):n.removeClass("rtl"),$("<li><\/li>").append(r).appendTo(n)})},InitDatePickers:function(){var i=$("#departureHolder"),u,f,n,e,r,t,o,s;i.length>0&&(u=0,f="+1",$("#FlightSearchForm .minDate").length>0&&(u=0,f="+3"),i.datepicker({minDate:f,dateFormat:"D - d MM, yy",altField:"#DepartureDate",altFormat:"yy-mm-dd",onSelect:function(n,i){var f=new Date($(i.input).datepicker("getDate")),e;f.setDate(f.getDate()+u);$("#arrivalHolder").datepicker("option","minDate",f);e=new Date(f);e.setDate(e.getDate()+6);$("#arrivalHolder").datepicker("setDate",e);$("#arrivalHolder").datepicker("refresh");r.datepicker("option","minDate",f);f.setDate(f.getDate()+u);t.datepicker("option","minDate",f)}}),n=new Date($("#DepartureDate").val()),i.datepicker("setDate",n),n=i.datepicker("getDate"),i.datepicker("setDate",n),$("#arrivalHolder").datepicker({minDate:n,dateFormat:"D - d MM, yy",altField:"#ArrivalDate",altFormat:"yy-mm-dd"}),e=new Date($("#ArrivalDate").val()),$("#arrivalHolder").datepicker("setDate",e));r=$("#departureHolder2");t=$("#departureHolder3");r.length>0&&(r.datepicker({minDate:n,dateFormat:"D - d MM, yy",altField:"#DepartureDate2",altFormat:"yy-mm-dd",onSelect:function(n,i){var r=new Date($(i.input).datepicker("getDate"));r.setDate(r.getDate()+1);t.datepicker("option","minDate",r)}}),o=new Date($("#DepartureDate2").val()),r.datepicker("setDate",o));t.length>0&&(t.datepicker({minDate:n,dateFormat:"D - d MM, yy",altField:"#DepartureDate3",altFormat:"yy-mm-dd"}),s=new Date($("#DepartureDate3").val()),t.datepicker("setDate",s))},InitSwitchDestinations:function(){$(".switch-destinations").click(function(){var n=$("#DepartureDesc").val(),t=$("#DepartureCode").val();$("#DepartureDesc").val($("#ArrivalDesc").val());$("#DepartureCode").val($("#ArrivalCode").val());$("#ArrivalDesc").val(n);$("#ArrivalCode").val(t)})},InitSearchType:function(){function t(){$("#multiflights").fadeIn();$("#multiflights fieldset").removeAttr("disabled")}function n(){$("#multiflights").fadeOut();$("#multiflights fieldset").prop("disabled",!0)}$("#FlightSearchForm [name=SearchType]").change(function(){$(this).val()==="RoundTrip"?($(".round-trip-date").fadeIn(),n()):$(this).val()==="MultipleDestinations"?($("#FlightSearchForm .round-trip-date").fadeOut(),t()):($("#FlightSearchForm .round-trip-date").fadeOut(),n())})},InitPersons:function(){flightsSearchBox.SetPersonsToModal();flightsSearchBox.SetPersonsFromModal();$("#FlightPersonsModal").on("show.bs.modal",function(){flightsSearchBox.SetPersonsToModal()});$("#SavePersons").click(function(){flightsSearchBox.SetPersonsFromModal()})},SetPersonsToModal:function(){$("#NumberOfAdultsModal").val($("#NumberOfAdults:hidden").val());$("#NumberOfChildrenModal").val($("#NumberOfChildren:hidden").val());$("#NumberOfSeniorsModal").val($("#NumberOfSeniors:hidden").val());$("#NumberOfInfantsModal").val($("#NumberOfInfants:hidden").val())},SetPersonsFromModal:function(){var n=$("#NumberOfAdultsModal").val(),t=$("#NumberOfChildrenModal").val(),i=$("#NumberOfSeniorsModal").val(),r=$("#NumberOfInfantsModal").val(),u;$("#NumberOfAdults:hidden").val(n);$("#NumberOfChildren:hidden").val(t);$("#NumberOfSeniors:hidden").val(i);$("#NumberOfInfants:hidden").val(r);u=flightsSearchBox.GetPersonsDesc(n,t,i,r);$("#FlightPersons").val(u)},GetPersonsDesc:function(n,t,i,r){var u="";return n!=="0"&&(u+=String.format("{0} {1}, ",n,n==="1"?Resources.Adult:Resources.Adults)),t!=="0"&&(u+=String.format("{0} {1}, ",t,t==="1"?Resources.Child:Resources.Children)),i!=="0"&&(u+=String.format("{0} {1}, ",i,i==="1"?Resources.Senior:Resources.Seniors)),r!=="0"&&(u+=String.format("{0} {1}, ",r,r==="1"?Resources.Infant:Resources.Infants)),u.substring(0,u.length-2)}},function(n){typeof define=="function"&&define.amd?define(n):window.purl=n()}(function(){function c(n,t){for(var u=decodeURI(n),e=h[t||!1?"strict":"loose"].exec(u),i={attr:{},param:{},seg:{}},r=14;r--;)i.attr[o[r]]=e[r]||"";return i.param.query=f(i.attr.query),i.param.fragment=f(i.attr.fragment),i.seg.path=i.attr.path.replace(/^\/+|\/+$/g,"").split("/"),i.seg.fragment=i.attr.fragment.replace(/^\/+|\/+$/g,"").split("/"),i.attr.base=i.attr.host?(i.attr.protocol?i.attr.protocol+"://"+i.attr.host:i.attr.host)+(i.attr.port?":"+i.attr.port:""):"",i}function l(n){var t=n.tagName;return typeof t!="undefined"?e[t.toLowerCase()]:t}function u(n,t){var i,r;if(n[t].length===0)return n[t]={};i={};for(r in n[t])i[r]=n[t][r];return n[t]=i,i}function r(t,f,e,o){var h=t.shift(),s;h?(s=f[e]=f[e]||[],"]"==h?n(s)?""!==o&&s.push(o):"object"==typeof s?s[w(s).length]=o:s=f[e]=[f[e],o]:~h.indexOf("]")?(h=h.substr(0,h.length-1),!i.test(h)&&n(s)&&(s=u(f,e)),r(t,s,h,o)):(!i.test(h)&&n(s)&&(s=u(f,e)),r(t,s,h,o))):n(f[e])?f[e].push(o):f[e]="object"==typeof f[e]?o:"undefined"==typeof f[e]?o:[f[e],o]}function a(t,u,f){var s,e,o;if(~u.indexOf("]"))s=u.split("["),r(s,t,"base",f);else{if(!i.test(u)&&n(t.base)){e={};for(o in t.base)e[o]=t.base[o];t.base=e}u!==""&&v(t.base,u,f)}return t}function f(n){return p(String(n).split(/&|;/),function(n,t){try{t=decodeURIComponent(t.replace(/\+/g," "))}catch(e){}var u=t.indexOf("="),f=y(t),r=t.substr(0,f||u),i=t.substr(f||u,t.length);return i=i.substr(i.indexOf("=")+1,i.length),r===""&&(r=t,i=""),a(n,r,i)},{base:{}}).base}function v(t,i,r){var u=t[i];typeof u=="undefined"?t[i]=r:n(u)?u.push(r):t[i]=[u,r]}function y(n){for(var u=n.length,r,t,i=0;i<u;++i)if(t=n[i],"]"==t&&(r=!1),"["==t&&(r=!0),"="==t&&!r)return i}function p(n,t){for(var i=0,u=n.length>>0,r=arguments[2];i<u;)i in n&&(r=t.call(undefined,r,n[i],i,n)),++i;return r}function n(n){return Object.prototype.toString.call(n)==="[object Array]"}function w(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t}function t(n,t){return arguments.length===1&&n===!0&&(t=!0,n=undefined),t=t||!1,n=n||window.location.toString(),{data:c(n,t),attr:function(n){return n=s[n]||n,typeof n!="undefined"?this.data.attr[n]:this.data.attr},param:function(n){return typeof n!="undefined"?this.data.param.query[n]:this.data.param.query},fparam:function(n){return typeof n!="undefined"?this.data.param.fragment[n]:this.data.param.fragment},segment:function(n){return typeof n=="undefined"?this.data.seg.path:(n=n<0?this.data.seg.path.length+n:n-1,this.data.seg.path[n])},fsegment:function(n){return typeof n=="undefined"?this.data.seg.fragment:(n=n<0?this.data.seg.fragment.length+n:n-1,this.data.seg.fragment[n])}}}var e={a:"href",img:"src",form:"action",base:"href",script:"src",iframe:"src",link:"href",embed:"src",object:"data"},o=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"],s={anchor:"fragment"},h={strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/},i=/^[0-9]+$/;return t.jQuery=function(n){n!=null&&(n.fn.url=function(i){var r="";return this.length&&(r=n(this).attr(l(this[0]))||""),t(r,i)},n.url=t)},t.jQuery(window.jQuery),t})