//MegaMenu style if (!Element.prototype.matches) Element.prototype.matches = Element.prototype.msMatchesSelector; if (!Element.prototype.closest) Element.prototype.closest = function (selector) { var el = this; while (el) { if (el.matches(selector)) { return el; } el = el.parentElement; } } var div = document.createElement("div"); document.body.appendChild(div); div.classList.add("overlaymenu"); var errorPage = document.querySelector("body.soap-login-page"); if (!errorPage) { addEventListener("load", function () { if (document.querySelector("#main-menu.desktop ul > li:first-child ") && document.querySelector(".tu-mega-menu-container[data-menuid='flightMenu']")) { var widthHome = document.querySelector("#main-menu.desktop ul > li:first-child ").getBoundingClientRect().width document.querySelector(".tu-mega-menu-container[data-menuid='flightMenu']").style.marginLeft = widthHome + 'px';; document.querySelector(".tu-mega-menu-container[data-menuid='flightMenu']").style.width = "calc(100% - " + widthHome * 2 + 'px'; + ")"; } }); var isTouchCapable = 'ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0; function topMenuHoverFn(e) { if (!isTouchCapable || e.type === "mouseover") { topMenuFn(e) } } function topMenuFn(e) { var headerSize = document.getElementById('header').getBoundingClientRect(); document.getElementsByClassName("overlaymenu")[0].style.opacity = "0.52"; document.getElementsByClassName("overlaymenu")[0].style.visibility = "visible"; document.getElementsByClassName("overlaymenu")[0].style.top = headerSize.bottom + 'px'; var targetId = e.target.id; var listItem = e.target; document.querySelector("html").classList.add("menu-init"); listItem.classList.add("activelist"); e.target.nextElementSibling.classList.add("activemenu"); } function menuFn(e) { e.preventDefault(); var targetId = e.target.id; var currentItem = e.target.classList; var targetParent = e.target.offsetParent; var menuItems = targetParent.querySelectorAll(".mega-destinationbar"); var activeItem = targetParent.querySelector(".tu-mega-menu .mega-mainbar .activeitem"); var itemDestination = targetParent.querySelector(".mega-destinationbar.destinationsection"); if ((currentItem.contains("activeitem"))) { return true; } //if (activeItem == null) { // return false; //} activeItem.classList.remove("activeitem"); if (itemDestination !== null && itemDestination.classList.contains("destinationsection")) { itemDestination.classList.remove("destinationsection"); itemDestination.classList.remove("fadein"); } for (var i = 0; i < menuItems.length; i++) { dataValue = menuItems[i].dataset.menuid; if (targetId === dataValue && !menuItems[i].classList.contains("destinationsection")) { menuItems[i].classList.add("destinationsection"); setTimeout(function () { menuItems[i].classList.add("fadein"); }, 50); break; } } e.target.classList.add("activeitem"); } var megaContainer = document.querySelectorAll(".tu-mega-menu-container"); for (var i = 0; i < megaContainer.length; i++) { megaContainer[i].addEventListener('mouseleave', function (event) { event.preventDefault(); topMenuLeave(event); }); } function topMenuLeave(e) { if (!isTouchCapable || e.type === "mouseleave") { var targetLi = e.target.parentNode; if ((!e.relatedTarget && !e.toElement) || (e.relatedTarget.className !== "tu-mega-menu-container activemenu") && !e.relatedTarget.closest(".tu-mega-menu-container.activemenu")) { removeMenuClasses() } } } document.addEventListener("touchend", function (e) { var targetId = e.target; var activeMenu = document.querySelector(".tu-mega-menu-container.activemenu"); if (e.target.closest("#main-menu") && !e.target.closest(".tu-mega-menu-container.activemenu") && targetId.nextElementSibling.classList.contains("tu-mega-menu-container")) { if (activeMenu) { removeMenuClasses(); } return topMenuFn(e); } if (activeMenu !== null && !e.target.closest(".tu-mega-menu-container.activemenu") && !e.target.closest("#main-menu")) { removeMenuClasses(); } }); window.addEventListener("orientationchange", function (e) { if (document.querySelector(".tu-mega-menu-container.activemenu")) { removeMenuClasses(); } }); function removeMenuClasses() { document.getElementsByClassName("overlaymenu")[0].style.opacity = "0"; document.getElementsByClassName("overlaymenu")[0].style.visibility = "hidden"; document.querySelectorAll(".activelist").forEach(el => el.classList.remove("activelist")); //document.querySelector("#main-menu, .activelist").classList.remove("activelist"); document.querySelector(".tu-mega-menu-container.activemenu").classList.remove("activemenu"); document.querySelector("html").classList.remove("menu-init"); /** can be otherwise optimized to below code - commented*/ /** const overlayMenu = document.querySelector(".overlaymenu"); if (overlayMenu) { overlayMenu.style.opacity = "0"; overlayMenu.style.visibility = "hidden"; } document.querySelectorAll(".activelist").forEach(el => el.classList.remove("activelist")); document.querySelectorAll(".tu-mega-menu-container.activemenu").forEach(el => el.classList.remove("activemenu")); document.documentElement.classList.remove("menu-init"); */ } $('.accordion-container').on('show.bs.collapse', function (e) { var idValue = '#' + e.currentTarget.id; $(idValue + ' .in').collapse('hide'); }); } addEventListener('DOMContentLoaded', function () { countryOrigin(); homepageMain(); });