var flightSearch=function(element,holidays,stations,markets,flightSearchUrl,culture,translations,domainCulture){var dateRangeElement=$(element).find("#flightSearchDateRange"),oneWayInput=$(element).find("#tripOneway"),twoWayInput=$(element).find("#tripTwoWay"),multiCityWayInput=$(element).find("#tripMultiCity"),btnPassengerDetailsDone=$(element).find("#btnPassengerDetailsDone"),btnIncrementButton=$(element).find("button.btn-increment"),ctrlFromStation=$(element).find("#fromStation"),ctrlToStation=$(element).find("#toStation"),btnFsSearch=$(element).find("#btnFsSearch"),btnFlightSearchSubmit=$(element).find("#btnFlightSearchSubmit"),btnFlightSearchPreSubmit=$(element).find("#btnFlightSearchPreSubmit"),btnAddMultiCityRow=$(element).find("#btnAddMultiCityRow"),btnRemoveMultiCityRow=$(element).find("#btnRemoveMultiCityRow"),btnSwapOrigin=$(element).find("#btnSwapOrigin"),lblArrivalDate=$(element).find("#lblArrivalDate"),lblDepartureDate=$(element).find("#lblDepartureDate"),inValidFeedback=$(element).find("#inValidFeedback"),btnStopOverBooking=$(element).find("#cbStopOver"),stopOverSubmitPlaceholder=$(element).find(".stop-over-submit-placeholder"),ctrlFsFromStation=$(element).find("#fsFromStation"),ctrlFsToStation=$(element).find("#fsToStation"),btnPassengerDetails=$(element).find("#btnPassengerDetails"),groupBookingText=$(element).find(".group-booking-text"),activeCalendarHolidays=[],publicHolidaysHeader=translations.HolidayLabel,noFareKey="0",flightSearchUrlCulture=culture,geoLocation={latitude:"",longitude:""},pnrLookupUrl=FlynasCMS.Config.FlynasBookingUrl,ddlStopoverCity=$(element).find("#ddlStopoverCity"),lblStopOverDaysCount=$(element).find("#lblStopOverDaysCount"),minStopOverDaysAllowed=1,maxStopOverDaysAllowed=4,multiCityRowsCount=1,lowestFares=null,isStopOverBooking=!1,originStations=null,isDefaultOriginSelection=!0,bookingCulture="",openDestinationDropDownSelection=!0,flightText="",initialize=function(){originStations=getAvailableOriginStations(stations);bindFlightSearch();bindFlightStatus();bindManageBooking();bindCheckIn();bindStopOverDetails();renderCountDownTimer();bookingCulture=culture=="ar-SA"?"en-GB":culture},bindFlightSearch=function(){bindStations();bindTravelDates(dateRangeElement,{singleDatePicker:!1,startDate:moment()});bindTripTypes();setPassengerLabel();$(btnPassengerDetailsDone).click(function(){setPassengerLabel();$(".passengers-dropdown").find(".dropdown-menu").removeClass("show");$(".passengers-dropdown").find(".dropdown-menu").removeAttr("style");$(btnPassengerDetails).removeClass("show")});$(btnPassengerDetails).click(function(){updatePassengerCountControls();validatePassengerLimit()});$(btnIncrementButton).click(function(){setPassengerCount($(this).parent(),$(this).data("operator"),$(this).data("passengerType"));validatePassengerLimit();setPassengerLabel()});$(btnFlightSearchSubmit).click(function(e){var isValid,params;e.preventDefault();isValid=validateSearchForm();isValid&&(params=gatherParams(),validateInformationAlert(params))});$(btnFlightSearchPreSubmit).click(function(e){e.preventDefault();$("#pnlAdditionSearchDetails").show();$("#btnFlightSearchPreSubmit").hide()});loadPreviousSearchCriteria();$(btnSwapOrigin).click(function(){swapOrigin(ctrlFromStation,ctrlToStation)})},validateInformationAlert=function(params){var isCovidAlertByOrigin=!0,destinations,multiCityDestinations,i,informationAlertName;if($(element).find("#btnAcceptInforAlert").unbind("click"),$(element).find("#btnDeclineInforAlert").unbind("click"),$("#mdlTravelInformationAlert").find("#btnAcceptInforAlert").click(function(){submitFlightSearch(params)}),$("#mdlTravelInformationAlert").find("#btnDeclineInforAlert").click(function(){$("#mdlTravelInformationAlert").hide();$("body").removeClass("covid-alert-fixed");$("#backdrop").removeClass("alert-in")}),destinations=[],destinations.push(params.destination),params.destination1!==""&&destinations.push(params.destination1),params.multicityObject!==null&&params.multicityObject!==undefined)for(multiCityDestinations=$.grep(params.multicityObject,function(item){return item.destination}),i=0;i<multiCityDestinations.length;i++)destinations.push(multiCityDestinations[i].destination);for(i=0;i<destinations.length;i++)if(informationAlertName="CovidAlert_ALL-"+destinations[i],$.ajax({url:"/Umbraco/Api/SettingsApi/Translations?lang="+culture+"&name="+informationAlertName,method:"GET",contentType:"application/json; charset=utf-8",success:function(data){if(data.length>0){var isActive=data[0].IsActive;isActive&&($("#mdlTravelInformationAlert .modal-body").html(data[0].Text),$("#mdlTravelInformationAlert").show(),isCovidAlertByOrigin=!1,$("body").addClass("covid-alert-fixed"),$("#backdrop").addClass("alert-in"))}},error:function(error){console.log(error)}}),isCovidAlertByOrigin==!1)break;setTimeout(async function(){var isAlertExist,origins,multiCityOrigins,ajaxPromises,i,informationAlertName,results;if(isCovidAlertByOrigin){if(isAlertExist=!1,origins=[],origins.push(params.origin),params.origin1!==""&&origins.push(params.origin1),params.multicityObject!==null&&params.multicityObject!==undefined)for(multiCityOrigins=$.grep(params.multicityObject,function(item){return item.origin}),i=0;i<multiCityOrigins.length;i++)origins.push(multiCityOrigins[i].origin);try{for(ajaxPromises=[],i=0;i<origins.length;i++)informationAlertName="CovidAlert_"+origins[i]+"-ALL",ajaxPromises.push($.ajax({url:"/Umbraco/Api/SettingsApi/Translations",method:"GET",data:{lang:culture,name:informationAlertName},contentType:"application/json; charset=utf-8"}));results=await Promise.all(ajaxPromises);results.forEach(function(data){if(data.length>0){var isActive=data[0].IsActive;isActive?($("#mdlTravelInformationAlert .modal-body").html(data[0].Text),$("#mdlTravelInformationAlert").show(),isCovidAlertByOrigin=!1,$("body").addClass("covid-alert-fixed"),$("#backdrop").addClass("alert-in")):isAlertExist=!1}else isAlertExist=!1});isCovidAlertByOrigin&&!isAlertExist&&submitFlightSearch(params)}catch(error){console.log(error)}}},300)},validateSearchForm=function(){var isValid=$(element).find("#frmFlightSearch")[0].checkValidity(),tripType=$(element).find("input[name='trip-type']:checked").val(),destinationArray,i,multiRowDestArray,multiRowOrgArray;for(tripType==="round"&&($(lblArrivalDate).text().length===0||$(lblDepartureDate).text().length===0)&&(isValid=!1,$(lblArrivalDate).text().length===0&&$(lblArrivalDate).parent().find(".invalid-tooltip").show(),$(lblDepartureDate).text().length===0&&$(lblDepartureDate).parent().find(".invalid-tooltip").show()),destinationArray=$(element).find("#toStation option:selected").text(),tripType==="round"&&destinationArray.length===0&&(isValid=!1,$(ctrlToStation).parent().find(".invalid-tooltip").show()),tripType=$(element).find("input[name='trip-type']:checked").val(),tripType==="oneway"&&$(lblDepartureDate).text().length===0&&(isValid=!1,$(lblDepartureDate).text().length===0&&$(lblDepartureDate).parent().find(".invalid-tooltip").show()),tripType==="oneway"&&destinationArray.length===0&&(isValid=!1,$(ctrlToStation).parent().find(".invalid-tooltip").show()),tripType==="multi"&&$(lblDepartureDate).text().length===0&&(isValid=!1,$(lblDepartureDate).text().length===0&&$(lblDepartureDate).parent().find(".invalid-tooltip").show()),tripType==="multi"&&destinationArray.length===0&&(isValid=!1,$(ctrlToStation).parent().find(".invalid-tooltip").show()),i=1;i<=multiCityRowsCount;i++)multiRowDestArray=$(element).find("#multiCityRow"+i).find("select[name='toStation'] option:selected").text(),tripType==="multi"&&multiRowDestArray.length===0&&(isValid=!1,$(element).find("#multiCityRow"+i).find("select[name='toStation']").parent().find(".invalid-tooltip").show()),multiRowOrgArray=$(element).find("#multiCityRow"+i).find("select[name='fromStation'] option:selected").text(),tripType==="multi"&&multiRowOrgArray.length===0&&(isValid=!1,$(element).find("#multiCityRow"+i).find("select[name='fromStation']").parent().find(".invalid-tooltip").show());return tripType==="multi"&&$(element).find("span[name='DepartureDate']").text().length===0&&(isValid=!1,$(element).find("span[name='DepartureDate']").parent().find(".invalid-tooltip").show()),$(element).find(".cb-partners-page").length>0&&($(element).find("#cbApiPartners").is(":checked")?$(element).find("#cbApiPartners").parent().find(".invalid-tooltip").hide():(isValid=!1,$(element).find("#cbApiPartners").parent().find(".invalid-tooltip").show())),isValid},bindFlightStatus=function(){var selectedOrigin,prevselection;bindStationControl(ctrlFsFromStation,stations,!0);setDefaultStation(ctrlFsFromStation);selectedOrigin=$(ctrlFsFromStation).select2("data");setDestinationDropdown(selectedOrigin,ctrlFsToStation,!1);setDefaultStation(ctrlFsToStation);$(ctrlFsFromStation).on("select2:select",function(){$(ctrlFsFromStation).parent().find(".invalid-tooltip").hide();setTimeout(function(){var selectedOrigin=$(ctrlFsFromStation).select2("data");if(!(selectedOrigin.length>0&&$("#manage").hasClass("active")||selectedOrigin.length>0&&$("#checkin").hasClass("active")||selectedOrigin.length>0&&$("#flights").hasClass("active"))){setDestinationDropdown(selectedOrigin,ctrlFsToStation,!0);$(ctrlFsToStation).on("select2:select",function(){$(ctrlFsToStation).parent().find(".invalid-tooltip").hide()})}},200)});prevselection=null;$(ctrlFsFromStation).on("select2:opening",function(event){prevselection=$(event.target).find(":selected");$(ctrlFsFromStation).val(null)});$(element).find("input[name='searchType']").click(function(){$(this).val()==="route"?($(element).find("#pnlFsFlightNumber+div").removeClass("col-md-5"),$(element).find("#txtFsFlightNumber").removeAttr("required"),$(element).find("#pnlFsRoute").show(),$(element).find("#pnlFsFlightNumber").hide(),$(element).find(".text-fs-searchby-flightnumber").hide()):($(element).find("#pnlFsRoute").hide(),$(element).find("#pnlFsFlightNumber").show(),$(element).find("#pnlFsFlightNumber+div").addClass("col-md-5"),$(element).find("#txtFsFlightNumber").attr("required","required"),$(element).find(".text-fs-searchby-flightnumber").show())});$(btnFsSearch).click(function(e){var originArray=$(ctrlFsFromStation).select2("data"),destinationArray=$(ctrlFsToStation).select2("data"),statusBy=$(element).find("input[name='searchType']:checked").val(),flightNumber=$(element).find("#txtFsFlightNumber").val(),flightDate=$(element).find("#fsDate").val().trim();originArray[0].id==""&&$(ctrlFsFromStation).parent().find(".invalid-tooltip").show();destinationArray[0].id==""&&$(ctrlFsToStation).parent().find(".invalid-tooltip").show();flightNumber==""&&$(element).find("#txtFsFlightNumber").parent().find(".invalid-tooltip").show();(originArray.length>0&&originArray[0].id!==""&&destinationArray.length>0&&destinationArray[0].id!==""&&flightDate!==""||flightNumber!==""&&flightDate!=="")&&(e.preventDefault(),window.location="/"+FlynasCMS.Config.CurrentDomainCulture+"/help/flight-status?statusby="+statusBy+(statusBy==="route"?"&from="+originArray[0].code+"&to="+destinationArray[0].code:"&flightNumber="+flightNumber)+"&flightDate="+flightDate+"&cultureCode="+FlynasCMS.Config.CurrentCulture);e.preventDefault()})},bindManageBooking=function(){$(element).find("#btnBookingSearch").click(function(e){var isValid=$(element).find("#formFsManageBooking")[0].checkValidity(),bookingRefNo,lastName;isValid&&(e.preventDefault(),bookingRefNo=$(element).find("#txtBookingReference").val(),lastName=$(element).find("#txtLastName").val(),window.location=pnrLookupUrl+"#/manage/search?pnr="+bookingRefNo+"&lastName="+lastName+"&culture="+bookingCulture)})},updatePassengerCountControls=function(){var adultCount=0,childCount=0,infantCount=0;$(element).find("span.span-passenger-count").each(function(index,item){switch($(item).data("passengertype")){case"adult":adultCount=parseInt($(item).text(),10);adultCount>1&&$(item).parent().find("i.fa-minus").parent().removeAttr("disabled");break;case"child":childCount=parseInt($("#lblChildCount").text(),10);childCount>0&&$(item).parent().find("i.fa-minus").parent().removeAttr("disabled");break;case"infant":infantCount=parseInt($("#lblInfantCount").text(),10);infantCount>0&&$(item).parent().find("i.fa-minus").parent().removeAttr("disabled")}})},bindCheckIn=function(){$(element).find("#btnCheckInSearch").click(function(e){var isValid=$(element).find("#formFsCheckIn")[0].checkValidity(),bookingRefNo,lastName;isValid&&(e.preventDefault(),bookingRefNo=$(element).find("#txtCheckInBookingReference").val(),lastName=$(element).find("#txtCheckInLastName").val(),window.location=pnrLookupUrl+"#/wci/search?pnr="+bookingRefNo+"&lastName="+lastName+"&culture="+bookingCulture)})},enableSOV=function(){return $.ajax({url:"/Umbraco/Api/SettingsApi/Translations?lang="+culture+"&name=EnableStopOver_IBE",method:"GET",contentType:"application/json; charset=utf-8",success:function(data){if(data.length>0){var isActive=data[0].IsActive;if(isActive)return data[0].Text=="TRUE"}},error:function(error){console.log(error)}}),!1},bindStopOverDetails=function(){enableSOV()||$(".divstopovercheckbox").hide();$(btnStopOverBooking).click(function(){$(this).is(":checked")?($(btnFlightSearchPreSubmit).click(),$(element).find("#pnlStopOverBooking").show(),$(stopOverSubmitPlaceholder).prepend($(btnFlightSearchSubmit))):($(element).find("#pnlStopOverBooking").hide(),$(element).find(".btn-flight-search-submit").prepend($(btnFlightSearchSubmit)))});$(element).find("#btnStopOverIncrementDays").click(function(){var daysCount=parseInt($(lblStopOverDaysCount).text(),10);daysCount<maxStopOverDaysAllowed&&daysCount++;$(lblStopOverDaysCount).text(daysCount);enableStopOverDaysCountButtons()});$(element).find("#btnStopOverDecrementDays").click(function(){var daysCount=parseInt($(lblStopOverDaysCount).text(),10);daysCount>minStopOverDaysAllowed&&daysCount--;$(lblStopOverDaysCount).text(daysCount);enableStopOverDaysCountButtons()});var onSuccess=function(data){if(data.length!==0){var cityCodes=$("<div/>").html(data[0].Text).text().split(","),stopOverStations=[];$.each(cityCodes,function(index,cityCode){var stopOverStation=$.grep(stations,function(station){return station.code.toLowerCase()===cityCode.toLowerCase()});stopOverStation.length>0&&stopOverStations.push(stopOverStation[0])});$.each(stopOverStations,function(index,station){var option=document.createElement("option");option.text=station.name+" ("+station.code+")";option.value=station.code;$(ddlStopoverCity).append(option)});$("#ddlStopoverCity").parent().addClass("custom-select");bindCustomSelect(document.getElementById("ddlStopoverCity").parentElement)}},onError=function(error){console.log(error)};$.ajax({url:"/Umbraco/Api/settingsapi/translationsJson?lang=en-GB&name=StopOverCities",success:onSuccess,error:onError});enableStopOverDaysCountButtons()},showStopOverDetails=function(){var originArray,destinationArray,tripType;if(enableSOV()){if(originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data"),originArray.length>0&&destinationArray.length>0&&originArray[0].text!==""&&originArray[0].country!=="SA"&&destinationArray[0].text!==""&&destinationArray[0].country!=="SA")$(".divstopovercheckbox").show();else{$(".divstopovercheckbox").hide();$(element).find("#cbStopOver").prop("checked",!1);$(element).find("#pnlStopOverBooking").hide();return}if(tripType=$(element).find("input[name='trip-type']:checked").val().toLowerCase(),tripType==="multi"){$(element).find("#cbStopOver").parent().hide();return}tripType==="oneway"?($(element).find("#rdStopOverReturn").parent().hide(),$(element).find("#rdStopOverDeparture").click()):$(element).find("#rdStopOverReturn").parent().show();enableStopOverDaysCountButtons()}else $(".divstopovercheckbox").hide()},enableStopOverDaysCountButtons=function(){var daysCount=parseInt($(lblStopOverDaysCount).text(),10),startDate,endDate;$(element).find("#btnStopOverDecrementDays").removeClass("disabled");$(element).find("#btnStopOverIncrementDays").removeClass("disabled");daysCount===minStopOverDaysAllowed&&$(element).find("#btnStopOverDecrementDays").addClass("disabled");var flightSearchDateRangePicker=$(element).find("#flightSearchDateRange").data("daterangepicker"),departureDate=flightSearchDateRangePicker.startDate.format("YYYY-MM-DD"),returnDate=flightSearchDateRangePicker.endDate.format("YYYY-MM-DD"),totalJourneyDays=0;if(returnDate!==null&&(startDate=moment(departureDate,"YYYY-MM-DD"),endDate=moment(returnDate,"YYYY-MM-DD"),totalJourneyDays=endDate.diff(startDate,"days")),totalJourneyDays===0){$(element).find("#cbStopOver").parent().show();return}daysCount<maxStopOverDaysAllowed&&(!$(lblArrivalDate).is(":visible")||daysCount<totalJourneyDays)?$(element).find("#btnStopOverIncrementDays").removeClass("disabled"):$(element).find("#btnStopOverIncrementDays").addClass("disabled")},isCustomDate=function(obj,element){var date=obj.format("YYYY-MM-DD"),elementId=element.attr("id"),elementkey="element_"+date+"_"+elementId,arr=[];for(arr.push(elementkey),arr.push("datefaretd"),i=0;i<holidays.length;i++)date>=holidays[i].StartDate&&date<=holidays[i].EndDate&&arr.push("holiday");return(obj.day()===5||obj.day()===6)&&arr.push("nas-weekend"),arr},bindHolidayDetails=function(){var holidayHtml="",i;if($(".daterangepicker:visible .drp-buttons div.cal-footer").length===0&&$(".daterangepicker:visible .drp-buttons").append('<div class="cal-footer"><\/div>'),activeCalendarHolidays=[],$(".daterangepicker:visible .holiday:visible").each(function(){var currentElement=$(this),classes=currentElement.attr("class").split(" "),elementkey=$.grep(classes,function(element){return element.startsWith("element")}),keyParams,date,formattedDate,savedHoliday;if(elementkey.length!=0&&(keyParams=elementkey[0].split("_"),!(keyParams.length<3)))for(date=keyParams[1],formattedDate=moment(new Date(Date.parse(date))).format("YYYY-MM-DD"),i=0;i<holidays.length;i++)formattedDate>=holidays[i].StartDate&&formattedDate<=holidays[i].EndDate&&(savedHoliday=$.grep(activeCalendarHolidays,function(st){return st.StartDate===holidays[i].StartDate&&st.EndDate===holidays[i].EndDate&&st.Name===holidays[i].Name}).length>0,savedHoliday||activeCalendarHolidays.push(holidays[i]))}),activeCalendarHolidays.length>0)for(holidayHtml+='<div class="cal-hol-header">* '+publicHolidaysHeader+"<\/div>",i=0;i<activeCalendarHolidays.length;i++)holidayHtml+='<div class="date">',holidayHtml+=moment(new Date(Date.parse(activeCalendarHolidays[i].StartDate))).format("DD")+" "+translations.monthShortNames[moment(new Date(Date.parse(activeCalendarHolidays[i].StartDate))).month()],activeCalendarHolidays[i].StartDate!==activeCalendarHolidays[i].EndDate&&(holidayHtml+=" - "+moment(new Date(Date.parse(activeCalendarHolidays[i].EndDate))).format("DD")+" "+translations.monthShortNames[moment(new Date(Date.parse(activeCalendarHolidays[i].EndDate))).month()]),holidayHtml+="<span>"+activeCalendarHolidays[i].Name+"<\/span><\/div>";$(".daterangepicker:visible .drp-buttons div.cal-footer").html(holidayHtml)},addFareNodes=function(lowestFares,origin,destination,currency){lowestFares!==undefined&&lowestFares!==null&&$(".datefaretd:visible").each(function(){var currentElement=$(this),classes=currentElement.attr("class").split(" "),elementkey=$.grep(classes,function(element){return element.startsWith("element")}),keyParams;if(elementkey&&(keyParams=elementkey[0].split("_"),!(keyParams.length<3))){var date=keyParams[1],key="key_"+date+"_"+origin+"_"+destination+"_"+currency,displayFare="",fareAvailable=!0,currentElementLowestFare=$.grep(lowestFares,function(item){return item.Date===date});currentElementLowestFare.length>0?displayFare=currentElementLowestFare[0].FareAmount:(fareAvailable=!1,displayFare=" ",currentElement.addClass("fare-not-available"));displayFare==noFareKey&&(displayFare="",currentElement.addClass("fare-not-available"),currentElement.removeClass("available"));var fareElement=currentElement.find("span.fare"),dateClassAvailable=currentElement.hasClass("available"),dataTitle=currentElement.attr("data-title");(dataTitle==null||dataTitle==undefined)&&(dataTitle="");fareElement.length==0?currentElement.append('<span data-title="'+dataTitle+'" data-key="'+key+'" data-origin="'+origin+'" class="fare '+(currentElement.hasClass("available")?"available":"")+'">'+(fareAvailable?formatAmount(displayFare,currency,dateClassAvailable,dataTitle):"")+"<\/span>"):fareElement.html(fareAvailable?formatAmount(displayFare,currency,dateClassAvailable,dataTitle):"")}})},formatAmount=function(amount,currencyCode,dateClassAvailable,dataTitle){if(amount===""||amount===" "||amount==0)return"";var formatAmount=Math.floor(parseFloat(amount)),currencySumbol=getSymbol(currencyCode);return'<span data-key="'+currencyCode+'" data-title="'+dataTitle+'"  class="fare-currency currency-'+currencyCode+" "+(dateClassAvailable?"available":"")+'">'+currencySumbol+"<\/span>"+formatAmount},getSymbol=function(currencyCode){switch(currencyCode){case"EUR":return"€";case"USD":return"$";case"SAR":return flightSearchUrlCulture=="en-US"?"SR ":"ريال ";case"AED":return flightSearchUrlCulture=="en-US"?"AED ":"د.إ ";case"KWD":return flightSearchUrlCulture=="en-US"?"KW ":"د.إ ";case"BHD":return"BHD ";default:return currency+" "}},bindTravelDates=function(dateRangeElement,options){$(dateRangeElement).daterangepicker({opens:"left",autoApply:!0,isCustomDate:isCustomDate,locale:{direction:FlynasCMS.Config.TextDirection,format:"YYYY-MM-DD",firstDay:FlynasCMS.Config.TextDirection==="rtl"?6:0,monthNames:translations.monthNames,daysOfWeek:translations.daysOfWeek},minDate:options.minDate!==undefined?options.minDate:new Date,startDate:options.startDate,endDate:options.endDate,singleDatePicker:options.singleDatePicker},function(start,end){var formattedStart=getFormattedDate(start),formattedEnd;$(dateRangeElement).parents("div.date-range-cell").find("span[name='DepartureDate']").html(formattedStart);$(dateRangeElement).parents("div.date-range-cell").find("span[name='ArrivalDate']").length>0&&(formattedEnd=getFormattedDate(end),$(dateRangeElement).parents("div.date-range-cell").find("span[name='ArrivalDate']").html(formattedEnd),$(lblArrivalDate).parent().find(".invalid-tooltip").hide());resetJourneyDates();showStopOverDetails()});$(dateRangeElement).on("showCalendar.daterangepicker",function(){bindHolidayDetails()});$(dateRangeElement).on("show.daterangepicker",function(t,e){bindHolidayDetails();var originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data");bindFares(originArray[0],destinationArray[0],e.startDate.format("YYYY-MM-DD"),e.endDate.format("YYYY-MM-DD"))});$(dateRangeElement).on("nextCalendar.daterangepicker",function(t,e){var startDate=e.startDate.format("YYYY-MM-DD"),endDate=new moment(e.startDate).add(1,"months").format("YYYY-MM-DD"),originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data");bindFares(originArray[0],destinationArray[0],startDate,endDate)});$(dateRangeElement).on("prevCalendar.daterangepicker",function(t,e){var startDate=e.startDate.format("YYYY-MM-DD"),endDate=new moment(e.startDate).add(1,"months").format("YYYY-MM-DD"),originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data");bindFares(originArray[0],destinationArray[0],startDate,endDate)});if(options.startDate!==null&&options.startDate!==undefined&&$(dateRangeElement).parents("div.date-range-cell").find("span[name='DepartureDate']").length>0){var formattedStart=getFormattedDate(options.startDate);$(dateRangeElement).parents("div.date-range-cell").find("span[name='DepartureDate']").html(formattedStart)}},bindStations=function(){var selectedOrigin,prevselection;bindStationControl(ctrlFromStation,originStations,!0);setDefaultStation(ctrlFromStation);selectedOrigin=$(ctrlFromStation).select2("data");setDestinationDropdown(selectedOrigin,ctrlToStation,!1);setDefaultStation(ctrlToStation);$(ctrlFromStation).on("select2:select",function(){$(ctrlFromStation).parent().find(".invalid-tooltip").hide();setTimeout(function(){showStopOverDetails();setCurrencyBasedOnOrigin();var selectedOrigin=$(ctrlFromStation).select2("data");selectedOrigin.length>0&&$("#manage").hasClass("active")||selectedOrigin.length>0&&$("#checkin").hasClass("active")||selectedOrigin.length>0&&$("#flightStatus").hasClass("active")||(setDestinationDropdownFromLocalStorage(selectedOrigin,ctrlToStation,0),setDestinationDropdown(selectedOrigin,ctrlToStation,!isDefaultOriginSelection),isDefaultOriginSelection=!1,setDestinationDropdownFromLocalStorage(selectedOrigin,ctrlToStation,0))},200)});prevselection=null;$(ctrlFromStation).on("select2:opening",function(event){prevselection=$(event.target).find(":selected");$(ctrlFromStation).val(null)});$(ctrlToStation).on("select2:select",function(){$(ctrlToStation).parent().find(".invalid-tooltip").hide();showStopOverDetails();$("#flightSearchDateRange").focus()})},setCurrencyBasedOnOrigin=function(){var selectedOrigin=$(ctrlFromStation).select2("data"),originCode,currencyToSelect,selectedText;if(selectedOrigin.length!==0){originCode=selectedOrigin[0].code;currencyToSelect="";switch(originCode){case"DXB":currencyToSelect="AED";break;case"KWI":currencyToSelect="KWD";break;case"BER":currencyToSelect="EUR";break;case"BAH":currencyToSelect="BHD";break;default:currencyToSelect="SAR"}$("#ddlCurrency").val(currencyToSelect);$("#ddlCurrency").trigger("change");selectedText=$("#ddlCurrency option:selected").text();$("#ddlCurrency").parent().find(".select-selected").html(selectedText)}},setDestinationDropdown=function(selectedOrigin,ctrlStation,openSelection){var destinationStationArrays=[],marketStations,data;selectedOrigin.length>0&&selectedOrigin[0].id!==""&&(marketStations=getSelectedStationMarkets(selectedOrigin[0].code),data=$.map(marketStations,function(obj){return obj.id=obj.id||obj.code,obj.text=obj.text||obj.name,obj}),destinationStationArrays=$.grep(data,function(item){return item.id!==selectedOrigin[0].id}));$(ctrlStation).empty();bindStationControl(ctrlStation,destinationStationArrays,!0);setDefaultStation(ctrlStation);openSelection&&$(ctrlStation).select2("open")},bindFares=function(fromStation,toStation,startDate){var originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data"),currency,payload;if(originArray.length!==0&&destinationArray.length!==0){var origin=originArray[0].code,destination=destinationArray[0].code,requestedMonths=[];requestedMonths.push(startDate.split("-")[0]+"-"+startDate.split("-")[1]);currency=$(element).find("#ddlCurrency").val();payload={currency:currency,destination:destination,origin:origin,requestedMonths:requestedMonths};$.ajax({url:"/Umbraco/Api/SettingsApi/GetLowFareAvailability",data:JSON.stringify(payload),method:"POST",contentType:"application/json; charset=utf-8",success:function(data){lowestFares=data;addFareNodes(data,origin,destination,currency);$(".datefaretd.available").on("mousedown",function(){setTimeout(function(){addFareNodes(data,origin,destination,currency)},1e3)})},error:function(error){console.log(error)}})}},bindTripTypes=function(){var startDate=getStartDateOnTripTypeChange();$(oneWayInput).click(function(){startDate=getStartDateOnTripTypeChange();bindTravelDates(dateRangeElement,{singleDatePicker:!0,startDate:startDate,endDate:null});$(element).find("#frmFlightSearch .invalid-tooltip").hide();$("#lblArrivalLabel").hide();$("#lblArrivalDate").text("");$("#lblArrivalDate").hide();$("#pnlMultiCityContent").hide();$(btnAddMultiCityRow).parent().parent().hide();showStopOverDetails();$(btnStopOverBooking).is(":checked")&&$(element).find("#pnlStopOverBooking").show();$("#onewayContent .flight-number").addClass("single-trip");$("#onewayContent .flight-number").hide()});$(twoWayInput).click(function(){startDate=getStartDateOnTripTypeChange();bindTravelDates(dateRangeElement,{singleDatePicker:!1,startDate:startDate,endDate:startDate});$(element).find("#frmFlightSearch .invalid-tooltip").hide();$("#lblArrivalLabel").show();$("#lblArrivalDate").show();$("#pnlMultiCityContent").hide();$(btnAddMultiCityRow).parent().parent().hide();showStopOverDetails();$(btnStopOverBooking).is(":checked")&&$(element).find("#pnlStopOverBooking").show();$("#onewayContent .flight-number").addClass("single-trip");$("#onewayContent .flight-number").hide()});$(multiCityWayInput).click(function(){startDate=getStartDateOnTripTypeChange();bindTravelDates(dateRangeElement,{singleDatePicker:!0,startDate:startDate,endDate:null});$(element).find("#frmFlightSearch .invalid-tooltip").hide();$("#lblArrivalLabel").hide();$("#lblArrivalDate").hide();showMultiCityRows();bindMultiCityRow(1);$(element).find("#cbStopOver").length>0&&($(element).find("#cbStopOver").prop("checked",!1),$(element).find("#pnlStopOverBooking").hide(),$(".divstopovercheckbox").hide());$(element).find(".btn-flight-search-submit").prepend($(btnFlightSearchSubmit));$("#onewayContent .flight-number").show();$("#onewayContent .flight-number").removeClass("single-trip")})},getStartDateOnTripTypeChange=function(){var startDate=moment();return $(dateRangeElement).data("daterangepicker").singleDatePicker?$(dateRangeElement).data("daterangepicker").startDate:$(dateRangeElement).data("daterangepicker").startDate},setPassengerCount=function(passengerTypeRow,operator){var countControl=$(passengerTypeRow).find("span"),btnPlus=$(passengerTypeRow).find("i.fa-plus").parent(),btnMinus=$(passengerTypeRow).find("i.fa-minus").parent(),currentCount=parseInt($(countControl).text(),10);switch(operator){case"+":currentCount++;break;case"-":currentCount--}$(countControl).text(currentCount);currentCount===0?$(btnMinus).attr("disabled","disabled"):$(btnMinus).removeAttr("disabled")},validatePassengerLimit=function(){var adultCount=0,childCount=0,infantCount=0,adultCountCtrl,childCountCtrl,infantCountCtrl;$(element).find("span.span-passenger-count").each(function(index,item){switch($(item).data("passengertype")){case"adult":adultCount=parseInt($(item).text(),10);adultCountCtrl=$(item);break;case"child":childCount=parseInt($(item).text(),10);childCountCtrl=$(item);break;case"infant":infantCount=parseInt($(item).text(),10);infantCountCtrl=$(item)}});adultCount+childCount>=9?$(groupBookingText).show():$(groupBookingText).hide();adultCount+childCount===9?($(adultCountCtrl).parent().find("i.fa-plus").parent().attr("disabled","disabled"),$(childCountCtrl).parent().find("i.fa-plus").parent().attr("disabled","disabled")):($(adultCountCtrl).parent().find("i.fa-plus").parent().removeAttr("disabled"),$(childCountCtrl).parent().find("i.fa-plus").parent().removeAttr("disabled"));adultCount===1&&$(adultCountCtrl).parent().find("i.fa-minus").parent().attr("disabled","disabled");infantCount>=adultCount?($(infantCountCtrl).text(adultCount),$(infantCountCtrl).parent().find("i.fa-plus").parent().attr("disabled","disabled")):$(infantCountCtrl).parent().find("i.fa-plus").parent().removeAttr("disabled")},setPassengerLabel=function(){var adultCount=parseInt($("#lblAdultCount").text(),10),childCount=parseInt($("#lblChildCount").text(),10),infantCount=parseInt($("#lblInfantCount").text(),10),passengerDetails="",adultCountCtrl;$(element).find("span.span-passenger-count").each(function(index,item){$(item).data("passengertype")==="adult"&&(adultCount=parseInt($(item).text(),10),adultCountCtrl=$(item))});adultCount===1&&$(adultCountCtrl).parent().find("i.fa-minus").parent().attr("disabled","disabled");passengerDetails="<i class='fa fa-user d-inline-block item-icon'><\/i>"+adultCount;childCount>0&&(passengerDetails+=", <i class='fa fa-child d-inline-block item-icon'><\/i>"+childCount);infantCount>0&&(passengerDetails+=", <i class='fa fa-baby d-inline-block item-icon'><\/i>"+infantCount);$("#btnPassengerDetails").html(passengerDetails)},getLocation=function(){var browserWidth=document.documentElement.clientWidth;browserWidth<=760||navigator.permissions.query({name:"geolocation"}).then(function(result){result.state=="granted"?navigator.geolocation&&navigator.geolocation.getCurrentPosition(setGeoLocation,function(e){console.log(e)}):result.state=="prompt"?navigator.geolocation&&navigator.geolocation.getCurrentPosition(setGeoLocation,function(e){console.log(e)}):result.state=="denied"&&setGeoLocation(null);result.onchange=function(){}})},setGeoLocation=function(position){position!==null&&(geoLocation.latitude=position.coords.latitude,geoLocation.longitude=position.coords.longitude);setDefaultOrigin()},setDefaultOrigin=function(){setDistance2stations(stations);var closestLocation=getClosestLocation(stations);closestLocation!==null&&(isDefaultOriginSelection=!0,$(ctrlFromStation).val(closestLocation.code),$(ctrlFromStation).trigger("change"),setDestinationDropdown($(ctrlFromStation).select2("data"),ctrlToStation,!1))},setDefaultStation=function(selectElement){if($(selectElement).find("option[value='']").length>0)$(selectElement).val("").trigger("change");else{var newOption=new Option("","",!0,!0);$(selectElement).append(newOption).trigger("change")}},setPlaceholderStation=function(selectElement,placeholderStation){if($(selectElement).find("option[value='']").length>0)$(ctrlToStation).val("").trigger("change");else{var newOption=new Option(placeholderStation.text,placeholderStation.id,!0,!0);$(selectElement).append(newOption).trigger("change")}},setDistance2stations=function(gstations){geoLocation.latitude!==""&&geoLocation.longitude!==""&&geoLocation.latitude!==undefined&&geoLocation.longitude!==undefined&&$.each(gstations,function(){var distance=calculateDistance(parseDMS(this.latitude),parseDMS(this.longtitude),geoLocation.latitude,geoLocation.longitude);this.distance=distance})},getClosestLocation=function(gstations){var minDistance=gstations.reduce((min,station)=>station.distance<min?station.distance:min,gstations[0].distance),closestStation=null,searchCriteria;return minDistance!==undefined&&minDistance!==null?closestStation=gstations.find(res=>res.distance===minDistance):(searchCriteria=getPreviousSearchParamsFromLocalStorage(),searchCriteria===null&&(closestStation=domainCulture=="en-eu"?gstations.find(res=>res.code==="BER"):gstations.find(res=>res.code==="RUH"))),closestStation},calculateDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),dLon=deg2rad(lon2-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(dLon/2)*Math.sin(dLon/2),c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return 6371*c},deg2rad=function(deg){return deg*(Math.PI/180)},parseDMS=function(input){var direction=input.substring(input.length-1,input.length).toUpperCase();if(direction==="W"||direction==="E"){var len=3,deg=input.substring(0,len),min=input.substring(len,len+2),sec=input.substring(len+2,input.length-1);return convertDMSToDD(deg,min,sec,direction)}if(direction==="N"||direction==="S"){var len1=2,deg1=input.substring(0,len1),min1=input.substring(len1,len1+2),sec1=input.substring(len1+2,input.length-1);return convertDMSToDD(deg1,min1,sec1,direction)}},convertDMSToDD=function(degrees,minutes,seconds,direction){var dd=parseFloat(degrees)+parseFloat(minutes/60)+parseFloat(seconds/3600);return(direction=="S"||direction=="W")&&(dd=dd*-1),dd},gatherParams=function(){var originArray=$(ctrlFromStation).select2("data"),destinationArray=$(ctrlToStation).select2("data"),params,stopOverData;if(originArray.length!==0&&destinationArray.length!==0){var origin=originArray[0].code,destination=destinationArray[0].code,currency=$(element).find("#ddlCurrency").val(),flightMode=$(element).find("input[name='trip-type']:checked").val(),flightSearchDateRangePicker=$(element).find("#flightSearchDateRange").data("daterangepicker"),departureDate=flightSearchDateRangePicker.startDate.format("YYYY-MM-DD"),returnDate=flightSearchDateRangePicker.endDate.format("YYYY-MM-DD"),adultCount=$("#lblAdultCount").text(),childCount=$("#lblChildCount").text(),infantCount=$("#lblInfantCount").text(),promoCode=$(element).find("#txtPromoCode").val(),multicityObject=[],websiteSource="SA",currentUrl=$("#ddlCountryMenu").data("url");return(currentUrl.split("/")[1]=="en-ae"||currentUrl.split("/")[1]=="ar-ae")&&(websiteSource="AE"),params={origin:origin,destination:destination,currency:currency,departureDate:departureDate,returnDate:returnDate,flightMode:flightMode,adultCount:adultCount,childCount:childCount,infantCount:infantCount,promoCode:promoCode,naSmiles:!1,specialDiscount:null,culture:flightSearchUrlCulture,reference:null,multicityObject:multicityObject,locationsource:websiteSource},flightMode.toLowerCase()==="multi"&&$.each($(element).find(".multi-city-row"),function(index){var rowNumber=index+1,fromStationArray=$(element).find("#multiCityRow"+rowNumber).find("select[name='fromStation']").select2("data"),toStationArray=$(element).find("#multiCityRow"+rowNumber).find("select[name='toStation']").select2("data"),departureDate=$(element).find("#multiCityRow"+rowNumber).find("input[name='flightSearchDateRange']").data("daterangepicker").startDate;rowNumber===1?(params.origin1=fromStationArray[0].code,params.destination1=toStationArray[0].code,params.returnDate=departureDate.format("YYYY-MM-DD")):multicityObject.push({origin:fromStationArray[0].code,destination:toStationArray[0].code,departureDate:departureDate.format("YYYY-MM-DD")})}),stopOverData=getStopOverParams(),isStopOverBooking=$(element).find("#cbStopOver").is(":visible")&&$(element).find("#pnlStopOverBooking").is(":visible")&&stopOverData.cityCode!==""?!0:!1,params}},getStopOverParams=function(){return{tripDirection:$(element).find("input[name='StopOverTripDirection']:checked").val(),cityCode:$(ddlStopoverCity).val(),numberOfDays:$(lblStopOverDaysCount).text()}},submitFlightSearch=function(params){var selectedSOVcity,cmsURLParamters,redirectUrl;if(isStopOverBooking&&(selectedSOVcity=ddlStopoverCity.val(),selectedSOVcity==""||selectedSOVcity==undefined))return $("#ddlStopoverCity").next('div[class="invalid-feedback"]').html(translations.SOVrequiredcity).show(),!1;cmsURLParamters=getCMSUrlParameter();params.isStopOverBooking=isStopOverBooking;isStopOverBooking&&(params.stopOverData=getStopOverParams());window.localStorage.setItem("searchCriteria",JSON.stringify(params));params.promoRef=$(element).find("#hdnPartnerReference").val();params.promoCode=$(element).find("#txtPromoCode").val();redirectUrl=flightSearchUrl+"?origin="+params.origin+"&destination="+params.destination+"&origin1="+params.origin1+"&destination1="+params.destination1+"&currency="+params.currency+"&departureDate="+params.departureDate+"&returnDate="+params.returnDate+"&flightMode="+params.flightMode+"&adultCount="+params.adultCount+"&childCount="+params.childCount+"&infantCount="+params.infantCount+"&promoCode="+params.promoCode+"&naSmiles="+params.naSmiles+"&specialDiscount="+params.specialDiscount+"&culture="+bookingCulture+"&reference="+params.promoRef+"&multicityObject="+encodeURIComponent(JSON.stringify(params.multicityObject))+"&locationsource="+params.locationsource;isStopOverBooking&&(redirectUrl+="&isStopoverbooking=true&stopoverdata="+encodeURIComponent(JSON.stringify(params.stopOverData)));cmsURLParamters!=undefined&&cmsURLParamters!=""&&(redirectUrl+=cmsURLParamters);window.location=redirectUrl},loadPreviousSearchCriteria=function(){var searchCriteria,count,multiCityCount,rowNumber;if(openDestinationDropDownSelection=!1,searchCriteria=getPreviousSearchParamsFromLocalStorage(),searchCriteria===null){getLocation();return}if($(element).find("input[value='"+searchCriteria.flightMode+"']").click(),$(btnFlightSearchPreSubmit).click(),$(ctrlFromStation).val(searchCriteria.origin),$(ctrlFromStation).trigger("change"),$(ctrlFromStation).trigger("select2:select"),searchCriteria.currency!=null&&(count=$('#ddlCurrency option[value="'+searchCriteria.currency+'"]').index(),$("#ddlCurrency").change(function(){var selectedCurrency=$("#ddlCurrency").val();$(".currency-dropdown .select-selected").text($("#ddlCurrency option[value='"+selectedCurrency+"']").text());$(".currency-dropdown .select-items div").removeClass("select-default");$(".currency-dropdown .select-items div:eq("+count+")").addClass("select-default")})),$("#lblAdultCount").text(searchCriteria.adultCount),$("#lblChildCount").text(searchCriteria.childCount),$("#lblInfantCount").text(searchCriteria.infantCount),setPassengerLabel(),$(dateRangeElement).data("daterangepicker").setStartDate(searchCriteria.departureDate),$(dateRangeElement).data("daterangepicker").setEndDate(searchCriteria.returnDate),$(dateRangeElement).parents("div.date-range-cell").find("span[name='DepartureDate']").html(getFormattedDate($(dateRangeElement).data("daterangepicker").startDate)),$(dateRangeElement).parents("div.date-range-cell").find("span[name='ArrivalDate']").length>0&&($(dateRangeElement).parents("div.date-range-cell").find("span[name='ArrivalDate']").html(getFormattedDate($(dateRangeElement).data("daterangepicker").endDate)),$(lblArrivalDate).parent().find(".invalid-tooltip").hide()),searchCriteria.flightMode==="multi")for(multiCityCount=searchCriteria.multicityObject.length+1,rowNumber=1;rowNumber<=multiCityCount;rowNumber++){rowNumber>1&&$(element).find("#btnAddMultiCityRow").click();var fromStation=$(element).find("#multiCityRow"+rowNumber).find("select[name='fromStation']"),toStation=$(element).find("#multiCityRow"+rowNumber).find("select[name='toStation']"),departureDateControl=$(element).find("#multiCityRow"+rowNumber).find("input[name='flightSearchDateRange']");rowNumber===1?($(fromStation).val(searchCriteria.origin1),$(fromStation).trigger("change"),$(fromStation).trigger("select2:select"),$(departureDateControl).data("daterangepicker").setStartDate(searchCriteria.returnDate),$(departureDateControl).parents("div.date-range-cell").find("span[name='DepartureDate']").html($(departureDateControl).data("daterangepicker").startDate.format("DD MMM YY"))):rowNumber>1&&($(fromStation).val(searchCriteria.multicityObject[rowNumber-2].origin),$(fromStation).trigger("change"),$(fromStation).trigger("select2:select"),$(departureDateControl).data("daterangepicker").setStartDate(searchCriteria.multicityObject[rowNumber-2].departureDate),$(departureDateControl).parents("div.date-range-cell").find("span[name='DepartureDate']").html($(departureDateControl).data("daterangepicker").startDate.format("DD MMM YY")))}else showStopOverDetails();searchCriteria.isStopOverBooking?($(element).find("#cbStopOver").length>0&&($(element).find("#cbStopOver").prop("checked",!0),$(element).find("#pnlStopOverBooking").show(),$(".divstopovercheckbox").show()),searchCriteria.stopOverData!=null&&searchCriteria.stopOverData!=undefined&&($(element).find("input[value='"+searchCriteria.stopOverData.tripDirection+"']").click(),$(lblStopOverDaysCount).text(searchCriteria.stopOverData.numberOfDays),$("#ddlStopoverCity").val(searchCriteria.stopOverData.cityCode))):$(element).find("#cbStopOver").length>0&&($(element).find("#cbStopOver").prop("checked",!1),$(element).find("#pnlStopOverBooking").hide(),$(".divstopovercheckbox").hide());isDefaultOriginSelection=!0;setTimeout(function(){openDestinationDropDownSelection=!0},300)},getPreviousSearchParamsFromLocalStorage=function(){var searchCriteriaJson=window.localStorage.getItem("searchCriteria");return searchCriteriaJson===null||searchCriteriaJson===undefined||searchCriteriaJson===""?null:JSON.parse(searchCriteriaJson)},setDestinationDropdownFromLocalStorage=function(selectedOrigin,destinationDropdown,rowNumber){var searchCriteria=getPreviousSearchParamsFromLocalStorage();if(searchCriteria===null){isDefaultOriginSelection=!1;openDestinationDropDownSelection=!0;return}rowNumber===0?selectedOrigin[0].code===searchCriteria.origin&&($(destinationDropdown).val(searchCriteria.destination),$(destinationDropdown).trigger("change")):rowNumber===1?selectedOrigin[0].code===searchCriteria.origin1&&($(destinationDropdown).val(searchCriteria.destination1),$(destinationDropdown).trigger("change")):rowNumber-2<=searchCriteria.multicityObject.length-1&&selectedOrigin[0].code===searchCriteria.multicityObject[rowNumber-2].origin&&($(destinationDropdown).val(searchCriteria.multicityObject[rowNumber-2].destination),$(destinationDropdown).trigger("change"))},showMultiCityRows=function(){flightText=$(".multi-city-invisible-row .flight-number").text();$("#pnlMultiCityContent").show();$(btnAddMultiCityRow).parent().parent().show();multiCityRowsCount===4&&$(btnAddMultiCityRow).parent().parent().hide();$(btnAddMultiCityRow).unbind("click");$(btnAddMultiCityRow).click(function(){multiCityRowsCount++;var newRow=$(".multi-city-invisible-row").clone();newRow.removeClass("multi-city-invisible-row");newRow.addClass("multi-city-row");newRow.attr("id","multiCityRow"+multiCityRowsCount);$(newRow).find(".flight-number").text(flightText+" "+(multiCityRowsCount+1));$(newRow).appendTo($("#pnlMultiCityRows"));$(newRow).show();bindMultiCityRow(multiCityRowsCount);multiCityRowsCount===4?$(btnAddMultiCityRow).parent().parent().hide():$(btnAddMultiCityRow).parent().parent().show()})},resetJourneyDates=function(){var flightMode=$(element).find("input[name='trip-type']:checked").val(),newStartDate;flightMode==="multi"&&(newStartDate=$(dateRangeElement).data("daterangepicker").startDate,$("#pnlMultiCityRows").find("input[name='flightSearchDateRange']").each(function(index,element){if($(element).is(":visible")){var elementStartDate=$(element).data("daterangepicker").startDate;newStartDate>elementStartDate&&(elementStartDate=moment(newStartDate).add(1,"days"),bindTravelDates($(element),{singleDatePicker:!0,startDate:elementStartDate,minDate:elementStartDate}));newStartDate=elementStartDate}}))},bindMultiCityRow=function(rowNumber){var fromStationInMultiRow=$(element).find("#multiCityRow"+rowNumber).find("select[name='fromStation']"),toStationInMultiRow=$(element).find("#multiCityRow"+rowNumber).find("select[name='toStation']"),selectedOrigin,prevselection,startDate;bindStationControl(fromStationInMultiRow,originStations,!0);setDefaultStation(fromStationInMultiRow);selectedOrigin=$(fromStationInMultiRow).select2("data");setDestinationDropdown(selectedOrigin,toStationInMultiRow,!1);$(fromStationInMultiRow).on("select2:select",function(){$(element).find("#pnlAdditionSearchDetails").show();$(element).find("#btnFlightSearchPreSubmit").hide();$(fromStationInMultiRow).parent().find(".invalid-tooltip").hide();setTimeout(function(){var selectedOrigin=$(fromStationInMultiRow).select2("data");selectedOrigin.length>0&&$("#manage").hasClass("active")||selectedOrigin.length>0&&$("#checkin").hasClass("active")||selectedOrigin.length>0&&$("#flightStatus").hasClass("active")||(setDestinationDropdownFromLocalStorage(selectedOrigin,toStationInMultiRow,rowNumber),setDestinationDropdown(selectedOrigin,toStationInMultiRow,openDestinationDropDownSelection),setDestinationDropdownFromLocalStorage(selectedOrigin,toStationInMultiRow,rowNumber))},200)});prevselection=null;$(fromStationInMultiRow).on("select2:opening",function(event){prevselection=$(event.target).find(":selected");$(fromStationInMultiRow).val(null)});$(toStationInMultiRow).on("select2:select",function(){$(toStationInMultiRow).parent().find(".invalid-tooltip").hide();$(element).find("#multiCityRow"+rowNumber).find("input[name='flightSearchDateRange']").focus()});$(element).find("#multiCityRow"+rowNumber).find("button[name='button-remove-city-row']").click(function(){multiCityRowsCount--;$(this).parent().parent().remove();$(element).find("#pnlMultiCityRows").find(".multi-city-row").each(function(index,rowElement){$(rowElement).attr("id","multiCityRow"+(index+1))});$(element).find("#pnlMultiCityRows").find(".multi-city-row").each(function(index,rowElement){$(rowElement).find(".flight-number").text(flightText+" "+(index+2))});$(btnAddMultiCityRow).parent().parent().show()});setDefaultStation(fromStationInMultiRow);setDefaultStation(toStationInMultiRow);$(element).find("#multiCityRow"+rowNumber).find(".swap-button").click(function(){swapOrigin(fromStationInMultiRow,toStationInMultiRow)});startDate=moment();startDate=rowNumber===1?$(dateRangeElement).data("daterangepicker").startDate:$(element).find("#multiCityRow"+(rowNumber-1)).find("input[name='flightSearchDateRange']").data("daterangepicker").startDate;startDate=moment(startDate).add(1,"days");bindTravelDates($(element).find("#multiCityRow"+rowNumber).find("input[name='flightSearchDateRange']"),{singleDatePicker:!0,startDate:startDate})},swapOrigin=function(fromStationCtrl,toStationCtrl){var fromStationArray=$(fromStationCtrl).select2("data"),toStationArray=$(toStationCtrl).select2("data"),data,destinationStationArrays;fromStationArray[0].code!=null&&toStationArray[0].code!=null&&($(fromStationCtrl).val(toStationArray[0].code),$(fromStationCtrl).trigger("change"),data=$.map(stations,function(obj){return obj.id=obj.id||obj.code,obj.text=obj.text||obj.name,obj}),destinationStationArrays=$.grep(data,function(item){return item.id!==toStationArray[0].id}),$(toStationCtrl).empty(),bindStationControl(toStationCtrl,destinationStationArrays,!0),$(toStationCtrl).val(fromStationArray[0].code),$(toStationCtrl).trigger("change"),setCurrencyBasedOnOrigin())},bindStationControl=function(control,controlData){var data=$.map(controlData,function(obj){return obj.id=obj.id||obj.code,obj.text=obj.text||obj.name,obj});$(control).select2({data:data,templateResult:FlynasCMS.Utility.formatStation,templateSelection:FlynasCMS.Utility.formatSelectedStation,matcher:FlynasCMS.Utility.matchStation,sorter:function(data){var textArray=data[0].text.split(" ");return textArray[textArray.length-1]=="(matched)"?getMacCodeBasedSortedStations(data):data},selectOnClose:!0})},getSelectedStationMarkets=function(stationCode){var marketStations=[],selectedMarketStation=$.grep(markets,function(market){return market.Key.toUpperCase()===stationCode.toUpperCase()}),marketStationCodes;return selectedMarketStation.length===0?marketStations:(marketStationCodes=selectedMarketStation[0].Value,$.each(marketStationCodes,function(index,code){var marketStation=$.grep(stations,function(station){return station.code.toUpperCase()===code.toUpperCase()});marketStation.length>0&&marketStations.push(marketStation)}),marketStations)},getAvailableOriginStations=function(stations){var originStations=[];return $.each(stations,function(index,station){var stationMarket=$.grep(markets,function(market){return market.Key.toUpperCase()===station.code.toUpperCase()});stationMarket.length>0&&originStations.push(station)}),originStations},getMacCodeBasedSortedStations=function(data){var sortedStations=data;return sortedStations.sort(function(station1,station2){var macCode1=station1.MacCode.toUpperCase(),macCode2=station2.MacCode.toUpperCase();return macCode1==="MAC"?-1:macCode2==="MAC"?1:station1.ShortName<station2.ShortName?-1:1})},renderCountDownTimer=function(){$(".count-down-timer").each(function(){var e=$(this).data("date"),r=new Date(e).getTime(),s=$(this),l=setInterval(function(){var t=(new Date).getTime(),e=r-t,n=Math.floor(e/864e5),i=Math.floor(e%864e5/36e5),a=Math.floor(e%36e5/6e4),o=Math.floor(e%6e4/1e3);s.find("#days").html(String(n).padStart(2,"0"));s.find("#hours").html(String(i).padStart(2,"0"));s.find("#minutes").html(String(a).padStart(2,"0"));s.find("#seconds").html(String(o).padStart(2,"0"));e<0&&(clearInterval(String(l).padStart(2,"0")),s.html("Expired"))},1e3)})},padTimeComponents=function(number){var numberText=number.toString();return numberText.length<2&&(numberText="0"+numberText),numberText},getFormattedDate=function(date){var formattedDate="";switch(translations.calendarDateFormat){case"DD MMM YY":formattedDate=moment(date).format("DD")+" "+translations.monthShortNames[moment(date).month()]+" "+moment(date).format("YY");break;case"DD YY MMM":formattedDate=moment(date).format("DD")+" "+translations.monthShortNames[moment(date).month()]+" "+moment(date).format("YY")}return formattedDate},getCMSUrlParameter=function(){var urlParameters="",sPageURL=decodeURIComponent(window.location.search.substring(1)),sURLVariables=sPageURL.split("&"),sParameterName,i;if(sPageURL!="")for(i=0;i<sURLVariables.length;i++)sParameterName=sURLVariables[i].split("="),urlParameters=urlParameters==""?"&"+sParameterName[0]+"="+sParameterName[1]:urlParameters+"&"+sParameterName[0]+"="+sParameterName[1];return urlParameters};return{initialize:initialize}};
//# sourceMappingURL=/sb/nmap/flight-search-js.js.v7de777cefc3f9aa96b4646d8800bd066d8120262