Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SIA.stickySidebar = function() {
- var global = SIA.global,
- win = global.vars.win;
- var bookingNav = $("[data-fixed].sidebar");
- var innerBookingNav = bookingNav.children(".inner");
- if (bookingNav.length) {
- win.scrollTop(0);
- var wrapperBookingNav = bookingNav.parent();
- var startScroll, maxScroll, topRelative;
- win.off("scroll.sticky").on("scroll.sticky", function() {
- if (window.innerWidth >= global.config.tablet) {
- var currentTop = win.scrollTop();
- startScroll = bookingNav.offset().top;
- maxScroll = (wrapperBookingNav.height() + wrapperBookingNav.offset().top) - innerBookingNav.height() - 140;
- topRelative = bookingNav.height() - innerBookingNav.height();
- innerBookingNav.css({
- left: bookingNav.offset().left
- });
- if (startScroll <= currentTop) {
- innerBookingNav.removeClass("inner-relative").addClass("inner-fixed").css("top", "");
- if (currentTop + innerBookingNav.height() >= bookingNav.height() + startScroll) {
- innerBookingNav.removeClass("inner-fixed").addClass("inner-relative").css({
- top: topRelative
- });
- }
- } else {
- innerBookingNav.removeClass("inner-fixed inner-relative").css("top", "");
- }
- }
- });
- win.off("resize.stickySidebar").on("resize.stickySidebar", function() {
- innerBookingNav.css("left", "auto");
- if (window.innerWidth < global.config.tablet) {
- innerBookingNav.removeClass("inner-fixed").removeClass("inner-relative");
- }
- });
- }
- };
- var WTFROLAND = WTFROLAND || {};
- $(document).ready(function() {
- $("#seat-4-submit").click(function() {
- var nexttab = $(".seat-tabs .tab .tab-item.active").next().find("a");
- setPassenger();
- $("#jQserialValue").val(true);
- if ($("#seat-4-submit").val() != saar5.l.seateconomy.nextflightcontinue && $("#seat-4-submit").val() != saar5.l.seateconomy.next) {
- var newFlightDate = $('[name="newFlightDate"]');
- var newFlightNumber = $('[name="newFlightNumber"]');
- var newDepartureSegment = $('[name="newDepartureSegment"]');
- var newArrivalSegment = $('[name="newArrivalSegment"]');
- newFlightDate.val(nexttab.attr("data-flightdate"));
- newFlightNumber.val(nexttab.attr("data-flightnumber"));
- newDepartureSegment.val(nexttab.attr("data-departsegment"));
- newArrivalSegment.val(nexttab.attr("data-arrivalsegment"));
- $("#_eventId_updateSeatMapEvent_submitSeatSelection").val("randomFlight");
- } else {
- $("#_eventId_updateSeatMapEvent_submitSeatSelection").val("updateSeatMap");
- }
- $("#_eventId").val("updateSeatMapEvent");
- $("#sidebar-tab-select").attr("name", "sidebartabselect");
- $("[id^=preferred-seat-]").attr("name", "preferredseat");
- });
- $("#seat-3-submit").click(function() {
- setPassenger();
- $("#jQserialValue").val(true);
- $("#_eventId").val("updateSeatMapEvent");
- $("#_eventId_updateSeatMapEvent_submitSeatSelection").val("updateSeatMap");
- $("#sidebar-tab-select").attr("name", "sidebartabselect");
- $("[id^=preferred-seat-]").attr("name", "preferredseat");
- });
- $("#form-prefer-submit-1").click(function(e) {
- e.preventDefault();
- setPassenger();
- $("#jQserialValue").val(true);
- $("#_eventId").val("updateSeatMapEvent");
- $("#sidebar-tab-select").attr("name", "sidebartabselect");
- $("[id^=preferred-seat-]").attr("name", "preferredseat");
- $("#form-seatmap").submit();
- });
- $(".multi-select.tab-select").change(function() {
- var preload = $(".overlay-loading");
- preload.removeClass("hidden").css("display", "block");
- $("#tab-clicked").val("true");
- setPassenger();
- $("#jQserialValue").val(true);
- $("#_eventId_updateSeatMapEvent_submitSeatSelection").val("randomFlight");
- $("#_eventId").val("updateSeatMapEvent");
- $("#sidebar-tab-select").attr("name", "sidebartabselect");
- $("[id^=preferred-seat-]").attr("name", "preferredseat");
- });
- });
- WTFROLAND.FileDrop = (function() {
- var overlay = $('<div class="drop-overlay" style="width:100%; height:100%; z-index: 99999; position: fixed; top:0; left: 0; background-color: rgba(255,255,255,0.95); overflow: hidden; -webkit-animation-duration: 1s"></div>');
- var dragTarget = $('<h1 style="font-size: 40px; position: relative; top: 30vh; left: 35vw; line-height: 40vh; padding: 30px; text-align:center; display block; width: 30vw; height: 40vh; border: 6px dash #333; border-style: dashed; border-radius: 20px; -webkit-animation-duration: 1s;">Drag file here.</h1>');
- var dragcont = $('<div class="hidden"></div>');
- var hasDragObj = false;
- var win = $(window);
- var body = $("body");
- var init = function() {
- body.append(dragcont);
- overlay.append(dragTarget);
- win.on({
- "dragover": function(e) {
- e.preventDefault();
- e.stopPropagation();
- if (!hasDragObj) {
- $("body").append(overlay);
- overlay.addClass("animated bounceInDown");
- overlay.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
- $(this).off().removeClass("animated bounceInDown");
- });
- hasDragObj = true;
- }
- body.addClass("no-overflow");
- return false;
- },
- "dragend": function(e) {
- e.preventDefault();
- e.stopPropagation();
- if (hasDragObj) {
- overlay.addClass("animated bounceOutDown");
- overlay.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
- $(this).off().removeClass("animated bounceOutDown");
- dragcont.append(overlay);
- hasDragObj = false;
- });
- }
- return false;
- },
- "drop": function(e) {
- e.preventDefault();
- e.stopPropagation();
- var file = e.originalEvent.dataTransfer.files[0],
- reader = new FileReader();
- reader.onload = function(event) {
- var handler = dragcont.data("handler");
- handler(event.target.result);
- };
- reader.readAsText(file);
- win.trigger("dragend");
- body.removeClass("no-overflow");
- return false;
- }
- });
- dragTarget.on({
- "dragenter": function(e) {
- e.preventDefault();
- e.stopPropagation();
- dragTarget.addClass("animated bounce");
- dragTarget.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
- $(this).removeClass("animated bounce");
- });
- return false;
- }
- });
- };
- var fileDrop = {
- dragcont: dragcont,
- init: init
- };
- return fileDrop;
- })();
- SIA.RenderSeat = (function() {
- var global = SIA.global;
- var body = global.vars.body;
- var container = $(".main-inner");
- var tabs = container.find(".seat-tabs>.tab");
- var select = container.find("#main-tab-select");
- var paxNav = container.find(".seat-tabs .tab-wrapper .booking-nav");
- var paxSelect, paxLabel;
- var paxPopup = $("#paxPopup .pax-group");
- var seatForm = container.find("#form-seatmap");
- var seatContainer = seatForm.children(".seatmap");
- var flightHeader = seatForm.siblings(".blk-heading");
- var equipCont = seatForm.find(".seat-equipped");
- var equipContUD = equipCont.clone(false).attr("id", "seat-ud").html("").addClass("hidden");
- equipCont.attr("id", "seat-md").before(equipContUD);
- var seatsCont = seatForm.find(".seatmap-content");
- var deckNav = seatsCont.find(".seat-deck-nav");
- var mainDeck = $('<div id="main-deck" class="seat-deck"></div>');
- var upperDeck = $('<div id="upper-deck" class="seat-deck"></div>');
- var wingCont = seatForm.find(".seat-bg");
- var seatObjects = {
- template: {
- cabin: '<div class="seatmap-cabin"><div class="seatmap-cabin-row seatmap-toprow"></div><div class="seatmap-cabin-wrapper"></div></div>',
- blk: '<div class="seatmap-row-block"></div>',
- seatRow: '<div class="seatmap-cabin-row"><span class="seatmap-rownum left">{0}</span><span class="seatmap-rownum right">{0}</span></div>',
- sLabel: '<div class="seatmap-columnletter">{1}</div>',
- seatColumn: '<div class="seatmap-row-block"></div>',
- aisle: '<div class="seat-aisle"></div>',
- inforSeat: '<span class="passenger-info__seat"></span>',
- space: '<div class="seatmap-cabin-separate"></div>',
- equipment: '<span class="seat-equipped-item">All seats are equipped with:</span>',
- equipmentLegend: '<div class="seat-legend"><div class="seat-legend-content"></div><a href="#" class="seat-legend__control">seat legend<em class="ico-down"></em></a></div>',
- wingStart: '<div class="seatmap-wings seatmap-wingstart"><div class="seatmap-wing-content"><span class="seatmap-wingtip left"><img src="/saar5/images/wing-start-l.png" alt="" /></span><span class="seatmap-wingtip right"><img src="/saar5/images/wing-start-r.png" alt="" /></span></div></div>',
- wingEnd: '<div class="seatmap-wings seatmap-wingend"><div class="seatmap-wing-content"><span class="seatmap-wingtip left"><img src="/saar5/images/wing-end-l.png" alt="" /></span><span class="seatmap-wingtip right"><img src="/saar5/images/wing-end-r.png" alt="" /></span></div></div>',
- genericMessage: "<p>Specific seat selection is not available on this flight, as it’s operated by our partner airline. Please choose your preferred seat type, and we’ll do our best to ensure that our partner airline fulfils your selection.</p>",
- genericSeats: '<div class="seatmap-content"><h4 class="sub-heading-2--grey">Legend</h4><div class="type-seatmap"><div class="type-seatmap-item"><div data-sia-rowblock="1" class="seatmap-row-block"><span class="seat seat-free">W</span><span class="seat seat-free"> </span><span class="seat seat-free">A</span></div><div class="seat-aisle"></div><div data-sia-rowblock="2" class="seatmap-row-block"><span class="seat seat-free">A</span><span class="seat seat-free"> </span><span class="seat seat-free">A</span></div><div class="seat-aisle"></div><div data-sia-rowblock="3" class="seatmap-row-block"><span class="seat seat-free">A</span><span class="seat seat-free"> </span><span class="seat seat-free">W</span></div></div></div><p class="note-text">Aircraft types may vary. For details, get in touch with our partner airline operating this flight.</p></div>',
- messageforRailCoach: "<p>Seat selection is not available for non-flight segments.</p>",
- wcag: {
- tpl: '<label for="" class="wcag" style="font-size:0;"></label>',
- seatPreferred: '<label for="" class="wcag" style="font-size:0;"></label><input type="text" id="" value="" class="hidden wcag" readonly="readonly" />',
- seatNormal: '<label for="" class="wcag" style="font-size:0;"></label><input type="text" id="" value="" class="hidden wcag" readonly="readonly" />',
- seatBassinet: '<label for="" class="wcag" style="font-size:0;"></label><input type="text" id="" value="" class="hidden wcag" readonly="readonly" />'
- }
- },
- deckClass: null
- };
- var cabinVO, rowVO, cl, rl, actLeg;
- var preselected = [],
- preselAttr = [],
- cabins = [],
- rows = [],
- paxGroups = [],
- paxTabs = [],
- paxOptions = [],
- paxRadios = [];
- var tabInfo = function() {
- var flightInfo = globalJson.seatMap.seatMapVO.flightDateInformationVO;
- var airCraftInfo = globalJson.seatMap.aircraftEquipmentVO.meansOfTransport;
- var l = flightInfo.length;
- for (var i = 0; i < l; i++) {
- var cinfo = flightInfo[i];
- var active = cinfo.selected === "true" ? " active" : "";
- var selected = cinfo.selected === "true" ? ' selected="selected"' : "";
- if (cinfo.selected === "true") {
- actLeg = cinfo;
- }
- var tab = null;
- var ct = '<div data-customselect="true" class="custom-select custom-select--2 hidden" data-replace-text-by-plane="to">' + '<label for="multi-select-limit-' + i + '" class="select__label"> </label><span class="select__text">' + cinfo.departureCityCode + ' <em class="ico-plane">?</em> ' + cinfo.arrivalCityCode + '</span><span class="ico-dropdown"></span>' + '<select id="multi-select-limit-' + i + '" name="multi-select-limit">' + "</select>" + "</div>";
- tab = $('<li class="tab-item' + active + '"><a href="javascript:void(0)" data-flightnumber="' + cinfo.marketingAirlineCode + cinfo.flightNumber + '" data-flightdate="' + cinfo.departureDate + '" data-departsegment="' + cinfo.departureCityCode + '" data-arrivalsegment="' + cinfo.arrivalCityCode + '">' + cinfo.departureCityCode + '<em class="ico-plane"></em>' + cinfo.arrivalCityCode + '<em class="ico-dropdown"></em></a>' + ct + "</li>");
- var opt = $('<option value="' + (i + 1) + '"' + selected + ' data-flightnumber="' + cinfo.marketingAirlineCode + cinfo.flightNumber + '" data-flightdate="' + cinfo.departureDate + '" data-departsegment="' + cinfo.departureCityCode + '" data-arrivalsegment="' + cinfo.arrivalCityCode + '">' + cinfo.departureCityCode + " to " + cinfo.arrivalCityCode + "</option>");
- tabs.append(tab);
- select.append(opt);
- if (l < 2) {
- tabs.hide();
- select.hide();
- }
- if (cinfo.selected === "true") {
- flightDetails(flightInfo[i].departureCity, flightInfo[i].arrivalCity, flightInfo[i].carrierNumber, airCraftInfo, flightInfo[i].classOfService, flightInfo[i].aircraftType);
- if (typeof flightInfo[i].operatingCarrier !== "undefined" && flightInfo[i].operatingCarrier != "") {
- var operatedBy = $("#seatOperatedBy");
- operatedBy.removeClass("hidden");
- var operatedByString = saar5.l.bookingsummary.operatedBy + " " + flightInfo[i].operatingCarrier;
- operatedBy.html(operatedByString);
- }
- }
- }
- if (l >= 3 && l <= 7) {
- tabs.parent().addClass("multi-tabs");
- } else {
- if (l > 7) {
- tabs.parent().addClass("multi-tabs-extra");
- }
- }
- };
- var tabWrapper = tabs.parent();
- var buildSelectForLongText = function() {
- var indexLimitTab = 0;
- var totalwid = 0;
- var tabItem = tabs.children();
- tabItem.each(function(i) {
- var self = $(this);
- var ctselect = self.find("select");
- ctselect.empty().append(select.children(":eq(" + i + "),:gt(" + i + ")").clone());
- if (totalwid + self.outerWidth() <= global.config.tablet && !tabItem.eq(indexLimitTab).hasClass("limit-item")) {
- totalwid += (self.outerWidth() - (self.find("em.ico-dropdown").is(":hidden") ? 0 : self.find("em.ico-dropdown").outerWidth(true)));
- indexLimitTab = i;
- } else {
- if (!tabItem.eq(indexLimitTab).hasClass("limit-item")) {
- tabItem.eq(indexLimitTab).addClass("limit-item").children("[data-customselect]").removeClass("hidden");
- }
- }
- });
- tabWrapper.addClass("multi-tabs");
- tabItem.filter(":gt(" + indexLimitTab + ")").addClass("hidden");
- if (tabItem.eq(indexLimitTab).hasClass("limit-item")) {
- var multiSelect = tabItem.eq(indexLimitTab).find("select");
- var customSelectEl = multiSelect.closest("[data-customselect]");
- var limitItem = customSelectEl.closest(".limit-item");
- var indexOfFakeTab = limitItem.index();
- var indexTab = limitItem.is(".active") ? indexOfFakeTab : limitItem.siblings("li.active").index();
- var indexHolder = 0;
- customSelectEl.customSelect({
- itemsShow: 5,
- heightItem: 43,
- scrollWith: 2
- });
- var changeIcon = function() {
- var displayTxtEl = customSelectEl.find(customSelectEl.data("customSelect").options.customText),
- txt = multiSelect.find("option:selected").text(),
- txtReplace = customSelectEl.data("replaceTextByPlane"),
- regx = new RegExp(txtReplace, "gi");
- displayTxtEl.html(txt.replace(regx, '<em class="ico-plane">?</em>'));
- customSelectEl.siblings(".mark-desktop").html(txt.replace(regx, '<em class="ico-plane">?</em>') + '<em class="ico-dropdown"></em>');
- };
- customSelectEl.off("beforeSelect.triggerTab").on("beforeSelect.triggerTab", function() {
- changeIcon();
- });
- if (tabs.data("click-through")) {
- customSelectEl.addClass("click-through");
- customSelectEl.off("click.triggerTab").on("click.triggerTab", function() {
- customSelectEl.closest("li").find("> a").trigger("click.switch-flight");
- });
- }
- customSelectEl.off("afterSelect.triggerTab").on("afterSelect.triggerTab", function() {
- changeIcon();
- var curIndex = customSelectEl.data("customSelect").element.curIndex;
- tabs.find("> li > a").eq(curIndex + indexOfFakeTab).trigger("click.switch-flight");
- if (indexTab >= indexLimitTab) {
- multiSelect.prop("selectedIndex", indexHolder);
- customSelectEl.customSelect("refresh");
- changeIcon();
- }
- });
- if (indexTab > indexLimitTab) {
- multiSelect.prop("selectedIndex", indexTab - limitItem.index());
- indexHolder = indexTab - limitItem.index();
- customSelectEl.customSelect("refresh");
- limitItem.siblings("li.active").removeClass("active").end().addClass("active");
- }
- changeIcon();
- }
- };
- buildSelectForLongText();
- var flightDetails = function(o, d, cn, ac, c, at) {
- if (typeof ac === "undefined") {
- ac = "";
- } else {
- ac = ac + " ";
- }
- flightHeader.find("h3").html(o + " " + saar5.l.seateconomy.toLabel + " " + d);
- if (at === "TRN" || at === "BUS") {
- flightHeader.find("h4").html(cn + " " + ac);
- } else {
- flightHeader.find("h4").html(cn + " " + ac + "– " + c);
- }
- };
- var paxDetails = function() {
- var paxAr = globalJson.seatMap.passengerAndSeatAssociationVO;
- var start = globalJson.seatMap.seatMapVO.passengerStartingPoint;
- paxNav.html('<label class="tab-select_label hidden" for="sidebar-tab-select"> </label><select name="sidebartabselect" id="sidebar-tab-select" class="tab-select"></select>');
- paxSelect = paxNav.find("#sidebar-tab-select");
- paxLabel = paxNav.find(".tab-select_label");
- paxPopup.html('<label class="tooltip__label">Select this seat for:</label>');
- var l = paxAr.length;
- var wChild = [];
- for (var i = 0; i < l; i++) {
- var po = paxAr[i];
- var active = (po.passengerId) == parseInt(start) ? " active" : "";
- var seat = "";
- var disabled = "";
- if (po.passengerType.toLowerCase() === "infant") {
- var ad;
- var newSeatVal = "";
- for (var j = l - 1; j >= 0; j--) {
- if (paxAr[j].passengerId === po.passengerId) {
- ad = paxAr[j];
- wChild.push(j);
- break;
- }
- }
- if (po.seatNumber.toLowerCase() !== "na") {
- var seatNo = po.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- seat = '<span class="passenger-info__seat">' + seatNo + "</span>";
- preselected.push([seatNo, po.passengerId, paxTabs.length + 1]);
- preselAttr.push(seatNo);
- disabled = ' disabled="disabled"';
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxTabs.length + '">'));
- newSeatVal = seatNo;
- }
- if (ad.seatNumber.toLowerCase() !== "na") {
- var seatNo = ad.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- seat = '<span class="passenger-info__seat">' + seatNo + "</span>";
- preselected.push([seatNo, po.passengerId, paxTabs.length + 1]);
- preselAttr.push(seatNo);
- disabled = ' disabled="disabled"';
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxTabs.length + '">'));
- newSeatVal = seatNo;
- }
- if (ad.seatNumber.toLowerCase() === "na" || po.seatNumber.toLowerCase() === "na") {
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + '-NA" data-paxindex="' + paxTabs.length + '">'));
- }
- var adultName = ad.passengerName.length > 0 ? ad.passengerName + " - " + ad.passengerType : "Passenger " + (paxTabs.length + 1) + " - " + ad.passengerType;
- var infantName = po.passengerName.length > 0 ? po.passengerName + "<span> - " + po.passengerType + "</span>" : "Passenger " + (paxTabs.length + 1) + " - " + po.passengerType;
- var paxTab = $('<a href="#" class="booking-nav__item' + active + '"><span class="passenger-info"><span class="passenger-info__number">' + (paxTabs.length + 1) + '.</span><span class="passenger-info__text">' + adultName + " <br/> " + infantName + '</span><em class="ico-point-r"></em><input type="hidden" name="paxNew[]" data-name="' + po.passengerId + '" value="' + newSeatVal + '"></span>' + seat + "</a>");
- paxTab.data("paxDetails", [newSeatVal]);
- console.log(paxTab.data("paxDetails"));
- var option = $('<option value="' + (paxTabs.length + 1) + '">' + adultName + " - " + infantName + "(Infant)</option>");
- var paxRadio = $('<div class="custom-radio custom-radio--1 ' + (disabled ? "disabled" : "") + '"><input name="search-radio" id="seat-tooltip-radio-' + po.passengerId + '" type="radio"' + disabled + ' value="' + newSeatVal + '"><label for="seat-tooltip-radio-' + po.passengerId + '">' + adultName + " <br/> " + infantName + "</label>" + seat + "</div>");
- paxTab.attr("data-hasinfant", true);
- option.attr("data-hasinfant", true);
- paxGroups.push(ad);
- paxTabs.push(paxTab);
- paxOptions.push(option);
- paxRadios.push(paxRadio);
- } else {
- if (po.paxHasInfant.toLowerCase() === "yes") {
- continue;
- }
- var seatNo;
- var newSeatVal = "";
- if (po.seatNumber.toLowerCase() !== "na") {
- seatNo = po.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- seat = '<span class="passenger-info__seat">' + seatNo + "</span>";
- preselected.push([seatNo, po.passengerId, paxTabs.length + 1]);
- preselAttr.push(seatNo);
- disabled = ' disabled="disabled"';
- newSeatVal = seatNo;
- } else {
- seatNo = "NA";
- }
- var paxName = po.passengerName.length > 0 ? po.passengerName + " - " + po.passengerType : "Passenger " + (paxTabs.length + 1) + " - " + po.passengerType;
- var paxTab = $('<a href="#" class="booking-nav__item' + active + '"><span class="passenger-info"><span class="passenger-info__number">' + (paxTabs.length + 1) + '.</span><span class="passenger-info__text">' + paxName + '</span><em class="ico-point-r"></em><input type="hidden" name="paxNew[]" data-name="' + po.passengerId + '" value="' + newSeatVal + '"></span>' + seat + "</a>");
- paxTab.data("paxDetails", [newSeatVal]);
- console.log(paxTab.data("paxDetails"));
- var option = $('<option value="' + (paxTabs.length + 1) + '">' + paxName + "</option>");
- var paxRadio = $('<div class="custom-radio custom-radio--1 ' + (disabled ? "disabled" : "") + '"><input name="search-radio" id="seat-tooltip-radio-' + po.passengerId + '" type="radio"' + disabled + ' value="' + newSeatVal + '"><label for="seat-tooltip-radio-' + po.passengerId + '">' + paxName + "</label>" + seat + "</div>");
- if (po.oldSeatNumber) {
- paxTab = $('<a href="#" class="booking-nav__item' + active + '" data-oldseatnumber="' + po.oldSeatNumber + '" data-assignseatnumber="' + po.seatNumber + '"><span class="passenger-info"><span class="passenger-info__number">' + (paxTabs.length + 1) + '.</span><span class="passenger-info__text">' + paxName + '</span><em class="ico-point-r"></em><input type="hidden" name="paxNew[]" data-name="' + po.passengerId + '" value="' + newSeatVal + '"></span>' + seat + "</a>");
- paxRadio = $('<div class="custom-radio custom-radio--1 ' + (disabled ? "disabled" : "") + '"><input name="search-radio" data-oldseatnumber="' + po.oldSeatNumber + '" data-assignseatnumber="' + po.seatNumber + '" id="seat-tooltip-radio-' + po.passengerId + '" type="radio"' + disabled + ' value="' + newSeatVal + '"><label for="seat-tooltip-radio-' + po.passengerId + '">' + paxName + "</label>" + seat + "</div>");
- }
- if (po.passengerType.toLowerCase() === "child") {
- paxTab.attr("data-ischild", true);
- option.attr("data-ischild", true);
- }
- paxGroups.push(po);
- paxTabs.push(paxTab);
- paxOptions.push(option);
- paxRadios.push(paxRadio);
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxTabs.length + '">'));
- }
- var wcag = $('<label for="paxNav' + i + '" class="wcag" style="font-size:0;">Passenger ' + paxTabs[paxTabs.length - 1].find(".passenger-info__text").text() + " selected seat " + paxTabs[paxTabs.length - 1].find(".passenger-info__seat").text() + '</label><input type="text" id="paxNav' + i + '" value="Passenger ' + paxTabs[paxTabs.length - 1].find(".passenger-info__text").text() + " selected seat " + paxTabs[paxTabs.length - 1].find(".passenger-info__seat").text() + '" class="hidden wcag" readonly="readonly" />');
- paxTabs[paxTabs.length - 1].append(wcag);
- }
- var pl = paxTabs.length;
- for (var i = 0; i < pl; i++) {
- paxLabel.before(paxTabs[i]);
- paxSelect.append(paxOptions[i]);
- paxPopup.append(paxRadios[i]);
- }
- seatContainer.attr("data-preselected", preselAttr.toString());
- };
- var updateInputFields = function() {
- var curFlight;
- for (var i = globalJson.seatMap.seatMapVO.flightDateInformationVO.length - 1; i >= 0; i--) {
- if (globalJson.seatMap.seatMapVO.flightDateInformationVO[i].selected === "true") {
- curFlight = globalJson.seatMap.seatMapVO.flightDateInformationVO[i];
- break;
- }
- }
- var flowIndicator = curFlight.FlowIndicator;
- var existingFlightDate = curFlight.departureDate;
- var existingFlightNumber = curFlight.flightNumber;
- var existingDepartureSegment = curFlight.departureCityCode;
- var existingArrivalSegment = curFlight.arrivalCityCode;
- var existingCabin = curFlight.existingCabin;
- var newFlightDate = curFlight.newFlightDate;
- var newFlightNumber = curFlight.newFlightNumber;
- var newDepartureSegment = curFlight.newDepartureSegment;
- var newArrivalSegment = curFlight.newArrivalSegment;
- var newCabin = curFlight.newCabin;
- var paymentRequired = curFlight.paymentRequired;
- if (typeof flowIndicator !== "undefined") {
- $('input[name="FlowIndicator"]').val(flowIndicator);
- } else {
- $('input[name="FlowIndicator"]').val("NA");
- }
- if (typeof existingFlightDate !== "undefined") {
- $('input[name="existingFlightDate"]').val(existingFlightDate);
- } else {
- $('input[name="existingFlightDate"]').val("NA");
- }
- if (typeof existingFlightNumber !== "undefined") {
- $('input[name="existingFlightNumber"]').val(existingFlightNumber);
- } else {
- $('input[name="existingFlightNumber"]').val("NA");
- }
- if (typeof existingFlightNumber !== "undefined") {
- $('input[name="existingFlightNumber"]').val(existingFlightNumber);
- } else {
- $('input[name="existingFlightNumber"]').val("NA");
- }
- if (typeof existingDepartureSegment !== "undefined") {
- $('input[name="existingDepartureSegment"]').val(existingDepartureSegment);
- } else {
- $('input[name="existingDepartureSegment"]').val("NA");
- }
- if (typeof existingArrivalSegment !== "undefined") {
- $('input[name="existingArrivalSegment"]').val(existingArrivalSegment);
- } else {
- $('input[name="existingArrivalSegment"]').val("NA");
- }
- if (typeof existingCabin !== "undefined") {
- $('input[name="existingCabin"]').val(existingCabin);
- } else {
- $('input[name="existingCabin"]').val("NA");
- }
- if (typeof newFlightDate !== "undefined") {
- $('input[name="newFlightDate"]').val(newFlightDate);
- } else {
- $('input[name="newFlightDate"]').val("NA");
- }
- if (typeof newFlightNumber !== "undefined") {
- $('input[name="newFlightNumber"]').val(newFlightNumber);
- } else {
- $('input[name="newFlightNumber"]').val("NA");
- }
- if (typeof newDepartureSegment !== "undefined") {
- $('input[name="newDepartureSegment"]').val(newDepartureSegment);
- } else {
- $('input[name="newDepartureSegment"]').val("NA");
- }
- if (typeof newArrivalSegment !== "undefined") {
- $('input[name="newArrivalSegment"]').val(newArrivalSegment);
- } else {
- $('input[name="newArrivalSegment"]').val("NA");
- }
- if (typeof newCabin !== "undefined") {
- $('input[name="newCabin"]').val(newCabin);
- } else {
- $('input[name="newCabin"]').val("NA");
- }
- if (typeof paymentRequired !== "undefined") {
- $('input[name="paymentRequired"]').val(paymentRequired);
- } else {
- $('input[name="paymentRequired"]').val("NA");
- }
- var paxObj = globalJson.seatMap.passengerAndSeatAssociationVO;
- var paxType = [];
- var oldSeatType = [];
- for (var j = paxObj.length - 1; j >= 0; j--) {
- paxType.push(paxObj[j].passengerId + "-" + paxObj[j].passengerType);
- oldSeatType.push(paxObj[j].passengerId + "-" + paxObj[j].seatType);
- }
- $('input[name="paxType"]').val(paxType);
- $('input[name="oldSeatType"]').val(oldSeatType);
- };
- var renderMap = function() {
- seatObjects.deckClass = actLeg.classOfService;
- var seatClass = actLeg.classOfService.toLowerCase().replace(" class", "");
- seatsCont.addClass("seatmap--" + seatClass);
- seatsCont.append(upperDeck).append(mainDeck);
- var rowcount = 0;
- for (var cbc = 0; cbc < cl; cbc++) {
- var cabin = $(seatObjects.template.cabin);
- var cabinWrap = cabin.find(".seatmap-cabin-wrapper");
- var cabinTop = cabin.find(".seatmap-toprow");
- cabinWrap.data("groupLabels", []);
- cabinWrap.data("groupWrapper", []);
- cabins.push([cabinWrap, cabinTop]);
- var curEquipCont;
- if (cabinVO[cbc].cabinDetailsVO.cabinLocation === "U") {
- upperDeck.append(cabin);
- curEquipCont = equipContUD;
- } else {
- mainDeck.append(cabin);
- curEquipCont = equipCont;
- }
- var seat = cabinVO[cbc].cabinDetailsVO.seat;
- var bed = cabinVO[cbc].cabinDetailsVO.bed;
- var power = cabinVO[cbc].cabinDetailsVO.power;
- var screen = cabinVO[cbc].cabinDetailsVO.screen;
- if (typeof seat !== "undefined" || typeof bed !== "undefined" || typeof power !== "undefined" || typeof screen !== "undefined" && curEquipCont.children().length) {
- var eq = seatObjects.template.equipment;
- var eql = seatObjects.template.equipmentLegend;
- curEquipCont.html("").append($(eq));
- if (typeof seat !== "undefined") {
- curEquipCont.append($('<span class="seat-equipped-item"><em class="ico-1-flat-bed"></em>' + cabinVO[cbc].cabinDetailsVO.seat + "</span>"));
- }
- if (typeof bed !== "undefined") {
- curEquipCont.append($('<span class="seat-equipped-item"><em class="ico-1-flat-bed"></em>' + cabinVO[cbc].cabinDetailsVO.bed + "</span>"));
- }
- if (typeof power !== "undefined") {
- curEquipCont.append($('<span class="seat-equipped-item"><em class="ico-1-plug-in"></em>' + cabinVO[cbc].cabinDetailsVO.power + "</span>"));
- }
- if (typeof screen !== "undefined") {
- curEquipCont.append($('<span class="seat-equipped-item"><em class="ico-1-screen"></em>' + cabinVO[cbc].cabinDetailsVO.screen + "</span>"));
- }
- }
- if (!curEquipCont.find(".seat-legend").length) {
- curEquipCont.append($(eql));
- }
- var columnDetails = cabinVO[cbc].cabinDetailsVO.cabinColumnDetailsVO;
- var colCount = columnDetails.length;
- var bool = false;
- var grpCount = 0;
- var blk = $(seatObjects.template.blk);
- var curBlk = blk.clone();
- cabinTop.append(curBlk);
- cabinTop.append($(seatObjects.template.aisle));
- var curGrp = [];
- cabinWrap.data("groupLabels").push(curGrp);
- cabinWrap.data("groupWrapper").push(curBlk);
- for (var i = 0; i < colCount; i++) {
- var colLabelCont = $(seatObjects.template.sLabel);
- colLabelCont.text(columnDetails[i].seatColumn);
- curBlk.append(colLabelCont);
- curGrp.push(columnDetails[i].seatColumn);
- if (columnDetails[i].seatCharacteristic === "A" || columnDetails[i].seatCharacteristic === "W/A") {
- if (!bool) {
- curBlk = blk.clone();
- cabinTop.append(curBlk);
- bool = !bool;
- curGrp = [];
- } else {
- cabinTop.append($(seatObjects.template.aisle));
- bool = !bool;
- grpCount++;
- cabinWrap.data("groupLabels").push(curGrp);
- cabinWrap.data("groupWrapper").push(curBlk);
- }
- }
- }
- var tg = cabinTop.find(".seatmap-row-block").length;
- var colRowBlks = cabinTop.find(".seatmap-row-block");
- for (var i = colRowBlks.length - 1; i >= 0; i--) {
- colRowBlks.eq(i).attr("data-colgrp", i);
- }
- cabinTop.find(".seat-aisle").last().remove();
- var rowStart = cabinVO[cbc].cabinDetailsVO.cabinRangeOfRowsDetailVO.seatRowNumber[0];
- var rowEnd = cabinVO[cbc].cabinDetailsVO.cabinRangeOfRowsDetailVO.seatRowNumber[1];
- var crc = 0;
- for (var i = rowStart; i < rowEnd + 1; i++) {
- var r = getRow(i);
- if (!r) {
- continue;
- }
- var row = $(seatObjects.template.seatRow);
- row.find("span").text(i);
- row.attr("data-row", i);
- cabinWrap.append(row);
- mapRow(row, i, tg, cbc);
- if (row.hasClass("row-has-empty-seat") && !row.hasClass("seat-inner-bassinet") && !row.hasClass("seat-inner-galley")) {
- var empty = checkRowEmpty(row);
- if (empty) {
- row.remove();
- } else {
- rows.push(row);
- }
- }
- crc++;
- rowcount++;
- }
- var cabinFacilityObj = cabinVO[cbc].cabinFacilitiesDetailsVO;
- if (typeof cabinFacilityObj !== "undefined") {
- var cDir = true;
- if (cabinFacilityObj.rowLocation === "F") {
- cDir = false;
- }
- if (cabinFacilityObj.rowLocation === "R") {
- cDir = true;
- }
- cabinFacility(cabinWrap, cabinFacilityObj.cabinFacilitiesVO, cDir);
- }
- }
- mainDeck.addClass("active");
- upperDeck.addClass("active");
- var rowWingStart = seatsCont.find(".seat-wingstart");
- var rowWingEnd = seatsCont.find(".seat-wingend");
- if (upperDeck.children().length > 0 && mainDeck.children().length < 1) {
- mainDeck.removeClass("active");
- equipCont.addClass("hidden");
- equipContUD.removeClass("hidden");
- }
- if (mainDeck.children().length > 0 && upperDeck.children().length < 1) {
- upperDeck.removeClass("active");
- renderWings(rowWingStart, rowWingEnd);
- }
- if (upperDeck.children().length > 0 && mainDeck.children().length) {
- upperDeck.removeClass("active");
- initDeckNav();
- renderWings(rowWingStart, rowWingEnd);
- }
- };
- var mapRow = function(row, rowNo, totalGrp, cabinIndex) {
- var crArr = getRow(rowNo);
- var curRow = crArr[0];
- var curRowObjIndex = crArr[1];
- var rowFacilities = curRow.rowFacilitiesDetailsVO;
- var rowColDetails = curRow.rowDetailsVO.seatOccupationDetails;
- var cabinRow = row;
- for (var c = 0; c < totalGrp; c++) {
- var seatBlk = $(seatObjects.template.blk);
- seatBlk.attr("data-colgrp", c);
- cabinRow.append(seatBlk);
- if (c !== totalGrp - 1) {
- cabinRow.append($(seatObjects.template.aisle));
- }
- var curRow = cabins[cabinIndex][0].data("groupLabels")[c];
- renderSeats(curRow, rowColDetails, c, seatBlk, rowNo, totalGrp);
- renderFacilities(c, totalGrp, seatBlk, rowFacilities.rowFacilitiesVO);
- seatBlk.attr("data-col", curRow.length);
- if (seatBlk.attr("data-replace")) {
- var f = $(getFacility(seatBlk.attr("data-replace")));
- seatBlk.html(f).parent().addClass("seat-has-facility");
- }
- if (seatBlk.children(".seatmap-galley").length > 0 && !seatBlk.attr("data-replace")) {
- if (seatBlk.children(".seat").length === seatBlk.children(".seat.seat-empty").length) {
- seatBlk.children(".seat-empty").remove();
- }
- }
- if (seatBlk.children(".seat.seat-empty").length && seatBlk.children(".seatmap-galley").length) {
- if (seatBlk.children(".seat.seat-empty").length > 1) {
- seatBlk.addClass("galley-less-" + seatBlk.children(".seat.seat-empty").length);
- } else {
- seatBlk.addClass("galley-less");
- }
- }
- if (cabinRow.hasClass("seat-row-hasexit")) {
- cabinRow.find(".seatmap-exit").remove();
- cabinRow.append($('<span class="seatmap-exit left">' + saar5.l.seateconomy.exit + "</span>"));
- cabinRow.append($('<span class="seatmap-exit right">' + saar5.l.seateconomy.exit + "</span>"));
- }
- if (cabinRow.hasClass("seat-row-hasexit") && !cabinRow.prev().hasClass("seatmap-row--empty")) {
- cabinRow.addClass("seatmap-facility-lift");
- }
- if (cabinRow.hasClass("seat-row-hasexit") && !cabinRow.hasClass("seatmap-facility-lift")) {
- cabinRow.addClass("seatmap-facility-lift");
- }
- var prevRow = cabinRow.prev();
- if (prevRow.hasClass("row-has-empty-seat")) {
- var emptyCol = prevRow.find(".col-has-empty-seat");
- if (emptyCol.length > 1) {
- cabinRow.find('[data-colgrp="' + emptyCol.attr("data-colgrp") + '"]').addClass("galley-less-" + emptyCol.length);
- } else {
- cabinRow.find('[data-colgrp="' + emptyCol.attr("data-colgrp") + '"]').addClass("galley-less");
- }
- }
- if (cabinRow.hasClass("seat-inner-bassinet") && !cabinRow.hasClass("seatmap-facility-lift")) {
- if (!prevRow.hasClass("has-colgrp-noseats") && !prevRow.hasClass("has-colgrp-nofacil")) {
- prevRow.addClass("seatmap-facility-lift");
- } else {
- var curBasGrp = jqEachToArray(cabinRow.find(".seatcol-hasbassinet"));
- var p = curBasGrp.length;
- while (p--) {
- var pGrp = prevRow.find('[data-colgrp="' + curBasGrp[p].attr("data-colgrp") + '"]');
- if (!pGrp.hasClass("colgrp-noseats") && !pGrp.hasClass("colgrp-nofacil")) {
- cabinRow.addClass("seatmap-facility-lift");
- }
- }
- }
- }
- var prevColGrp = prevRow.find('[data-colgrp="' + seatBlk.attr("data-colgrp") + '"]');
- if (seatBlk.hasClass("seatcol-hasbassinet")) {
- if (prevColGrp.hasClass("colgrp-noseats") && prevColGrp.hasClass("colgrp-nofacil") && !cabinRow.hasClass("has-nospace")) {
- cabinRow.addClass("has-space-forbass");
- } else {
- cabinRow.addClass("has-nospace");
- }
- if (prevColGrp.length) {
- prevColGrp.addClass("next-colgrp-hasbassinet");
- }
- }
- resetRowClass(cabinRow);
- if (cabinRow.hasClass("seat-row-hasexit") && prevRow.hasClass("has-colgrp-noseats") && prevRow.hasClass("has-colgrp-nofacil") && prevRow.hasClass("seatmap-facility-lift")) {
- prevRow.removeClass("seatmap-facility-lift");
- }
- if (cabinRow.hasClass("seat-row-hasexit") && prevRow.hasClass("has-colgrp-noseats") && prevRow.hasClass("has-colgrp-nofacil")) {
- if (prevColGrp.hasClass("colgrp-noseats") && prevColGrp.hasClass("colgrp-nofacil")) {
- if (c === 0 || c === totalGrp - 1) {
- var prevExit = prevColGrp.find(".seatmap-exit");
- if (!prevColGrp.hasClass("has-transfer-exit")) {
- prevExit.remove();
- prevColGrp.append($('<div class="seatmap-exit"><span>' + saar5.l.seateconomy.exit + "</span></div>")).addClass("has-transfer-exit").removeClass("colgrp-nofacil");
- }
- }
- cabinRow.removeClass("seatmap-facility-lift seat-row-hasexit").find(".seatmap-exit").remove();
- }
- }
- if (seatBlk.children(".seatmap-galley").length > 0) {
- cabinRow.addClass("seat-inner-galley");
- }
- checkForEmpty(seatBlk, cabinRow);
- }
- if (cabinRow.hasClass("seat-inner-bassinet") && cabinRow.prev().hasClass("has-transfer-facility") && !cabinRow.hasClass("seatmap-facility-lift")) {
- cabinRow.prev().addClass("seatmap-lift-transfer-facility");
- }
- var firstSeatRowNo = cabinVO[cabinIndex].cabinDetailsVO.cabinRangeOfRowsDetailVO.seatRowNumber[0];
- if (cabinIndex === 0 && rowNo === firstSeatRowNo) {
- checkExternalFacilities(cabinRow, totalGrp, curRowObjIndex, false, cabinRow.parent());
- checkExternalFacilities(cabinRow, totalGrp, curRowObjIndex, true, cabinRow.parent());
- }
- if (curRowObjIndex > 0) {
- checkExternalFacilities(cabinRow, totalGrp, curRowObjIndex, true, cabinRow.parent());
- }
- };
- var renderSeats = function(rowLabel, rowColDetails, curGroup, rowCont, rowNo, totalGrp) {
- var rcl = rowColDetails.length;
- var rc = rowLabel.length;
- for (var i = 0; i < rc; i++) {
- var curLabel = rowLabel[i];
- var match = false;
- var details;
- for (var j = 0; j < rcl; j++) {
- var col = rowColDetails[j];
- if (curLabel === col.seatColumn) {
- match = true;
- details = col;
- break;
- }
- }
- var seat;
- if (match) {
- var occ = "free";
- if (details.seatOccupation) {
- occ = details.seatOccupation;
- }
- var seatLabel = rowNo + details.seatColumn;
- seat = $('<div data-sia-seat="' + seatLabel + '" class="seat seat-' + occ.toLowerCase() + '" data-seat-description="' + details.seatDescription + '"></div>');
- if (details.seatPrice !== "NA" && details.seatPrice !== "na" && details.seatPrice !== "Not available") {
- seat.attr("data-seat-price", details.seatPrice);
- }
- if (details.seatPrice !== "NA" && details.seatPrice !== "Not available" && typeof details.seatUSDPrice !== "undefined") {
- seat.attr("data-seat-price-usd", details.seatUSDPrice);
- }
- getSeatType(seat, details);
- var p = preselected.length;
- while (p--) {
- if (preselected[p][0] === seatLabel) {
- seat.addClass("seat-preselected seat-selected").html(preselected[p][2]).data("preselected", preselected[p][2]);
- if (seat.hasClass("seat-char-bassinet")) {
- seat.data("hasbassinet", true);
- }
- break;
- }
- }
- var wcag;
- if (seat.hasClass("seat-char-bassinet")) {
- wcag = $(seatObjects.template.wcag.tpl);
- wcag.attr("for", seatLabel);
- wcag.next().attr("id", seatLabel);
- wcag.html(L10n.seatMap.seat.bassinet.replace("{seatlabel}", seatLabel));
- } else {
- if (seat.hasClass("seat-char-preferred")) {
- wcag = $(seatObjects.template.wcag.tpl);
- wcag.html(L10n.seatMap.seat.preferred.replace("{seatlabel}", seatLabel).replace("{seatprice}", seat.attr("data-seat-price")));
- wcag.attr("for", seatLabel);
- wcag.next().attr("id", seatLabel);
- } else {
- wcag = $(seatObjects.template.wcag.tpl);
- wcag.html(L10n.seatMap.seat.normal.replace("{seatlabel}", seatLabel));
- wcag.attr("for", seatLabel);
- wcag.next().attr("id", seatLabel);
- }
- }
- if (!seat.hasClass("seat-occupied")) {
- seat.attr("tabindex", 23);
- }
- seat.append(wcag);
- } else {
- seat = $('<div data-sia-seat="' + (rowNo + curLabel) + '" class="seat seat-empty"></div>');
- }
- if (curGroup === 0) {
- rowCont.addClass("leftWing");
- }
- if (curGroup === (totalGrp - 1)) {
- rowCont.addClass("rightWing");
- }
- rowCont.append(seat);
- if (seat.hasClass("seat-char-hasexit")) {
- rowCont.parent().addClass("seat-row-hasexit");
- }
- if (seat.hasClass("seat-char-bassinet")) {
- rowCont.parent().addClass("seat-inner-bassinet");
- rowCont.addClass("seatcol-hasbassinet");
- }
- if (seat.hasClass("seat-char-wingstart") && (rowCont.hasClass("leftWing") || rowCont.hasClass("rightWing"))) {
- rowCont.addClass("seat-wingstart");
- }
- if (seat.hasClass("seat-char-wingend") && (rowCont.hasClass("leftWing") || rowCont.hasClass("rightWing"))) {
- rowCont.addClass("seat-wingend");
- }
- if (details) {
- getSeatCharacteristic(seat, details);
- seat.attr("data-seattype", details.seatType);
- getSeatAlignment(seat, details);
- }
- if (seat.hasClass("seat-empty")) {
- rowCont.addClass("col-has-empty-seat");
- rowCont.parent().addClass("row-has-empty-seat");
- }
- }
- };
- var cabinFacility = function(cabinWrap, rowFacilities, direction) {
- var row = $(seatObjects.template.seatRow);
- row.find("span").remove();
- if (direction) {
- cabinWrap.append(row);
- }
- if (!direction) {
- cabinWrap.prepend(row);
- }
- var totalGrp = cabinWrap.data("groupLabels").length;
- for (var c = 0; c < totalGrp; c++) {
- var seatBlk = $(seatObjects.template.blk);
- seatBlk.attr("data-colgrp", c);
- seatBlk.attr("data-col", cabinWrap.data("groupLabels")[c].length);
- row.append(seatBlk).addClass("seatmap-facility-row");
- if (c !== totalGrp - 1) {
- row.append($(seatObjects.template.aisle));
- }
- var facilities;
- if (rowFacilities.length > 0 && typeof cabinWrap.data("groupLabels") !== "undefined") {
- facilities = getExtRFacility(cabinWrap.data("groupLabels")[c], rowFacilities, c, totalGrp);
- }
- if (facilities && facilities.length > 0) {
- appendFacility(facilities, seatBlk);
- }
- }
- };
- var checkExternalFacilities = function(cabinRow, totalGrp, curRowObjIndex, direction, cabinWrap) {
- var nextIndex = direction ? curRowObjIndex + 1 : curRowObjIndex - 1;
- var rowObj = rowVO[nextIndex];
- if (typeof rowObj !== "undefined") {
- if (rowObj.rowDetailsVO.seatRowNumber === 0) {
- createFacilityBlk(cabinRow, totalGrp, nextIndex, direction, cabinWrap);
- }
- }
- };
- var createFacilityBlk = function(cabinRow, totalGrp, nextIndex, direction, cabinWrap) {
- var row = $(seatObjects.template.seatRow);
- row.find("span").remove();
- var prevIndex = direction ? nextIndex - 1 : nextIndex + 1;
- var crl = rowVO[prevIndex].rowDetailsVO.seatRowNumber;
- var rowL = direction ? crl + "b" : crl + "a";
- row.attr("data-row", rowL).addClass("seatmap-row--empty has-colgrp-noseats");
- var cwChild = cabinWrap.children();
- var prevRow = direction ? cwChild.eq(cwChild.length - 1) : cwChild.eq(0);
- if (direction) {
- cabinWrap.append(row);
- }
- if (!direction) {
- cabinWrap.prepend(row);
- }
- if (!direction && cabinRow.hasClass("seat-inner-bassinet")) {
- cabinRow.addClass("seatmap-facility-lift");
- }
- for (var c = 0; c < totalGrp; c++) {
- var seatBlk = $(seatObjects.template.blk);
- seatBlk.attr("data-colgrp", c).addClass("colgrp-noseats");
- var curColGroup = cabinRow.children(".seatmap-row-block").eq(c);
- var seatCount = curColGroup.attr("data-col");
- if (typeof seatCount !== "undefined") {
- seatBlk.attr("data-col", seatCount);
- }
- row.append(seatBlk).addClass("seatmap-facility-row");
- if (c !== totalGrp - 1) {
- row.append($(seatObjects.template.aisle));
- }
- var rowFacilities = rowVO[nextIndex].rowFacilitiesDetailsVO.rowFacilitiesVO;
- var facilities;
- if (rowFacilities.length > 0 && typeof cabinWrap.data("groupLabels") !== "undefined") {
- facilities = getExtRFacility(cabinWrap.data("groupLabels")[c], rowFacilities, c, totalGrp);
- }
- var prevEmptyColGrp = prevRow.find('[data-colgrp="' + seatBlk.attr("data-colgrp") + '"]');
- if (typeof facilities !== "undefined" && facilities.length > 0) {
- if (prevRow.hasClass("has-colgrp-noseats") && prevRow.hasClass("has-colgrp-nofacil") && prevEmptyColGrp.hasClass("colgrp-noseats") && prevEmptyColGrp.hasClass("colgrp-nofacil") && !prevEmptyColGrp.hasClass("colgrp-exit")) {
- prevEmptyColGrp.html("");
- appendFacility(facilities, prevEmptyColGrp);
- prevRow.addClass("has-transfer-facility");
- } else {
- appendFacility(facilities, seatBlk);
- }
- resetRowClass(prevRow);
- }
- if (seatBlk.children(".seatmap-galley").length > 0) {
- row.addClass("seat-inner-galley");
- var prevRowEmptyCol = cabinRow.find('[data-colgrp="' + seatBlk.attr("data-colgrp") + '"]');
- if (cabinRow.hasClass("has-colgrp-noseats") && prevRowEmptyCol.hasClass("colgrp-noseats") && !prevRowEmptyCol.hasClass("colgrp-exit")) {
- cabinRow.addClass("has-transfer-facility");
- }
- }
- if (seatBlk.hasClass("colgrp-exit")) {
- row.addClass("has-colgrp-exit");
- }
- checkForEmpty(seatBlk, row);
- }
- if (prevRow.hasClass("row-has-empty-seat")) {
- var emptyCol = prevRow.find(".col-has-empty-seat");
- if (emptyCol.length > 1) {
- cabinRow.find('[data-colgrp="' + emptyCol.attr("data-colgrp") + '"]').addClass("galley-less-" + emptyCol.length);
- } else {
- cabinRow.find('[data-colgrp="' + emptyCol.attr("data-colgrp") + '"]').addClass("galley-less");
- }
- }
- if (row.hasClass("has-colgrp-noseats") && row.hasClass("has-colgrp-nofacil") && !row.hasClass("has-colgrp-exit")) {
- var empty = checkRowEmpty(row);
- if (empty) {
- row.remove();
- } else {
- rows.push(row);
- }
- }
- if (row.hasClass("has-colgrp-exit") && prevRow.hasClass("seat-row-hasexit")) {
- row.remove();
- }
- var nIndex = direction ? (nextIndex + 1) : (nextIndex - 1);
- var rowObj;
- rowObj = rowVO[nIndex];
- if (typeof rowObj !== "undefined") {
- if (rowObj.rowDetailsVO.seatRowNumber === 0) {
- createFacilityBlk(row, totalGrp, nIndex, direction, cabinWrap);
- }
- }
- };
- var renderFacilities = function(curGroup, totalGrp, groupCont, rowFacilities) {
- var l = rowFacilities.length;
- if (l > 0) {
- var mid = Math.floor(totalGrp / 2);
- var facilities = [];
- var cabinWrapLbl = groupCont.parent().parent().data("groupLabels");
- for (var i = 0; i < l; i++) {
- var hf = (typeof rowFacilities[i].handicapSymbol !== "undefined") && rowFacilities[i].handicapSymbol === "true";
- var tof = hf ? "LAH" : rowFacilities[i].typeOfFacility;
- var lof = rowFacilities[i].locOfFacility;
- var hasFacFormat = (typeof rowFacilities[i].facilityFormat !== "undefined" && rowFacilities[0].facilityFormat === "COLUMN");
- var curLbls = cabinWrapLbl[curGroup];
- if (hasFacFormat) {
- for (var j = curLbls.length - 1; j >= 0; j--) {
- if (curLbls[j] === lof) {
- addValue(!hf, facilities, getFacility(tof));
- }
- }
- } else {
- var fac = getFacility(tof);
- if ((curGroup === 0) && (lof === "L") && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- if ((curGroup === 0) && (lof === "A") && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- if (curGroup === (totalGrp - 1) && lof === "R" && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- if (curGroup === mid && lof === "C" && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- if (curGroup === mid && lof === "LC" && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- if (curGroup === mid && lof === "RC" && fac !== "") {
- addValue(!hf, facilities, fac);
- }
- }
- }
- appendFacility(facilities, groupCont);
- if (groupCont.find(".has-handicap").length) {
- groupCont.attr("data-handicap", "true");
- }
- } else {
- return;
- }
- };
- var addValue = function(end, arr, val) {
- if (end) {
- arr.push(val);
- } else {
- arr.unshift(val);
- }
- };
- var appendFacility = function(facArr, cont) {
- var uniQueFacs = [];
- var l = facArr.length;
- for (var i = 0; i < l; i++) {
- var c = uniQueFacs.length;
- var unique = true;
- var f = facArr[i];
- if (c > 0) {
- while (c--) {
- if (f === uniQueFacs[c]) {
- unique = false;
- break;
- }
- }
- if (unique) {
- uniQueFacs.push(f);
- cont.append(f);
- if ($(f).hasClass("seatmap-exit")) {
- cont.addClass("colgrp-exit");
- }
- }
- } else {
- uniQueFacs.push(f);
- cont.append(f);
- if ($(f).hasClass("seatmap-exit")) {
- cont.addClass("colgrp-exit");
- }
- }
- }
- var la = cont.find(".icon-only");
- var lah = cont.find(".has-handicap");
- if (la.length > 0 && lah.length > 0) {
- la.eq(0).remove();
- }
- };
- var renderWings = function(rws, rwe) {
- var dno = 0;
- if (deckNav.hasClass("on")) {
- dno = deckNav.outerHeight() + 5;
- }
- if (rws.length) {
- var wingStart = $(seatObjects.template.wingStart);
- wingStart.css({
- "top": rws.offset().top - mainDeck.offset().top - 118 + dno
- });
- wingCont.append(wingStart);
- }
- if (rwe.length) {
- var wingEnd = $(seatObjects.template.wingEnd);
- wingEnd.css({
- "height": mainDeck.offset().top + mainDeck.height() - rwe.offset().top - 10
- });
- wingCont.append(wingEnd);
- }
- };
- var initDeckNav = function() {
- var mNav = deckNav.find(".tab-item").eq(0);
- var uNav = deckNav.find(".tab-item").eq(1);
- var popupSeatSelect = $("[data-infomations-1]");
- var popupSeatChange = $("[data-infomations-2]");
- uNav.find("a").on({
- "click": function(e) {
- e.preventDefault();
- e.stopPropagation();
- popupSeatSelect.find(".tooltip__close").trigger("click");
- popupSeatChange.find(".tooltip__close").trigger("click");
- var t = $(this);
- if (!t.parent().hasClass("active")) {
- t.parent().addClass("active");
- mNav.removeClass("active");
- deckIn(upperDeck, false);
- deckOut(mainDeck, true);
- wingCont.hide();
- equipCont.addClass("hidden");
- equipContUD.removeClass("hidden");
- }
- }
- });
- mNav.find("a").on({
- "click": function(e) {
- e.preventDefault();
- e.stopPropagation();
- popupSeatSelect.find(".tooltip__close").trigger("click");
- popupSeatChange.find(".tooltip__close").trigger("click");
- var t = $(this);
- if (!t.parent().hasClass("active")) {
- t.parent().addClass("active");
- uNav.removeClass("active");
- deckIn(mainDeck, true);
- deckOut(upperDeck, false);
- setTimeout(function() {
- wingCont.show();
- equipContUD.addClass("hidden");
- equipCont.removeClass("hidden");
- }, 300);
- }
- }
- });
- deckNav.addClass("on");
- mNav.addClass("active");
- };
- var deckIn = function(deck) {
- deck.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
- $(this).off().removeClass("animated fadeIn").addClass("seat-deck active");
- seatsCont.removeAttr("style");
- });
- setTimeout(function() {
- deck.addClass("animated active fadeIn");
- }, 300);
- };
- var deckOut = function(deck) {
- deck.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
- $(this).off().removeClass("animated active fadeOut").addClass("seat-deck");
- });
- deck.addClass("animated fadeOut");
- };
- var getRow = function(rn) {
- for (var i = rowVO.length - 1; i >= 0; i--) {
- if (rowVO[i].rowDetailsVO.seatRowNumber === rn) {
- return [rowVO[i], i];
- }
- }
- };
- var getExtRFacility = function(cabinLabelArr, rowFacilities, curGroup, totalGrp) {
- var facilities = [];
- var mid = Math.floor(totalGrp / 2);
- for (var i = rowFacilities.length - 1; i >= 0; i--) {
- var curRowFac = rowFacilities[i];
- if (typeof curRowFac.facilityFormat !== "undefined" && curRowFac.facilityFormat === "COLUMN") {
- for (var j = cabinLabelArr.length - 1; j >= 0; j--) {
- if (cabinLabelArr[j] === curRowFac.locOfFacility) {
- var hf = (typeof curRowFac.handicapSymbol !== "undefined") && curRowFac.handicapSymbol === "true";
- var tof = hf ? "LAH" : curRowFac.typeOfFacility;
- var f = getFacility(tof);
- if (f !== "") {
- facilities.push(getFacility(tof));
- }
- }
- }
- } else {
- var hf = (typeof curRowFac.handicapSymbol !== "undefined") && curRowFac.handicapSymbol === "true";
- var tof = hf ? "LAH" : rowFacilities[i].typeOfFacility;
- var lof = rowFacilities[i].locOfFacility;
- var fac = getFacility(tof);
- if ((curGroup === 0) && (lof === "L") && fac !== "") {
- facilities.push(fac);
- }
- if ((curGroup === 0) && (lof === "A") && fac !== "") {
- facilities.push(fac);
- }
- if (curGroup === (totalGrp - 1) && lof === "R" && fac !== "") {
- facilities.push(fac);
- }
- if (curGroup === mid && lof === "C" && fac !== "") {
- facilities.push(fac);
- }
- if (curGroup === mid && lof === "LC" && fac !== "") {
- facilities.push(fac);
- }
- if (curGroup === mid && lof === "RC" && fac !== "") {
- facilities.push(fac);
- }
- if ((curGroup === 0 || curGroup === (totalGrp - 1)) && lof === "NA" && tof === "E" && fac !== "") {
- facilities.push(fac);
- }
- }
- }
- return facilities;
- };
- var getSeatType = function(seat, col) {
- for (var i = 0; i < col.seatType.length; i++) {
- switch (col.seatType[i].toLowerCase()) {
- case "preferredseat":
- seat.html("P").addClass("seat-char-preferred").attr("data-preferred", "P");
- break;
- case "windowless":
- seat.addClass("seat-char-windowless");
- break;
- case "basinetseat":
- seat.addClass("seat-char-bassinet");
- break;
- case "emergencyexit":
- seat.addClass("seat-char-hasexit");
- break;
- case "wingstart":
- seat.addClass("seat-char-wingstart");
- break;
- case "wingend":
- seat.addClass("seat-char-wingend");
- break;
- }
- }
- };
- var getSeatAlignment = function(seat, col) {
- switch (col.alignment) {
- case "right":
- seat.parent().addClass("al-r");
- break;
- case "left":
- seat.parent().addClass("al-l");
- break;
- case "centre":
- seat.parent().addClass("al-c");
- break;
- case "cross":
- seat.parent().addClass("al-x");
- break;
- }
- };
- var getSeatCharacteristic = function(seat, schar) {
- for (var i = 0; i < schar.seatCharacteristic.length; i++) {
- switch (schar[i]) {
- case "GN":
- seat.parent().attr("data-replace", "G");
- seat.removeClass().addClass("seat seat-free");
- break;
- case "LA":
- if (seat.parent().attr("data-handicap") === "true") {
- seat.parent().attr("data-replace", "LAH");
- } else {
- seat.parent().attr("data-replace", "LA");
- }
- seat.removeClass().addClass("seat seat-free");
- break;
- case "LAE":
- if (seat.parent().attr("data-handicap") === "true") {
- seat.parent().attr("data-replace", "LAH");
- } else {
- seat.parent().attr("data-replace", "LAE");
- }
- seat.removeClass().addClass("seat seat-free");
- break;
- case "8":
- seat.removeClass().addClass("seat seat-empty");
- break;
- case "OW":
- seat.parent().parent().addClass("seat-overwing");
- break;
- }
- }
- if (schar.seatCharacteristic.indexOf("CH") != -1 && schar.seatCharacteristic.indexOf("O") != -1) {
- seat.attr("data-bubble-seat", "true");
- }
- };
- var getFacility = function(fc) {
- var t;
- switch (fc) {
- case "LA":
- t = '<div class="seatmap-galley icon-only"><em class="ico-1-toilet"></em></div>';
- break;
- case "LAE":
- t = '<div class="seatmap-galley"><em class="ico-1-toilet"></em><em class="ico-1-assistance"></em></div>';
- break;
- case "LAH":
- t = '<div class="seatmap-galley has-handicap"><em class="ico-1-toilet"></em><em class="ico-1-assistance"></em></div>';
- break;
- case "G":
- t = '<div class="seatmap-galley">' + saar5.l.seateconomy.galley + "</div>";
- break;
- case "GN":
- t = '<div class="seatmap-galley">' + saar5.l.seateconomy.galley + "</div>";
- break;
- case "E":
- t = '<div class="seatmap-exit"><span>' + saar5.l.seateconomy.exit + "</span></div>";
- break;
- case "D":
- t = '<div class="seatmap-exit left"><span>' + saar5.l.seateconomy.exit + "</span></div>";
- break;
- default:
- t = "";
- break;
- }
- return t;
- };
- var genericSeatMap = function() {
- var bookingNavItem = $(".booking-nav__item");
- var holderActive = bookingNavItem.filter(".active").index();
- var passengerDropdowns = $(".seatmap__select[data-pax]");
- var seatMapNonClickable = $(".seatmap-content");
- var selectNextPass = function(el) {
- if ($(document.body).hasClass("f-loop")) {
- if (!withFLoop()) {
- if (el.length) {
- el.trigger("click.togglePaxDropdown");
- } else {
- bookingNavItemWithoutInfant.eq(0).trigger("click.togglePaxDropdown");
- }
- }
- } else {
- if (!withoutFLoop()) {
- if (el.length) {
- el.trigger("click.togglePaxDropdown");
- } else {
- bookingNavItemWithoutInfant.eq(0).trigger("click.togglePaxDropdown");
- }
- }
- }
- };
- var withoutFLoop = function() {
- var all = true;
- for (var i = 0; i < bookingNavItemWithoutInfant.length; i++) {
- if (!bookingNavItemWithoutInfant.eq(i).find(".passenger-info__seat").length) {
- all = false;
- return all;
- }
- }
- return all;
- };
- var withFLoop = function() {
- var all = true;
- for (var i = 0; i < bookingNavItemWithoutInfant.length; i++) {
- if (!bookingNavItemWithoutInfant.eq(i).hasClass("chosen")) {
- all = false;
- return all;
- }
- }
- return all;
- };
- var detectAssignedPass = function() {
- for (var i = 0; i < bookingNavItem.length; i++) {
- if (bookingNavItem.eq(i).find(".passenger-info__seat").length) {
- if (bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "window" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "aisle" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "Aisle" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "Window" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "WINDOW" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "AISLE" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "W" && bookingNavItem.eq(i).find(".passenger-info__seat").html() !== "A") {
- bookingNavItem.eq(i).addClass("ignore");
- passengerDropdowns.eq(i).find("[data-customselect]").addClass("disabled");
- } else {
- passengerDropdowns.eq(i).find("select").val(bookingNavItem.eq(i).find(".passenger-info__seat").html());
- passengerDropdowns.eq(i).find("[data-customselect]").removeClass("default");
- }
- }
- }
- };
- if (passengerDropdowns.length) {
- bookingNavItem.off("click.togglePaxDropdown").on("click.togglePaxDropdown", function(e) {
- e.preventDefault();
- bookingNavItem.removeClass("active");
- var index = bookingNavItem.index($(this).addClass("active"));
- passengerDropdowns.addClass("hidden-dt").eq(index).removeClass("hidden-dt");
- });
- detectAssignedPass();
- }
- var bookingNavItemWithoutInfant = bookingNavItem.filter(function() {
- return !$(this).find(".passenger-info__text > span").length && !$(this).hasClass("ignore");
- });
- var passengerDropdownsWithoutInfant = passengerDropdowns.filter(function(i) {
- return !bookingNavItem.eq(i).find(".passenger-info__text > span").length && !bookingNavItem.eq(i).hasClass("ignore");
- });
- passengerDropdownsWithoutInfant.each(function(i, it) {
- var dropdown = $(it);
- dropdown.find("[data-customselect]").off("afterSelect.changeSeatPosition").on("afterSelect.changeSeatPosition", function(e, isTrigger) {
- var selectedValue = $(this).find("select").val();
- var seat = bookingNavItemWithoutInfant.eq(i).children(".passenger-info__seat");
- var navPass = bookingNavItemWithoutInfant.eq(i);
- navPass.find(".passenger-info input").val(selectedValue);
- if (!isTrigger) {
- navPass.addClass("chosen");
- }
- if (selectedValue.toLowerCase() !== "") {
- if (seat.length) {
- seat.text(selectedValue);
- } else {
- navPass.append('<span class="passenger-info__seat">' + selectedValue + "</span>");
- }
- } else {
- if (navPass.find(".passenger-info__seat").html() === "W" || navPass.find(".passenger-info__seat").html() === "window" || navPass.find(".passenger-info__seat").html() === "aisle" || navPass.find(".passenger-info__seat").html() === "WINDOW" || navPass.find(".passenger-info__seat").html() === "Window" || navPass.find(".passenger-info__seat").html() === "Aisle" || navPass.find(".passenger-info__seat").html() === "AISLE" || navPass.find(".passenger-info__seat").html() === "A") {
- navPass.find(".passenger-info__seat").remove();
- navPass.removeClass("chosen");
- }
- }
- selectNextPass(bookingNavItemWithoutInfant.eq(i + 1));
- }).trigger("afterSelect.changeSeatPosition", [true]);
- });
- bookingNavItem.eq(holderActive).trigger("click.togglePaxDropdown");
- if (seatMapNonClickable.is("[data-non-clickable]")) {
- seatMapNonClickable.undelegate(".ico-seat", "click.selectSeat");
- }
- };
- var startGenericRender = function() {
- seatContainer.addClass("seatmap--generic");
- var paxAr = globalJson.seatMap.passengerAndSeatAssociationVO;
- var start = globalJson.seatMap.seatMapVO.passengerStartingPoint;
- var flightInfo = globalJson.seatMap.seatMapVO.flightDateInformationVO;
- var selectedSeginfo;
- var l = flightInfo.length;
- for (var i = 0; i < l; i++) {
- var cinfo = flightInfo[i];
- if (cinfo.selected === "true") {
- selectedSeginfo = cinfo;
- break;
- }
- }
- if (selectedSeginfo.aircraftType === "TRN" || selectedSeginfo.aircraftType === "BUS") {
- seatContainer.append($(seatObjects.template.messageforRailCoach));
- } else {
- seatContainer.append($(seatObjects.template.genericMessage));
- }
- equipCont.remove();
- seatsCont.hide();
- tabInfo();
- paxDetails();
- updateInputFields();
- var paxSelects = [];
- var l = paxAr.length;
- for (var i = 0; i < l; i++) {
- var po = paxAr[i];
- var wChild = [];
- var hidden = (i + 1) === parseInt(start) ? "" : " hidden-dt";
- if (po.passengerType.toLowerCase() === "infant") {
- var ad;
- for (var j = l - 1; j >= 0; j--) {
- if (paxAr[j].passengerId === po.passengerId) {
- ad = paxAr[j];
- wChild.push(j);
- break;
- }
- }
- var seatNo;
- if (po.seatNumber.toLowerCase() !== "na") {
- seatNo = po.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- preselected.push([seatNo, po.passengerId, paxSelects.length + 1]);
- preselAttr.push(seatNo);
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxSelects.length + '">'));
- }
- if (ad.seatNumber.toLowerCase() !== "na") {
- seatNo = ad.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- preselected.push([seatNo, po.passengerId, paxSelects.length + 1]);
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxSelects.length + '">'));
- }
- if (ad.seatNumber.toLowerCase() === "na" || po.seatNumber.toLowerCase() === "na") {
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + '-NA" data-paxindex="' + paxSelects.length + '">'));
- }
- var aSelected = "",
- wSelected = "",
- sSelected = "";
- if (typeof seatNo === "undefined") {
- seatNo = "NA";
- }
- if (seatNo.toLowerCase() === "A" || seatNo.toLowerCase() === "aisle") {
- aSelected = ' selected="selected"';
- } else {
- if (seatNo.toLowerCase() === "W" || seatNo.toLowerCase() === "window") {
- wSelected = ' selected="selected"';
- } else {
- sSelected = ' selected="selected"';
- }
- }
- var adultName = ad.passengerName.length > 0 ? ad.passengerName + " - " + ad.passengerType : "Passenger " + (paxSelects.length + 1) + " - " + ad.passengerType;
- var infantName = po.passengerName.length > 0 ? po.passengerName + "<span> -" + po.passengerType + "</span>" : "Passenger " + (paxSelects.length + 1) + " - " + po.passengerType;
- var paxSelect;
- if (wChild.length > 0 && (selectedSeginfo.aircraftType !== "TRN" && selectedSeginfo.aircraftType !== "BUS")) {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + adultName + " <br/> " + infantName + '</label><div class="alert-block checkin-alert error-message"><div class="inner"><div class="alert__icon"><em class="ico-alert"> </em></div><div class="alert__message"><p>' + saar5.l.seateconomy.genericmessageError + "</p></div></div></div></div>");
- } else {
- if (selectedSeginfo.marketingAirlineCode === "TZ") {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + adultName + " <br/> " + infantName + '</label><div class="alert-block checkin-alert error-message"><div class="inner"><div class="alert__icon"><em class="ico-alert"> </em></div><div class="alert__message"><p>' + saar5.l.seateconomy.genericmessageTZ + "</p></div></div></div></div>");
- } else {
- if (selectedSeginfo.aircraftType === "TRN" || selectedSeginfo.aircraftType === "BUS") {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + adultName + " <br/> " + infantName + "</label></div>");
- } else {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + adultName + " <br/> " + infantName + '</label><div data-customselect="true" class="custom-select custom-select--2 custom-select--seat genericSeatDropdown"><label for="preferred-seat" class="select__label">Seat preference</label><span class="select__text">Window (W)</span><span class="ico-dropdown">Window (W)</span><select id="preferred-seat-' + paxSelects.length + '" name="preferredseat"><option value=""' + sSelected + '>Select</option><option value="WINDOW"' + wSelected + '>Window (W)</option><option value="AISLE"' + aSelected + ">Aisle (A)</option></select></div></div>");
- }
- }
- }
- paxSelects.push(paxSelect);
- } else {
- if (po.paxHasInfant.toLowerCase() === "yes") {
- continue;
- }
- var seatNo;
- if (po.seatNumber.toLowerCase() !== "na") {
- seatNo = po.seatNumber;
- if (seatNo.charAt(0) === "0") {
- seatNo = seatNo.slice(1);
- }
- } else {
- seatNo = "NA";
- }
- var aSelected = "",
- wSelected = "",
- sSelected = "";
- if (seatNo.toLowerCase() === "A" || seatNo.toLowerCase() === "aisle") {
- aSelected = ' selected="selected"';
- } else {
- if (seatNo.toLowerCase() === "W" || seatNo.toLowerCase() === "window") {
- wSelected = ' selected="selected"';
- } else {
- sSelected = ' selected="selected"';
- }
- }
- var paxName = po.passengerName.length > 0 ? po.passengerName + " - " + po.passengerType : "Passenger " + (paxSelects.length + 1) + " - " + po.passengerType;
- var paxSelect;
- if (selectedSeginfo.marketingAirlineCode === "TZ") {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + paxName + " <br/> " + '</label><div class="alert-block checkin-alert error-message"><div class="inner"><div class="alert__icon"><em class="ico-alert"> </em></div><div class="alert__message"><p>' + saar5.l.seateconomy.genericmessageTZ + "</p></div></div></div></div>");
- } else {
- if (selectedSeginfo.aircraftType === "TRN" || selectedSeginfo.aircraftType === "BUS") {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + paxName + " <br/> " + "</label></div>");
- } else {
- paxSelect = $('<div data-pax="' + paxSelects.length + '" class="seatmap__select' + hidden + '"><label for="preferred-seat-' + paxSelects.length + '" class="seatmap__select-label hidden-dt">' + (paxSelects.length + 1) + ". " + paxName + " <br/> " + '</label><div data-customselect="true" class="custom-select custom-select--2 custom-select--seat genericSeatDropdown"><label for="preferred-seat" class="select__label">Seat preference</label><span class="select__text">Window (W)</span><span class="ico-dropdown">Window (W)</span><select id="preferred-seat-' + paxSelects.length + '" name="preferredseat"><option value=""' + sSelected + '>Select</option><option value="WINDOW"' + wSelected + '>Window (W)</option><option value="AISLE"' + aSelected + ">Aisle (A)</option></select></div></div>");
- }
- }
- paxSelects.push(paxSelect);
- seatForm.prepend($('<input type="hidden" name="paxOld[]" value="paxOld' + po.passengerId + "-" + seatNo + '" data-paxindex="' + paxSelect.length + '">'));
- }
- }
- var pl = paxSelects.length;
- if (selectedSeginfo.aircraftType !== "TRN" && selectedSeginfo.aircraftType !== "BUS") {
- seatContainer.append($(seatObjects.template.genericSeats));
- }
- for (var i = 0; i < pl; i++) {
- seatContainer.append(paxSelects[i]);
- }
- genericSeatMap();
- if (selectedSeginfo.marketingAirlineCode === "TZ") {
- $(".seatmap--generic p:eq(0)").remove();
- $(".seatmap-content").remove();
- }
- };
- var startRender = function() {
- cabinVO = globalJson.seatMap.cabinVO;
- rowVO = globalJson.seatMap.rowVO;
- cl = cabinVO.length;
- rl = rowVO.length;
- tabInfo();
- paxDetails();
- updateInputFields();
- renderMap();
- };
- var jqEachToArray = function(jqobj) {
- var arr = [];
- jqobj.each(function() {
- arr.push($(this));
- });
- return arr;
- };
- var checkForEmpty = function(colGroup, row) {
- if (colGroup.children(".seat.seat-empty").length && colGroup.children(".seat.seat-empty").length === colGroup.children().length) {
- colGroup.addClass("colgrp-noseats");
- row.addClass("has-colgrp-noseats");
- }
- if (colGroup.children().length === 0 || colGroup.find(".seatmap-galley").length === 0) {
- colGroup.addClass("colgrp-nofacil");
- row.addClass("has-colgrp-nofacil").removeClass("seatmap-facility-row seat-inner-galley");
- } else {
- row.addClass("seat-inner-galley");
- colGroup.removeClass("colgrp-nofacil");
- }
- };
- var resetRowClass = function(row) {
- var colGrps = row.find(".seatmap-row-block");
- var e = 0,
- f = 0,
- s = 0;
- var prevRow = row.prev();
- var bassinetHit = false;
- colGrps.each(function() {
- var t = $(this);
- var seats = t.find(".seat");
- var eseats = t.find(".seat.seat-empty");
- if (seats.length === eseats.length || seats.length < 1) {
- t.addClass("colgrp-noseats");
- row.addClass("has-colgrp-noseats");
- }
- if (seats.length === 0) {
- t.removeClass("colgrp-noseats");
- s++;
- }
- var facilities = t.find(".seatmap-galley");
- if (facilities.length > 0) {
- t.removeClass("colgrp-nofacil");
- f++;
- } else {
- t.addClass("colgrp-nofacil");
- row.addClass("has-colgrp-nofacil seat-inner-galley");
- }
- var exits = t.find(".seatmap-exit");
- if (exits.length > 0) {
- t.addClass("colgrp-exit");
- row.addClass("has-colgrp-exit");
- } else {
- t.removeClass("colgrp-exit");
- e++;
- }
- var prevColGrp = prevRow.find('[data-colgrp="' + t.attr("data-colgrp") + '"]');
- if ((t.hasClass("seatcol-hasbassinet") && !prevColGrp.hasClass("colgrp-nofacil")) || (t.hasClass("seatcol-hasbassinet") && !prevColGrp.hasClass("colgrp-noseats"))) {
- bassinetHit = true;
- t.addClass("bassinet-hit");
- }
- var prevHasHit = (t.hasClass("seatcol-hasbassinet") && !prevColGrp.hasClass("colgrp-nofacil")) || (t.hasClass("seatcol-hasbassinet") && !prevColGrp.hasClass("colgrp-noseats"));
- if (prevHasHit && prevRow.hasClass("has-bassinet-hit")) {
- t.addClass("prev-col-has-bassinet-hit");
- }
- });
- if (e === colGrps.length) {
- row.removeClass("has-colgrp-exit");
- }
- if (f === colGrps.length) {
- row.removeClass("has-colgrp-nofacil");
- }
- if (s === colGrps.length) {
- row.removeClass("has-colgrp-noseats");
- }
- if (bassinetHit && row.hasClass("seat-inner-bassinet")) {
- row.removeClass("has-space-forbass").addClass("has-bassinet-hit");
- } else {
- row.addClass("has-space-forbass").removeClass("has-bassinet-hit");
- }
- };
- var checkRowEmpty = function(row) {
- var empty = true;
- var noseat = true;
- row.find(".seat").each(function() {
- if (!$(this).hasClass("seat-empty")) {
- noseat = false;
- }
- });
- var nofac = true;
- if (row.find(".seatmap-galley").length > 0) {
- nofac = false;
- }
- var noexit = true;
- if (row.find(".seatmap-exit").length > 0) {
- noexit = false;
- }
- empty = noseat && nofac && noexit ? true : false;
- return empty;
- };
- var init = function() {
- var el = document.getElementById("seatMap");
- if ($(el).text().length > 23) {
- var elBody = $.trim(el.innerHTML);
- var s = elBody.substr(2, (elBody.length - 4));
- SIA.ParseJSON(s);
- if (globalJson.seatMap.errorVO.errocode === "ERROR_seat.selection.generic") {
- startGenericRender();
- } else {
- startRender();
- }
- SIA.SeatSelection.init();
- } else {
- $(".error-message").attr("data-errormsg", "dfgd").removeClass("hidden").find("p").text("Please try after some time...");
- $("#seat-4-submit").hide();
- }
- $(".overlay-loading ").hide();
- };
- var oRenderer = {
- init: init,
- startRender: startRender,
- preselected: preselAttr,
- seatObjects: seatObjects,
- seatsCont: seatsCont,
- paxGroups: paxGroups,
- paxTabs: paxTabs,
- paxOptions: paxOptions,
- paxRadios: paxRadios
- };
- return oRenderer;
- })();
- SIA.ParseJSON = function(str) {
- eval(str);
- };
- SIA.SeatSelection = (function() {
- var global, win, winW;
- var body = SIA.global.vars.body;
- var seatsCont, seatItems, templateInforSeat;
- var occupiedClass = "seat-occupied";
- var blockedClass = "ico-seat-blocked";
- var preselected = "seat-preselected";
- var emptyClass = "seat-empty";
- var avaibleSeatClass = "seat-free";
- var selectedClass = "seat-selected";
- var blankSeat = "blank-seat";
- var deselectOn = "deselect-on";
- var preferredSeatClass = "seat-char-preferred";
- var timerPopup = null;
- var tablet = 988;
- var templateInforSeat = $(SIA.RenderSeat.seatObjects.template.inforSeat);
- var item, getTotal;
- var texttemplatePrefer, texttemplateFeePrefer;
- var currency = null;
- var unformatNumber = function(number) {
- var unformat = window.accounting.unformat(number);
- return parseFloat(unformat);
- };
- var formatNumber = function(number, decimal) {
- if (decimal || decimal === 0) {
- if (globalJson.seatMap.locale === "de_DE" || globalJson.seatMap.locale === "es_ES" || globalJson.seatMap.locale === "pt_BR") {
- return window.accounting.formatNumber(number, decimal, ".", ",");
- } else {
- if (globalJson.seatMap.locale === "fr_FR" || globalJson.seatMap.locale === "ru_RU") {
- return window.accounting.formatNumber(number, decimal, " ", ",");
- } else {
- return window.accounting.formatNumber(number, decimal, ",", ".");
- }
- }
- } else {
- if (globalJson.seatMap.locale === "de_DE" || globalJson.seatMap.locale === "es_ES" || globalJson.seatMap.locale === "pt_BR") {
- return window.accounting.formatNumber(number, 2, ".", ",");
- } else {
- if (globalJson.seatMap.locale === "fr_FR" || globalJson.seatMap.locale === "ru_RU") {
- return window.accounting.formatNumber(number, 2, " ", ",");
- } else {
- return window.accounting.formatNumber(number, 2, ",", ".");
- }
- }
- }
- };
- var precision = {
- currency: {
- "SGD": 2,
- "JPY": 0,
- "TWD": 0,
- "HKD": 0,
- "KRW": 0,
- "INR": 0,
- "KWD": 3,
- "DKK": 0,
- "CNY": 0,
- "THB": 0,
- "LKR": 0,
- "ZAR": 2,
- "SEK": 0,
- "NOK": 0,
- "AED": 0,
- "SAR": 0,
- "BND": 0,
- "MYR": 2,
- "IDR": 0
- },
- getPrecision: function(currency) {
- return this.currency[$.trim(currency)];
- }
- };
- var mainDeckArr = [];
- var upperDeckArr = [];
- var seatMapArr = [];
- var getCurrency = function(number) {
- return number.replace(/[\d*\.\,]/g, "");
- };
- var onSelected = function() {};
- var onUnSelected = function() {};
- var afterChoose = function() {};
- var popupSeatSelect, popupSeatChange, popupSeatSelectRadio, peopleList, seat;
- var indexSeat = 0;
- var arrSeat = [];
- var number = 0;
- var isSelect = false;
- var filterPeopleList = $();
- var filterOccupied = $();
- var popupSeatPrefer = $(".popup--seat-prefer");
- var popupConfirmSeatBlank = $(".popup--confirm-seat-2");
- var popupConfirmModal = $(".popup--confirm-seat-4");
- var preventUpdate = false;
- var flyingFocus = $("#flying-focus");
- var checkAllEmptyChair = function() {
- for (var i = 0; i < peopleList.length; i++) {
- if (arrSeat[i].status) {
- return false;
- }
- }
- return true;
- };
- var checkLeftChair = function() {
- var c = 0;
- for (var i = 0; i < peopleList.length; i++) {
- if (!arrSeat[i].status) {
- c++;
- }
- }
- return c;
- };
- var checkEmptyChair = function(number) {
- if (!arrSeat[number].status) {
- arrSeat[number].status = true;
- return arrSeat[number].chairNumber;
- }
- for (var i = 0; i < peopleList.length; i++) {
- if (!arrSeat[i].status) {
- arrSeat[i].status = true;
- return arrSeat[i].chairNumber;
- }
- }
- return -1;
- };
- var findEmptyChair = function(number) {
- if (arrSeat[number] && !arrSeat[number].status) {
- return arrSeat[number].chairNumber;
- }
- for (var ii = number; ii < peopleList.length; ii++) {
- if (arrSeat[ii] && !arrSeat[ii].status) {
- return arrSeat[ii].chairNumber;
- }
- }
- for (var i = 0; i < peopleList.length; i++) {
- if (!arrSeat[i].status) {
- return arrSeat[i].chairNumber;
- }
- }
- return -1;
- };
- var checkAllPassenger = function() {
- var all = true;
- for (var i = 0; i < peopleList.length; i++) {
- if (!peopleList.eq(i).find(".passenger-info__seat").length) {
- all = false;
- return all;
- }
- }
- return all;
- };
- var newCircleRule = function() {
- var all = true;
- for (var i = 0; i < peopleList.length; i++) {
- if (!peopleList.eq(i).hasClass("chosen")) {
- all = false;
- return all;
- }
- }
- return all;
- };
- var removeChair = function(number) {
- for (var i = 0; i < peopleList.length; i++) {
- if ((i + 1) === Number(number)) {
- arrSeat[i].status = false;
- arrSeat[i].occupied = $();
- arrSeat[i].renew = false;
- return false;
- }
- }
- };
- var revertSeat = function(s) {
- s.removeClass(avaibleSeatClass).addClass(selectedClass);
- s.html(filterPeopleList.index() + 1);
- };
- var addResizeForPopupSelect = function() {
- clearTimeout(timerPopup);
- timerPopup = setTimeout(function() {
- var leftP = seat.offset().left - popupSeatSelect.outerWidth(true) / 2 + seat.outerWidth() / 2;
- var leftArrow = 0;
- if (leftP < 0) {
- leftArrow = seat.offset().left + seat.outerWidth() / 2;
- leftP = 0;
- } else {
- if (leftP + popupSeatSelect.width() >= win.width()) {
- leftP = leftP - (leftP + popupSeatSelect.width() - win.width());
- leftArrow = seat.offset().left - leftP + seat.outerWidth() / 2;
- }
- }
- popupSeatSelect.show().css({
- top: seat.offset().top - popupSeatSelect.outerHeight(true) - 12 - SIA.global.vars.container.offset().top,
- left: leftP
- });
- popupSeatSelect.find(".tooltip__arrow").css("left", "").css({
- left: leftArrow ? leftArrow : ""
- });
- if (win.width() !== winW) {
- popupSeatSelect.hide();
- win.off("resize.popupSeatSelect");
- isSelect = false;
- }
- }, 150);
- };
- var selectOnDeskTop = function() {
- var sInfo = templateInforSeat.clone();
- var updateInfor = function() {
- peopleList.eq((number - 1)).find(".passenger-info__seat").remove();
- sInfo.appendTo(peopleList.eq((number - 1))).html(seat.data("sia-seat"));
- peopleList.eq((number - 1)).find("input").val(seat.data("sia-seat"));
- seat.removeClass(avaibleSeatClass).addClass(selectedClass).html(number);
- arrSeat[number - 1].occupied = seat;
- seat.data("name", popupSeatSelectRadio.eq(number - 1).siblings("label").html());
- };
- var showPopupWindowLess = function(isPrefer) {
- popupSeatSelect.show();
- switch (isPrefer) {
- case "preferred":
- popupSeatSelect.find(".tooltip__text-1").show();
- popupSeatSelect.find(".tooltip__windowless").hide();
- break;
- case "both":
- popupSeatSelect.find(".tooltip__text-1").show();
- popupSeatSelect.find(".tooltip__windowless").text(saar5.l.seateconomy.preferredWindowLess);
- popupSeatSelect.find(".tooltip__windowless").show();
- break;
- case "bubble":
- popupSeatSelect.find(".tooltip__text-1").show();
- popupSeatSelect.find(".tooltip__windowless").text(saar5.l.seateconomy.bubbleSeat);
- popupSeatSelect.find(".tooltip__windowless").show();
- break;
- case "windowlessbubble":
- popupSeatSelect.find(".tooltip__text-1").show();
- popupSeatSelect.find(".tooltip__windowless").text(saar5.l.seateconomy.bubbleSeatWindowLess);
- popupSeatSelect.find(".tooltip__windowless").show();
- break;
- default:
- popupSeatSelect.find(".tooltip__text-1").hide();
- popupSeatSelect.find(".tooltip__windowless").show();
- }
- popupSeatSelect.find(".tooltip__heading strong").text(seat.data("sia-seat"));
- var leftP = seat.offset().left - popupSeatSelect.outerWidth(true) / 2 + seat.outerWidth() / 2;
- var leftArrow = 0;
- if (leftP < 0) {
- leftArrow = seat.offset().left + seat.outerWidth() / 2;
- leftP = 0;
- }
- if (leftP + popupSeatSelect.outerWidth(true) >= win.width()) {
- leftP = leftP - (leftP + popupSeatSelect.outerWidth(true) - win.width());
- leftArrow = seat.offset().left - leftP + seat.outerWidth() / 2;
- }
- popupSeatSelect.css({
- top: seat.offset().top - popupSeatSelect.outerHeight(true) - 12 - SIA.global.vars.container.offset().top,
- left: leftP
- });
- popupSeatSelect.find(".tooltip__close").off("click.choosePerson").on("click.choosePerson", function(e) {
- e.preventDefault();
- popupSeatSelect.hide();
- popupSeatSelect.find(".tooltip__windowless").hide();
- popupSeatSelect.find(".tooltip__text-1").hide();
- isSelect = false;
- win.off("resize.popupSeatSelect");
- });
- win.off("resize.popupSeatSelect").on("resize.popupSeatSelect", addResizeForPopupSelect);
- };
- var resetSeat = function() {
- popupSeatSelect.hide();
- win.off("resize.popupSeatSelect");
- filterOccupied = $(arrSeat[filterPeopleList.index()].occupied);
- filterOccupied.addClass(avaibleSeatClass).removeClass(selectedClass);
- seat.removeClass(avaibleSeatClass).addClass(selectedClass);
- showConfirmSeatBlank();
- if (!peopleList.eq(filterPeopleList.index()).data("hasinfant") && seat.hasClass("seat-char-bassinet") && (SIA.RenderSeat.seatObjects.deckClass === "Economy Class" || SIA.RenderSeat.seatObjects.deckClass === "Premium Economy Class")) {
- if (!preventUpdate) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.noinfant);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- preventUpdate = true;
- }
- }
- if ((peopleList.eq(filterPeopleList.index()).data("hasinfant") || peopleList.eq(filterPeopleList.index()).data("ischild")) && seat.hasClass("seat-char-hasexit")) {
- if (!preventUpdate) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.withInfantAndChild);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- preventUpdate = true;
- }
- }
- if (preventUpdate) {
- seat.addClass(avaibleSeatClass).removeClass(selectedClass);
- revertSeat(filterOccupied);
- filterOccupied = $();
- return;
- }
- filterOccupied.html(" ");
- filterPeopleList.find(".passenger-info__seat").remove();
- filterPeopleList.find("input").val("");
- number = filterPeopleList.index() + 1;
- if (filterOccupied.data("preselected")) {
- filterOccupied.addClass(preselected).html(filterOccupied.data("preselected"));
- filterOccupied.removeClass(occupiedClass);
- if (filterOccupied.data("preferred") && filterPeopleList.data("preferred")) {
- filterPeopleList.removeData("preferred");
- }
- if (filterOccupied.hasClass("seat-char-bassinet")) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.preAssignedBassinet);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- if (!seat.hasClass("seat-char-bassinet")) {
- popupConfirmModal.Popup("show");
- }
- } else {
- if (filterOccupied.hasClass(preferredSeatClass) && globalJson.seatMap.flow === "MB" && !filterOccupied.data("notified")) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.preAssignedPreferred);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- filterOccupied.data("notified", true);
- }
- }
- } else {
- if (filterOccupied.data("preferred") && filterPeopleList.data("preferred")) {
- filterOccupied.html(filterOccupied.data("preferred"));
- filterPeopleList.removeData("preferred");
- } else {
- if (filterOccupied.data("seat-characteristic")) {
- filterOccupied.html(filterOccupied.data("seat-characteristic"));
- } else {
- filterOccupied.html(" ");
- }
- }
- }
- sInfo.appendTo(peopleList.eq((filterPeopleList.index()))).html(seat.data("sia-seat"));
- peopleList.eq(filterPeopleList.index()).find("input").val(seat.data("sia-seat"));
- filterOccupied.data("name", "");
- var wcag;
- if (seat.hasClass("seat-char-bassinet")) {
- wcag = $(SIA.RenderSeat.seatObjects.template.wcag.tpl);
- wcag.attr("for", seat.data("sia-seat"));
- wcag.next().attr("id", seat.data("sia-seat"));
- wcag.html(L10n.seatMap.seat.bassinet.replace("{seatlabel}", seat.data("sia-seat")));
- } else {
- if (seat.hasClass("seat-char-preferred")) {
- wcag = $(SIA.RenderSeat.seatObjects.template.wcag.tpl);
- wcag.html(L10n.seatMap.seat.preferred.replace("{seatlabel}", seat.data("sia-seat")).replace("{seatprice}", seat.attr("data-seat-price")));
- wcag.attr("for", seat.data("sia-seat"));
- wcag.next().attr("id", seat.data("sia-seat"));
- } else {
- wcag = $(SIA.RenderSeat.seatObjects.template.wcag.tpl);
- wcag.html(L10n.seatMap.seat.normal.replace("{seatlabel}", seat.data("sia-seat")));
- wcag.attr("for", seat.data("sia-seat"));
- wcag.next().attr("id", seat.data("sia-seat"));
- }
- }
- seat.removeClass(avaibleSeatClass).addClass(selectedClass).html(number);
- seat.append(wcag);
- arrSeat[filterPeopleList.index()].occupied = seat;
- seat.data("name", popupSeatSelectRadio.eq(number - 1).siblings("label").html());
- if (seat.data("preferred")) {
- peopleList.eq(filterPeopleList.index()).data("preferred", {
- price: seat.data("seat-price").replace(/[a-z\s]/gi, ""),
- priceUSD: seat.data("seat-price-usd"),
- seat: seat.data("sia-seat"),
- el: seat,
- info: peopleList.eq(filterPeopleList.index()).find(".passenger-info__text").html()
- });
- currency = getCurrency(seat.data("seat-price"));
- }
- if (seat.hasClass("seat-char-windowless")) {
- showPopupWindowLess();
- }
- if (seat.data("preferred")) {
- popupSeatSelect.find(".tooltip__preferred").text(texttemplatePrefer.format(seat.data("preferred") ? seat.data("seat-price-usd") + " USD" : seat.data("seat-price"))).show();
- if (seat.hasClass("seat-char-windowless") && seat.data("bubble-seat")) {
- showPopupWindowLess("windowlessbubble");
- } else {
- if (seat.hasClass("seat-char-windowless") && !seat.data("bubble-seat")) {
- showPopupWindowLess("both");
- } else {
- if (!seat.hasClass("seat-char-windowless") && seat.data("bubble-seat")) {
- showPopupWindowLess("bubble");
- } else {
- showPopupWindowLess("preferred");
- }
- }
- }
- }
- var etc = filterPeopleList.next(".booking-nav__item");
- popupSeatSelectRadio.eq(filterPeopleList.index()).siblings(".passenger-info__seat").remove();
- popupSeatSelectRadio.eq(filterPeopleList.index()).parent().append($(templateInforSeat).clone().html(seat.data("sia-seat")));
- var doneCR = function() {
- popupSeatSelectRadio.eq(filterPeopleList.index()).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- var firstCR = function() {
- peopleList.removeClass("active").eq(0).addClass("active");
- popupSeatSelectRadio.eq(0).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- var nextCR = function() {
- filterPeopleList.removeClass("active").next().addClass("active");
- popupSeatSelectRadio.eq(etc.index()).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- if (etc.length && !checkAllPassenger()) {
- nextCR();
- filterPeopleList.addClass("chosen");
- } else {
- if (!etc.length) {
- filterPeopleList.addClass("chosen");
- if ($(document.body).hasClass("f-loop")) {
- if (newCircleRule()) {
- doneCR();
- } else {
- firstCR();
- }
- } else {
- if (!checkAllPassenger()) {
- firstCR();
- }
- }
- } else {
- if (checkAllPassenger()) {
- filterPeopleList.addClass("chosen");
- if ($(document.body).hasClass("f-loop")) {
- if (newCircleRule()) {
- doneCR();
- } else {
- nextCR();
- }
- } else {
- doneCR();
- }
- }
- }
- }
- };
- var pickOutAgain = function() {
- filterPeopleList = peopleList.filter(".active");
- number = checkEmptyChair(filterPeopleList.index());
- preventUpdate = false;
- winW = win.width();
- if (arrSeat[filterPeopleList.index()].status) {
- resetSeat();
- if (!preventUpdate) {
- updateInfor();
- }
- }
- filterPeopleList.data("seattype", seat.data("seattype"));
- };
- pickOutAgain();
- };
- var unselectOnDeskTop = function(seat) {
- var seatNumberUnSelect = seat.html();
- popupSeatSelect.hide();
- seat.data("name", "");
- seat.removeClass(selectedClass).addClass(avaibleSeatClass);
- peopleList.eq((seatNumberUnSelect - 1)).removeClass("chosen").find(".passenger-info__seat").remove();
- peopleList.eq((seatNumberUnSelect - 1)).find("input").val("");
- if (parseInt(seatNumberUnSelect === peopleList.length)) {
- peopleList.eq(peopleList.length - 1);
- } else {
- if (!peopleList.eq(peopleList.length - 1).find(".passenger-info__seat").length) {
- peopleList.eq(peopleList.length - 1);
- }
- }
- peopleList.eq((seatNumberUnSelect - 1)).removeData("seattype");
- removeChair(seat.text());
- popupSeatSelectRadio.eq((seatNumberUnSelect - 1)).prop("disabled", false).parent().removeClass("disabled");
- popupSeatSelectRadio.eq((seatNumberUnSelect - 1)).siblings(".passenger-info__seat").remove();
- if (checkLeftChair() === 1) {
- popupSeatSelectRadio.filter("[disabled]").prop({
- "checked": false
- }).parent().addClass("disabled");
- if (!popupSeatSelectRadio.eq(findEmptyChair(seatNumberUnSelect - 1) - 1).parent().hasClass("disabled")) {
- popupSeatSelectRadio.eq(findEmptyChair(seatNumberUnSelect - 1) - 1).prop({
- "checked": true
- });
- }
- peopleList.removeClass("active").eq(seatNumberUnSelect - 1).addClass("active");
- }
- if (seat.data("preselected")) {
- if (seat.data("preferred") && peopleList.eq((seatNumberUnSelect - 1)).data("preferred")) {
- peopleList.eq((seatNumberUnSelect - 1)).removeData("preferred");
- }
- seat.addClass(preselected).html(seatNumberUnSelect);
- seat.html(seat.data("preselected"));
- } else {
- if (seat.data("preferred") && peopleList.eq((seatNumberUnSelect - 1)).data("preferred")) {
- peopleList.eq((seatNumberUnSelect - 1)).removeData("preferred");
- seat.html(seat.data("preferred"));
- } else {
- if (seat.data("seat-characteristic")) {
- seat.html(seat.data("seat-characteristic"));
- } else {
- seat.html($(seat.find("label")));
- }
- }
- }
- if (checkAllEmptyChair()) {
- peopleList.removeClass("active").eq(0).addClass("active");
- }
- };
- var selectOnMobile = function() {
- var sInfo = templateInforSeat.clone();
- win = $(window);
- isSelect = true;
- popupSeatChange.hide();
- showConfirmSeatBlank();
- winW = win.width();
- if (preventUpdate) {
- isSelect = false;
- return;
- }
- popupSeatSelect.show();
- popupSeatSelect.find(".tooltip__windowless").hide();
- popupSeatSelect.find(".tooltip__text-1").hide();
- if (seat.hasClass("seat-char-windowless")) {
- popupSeatSelect.find(".tooltip__preferred").hide();
- popupSeatSelect.find(".tooltip__windowless").show();
- }
- if (seat.data("preferred")) {
- popupSeatSelect.find(".tooltip__text-1").show();
- popupSeatSelect.find(".tooltip__preferred").text(texttemplatePrefer.format(seat.data("preferred") ? seat.data("seat-price-usd") + " USD" : seat.data("seat-price"))).show();
- currency = getCurrency(seat.data("seat-price"));
- }
- var total = popupSeatSelectRadio;
- var checkedRadio = total.filter(":checked");
- if (!checkedRadio.length) {
- checkedRadio = total.parent().not(".disabled").first().find(":radio").prop({
- "checked": true
- });
- }
- var leftP = seat.offset().left - popupSeatSelect.outerWidth(true) / 2 + seat.outerWidth() / 2;
- var leftArrow = 0;
- if (leftP < 0) {
- leftArrow = seat.offset().left + seat.outerWidth() / 2;
- leftP = 0;
- }
- if (leftP + popupSeatSelect.outerWidth(true) >= win.width()) {
- leftP = leftP - (leftP + popupSeatSelect.outerWidth(true) - win.width());
- leftArrow = seat.offset().left - leftP + seat.outerWidth() / 2;
- }
- popupSeatSelect.css({
- top: seat.offset().top - popupSeatSelect.outerHeight(true) - 12 - SIA.global.vars.container.offset().top,
- left: leftP
- }).find(".btn-full").off("click.choosePerson").on("click.choosePerson", function(e) {
- e.preventDefault();
- preventUpdate = false;
- filterPeopleList = peopleList.filter(".active");
- checkedRadio = total.filter(":checked");
- var index = checkedRadio.length ? total.index(checkedRadio) : filterPeopleList.index();
- var updateInfor = function() {
- number = checkEmptyChair(index);
- if (arrSeat[filterPeopleList.index()].status) {
- filterOccupied = $(arrSeat[filterPeopleList.index()].occupied);
- filterOccupied.addClass(avaibleSeatClass).removeClass(selectedClass);
- seat.removeClass(avaibleSeatClass).addClass(selectedClass);
- showConfirmSeatBlank();
- if (!peopleList.eq(filterPeopleList.index()).data("hasinfant") && seat.hasClass("seat-char-bassinet")) {
- if (!preventUpdate) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.noinfant);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- preventUpdate = true;
- }
- }
- if ((peopleList.eq(filterPeopleList.index()).data("hasinfant") || peopleList.eq(filterPeopleList.index()).data("ischild")) && seat.hasClass("seat-char-hasexit")) {
- if (!preventUpdate) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.withInfantAndChild);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- preventUpdate = true;
- }
- }
- if (preventUpdate) {
- seat.addClass(avaibleSeatClass).removeClass(selectedClass);
- popupSeatSelect.find(".tooltip__close").trigger("click.choosePerson");
- revertSeat(filterOccupied);
- filterOccupied = $();
- return;
- }
- filterOccupied.html(" ");
- filterPeopleList.find(".passenger-info__seat").remove();
- filterPeopleList.find("input").val("");
- number = filterPeopleList.index() + 1;
- if (filterOccupied.data("preselected")) {
- filterOccupied.addClass(preselected).html(filterOccupied.data("preselected"));
- filterOccupied.removeClass(occupiedClass);
- if (filterOccupied.data("preferred") && filterPeopleList.data("preferred")) {
- filterPeopleList.removeData("preferred");
- }
- if (filterOccupied.hasClass("seat-char-bassinet")) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.preAssignedBassinet);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- if (!seat.hasClass("seat-char-bassinet")) {
- popupConfirmModal.Popup("show");
- }
- } else {
- if (filterOccupied.hasClass(preferredSeatClass) && globalJson.seatMap.flow === "MB" && !filterOccupied.data("notified")) {
- popupConfirmModal.find(".popup__text-intro--2").html(L10n.seatEconomy.preAssignedPreferred);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmModal.Popup("show");
- filterOccupied.data("notified", true);
- }
- }
- } else {
- if (filterOccupied.data("preferred") && filterPeopleList.data("preferred")) {
- filterOccupied.html(filterOccupied.data("preferred"));
- filterPeopleList.removeData("preferred");
- } else {
- if (filterOccupied.data("seat-characteristic")) {
- filterOccupied.html(filterOccupied.data("seat-characteristic"));
- } else {
- filterOccupied.html(" ");
- }
- }
- }
- sInfo.appendTo(peopleList.eq((filterPeopleList.index()))).html(seat.data("sia-seat"));
- peopleList.eq(filterPeopleList.index()).find("input").val(seat.data("sia-seat"));
- filterOccupied.data("name", "");
- seat.removeClass(avaibleSeatClass).addClass(selectedClass).html(number);
- arrSeat[filterPeopleList.index()].occupied = seat;
- seat.data("name", popupSeatSelectRadio.eq(number - 1).siblings("label").html());
- if (seat.data("preferred")) {
- peopleList.eq(filterPeopleList.index()).data("preferred", {
- price: seat.data("seat-price").replace(/[a-z\s]/gi, ""),
- priceUSD: seat.data("seat-price-usd"),
- seat: seat.data("sia-seat"),
- el: seat,
- info: peopleList.eq(filterPeopleList.index()).find(".passenger-info__text").html()
- });
- currency = getCurrency(seat.data("seat-price"));
- }
- var etc = filterPeopleList.next(".booking-nav__item");
- total.eq(filterPeopleList.index()).siblings(".passenger-info__seat").remove();
- total.eq(filterPeopleList.index()).parent().append($(templateInforSeat).clone().html(seat.data("sia-seat")));
- var doneCR = function() {
- total.eq(filterPeopleList.index()).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- var firstCR = function() {
- peopleList.removeClass("active").eq(0).addClass("active");
- total.eq(0).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- var nextCR = function() {
- filterPeopleList.removeClass("active").next().addClass("active");
- total.eq(etc.index()).prop({
- "checked": true
- }).parent().removeClass("disabled");
- };
- if (etc.length && !checkAllPassenger()) {
- nextCR();
- filterPeopleList.addClass("chosen");
- } else {
- if (!etc.length) {
- filterPeopleList.addClass("chosen");
- if ($(document.body).hasClass("f-loop")) {
- if (newCircleRule()) {
- doneCR();
- } else {
- firstCR();
- }
- } else {
- if (!checkAllPassenger()) {
- firstCR();
- }
- }
- } else {
- if (checkAllPassenger()) {
- filterPeopleList.addClass("chosen");
- if ($(document.body).hasClass("f-loop")) {
- if (newCircleRule()) {
- doneCR();
- } else {
- nextCR();
- }
- } else {
- doneCR();
- }
- }
- }
- }
- }
- popupSeatSelect.hide();
- win.off("resize.popupSeatSelect");
- filterPeopleList.data("seattype", seat.data("seattype"));
- };
- updateInfor();
- isSelect = false;
- popupSeatSelect.find(".tooltip__windowless").hide();
- popupSeatSelect.find(".tooltip__text-1").hide();
- if ($.isFunction(onSelected)) {
- onSelected.call(this, seat, index);
- }
- });
- popupSeatSelect.find(".tooltip__heading strong").text(seat.data("sia-seat"));
- popupSeatSelect.find(".tooltip__arrow").css("left", "").css({
- left: leftArrow ? leftArrow : ""
- });
- popupSeatSelect.find(".tooltip__close").off("click.choosePerson").on("click.choosePerson", function(e) {
- e.preventDefault();
- popupSeatSelect.hide();
- popupSeatSelect.find(".tooltip__windowless").hide();
- popupSeatSelect.find(".tooltip__text-1").hide();
- isSelect = false;
- win.off("resize.popupSeatSelect");
- });
- win.off("resize.popupSeatSelect").on("resize.popupSeatSelect", addResizeForPopupSelect);
- };
- var unselectedOnMobile = function() {
- isSelect = true;
- popupSeatChange.find(".tooltip__heading").html(seat.data("name"));
- popupSeatSelect.hide();
- popupSeatChange.show();
- winW = win.width();
- var leftP = seat.offset().left - popupSeatChange.outerWidth(true) / 2 + seat.outerWidth() / 2;
- var leftArrow = 0;
- if (leftP < 0) {
- leftArrow = seat.offset().left + seat.outerWidth() / 2;
- leftP = 0;
- } else {
- if (leftP + popupSeatChange.width() >= win.width()) {
- leftP = leftP - (leftP + popupSeatChange.width() - win.width());
- leftArrow = seat.offset().left - leftP + seat.outerWidth() / 2;
- }
- }
- popupSeatChange.css({
- top: seat.offset().top - popupSeatChange.outerHeight(true) - 12 - SIA.global.vars.container.offset().top,
- left: leftP
- }).find(".btn-full").off("click.changeSeat").on("click.changeSeat", function(e) {
- e.preventDefault();
- var seatNumberUnSelect = seat.html();
- popupSeatChange.hide();
- removeChair(seat.text());
- popupSeatSelectRadio.eq((seatNumberUnSelect - 1)).prop("disabled", false).parent().removeClass("disabled");
- popupSeatSelectRadio.eq((seatNumberUnSelect - 1)).siblings(".passenger-info__seat").remove();
- peopleList.eq((seatNumberUnSelect - 1)).removeClass("chosen").find(".passenger-info__seat").remove();
- peopleList.eq((seatNumberUnSelect - 1)).find(".input").val("");
- if (parseInt(seatNumberUnSelect === peopleList.length)) {
- peopleList.eq(peopleList.length - 1);
- } else {
- if (!peopleList.eq(peopleList.length - 1).find(".passenger-info__seat").length) {
- peopleList.eq(peopleList.length - 1);
- }
- }
- peopleList.eq((seatNumberUnSelect - 1)).removeData("seattype");
- seat.removeClass(selectedClass).addClass(avaibleSeatClass);
- if ($.isFunction(onUnSelected)) {
- onUnSelected.call(this, seat);
- }
- if (checkLeftChair() === 1) {
- popupSeatSelectRadio.filter("[disabled]").prop({
- "checked": false
- }).parent().addClass("disabled");
- if (!popupSeatSelectRadio.eq(findEmptyChair(seatNumberUnSelect - 1) - 1).parent().hasClass("disabled")) {
- popupSeatSelectRadio.eq(findEmptyChair(seatNumberUnSelect - 1) - 1).prop({
- "checked": true
- });
- }
- peopleList.removeClass("active").eq(seatNumberUnSelect - 1).addClass("active");
- }
- if (seat.data("preselected")) {
- if (seat.data("preferred") && peopleList.eq((seatNumberUnSelect - 1)).data("preferred")) {
- peopleList.eq((seat.html() - 1)).removeData("preferred");
- }
- seat.addClass(preselected).html(seatNumberUnSelect);
- seat.html(seat.data("preselected"));
- } else {
- if (seat.data("preferred") && peopleList.eq((seatNumberUnSelect - 1)).data("preferred")) {
- peopleList.eq((seatNumberUnSelect - 1)).removeData("preferred");
- seat.html(seat.data("preferred"));
- } else {
- if (seat.data("seat-characteristic")) {
- seat.html(seat.data("seat-characteristic"));
- } else {
- seat.html("");
- }
- }
- }
- isSelect = false;
- win.off("resize.popupSeatChange");
- if (checkAllEmptyChair()) {
- peopleList.removeClass("active").eq(0).addClass("active");
- }
- });
- popupSeatChange.find(".tooltip__arrow").css("left", "").css({
- left: leftArrow ? leftArrow : ""
- });
- popupSeatChange.find(".tooltip__close").off("click.cancelChangeSeat").on("click.cancelChangeSeat", function(e) {
- e.preventDefault();
- popupSeatChange.hide();
- win.off("resize.popupSeatChange");
- isSelect = false;
- });
- win.off("resize.popupSeatChange").on("resize.popupSeatChange", function() {
- clearTimeout(timerPopup);
- timerPopup = setTimeout(function() {
- var leftP = seat.offset().left - popupSeatChange.outerWidth(true) / 2 + seat.outerWidth() / 2;
- var leftArrow = 0;
- if (leftP < 0) {
- leftArrow = seat.offset().left + seat.outerWidth() / 2;
- leftP = 0;
- } else {
- if (leftP + popupSeatChange.width() >= win.width()) {
- leftP = leftP - (leftP + popupSeatChange.width() - win.width());
- leftArrow = seat.offset().left - leftP + seat.outerWidth() / 2;
- }
- }
- popupSeatChange.show().css({
- top: seat.offset().top - popupSeatChange.outerHeight(true) - 12 - SIA.global.vars.container.offset().top,
- left: leftP
- });
- popupSeatChange.find(".tooltip__arrow").css("left", "").css({
- left: leftArrow ? leftArrow : ""
- });
- if (win.width() !== winW) {
- popupSeatChange.hide();
- win.off("resize.popupSeatChange");
- isSelect = false;
- }
- }, 150);
- });
- };
- var showConfirmSeatBlank = function() {
- if ($(document.body).hasClass(blankSeat)) {
- if (seat.siblings("." + selectedClass).length) {
- var siblingsChair = seat.siblings("." + selectedClass).last();
- if (seat.next("." + selectedClass).length) {
- siblingsChair = seat.next("." + selectedClass);
- }
- if (Math.abs(siblingsChair.index() - seat.index()) >= 2 && (!seat.prev().hasClass(occupiedClass) && !seat.prev().hasClass(emptyClass) && !seat.next().hasClass(occupiedClass) && !seat.next().hasClass(emptyClass))) {
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmSeatBlank.Popup("show");
- preventUpdate = true;
- }
- }
- if (filterOccupied.length && filterOccupied.prev().hasClass(selectedClass) && filterOccupied.next().hasClass(selectedClass)) {
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmSeatBlank.Popup("show");
- preventUpdate = true;
- }
- }
- };
- var init = function() {
- global = SIA.global;
- win = global.vars.win;
- SIA.stickySidebar();
- seatsCont = SIA.RenderSeat.seatsCont;
- seatItems = seatsCont.find(".seat");
- templateInforSeat = $(SIA.RenderSeat.seatObjects.template.inforSeat);
- popupSeatPrefer = $(".popup--seat-prefer");
- popupConfirmSeatBlank = $(".popup--confirm-seat-2");
- popupConfirmModal = $(".popup--confirm-seat-4");
- preventUpdate = false;
- flyingFocus = $("#flying-focus");
- popupSeatSelect = $("[data-infomations-1]");
- popupSeatChange = $("[data-infomations-2]");
- texttemplatePrefer = popupSeatSelect.find(".tooltip__preferred").text();
- texttemplateFeePrefer = popupSeatPrefer.find("div.popup__text-1 p").text();
- popupSeatSelectRadio = popupSeatSelect.find(":radio");
- peopleList = $(".sidebar .booking-nav > a");
- popupSeatSelect.removeClass("hidden").hide();
- popupSeatChange.removeClass("hidden").hide();
- popupSeatSelectRadio.each(function(idx) {
- $(this).prop("disabled", false).parent().removeClass("disabled").off("change.changestatus").on("change.changestatus", function() {
- peopleList.removeClass("active").eq(idx).addClass("active");
- });
- });
- var detectAllDisable = function() {
- var all = true;
- peopleList.each(function() {
- if (!$(this).find(".passenger-info__seat")) {
- all = false;
- return all;
- }
- });
- return all;
- };
- if (detectAllDisable()) {
- popupSeatSelectRadio.eq(0).prop({
- "checked": true
- }).parent().removeClass("disabled");
- }
- if (!peopleList.filter(".active").length) {
- peopleList.eq(0).addClass("active");
- popupSeatSelectRadio.eq(0).prop({
- "checked": true
- }).parent().removeClass("disabled");
- }
- popupSeatSelectRadio.eq(peopleList.filter(".active").index()).prop({
- "checked": true
- }).parent().removeClass("disabled");
- var preferData = {
- heading: {
- passenger: L10n.preferModal.passenger,
- seat: L10n.preferModal.seat,
- price: L10n.preferModal.price.format($.trim(currency))
- },
- isICE: false,
- flightInfo: globalJson.seatMap.seatMapVO.flightDateInformationVO,
- total: {
- text: L10n.preferModal.total,
- number: 240
- }
- };
- var templateCustommerPreferSeat = '<div class="table-row">' + '<div class="table-col table-col-1">' + '<p class="text-dark">{0}</p>' + "</div>" + '<div class="table-col table-col-2"><span class="passenger-info__seat">{1}</span></div>' + '<div class="table-col table-col-3"><span class="visible-mb">{2}</span><span class="price">{3}</span></div>' + "</div>";
- if (!popupSeatPrefer.data("Popup")) {
- popupSeatPrefer.Popup({
- overlayBGTemplate: '<div class="overlay"></div>',
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- win.off("resize.popupSeatSelect");
- $("[data-replace-text-by-plane]").customSelect("hide");
- },
- afterHide: function() {
- isSelect = false;
- win.off("resize.popupSeatSelect");
- }
- });
- }
- if (!popupConfirmSeatBlank.data("Popup")) {
- popupConfirmSeatBlank.Popup({
- overlayBGTemplate: '<div class="overlay"></div>',
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- }
- });
- }
- if (!popupConfirmModal.data("Popup")) {
- popupConfirmModal.Popup({
- overlayBGTemplate: '<div class="overlay"></div>',
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- }
- });
- }
- peopleList.off("click.selectPerson").on("click.selectPerson", function(e) {
- e.preventDefault();
- peopleList.removeClass("active");
- $(this).addClass("active");
- popupSeatSelectRadio.eq($(this).index()).prop({
- "checked": true
- });
- });
- for (var i = 1; i <= peopleList.length; i++) {
- if (typeof arrSeat[i - 1] === "undefined") {
- arrSeat[i - 1] = {};
- }
- arrSeat[i - 1].chairNumber = i;
- arrSeat[i - 1].renew = false;
- arrSeat[i - 1].status = false;
- arrSeat[i - 1].occupied = $();
- }
- seatItems.filter("." + selectedClass).each(function() {
- var self = $(this);
- var index = parseInt(self.text()) - 1;
- arrSeat[index].status = true;
- arrSeat[index].occupied = self;
- });
- seatItems.each(function() {
- var self = $(this);
- var seatAllClass = self.attr("class");
- if (self.parents("#main-deck").length > 0) {
- if (self.hasClass("seat-free") || self.hasClass("seat-preselected")) {
- mainDeckArr.push({
- seat: self.attr("data-sia-seat"),
- type: self.data("seattype"),
- deck: self.parents(".seat-deck").attr("id")
- });
- }
- }
- if (self.parents("#upper-deck").length > 0) {
- if (self.hasClass("seat-free") || self.hasClass("seat-preselected")) {
- upperDeckArr.push({
- seat: self.attr("data-sia-seat"),
- type: self.data("seattype"),
- deck: self.parents(".seat-deck").attr("id")
- });
- }
- }
- $(this).on("click.selectSeat", function() {
- $(this).trigger("preselect");
- if (isSelect) {
- return;
- }
- seat = $(this);
- if (seat.hasClass(occupiedClass) || seat.hasClass(blockedClass) || seat.hasClass(emptyClass)) {
- return;
- }
- if (seat.hasClass(selectedClass)) {
- if (body.hasClass(deselectOn)) {
- return;
- }
- if (seat.siblings("." + selectedClass).length) {
- if (seat.next("." + selectedClass).length && seat.prev("." + selectedClass).length) {
- if (body.hasClass(blankSeat)) {
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupConfirmSeatBlank.Popup("show");
- return;
- }
- }
- }
- if (window.innerWidth >= tablet) {
- unselectOnDeskTop(seat);
- } else {
- unselectedOnMobile();
- }
- } else {
- preventUpdate = false;
- if (preventUpdate) {
- return;
- }
- if (window.innerWidth >= tablet) {
- selectOnDeskTop();
- } else {
- selectOnMobile();
- }
- }
- indexSeat = seatsCont.find(seatItems).index(seat);
- if ($.isFunction(afterChoose)) {
- afterChoose.call(this, indexSeat);
- }
- });
- });
- seatMapArr.push(mainDeckArr);
- seatMapArr.push(upperDeckArr);
- var sortByProperty = function(property) {
- return function(a, b) {
- var sortStatus = 0;
- if (a[property] < b[property]) {
- sortStatus = -1;
- } else {
- if (a[property] > b[property]) {
- sortStatus = 1;
- }
- }
- return sortStatus;
- };
- };
- seatMapArr.sort(sortByProperty("seat"));
- var checkLogic = function() {
- var formSeatmap = $("#form-seatmap");
- var nextFlightBtn = $(".button-group-1 input", formSeatmap);
- var acceptPopBtn = popupSeatPrefer.find("#form-prefer-submit-1");
- var rdAcceptPop = popupSeatPrefer.find("#form-prefer-1");
- var preferContain = null;
- var newFlightDate = $('[name="newFlightDate"]');
- var newFlightNumber = $('[name="newFlightNumber"]');
- var newDepartureSegment = $('[name="newDepartureSegment"]');
- var newArrivalSegment = $('[name="newArrivalSegment"]');
- var isloading = false;
- var counter = 0;
- var checkAndDataPreferred = function() {
- seatItems.filter("." + selectedClass).filter("." + preferredSeatClass).each(function() {
- var self = $(this);
- var index = parseInt(self.html()) - 1;
- peopleList.eq(index).data("preferred", {
- price: self.data("seat-price").replace(/[a-z\s]/gi, ""),
- priceUSD: self.data("seat-price-usd"),
- seat: self.data("sia-seat"),
- el: self,
- info: peopleList.eq(index).find(".passenger-info__text").html()
- });
- currency = getCurrency(self.data("seat-price"));
- });
- };
- if (!globalJson.seatMap.flow && globalJson.seatMap.flow !== "ICE" && globalJson.seatMap.flow !== "MB") {
- checkAndDataPreferred();
- }
- var checkChoosePrefer = function() {
- var preferInfor = [];
- peopleList.each(function(idx) {
- var passengerInforholder = $(this);
- var preferredInfor = passengerInforholder.data("preferred");
- if (preferredInfor) {
- if (globalJson.seatMap.flow === "MB") {
- if (passengerInforholder.data("oldseatnumber")) {
- if (passengerInforholder.data("oldseatnumber") !== preferredInfor.seat) {
- preferInfor.push(preferredInfor);
- } else {
- if (passengerInforholder.data("oldseatnumber") === preferredInfor.seat && passengerInforholder.data("assignseatnumber") !== preferredInfor.seat) {
- if (!preferredInfor.el.data("preselected")) {
- preferInfor.push(preferredInfor);
- } else {
- if (preferredInfor.el.data("preselected") !== idx + 1) {
- preferInfor.push(preferredInfor);
- }
- }
- }
- }
- } else {
- if (!preferredInfor.el.data("preselected")) {
- preferInfor.push(preferredInfor);
- } else {
- if (preferredInfor.el.data("preselected") !== idx + 1) {
- preferInfor.push(preferredInfor);
- }
- }
- }
- } else {
- if (globalJson.seatMap.flow !== "ICE") {
- preferInfor.push(preferredInfor);
- }
- }
- }
- });
- return preferInfor;
- };
- var enableAccept = function() {
- if (rdAcceptPop.is(":checked")) {
- acceptPopBtn.removeClass("disabled").prop("disabled", false);
- } else {
- acceptPopBtn.addClass("disabled").prop("disabled", true);
- }
- };
- var numberOfSelectedSeats = popupSeatPrefer.find(".table-content");
- var popupValidationCheck = $(".popup--confirm-seat-5");
- if (!popupValidationCheck.data("Popup")) {
- popupValidationCheck.Popup({
- overlayBGTemplate: '<div class="overlay"></div>',
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- }
- });
- }
- popupValidationCheck.find("#seatmap-cancel-1").off("click.cancelPopup").on("click.cancelPopup", function(e) {
- e.preventDefault();
- popupValidationCheck.Popup("hide");
- });
- popupValidationCheck.find("#seatmap-save").off("click.saveAndSubmit").on("click.saveAndSubmit", function(e) {
- e.preventDefault();
- if (preferContain.length) {
- popupValidationCheck.Popup("hide");
- renderPrefer();
- } else {
- formSeatmap[0].submit();
- }
- });
- var updateSeatNumber = function(info) {
- numberOfSelectedSeats.each(function() {
- var self = $(this);
- $.each(info, function() {
- $(templateCustommerPreferSeat.format(this.info, this.seat, L10n.preferModal.price.format(currency), this.price)).appendTo(self);
- });
- });
- };
- var calculateTotal = function(data, usd) {
- var tt = 0;
- if (usd) {
- $.each(data, function() {
- if (globalJson.seatMap.locale === "de_DE" || globalJson.seatMap.locale === "es_ES" || globalJson.seatMap.locale === "pt_BR") {
- tt += parseFloat(this.priceUSD.replace(/[.]/gi, "").replace(",", "."));
- } else {
- if (globalJson.seatMap.locale === "fr_FR" || globalJson.seatMap.locale === "ru_RU") {
- tt += parseFloat(this.priceUSD.replace(/[ ]/gi, "").replace(",", "."));
- } else {
- tt += unformatNumber(this.priceUSD);
- }
- }
- });
- } else {
- $.each(data, function() {
- if (globalJson.seatMap.locale === "de_DE" || globalJson.seatMap.locale === "es_ES" || globalJson.seatMap.locale === "pt_BR") {
- tt += parseFloat(this.price.replace(/[.]/gi, "").replace(",", "."));
- } else {
- if (globalJson.seatMap.locale === "fr_FR" || globalJson.seatMap.locale === "ru_RU") {
- tt += parseFloat(this.price.replace(/[ ]/gi, "").replace(",", "."));
- } else {
- tt += unformatNumber(this.price);
- }
- }
- });
- }
- return formatNumber(parseFloat(tt), precision.getPrecision(usd ? "USD" : currency));
- };
- rdAcceptPop.off("change.enableAccept").off("change.enableAccept").on("change.enableAccept", function() {
- enableAccept();
- });
- var updateNewSeatType = function() {
- var newSeatType = $("[name=newSeatType]");
- var st = "";
- var c = 0;
- peopleList.each(function(idx) {
- var seattype = $(this).data("seattype");
- if (seattype) {
- if (c) {
- st += (idx + 1) + "-" + seattype;
- c++;
- } else {
- st += "," + (idx + 1) + "-" + seattype;
- }
- }
- });
- newSeatType.val(st);
- };
- var renderPrefer = function() {
- popupSeatPrefer.find(".table-default").empty();
- popupSeatSelect.find(".tooltip__close").trigger("click");
- popupSeatChange.find(".tooltip__close").trigger("click");
- $.get(SIA.global.config.url.preferSeatContent, function(data) {
- if (counter == 0) {
- var template = window._.template(data, {
- "data": preferData
- });
- $(template).appendTo(popupSeatPrefer.find(".table-default"));
- numberOfSelectedSeats = popupSeatPrefer.find(".table-content");
- updateSeatNumber(preferContain);
- $(".overlay-loading").addClass("hidden").css("display", "none");
- popupSeatPrefer.Popup("show");
- if ($(this).data("url")) {
- $(this).closest("form").attr("action", $(this).data("url"));
- popupSeatPrefer.find("form").attr("action", $(this).data("url"));
- }
- enableAccept();
- counter = 1;
- }
- }, "html");
- };
- var nextFlightBtnDataNext = nextFlightBtn.filter('[data-next="true"]');
- nextFlightBtnDataNext.off("click.showPrefer").off("click.showPrefer").on("click.showPrefer", function(e) {
- if (counter == 0 || counter == 1) {
- counter = 0;
- preferContain = checkChoosePrefer();
- updateNewSeatType();
- preferData = {
- heading: {
- passenger: L10n.preferModal.passenger,
- seat: L10n.preferModal.seat,
- price: L10n.preferModal.price.format($.trim(currency))
- },
- isICE: false,
- flightInfo: globalJson.seatMap.seatMapVO.flightDateInformationVO,
- total: {
- text: L10n.preferModal.total,
- number: calculateTotal(preferContain)
- }
- };
- if (isloading) {
- return;
- }
- popupSeatPrefer.find("p.popup__text-intro").html(L10n.preferModal.alert.format(calculateTotal(preferContain, true), currency));
- if (preferContain.length) {
- e.preventDefault();
- renderPrefer();
- } else {
- if ($(this).data("url")) {
- $(this).closest("form").attr("action", $(this).data("url"));
- }
- }
- }
- });
- nextFlightBtn.filter(':not([data-next="true"])').off("click.skipThisStep").on("click.skipThisStep", function(e) {
- e.preventDefault();
- var self = $(this);
- if (self.data("url")) {
- formSeatmap.attr("action", self.data("url"));
- }
- formSeatmap[0].submit();
- });
- var updateFlightInforOnTab = function(el) {
- newFlightDate.val(el.data("flightdate"));
- newFlightNumber.val(el.data("flightnumber"));
- newDepartureSegment.val(el.data("departsegment"));
- newArrivalSegment.val(el.data("arrivalsegment"));
- };
- var limitItemTab = $(".tabs--1.seat-tabs").find("li.limit-item");
- var limitItemSelect = limitItemTab.find("select");
- var limitItemIndex = null;
- if (limitItemSelect.length) {
- limitItemIndex = limitItemSelect.prop("selectedIndex");
- }
- $(".tabs--1.seat-tabs").removeClass("hidden").on("click.switch-flight", "> .tab .tab-item a", function(e) {
- var self = $(this);
- var li = self.parent();
- var liIndex = self.closest("ul").children().index(li);
- var activeLi = li.is(".active") ? li : li.siblings("li.active");
- var activeLiIndex = activeLi.index();
- if (limitItemSelect.length) {
- activeLiIndex = activeLiIndex + limitItemIndex;
- }
- updateFlightInforOnTab(self);
- e.preventDefault();
- if (li.is(".active") && !li.is(".limit-item")) {
- return;
- }
- nextFlightBtn.filter('[data-next="true"]').trigger("click.showPrefer");
- });
- var seatTabs = $(".tabs--1.seat-tabs");
- var selectFlight = seatTabs.children(".tab-select");
- var triggerTab = seatTabs.find("ul.tab .tab-item > a");
- var selectFlightIndex = selectFlight.prop("selectedIndex");
- selectFlight.off("change.triggerTab").off("change.triggerSubmit").on("change.triggerSubmit", function(e) {
- e.preventDefault();
- triggerTab.eq($(this).prop("selectedIndex")).trigger("click.switch-flight");
- $(this).prop("selectedIndex", selectFlightIndex);
- }).off("blur.resetValue").on("blur.resetValue", function() {
- $(this).children().eq(selectFlightIndex).prop("selected", true);
- });
- };
- var addLegend = function() {
- var seatLegend = $(".seat-legend");
- var seatLegendControl = seatLegend.find(".seat-legend__control");
- var seatLegendContent = seatLegend.find(".seat-legend-content");
- var seatStatus = $(".seat-status").clone().appendTo(seatLegendContent);
- seatStatus.find("[data-tooltip]").each(function() {
- if (!$(this).data("kTooltip")) {
- $(this).kTooltip();
- }
- });
- seatLegendControl.off("click.showlegend").on("click.showlegend", function(e) {
- e.preventDefault();
- seatLegendContent.slideToggle(400);
- if (seatLegendContent.hasClass("active")) {
- seatLegendContent.removeClass("active");
- seatLegendControl.removeClass("active");
- } else {
- seatLegendContent.addClass("active");
- seatLegendControl.addClass("active");
- }
- if (popupSeatSelect.is(":visible")) {
- popupSeatSelect.find("a.tooltip__close").trigger("click");
- }
- if (popupSeatChange.is(":visible")) {
- popupSeatChange.find("a.tooltip__close").trigger("click");
- }
- });
- };
- var showErrorMessage = function() {
- var errorMessage = $(".error-message");
- if (globalJson.seatMap.errorVO.errocode !== "" && globalJson.seatMap.errorVO.errocode !== "Not available" && globalJson.seatMap.errorVO.errocode !== "ERROR_seat.selection.generic") {
- if (globalJson.seatMap.errorVO.errodesc == "saar5.l.seateconomy.seatmapfull") {
- errorMessage.attr("data-errormsg", globalJson.seatMap.errorVO.errocode).removeClass("hidden").find("p").text(saar5.l.seateconomy.seatmapfull);
- } else {
- if (globalJson.seatMap.errorVO.errodesc == "saar5.l.seateconomy.partialcheckinerror") {
- errorMessage.attr("data-errormsg", globalJson.seatMap.errorVO.errocode).removeClass("hidden").find("p").text(saar5.l.seateconomy.partialcheckinerror);
- } else {
- if (globalJson.seatMap.errorVO.errodesc == "saar5.l.seateconomy.genericmessage") {
- errorMessage.attr("data-errormsg", globalJson.seatMap.errorVO.errocode).removeClass("hidden").find("p").text(saar5.l.seateconomy.genericmessage);
- } else {
- if (globalJson.seatMap.errorVO.errodesc == "saar5.l.seateconomy.homepagesessionexpirymessage") {
- errorMessage.attr("data-errormsg", globalJson.seatMap.errorVO.errocode).removeClass("hidden").find("p").text(saar5.l.seateconomy.homepagesessionexpirymessage);
- }
- }
- }
- }
- }
- };
- var adjustHeightNavAndSeatMapContent = function() {
- var nav = $("[data-fixed]");
- var innerNav = nav.children(".inner");
- var seapContent = nav.next();
- if (seapContent.outerHeight(true) < innerNav.outerHeight(true)) {
- seapContent.height(innerNav.height() + 100);
- }
- };
- var removeClassSeatInnerGaller = function() {
- $(".seat-inner-galley").each(function() {
- var self = $(this);
- if (!self.find(".seatmap-galley").length) {
- self.removeClass("seat-inner-galley");
- }
- });
- };
- var cabinvo = globalJson.seatMap.cabinVO;
- var upperDeckPresent = false;
- for (var i = 0; i < cabinvo.length; i++) {
- if (cabinvo[i].cabinDetailsVO.cabinLocation === "U") {
- upperDeckPresent = true;
- }
- }
- var keyBoardNavigation = function() {
- var config = {
- cabinWrap: $(".seatmap-cabin-wrapper"),
- deckNav: ".seat-deck-tabs",
- deckNavItem: $(this.deckNav).children(),
- activeSeat: $(".seat-selected", this.cabinWrap),
- paxNav: {
- focus: false,
- activePax: 0,
- selected: [],
- btn: $(".booking-nav__item")
- },
- deckNavi: {
- focus: false,
- activeDeck: 0
- },
- seatMap: {
- focus: false,
- current: 0
- },
- submit: {
- focus: false,
- activeBtn: 1,
- saveExit: $("#seat-3-submit"),
- seatSubmit: $("#seat-4-submit")
- }
- };
- $(".logo").focus();
- var paxNav = function() {
- var paxNav = $(".booking-nav");
- var paxNavBtn = $(".booking-nav__item", paxNav);
- paxNavBtn.each(function() {
- var self = $(this);
- var paxScreenReader = $(SIA.RenderSeat.seatObjects.template.wcag.tpl);
- paxScreenReader.html(L10n.seatMap.pax);
- self.append(paxScreenReader);
- self.focus(function() {
- overrideKeys();
- moveScreen(".seatmap-content");
- });
- });
- };
- var overrideKeys = function() {
- config.paxNav.focus = true;
- $(document).off("keydown").on("keydown", function(e) {
- var keyCode = e.keyCode || e.which || e.charCode;
- var allowKeyCode = [9, 13, 37, 38, 39, 40];
- if ($.inArray(keyCode, allowKeyCode) >= 0) {
- if (config.activeSeat.length) {
- switch (keyCode) {
- case 9:
- keyTab(config, keyCode, e);
- break;
- case 37:
- if (config.seatMap.focus) {
- seatSelect("backward");
- }
- break;
- case 39:
- if (config.seatMap.focus) {
- seatSelect("forward");
- }
- break;
- case 13:
- keyEnter(config.seatMap.current, keyCode, e);
- break;
- default:
- break;
- }
- } else {}
- e.preventDefault();
- }
- });
- };
- var moveScreen = function(el) {
- $("body,html").animate({
- scrollTop: $(el).offset().top
- }, 800);
- return false;
- };
- var keyTab = function(config, key, e) {
- if (config.paxNav.focus) {
- var paxAr = globalJson.seatMap.passengerAndSeatAssociationVO;
- var l = paxAr.length;
- var paxCount = 0;
- for (var i = 0; i < l; i++) {
- var po = paxAr[i];
- if (po.passengerType.toLowerCase() !== "infant") {
- paxCount++;
- }
- }
- if (key === 9 && e.shiftKey) {
- config.paxNav.activePax--;
- if (config.paxNav.activePax < 0) {
- config.paxNav.activePax = paxCount - 1;
- }
- } else {
- config.paxNav.activePax++;
- if (config.paxNav.activePax > paxCount - 1) {
- config.paxNav.activePax = 0;
- }
- }
- $(".booking-nav__item").eq(config.paxNav.activePax).trigger("click").focus();
- } else {
- if (config.deckNavi.focus) {
- if (key === 9 && e.shiftKey && config.deckNavi.activeDeck === 0) {
- $(".booking-nav__item.active").trigger("click").focus();
- config.deckNavi.focus = false;
- config.paxNav.focus = true;
- return;
- }
- if (config.deckNavi.activeDeck === 0) {
- config.deckNavi.activeDeck = 1;
- } else {
- config.deckNavi.activeDeck = 0;
- }
- $(".seat-deck-tabs").children().eq(config.deckNavi.activeDeck).find("a").trigger("click").focus();
- } else {
- if (config.seatMap.focus) {
- if (key === 9 && e.shiftKey) {
- if (upperDeckPresent) {
- $(".seat-deck-tabs").children().eq(config.deckNavi.activeDeck).find("a").trigger("click");
- config.deckNavi.focus = true;
- config.seatMap.focus = false;
- } else {
- $(".booking-nav__item.active").trigger("click").focus();
- config.deckNavi.focus = false;
- config.paxNav.focus = true;
- return;
- }
- }
- } else {
- if (config.submit.focus) {
- if (key === 9 && e.shiftKey) {
- if (config.submit.activeBtn === 1) {
- config.submit.saveExit.focus();
- config.submit.activeBtn = 0;
- } else {
- if (config.submit.activeBtn === 0) {
- config.paxNav.btn.eq(2).focus();
- config.submit.activeBtn = 1;
- config.paxNav.focus = true;
- config.deckNavi.focus = false;
- config.seatMap.focus = false;
- config.submit.focus = false;
- }
- }
- } else {
- if (config.submit.activeBtn === 1) {
- config.submit.saveExit.focus();
- config.submit.activeBtn = 0;
- } else {
- if (config.submit.activeBtn === 0) {
- config.submit.seatSubmit.focus();
- config.submit.activeBtn = 1;
- }
- }
- }
- }
- }
- }
- }
- };
- var currentSeat;
- var seatSelect = function(type) {
- if (type === "forward") {
- if (config.deckNavi.activeDeck === 0) {
- config.seatMap.current++;
- if (config.seatMap.current >= seatMapArr[config.deckNavi.activeDeck].length) {
- if (upperDeckPresent) {
- toggleDeck();
- } else {
- config.seatMap.current = 1;
- recursive(config.seatMap.current, true);
- currentSeat = seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat;
- $('[data-sia-seat="' + currentSeat + '"]').trigger("click").focus();
- }
- } else {
- if (config.seatMap.current < seatMapArr[config.deckNavi.activeDeck].length) {
- recursive(config.seatMap.current, true);
- currentSeat = seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat;
- $('[data-sia-seat="' + currentSeat + '"]').trigger("click").focus();
- }
- }
- }
- if (config.deckNavi.activeDeck === 1) {
- config.seatMap.current++;
- if (config.seatMap.current < seatMapArr[config.deckNavi.activeDeck].length) {
- recursive(config.seatMap.current, true);
- currentSeat = seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat;
- $('[data-sia-seat="' + currentSeat + '"]').trigger("click").focus();
- } else {
- config.seatMap.current = seatMapArr[config.deckNavi.activeDeck].length - 1;
- currentSeat = seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat;
- $('[data-sia-seat="' + currentSeat + '"]').focus();
- }
- }
- } else {
- if (type === "backward") {
- config.seatMap.current--;
- if (config.seatMap.current === -1 && config.deckNavi.activeDeck === 1) {
- toggleDeck();
- config.seatMap.current = (seatMapArr[config.deckNavi.activeDeck].length - 1);
- }
- if (config.seatMap.current < 0 && config.deckNavi.activeDeck === 1) {
- toggleDeck();
- } else {
- if (config.seatMap.current < 0 && config.deckNavi.activeDeck === 0) {
- config.seatMap.current = 0;
- } else {
- if (config.seatMap.current < seatMapArr[config.deckNavi.activeDeck].length) {
- recursive(config.seatMap.current, false);
- currentSeat = seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat;
- $('[data-sia-seat="' + currentSeat + '"]').trigger("click").focus();
- }
- }
- }
- }
- }
- };
- var recursive = function(seatIdx, dir) {
- var i;
- if ($(".booking-nav__item.active").data("hasinfant") === true) {
- i = $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-selected').length || $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-char-hasexit').length || $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-empty').length;
- } else {
- i = $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-selected').length || $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-char-bassinet').length || $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][seatIdx].seat + '"].seat-empty').length;
- }
- console.log("count: " + i);
- while (i > 0) {
- if (dir === true) {
- seatIdx++;
- } else {
- if (seatIdx !== -1) {
- seatIdx--;
- }
- }
- config.seatMap.current = seatIdx;
- if (i === 0) {
- break;
- }
- return recursive(config.seatMap.current, dir);
- }
- };
- var toggleDeck = function() {
- if (config.deckNavi.activeDeck === 0) {
- config.deckNavi.activeDeck = 1;
- config.seatMap.current = 0;
- $('[data-sia-seat="' + seatMapArr[1][0].seat + '"]').trigger("click").focus();
- } else {
- config.deckNavi.activeDeck = 0;
- config.seatMap.current = seatMapArr[config.deckNavi.activeDeck].length - 1;
- }
- $(".seat-deck-tabs").children().eq(config.deckNavi.activeDeck).find("a").trigger("click").focus();
- };
- var keyEnter = function(seatIndex, key, e) {
- console.log(key + e);
- if (config.paxNav.focus) {
- if (upperDeckPresent) {
- if (config.deckNav.length) {
- console.log("deck nav: " + config.deckNav.length);
- $(".seat-deck-tabs").children().eq(config.deckNavi.activeDeck).find("a").trigger("click").focus();
- } else {}
- config.paxNav.activePax = $(".booking-nav__item.active").index();
- console.log(config.paxNav.activePax);
- config.seatMap.current = 0;
- config.paxNav.focus = false;
- config.deckNavi.focus = true;
- config.seatMap.focus = false;
- } else {
- var currentSeatLabel = $(".booking-nav__item.active .passenger-info__seat").text();
- console.log("New Active Deck: " + config.deckNavi.activeDeck);
- var getCurrSeatIdx = seatMapArr[config.deckNavi.activeDeck].map(function(e) {
- return e.seat;
- }).indexOf(currentSeatLabel);
- var checkSelectedSeat = $('[data-sia-seat="' + currentSeatLabel + '"]');
- console.log("Current Seat Selected: " + getCurrSeatIdx);
- console.log("Active Deck: " + config.deckNavi.activeDeck);
- if (currentSeatLabel !== "") {
- if (!checkSelectedSeat.hasClass("seat-preselected")) {
- console.log("thecurrent: " + getCurrSeatIdx);
- if (getCurrSeatIdx === -1) {
- config.seatMap.current = 0;
- recursive(config.seatMap.current, true);
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat + '"]').trigger("click");
- }
- config.seatMap.current = getCurrSeatIdx;
- } else {
- if (config.deckNavi.activeDeck === 1) {
- config.seatMap.current = 0;
- recursive(config.seatMap.current, true);
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat + '"]').trigger("click");
- } else {
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][getCurrSeatIdx].seat + '"]').focus();
- }
- config.seatMap.current = getCurrSeatIdx;
- }
- } else {
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][0].seat + '"]').focus();
- }
- config.paxNav.focus = false;
- config.deckNavi.focus = false;
- config.seatMap.focus = true;
- }
- } else {
- if (config.deckNavi.focus) {
- var currentSeatLabel = $(".booking-nav__item.active .passenger-info__seat").text();
- console.log("New Active Deck: " + config.deckNavi.activeDeck);
- var getCurrSeatIdx = seatMapArr[config.deckNavi.activeDeck].map(function(e) {
- return e.seat;
- }).indexOf(currentSeatLabel);
- var checkSelectedSeat = $('[data-sia-seat="' + currentSeatLabel + '"]');
- console.log("Current Seat Selected: " + getCurrSeatIdx);
- console.log("Active Deck: " + config.deckNavi.activeDeck);
- if (currentSeatLabel !== "") {
- if (!checkSelectedSeat.hasClass("seat-preselected")) {
- console.log("thecurrent: " + getCurrSeatIdx);
- if (getCurrSeatIdx === -1) {
- config.seatMap.current = 0;
- recursive(config.seatMap.current, true);
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat + '"]').trigger("click");
- }
- config.seatMap.current = getCurrSeatIdx;
- } else {
- if (config.deckNavi.activeDeck === 1) {
- config.seatMap.current = 0;
- recursive(config.seatMap.current, true);
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][config.seatMap.current].seat + '"]').trigger("click");
- } else {
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][getCurrSeatIdx].seat + '"]').focus();
- }
- config.seatMap.current = getCurrSeatIdx;
- }
- } else {
- $('[data-sia-seat="' + seatMapArr[config.deckNavi.activeDeck][0].seat + '"]').focus();
- }
- config.paxNav.focus = false;
- config.deckNavi.focus = false;
- config.seatMap.focus = true;
- } else {
- if (config.seatMap.focus) {
- if ($(".booking-nav__item.chosen").length < $(".booking-nav__item").length) {
- $(".booking-nav__item:not(.chosen)").eq(0).trigger("click").focus();
- } else {
- config.submit.seatSubmit.focus();
- moveScreen(".button-group-1");
- config.paxNav.focus = false;
- config.deckNavi.focus = false;
- config.seatMap.focus = false;
- config.submit.focus = true;
- }
- config.paxNav.activePax = $(".booking-nav__item.active").index();
- console.log("Active Pax: " + config.paxNav.activePax);
- } else {
- if (config.submit.focus) {
- if (config.submit.activeBtn === 1) {
- config.submit.saveExit.trigger("click");
- } else {
- if (config.submit.activeBtn === 0) {
- config.submit.seatSubmit.trigger("click");
- }
- }
- }
- }
- }
- }
- };
- var wcagScreenText = function() {
- var deckNav = function() {
- $(".seat-deck-tabs").children().each(function(i) {
- var self = $(this);
- var screenReaderTpl = $(SIA.RenderSeat.seatObjects.template.wcag.tpl);
- screenReaderTpl.html((i === 0) ? L10n.seatMap.deck.main : L10n.seatMap.deck.upper);
- self.find("a").append(screenReaderTpl);
- });
- };
- deckNav();
- };
- var init = function() {
- paxNav();
- wcagScreenText();
- };
- init();
- };
- keyBoardNavigation();
- checkLogic();
- addLegend();
- showErrorMessage();
- adjustHeightNavAndSeatMapContent();
- removeClassSeatInnerGaller();
- };
- var oSeatSelection = {
- init: init
- };
- return oSeatSelection;
- })();
- SIA.RenderSeat.init();
- function setPassenger() {
- if (globalJson.seatMap.flow === "ICE") {
- var paxArCheckin = globalJson.seatMap.passengerAndSeatAssociationVO;
- var seatInfant = $('input[name="paxNew[]"]');
- for (var a = 0; a < seatInfant.size(); a++) {
- if (seatInfant[a].value == "W") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("WINDOW");
- } else {
- if (seatInfant[a].value == "A") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("AISLE");
- } else {
- if (seatInfant[a].value == "Select") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("");
- } else {
- if (seatInfant[a].value == "NA") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("");
- } else {
- $('input[name="passenger' + $(seatInfant[a]).attr("data-name") + '"]').val(seatInfant[a].value);
- }
- }
- }
- }
- }
- } else {
- var count = 1;
- $('input[name="paxNew[]"]').each(function() {
- if ($(this).val() == "W") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("WINDOW");
- } else {
- if ($(this).val() == "A") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("AISLE");
- } else {
- if ($(this).val() == "Select") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("");
- } else {
- if ($(this).val() == "NA") {
- $('input[name="passengers[' + (count - 1) + '].genericSeatNumber"]').val("");
- } else {
- $('input[name="passenger' + count + '"]').val($(this).val());
- }
- }
- }
- }
- count++;
- });
- }
- }
- $(document).ready(function() {
- if ($("#checkinFlow").val() == 1) {
- $("#seat-4-submit").val(saar5.l.seateconomy.nextflightcontinue);
- $("#seat-3-submit").hide();
- $(".btn-back").hide();
- } else {
- if ($("#bookingFlow").val() == 1) {
- $("#seat-3-submit").hide();
- if ($(".seat-tabs .tab .tab-item:last").hasClass("active")) {
- $("#seat-4-submit").val(saar5.l.seateconomy.next);
- } else {
- $("#seat-4-submit").val(saar5.l.seateconomy.nextflight);
- }
- } else {
- if ($("#checkinFlow").val() == 0 && $("#bookingFlow").val() == 0) {
- $(".btn-back").hide();
- if ($(".seat-tabs .tab .tab-item:last").hasClass("active")) {
- $("#seat-4-submit").val(saar5.l.seateconomy.nextflightcontinue);
- $("#seat-3-submit").hide();
- } else {
- $("#seat-4-submit").val(saar5.l.seateconomy.saveandproceedtonextflight);
- }
- }
- }
- }
- $(".seat-tabs .tab .tab-item:not(.active)").click(function() {
- var preload = $(".overlay-loading");
- preload.removeClass("hidden").css("display", "block");
- $("#tab-clicked").val("true");
- setPassenger();
- $("#jQserialValue").val(true);
- $("#_eventId_updateSeatMapEvent_submitSeatSelection").val("randomFlight");
- $("#_eventId").val("updateSeatMapEvent");
- $("#sidebar-tab-select").attr("name", "sidebartabselect");
- $("[id^=preferred-seat-]").attr("name", "preferredseat");
- });
- if (globalJson.seatMap.errorVO.errocode !== "" && globalJson.seatMap.errorVO.errocode !== "Not available" && globalJson.seatMap.errorVO.errocode == "ERROR_seat.partial.checkin.error") {
- $("#seat-4-submit").hide();
- $(".popup--mbaftercheckin-seat-1").find(".popup__close").click(function() {
- $(".popup--mbaftercheckin-seat-1").Popup("hide").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(".overlay").click(function() {
- $(".popup--mbaftercheckin-seat-1").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(".popup--mbaftercheckin-seat-1").click(function() {
- $(".popup--mbaftercheckin-seat-1").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(document).on("keyup", function(evt) {
- if (evt.keyCode == 27) {
- $(".popup--mbaftercheckin-seat-1").Popup("hide");
- $(".overlay").addClass("hidden");
- }
- });
- $(".overlay").removeClass("hidden");
- $(".popup--mbaftercheckin-seat-1").Popup("show").Popup("show");
- $(".popup--mbaftercheckin-seat-1").find("#seatmap-cancel").click(function(e) {
- $(".popup--mbaftercheckin-seat-1").find($("input[name^='_eventId']")).prop("name", "_eventId_cancel");
- });
- }
- var count;
- if ($(document.body).hasClass("generic-seatsmap-page") && $("[name^=passengers]").size() == 0) {
- count = 0;
- $("a.booking-nav__item").each(function() {
- $(this).find(".passenger-info").append('<input type="hidden" value="" name="passengers[' + (count) + '].genericSeatNumber" />');
- count++;
- });
- } else {
- if ($(document.body).hasClass("seatsmap-page") && $("[id^=passenger]").size() == 0) {
- count = 1;
- $("a.booking-nav__item").each(function() {
- $(this).find(".passenger-info").append('<input type="hidden" value="" name="passenger' + (count) + '" id="passenger' + (count) + '" />');
- count++;
- });
- }
- }
- var triggerPopupSummaryFareConditions = $("a.fareConditions");
- var triggerPopupBaggageAllowance = $("a.baggageAllowance");
- var popupSummaryFareConditions = $(".popup--add-ons-summary");
- var popupBaggageAllowance = $(".popup--seat-baggage");
- if (!popupSummaryFareConditions.data("Popup")) {
- popupSummaryFareConditions.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- }
- });
- }
- triggerPopupSummaryFareConditions.off("click.triggerPopupSummaryFareConditions").on("click.triggerPopupSummaryFareConditions", function(e) {
- $(".overlay-loading").removeClass("hidden");
- var formURL = $(this).attr("href");
- $.ajax({
- url: formURL,
- type: "POST",
- success: function(data, textStatus, jqXHR) {
- var preload = $(".overlay-loading");
- preload.addClass("hidden");
- $("#fareConditionsDiv").val("");
- $("#fareConditionsDiv").html(data.trim());
- popupSummaryFareConditions.Popup("show");
- },
- error: function(jqXHR, textStatus, errorThrown) {
- $("#fareConditionsDiv").html("<div class='popup--fare-condition popup__inner'><div class='popup__content'><a href='#' class='popup__close'></a>" + saar5.m.popupBlock.nofarepopup + "</div></div>");
- popupSummaryFareConditions.Popup("show");
- var preload = $(".overlay-loading");
- preload.addClass("hidden");
- }
- });
- e.preventDefault();
- });
- if (!popupBaggageAllowance.data("Popup")) {
- popupBaggageAllowance.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- }
- });
- }
- triggerPopupBaggageAllowance.off("click.triggerPopupBaggageAllowance").on("click.triggerPopupBaggageAllowance", function(e) {
- var formURL = $(this).attr("href");
- $.ajax({
- url: formURL,
- type: "GET",
- success: function(data, textStatus, jqXHR) {
- var preload = $(".overlay-loading");
- preload.addClass("hidden");
- $("#baggageInfoDiv").val("");
- $("#baggageInfoDiv").html(data.trim());
- popupBaggageAllowance.Popup("show");
- },
- error: function(jqXHR, textStatus, errorThrown) {
- var preload = $(".overlay-loading");
- preload.addClass("hidden");
- }
- });
- e.preventDefault();
- });
- });
- SIA.initTabMenu = function() {
- var wrapperTab = $("[data-wrapper-tab]");
- if (wrapperTab.length) {
- var global = SIA.global,
- win = global.vars.win,
- timerResize;
- var setSelectWidth = function() {
- if (wrapperTab.hasClass("multi-tabs") || wrapperTab.hasClass("multi-tabs-extra")) {
- if (win.width() < global.config.tablet) {
- wrapperTab.children("select").width(wrapperTab.find("li.active").width());
- } else {
- wrapperTab.children("select").width("");
- }
- }
- };
- win.off("resize.tabMenu").on("resize.tabMenu", function() {
- clearTimeout(timerResize);
- timerResize = setTimeout(function() {
- setSelectWidth();
- }, 400);
- }).trigger("resize.tabMenu");
- }
- $(".tabs--1").tabMenu({
- tab: "> ul.tab .tab-item",
- tabContent: "> div.tab-wrapper > div.tab-content",
- activeClass: "active"
- });
- $(".tabs--2").tabMenu({
- tab: "> ul.tab .tab-item",
- tabContent: "> div.tab-wrapper > div.tab-content",
- activeClass: "active"
- });
- };
- SIA.CIBBookingSummary = function() {
- var config = SIA.global.config;
- var flightSearch = $(".flights__searchs");
- var flightUpgrades = $(".flights-upgrade");
- var bookingSummaryWidget = $(".booking-summary");
- var bookingSummaryControl = bookingSummaryWidget.find(".booking-summary__heading .booking-summary__control");
- var bookingSummaryContent = bookingSummaryWidget.find(".booking-summary__content");
- var bookingSummaryOffset = bookingSummaryWidget.offset();
- var addonSubtotal = 0;
- var grandTotal = 0;
- var addons = [];
- var kkMiles = 0;
- var kkMilesRest = 0;
- var infoFare = bookingSummaryWidget.find("[data-fare] span").last();
- var infoTaxes = bookingSummaryWidget.find("[data-taxes] span").last();
- var infoCarrier = bookingSummaryWidget.find("[data-carrier] span").last();
- var infoFlightSubtotal = bookingSummaryWidget.find("[data-subtotal] span").last();
- var infoGrandTotal = bookingSummaryWidget.find("[data-grandtotal]");
- var infoAddonList = bookingSummaryWidget.find("[data-addons]");
- var infoKKMilesRest = bookingSummaryWidget.find("[data-krisflyer-miles-rest]");
- var tooltipPopup = $(".add-ons-booking-tooltip");
- var passengerCount = bookingSummaryWidget.find(".number-passengers");
- var infoPayableWithMiles = bookingSummaryWidget.find("[data-krisflyer-miles]");
- var additionalGuest = $("[data-additional-guest]");
- var flightsSearch = $("div.flights__searchs");
- var flightsTable = flightsSearch.find("table.flights__table");
- var totalToBePaid = $("[data-headtotal],[data-tobepaid]");
- var totalPaid = $("[data-tobepaid]");
- var currecyCode = "";
- var milesAllocated = "";
- var cashAllocated = "";
- var precision = 2;
- var prevFare = 0;
- var onloadFlag = true;
- var infoOthers = bookingSummaryWidget.find("[data-others] span").last();
- if (!bookingSummaryWidget.length) {
- return;
- }
- var unformatNumber = function(number) {
- number = window.accounting.unformat(number);
- return parseFloat(number);
- };
- var formatNumber = function(number, fraction) {
- var locale = "";
- if (typeof globalJson.bookingSummary !== "undefined" && typeof globalJson.bookingSummary.bookingSummary !== "undefined" && typeof globalJson.bookingSummary.bookingSummary.locale !== "undefined") {
- locale = globalJson.bookingSummary.bookingSummary.locale;
- }
- if (fraction || fraction === 0) {
- if (locale === "de_DE" || locale === "es_ES" || locale === "pt_BR") {
- return window.accounting.formatNumber(number, fraction, ".", ",");
- } else {
- if (locale === "fr_FR" || locale === "ru_RU") {
- return window.accounting.formatNumber(number, fraction, " ", ",");
- } else {
- return window.accounting.formatNumber(number, fraction, ",", ".");
- }
- }
- } else {
- if (locale === "de_DE" || locale === "es_ES" || locale === "pt_BR") {
- return window.accounting.formatNumber(number, 2, ".", ",");
- } else {
- if (locale === "fr_FR" || locale === "ru_RU") {
- return window.accounting.formatNumber(number, 2, " ", ",");
- } else {
- return window.accounting.formatNumber(number, 2, ",", ".");
- }
- }
- }
- };
- var setPassengerCount = function() {
- if (globalJson.bookingSummary) {
- var bsinfo = globalJson.bookingSummary.bookingSummary;
- var html = "";
- if (bsinfo.adultCount) {
- html += bsinfo.adultCount + " " + (bsinfo.adultCount > 1 ? saar5.l.bookingsummary.adults : saar5.l.bookingsummary.adult);
- }
- if (bsinfo.childCount) {
- html += (html.length ? ", " : "") + bsinfo.childCount + " " + (bsinfo.childCount > 1 ? " " + saar5.l.bookingsummary.children : saar5.l.bookingsummary.child);
- }
- if (bsinfo.infantCount) {
- html += (html.length ? ", " : "") + bsinfo.infantCount + " " + (bsinfo.infantCount > 1 ? saar5.l.bookingsummary.infants : saar5.l.bookingsummary.infant);
- }
- passengerCount.html(html);
- }
- };
- var preselectFlights = function() {
- if (globalJson.bookingSummary) {
- var flightInfo = globalJson.bookingSummary.fareAvailablityVO;
- if (typeof flightInfo !== "undefined") {
- if (typeof flightInfo.defaults !== "undefined") {
- for (var i = flightInfo.defaults.length - 1; i >= 0; i--) {
- if (flightInfo.defaults[i] !== null) {
- flightSearch.filter('[data-flight="' + (i + 1) + '"]').find('input[value="' + flightInfo.defaults[i] + '"]').prop("checked", true).trigger("change.select-flight");
- var selectedFlightId = flightInfo.defaults[i];
- var typeoftrip = selectedFlightId.substring(0, 1);
- if (typeoftrip == "M") {
- var selectedID = selectedFlightId.substring(2, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- } else {
- var selectedID = selectedFlightId.substring(1, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- }
- $('[name="selectedFlightIdDetails[' + i + ']"]').val(selectedID);
- }
- }
- }
- flightSearch.each(function(i, it) {
- $(it).find("td.hidden-mb").find("input:radio:checked").first().each(function(boundnumber) {
- var selectedradioId = $(this).val();
- var typetrip = selectedradioId.substring(0, 1);
- var fEndpos = (selectedradioId.indexOf("F")) + 3;
- if (typetrip == "M") {
- var codewordTemp = selectedradioId.substring(1, fEndpos);
- } else {
- var codewordTemp = selectedradioId.substring(0, fEndpos);
- }
- var codeWord = codewordTemp + "_";
- var selectedSegments = $('input[id^="' + codeWord + '"]');
- var flightnumber = 0;
- var thisflightsegments = globalJson.bookingSummary.bookingSummary.flight[i].flightSegments;
- var totalflights = thisflightsegments.length;
- var flightcode = "a",
- preflightcode = "b";
- selectedSegments.each(function(segmentno) {
- var that = $(this);
- if (segmentno > 0) {
- do {
- if (thisflightsegments[flightnumber] != undefined) {
- flightcode = thisflightsegments[flightnumber].carrierCode + thisflightsegments[flightnumber].flightNumber;
- preflightcode = thisflightsegments[flightnumber - 1].carrierCode + thisflightsegments[flightnumber - 1].flightNumber;
- if (flightcode == preflightcode) {
- flightnumber++;
- }
- }
- } while (flightcode == preflightcode && flightnumber < totalflights);
- }
- if (flightnumber < totalflights && thisflightsegments[flightnumber] != undefined) {
- var textinBS = thisflightsegments[flightnumber].cabinClassDesc;
- var cabinClassText = textinBS.substring(0, textinBS.indexOf("("));
- that.val(cabinClassText);
- flightnumber++;
- }
- });
- });
- });
- var boundnumber = $(".flights__table").length;
- for (var i = 1; i <= boundnumber; i++) {
- while ($("div[data-flight=" + i + "] table tr.hidden.active").length > 0) {
- $('a[data-see-more="' + i + '"]').trigger("click");
- }
- }
- var checkedRadios = $(".flights__searchs").find("td.hidden-mb").find("input:radio:checked");
- checkedRadios.each(function() {
- var that = $(this);
- var thisPrevious = that.parents("div.flights__searchs").find("a.wi-icon.wi-icon-previous");
- var thisNext = that.parents("div.flights__searchs").find("a.wi-icon.wi-icon-next");
- var displayProp = that.parents("td.hidden-mb").css("display");
- if (displayProp == "none") {
- if (thisPrevious.css("display") == "none") {
- thisNext.trigger("click");
- } else {
- thisPrevious.trigger("click");
- }
- }
- });
- var selec;
- flightSearch.each(function(i, it) {
- $(it).find("td.hidden-mb").find("input:radio:checked").first().each(function() {
- changeCabinClassText($(this).val());
- selec = getSelectedCabinClass($(this).val());
- });
- });
- }
- flightSearch.find("input:radio").each(function() {
- if (typeof flightInfo !== "undefined") {
- if (!$.isEmptyObject(flightInfo.messages)) {
- var flightId = $(this).val();
- if (typeof(flightInfo.messages[flightId]) === "undefined") {
- $(this).prop("disabled", true);
- $(this).closest("td.hidden-mb, .package--price").find("[data-tooltip]").addClass("disabled");
- } else {
- $(this).prop("disabled", false);
- $(this).closest("td.hidden-mb, .package--price").find("[data-tooltip]").removeClass("disabled");
- }
- }
- } else {
- $(this).prop("disabled", false);
- $(this).closest("td.hidden-mb, .package--price").find("[data-tooltip]").removeClass("disabled");
- }
- });
- if (typeof flightInfo !== "undefined") {
- if ($.isEmptyObject(flightInfo.messages)) {
- var firstFare = flightSearch.eq(0).find("input:checked:first");
- var isWaitlisted = firstFare.data("waitlisted");
- flightSearch.not(":first").find(isWaitlisted ? 'input[data-waitlisted="true"]' : 'input[data-waitlisted="false"]').each(function() {
- $(this).prop("disabled", true);
- $(this).closest("td.hidden-mb, .package--price").find("[data-tooltip]").addClass("disabled");
- });
- }
- }
- flightSearch.each(function(i, it) {
- $(it).find("td.hidden-mb").find("input:radio:unchecked").each(function() {
- var cabinUnchecked = getSelectedCabinClass($(this).val());
- if (($(this).prop("disabled")) || (!($(this).prop("disabled")) && (cabinUnchecked != selec))) {
- var selCabin = $(this).val();
- var itineraryId;
- var fareFamilyCode;
- if (selCabin != undefined) {
- if (selCabin != "" && selCabin.substring(0, 1) == "M") {
- if (selCabin.length < 7) {
- itineraryId = selCabin.substring(1, 3);
- } else {
- itineraryId = selCabin.substring(1, 4);
- }
- if (selCabin.length < 7) {
- fareFamilyCode = selCabin.substring(3, 6);
- } else {
- fareFamilyCode = selCabin.substring(4, 7);
- }
- } else {
- if (selCabin.length < 10) {
- itineraryId = selCabin.substring(0, 2);
- } else {
- itineraryId = selCabin.substring(0, 3);
- }
- if (selCabin.length < 10) {
- fareFamilyCode = selCabin.substring(2, 5);
- } else {
- fareFamilyCode = selCabin.substring(3, 6);
- }
- }
- }
- var segmentCabinDisp = $("#segmentCabinDisplay").val();
- var segmentSizeVar = ".segmentSize_" + itineraryId;
- var segmentSize = $(segmentSizeVar).attr("id");
- var stdCabinvar = "#cabinClass_" + fareFamilyCode;
- var selectedCabinClass = $(stdCabinvar).val();
- if (selectedCabinClass === "S") {
- for (var i = 0; i < segmentSize; i++) {
- var cabinDes = "#" + itineraryId + fareFamilyCode + "_" + i;
- var cabinClass = $(cabinDes).val();
- if (cabinClass != undefined && cabinClass != "") {
- var changeCabin = ".cabin" + itineraryId + i;
- var oldCabin = ".oldCabinClass" + itineraryId + i;
- $(changeCabin).text(segmentCabinDisp);
- $(oldCabin).hide();
- }
- }
- } else {
- if (!($(this).prop("disabled"))) {
- for (var i = 0; i < segmentSize; i++) {
- var cabinDes = "#" + itineraryId + fareFamilyCode + "_" + i;
- var cabinClass = $(cabinDes).val();
- if (cabinClass != undefined && cabinClass != "") {
- var changeCabin = ".cabin" + itineraryId + i;
- var oldCabin = ".oldCabinClass" + itineraryId + i;
- $(changeCabin).text(segmentCabinDisp);
- $(oldCabin).hide();
- }
- }
- }
- }
- }
- });
- $(it).find("td.hidden-mb").find("input:radio:checked").first().each(function() {
- changeCabinClassText($(this).val());
- });
- });
- }
- };
- var setBookingSummaryFlightInfo = function() {
- var bsinfo = globalJson.bookingSummary.bookingSummary;
- var flightsInfo = bookingSummaryWidget.find("[data-flight-info]");
- flightsInfo.empty();
- var flightsInfoHtml = "";
- for (var i = 0; i < bsinfo.flight.length; i++) {
- flightsInfoHtml += '<div class="flights-info">';
- flightsInfoHtml += ' <div class="flights-info-heading">';
- flightsInfoHtml += " <h4>" + saar5.l.bookingsummary.flight + " " + (i + 1) + "</h4>";
- flightsInfoHtml += " <span>" + bsinfo.flight[i].flightSegments[0].deparure.date + " - " + bsinfo.flight[i].flightSegments[0].deparure.time + "</span>";
- flightsInfoHtml += " </div>";
- flightsInfoHtml += ' <div class="flights-info__country">';
- flightsInfoHtml += " <span>" + bsinfo.flight[i].flightSegments[0].deparure.airportCode + "</span>";
- flightsInfoHtml += " <span>" + bsinfo.flight[i].flightSegments[bsinfo.flight[i].flightSegments.length - 1].arrival.airportCode + "</span>";
- flightsInfoHtml += " </div>";
- flightsInfoHtml += "</div>";
- }
- flightsInfo.html(flightsInfoHtml);
- infoFare.text(formatNumber(bsinfo.fareTotal, precision));
- infoTaxes.text(formatNumber(bsinfo.taxTotal, precision));
- if (bsinfo.othersTotal != 0) {
- $("#others").removeClass("hidden");
- infoOthers.text(formatNumber(bsinfo.othersTotal, precision));
- }
- infoCarrier.text(formatNumber(bsinfo.surchargeTotal, precision));
- infoFlightSubtotal.text(currecyCode + formatNumber(bsinfo.fareSubTotal, precision));
- infoAddonList.empty();
- for (var i = 0; i < addons.length; i++) {
- var html = "";
- html += '<li class="addon--item"><span>' + addons[i].title + "</span>";
- html += '<span class="price">' + formatNumber(addons[i].price, precision) + "</span>";
- html += "</li>";
- var li = $(html);
- infoAddonList.append(li);
- }
- if (addonSubtotal > 0 || (typeof bsinfo.commonAddons !== "undefined" && bsinfo.commonAddons.length > 0)) {
- if (infoAddonList.parent().hasClass("hidden")) {
- infoAddonList.parent().removeClass("hidden");
- }
- var htmlEnd = '<li class="sub-total"><span>' + saar5.l.bookingsummary.subtotal + '</span><span class="price">' + currecyCode + formatNumber(addonSubtotal, precision) + "</span></li>";
- } else {
- infoAddonList.parent().addClass("hidden");
- }
- var liTotal = $(htmlEnd);
- infoAddonList.append(liTotal);
- infoGrandTotal.text(currecyCode + formatNumber(grandTotal, precision));
- if (kkMiles > 0) {
- if (!$(".flight-select-page,.passenger-details-page").length) {
- if ((infoPayableWithMiles.parent().hasClass("hidden")) && (infoKKMilesRest.parent().hasClass("hidden"))) {
- infoPayableWithMiles.parent().removeClass("hidden");
- infoKKMilesRest.parent().removeClass("hidden");
- }
- infoPayableWithMiles.text(currecyCode + formatNumber(kkMiles, precision));
- infoKKMilesRest.text(currecyCode + formatNumber(kkMilesRest, precision));
- }
- } else {
- if (!(infoPayableWithMiles.parent().hasClass("hidden")) && !(infoKKMilesRest.parent().hasClass("hidden"))) {
- infoPayableWithMiles.parent().addClass("hidden");
- infoKKMilesRest.parent().addClass("hidden");
- }
- }
- var stringTotalPaid = "";
- var stringTotalPaidMCP = "";
- var payWithKfMilesCheckbox = $("[data-pay-with-kfmile]");
- var payWithSmeMilesCheckbox = $("[data-pay-with-smemile]");
- var payWithKfMiles = false;
- var payWithSmeMiles = false;
- if (payWithKfMilesCheckbox.is(":checked")) {
- payWithKfMiles = true;
- }
- if (payWithSmeMilesCheckbox.is(":checked")) {
- payWithSmeMiles = true;
- }
- if (payWithKfMilesCheckbox.length && !payWithKfMilesCheckbox.is(":checked") && !globalJson.bookingSummary.bookingSummary.milesAllocated) {
- payWithKfMiles = false;
- }
- if (payWithSmeMilesCheckbox.length && !payWithSmeMilesCheckbox.is(":checked") && !globalJson.bookingSummary.bookingSummary.milesAllocated) {
- payWithSmeMiles = false;
- }
- if ($(".payments-page").length && (payWithKfMiles || payWithSmeMiles) && globalJson.bookingSummary.bookingSummary.milesAllocated > 0) {
- if (typeof globalJson.bookingSummary.bookingSummary.mcp !== "undefined" && globalJson.bookingSummary.bookingSummary.mcp.length > 0) {
- stringTotalPaidMCP += '<span class="unit">' + globalJson.bookingSummary.bookingSummary.mcp[0].currency + " " + globalJson.bookingSummary.bookingSummary.mcp[0].amount + '<div class="bsgrey"><span class="bslower">(' + saar5.l.bookingsummary.convertfrom + " " + currecyCode + " " + formatNumber(cashAllocated, precision) + ")</span></div>";
- }
- stringTotalPaid += '<span class="unit">' + currecyCode + formatNumber(cashAllocated, precision);
- } else {
- if (typeof globalJson.bookingSummary.bookingSummary.mcp !== "undefined" && globalJson.bookingSummary.bookingSummary.mcp.length > 0) {
- stringTotalPaidMCP += '<span class="unit">' + globalJson.bookingSummary.bookingSummary.mcp[0].currency + " " + globalJson.bookingSummary.bookingSummary.mcp[0].amount + '<div class="bsgrey"><span class="bslower">(' + saar5.l.bookingsummary.convertfrom + " " + currecyCode + " " + formatNumber(grandTotal, precision) + ")</span></div>";
- }
- stringTotalPaid += '<span class="unit">' + currecyCode + formatNumber(grandTotal, precision);
- }
- if ($(".payments-page").length && payWithKfMiles && globalJson.bookingSummary.bookingSummary.milesAllocated > 0) {
- stringTotalPaid += " <small>+</small></span>";
- stringTotalPaid += '<span class="miles">' + formatNumber(milesAllocated, 0) + " " + saar5.l.bookingsummary.krisflyermiles + "</span>";
- }
- if ($(".payments-page").length && payWithSmeMiles && globalJson.bookingSummary.bookingSummary.milesAllocated > 0) {
- stringTotalPaid += " <small>+</small></span>";
- stringTotalPaid += '<span class="miles">' + formatNumber(milesAllocated, 0) + " " + saar5.l.bookingsummary.smemiles + "</span>";
- }
- if ($(".payments-page").length && payWithKfMiles && globalJson.bookingSummary.bookingSummary.milesAllocated > 0 && typeof globalJson.bookingSummary.bookingSummary.mcp !== "undefined" && globalJson.bookingSummary.bookingSummary.mcp.length > 0) {
- stringTotalPaidMCP += " <small>+</small></span>";
- stringTotalPaidMCP += '<span class="miles">' + formatNumber(milesAllocated, 0) + " " + saar5.l.bookingsummary.krisflyermiles + "</span>";
- }
- if ($(".payments-page").length && payWithSmeMiles && globalJson.bookingSummary.bookingSummary.milesAllocated > 0 && typeof globalJson.bookingSummary.bookingSummary.mcp !== "undefined" && globalJson.bookingSummary.bookingSummary.mcp.length > 0) {
- stringTotalPaidMCP += " <small>+</small></span>";
- stringTotalPaidMCP += '<span class="miles">' + formatNumber(milesAllocated, 0) + " " + saar5.l.bookingsummary.smemiles + "</span>";
- }
- totalToBePaid.html(stringTotalPaid);
- if (typeof globalJson.bookingSummary.bookingSummary.mcp !== "undefined" && globalJson.bookingSummary.bookingSummary.mcp.length > 0) {
- totalPaid.html(stringTotalPaidMCP);
- }
- $("#farelink").removeClass("hidden");
- };
- var payWithKfMilesChange = function() {
- var payWithKfMilesCheckbox = $("[data-pay-with-kfmile]");
- var payWithSmeMilesCheckbox = $("[data-pay-with-smemile]");
- payWithKfMilesCheckbox.off("change.pay-with-miles").on("change.pay-with-miles", function() {
- setBookingSummaryFlightInfo();
- });
- };
- payWithKfMilesChange();
- var calculateFlightPrices = function() {
- var bsinfo = globalJson.bookingSummary.bookingSummary;
- addonSubtotal = bsinfo.addonSubTotal;
- grandTotal = bsinfo.grandTotal;
- kkMilesRest = bsinfo.costPayableByCash;
- kkMiles = bsinfo.costPayableByMiles;
- milesAllocated = bsinfo.milesAllocated;
- cashAllocated = bsinfo.cashAllocated;
- };
- var fillUpgradeBlocks = function() {
- flightUpgrades.empty().addClass("hidden");
- };
- var printFareCondition = function(res) {
- if ($(".flight-select-page").length) {
- var fareCondition = $(".summary-fare__conditions");
- var html = "";
- for (var i = 0; i < res.fareFamilyCondition.length; i++) {
- html += "<li>";
- if (res.fareFamilyCondition[i].isAllowed) {
- html += '<em class="ico-check-thick"></em>';
- } else {
- html += '<em class="ico-close"></em>';
- }
- html += res.fareFamilyCondition[i].description;
- html += "</li>";
- }
- fareCondition.html(html);
- }
- };
- var printAddons = function(res) {
- addons = [];
- if (typeof res.bookingSummary.commonAddons !== "undefined") {
- for (var i = 0; i < res.bookingSummary.commonAddons.length; i++) {
- if (typeof res.bookingSummary.commonAddons[i].type !== "undefined" && !checkExistAddon(res.bookingSummary.commonAddons[i].type)) {
- addons.push({
- title: res.bookingSummary.commonAddons[i].type,
- price: res.bookingSummary.commonAddons[i].amount,
- element: $()
- });
- }
- }
- }
- };
- var renderPopupDetails = function(res) {
- var countryCode = $("#countryCode").val();
- $.get(config.url.cibBookingSummaryDetailsPopupTemplate, function(data) {
- if (!$(".add-ons-page, .payments-page").length) {
- res.bookingSummary.commonAddons = [];
- }
- var template = window._.template(data, {
- data: res,
- confirmationPage: $(".cib-confirmation-page").length,
- labels: saar5.l.bookingsummary,
- countryCode: countryCode
- });
- var popupContent = $(".popup--flights-details .popup__content");
- popupContent.children(":not(.popup__close)").remove();
- popupContent.append(template);
- popupContent.find("[data-need-format]").each(function() {
- var number = unformatNumber($(this).text());
- if ($(this).data("need-format") == 0) {
- $(this).text(formatNumber(number, 0));
- } else {
- $(this).text(formatNumber(number, precision));
- }
- });
- popupContent.find(".flights--detail span").off("click.getFlightInfo").on("click.getFlightInfo", function() {
- var self = $(this);
- var details = self.siblings(".details");
- if (details.is(".hidden")) {
- details.removeClass("hidden").hide();
- }
- if (!details.is(":visible")) {
- self.children("em").addClass("hidden");
- self.children(".loading").removeClass("hidden");
- var flightNumber = self.parent().data("flight-num");
- var origin = self.parent().data("origin");
- var carrier_code = self.parent().data("carrier-code");
- var dateAndDestination = getDateAndDestinationFromBS(carrier_code + flightNumber);
- var date = dateAndDestination.split("|")[1];
- var destination = dateAndDestination.split("|")[0];
- var flight_no = "";
- if ($('[data-flight-number$="' + flightNumber + '"]').length > 0) {
- flight_no = "" + $('[data-flight-number$="' + flightNumber + '"]').data("flight-number");
- if ($("#tripType").length > 0 && $("#tripType").val() == "M") {
- flight_no = flight_no.substring(1);
- }
- } else {
- flight_no = "X" + self.parent().data("flight-num");
- }
- if (typeof self.parent().data("aircrafttype") !== "undefined" && self.parent().data("flyingtime") !== "undefined") {
- var textAircraftType = saar5.l.bookingsummary.aircrafttype + ": " + self.parent().data("aircrafttype");
- var textFlyingTime = saar5.l.bookingsummary.flyingtime + ": " + self.parent().data("flyingtime");
- var rowAircraftType = $("<p>" + textAircraftType + "</p>");
- var rowFlyingTime = $("<p>" + textFlyingTime + "</p>");
- details.empty();
- details.append(rowAircraftType, rowFlyingTime);
- self.children("em").toggleClass("ico-point-d ico-point-u");
- details.stop().slideToggle(400);
- self.children("em").removeClass("hidden");
- self.children(".loading").addClass("hidden");
- } else {
- $.ajax({
- url: config.url.flightSearchFareFlightInfoJSON,
- dataType: "json",
- type: "GET",
- data: {
- flightNumber: flight_no,
- carrierCode: carrier_code,
- departureDate: date,
- origin: origin,
- destination: destination
- },
- success: function(data) {
- var flyingTime = "";
- for (var ft in data.flyingTimes) {
- flyingTime = data.flyingTimes[ft];
- }
- if (flyingTime == "" || typeof flyingTime === "undefined") {
- flyingTime = saar5.l.bookingsummary.notAvailablemsg;
- } else {
- self.parent().attr("data-flyingTime", flyingTime);
- }
- var aircraftType = "";
- aircraftType = data.aircraftType;
- if (aircraftType == "" || typeof aircraftType === "undefined") {
- aircraftType = saar5.l.bookingsummary.notAvailablemsg;
- } else {
- self.parent().attr("data-aircraftType", aircraftType);
- }
- var textAircraftType = saar5.l.bookingsummary.aircrafttype + ": " + aircraftType;
- var textFlyingTime = saar5.l.bookingsummary.flyingtime + ": " + flyingTime;
- var rowAircraftType = $("<p>" + textAircraftType + "</p>");
- var rowFlyingTime = $("<p>" + textFlyingTime + "</p>");
- details.empty();
- details.append(rowAircraftType, rowFlyingTime);
- details.stop().slideToggle(400);
- },
- error: function(xhr, status) {
- if (status !== "abort") {
- var textAircraftType = saar5.l.bookingsummary.aircrafttype + ": " + saar5.l.bookingsummary.notAvailablemsg;
- var textFlyingTime = saar5.l.bookingsummary.flyingtime + ": " + saar5.l.bookingsummary.notAvailablemsg;
- var rowAircraftType = $("<p>" + textAircraftType + "</p>");
- var rowFlyingTime = $("<p>" + textFlyingTime + "</p>");
- details.empty();
- details.append(rowAircraftType, rowFlyingTime);
- details.stop().slideToggle(400);
- }
- },
- complete: function() {
- self.children("em").toggleClass("ico-point-d ico-point-u");
- self.children("em").removeClass("hidden");
- self.children(".loading").addClass("hidden");
- }
- });
- }
- } else {
- self.children("em").toggleClass("ico-point-d ico-point-u");
- details.stop().slideToggle(400);
- }
- });
- });
- };
- function getDateAndDestinationFromBS(flightNumber) {
- if (typeof globalJson.bookingSummary.bookingSummary.paxDetails[0].detailsPerFlight !== "undefined") {
- var dateAndDestination;
- var detailsPerFlight = globalJson.bookingSummary.bookingSummary.paxDetails[0].detailsPerFlight;
- $.each(detailsPerFlight, function(id, flight) {
- if (flight.flightNo == flightNumber) {
- dateAndDestination = flight.destinationAirportCode + "|" + flight.departureDate;
- return dateAndDestination;
- }
- });
- return dateAndDestination;
- }
- }
- var restrictedFareFamily = function(searchFor) {
- if (searchFor) {
- var fareId;
- var checkedRadioBtns = $("div.flights__searchs").find("table.flights__table > tbody").find('input[type="radio"]');
- $.each(checkedRadioBtns, function(key, item) {
- var keyValue = (item.value).toLowerCase();
- if (keyValue.search(searchFor.toLowerCase()) != -1) {
- fareId = item.id;
- if (fareId.search("mb") == -1) {
- return false;
- }
- }
- });
- var restrictiveFareContent = ($("#" + fareId).closest("td").find("[data-content]").data("content"));
- $("#restrictive").html(restrictiveFareContent);
- }
- };
- var BSPAjax;
- var setAdditionalGuest = function(res) {
- if (additionalGuest && additionalGuest.length) {
- var adultCount = res.bookingSummary.adultCount ? parseInt(res.bookingSummary.adultCount) : 0;
- var childCount = res.bookingSummary.childCount ? parseInt(res.bookingSummary.childCount) : 0;
- var guestCount = adultCount + childCount;
- additionalGuest.find("select").empty();
- if (guestCount) {
- var html = "",
- i = 0;
- for (i = 1; i <= guestCount; i++) {
- html += '<option value="' + i + '">' + i + "</option>";
- }
- additionalGuest.find("select").append(html).find("option:last-child").prop("selected", true);
- }
- additionalGuest.customSelect("_createTemplate");
- }
- };
- var callBSPAjax = function(onchange, extData, callback, radioEl) {
- if ($(".passenger-details-page").length && typeof globalJsonForBs !== "undefined" && typeof globalJsonForBs.bookingSummary !== "undefined") {
- successBSPAjax(globalJsonForBs, callback);
- return;
- }
- if (typeof globalJson.bookingSummary !== "undefined" && typeof globalJson.bookingSummary.bookingSummary !== "undefined" && typeof globalJson.bookingSummary.bookingSummary.fareSubTotal !== "undefined") {
- prevFare = globalJson.bookingSummary.bookingSummary.fareSubTotal;
- }
- var data = {};
- $.extend(data, extData);
- if (onchange) {
- flightSearch.each(function(i, it) {
- var selectedFlightId = $(it).find("td.hidden-mb").find("input:radio:checked").first().val();
- if (selectedFlightId) {
- var typeoftrip = selectedFlightId.substring(0, 1);
- if (typeoftrip == "M") {
- selectedFlightId = selectedFlightId.substring(2, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- } else {
- selectedFlightId = selectedFlightId.substring(1, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- }
- data["selectedFlightIdDetails[" + i + "]"] = selectedFlightId;
- }
- });
- }
- var BSPUrl = onchange ? config.url.cibFlightSelectOnChange : config.url.cibFlightSelect;
- BSPUrl += "&CIB=true";
- if (!$("body").hasClass("flight-select-page")) {
- BSPUrl = config.url.bookingSummaryJSON;
- if (typeof($("#initiator").val()) !== "undefined") {
- var usExceptionForInsurance = "false";
- if (typeof($("#usExceptionForInsurance").attr("data-excludedstates")) !== "undefined" && $("#usExceptionForInsurance").attr("data-excludedstates") == "allow") {
- usExceptionForInsurance = "true";
- }
- data = {
- "id": $("#initiator").val(),
- "usExceptionForInsurance": usExceptionForInsurance,
- };
- }
- }
- if (BSPAjax) {
- BSPAjax.abort();
- }
- var salt = window.name;
- if (salt == "") {
- salt = "DUPLICATE_SALT";
- }
- globalJson.bookingSummary = undefined;
- BSPAjax = $.ajax({
- url: BSPUrl + "&rnd=" + (new Date().getTime()) + "&salt=" + salt,
- type: config.ajaxMethod,
- data: data,
- dataType: "json",
- success: function(res) {
- if (res.errorMessage == "NOTELIGIBLE") {
- $("#getFareCallErrorMsg").removeClass("hidden");
- var departErrorMsg = saar5.m.flightselect.dateException;
- $("#getFareCallErrorMsg").find("p").html(departErrorMsg);
- $("#getFareCallErrorMsg").css("margin-top", "11px");
- flightSearch.find("input:radio").not(radioEl).not(":checked").prop("disabled", false);
- } else {
- successBSPAjax(res, callback);
- setAdditionalGuest(res);
- if ($(".flight-select-page").length) {
- $("#btn-next").prop("disabled", false).removeClass("disabled");
- $(".link-4").prop("disabled", false).removeClass("disabled");
- $(".link-4").removeClass("disableClick");
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {
- if (textStatus !== "abort") {}
- if (jqXHR.status == 400 && jqXHR.responseText == "DUPLICATE_OR_MULTITAB") {
- economyHomePopUp.Popup("show");
- return;
- }
- $("#getFareCallErrorMsg").removeClass("hidden");
- var errorMsg = saar5.m.flightselect.genericException;
- $("#getFareCallErrorMsg").find("P").html(errorMsg);
- $("#getFareCallErrorMsg").css("margin-top", "11px");
- if ($(".payments-page").length) {
- if (bookingSummaryWidget.hasClass("active")) {
- bookingSummaryControl.trigger("click.openBS");
- }
- }
- },
- beforeSend: function() {
- passengerCount.add(totalToBePaid).add(infoFare).add(infoTaxes).add(infoCarrier).add(infoFlightSubtotal).add(infoGrandTotal).add(infoKKMilesRest).add(infoPayableWithMiles).text("...");
- infoAddonList.empty();
- $("#getFareCallErrorMsg").addClass("hidden");
- if (!onchange) {
- var bspInfo = bookingSummaryWidget.find(".booking-summary__info");
- bspInfo.find(".fare-notice-cib").addClass("hidden");
- bspInfo.siblings(".loading--medium-2").removeClass("hidden");
- }
- if ($(".flight-select-page").length) {
- $("#btn-next").prop("disabled", true).addClass("disabled");
- $(".link-4").prop("disabled", true).addClass("disabled");
- $(".link-4").addClass("disableClick");
- if (onchange && radioEl) {
- var bspInfo = bookingSummaryWidget.find(".booking-summary__info");
- bspInfo.find(".total-cost").addClass("hidden");
- bspInfo.find(".fare-notice-cib").addClass("hidden");
- bspInfo.siblings(".loading--medium-2").removeClass("hidden");
- flightSearch.find("input:radio").not(radioEl).not(":checked").prop("disabled", true);
- } else {
- SIA.preloader.show();
- }
- }
- },
- complete: function() {
- var scootCheckNeeded = $("#scootChk").val();
- if (scootCheckNeeded != undefined && scootCheckNeeded != null && scootCheckNeeded == "true") {
- var scootPresent = false;
- var carrierList = $("input[type='radio']:checked").parent().parent().parent().find(".flights__info").find(".flights--detail.left");
- $(carrierList).each(function() {
- var carrierCode = $(this).attr("data-carrier-code");
- if (carrierCode == "TZ") {
- scootPresent = true;
- }
- });
- if (scootPresent) {
- $("#scootInfo").removeClass("hidden");
- } else {
- $("#scootInfo").addClass("hidden");
- }
- }
- if (!onchange) {
- var bspInfo = $(".booking-summary").find(".booking-summary__info");
- bspInfo.find(".fare-notice-cib").removeClass("hidden");
- bspInfo.siblings(".loading--medium-2").addClass("hidden");
- }
- if ($(".flight-select-page").length && onchange) {
- var bspInfo = $(".booking-summary").find(".booking-summary__info");
- bspInfo.find(".total-cost").removeClass("hidden");
- bspInfo.find(".fare-notice-cib").removeClass("hidden");
- bspInfo.siblings(".loading--medium-2").addClass("hidden");
- } else {
- SIA.preloader.hide();
- }
- if ($("#getFareCallErrorMsg").length) {
- $("#getFareCallErrorMsg").focus();
- if ($(".checkin-alert.error-alert").length > 1) {
- $("#getFareCallErrorMsg").addClass("hidden");
- }
- }
- if ($(".payments-page").length) {
- if (typeof globalJson !== "undefined" && typeof globalJson.bookingSummary !== "undefined" && typeof globalJson.bookingSummary.bookingSummary !== "undefined") {
- if (!bookingSummaryWidget.hasClass("active")) {
- bookingSummaryControl.trigger("click.openBS");
- }
- } else {
- if (bookingSummaryWidget.hasClass("active")) {
- bookingSummaryControl.trigger("click.openBS");
- }
- }
- if ($("#change-payment-currency").prop("checked") == true) {
- globalJson.bookingSummary.bookingSummary.mcp = [];
- var currecy_Code = globalJson.bookingSummary.bookingSummary.currency;
- var currencyDrpDwn = $("#pax1-27").val();
- var mcpobj = {};
- if (currencyDrpDwn !== currecy_Code) {
- mcpobj.currency = $("#pax1-27").val();
- mcpobj.amount = $("#input-alexandra-road-2").val();
- globalJson.bookingSummary.bookingSummary.mcp.push(mcpobj);
- }
- successBSPAjax(globalJson.bookingSummary);
- }
- }
- }
- });
- };
- var economyHomePopUp = $(".popup--economy-home-back");
- economyHomePopUp.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- },
- closeViaOverlay: false
- });
- function updatePSSOnCommonAddOn(res) {
- if (res) {
- var flag = 0;
- var amt = 0;
- if (typeof res.bookingSummary.commonAddons === "undefined") {
- res.bookingSummary.commonAddons = [];
- }
- if (res.bookingSummary && res.bookingSummary.paxDetails && res.bookingSummary.paxDetails.length > 0 && ($.grep(res.bookingSummary.commonAddons, function(addon, index) {
- return (addon.type == saar5.l.bookingsummary.preferredseat);
- }).length == 0)) {
- $.each(res.bookingSummary.paxDetails, function(paxId, pax) {
- if (pax.detailsPerFlight && pax.detailsPerFlight.length > 0) {
- $.each(pax.detailsPerFlight, function(flightId, flight) {
- if (flight.addonPerPax && flight.addonPerPax.length > 0) {
- $.each(flight.addonPerPax, function(id, addon) {
- if (addon && addon.type == saar5.l.bookingsummary.preferredseat) {
- flag = 1;
- amt = amt + parseFloat(addon.amount);
- }
- });
- }
- });
- }
- });
- if (flag > 0) {
- var addon = {};
- addon.type = saar5.l.bookingsummary.preferredseat;
- addon.category = "Chargeable";
- addon.description = "";
- addon.amount = amt;
- res.bookingSummary.commonAddons.push(addon);
- }
- }
- }
- return updatePSSAmountToPaxFare(res);
- }
- function updatePSSAmountToPaxFare(res) {
- if (res) {
- var totalPSSAmount = 0;
- if (res.bookingSummary && res.bookingSummary.paxDetails && res.bookingSummary.paxDetails.length > 0 && onloadFlag) {
- $.each(res.bookingSummary.paxDetails, function(paxId, pax) {
- if (pax.detailsPerFlight && pax.detailsPerFlight.length > 0) {
- var amt = 0;
- $.each(pax.detailsPerFlight, function(flightId, flight) {
- if (flight.addonPerPax && flight.addonPerPax.length > 0) {
- $.each(flight.addonPerPax, function(id, addon) {
- if (addon && addon.type == saar5.l.bookingsummary.preferredseat) {
- amt = amt + parseFloat(addon.amount);
- }
- });
- }
- });
- totalPSSAmount = totalPSSAmount + amt;
- if (amt > 0 && pax.fareDetails.totalCost > amt) {
- pax.fareDetails.totalCost = pax.fareDetails.totalCost + amt;
- }
- }
- });
- }
- }
- return res;
- }
- function successBSPAjax(result, callback) {
- var res = updatePSSOnCommonAddOn(result);
- globalJson.bookingSummary = res;
- if (res) {
- currecyCode = res.bookingSummary.currency + " ";
- precision = res.bookingSummary.precision;
- }
- if ($(".payments-page").length) {
- var triggerCostPayableByCash = new jQuery.Event("change.costPayableByCash");
- triggerCostPayableByCash.cash = res.bookingSummary.costPayableByCash;
- bookingSummaryWidget.trigger(triggerCostPayableByCash);
- if ($("#pay-krisflyer-miles").prop("checked") == true) {
- var paymentDetail = $(".payments-detail");
- var mile = $("[data-mile]", paymentDetail);
- var grandTotal = $("[data-grandtotal]", paymentDetail);
- var smemile = $("[data-smemile]", paymentDetail);
- var smegrandTotal = $("[data-smegrandtotal]", paymentDetail);
- smemile.html(jQuery.validator.format("{0} " + saar5.l.bookingsummary.smemiles, formatNumber(globalJson.bookingSummary.bookingSummary.milesAllocated, 0)));
- smegrandTotal.html(jQuery.validator.format("{0} " + saar5.l.bookingsummary.smemiles + " + {2} {1}", formatNumber(globalJson.bookingSummary.bookingSummary.milesAllocated, 0), formatNumber(unformatNumber(globalJson.bookingSummary.bookingSummary.cashAllocated), precision), globalJson.bookingSummary.bookingSummary.currency));
- mile.html(jQuery.validator.format("{0} " + saar5.l.bookingsummary.krisflyermiles, formatNumber(globalJson.bookingSummary.bookingSummary.milesAllocated, 0)));
- grandTotal.html(jQuery.validator.format("{0} " + saar5.l.bookingsummary.krisflyermiles + " + {2} {1}", formatNumber(globalJson.bookingSummary.bookingSummary.milesAllocated, 0), formatNumber(unformatNumber(globalJson.bookingSummary.bookingSummary.cashAllocated), precision), globalJson.bookingSummary.bookingSummary.currency));
- $("#totalMilesUsed").val(globalJson.bookingSummary.bookingSummary.milesAllocated);
- $("#spinner1").val(globalJson.bookingSummary.bookingSummary.milesAllocated);
- window.parent.$("#totalMilesUsedParent").val(globalJson.bookingSummary.bookingSummary.milesAllocated);
- if ($("#spinner1").length) {
- splitPaxFare(globalJson.bookingSummary.bookingSummary.cashAllocated, 0);
- }
- $(".overlay-loading").addClass("hidden");
- }
- }
- printAddons(res);
- setPassengerCount();
- if ($(".flight-select-page").length) {
- preselectFlights();
- }
- calculateFlightPrices();
- setBookingSummaryFlightInfo();
- if ($(".flight-select-page").length) {
- fillUpgradeBlocks();
- }
- renderPopupDetails(res);
- if (res && res.fareFamilyCondition && res.fareFamilyCondition.length && res.fareFamilyCondition[0].description) {
- var searchFor = res.fareFamilyCondition[0].description;
- restrictedFareFamily(searchFor);
- }
- if (typeof(callback) === "function") {
- callback();
- }
- }
- callBSPAjax(false, {}, function() {
- $("[data-flight]").each(function() {
- $(this).find("input:radio:checked").eq(0).trigger("change.select-flight");
- });
- });
- var paymentKFMiles = function() {
- bookingSummaryWidget.off("change.KfMiles").on("change.KfMiles", function(e) {
- callBSPAjax(true, {
- selectedMiles: e.miles,
- cashToBeConvertedToMiles: e.cash
- }, e.callback);
- });
- };
- paymentKFMiles();
- var checkExistAddon = function(elm) {
- var exists = false;
- for (var i = addons.length - 1; i >= 0; i--) {
- if (typeof(elm) === "object" && addons[i].element.is(elm)) {
- exists = true;
- return exists;
- } else {
- if (typeof(elm) === "string" && addons[i].title === elm) {
- exists = true;
- return exists;
- }
- }
- }
- return exists;
- };
- getSelectedCabinClass = function(checkdelmt) {
- var selectedCabin = checkdelmt;
- var itineraryId;
- var fareFamilyCode;
- if (selectedCabin != undefined) {
- if (selectedCabin != "" && selectedCabin.substring(0, 1) == "M") {
- if (selectedCabin.length < 7) {
- itineraryId = selectedCabin.substring(1, 3);
- } else {
- itineraryId = selectedCabin.substring(1, 4);
- }
- if (selectedCabin.length < 7) {
- fareFamilyCode = selectedCabin.substring(3, 6);
- } else {
- fareFamilyCode = selectedCabin.substring(4, 7);
- }
- } else {
- if (selectedCabin.length < 10) {
- itineraryId = selectedCabin.substring(0, 2);
- } else {
- itineraryId = selectedCabin.substring(0, selectedCabin.indexOf("F"));
- }
- if (selectedCabin.length < 10) {
- fareFamilyCode = selectedCabin.substring(2, 5);
- } else {
- var ffSelected = selectedCabin.substring(selectedCabin.indexOf("F"), selectedCabin.length);
- fareFamilyCode = ffSelected.substring(0, 3);
- }
- }
- }
- var segmentSizeVar = ".segmentSize_" + itineraryId;
- var segmentSize = $(segmentSizeVar).attr("id");
- var stdCabinvar = "#cabinClass_" + fareFamilyCode;
- var selectedCabinClassOnLoad = $(stdCabinvar).val();
- return selectedCabinClassOnLoad;
- };
- var changeCabinClassText = function(checkdelmt) {
- var selectedCabin = checkdelmt;
- var itineraryId;
- var fareFamilyCode;
- var mul = 0;
- if (selectedCabin != undefined) {
- if (selectedCabin != "" && selectedCabin.substring(0, 1) == "M") {
- mul = 1;
- if (selectedCabin.length < 7) {
- itineraryId = selectedCabin.substring(1, 3);
- } else {
- itineraryId = selectedCabin.substring(1, 4);
- }
- if (selectedCabin.length < 7) {
- fareFamilyCode = selectedCabin.substring(3, 6);
- } else {
- fareFamilyCode = selectedCabin.substring(4, 7);
- }
- } else {
- if (selectedCabin.length < 10) {
- itineraryId = selectedCabin.substring(0, 2);
- } else {
- itineraryId = selectedCabin.substring(0, selectedCabin.indexOf("F"));
- }
- if (selectedCabin.length < 10) {
- fareFamilyCode = selectedCabin.substring(2, 5);
- } else {
- var ffSelected = selectedCabin.substring(selectedCabin.indexOf("F"), selectedCabin.length);
- fareFamilyCode = ffSelected.substring(0, 3);
- }
- }
- }
- var segmentSizeVar = ".segmentSize_" + itineraryId;
- var segmentSize = $(segmentSizeVar).attr("id");
- var stdCabinvar = "#cabinClass_" + fareFamilyCode;
- var selectedCabinClass = $(stdCabinvar).val();
- var headerSize = $("#ffHeaderSize").val();
- for (var i = 0; i < segmentSize; i++) {
- var cabinDes = "#" + itineraryId + fareFamilyCode + "_" + i;
- var cabinClass = $(cabinDes).val();
- if (cabinClass != undefined && cabinClass != "") {
- var changeCabin = ".cabin" + itineraryId + i;
- var oldCabin = ".oldCabinClass" + itineraryId + i;
- if (selectedCabinClass == "S") {
- $(changeCabin).addClass("htCabin");
- } else {
- $(changeCabin).removeClass("htCabin");
- }
- if (mul == 1) {
- if (headerSize != 1) {
- $(changeCabin).text(cabinClass);
- $(oldCabin).hide();
- }
- } else {
- $(changeCabin).text(cabinClass);
- $(oldCabin).hide();
- }
- }
- }
- return true;
- };
- var fillData = function() {
- flightSearch.off("change.fillData").on("change.fillData", 'input[type="radio"]', function(e) {
- var radio = $(this);
- var tableIndex = flightSearch.index($(this).closest(".flights__searchs"));
- var selectedFlightId = $(this).val();
- if (!($(this).prop("disabled"))) {
- changeCabinClassText(selectedFlightId);
- }
- var typeoftrip = selectedFlightId.substring(0, 1);
- if (typeoftrip == "M") {
- var selectedID = selectedFlightId.substring(2, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- } else {
- var selectedID = selectedFlightId.substring(1, selectedFlightId.indexOf("F")) + "|" + selectedFlightId.substring(selectedFlightId.indexOf("F"));
- }
- $('[name="selectedFlightIdDetails[' + tableIndex + ']"]').val(selectedID);
- callBSPAjax(true, {
- tripType: $(this).val()[0]
- }, function() {
- if (e.originalEvent) {
- var bsfare = globalJson.bookingSummary.bookingSummary.fareSubTotal;
- var diffFare = bsfare - prevFare;
- toogleTooltip(tooltipPopup, saar5.l.bookingsummary.fare, diffFare);
- }
- }, radio);
- });
- flightUpgrades.off("change.fillData").on("change.fillData", 'input[type="checkbox"]', function(e) {
- var checkbox = $(this);
- var isChecked = $(this).is(":checked");
- if (isChecked) {
- if (!checkExistAddon(checkbox)) {
- addons.push({
- title: checkbox.data("upgrade-title"),
- price: unformatNumber(checkbox.data("upgrade-price")),
- element: checkbox
- });
- }
- } else {
- for (var i = addons.length - 1; i >= 0; i--) {
- if (addons[i].element.is(checkbox)) {
- addons.splice(i, 1);
- }
- }
- }
- calculateFlightPrices();
- setBookingSummaryFlightInfo();
- if (e.originalEvent && isChecked) {
- toogleTooltip(tooltipPopup, checkbox.data("upgrade-title"), checkbox.data("upgrade-price"));
- }
- });
- flightUpgrades.off("clearAddOn").on("clearAddOn", function() {
- var radio = $(this).find('input[type="checkbox"]');
- for (var i = addons.length - 1; i >= 0; i--) {
- if (addons[i].element.is(radio)) {
- addons.splice(i, 1);
- }
- }
- calculateFlightPrices();
- setBookingSummaryFlightInfo();
- });
- };
- fillData();
- var popupScroll = function() {
- var trigger = bookingSummaryWidget.find("[data-popup-anchor]");
- trigger.off("click.setAnchor").on("click.setAnchor", function() {
- var anchor = $(this).data("popup-anchor");
- var popup = $($(this).data("trigger-popup"));
- popup.data("anchor", anchor);
- });
- trigger.each(function() {
- var popup = $($(this).data("trigger-popup"));
- if (!popup.data("boundScroll")) {
- popup.data("boundScroll", true);
- popup.off("afterShow.scrollToAnchor").on("afterShow.scrollToAnchor", function() {
- var pop = $(this);
- window.setTimeout(function() {
- var paddingTop = parseInt(pop.find(".popup__content").css("padding-top"), 10);
- var anchorElement = pop.find('[data-anchor="' + pop.data("anchor") + '"]');
- if (anchorElement.length) {
- popup.scrollTop(anchorElement.position().top - paddingTop);
- }
- }, 1);
- });
- }
- });
- };
- popupScroll();
- var stickyWidget = function() {
- var setStickyPosition = function() {
- if ($(".passenger-details-page, .seatsmap-page, .cib-confirmation-page").length) {
- return;
- }
- var fixedClassName = "booking-summary--fixed";
- var footer = $("footer.footer");
- if ($(window).scrollTop() >= bookingSummaryOffset.top && Modernizr.mq("(min-width: " + SIA.global.config.tablet + "px)")) {
- var right = $(window).width() - $(".main-inner").width();
- right = right / 2;
- bookingSummaryWidget.addClass(fixedClassName).css("right", right);
- var winHeight = $(window).height(),
- winTop = $(window).scrollTop(),
- bmHeight = bookingSummaryWidget.height(),
- footTop = footer.offset().top;
- if (bmHeight <= winHeight) {
- if (winTop + bmHeight >= footTop) {
- bookingSummaryWidget.css({
- top: "auto",
- bottom: winTop + winHeight - footTop
- });
- } else {
- bookingSummaryWidget.css({
- top: "5px",
- bottom: ""
- });
- }
- } else {
- if (winTop + winHeight >= footTop) {
- bookingSummaryWidget.css({
- top: "auto",
- bottom: winTop + winHeight - footTop
- });
- } else {
- bookingSummaryWidget.css({
- top: "5px",
- bottom: ""
- });
- }
- }
- } else {
- bookingSummaryWidget.removeClass(fixedClassName).css({
- right: "",
- top: "",
- bottom: ""
- });
- }
- };
- var originalWidth = $(window).width();
- $(window).on("resize.sticky-booking-summary", function() {
- if ($(this).width() !== originalWidth) {
- setStickyPosition();
- }
- }).on("scroll.sticky-booking-summary", function() {
- setStickyPosition();
- }).trigger("scroll.sticky-booking-summary");
- return {
- setStickyPosition: setStickyPosition
- };
- };
- var sticky = stickyWidget();
- var toggleBookingSummary = function() {
- bookingSummaryControl.off("click.openBS").on("click.openBS", function(e) {
- e.preventDefault();
- if (typeof globalJson === "undefined" || typeof globalJson.bookingSummary === "undefined" || typeof globalJson.bookingSummary.bookingSummary === "undefined") {
- if (!bookingSummaryWidget.hasClass("active")) {
- return;
- }
- if (!$(".payments-page").length) {
- return;
- }
- }
- if ($(".orb-flight-select-page").length) {
- if ($("[data-flight] input[type=radio]:checked").length === 0) {
- return;
- }
- }
- if (window.innerWidth < SIA.global.config.tablet) {
- var popupSeatSelect = $("[data-infomations-1]"),
- popupSeatChange = $("[data-infomations-2]");
- if (popupSeatSelect.length) {
- popupSeatSelect.find(".tooltip__close").trigger("click");
- }
- if (popupSeatChange.length) {
- popupSeatChange.find(".tooltip__close").trigger("click");
- }
- }
- bookingSummaryWidget.toggleClass("active");
- bookingSummaryContent.toggle(0, function() {
- if (bookingSummaryWidget.hasClass("active") && bookingSummaryWidget.closest("body").hasClass("add-ons-page")) {
- bookingSummaryWidget.parents("div.content-wrapper").css("min-height", bookingSummaryWidget.outerHeight(true) + "px");
- } else {
- bookingSummaryWidget.parent().css("min-height", "");
- }
- });
- sticky.setStickyPosition();
- });
- };
- toggleBookingSummary();
- var toogleTooltip = function(tooltipElement, upperText, priceAdded) {
- var spanSign = '<span class="text-1">+ ';
- if (priceAdded < 0) {
- spanSign = '<span class="text-1">- ';
- priceAdded = priceAdded * -1;
- }
- if (!tooltipElement.hasClass("active") && !bookingSummaryWidget.hasClass("active")) {
- var overwriteTxtTooltip = tooltipElement.find(".tooltip__content");
- var position = bookingSummaryWidget.offset(),
- scrollTop = $(window).scrollTop(),
- posTop = Math.max(position.top - scrollTop, 0),
- posRight = (document.body.clientWidth || $(window).width()) - position.left + 15;
- overwriteTxtTooltip.html(upperText + spanSign + currecyCode + formatNumber(priceAdded, precision) + "</span>");
- if (window.innerWidth < SIA.global.config.tablet) {
- var posBottomBooking = position.top + bookingSummaryWidget.height();
- if (scrollTop > posBottomBooking) {
- posTop = 15;
- } else {
- posTop = posBottomBooking - scrollTop + 15;
- }
- posRight = position.left;
- }
- tooltipElement.addClass("active").stop().css({
- position: "fixed",
- top: posTop,
- right: posRight
- }).fadeIn(400).delay(2000).fadeOut(400, function() {
- $(this).removeClass("active");
- });
- }
- $(window).on("scroll.sticky-booking-summary", function() {
- if (bookingSummaryWidget.hasClass("booking-summary--fixed")) {
- tooltipElement.css("top", "5px");
- } else {
- tooltipElement.css("top", bookingSummaryWidget.offset().top - $(window).scrollTop());
- }
- if (window.innerWidth < SIA.global.config.tablet) {
- var posBottomBooking = bookingSummaryWidget.offset().top + bookingSummaryWidget.height();
- if ($(window).scrollTop() > posBottomBooking) {
- tooltipElement.css("top", "15px");
- } else {
- tooltipElement.css("top", posBottomBooking - $(window).scrollTop() + 15);
- }
- }
- });
- };
- $("a#stateresideConfirm").click(function() {
- if ($("#state-provine").val() != null) {
- var usState = $("#state-provine").val();
- if (($("#country").val() === "US") && ($("#usInsurance").val() === "true")) {
- SIA.preloader.show();
- $("#usExceptionForInsurance").attr("data-excludedstates", "allow");
- var triggerKfMiles = new jQuery.Event("change.KfMiles");
- $(".booking-summary").trigger(triggerKfMiles);
- }
- }
- });
- $("a#stateresideCancel").click(function() {
- if ($("#state-provine").val() != null) {
- var usState = $("#state-provine").val();
- if (($("#country").val() === "US") && ($("#usInsurance").val() === "true")) {
- $("#state-provine").val("");
- }
- }
- });
- SIA.Insurance = function(insuranceAmt, addFlag) {
- var flag = false;
- var bs = globalJson.bookingSummary.bookingSummary;
- if (addFlag) {
- if (typeof bs.commonAddons !== "undefined" && bs.commonAddons.length > 0) {
- $.each(bs.commonAddons, function(key, Addon) {
- if (Addon.type == saar5.l.bookingsummary.travelinsurance) {
- flag = true;
- return false;
- }
- });
- }
- if (!flag) {
- bs.grandTotal = bs.grandTotal + insuranceAmt;
- bs.costPayableByCash = bs.costPayableByCash + insuranceAmt;
- bs.addonSubTotal = bs.addonSubTotal + insuranceAmt;
- bs.cashAllocated = bs.cashAllocated + insuranceAmt;
- var addon = {};
- addon.type = saar5.l.bookingsummary.travelinsurance;
- addon.description = " ";
- addon.category = "Chargeable";
- addon.amount = insuranceAmt;
- if (typeof bs.commonAddons === "undefined") {
- bs.commonAddons = [];
- }
- bs.commonAddons.push(addon);
- globalJson.bookingSummary.bookingSummary = bs;
- }
- } else {
- if (typeof bs.commonAddons !== "undefined" && bs.commonAddons.length > 0) {
- $.each(bs.commonAddons, function(key, Addon) {
- if (Addon.type == saar5.l.bookingsummary.travelinsurance) {
- flag = true;
- bs.commonAddons.splice(key, 1);
- return false;
- }
- });
- if (flag) {
- bs.grandTotal = bs.grandTotal - insuranceAmt;
- bs.costPayableByCash = bs.costPayableByCash - insuranceAmt;
- if (bs.addonSubTotal >= insuranceAmt) {
- var addonSubTot = bs.addonSubTotal - insuranceAmt;
- bs.addonSubTotal = addonSubTot;
- }
- if (bs.cashAllocated >= insuranceAmt) {
- var cashAllcted = bs.cashAllocated - insuranceAmt;
- bs.cashAllocated = cashAllcted;
- }
- globalJson.bookingSummary.bookingSummary = bs;
- }
- }
- }
- passengerCount.add(totalToBePaid).add(infoFare).add(infoTaxes).add(infoCarrier).add(infoFlightSubtotal).add(infoGrandTotal).add(infoKKMilesRest).add(infoPayableWithMiles).text("...");
- infoAddonList.empty();
- onloadFlag = false;
- successBSPAjax(globalJson.bookingSummary);
- };
- $(".fareConditions").removeClass("hidden");
- if (!$(".flight-select-page").length) {
- $(".fare-notice-cib").removeClass("hidden");
- }
- if ($("#isinsuranceeligible").val() != "" && $("#isinsuranceeligible").val() == "true") {
- SIA.resizeBreadCrumbType("cib");
- } else {
- SIA.resizeBreadCrumbType("cibwithoutAddon");
- }
- SIA.MCP = function(res) {
- successBSPAjax(res);
- };
- var bookingSummaryWCAG = function() {
- var init = function() {
- captureKeys();
- getElements();
- };
- var config = {
- bsp: {
- wrapper: $(".booking-summary"),
- target: $(".booking-summary").find("[data-tabindex]"),
- heading: {
- el: $(".booking-summary .booking-summary__heading"),
- copy: "2 Adults, 1 Infant. Sgd 1,750.00. Total fare including taxes and surcharges. ",
- instruction: "This is the instruction for expanding the BSP",
- focus: false
- }
- }
- };
- var namespace = "bsp-wcag-";
- var ariaDescribe = "aria-describedby";
- var bSRemoveFocus = [".booking-summary__control", ".booking-summary__info"];
- var getElements = function() {
- console.log(config.bsp.target.length);
- };
- var captureKeys = function() {
- $(document).off("keydown").on("keydown", function(e) {
- var keyCode = e.keyCode || e.which || e.charCode;
- var allowKeyCode = [17, 66, 13];
- if ($.inArray(keyCode, allowKeyCode) >= 0) {
- if (config.bsp.wrapper.length) {
- switch (keyCode) {
- case 66:
- bookingKeyEvent(config, keyCode, e);
- break;
- case 13:
- bookingKeyEvent(config, keyCode, e);
- break;
- default:
- break;
- }
- } else {}
- }
- });
- };
- var bookingPreview = function(el) {
- el.attr(ariaDescribe, namespace + "preview");
- el.find("#" + namespace + "preview").remove();
- el.append('<span style="display:none;" id="' + namespace + 'preview">' + config.bsp.heading.copy + config.bsp.heading.instruction + "</span>");
- };
- var bookingKeyEvent = function(config, k, e) {
- window.focus();
- if (k === 66 && e.ctrlKey) {
- bookingPreview($(".booking-summary__heading"));
- $(".booking-summary__heading").attr("tabindex", 100);
- $(".booking-summary__heading").focus().click();
- config.bsp.heading.focus = true;
- } else {
- if (k === 13) {
- if (config.bsp.heading.focus) {
- $(".booking-summary__control").trigger("click");
- } else {
- if ($("*:focus").attr("data-tooltip")) {
- setTimeout(function() {
- $(".tooltip").attr("role", "tooltip");
- $(".tooltip ").attr("tabindex", 0);
- $(".tooltip p").focus();
- }, 100);
- }
- }
- }
- }
- };
- var prepareElements = function() {
- bookingSummaryWidget.each(function() {
- var tabIndex = 100;
- config.bsp.target.each(function() {
- var self = $(this);
- var attr = self.attr("data-aria-text");
- if (self.parent(".flights-info").is(":last-child")) {
- self.attr("tabindex", tabIndex++);
- self.parents(".booking-group").find("[data-popup-anchor]").attr("tabindex", tabIndex);
- } else {
- if (self.index() === 2 && self.parent() === "booking-group__content") {} else {
- self.attr("tabindex", tabIndex++);
- }
- }
- self.attr(ariaDescribe, namespace + tabIndex);
- if (typeof attr !== typeof undefined && attr !== false && self.find(".bsp-wcag").length === 0 && !self.hasClass("flights-cost")) {
- self.append('<span class="bsp-wcag" style="font-size:0;" id="' + namespace + tabIndex + '">' + self.data("aria-text") + "</span>");
- } else {
- if (self.attr("data-tooltip")) {
- $("aside.tooltip").attr("id", namespace + tabIndex);
- }
- }
- if (!self.hasClass("flights-cost") && !self.hasClass("grand-total") && self.attr("data-tooltip")) {
- self.children(":not(.bsp-wcag)").attr("aria-hidden", "true");
- }
- });
- for (var i = 0; i < bSRemoveFocus.length; i++) {
- $(bSRemoveFocus[i]).attr("tabindex", -1);
- }
- });
- };
- prepareElements();
- init();
- };
- setTimeout(function() {
- bookingSummaryWCAG();
- }, 5000);
- };
- "use strict";
- var SIA = SIA || {};
- (function($, window, undefined) {
- SIA.validateCustom = function(formName, event) {
- if ($(formName).attr("id") === "form-book-travel") {
- var dataValue = $("#city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city-2").val()) {
- $("#city-2").removeAttr("name");
- }
- if ($("#city-radio-4").is(":checked") && $("#city-travel-start-day").val() && $("#city-travel-return-day").val()) {
- if ($("#city-one-way-2").hasClass("hidden")) {
- $("#city-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city-radio-5").is(":checked") && $("#city-travel-start-day-2").val()) {
- if ($("#city-one-way-1").hasClass("hidden")) {
- $("#city-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- }
- if ($(formName).attr("id") === "form-book-travel-1") {
- var dataValue = $("#city1-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbOriginCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbdestCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#loginForORB").hasClass("showPopUp")) {
- event.preventDefault();
- if ($("#city1-2").val()) {
- $("#city1-2").removeAttr("name");
- }
- if ($("#city1-radio-4").is(":checked") && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) {
- if ($("#city1-one-way-2").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city1-radio-5").is(":checked") && $("#city1-travel-start-day-2").val()) {
- if ($("#city1-one-way-1").hasClass("hidden")) {
- $("#city1-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- var postData = $("#form-book-travel-1").serializeArray();
- var formURL = $("#form-book-travel-1").attr("action");
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- SIA.preloader.hide();
- $("#loginFromHeader").val("");
- $("#executionId").val(data.trim());
- var menuBar = $(".menu-bar");
- var triggerLoginPoup = menuBar.find("ul a.login");
- triggerLoginPoup.trigger("click.showLoginPopup");
- },
- error: function(jqXHR, textStatus, errorThrown) {
- SIA.preloader.hide();
- }
- });
- } else {
- if ($("#city1-2").val()) {
- $("#city1-2").removeAttr("name");
- }
- if ($("#city1-radio-4").is(":checked") && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) {
- if ($("#city1-one-way-2").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city1-radio-5").is(":checked") && $("#city1-travel-start-day-2").val()) {
- if ($("#city1-one-way-1").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- }
- }
- }
- }
- if ($(formName).attr("id") === "form-book-travel-2") {
- var dataValue = $("#city2-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city2-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city2-2").val()) {
- $("#city2-2").removeAttr("name");
- }
- if ($("#city2-radio-4").is(":checked") && $("#city2-travel-start-day").val() && $("#city2-travel-return-day").val()) {
- if ($("#city2-one-way-2").hasClass("hidden")) {
- $("#city2-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city2-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city2-radio-5").is(":checked") && $("#city2-travel-start-day-2").val()) {
- if ($("#city2-one-way-1").hasClass("hidden")) {
- $("#city2-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city2-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- }
- };
- $("#city-1").blur(function() {
- var dataValue = $("#city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $(".login").click(function(e) {
- $("#showMessage").find("p").remove();
- if (($("#passThruFlightSearch").val())) {
- $("#passThruFlightSearch").val("");
- }
- });
- $("#submit-1").click(function(e) {
- if (($("#passThruFlightSearch").val())) {
- if ($("#membership-1").val() === "" || $("#membership-1").val() === null || $("#membership-2").val() === "" || $("#membership-2").val() === null || isNaN($("#membership-1").val()) || isNaN($("#membership-2").val())) {} else {
- var originData = $('input[name="origin"]').val();
- var destinData = $('input[name="destination"]').val();
- var tripTypeData = $('input[name="tripType"]').val();
- var returnMonthData = $('input[name="returnMonth"]').val();
- var departureMonthData = $('input[name="departureMonth"]').val();
- var cabinClassData = $('input[name="cabinClass"]').val();
- var numOfAdultsData = $('select[name="numOfAdults"]').val();
- var numOfChildrenData = $('select[name="numOfChildren"]').val();
- var numOfInfantsData = $('select[name="numOfInfants"]').val();
- var promotionModeData = $('input[name="promotionMode"]').val();
- var postData = $("#headerLoginForm").serializeArray();
- var formURL = $("#executionId").val();
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- if (data.indexOf("eventId=kfloginSuccess") === -1) {
- var $response = $(data);
- SIA.preloader.hide();
- if ($response && $response.filter("div#flightScheduleAjaxError") && $response.filter("div#flightScheduleAjaxError").find("p") && $response.filter("div#flightScheduleAjaxError").find("p").text()) {
- var error = $response.filter("div#flightScheduleAjaxError").find("p").text().trim();
- var redirect = $response.filter(".jQajaxRedirect").val();
- }
- if (typeof error !== "undefined") {
- $(".alert-block.error-alert").remove();
- $("h2.kf_error:last").after('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + error + "</p></div></div></div>");
- }
- if (data && data == "kfTierMismatch") {
- SIA.preloader.show();
- $(".popup--login").Popup("hide");
- location.reload();
- }
- } else {
- var formPopUpSubmitForKF = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "promotionKFLoginMode",
- value: "true"
- }).appendTo(formPopUpSubmitForKF);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formPopUpSubmitForKF);
- formPopUpSubmitForKF.appendTo("body").submit();
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- e.preventDefault();
- }
- }
- });
- $("#city-1").blur(function() {
- var dataValue = $("#city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#origin").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#search-fl-city-1").blur(function() {
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-1").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $("#search-fl-city-3").val($("#search-fl-city-1").val());
- $("#originCityCode").val("");
- $("#originCityCode1").val("");
- if ($("#search-fl-city-1").val()) {
- var dataValue = $("#search-fl-city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- $("#originCityCode1").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- }
- if (!($("#search-fl-city-1").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- });
- $("#search-fl-city-2").blur(function() {
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-1:last").find("ul:first").find("li:last").find("p.text-error").remove();
- $(".search-flight-2:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-2:last").find("ul:first").find("li:last").find("p.text-error").remove();
- if (!($("#search-fl-city-1").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (!($("#search-fl-city-2").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-4 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-2 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- $("#search-fl-city-4").val($("#search-fl-city-2").val());
- $("#destCityCode").val("");
- $("#destCityCode1").val("");
- if ($("#search-fl-city-2").val()) {
- var dataValue = $("#search-fl-city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- $("#destCityCode1").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- }
- if ($("#search-fl-city-1").val() && $("#search-fl-city-2").val() && ($("#search-fl-city-1").val().trim()) == ($("#search-fl-city-2").val().trim())) {
- $(".search-flight-1:last").find("li:first").addClass("error");
- $(".search-flight-1:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- $(".search-flight-2:last").find("li:first").addClass("error");
- $(".search-flight-2:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- }
- });
- $("#search-fl-city-3").blur(function() {
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $("#search-fl-city-1").val($("#search-fl-city-3").val());
- $("#originCityCode").val("");
- $("#originCityCode1").val("");
- if ($("#search-fl-city-3").val()) {
- var dataValue = $("#search-fl-city-3").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCode1").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- $("#originCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- }
- if (!($("#search-fl-city-3").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- });
- $("#search-fl-city-4").blur(function() {
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-1:last").find("ul:first").find("li:last").find("p.text-error").remove();
- $(".search-flight-2:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-2:last").find("ul:first").find("li:last").find("p.text-error").remove();
- if (!($("#search-fl-city-3").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (!($("#search-fl-city-4").val())) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-4 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-2 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- $("#search-fl-city-2").val($("#search-fl-city-4").val());
- $("#destCityCode").val("");
- $("#destCityCode1").val("");
- if ($("#search-fl-city-3").val()) {
- var dataValue = $("#search-fl-city-4").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCode1").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- $("#destCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- }
- if ($("#search-fl-city-3").val() && $("#search-fl-city-4").val() && ($("#search-fl-city-3").val().trim()) == ($("#search-fl-city-4").val().trim())) {
- $(".search-flight-2:last").find("li:first").addClass("error");
- $(".search-flight-2:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- $(".search-flight-1:last").find("li:first").addClass("error");
- $(".search-flight-1:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- }
- });
- $("#city-2").blur(function() {
- $(".to-valid").find("p.text-error").remove();
- $(".to-valid").removeClass("error");
- var dataValue = $("#city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#city-2").blur(function() {
- var dataValue = $("#city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#dest").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#city1-1").blur(function() {
- var dataValue = $("#city1-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbOriginCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#city1-2").blur(function() {
- $(".to-valid-orb").find("p.text-error").remove();
- $(".to-valid-orb").removeClass("error");
- var dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbdestCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#city2-1").blur(function() {
- var dataValue = $("#city2-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $("#city2-2").blur(function() {
- var dataValue = $("#city2-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- });
- $(".grid-col.one-half:last").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $("#city-travel-start-day").blur(function() {
- $(".grid-col.one-half:last").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid-col.one-half :first").find("p.text-error").remove();
- });
- $("#city-travel-return-day").blur(function() {
- $(".grid-col.one-half:last").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid-col.one-half :first").find("p.text-error").remove();
- });
- $("#city2-travel-start-day").blur(function() {
- $(".grid-col.one-half:last").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid-col.one-half :first").find("p.text-error").remove();
- });
- $("#city2-travel-return-day").blur(function() {
- $(".grid-col.one-half:last").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid-col.one-half :first").find("p.text-error").remove();
- });
- $("#city1-radio-5").click(function(e) {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- });
- var dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbdestCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- $("#loginForORB").click(function(e) {
- $("#kfLoginPopup").show();
- $("#kfLoginPopupHeader").show();
- $(".captchaHidden").remove();
- $("#membership-1").removeAttr("disabled");
- $("#membership-2").removeAttr("disabled");
- $(".input-1").removeClass("disabled");
- $("#redeemformdata").attr("value", "");
- $("#searchmode").attr("value", "");
- $("#executionId").attr("value", "");
- $("#membership-1").val("");
- $("#membership-2").val("");
- $(".continueForCaptcha").remove();
- $("#submitFromCaptcha").attr("value", "");
- $("#jQerrorLightbox").remove();
- if (($("#city1-radio-4").is(":checked") && $("#city1-1").val() && $("#city1-2").val() && ($("#city1-1").val() !== $("#city1-2").val()) && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) || ($("#city1-radio-5").is(":checked") && $("#city1-1").val() && $("#city1-2").val() && ($("#city1-1").val() !== $("#city1-2").val()) && $("#city1-travel-start-day-2").val())) {
- $("#city1-2").removeAttr("name");
- if ($("#city1-radio-4").is(":checked") && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) {
- if ($("#city1-one-way-2").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city1-radio-5").is(":checked") && $("#city1-travel-start-day-2").val()) {
- if ($("#city1-one-way-1").hasClass("hidden")) {
- $("#city1-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- var postData = $("#form-book-travel-1").serializeArray();
- var formstring = JSON.stringify(postData);
- var formURL = $("#form-book-travel-1").attr("action");
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- SIA.preloader.hide();
- $("#loginFromHeader").val("");
- $("#executionId").val(data.trim());
- $("#searchmode").val("redeemsearch");
- $("#redeemformdata").val(formstring);
- var menuBar = $(".menu-bar");
- var triggerLoginPoup = menuBar.find("ul a.login");
- triggerLoginPoup.trigger("click.showLoginPopup");
- },
- error: function(jqXHR, textStatus, errorThrown) {
- SIA.preloader.hide();
- }
- });
- e.preventDefault();
- }
- e.preventDefault();
- });
- var tpl = $(".showLanguage");
- tpl.find(".toolbar__close").off("click.closeToolbar").on("click.closeToolbar", function(e) {
- tpl.css("margin-top", -tpl.height());
- $("#showLanguageBar").addClass("hidden");
- });
- tpl.find("[data-lang-toolbar]").off("click.translateLang").on("click.translateLang", function(e) {
- e.stopPropagation();
- hideTbar(tpl);
- });
- var hideTbar = function(tpl) {
- $.ajax({
- url: "/languageSwitch.form",
- type: "GET",
- data: {},
- success: function(data) {
- $("#showLanguageBar").addClass("hidden");
- tpl.css("margin-top", -tpl.height());
- },
- error: function() {
- $("#showLanguageBar").addClass("hidden");
- tpl.css("margin-top", -tpl.height());
- }
- });
- };
- var url = String(window.location);
- if (url.indexOf("http:") != -1) {
- if (url.indexOf("#retrieveBooking") != -1) {
- if (url.indexOf("?") != -1) {
- var urlsplit = url.split("?");
- url = urlsplit[0] + "#retrieveBooking?" + urlsplit[1];
- }
- url = url.replace("http:", "https:");
- window.location = url;
- }
- }
- $(".manageBooking").click(function() {
- window.location.href = $("#URL").val() + "#retrieveBooking";
- });
- $(".kfRetriveBooking").click(function() {
- window.location.href = $("#kfRetrieve").val();
- });
- $(".kfOnlineCheckin").click(function() {
- window.location.href = $("#kfCheckin").val();
- });
- $("#city-cabin-1").change(function() {
- var dataValue = $("#city-cabin-1").val();
- if (dataValue && dataValue == "economy") {
- $("#cabinCIB").val("Y");
- } else {
- if (dataValue && dataValue == "business") {
- $("#cabinCIB").val("J");
- } else {
- if (dataValue && dataValue == "firstSuite") {
- $("#cabinCIB").val("F");
- }
- }
- }
- });
- $("#city1-cabin-1").change(function() {
- var dataValue = $("#city1-cabin-1").val();
- if (dataValue && dataValue == "economy") {
- $("#cabinORB").val("Y");
- } else {
- if (dataValue && dataValue == "premiumeconomy") {
- $("#cabinORB").val("S");
- } else {
- if (dataValue && dataValue == "business") {
- $("#cabinORB").val("J");
- } else {
- if (dataValue && dataValue == "firstSuite") {
- $("#cabinORB").val("F");
- }
- }
- }
- }
- });
- $("#city2-cabin-1").change(function() {
- var dataValue = $("#city2-cabin-1").val();
- if (dataValue && dataValue == "economy") {
- $("#cabinSQC").val("Y");
- } else {
- if (dataValue && dataValue == "business") {
- $("#cabinSQC").val("J");
- } else {
- if (dataValue && dataValue == "firstSuite") {
- $("#cabinSQC").val("F");
- }
- }
- }
- });
- var logOutPopUp = $(".popup--logout");
- logOutPopUp.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- triggerCloseModal: ".popup__close, [data-close]",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- },
- afterHide: function() {
- win.trigger("resize.openMenuT");
- win.trigger("resize.resetTabMenu");
- }
- });
- $(document).ready(function() {
- var isCorporateUserLoggedIn = $("#isCorporateLoggedIn").val();
- if (isCorporateUserLoggedIn == "true") {
- $("#travel-radio-3").attr("checked", true).trigger("click");
- }
- $(".redeemsearch").click(function() {
- var postData = JSON.parse($("#redeemformdata").val());
- var formURL = $("#form-book-travel-1").attr("action");
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- $("#loginFromHeader").val("");
- $("#executionId").val(data.trim());
- $("#headerLoginForm").submit();
- },
- error: function(jqXHR, textStatus, errorThrown) {
- SIA.preloader.hide();
- }
- });
- });
- var url = String(window.location);
- if (url.indexOf("#retrieveBooking") != -1) {
- $("#retrieveBookingdiv").trigger("click.show");
- }
- if ($("#logOutVar").val() == "true") {
- $(".popup--logout").Popup("show");
- } else {
- $(".popup--logout").Popup("hide");
- }
- function GetURLParameter(param) {
- var pageURL = window.location.search.substring(1);
- var urlVariables = pageURL.split("&");
- for (var i = 0; i < urlVariables.length; i++) {
- var parameterName = urlVariables[i].split("=");
- if (parameterName[0] == param) {
- return parameterName[1];
- }
- }
- }
- function Getparams(param) {
- var URL = String(window.location);
- var urlVariables = URL.split("&");
- for (var i = 0; i < urlVariables.length; i++) {
- var parameterName = urlVariables[i].split("=");
- if (parameterName[0] == param) {
- return parameterName[1];
- }
- }
- }
- if (url.indexOf("/passthru.form") != -1) {
- SIA.preloader.show();
- var originData = GetURLParameter("cityFrom");
- var destinData = GetURLParameter("cityTo");
- var tripTypeData = GetURLParameter("tripType");
- var returnMonthData = GetURLParameter("returnMonth");
- var departureMonthData = GetURLParameter("departureMonth");
- var cabinClassData = GetURLParameter("cabinClass");
- var numOfAdultsData = GetURLParameter("numOfAdults");
- var numOfChildrenData = GetURLParameter("numOfChildren");
- var numOfInfantsData = GetURLParameter("numOfInfants");
- var promotionModeData = GetURLParameter("promotionMode");
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- if (((Number(numOfAdultsData) + Number(numOfChildrenData) + Number(numOfInfantsData)) < Number($("#fareDealMinPax").val()))) {
- $(".grid_validate").addClass("error");
- $(".grid_cabin").append('<p class="text-error"><span></span></p></div>');
- $(".grid_cabin p.text-error").text(saar5.m.faredeals.validminPax);
- } else {
- var flag = 1;
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- if (tripTypeData && departureMonthData && tripTypeData == "O") {
- var postData = $("#form-promotion-book-flight").serializeArray();
- $.ajax({
- url: "/booking-flow.form?",
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- if (data.indexOf("eventId=kfloginSuccess") === -1) {
- var $response = $(data);
- if ($response && $response.filter("div#flightScheduleAjaxError") && $response.filter("div#flightScheduleAjaxError").find("p") && $response.filter("div#flightScheduleAjaxError").find("p").text()) {
- var error = $response.filter("div#flightScheduleAjaxError").find("p").text().trim();
- var redirect = $response.filter(".jQajaxRedirect").val();
- }
- if (typeof error !== "undefined") {
- $(".alert-block.error-alert").remove();
- $("h2.kf_error:last").after('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + error + "</p></div></div></div>");
- }
- if (data && data == "kfTierMismatch") {
- SIA.preloader.show();
- $(".popup--login").Popup("hide");
- location.reload();
- } else {
- var formNormaPromotionalFares = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formNormaPromotionalFares);
- formNormaPromotionalFares.appendTo("body").submit();
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- } else {
- if (tripTypeData == "O") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- if (tripTypeData && departureMonthData && tripTypeData == "R") {
- if (returnMonthData) {
- var postData = $("#form-promotion-book-flight").serializeArray();
- $.ajax({
- url: "/booking-flow.form?",
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- if (data.indexOf("eventId=kfloginSuccess") === -1) {
- var $response = $(data);
- if ($response && $response.filter("div#flightScheduleAjaxError") && $response.filter("div#flightScheduleAjaxError").find("p") && $response.filter("div#flightScheduleAjaxError").find("p").text()) {
- var error = $response.filter("div#flightScheduleAjaxError").find("p").text().trim();
- var redirect = $response.filter(".jQajaxRedirect").val();
- }
- if (typeof error !== "undefined") {
- $(".alert-block.error-alert").remove();
- $("h2.kf_error:last").after('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + error + "</p></div></div></div>");
- }
- if (data && data == "kfTierMismatch") {
- SIA.preloader.show();
- $(".popup--login").Popup("hide");
- location.reload();
- } else {
- var formNormaPromotionalFares = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formNormaPromotionalFares);
- formNormaPromotionalFares.appendTo("body").submit();
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- } else {
- if (tripTypeData == "R") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half:nth(1)").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- } else {
- if (tripTypeData == "R" && flag == 1) {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- }
- }
- }
- } else {
- if (url.indexOf("&KFpassthru") != -1) {
- $('input[name="parentPageURL"]').val("");
- $(".fares-details-page").removeClass("hidden");
- var originData = Getparams("cityFrom");
- var destinData = Getparams("cityTo");
- var tripTypeData = Getparams("tripType");
- var returnMonthData = Getparams("returnMonth");
- var departureMonthData = Getparams("departureMonth");
- var cabinClassData = Getparams("cabinClass");
- var numOfAdultsData = Getparams("numOfAdults");
- var numOfChildrenData = Getparams("numOfChildren");
- var numOfInfantsData = Getparams("numOfInfants");
- $("#city-travel-start-day").val(departureMonthData);
- $("#city-travel-return-day").val(returnMonthData);
- $("#refereshAdult").customSelect("init");
- } else {
- $(".fares-details-page").removeClass("hidden");
- }
- }
- var payByMilesValue = GetURLParameter("payByMiles");
- if (payByMilesValue != "" && payByMilesValue == "true") {
- $("#travel-radio-2").attr("checked", true).trigger("click");
- }
- if ($("#breakingAlert").length) {
- $.ajax({
- url: "/home-breakingalert.form",
- type: "GET",
- success: function(res) {
- $("#breakingAlert").html(res);
- SIA.newsTickerContent();
- }
- });
- }
- if ($("#home_page_take_over_switch").val() == "on") {
- function readCookie(name) {
- var nameEQ = name + "=";
- var ca = document.cookie.split("; ");
- for (var i = 0; i < ca.length; i++) {
- var c = ca[i];
- if (c.indexOf(nameEQ) === 0) {
- return c.substring(nameEQ.length, c.length);
- }
- }
- return null;
- }
- var popupHide = readCookie("popupHide");
- var popupSession = readCookie("popupSession");
- var jsessionId = $("#sessionId").val();
- var url = String(window.location);
- $("#remember-cb").click(function() {
- if ($(this).is(":checked")) {
- $.cookies.set("popupHide", "true", {
- expiresAt: new Date(new Date().getTime() + 365 * (24 * 60 * 60) * 1000),
- path: "/"
- });
- $.cookies.del("popupSession");
- } else {
- $.cookies.del("popupHide");
- $.cookies.set("popupSession", jsessionId, {
- path: "/"
- });
- }
- });
- if (url.indexOf("/home") != -1 && popupHide == null && popupSession != jsessionId) {
- var popupIntroLightBox = $(".popup--intro-lightbox");
- var win = SIA.global.vars.win;
- var flyingFocus = $("#flying-focus");
- popupIntroLightBox.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- },
- afterHide: function() {
- win.trigger("resize.resetTabMenu");
- },
- triggerCloseModal: ".popup__close, [data-close]"
- });
- popupIntroLightBox.Popup("show");
- $.cookies.set("popupSession", jsessionId, {
- path: "/"
- });
- }
- }
- if (($("#instructional_video_switch").val() == "on") && ($("body").hasClass("home-page") || $("body").hasClass("book-flight"))) {
- if ($("#country_code").val() == "CN") {
- var script1 = document.createElement("script");
- script1.src = "/saar5/_desktop/scripts/flowplayer-app.js";
- var script2 = document.createElement("script");
- script2.src = "/saar5/_desktop/scripts/flowplayer.min.js";
- document.getElementsByTagName("body" ? "body" : "head")[0].appendChild(script2);
- document.getElementsByTagName("body" ? "body" : "head")[0].appendChild(script1);
- $("#chinaPlayer").html($('<a href="#" class="link-4" data-flow-url="0"><em class="ico-point-r"></em>' + saar5.l.awarenessvideo.checkinone + "</a>"));
- $("#redeem_chinaPlayer").html($('<a href="#" class="link-4" data-flow-url="0"><em class="ico-point-r"></em>' + saar5.l.awarenessvideo.manageone + "</a>"));
- } else {
- var script1 = document.createElement("script");
- script1.src = "/saar5/_desktop/scripts/youtube-app.js";
- var script2 = document.createElement("script");
- script2.src = "/saar5/_desktop/scripts/youtube_iframe_api.js";
- document.getElementsByTagName("body" ? "body" : "head")[0].appendChild(script2);
- document.getElementsByTagName("body" ? "body" : "head")[0].appendChild(script1);
- $("#redeem_globalPlayer").html($('<a href="#" class="link-4" data-youtube-url="0"><em class="ico-point-r"></em>' + saar5.l.awarenessvideo.manageone + "</a>"));
- $("#globalPlayer").html($('<a href="#" class="link-4" data-youtube-url="0"><em class="ico-point-r"></em>' + saar5.l.awarenessvideo.checkinone + "</a>"));
- }
- }
- var cibOriginOptions = $("#cib-flight1").find("option");
- var cibDestOptions = $("#cib-flight2").find("option");
- for (var i = 0; i < cibOriginOptions.length; i++) {
- var cibOriginValue = cibOriginOptions[i].getAttribute("data-text");
- if ($("select#cib-flight1").find(cibOriginOptions[i]).attr("selected")) {
- $("#city-1").val(cibOriginValue);
- var splitdataValue = cibOriginValue.lastIndexOf("-");
- $("#originCityCode").val(cibOriginValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- if (($("#milesaccural").val() != undefined && $("#milesaccural").val() != "undefined") && $("#milesaccural").val() != "") {
- var cibKFOriginValue = $("#cib-flight1").find('option[value="' + $("#milesaccural").val() + '"]').attr("data-text");
- $("#city-1").val(cibKFOriginValue);
- $("#originCityCode").val($("#milesaccural").val());
- }
- for (var i = 0; i < cibDestOptions.length; i++) {
- var cibDestValue = cibDestOptions[i].getAttribute("data-text");
- if ($("select#cib-flight2").find(cibDestOptions[i]).attr("selected")) {
- $("#city-2").val(cibDestValue);
- var splitdataValue = cibDestValue.lastIndexOf("-");
- $("#destCityCode").val(cibDestValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- if (($("#milesaccuraldest").val() != undefined && $("#milesaccuraldest").val() != "undefined") && $("#milesaccuraldest").val() != "") {
- var cibDestValue = $("#cib-flight2").find('option[value="' + $("#milesaccuraldest").val() + '"]').attr("data-text");
- $("#city-2").val(cibDestValue);
- $("#destCityCode").val($("#milesaccuraldest").val());
- }
- var orbOriginOptions = $("#cib-flight3").find("option");
- var orbDestOptions = $("#cib-flight4").find("option");
- for (var i = 0; i < orbOriginOptions.length; i++) {
- var orbOriginValue = orbOriginOptions[i].getAttribute("data-text");
- if ($("select#cib-flight3").find(orbOriginOptions[i]).attr("selected")) {
- $("#city1-1").val(orbOriginValue);
- var splitdataValue = orbOriginValue.lastIndexOf("-");
- $("#orbOriginCity").val(orbOriginValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- if (($("#milesaccuralorb").val() != undefined && $("#milesaccuralorb").val() != "undefined") && $("#milesaccuralorb").val() != "") {
- var orbKFOriginValue = $("#cib-flight3").find('option[value="' + $("#milesaccuralorb").val() + '"]').attr("data-text");
- $("#city1-1").val(orbKFOriginValue);
- $("#orbOriginCity").val($("#milesaccuralorb").val());
- }
- for (var i = 0; i < orbDestOptions.length; i++) {
- var orbDestValue = orbDestOptions[i].getAttribute("data-text");
- if ($("select#cib-flight4").find(orbDestOptions[i]).attr("selected")) {
- $("#city1-2").val(orbDestValue);
- var splitdataValue = orbDestValue.lastIndexOf("-");
- $("#orbDestination").val(orbDestValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- if (($("#milesaccuralorbDest").val() != undefined && $("#milesaccuralorbDest").val() != "undefined") && $("#milesaccuralorbDest").val() != "") {
- var orbKFDestValue = $("#cib-flight4").find('option[value="' + $("#milesaccuralorbDest").val() + '"]').attr("data-text");
- $("#city1-2").val(orbKFDestValue);
- $("#orbDestination").val($("#milesaccuralorbDest").val());
- $("#travel-radio-2").attr("checked", true).trigger("click");
- }
- var sqcOriginOptions = $("#cib-flight5").find("option");
- var sqcDestOptions = $("#cib-flight6").find("option");
- for (var i = 0; i < sqcOriginOptions.length; i++) {
- var sqcOriginValue = sqcOriginOptions[i].getAttribute("data-text");
- if ($("select#cib-flight5").find(sqcOriginOptions[i]).attr("selected")) {
- $("#city2-1").val(sqcOriginValue);
- var splitdataValue = sqcOriginValue.lastIndexOf("-");
- $("#originCityCodeSQC").val(sqcOriginValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- for (var i = 0; i < sqcDestOptions.length; i++) {
- var sqcDestValue = sqcDestOptions[i].getAttribute("data-text");
- if ($("select#cib-flight6").find(sqcDestOptions[i]).attr("selected")) {
- $("#city2-2").val(sqcDestValue);
- var splitdataValue = sqcDestValue.lastIndexOf("-");
- $("#destCityCodeSQC").val(sqcDestValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- break;
- }
- }
- $("#depart-route-2").click(function() {
- $("#fl-no-3A").attr("name", "station");
- $("#choose-city-5A").attr("name", "stationA");
- });
- $("#arrive-route-2").click(function() {
- $("#fl-no-3A").attr("name", "stationD");
- $("#choose-city-5A").attr("name", "station");
- $("#datetobynumber").removeAttr("name");
- $("#date-to-by-number").attr("name", "eventMonthByFlight");
- });
- $("#Schedule-event").click(function() {
- $("#isched-search").attr("value", "true");
- });
- $("#manageBookingForm").submit(function(e) {
- e.preventDefault();
- if (($("#booking-1").val().length == 6) && $("#booking-2").val() && $("#manageBookingForm").valid()) {
- var data = $("#manageBookingForm").serializeArray();
- var url = $("#manageBookingForm").attr("action");
- $.ajax({
- url: url,
- type: "POST",
- data: data,
- success: function(data) {
- var $response = $(data);
- var securityError = $response.find(".securityError").val();
- if (typeof securityError !== "undefined") {
- window.location = securityError;
- }
- var error = $response.filter(".alert-block").val();
- var redirect = $response.filter(".ajaxRedirect").val();
- var jQajaxRedirect = $response.filter(".jQajaxRedirect").val();
- var offline = $response.filter(".popup--offline").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorMsg").html($response);
- }
- if (typeof redirect !== "undefined" || typeof jQajaxRedirect !== "undefined") {
- handleAjaxRedirect($response);
- e.preventDefault();
- }
- if (typeof offline !== "undefined") {
- callPopup($response);
- }
- }
- });
- }
- });
- function callPopup(element) {
- SIA.preloader.hide();
- var popupOffline = element;
- var flyingFocus = $("#flying-focus");
- popupOffline.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- },
- afterHide: function() {
- win.trigger("resize.resetTabMenu");
- },
- triggerCloseModal: ".popup__close"
- });
- popupOffline.Popup("show");
- }
- function handleAjaxRedirect(element) {
- var href = element.attr("href");
- window.location = href;
- }
- $("#manageBookingForm1").submit(function(e) {
- e.preventDefault();
- var ticno = $("#booking-3").val();
- var tic = ticno.substring(0, 3);
- if (($("#booking-3").val().length == 13) && $("#booking-4").val() && (tic == "618") && $("#manageBookingForm1").valid()) {
- var data = $("#manageBookingForm1").serializeArray();
- var url = $("#manageBookingForm1").attr("action");
- $.ajax({
- url: url,
- type: "POST",
- data: data,
- success: function(data) {
- var $response = $(data);
- var securityError = $response.find(".securityError").val();
- if (typeof securityError !== "undefined") {
- window.location = securityError;
- }
- var error = $response.filter(".alert-block").val();
- var redirect = $response.filter(".ajaxRedirect").val();
- var jQajaxRedirect = $response.filter(".jQajaxRedirect").val();
- var offline = $response.filter(".popup--offline").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorMsg").html($response);
- }
- if (typeof redirect !== "undefined" || typeof jQajaxRedirect !== "undefined") {
- handleAjaxRedirect($response);
- e.preventDefault();
- }
- if (typeof offline !== "undefined") {
- callPopup($response);
- }
- }
- });
- }
- });
- $("#city-promo-code").click(function(e) {
- e.preventDefault();
- var isLoggedInUser = $("#isLoggedInUser").val();
- if (isLoggedInUser == "true") {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo-code-kf-member").Popup("show").Popup("show");
- } else {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo").Popup("show");
- }
- $("#overlay").addClass("overlay");
- });
- $("#city1-promo-code").click(function(e) {
- e.preventDefault();
- var isLoggedInUser = $("#isLoggedInUser").val();
- if (isLoggedInUser == "true") {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo-code-kf-member").Popup("show").Popup("show");
- } else {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo").Popup("show");
- }
- $("#overlay").addClass("overlay");
- });
- $("#city2-promo-code").click(function(e) {
- e.preventDefault();
- var isLoggedInUser = $("#isLoggedInUser").val();
- if (isLoggedInUser == "true") {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo-code-kf-member").Popup("show").Popup("show");
- } else {
- SIA.preloader.hide();
- $(".overlay").removeClass("hidden");
- $(".popup--promo").Popup("show");
- }
- $("#overlay").addClass("overlay");
- });
- if (window.location.href.indexOf("#promocode") > -1) {
- var url = $("#city-promo-code").attr("href");
- $.ajax({
- url: url,
- type: "GET",
- data: {},
- success: function(data) {
- var $response = $(data);
- var offline = $response.filter(".popup--promo").val();
- var offlinekf = $response.filter(".popup--promo-code-kf-member").val();
- if (typeof offline !== "undefined") {
- callPopupPromo($response);
- }
- if (typeof offlinekf !== "undefined") {
- callPopupPromo($response);
- }
- }
- });
- }
- function callPopupPromo(element) {
- var popupOffline = element;
- popupOffline.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- afterShow: function() {},
- afterHide: function() {
- win.trigger("resize.resetTabMenu");
- },
- triggerCloseModal: ".popup__close"
- });
- popupOffline.Popup("show");
- }
- });
- $(".schedSearch").click(function(e) {
- e.preventDefault();
- var dataValue = $("#city1-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbOriginCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbdestCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city1-2").val()) {
- $("#city1-2").removeAttr("name");
- }
- if (($("#city1-1").val() && $("#city1-2").val() && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) || ($("#city1-1").val() && $("#city1-2").val() && $("#city1-travel-start-day-2").val())) {
- $("#scheduleSearchForm").find("#origin").val($("#originCityCode").val());
- if ($("#searchForm").find("#originMobile") != "undefined" && $("#searchForm").find("#originMobile").length > 0) {
- $("#scheduleSearchForm").find("#originMobile").val($("#orbOriginCity").val());
- }
- $("#scheduleSearchForm").find("#destination").val($("#orbdestCity").val());
- if ($("#searchForm").find("#destinationMobile") != "undefined" && $("#searchForm").find("#destinationMobile").length > 0) {
- $("#scheduleSearchForm").find("#destinationMobile").val($("#destCityCode").val());
- }
- if ($("#city1-radio-4").is(":checked")) {
- var departureDate = $("#city1-travel-start-day").val();
- var returnDate = $("#city1-travel-return-day").val();
- var departSplit = "";
- var returnSplit = "";
- if (departureDate) {
- departSplit = departureDate.split("/");
- }
- if (returnDate) {
- returnSplit = returnDate.split("/");
- }
- $("#scheduleSearchForm").find("#tripTypeSchedule").val("");
- $("#scheduleSearchForm").find("#jQdatePickerMonthYear_3").val(departSplit[1] + departSplit[2]);
- $("#scheduleSearchForm").find("#jQdatePickerMonthYear_4").val(returnSplit[1] + returnSplit[2]);
- $("#scheduleSearchForm").find("#jQdatePickerDay_3").val(departSplit[0]);
- $("#scheduleSearchForm").find("#jQdatePickerDay_4").val(returnSplit[0]);
- } else {
- var departureDateOneway = $("#city1-travel-start-day-2").val().split("/");
- $("#scheduleSearchForm").find("#jQdatePickerMonthYear_3").val(departureDateOneway[1] + departureDateOneway[2]);
- $("#scheduleSearchForm").find("#jQdatePickerDay_3").val(departureDateOneway[0]);
- $("#scheduleSearchForm").find("#tripTypeSchedule").val("O");
- }
- $("#destination_error").find(".error").remove();
- $("#origin_error").find(".error").remove();
- var newHidden = $("<input/>", {
- type: "hidden",
- name: "tripType",
- value: $("#scheduleSearchForm").find("#tripTypeSchedule").val(),
- id: "tripTypeSchedSearch"
- });
- $("#scheduleSearchForm").append(newHidden);
- if ($("#scheduleSearchForm").valid()) {
- $("#schedSearch").attr("disabled", "disabled");
- $("#form-book-travel-1").remove();
- $("#scheduleSearchForm").submit();
- }
- }
- });
- $("#schedSearch").click(function(e) {
- $(".to-valid").find("p.text-error").remove();
- $(".to-valid").removeClass("error");
- e.preventDefault();
- var dataValue = $("#city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var boarding = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- }
- dataValue = $("#city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var destin = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- }
- if ($("#city-radio-4").is(":checked")) {
- var trip = "Round Trip";
- var dDate = $("#city-travel-start-day").val();
- var rDate = $("#city-travel-return-day").val();
- } else {
- if ($("#city-radio-5").is(":checked")) {
- var trip = "One Way";
- var dDate = $("#city-travel-start-day-2").val();
- var rDate = "";
- }
- }
- var parms = {
- BoardingPoint: boarding,
- DestinationPoint: destin,
- tripType: trip,
- DepartureDate: dDate,
- ReturnDate: rDate,
- fromHome: "true"
- };
- if (($("#city-1").val()) && ($("#city-2").val())) {
- if (($("#city-radio-4").is(":checked")) || ($("#city-radio-5").is(":checked"))) {
- $.ajax({
- url: "/getFlightSchedule.form",
- type: "POST",
- data: parms,
- success: function(data) {
- var $response = $(data);
- var error = $response.filter("#flightScheduleAjaxError").val();
- var redirect = $response.filter(".jQajaxRedirect").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorFSMsgCib").html($response);
- }
- if (typeof redirect !== "undefined") {
- handleAjaxRedirectFS($response);
- e.preventDefault();
- }
- }
- });
- }
- } else {
- if (!($("#city-2").val())) {
- SIA.preloader.hide();
- $(".to-valid").addClass("error");
- $(".to-valid").append('<p class="text-error"><span></span></p></div>');
- $(".to-valid p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- }
- });
- $("#schedSearchOrb").click(function(e) {
- $(".to-valid-orb").find("p.text-error").remove();
- $(".to-valid-orb").removeClass("error");
- e.preventDefault();
- var dataValue = $("#city1-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var boarding = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- }
- dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var destin = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- }
- if ($("#city1-radio-4").is(":checked")) {
- var trip = "Round Trip";
- var dDate = $("#city1-travel-start-day").val();
- var rDate = $("#city1-travel-return-day").val();
- } else {
- if ($("#city1-radio-5").is(":checked")) {
- var trip = "One Way";
- var dDate = $("#city1-travel-start-day-2").val();
- var rDate = "";
- }
- }
- var parms = {
- BoardingPoint: boarding,
- DestinationPoint: destin,
- tripType: trip,
- DepartureDate: dDate,
- ReturnDate: rDate,
- fromHome: "true"
- };
- if (($("#city1-1").val()) && ($("#city1-2").val())) {
- if (($("#city1-radio-4").is(":checked")) || ($("#city1-radio-5").is(":checked"))) {
- $.ajax({
- url: "/getFlightSchedule.form",
- type: "POST",
- data: parms,
- success: function(data) {
- var $response = $(data);
- var error = $response.filter("#flightScheduleAjaxError").val();
- var redirect = $response.filter(".jQajaxRedirect").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorFSMsgOrb").html($response);
- }
- if (typeof redirect !== "undefined") {
- handleAjaxRedirectFS($response);
- e.preventDefault();
- }
- }
- });
- }
- } else {
- if (!($("#city1-2").val())) {
- SIA.preloader.hide();
- $(".to-valid-orb").addClass("error");
- $(".to-valid-orb").append('<p class="text-error"><span></span></p></div>');
- $(".to-valid-orb p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- }
- });
- $("#addStopoverSearchHome, #multiCitySearchHome, #multiCitySearchHomeSQC").click(function(e) {
- e.preventDefault();
- var dataValue = $("#city-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCode").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city-2").val()) {
- $("#city-2").removeAttr("name");
- }
- var dataValue = $("#city1-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbOriginCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city1-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#orbdestCity").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city1-2").val()) {
- $("#city1-2").removeAttr("name");
- }
- var dataValue = $("#city2-1").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#originCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- var dataValue = $("#city2-2").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- $("#destCityCodeSQC").val(dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim());
- }
- if ($("#city2-2").val()) {
- $("#city2-2").removeAttr("name");
- }
- if ($("#city2-radio-4").is(":checked") && $("#city2-travel-start-day").val() && $("#city2-travel-return-day").val()) {
- if ($("#city2-one-way-2").hasClass("hidden")) {
- $("#city2-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city2-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city2-radio-5").is(":checked") && $("#city2-travel-start-day-2").val()) {
- if ($("#city2-one-way-1").hasClass("hidden")) {
- $("#city2-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city2-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- if ($("#city-radio-4").is(":checked") && $("#city-travel-start-day").val() && $("#city-travel-return-day").val()) {
- if ($("#city-one-way-2").hasClass("hidden")) {
- $("#city-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city-radio-5").is(":checked") && $("#city-travel-start-day-2").val()) {
- if ($("#city-one-way-1").hasClass("hidden")) {
- $("#city-one-way-1 :input").attr("disabled", "disabled");
- } else {
- $("#city-one-way-1 :input").removeAttr("disabled");
- }
- }
- }
- if ($("#city1-radio-4").is(":checked") && $("#city1-travel-start-day").val() && $("#city1-travel-return-day").val()) {
- if ($("#city1-one-way-2").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- } else {
- if ($("#city1-radio-5").is(":checked") && $("#city1-travel-start-day-2").val()) {
- if ($("#city1-one-way-1").hasClass("hidden")) {
- $("#city1-one-way-2 :input").attr("disabled", "disabled");
- } else {
- $("#city1-one-way-2 :input").removeAttr("disabled");
- }
- }
- }
- $("#cabinCIB").attr({
- "name": "OWRTcabinClass"
- });
- $("#cabinSQC").attr({
- "name": "OWRTcabinClass"
- });
- var inps = $(this).parents("form:eq(0)").serialize();
- var loc = $(this).attr("href");
- var url = (loc.indexOf("?")) ? loc + "&" + inps : loc + "?" + inps;
- window.location = url;
- });
- $("#form-flight-status").submit(function(e) {
- e.preventDefault();
- var dataValue = $("#city-3").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var splitValue = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- $("#city-3A").attr("value", splitValue);
- }
- var dataValue = $("#city-4").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var splitValue = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- $("#city-4A").attr("value", splitValue);
- }
- if ($("#city-3").val() && $("#city-4").val() && ($("#city-3").val() !== $("#city-4").val())) {
- $("#city-4").removeAttr("name");
- e.preventDefault();
- var data = $("#form-flight-status").serializeArray();
- var url = $("#form-flight-status").attr("action");
- $.ajax({
- url: url,
- type: "POST",
- data: data,
- success: function(data) {
- var $response = $(data);
- var error = $response.filter("#flightStatusAjaxError").val();
- var redirect = $response.filter(".jQajaxRedirect").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorFSMsg").html($response);
- }
- if (typeof redirect !== "undefined") {
- handleAjaxRedirectFS($response);
- e.preventDefault();
- }
- },
- error: function() {
- SIA.preloader.hide();
- var error = $('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + saar5.l.flightStatus.message + "</p></div></div></div>");
- $("#errorFSMsg").html(error);
- }
- });
- } else {
- SIA.preloader.hide();
- }
- });
- function handleAjaxRedirectFS(element) {
- var href = element.attr("href");
- window.location = href;
- }
- $("#form-flight-status-1").submit(function(e) {
- e.preventDefault();
- if ($("#depart-route-2").is(":checked")) {
- var dataValue = $("#fl-no-3").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var splitValue = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- $("#fl-no-3A").attr("value", splitValue);
- }
- }
- if ($("#arrive-route-2").is(":checked")) {
- var dataValue = $("#choose-city-5").val();
- if (dataValue && dataValue.indexOf("-") != -1) {
- var splitdataValue = dataValue.lastIndexOf("-");
- var splitValue = dataValue.substring(splitdataValue + 1, splitdataValue + 5).trim();
- $("#choose-city-5A").attr("value", splitValue);
- }
- }
- if ($("#fl-no-2").val() && ($("#fl-no-3A").val() || $("#choose-city-5A").val())) {
- e.preventDefault();
- $("#fl-no-2").val($("#fl-no-2").val().trim());
- var data = $("#form-flight-status-1").serializeArray();
- var url = $("#form-flight-status-1").attr("action");
- $.ajax({
- url: url,
- type: "POST",
- data: data,
- success: function(data) {
- var $response = $(data);
- var error = $response.filter("#flightStatusAjaxError").val();
- var redirect = $response.filter(".jQajaxRedirect").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- $("#errorFSMsg").html($response);
- }
- if (typeof redirect !== "undefined") {
- handleAjaxRedirectFS($response);
- e.preventDefault();
- }
- }
- });
- }
- });
- $(".kfapplypromo").click(function(e) {
- e.preventDefault();
- var kfid = $(this).attr("id");
- var url2 = $("#" + kfid).attr("href");
- var promoCode = url2.split("/").pop();
- $("#input-4").val(decodeURIComponent(promoCode));
- $("#submit-3").trigger("click");
- });
- $("#submit-3").click(function(e) {
- var regex = new RegExp("^[a-zA-Z0-9\\s-_]*$");
- if ((regex.test($("#input-4").val()) === "" || (regex.test($("#input-4").val()) === null))) {
- SIA.preloader.hide();
- e.preventDefault();
- } else {
- if ((regex.test($("#input-4").val()) == true) && (($("#input-4").val().length) < 6) || (($("#input-4").val().length) > 15)) {
- $("#promotionForm").find(".form-group:first").find("p.text-error").remove();
- $("#promotionForm").find(".form-group:first").append('<p class="text-error"><span></span></p>');
- $("#promotionForm").find(".form-group:first p.text-error").text(saar5.m.faredeals.enterdigit);
- SIA.preloader.hide();
- e.preventDefault();
- } else {
- SIA.preloader.hide();
- SIA.preloader.show();
- var originData = $('input[name="origin"]').val();
- var destinData = $('input[name="destination"]').val();
- var tripTypeData = $('input[name="tripType"]').val();
- var returnMonthData = $('input[name="returnMonth"]').val();
- var departureMonthData = $('input[name="departureMonth"]').val();
- var cabinClassData = $('input[name="cabinClass"]').val();
- var numOfAdultsData = $('select[name="numOfAdults"]').val();
- var numOfChildrenData = $('select[name="numOfChildren"]').val();
- var numOfInfantsData = $('select[name="numOfInfants"]').val();
- var promoData = $("#input-4").val();
- var fareDealIdData = $("#fareDealId").val();
- var promotionModeData = $('input[name="promotionMode"]').val();
- var fromPopUpData = $("#fromPopUp").val();
- if ($('input[name="showLoginWidget"]').val()) {
- var showLoginWidgetData = $('input[name="showLoginWidget"]').val();
- }
- if ($("#passThruFlightSearch").val()) {
- var parms = {
- origin: originData,
- destination: destinData,
- tripType: tripTypeData,
- departureMonth: departureMonthData,
- returnMonth: returnMonthData,
- cabinClass: cabinClassData,
- numOfAdults: numOfAdultsData,
- numOfChildren: numOfChildrenData,
- numOfInfants: numOfInfantsData,
- promotionMode: promotionModeData,
- promotionCode: promoData,
- fareDealId: fareDealIdData,
- fromPassthru: "true",
- showLoginWidget: showLoginWidgetData,
- fromPopUp: fromPopUpData
- };
- } else {
- var parms = {
- promotionCode: $("#input-4").val(),
- fromPopUp: $("#fromPopUp").val()
- };
- }
- e.preventDefault();
- var url = $("#promotionForm").prop("action") + "/";
- $.ajax({
- url: url,
- type: "POST",
- data: parms,
- success: function(data) {
- var $response = $(data);
- var error = $response.filter("#flightStatusAjaxError").val();
- var redirect = $response.filter(".jQajaxRedirect").val();
- if (typeof error !== "undefined") {
- SIA.preloader.hide();
- if ($("#passThruFlightSearch").val()) {
- $("#errorFSMsg").html('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message"">' + '<div id="fareDealsAjaxError">' + ($("#errorFSMsg").html($response).find("p").text()) + "</div>" + "</div>" + "</div></div>");
- } else {
- $("p.error").html('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message"">' + '<div id="fareDealsAjaxError">' + ($("#errorFSMsg").html($response).find("p").text()) + "</div>" + "</div>" + "</div></div>");
- }
- } else {
- if (data && data == "errorMismatchPromotionCode") {
- SIA.preloader.hide();
- $("#errorFSMsg").html('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message"">' + '<div id="fareDealsAjaxError">' + saar5.m.faredeals.incorrecttag + "</div>" + "</div>" + "</div></div>");
- } else {
- if (data && (data.toLowerCase() == "commercialfalse" || data.toLowerCase() == "redemptionfalse")) {
- var formPopUpSubmit = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formPopUpSubmit);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formPopUpSubmit);
- formPopUpSubmit.appendTo("body").submit();
- } else {
- if (data && (data.toLowerCase() == "commercialtrue" || data.toLowerCase() == "redemptiontrue")) {
- var newHidden = $("<input/>", {
- type: "hidden",
- name: "isPromotionFareOrbLogin",
- value: "true",
- });
- $("#form-promotion-book-flight").append(newHidden);
- $('input[name="promotionMode"]').val("");
- var postData = $("#form-promotion-book-flight").serializeArray();
- var formURL = $("#form-promotion-book-flight").attr("action");
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- $(".popup--promo").Popup("hide");
- SIA.preloader.hide();
- $("#loginFromHeader").val("");
- $("#executionId").val(data.trim());
- $(".popup--promo").Popup("hide");
- var menuBar = $(".menu-bar");
- var triggerLoginPoup = menuBar.find("ul a.login");
- triggerLoginPoup.trigger("click.showLoginPopup");
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- e.preventDefault();
- } else {
- $("#promotionForm").attr("action", url);
- $("#promotionForm").submit();
- }
- }
- }
- }
- }
- });
- }
- }
- });
- $("#input-4").keyup(function() {
- var isLoggedInUser = $("#isLoggedInUser").val();
- var isHomePage = $("#isHomePageCheck").val();
- var regex = new RegExp("^[^^}@#$~`%,.&*!:?;/|=+\"'{<>()]+$");
- $("#promotionForm").find(".form-group:first").removeClass("error");
- $("#promotionForm").find(".form-group:first").find("p.text-error").remove();
- if ($("#passThruFlightSearch").val() || (isHomePage == "true" && isLoggedInUser != "true") || $("#isSecondaryLanding").val()) {
- if (regex.test($("#input-4").val()) == false) {
- $("#promotionForm").find(".form-group:first").addClass("error");
- $("#promotionForm").find(".form-group:first").append('<p class="text-error"><span></span></p></div>');
- $("#promotionForm").find(".form-group:first p.text-error").text(saar5.m.faredeals.enterdigit);
- } else {
- if ($("#input-4").val() === "" || $("#input-4").val() === null) {
- $("#promotionForm").find(".form-group:first").addClass("error");
- $("#promotionForm").find(".form-group:first").append('<p class="text-error"><span></span></p></div>');
- $("#promotionForm").find(".form-group:first p.text-error").text(saar5.m.faredeals.enterpromo);
- } else {
- $("#promotionForm").find(".form-group:first").removeClass("error");
- $("#promotionForm").find(".form-group:first").find("p.text-error").remove();
- }
- }
- } else {
- if ($("#passThruFlightSearch").val() != "true" && isLoggedInUser == "true") {
- if (regex.test($("#input-4").val()) == false) {
- $(".input-addon-1").addClass("error");
- $("p.error").text(saar5.m.faredeals.enterdigit);
- } else {
- if ($("#input-4").val() === "" || $("#input-4").val() === null) {
- $(".input-addon-1").addClass("error");
- $("p.error").text(saar5.m.faredeals.enterpromo);
- } else {
- $(".input-addon-1").removeClass("error");
- $("p.error").text("");
- }
- }
- }
- }
- });
- $("#input-4").focusin(function() {
- $("#errorFSMsg").find(".alert-block").remove();
- $("#errorFSMsg").find("#flightStatusAjaxError").remove();
- $("p.error").find(".alert-block").remove();
- });
- $(".popup__close").click(function() {
- var isLoggedInUser = $("#isLoggedInUser").val();
- $("#errorFSMsg").find("#flightStatusAjaxError").remove();
- $("p.error").find(".alert-block").remove();
- $(".alert-block").remove();
- $(".overlay").addClass("hidden");
- if (isLoggedInUser) {
- $(".popup--promo-code-kf-member").Popup("hide");
- $(".popup--promo").Popup("hide");
- $(".popup--account-alert").Popup("hide").Popup("hide");
- } else {
- $(".popup--promo").Popup("hide");
- }
- $(".popup--account-alert").Popup("hide").Popup("hide");
- });
- $("#fareDealCancel").click(function(e) {
- $(".popup--account-alert").Popup("hide");
- });
- function showPromos() {
- $(".overlay").removeClass("hidden");
- $(".popup--promo").Popup("show").Popup("show");
- $(document).on("keyup", function(evt) {
- if (evt.keyCode == 27) {
- var isLoggedInUser = $("#isLoggedInUser").val();
- $("#errorFSMsg").find("#flightStatusAjaxError").remove();
- $("p.error").find(".alert-block").remove();
- $(".alert-block ").remove();
- if (isLoggedInUser) {
- $(".popup--promo-code-kf-member").Popup("hide");
- $(".popup--promo").Popup("hide");
- $(".overlay").addClass("hidden");
- } else {
- $(".popup--promo").Popup("hide");
- }
- $(".overlay").addClass("hidden");
- }
- });
- $(".overlay").click(function() {
- var isLoggedInUser = $("#isLoggedInUser").val();
- $("#errorFSMsg").find("#flightStatusAjaxError").remove();
- $("p.error").find(".alert-block").remove();
- $(".alert-block ").remove();
- if (isLoggedInUser) {
- $(".popup--promo-code-kf-member").Popup("hide");
- $(".popup--promo").Popup("hide");
- $(".overlay").addClass("hidden");
- } else {
- $(".popup--promo").Popup("hide");
- }
- $(".overlay").addClass("hidden");
- });
- $(".popup--promo").click(function() {
- $(".popup--promo").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(".popup--promo-code-kf-member").click(function() {
- $(".popup--promo-code-kf-member").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- }
- $("#kfmanagebooktab").click(function() {
- $("#kfmanagebookingtab").attr("value", "true");
- $("#isloginreq").attr("value", "");
- $("#loginFromHeader").attr("value", "");
- $("#redirectTopage").attr("value", "");
- });
- $("#kfmanagebooktab1").click(function() {
- $("#kfmanagebookingtab").attr("value", "true");
- $("#isloginreq").attr("value", "");
- $("#loginFromHeader").attr("value", "");
- $("#redirectTopage").attr("value", "");
- });
- $("#kfcheckinfromhome").click(function() {
- $("#kfcheckintab").attr("value", "true");
- $("#isloginreq").attr("value", "");
- $("#loginFromHeader").attr("value", "");
- $("#redirectTopage").attr("value", "");
- });
- $("#kfcheckinfromhome1").click(function() {
- $("#kfcheckintab").attr("value", "true");
- $("#isloginreq").attr("value", "");
- $("#loginFromHeader").attr("value", "");
- $("#redirectTopage").attr("value", "");
- });
- var urlkf = String(window.location);
- if ((urlkf.indexOf("validationMsgKey") != -1) || (urlkf.indexOf("messageKey") != -1)) {
- var url = "/booking-flow.form?kferrorclear=true";
- $.ajax({
- url: url,
- type: "GET",
- data: {},
- success: function(data) {}
- });
- }
- $("#promotion-fare-btn").click(function(e) {
- var originData = $('input[name="origin"]').val();
- var destinData = $('input[name="destination"]').val();
- var tripTypeData = $('input[name="tripType"]').val();
- var returnMonthData = $('input[name="returnMonth"]').val();
- var departureMonthData = $('input[name="departureMonth"]').val();
- var cabinClassData = $('input[name="cabinClass"]').val();
- var numOfAdultsData = $('select[name="numOfAdults"]').val();
- var numOfChildrenData = $('select[name="numOfChildren"]').val();
- var numOfInfantsData = $('select[name="numOfInfants"]').val();
- var promotionModeData = $('input[name="promotionMode"]').val();
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- if (((Number($(".adult_count").text()) + Number($(".child_count").text()) + Number($(".infant_count").text())) < Number($("#fareDealMinPax").val()))) {
- $(".grid_validate").addClass("error");
- SIA.preloader.hide();
- $(".grid_cabin").append('<p class="text-error"><span></span></p></div>');
- $(".grid_cabin p.text-error").text(saar5.m.faredeals.validminPax);
- e.preventDefault();
- } else {
- var flag = 1;
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "O") {
- var postData = $("#form-promotion-book-flight").serializeArray();
- var formURL = $("#executionId").val();
- $.ajax({
- url: "/booking-flow.form?",
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- if (data.indexOf("eventId=kfloginSuccess") === -1) {
- var $response = $(data);
- SIA.preloader.hide();
- if ($response && $response.filter("div#flightScheduleAjaxError") && $response.filter("div#flightScheduleAjaxError").find("p") && $response.filter("div#flightScheduleAjaxError").find("p").text()) {
- var error = $response.filter("div#flightScheduleAjaxError").find("p").text().trim();
- var redirect = $response.filter(".jQajaxRedirect").val();
- }
- if (typeof error !== "undefined") {
- $(".alert-block.error-alert").remove();
- $("h2.kf_error:last").after('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + error + "</p></div></div></div>");
- }
- if (data && data == "kfTierMismatch") {
- SIA.preloader.show();
- $(".popup--login").Popup("hide");
- location.reload();
- } else {
- var formNormaPromotionalFares = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formNormaPromotionalFares);
- formNormaPromotionalFares.appendTo("body").submit();
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- } else {
- if ($('input[name="tripType"]').val() == "O") {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "R") {
- if ($('input[name="returnMonth"]').val()) {
- var postData = $("#form-promotion-book-flight").serializeArray();
- var formURL = $("#executionId").val();
- $.ajax({
- url: "/booking-flow.form?",
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- if (data.indexOf("eventId=kfloginSuccess") === -1) {
- var $response = $(data);
- SIA.preloader.hide();
- if ($response && $response.filter("div#flightScheduleAjaxError") && $response.filter("div#flightScheduleAjaxError").find("p") && $response.filter("div#flightScheduleAjaxError").find("p").text()) {
- var error = $response.filter("div#flightScheduleAjaxError").find("p").text().trim();
- var redirect = $response.filter(".jQajaxRedirect").val();
- }
- if (typeof error !== "undefined") {
- $(".alert-block.error-alert").remove();
- $("h2.kf_error:last").after('<div class="alert-block error-alert"><div class="inner"><div class="alert__icon"><em class="ico-close-round-fill"> </em></div><div class="alert__message""><p>' + error + "</p></div></div></div>");
- }
- if (data && data == "kfTierMismatch") {
- SIA.preloader.show();
- $(".popup--login").Popup("hide");
- location.reload();
- } else {
- var formNormaPromotionalFares = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formNormaPromotionalFares);
- $("<input>", {
- type: "text",
- name: "promotionMode",
- value: promotionModeData
- }).appendTo(formNormaPromotionalFares);
- formNormaPromotionalFares.appendTo("body").submit();
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- } else {
- if ($('input[name="tripType"]').val() == "R") {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half:nth(1)").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- } else {
- if ($('input[name="tripType"]').val() == "R" && flag == 1) {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- SIA.preloader.hide();
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- }
- }
- }
- e.preventDefault();
- });
- $("#regularSearch").click(function(e) {
- $(".grid_cabin").find("p.text-error").remove();
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- e.preventDefault();
- var originData = $('input[name="origin"]').val();
- var destinData = $('input[name="destination"]').val();
- var tripTypeData = $('input[name="tripType"]').val();
- var returnMonthData = $('input[name="returnMonth"]').val();
- var departureMonthData = $('input[name="departureMonth"]').val();
- var formAction = $("#formAction").val();
- var cabinClassData = $('input[name="cabinClass"]').val();
- var _tripTypeData = $('input[name="_tripType"]').val();
- var numOfAdultsData = $('select[name="numOfAdults"]').val();
- var numOfChildrenData = $('select[name="numOfChildren"]').val();
- var numOfInfantsData = $('select[name="numOfInfants"]').val();
- $("#city-radio-4").click(function(e) {
- $("#city-one-way-1 :input").removeAttr("disabled");
- });
- var formSearchForRegularFares = $("<form></form>", {
- action: "/booking-flow.form",
- method: "post"
- });
- $("<input>", {
- type: "text",
- name: "origin",
- value: originData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "destination",
- value: destinData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "tripType",
- value: tripTypeData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "returnMonth",
- value: returnMonthData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "departureMonth",
- value: departureMonthData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "cabinClass",
- value: cabinClassData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "_tripType",
- value: _tripTypeData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "numOfAdults",
- value: numOfAdultsData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "numOfChildren",
- value: numOfChildrenData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "numOfInfants",
- value: numOfInfantsData
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "fromHomePage",
- value: "true"
- }).appendTo(formSearchForRegularFares);
- $("<input>", {
- type: "text",
- name: "searchForRegularFares",
- value: "doSearch"
- }).appendTo(formSearchForRegularFares);
- var flag = 1;
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "O") {
- formSearchForRegularFares.appendTo("body").submit();
- } else {
- if ($('input[name="tripType"]').val() == "O") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "R") {
- if ($('input[name="returnMonth"]').val()) {
- formSearchForRegularFares.appendTo("body").submit();
- } else {
- if ($('input[name="tripType"]').val() == "R") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half:nth(1)").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- } else {
- if ($('input[name="tripType"]').val() == "R" && flag == 1) {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- }
- }
- });
- $("#loginForPromoCode").click(function(e) {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid_cabin").find("p.text-error").remove();
- if (((Number($(".adult_count").text()) + Number($(".child_count").text()) + Number($(".infant_count").text())) < Number($("#fareDealMinPax").val()))) {
- $(".grid_validate").addClass("error");
- $(".grid_cabin").append('<p class="text-error"><span></span></p></div>');
- $(".grid_cabin p.text-error").text(saar5.m.faredeals.validminPax);
- e.preventDefault();
- } else {
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- var flag = 1;
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "O") {
- showPromos();
- e.preventDefault();
- } else {
- if ($('input[name="tripType"]').val() == "O") {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "R") {
- if ($('input[name="returnMonth"]').val()) {
- showPromos();
- e.preventDefault();
- } else {
- if ($('input[name="tripType"]').val() == "R") {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half:nth(1)").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- }
- }
- } else {
- if ($('input[name="tripType"]').val() == "R" && flag == 1) {
- e.preventDefault();
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- }
- }
- }
- });
- $("#loginForPromoORB").click(function(e) {
- var validateFlag = 0;
- $(".grid-col.one-half :first").find("p.text-error").remove();
- $(".grid_cabin").find("p.text-error").remove();
- var flag = 1;
- $(".grid-col.one-half:nth(1)").removeClass("error");
- $(".grid-col.one-half :first").removeClass("error");
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "O") {
- validateFlag++;
- e.preventDefault();
- } else {
- if ($('input[name="tripType"]').val() == "O") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- e.preventDefault();
- }
- }
- if ($('input[name="tripType"]').val() && $('input[name="departureMonth"]').val() && $('input[name="tripType"]').val() == "R") {
- if ($('input[name="returnMonth"]').val()) {
- validateFlag++;
- e.preventDefault();
- } else {
- if ($('input[name="tripType"]').val() == "R") {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half:nth(1)").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- flag = 0;
- e.preventDefault();
- }
- }
- } else {
- if ($('input[name="tripType"]').val() == "R" && flag == 1) {
- $(".grid-col.one-half :first").find("p.text-error").remove();
- SIA.preloader.hide();
- $(".grid-col.one-half :first").addClass("error");
- $(".grid-col.one-half :first").append('<p class="text-error"><span></span></p></div>');
- $(".grid-col.one-half :first p.text-error").text(saar5.m.faredeals.validdate);
- e.preventDefault();
- }
- }
- if (((Number($(".adult_count").text()) + Number($(".child_count").text()) + Number($(".infant_count").text())) < Number($("#fareDealMinPax").val()))) {
- SIA.preloader.hide();
- $(".grid_validate").addClass("error");
- $(".grid_cabin").append('<p class="text-error"><span></span></p></div>');
- $(".grid_cabin p.text-error").text(saar5.m.faredeals.validminPax);
- e.preventDefault();
- } else {
- validateFlag++;
- }
- if (validateFlag >= 2) {
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- var postData = $("#form-promotion-book-flight").serializeArray();
- var formURL = $("#form-promotion-book-flight").attr("action");
- $.ajax({
- url: formURL,
- type: "POST",
- data: postData,
- success: function(data, textStatus, jqXHR) {
- SIA.preloader.hide();
- if (data.indexOf("eventId=loginSuccess") === -1) {
- var $response = $(data);
- if ($response && $response.filter("div#container") && $response.filter("div#container").find("div.main-inner div#fareDealsAjaxError") && $response.filter("div#container").find("div.main-inner div#fareDealsAjaxError").find("p") && $response.filter("div#container").find("div.main-inner div#fareDealsAjaxError").find("p").text()) {
- var error = $response.filter("div#container").find("div.main-inner div#fareDealsAjaxError").find("aside");
- }
- }
- if (typeof error !== "undefined") {
- var fareDealAlert = error;
- fareDealAlert.find("#fareDealCancel").click(function(e) {
- fareDealAlert.Popup("hide");
- });
- fareDealAlert.find(".popup__close").click(function(e) {
- fareDealAlert.Popup("hide");
- });
- error.Popup("show").Popup("show");
- } else {
- $("#showMessage").find("p").remove();
- $("#loginFromHeader").val("");
- $("#executionId").val(data.trim());
- var menuBar = $(".menu-bar");
- var triggerLoginPoup = menuBar.find("ul a.login");
- triggerLoginPoup.trigger("click.showLoginPopup");
- $("#showMessage").append("<p>" + saar5.m.promotions.login + "</p>");
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {}
- });
- e.preventDefault();
- }
- });
- var renderSearchSuggestions;
- $("#hideErrorMsg").click(function(e) {
- $("#jQerrorLightbox").hide();
- });
- var popupSqlogout = $("#sqloqout");
- var popupsqlog = $("#sqlogoutpopup");
- popupsqlog.Popup({
- overlayBGTemplate: '<div class="overlay"></div>',
- modalShowClass: "",
- triggerCloseModal: ".popup__close, .btn-back-booking",
- afterShow: function() {},
- closeViaOverlay: false
- });
- popupSqlogout.off("click.showSqlogoutPopup").on("click.showSqlogoutPopup", function(e) {
- e.preventDefault();
- popupsqlog.Popup("show");
- });
- $.fn.digits = function() {
- return this.each(function() {
- $(this).text($(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"));
- });
- };
- $("h3#kfmilesdig").digits();
- $(function popupCheck() {
- if ($("#fromCheckAvailPopup").val()) {
- $(".popup--check-available").find(".popup__close").click(function() {
- $(".popup--check-available").Popup("hide").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(".overlay").click(function() {
- $(".popup--check-available").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(".popup--check-available").click(function() {
- $(".popup--check-available").Popup("hide");
- $(".overlay").addClass("hidden");
- });
- $(document).on("keyup", function(evt) {
- if (evt.keyCode == 27) {
- $(".popup--check-available").Popup("hide");
- $(".overlay").addClass("hidden");
- }
- });
- $(".overlay").removeClass("hidden");
- $(".popup--check-available").Popup("show").Popup("show");
- }
- });
- $("#btn-search-fl-1").click(function(e) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").removeClass("error");
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-1:last").find("ul:first").find("li:last").find("p.text-error").remove();
- $(".search-flight-2:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-2:last").find("ul:first").find("li:last").find("p.text-error").remove();
- if ($("#search-fl-city-3").val() && $("#search-fl-city-4").val() && ($("#search-fl-city-3").val().trim()) == ($("#search-fl-city-4").val().trim())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").addClass("error");
- $(".search-flight-2:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- $(".search-flight-1:last").find("li:first").addClass("error");
- $(".search-flight-1:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- }
- if (!($("#search-fl-city-3").val())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (!($("#search-fl-city-4").val())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-4 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-2 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (($("#search-fl-city-3").val()) && ($("#search-fl-city-4").val())) {
- if ((($("#rdo-search-fl-return-1").is(":checked"))) || (($("#rdo-search-fl-return-2").is(":checked")))) {
- $("#search-fl-city-2").removeAttr("name");
- $("#search-fl-city-4").removeAttr("name");
- }
- }
- if (($("#rdo-search-fl-return-1").is(":checked"))) {
- $("#select-date-3").removeAttr("name");
- }
- });
- $("#btn-search-fl-2").click(function(e) {
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").removeClass("error");
- $(".search-flight-1:last").find("li:first").removeClass("error");
- $(".search-flight-1:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-2:last").find("li:first").removeClass("error");
- $(".search-flight-2:last").find("li:first").find("p.text-error").remove();
- $(".search-flight-1:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-1:last").find("ul:first").find("li:last").find("p.text-error").remove();
- $(".search-flight-2:last").find("ul:first").find("li:last").removeClass("error");
- $(".search-flight-2:last").find("ul:first").find("li:last").find("p.text-error").remove();
- if ($("#search-fl-city-3").val() && $("#search-fl-city-4").val() && ($("#search-fl-city-3").val().trim()) == ($("#search-fl-city-4").val().trim())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").addClass("error");
- $(".search-flight-2:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- $(".search-flight-1:last").find("li:first").addClass("error");
- $(".search-flight-1:last").find("li:first").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first p.text-error").text(saar5.m.flightschedule.odsame);
- }
- if (!($("#search-fl-city-3").val())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-3").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-3 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-1").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-1 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (!($("#search-fl-city-4").val())) {
- e.preventDefault();
- SIA.preloader.hide();
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").addClass("error");
- $(".search-flight-2:last").find("li:first").find("li.search-fl-city-4").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-2:last li:first li.search-fl-city-4 p.text-error").text(saar5.m.flightschedule.cityselect);
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").addClass("error");
- $(".search-flight-1:last").find("li:first").find("li.search-fl-city-2").append('<p class="text-error"><span></span></p></div>');
- $(".search-flight-1:last li:first li.search-fl-city-2 p.text-error").text(saar5.m.flightschedule.cityselect);
- }
- if (($("#search-fl-city-3").val()) && ($("#search-fl-city-4").val())) {
- if ((($("#rdo-search-fl-return-1").is(":checked"))) || (($("#rdo-search-fl-return-2").is(":checked")))) {
- $("#search-fl-city-2").removeAttr("name");
- $("#search-fl-city-4").removeAttr("name");
- }
- }
- if (($("#rdo-search-fl-return-2").is(":checked"))) {
- $("#select-date-1").removeAttr("name");
- $("#select-date-2").removeAttr("name");
- }
- });
- $(".pax").change(function() {
- $(".grid_validate").removeClass("error");
- $(".grid_cabin").removeClass("error");
- $(".grid_cabin").find("p.text-error").remove();
- });
- if ($("#showDownTimeAlert").val()) {
- var popupOffline = $(".popup-showDownTimeAlert");
- var win = SIA.global.vars.win;
- var flyingFocus = $("#flying-focus");
- popupOffline.Popup({
- overlayBGTemplate: SIA.global.config.template.overlay,
- modalShowClass: "",
- afterShow: function() {
- flyingFocus = $("#flying-focus");
- if (flyingFocus.length) {
- flyingFocus.remove();
- }
- },
- afterHide: function() {
- win.trigger("resize.resetTabMenu");
- },
- triggerCloseModal: ".popup__close"
- });
- popupOffline.Popup("show");
- $("#removeFromSession").html($('<%request.getSession().removeAttribute("showAlert");%>'));
- }
- }(jQuery, window));
- $(window).bind("load", function() {
- var url = String(window.location);
- var popupPromo = $(".popup--promo");
- var url = String(window.location);
- if (url.indexOf("#promocode") != -1) {
- popupPromo.Popup("show");
- var a = url.split("#promocode=");
- $("#input-4").val(decodeURIComponent(a[1]));
- }
- });
- var clock;
- var sia = sia || {};
- (function(sessionTimer, $) {
- var timer, count = 0,
- counterLogic, secondsToCount, renewMethod, userRenew, autoRenew, pageData, timerShouldStart, confirmResponse, expiredResponse, renewAction, autorenewCount = 0,
- userrenewCount = 0,
- reqAjaxData = {},
- JSONURL = "/extendERetailSession.form",
- OPTION = "extendSession",
- ONPAGEDATASTOREID = "#sessionTimerSeconds",
- EXPIREDSTRING_HOME = saar5.l.sessionexpiry.expiredstring;
- CONFIRMSTRING = saar5.l.sessionexpiry.confirmstring, EXTENDSTRING = saar5.l.sessionexpiry.extendstring;
- var renewHome, redirectHome, deaultTimeout = 1020000,
- hrClock, JSONWEBURL = "extendHome.form";
- var CONFIRMMSG = saar5.l.sessionexpiry.confirmmsg,
- EXIPRYMSG = saar5.l.sessionexpiry.extendstring;
- var pageInterval = 0;
- try {
- pageInterval = (parseInt(maxInactive) - parseInt(alertInterval)) * 1000;
- } catch (err) {
- pageInterval = deaultTimeout;
- }
- sessionTimer.init = function() {
- if (timerShouldStart()) {
- if (pageData()) {
- if (reqAjaxData.isLastRenewal !== "true") {
- clock = setInterval(counterLogic, 1000);
- } else {}
- }
- }
- try {
- if (isHandleSession != undefined && isHandleSession) {
- if (pageInterval != undefined && pageInterval != 0) {
- hrClock = setInterval(renewHome, pageInterval);
- }
- }
- } catch (err) {}
- };
- renewHome = function() {
- var startTime = new Date().getTime();
- clearInterval(hrClock);
- alert(CONFIRMMSG);
- var endTime = new Date().getTime();
- if ((endTime - startTime) < 180000) {
- $.ajax({
- url: JSONWEBURL,
- dataType: "text",
- success: function(data) {
- hrClock = setInterval(renewHome, pageInterval);
- },
- error: function(error) {
- redirectHome();
- }
- });
- } else {
- redirectHome();
- }
- };
- function redirectHome() {
- dataLayer.push({
- "timeOutURL": formattedPageName,
- "event": "timeout"
- });
- alert(EXIPRYMSG);
- document.location.href = "/";
- }
- function timerShouldStart() {
- if ($(ONPAGEDATASTOREID).length > 0) {
- return true;
- }
- }
- pageData = function() {
- var pageValueArray = $(ONPAGEDATASTOREID).attr("value").split("|");
- if (pageValueArray.length > 1) {
- secondsToCount = parseInt(pageValueArray[0], 10);
- renewMethod = $(ONPAGEDATASTOREID).attr("class");
- reqAjaxData = {
- "option": OPTION,
- "pageType": pageValueArray[1],
- "counterIndex": parseInt(pageValueArray[2], 10),
- "isLastRenewal": pageValueArray[3]
- };
- return true;
- } else {
- return false;
- }
- };
- counterLogic = function() {
- count += 1;
- if ((count === secondsToCount) && (renewMethod === "autoRenew")) {
- if (autorenewCount === 0) {
- autorenewCount = 1;
- autoRenew();
- } else {
- if (userrenewCount < 3) {
- userrenewCount = userrenewCount + 1;
- userRenew();
- } else {
- expiredResponse = confirm(EXPIREDSTRING_HOME);
- if (expiredResponse === true) {
- document.location.href = "/";
- } else {
- document.location.href = "/";
- }
- }
- }
- } else {
- if ((count === secondsToCount) && (renewMethod === "userRenew")) {
- userRenew();
- }
- }
- };
- function autoRenew() {
- $.ajax({
- url: JSONURL,
- dataType: "json",
- data: reqAjaxData,
- success: function(data) {
- renewAction(data);
- },
- error: function(error) {}
- });
- }
- function userRenew() {
- var actualDate = new Date();
- var expireTime = new Date(actualDate.getTime() + 60000);
- confirmResponse = confirm(CONFIRMSTRING + " " + expireTime.toLocaleTimeString() + "." + "\n" + EXTENDSTRING);
- if (confirmResponse === true) {
- autoRenew();
- } else {
- if (confirmResponse === false) {
- clearInterval(clock);
- if (corpLogin != undefined && corpLogin === true) {
- document.location.href = "/corporateBooking-flow.form";
- }
- }
- }
- }
- function renewAction(data) {
- if (data.isLastRenewal === "true") {
- clearInterval(clock);
- } else {
- if (data.isRedirect === "true") {
- clearInterval(clock);
- dataLayer.push({
- "timeOutURL": formattedPageName,
- "event": "timeout"
- });
- expiredResponse = confirm(EXPIREDSTRING_HOME);
- if (expiredResponse === true) {
- document.location.href = "/";
- } else {
- document.location.href = "/";
- }
- } else {
- count = 0;
- if (reqAjaxData.pageType === "postPnr") {
- reqAjaxData.counterIndex = reqAjaxData.counterIndex + 1;
- }
- secondsToCount = data.sessionSecondsRenew;
- clearInterval(clock);
- clock = setInterval(counterLogic, 1000);
- }
- }
- }
- }(sia.sessionTimer, jQuery));
- $(function() {
- sia.sessionTimer.init();
- });
Add Comment
Please, Sign In to add comment