{"version":3,"file":"megaheader.87180f8a.js","mappings":"mhCACIA,OAAOC,YAAcD,OAAOC,aAAe,CAAC,EAC5CD,OAAOC,YAAYC,WAAaF,OAAOC,YAAYC,YAAc,CAAC,EAClEF,OAAOC,YAAYC,WAAWC,KAAO,WAsGjC,SAASC,EAAaC,GAClB,IAGIC,EAHAC,EAAWC,EAAEH,GAAGI,QAAQ,iCACxBC,EAAeH,EAASI,KAAK,yBAW7BC,GALAN,EADAC,EAASM,SAAS,oDACAN,EAASI,KAAK,iDAEdJ,EAASE,QAAQ,kDAGEK,IAAI,GACzCC,EAAmBT,EAAgBK,KAAK,QAG5C,SAASK,IAEL,IAIIC,EAJgBF,EAAiBG,OAAO,cAAcC,OAAS,EAInBT,EAAaC,KAAK,MAAMQ,OAAS,EAS7EC,EAA+C,GAJpBL,EAAiBI,OAIQ,GACpDE,EAAiD,GAA5BJ,EAAiC,GAKtDK,EAAcC,KAAKC,IAAIJ,EAAmBC,GAG1CC,EAtCQ,MAuCRA,EAvCQ,KA0CZV,EAAmBa,MAAMC,OAASJ,EAAc,IAEpD,CAGA,IAAIK,EAAW,IAAIC,kBAAiB,SAACC,GAAkB,IACjBC,EADiBC,EAAAC,EAC9BH,GAAa,IAAlC,IAAAE,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAoC,KAA3BC,EAAQN,EAAAO,MACb,GACsB,eAAlBD,EAASE,MACkB,UAA3BF,EAASG,eACT/B,EAAE4B,EAASI,QAAQ3B,SAAS,aAC9B,CACEG,IACA,KACJ,CACJ,CAAC,OAAAyB,GAAAV,EAAAW,EAAAD,EAAA,SAAAV,EAAAY,GAAA,CACL,IAGA5B,EAAiB6B,MAAK,WAClBjB,EAASkB,QAAQC,KAAM,CAAEC,YAAY,GACzC,IAEA/B,GACJ,CAiCA,IAwIQgC,EAwBAC,EA/BAC,EACAC,EAOAC,EACAC,EACAC,EAEAC,EAkBAC,EA2BAC,EAnYRC,SAASC,iBAAiB,0BAA0BC,SAAQ,SAACC,GACzCA,EAAGF,iBAAiB,+BAE5BC,SAAQ,SAACE,GACbA,EAAGC,iBAAiB,aAAa,WAC7B,IAAMC,EAAkBF,EAAGG,uBAE3B,GAAID,EAAiB,CACjB,IAAME,EAAsBF,EAAgBG,cAAc,KACtDD,GACAA,EAAoBE,UAAUC,IAAI,eAE1C,CACJ,IAEAP,EAAGC,iBAAiB,YAAY,WAC5B,IAAMC,EAAkBF,EAAGG,uBAE3B,GAAID,EAAiB,CACjB,IAAME,EAAsBF,EAAgBG,cAAc,KACtDD,GACAA,EAAoBE,UAAUE,OAAO,eAE7C,CACJ,GACJ,GACJ,IA+KoB9D,EAAE,sCACRoC,MAAK,WACfpC,EAAEsC,MAAMyB,GAAG,SAAS,SAAUC,GAC1B,IAAIC,EAAOjE,EAAEsC,MACTvC,EAAWkE,EAAKhE,QAAQ,MACxBiE,EAAcnE,EAASI,KAAK,MAAMQ,OAAS,EAC3CwD,EAAyF,IAA1DpE,EAASqE,KAAK,iCAAiCzD,OAClFqD,EAAMK,iBA5Kd,SAAwBxE,GACpB,IAAIE,EAAWC,EAAEH,GAAGI,QAAQ,iCACxBC,EAAeH,EAASI,KAAK,yBAC7BL,EAAkBC,EAASE,QAAQ,6BACnCG,EAAqBN,EAAgBQ,IAAI,GACzCC,EAAmBT,EAAgBK,KAAK,QAyBxCgB,EAAW,IAAIC,kBAAiB,SAACC,GAAkB,IACjBiD,EADiBC,EAAA/C,EAC9BH,GAAa,IAAlC,IAAAkD,EAAA9C,MAAA6C,EAAAC,EAAA7C,KAAAC,MAAoC,KAA3BC,EAAQ0C,EAAAzC,MAEb,GACsB,eAAlBD,EAASE,MACkB,UAA3BF,EAASG,cACX,CAEMxB,EAAiBG,OAAO,cAAcC,OAAS,EA7BnCT,EAAaC,KAAK,MAEpBQ,QAAU,GAC5BP,EAAmBa,MAAMuD,SAAW,QACpCtE,EAAauE,SAAS,cACtBvE,EAAawE,YAAY,iBAEzBtE,EAAmBa,MAAMuD,SAAW,QACpCtE,EAAauE,SAAS,eACtBvE,EAAawE,YAAY,gBAM7BtE,EAAmBa,MAAMuD,SAAW,QACpCtE,EAAawE,YAAY,gBAkBjB,KACJ,CACJ,CAAC,OAAAzC,GAAAsC,EAAArC,EAAAD,EAAA,SAAAsC,EAAApC,GAAA,CACL,IAGA5B,EAAiB6B,MAAK,WAClBjB,EAASkB,QAAQC,KAAM,CAAEC,YAAY,GACzC,GACJ,CAyHQoC,CAAerC,MACf1C,EAAa0C,MAETvC,EAAS6E,IAAIX,GAAMtD,SAEduD,GAAgBC,IACjB3E,OAAOqF,SAAWZ,EAAKa,KAAK,SAGxC,IAEA9E,EAAEsC,MAAMrC,QAAQ,MAAM8D,GAAG,SAAS,SAAUC,GACxC,IAAIC,EAAOjE,EAAEsC,MAAMnC,KAAK,KACNH,EAAEsC,MAAMnC,KAAK,MAAMQ,OAAS,IAG1CnB,OAAOqF,SAAWZ,EAAKa,KAAK,QAEpC,GACJ,IAEoB9E,EAAE,wGACRoC,MAAK,WACfpC,EAAEsC,MAAMyB,GAAG,SAAS,SAAUC,GA7DlC,IAEQe,EACAC,EACAC,EA0DAjB,EAAMK,iBA3DNW,GADAD,EADW/E,EA8DGsC,MA9DErC,QAAQ,iCACFE,KAAK,8BACLA,KAAK,yDAC3B8E,GAAmB,EAEvBD,EAAS5C,MAAK,WACVpC,EAAEsC,MAAMyB,GAAG,SAAS,SAAUC,GAC1BA,EAAMK,iBACN,IAAIa,EAAalF,EAAEsC,MAAMhC,IAAI,GAGzB4E,GACelF,EAAEkF,GACJ7E,SAAS,wBAClB4E,GAAmB,EAG/B,GACJ,IAEKA,IACmBF,EAAWzE,IAAI,GACrBW,MAAMuD,SAAW,SAyC/B5E,EAAa0C,KACjB,GACJ,IAG0BtC,EAAE,qCACRoC,MAAK,WACrBpC,EAAEsC,MAAMyB,GAAG,SAAS,SAAUC,GAC1BxE,OAAOqF,SAAW7E,EAAEsC,MAAMwC,KAAK,OACnC,GACJ,IAGA9E,EAAE,sCAAsCoC,MAAK,WACzCpC,EAAEsC,MAAMyB,GAAG,SAAS,SAAUC,GAC1B,IAAIC,EAAOjE,EAAEsC,MAAMnC,KAAK,KACpB8D,EAAKtD,OAAS,IACdnB,OAAOqF,SAAWZ,EAAKa,KAAK,QAEpC,GACJ,IAEA5B,SAASK,iBAAiB,oBAAoB,SAAUS,GACpDxE,OAAOC,YAAYC,WAAWyF,WAAajC,SAASkC,eAAe,cAC/D5F,OAAOC,YAAYC,WAAWyF,aAC9B3F,OAAOC,YAAYC,WAAW2F,YAAcC,MAAMC,KAAKC,IAAIrC,iBAAiB,+CAC5E3D,OAAOC,YAAYC,WAAW2F,YAAYjC,SAAQ,SAAUqC,GACxDjG,OAAOC,YAAYC,WAAWgG,UAAYJ,MAAMC,KAAKE,EAAYE,uBAAuB,YACpFnG,OAAOC,YAAYC,WAAWgG,UAAU/E,OAAS,EACjD8E,EAAY7B,UAAUC,IAAI,oBAE1B4B,EAAY7B,UAAUC,IAAI,gBAElC,IAER,IAEArE,OAAOC,YAAYC,WAAWkG,MAAQ1C,SAASkC,eAAe,yBA0DtD1C,EAAMQ,SAAS2C,gBACflD,EAAInD,OAOJoD,EAAaD,EAAEmD,SAAWpD,EAAIqD,UAC9BlD,EAAe,EACfC,EAAgB,EAEhBC,EAAQ,EAkBRC,EAASE,SAASkC,eAAe,cA2BjCnC,EAAe,WAef,OAdAR,GAAU,EACW,IAAjBI,GAAuBL,EAAYO,EA3BvB,KA4BZA,EAAQP,EACRQ,EAAOY,UAAUC,IAAI,QA3EzBrE,OAAOwG,YAAc,KAErBhG,EAAE,iBAAiBiG,OACnBzG,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUE,OAAO,eAIrD9D,EAAE,oBAAoBiG,OACtBzG,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUE,OAAO,eAsE3B,IAAjBjB,GAAuBE,EAAQP,EA/B1B,KAgCVO,EAAQP,EACRQ,EAAOY,UAAUE,OAAO,QAjH5BtE,OAAOwG,YAAc,IAGFhG,EAAE,4CACRoC,MAAK,SAAU8D,EAAKC,GAG7B,GAFsBnG,EAAEmG,GAEJ9F,SAAS,WAGzB,OAFAL,EAAE,iBAAiBoG,OACnB5G,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUC,IAAI,cAC3C,EAIP7D,EAAE,oBAAoB0E,YAAY,SAE1C,KAIA1E,EAAE,oBAAoBoG,OACEpG,EAAE,wCACRoC,MAAK,SAAU8D,EAAKG,GAElC,GAD2BrG,EAAEqG,GACJhG,SAAS,sBAE9B,OADAb,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUC,IAAI,cAC3C,CAEf,MAyFIpB,GAAU,EAEPA,CACX,EAEAjD,OAAO+D,iBAAiB,UAzCN,WACdf,EAAYG,EAAEmD,SAAWpD,EAAIqD,WAGzBlD,EAFAL,EAAYI,EAEG,EAIA,KAGEE,EACjBL,EAAUQ,IAEVF,EAAQP,EAGZI,EAAaJ,EACTC,IACAK,EAAgBD,EAExB,IAsBIG,GAAUA,EAAOY,UAAU0C,SAAS,aAChB,OApINpD,SAASkC,eAAe,QAC9BnE,MAAMsF,UAmIM,QAI5B,IAAIC,EAAYtD,SAASS,cAAc,kBACnC6C,GACAA,EAAUjD,iBAAiB,SAAS,WAChC/D,OAAOiH,YAAW,WAAcvD,SAASS,cAAc,0BAA0B+C,OAAQ,GAAG,EAChG,IAGJ1G,EAAER,QAAQuE,GAAG,8BAA8B,SAAUC,EAAO2C,EAASC,GAC5DD,IACDA,EAAUE,WAAWC,WAAWC,SAGpC/G,EAAEkD,UAAU8D,IAAI,gBAED,SAAXL,GAAiC,UAAXA,GAAkC,WAAXA,GAE7C3G,EAAE,kBAAkBoG,OACpBpG,EAAE,0BAA0BiG,OAE5BjG,EAAEkD,UAAUa,GAAG,gBAAgB,SAAUC,GAChChE,EAAEgE,EAAMhC,QAAQ/B,QAAQ,qBAAqBU,SAC9CX,EAAE,0BACGiG,OACAgB,IAAI,gBAAiB,QAC1BjH,EAAE,kBAAkBoG,OAE5B,IAEApG,EAAEkD,UAAUa,GAAG,eAAgB,kBAAkB,SAAUC,GACvDhE,EAAE,0BACGoG,OACAa,IAAI,gBAAiB,qBAC1BjH,EAAE,kBAAkBiG,MACxB,MAGAjG,EAAE,0BAA0BoG,OAC5BpG,EAAE,kBAAkBiG,OAGpBjG,EAAEkD,UAAU8D,IAAI,gBAExB,IAGAhH,EAAE,oBAAoB+D,GAAG,wBAAwB,WAC7CvE,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUC,IAAI,YACtD,IAGA7D,EAAE,qBAAqB+D,GAAG,SAAS,WAC/BvE,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUC,IAAI,YACtD,IAIA7D,EAAE,oBAAoB+D,GAAG,wBAAwB,WAC7C,IAAImD,EAASlH,EAAE,eAAeG,KAAK,0DAE9B+G,EAAO7G,SAAS,mBAEb6G,EAAO7G,SAAS,sBAChBb,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUC,IAAI,aAElDrE,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUE,OAAO,aAGjE,IAEA9D,EAAER,QAAQuE,GAAG,8BAA8B,SAAUC,EAAO2C,EAASC,GAC5DD,IACDA,EAAUE,WAAWC,WAAWC,SAGrB,UAAXJ,GAAkC,SAAXA,GACvB3G,EAAE,sBAAsBoC,MAAK,WACzB,IACI+E,EAAU,gBAEd,GAHwI,IAArHnH,EAAEsC,MAAM8E,SAASnH,QAAQ,gCAAgCmH,SAASnH,QAAQ,gCAAgCU,OAIzHwG,GAAW,+CACR,CACH,IAAIE,EAAsBrH,EAAEsC,MAAM8E,SAASnH,QAAQ,gCAAgCmH,SAASnH,QAAQ,gCAAgCE,KAAK,OACrIkH,EAAoB1G,OACpBwG,GAAW,2BAA6BE,EAAoBC,OAAS,UAErEH,EAAU,MAElB,CAEAnH,EAAEsC,MAAMnC,KAAK,KAAKoH,KAAKJ,EAC3B,GAGR,IAGAnH,EAAE,eAAe+D,GAAG,SAAS,WACzBvE,OAAOC,YAAYC,WAAWkG,MAAMhC,UAAUE,OAAO,YACzD,GACJ,EACAtE,OAAOC,YAAYC,WAAW8H,WAAY,C","sources":["webpack://advanced-web/./UI/js/core/modules/megaheader.js"],"sourcesContent":["(function () {\r\n window.oneadvanced = window.oneadvanced || {};\r\n window.oneadvanced.megaheader = window.oneadvanced.megaheader || {};\r\n window.oneadvanced.megaheader.init = function () {\r\n\r\n // When hovering on LI in the nav, remove the grey underline of the previous LI\r\n document.querySelectorAll('li.opens-right ul.menu').forEach((ul) => {\r\n const liItems = ul.querySelectorAll('li.is-dropdown-submenu-item');\r\n\r\n liItems.forEach((li) => {\r\n li.addEventListener('mouseover', () => {\r\n const previousSibling = li.previousElementSibling;\r\n\r\n if (previousSibling) {\r\n const previousSiblingLink = previousSibling.querySelector(\"a\");\r\n if (previousSiblingLink) {\r\n previousSiblingLink.classList.add('no-underline');\r\n }\r\n }\r\n });\r\n\r\n li.addEventListener('mouseout', () => {\r\n const previousSibling = li.previousElementSibling;\r\n\r\n if (previousSibling) {\r\n const previousSiblingLink = previousSibling.querySelector(\"a\");\r\n if (previousSiblingLink) {\r\n previousSiblingLink.classList.remove('no-underline');\r\n }\r\n }\r\n });\r\n });\r\n });\r\n\r\n /**\r\n * Adjusts the maximum width of the dropdown menu based on the number of items in the second column.\r\n * If there are 9 or fewer items, it sets the maximum width to 800px and displays them in one column.\r\n * If there are more than 9 items, it removes the max width restriction and displays them in two columns.\r\n * It only runs this logic if any item in the first column has the .is-active class.\r\n * \r\n * @param {HTMLElement} a - The element that triggered the width adjustment.\r\n */\r\n function adjustMaxWidth(a) {\r\n var parentLi = $(a).closest('li.is-dropdown-submenu-parent');\r\n var secondColumn = parentLi.find('ul.menu.second-column');\r\n var firstSubElement = parentLi.closest('ul.menu.submenu.first-sub');\r\n var firstSubElementDOM = firstSubElement.get(0);\r\n var firstColumnItems = firstSubElement.find('> li');\r\n\r\n // function to adjust the max width based on the number of items\r\n function adjustWidth() {\r\n var secondColumnItems = secondColumn.find('li');\r\n\r\n if (secondColumnItems.length <= 9) {\r\n firstSubElementDOM.style.maxWidth = '800px';\r\n secondColumn.addClass('one-column');\r\n secondColumn.removeClass('two-columns');\r\n } else {\r\n firstSubElementDOM.style.maxWidth = 'unset';\r\n secondColumn.addClass('two-columns');\r\n secondColumn.removeClass('one-column');\r\n }\r\n }\r\n\r\n // function to reset the width if no active items are found\r\n function resetWidth() {\r\n firstSubElementDOM.style.maxWidth = '800px';\r\n secondColumn.removeClass('two-columns'); // reset classes if needed\r\n //console.log(\"Width reset because no active items found.\");\r\n }\r\n\r\n // set up the observer to check for active items in the first column\r\n var observer = new MutationObserver((mutationsList) => {\r\n for (let mutation of mutationsList) {\r\n // check if the class attribute has changed and if .is-active was added\r\n if (\r\n mutation.type === 'attributes' &&\r\n mutation.attributeName === 'class'\r\n ) {\r\n // run adjustWidth only if there's an active item\r\n if (firstColumnItems.filter('.is-active').length > 0) {\r\n adjustWidth(); // adjust width if there's an active item\r\n } else {\r\n resetWidth(); // reset width if no active items are found\r\n }\r\n break; // only need to run once per mutation\r\n }\r\n }\r\n });\r\n\r\n // start observing each item in the first column for changes\r\n firstColumnItems.each(function () {\r\n observer.observe(this, { attributes: true });\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Adjusts the height of the dropdown navigation based on the items in the first and second columns.\r\n * The height is determined by the number of items in the first column that have the .is-active class.\r\n * If an item is active, it counts the items in the second column. otherwise, it sets that count to zero.\r\n * The maximum height is capped at 532 pixels to fit 10 first column items max.\r\n *\r\n * @param {HTMLElement} a - The element that triggered the height adjustment.\r\n */\r\n function adjustHeight(a) {\r\n var parentLi = $(a).closest('li.is-dropdown-submenu-parent');\r\n var secondColumn = parentLi.find('ul.menu.second-column');\r\n var maxHeight = 532;\r\n var firstSubElement;\r\n\r\n // check if the parent
  • has the specific classes\r\n if (parentLi.hasClass('menu-item is-dropdown-submenu-parent opens-right')) {\r\n firstSubElement = parentLi.find('ul.menu.submenu.first-sub.is-dropdown-submenu');\r\n } else {\r\n firstSubElement = parentLi.closest('ul.menu.submenu.first-sub.is-dropdown-submenu');\r\n }\r\n\r\n var firstSubElementDOM = firstSubElement.get(0);\r\n var firstColumnItems = firstSubElement.find('> li');\r\n\r\n // update the height if any item in the first column is active\r\n function updateHeight() {\r\n // check if any item in the first column has the .is-active class\r\n var hasActiveItem = firstColumnItems.filter('.is-active').length > 0;\r\n //console.log(\"hasActiveItem is - \", hasActiveItem);\r\n\r\n // only count the items in the second column if there’s an active item\r\n var numberOfSecondColumnItems = hasActiveItem ? secondColumn.find('li').length : 0;\r\n //console.log(\"firstColumnItems is - \", firstColumnItems);\r\n //console.log(\"numberOfSecondColumnItems is - \", numberOfSecondColumnItems);\r\n\r\n // count how many items are in the first column\r\n var numberOfFirstColumnItems = firstColumnItems.length;\r\n //console.log(\"numberOfFirstColumnItems is - \", numberOfFirstColumnItems);\r\n\r\n // calculate the height based on item count, each item is 50px high plus some padding\r\n var firstColumnHeight = numberOfFirstColumnItems * 50 + 32;\r\n var secondColumnHeight = numberOfSecondColumnItems * 52 + 32;\r\n //console.log(\"firstColumnHeight is - \", firstColumnHeight);\r\n //console.log(\"secondColumnHeight is - \", secondColumnHeight);\r\n\r\n // get the height based on which column has more items\r\n var totalHeight = Math.max(firstColumnHeight, secondColumnHeight);\r\n\r\n // don’t let the height exceed the max limit\r\n if (totalHeight > maxHeight) {\r\n totalHeight = maxHeight;\r\n }\r\n\r\n firstSubElementDOM.style.height = totalHeight + 'px';\r\n //console.log(\"Height adjusted to:\", totalHeight);\r\n }\r\n\r\n // set up the observer to watch for when the .is-active class is added\r\n var observer = new MutationObserver((mutationsList) => {\r\n for (let mutation of mutationsList) {\r\n if (\r\n mutation.type === 'attributes' &&\r\n mutation.attributeName === 'class' &&\r\n $(mutation.target).hasClass('is-active')\r\n ) {\r\n updateHeight();\r\n break;\r\n }\r\n }\r\n });\r\n\r\n // observing each item in the first column\r\n firstColumnItems.each(function () {\r\n observer.observe(this, { attributes: true });\r\n });\r\n\r\n updateHeight();\r\n }\r\n\r\n // reset nav dropdown width when nothing is opened to prevent kept state with wide width from before\r\n function resetMaxWidth(a) {\r\n var parentLi = $(a).closest('li.is-dropdown-submenu-parent');\r\n var firstSubUL = parentLi.find('ul.menu.submenu.first-sub');\r\n var childLIs = firstSubUL.find('li.menu-item.is-submenu-item.is-dropdown-submenu-item');\r\n var secondColumnOpen = false;\r\n\r\n childLIs.each(function () {\r\n $(this).on('click', function (event) {\r\n event.preventDefault();\r\n var childLiDOM = $(this).get(0);\r\n\r\n // Check if the first-sub menu is active\r\n if (childLiDOM) {\r\n var $childLi = $(childLiDOM);\r\n if ($childLi.hasClass('js-dropdown-active')) {\r\n secondColumnOpen = true;\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (!secondColumnOpen) {\r\n var firstSubULDOM = firstSubUL.get(0);\r\n firstSubULDOM.style.maxWidth = '800px';\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n // Add event listeners to the nav items to run the width adjustment\r\n var firstSubLinks = $('ul.menu.submenu.first-sub > li > a');\r\n firstSubLinks.each(function () {\r\n $(this).on('click', function (event) {\r\n var link = $(this);\r\n var parentLi = link.closest('li');\r\n var hasChildren = parentLi.find('ul').length > 0;\r\n var isFirstChildOfDropdownParent = parentLi.prev('li.is-dropdown-submenu-parent').length === 0;\r\n event.preventDefault();\r\n adjustMaxWidth(this);\r\n adjustHeight(this);\r\n\r\n if (parentLi.has(link).length) {\r\n // Redirect only if the link has no children, and is not the first child of a dropdown parent\r\n if (!hasChildren && !isFirstChildOfDropdownParent) {\r\n window.location = link.attr('href');\r\n }\r\n }\r\n });\r\n\r\n $(this).closest('li').on('click', function (event) {\r\n var link = $(this).find('a');\r\n var hasChildren = $(this).find('ul').length > 0; // Check if the list item has a submenu\r\n\r\n if (!hasChildren) {\r\n window.location = link.attr('href');\r\n }\r\n });\r\n });\r\n\r\n var topLevelLinks = $('ul.vertical.large-horizontal.menu.dropdown > li.menu-item.is-dropdown-submenu-parent.opens-right > a');\r\n topLevelLinks.each(function () {\r\n $(this).on('click', function (event) {\r\n event.preventDefault();\r\n resetMaxWidth(this);\r\n adjustHeight(this);\r\n });\r\n });\r\n\r\n // handle all anchor tags inside .second-column\r\n var secondColumnAnchors = $('.main-navigation .second-column a');\r\n secondColumnAnchors.each(function () {\r\n $(this).on('click', function (event) {\r\n window.location = $(this).attr('href');\r\n });\r\n });\r\n\r\n // handle clicks on the
  • elements inside .second-column to redirect to the child anchor link\r\n $('.main-navigation .second-column li').each(function () {\r\n $(this).on('click', function (event) {\r\n var link = $(this).find('a');\r\n if (link.length > 0) {\r\n window.location = link.attr('href');\r\n }\r\n });\r\n });\r\n\r\n document.addEventListener(\"DOMContentLoaded\", function (event) {\r\n window.oneadvanced.megaheader.navigation = document.getElementById(\"navigation\");\r\n if (window.oneadvanced.megaheader.navigation) {\r\n window.oneadvanced.megaheader.firstNested = Array.from(nav.querySelectorAll('.first-sub > li.is-dropdown-submenu-parent'));\r\n window.oneadvanced.megaheader.firstNested.forEach(function (htmlElement) {\r\n window.oneadvanced.megaheader.navLevels = Array.from(htmlElement.getElementsByClassName(\"submenu\"));\r\n if (window.oneadvanced.megaheader.navLevels.length > 1) {\r\n htmlElement.classList.add('multi-level-menu');\r\n } else {\r\n htmlElement.classList.add('singular-menu');\r\n }\r\n })\r\n }\r\n });\r\n\r\n window.oneadvanced.megaheader.modal = document.getElementById('meganavigation__modal');\r\n\r\n //function to adjust margin-top value on main when minimal nav option is selected\r\n function adjustMainMarginTop(value) {\r\n var mainElement = document.getElementById('main');\r\n mainElement.style.marginTop = value;\r\n }\r\n\r\n //var isSafari = !!navigator.userAgent.match(/Version\\/[\\d\\.]+.*Safari/);\r\n //var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\r\n function handleBlurScrollDown() {\r\n if (window.innerWidth <= 991) {\r\n // load mobile script\r\n\r\n var subMenuItems = $(\"#navigation > div > ul > li > ul.submenu\");\r\n subMenuItems.each(function (idx, subMenu) {\r\n var selectedSubMenu = $(subMenu);\r\n //If any one of submenu is open show the header navbar\r\n if (selectedSubMenu.hasClass(\"visible\")) {\r\n $('#headerNavbar').show();\r\n window.oneadvanced.megaheader.modal.classList.add('is-active');\r\n return false;\r\n }\r\n //If none of submenu is open show the header navbar\r\n else {\r\n $('#preHeaderNavbar').removeClass('hidden');\r\n }\r\n });\r\n }\r\n else {\r\n // load desktop script\r\n $('#navigation > ul').show();\r\n var firstSubMenuItems = $(\"#navigation > ul > li > ul.first-sub\");\r\n firstSubMenuItems.each(function (idx, firstSubMenu) {\r\n var selectedfirstSubMenu = $(firstSubMenu);\r\n if (selectedfirstSubMenu.hasClass(\"js-dropdown-active\")) {\r\n window.oneadvanced.megaheader.modal.classList.add('is-active');\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n function handleBlurScrollUp() {\r\n if (window.innerWidth <= 991) {\r\n // load mobile script\r\n $('#headerNavbar').hide();\r\n window.oneadvanced.megaheader.modal.classList.remove('is-active');\r\n }\r\n else {\r\n // load desktop script\r\n $('#navigation > ul').hide();\r\n window.oneadvanced.megaheader.modal.classList.remove('is-active');\r\n }\r\n }\r\n\r\n (function () {\r\n\r\n var doc = document.documentElement;\r\n var w = window;\r\n\r\n /*\r\n define four variables: curScroll, prevScroll, curDirection, prevDirection\r\n */\r\n\r\n var curScroll;\r\n var prevScroll = w.scrollY || doc.scrollTop;\r\n var curDirection = 0;\r\n var prevDirection = 0;\r\n\r\n var lastY = 0;\r\n\r\n /*\r\n how it works:\r\n -------------\r\n create a scroll event listener\r\n create function to check scroll position on each scroll event,\r\n compare curScroll and prevScroll values to find the scroll direction\r\n scroll up - 1, scroll down - 2, initial - 0\r\n then set the direction value to curDirection\r\n compare curDirection and prevDirection\r\n if it is different, call a function to show or hide the header\r\n example:\r\n step 1: user scrolls down: curDirection 2, prevDirection 0 > hide header\r\n step 2: user scrolls down again: curDirection 2, prevDirection 2 > already hidden, do nothing\r\n step 3: user scrolls up: curDirection 1, prevDirection 2 > show header\r\n */\r\n\r\n var header = document.getElementById('megaheader');\r\n var toggled;\r\n var downThreshold = 800;\r\n var upThreshold = 400;\r\n var checkScroll = function () {\r\n curScroll = w.scrollY || doc.scrollTop;\r\n if (curScroll > prevScroll) {\r\n // scrolled down\r\n curDirection = 2;\r\n }\r\n else {\r\n //scrolled up\r\n curDirection = 1;\r\n }\r\n\r\n if (curDirection !== prevDirection) {\r\n toggled = toggleHeader();\r\n } else {\r\n lastY = curScroll\r\n }\r\n\r\n prevScroll = curScroll;\r\n if (toggled) {\r\n prevDirection = curDirection;\r\n }\r\n };\r\n\r\n var toggleHeader = function () {\r\n toggled = true;\r\n if (curDirection === 2 && (curScroll - lastY) > downThreshold) {\r\n lastY = curScroll\r\n header.classList.add('hide');\r\n handleBlurScrollUp();\r\n }\r\n else if (curDirection === 1 && (lastY - curScroll) > upThreshold) {\r\n lastY = curScroll\r\n header.classList.remove('hide');\r\n handleBlurScrollDown();\r\n }\r\n else {\r\n toggled = false;\r\n }\r\n return toggled;\r\n };\r\n\r\n window.addEventListener('scroll', checkScroll);\r\n\r\n if (header && header.classList.contains('mininav')) {\r\n adjustMainMarginTop('80px');\r\n }\r\n })();\r\n\r\n var searchBtn = document.querySelector('#search-button');\r\n if (searchBtn) {\r\n searchBtn.addEventListener('click', function () {\r\n window.setTimeout(function () { document.querySelector('#SearchKeywordsDesktop').focus() }, 0);\r\n });\r\n }\r\n\r\n $(window).on('changed.zf.mediaquery load', function (event, newSize, oldSize) {\r\n if (!newSize) {\r\n newSize = Foundation.MediaQuery.current;\r\n }\r\n\r\n $(document).off('click.search');\r\n\r\n if (newSize == \"large\" || newSize == \"xlarge\" || newSize == \"xxlarge\") {\r\n // Large and above screen sizes\r\n $('#search-button').show();\r\n $('.search-container form').hide();\r\n\r\n $(document).on('click.search', function (event) {\r\n if (!$(event.target).closest('.search-container').length) {\r\n $('.search-container form')\r\n .hide()\r\n .css('border-bottom', 'none');\r\n $('#search-button').show();\r\n }\r\n });\r\n\r\n $(document).on('click.search', '#search-button', function (event) {\r\n $('.search-container form')\r\n .show()\r\n .css('border-bottom', '2px solid #25252c');\r\n $('#search-button').hide();\r\n });\r\n } else {\r\n // Medium and small screen sizes\r\n $('.search-container form').show();\r\n $('#search-button').hide();\r\n\r\n // Clean up only the events specific to the search functionality\r\n $(document).off('click.search');\r\n }\r\n });\r\n\r\n //Background blur for desktop menu\r\n $('#navigation > ul').on('show.zf.dropdownMenu', function () {\r\n window.oneadvanced.megaheader.modal.classList.add('is-active');\r\n });\r\n\r\n //Background blur for mobile menu\r\n $('.menu-custom-icon').on('click', function () {\r\n window.oneadvanced.megaheader.modal.classList.add('is-active');\r\n });\r\n\r\n //Background blur removal for desktop menu\r\n //the hide.zf.dropdownMenu event fires on any UL regardless of the $targeting below so add extra checks for which UL is closed\r\n $('#navigation > ul').on('hide.zf.dropdownMenu', function () {\r\n var $navul = $('#navigation').find('ul.menu.submenu.is-dropdown-submenu.first-sub.vertical');\r\n // make sure it's not the inner UL inside the nav being closed (what the problem was flagged for)\r\n if (!$navul.hasClass('second-column')) {\r\n // if it is in fact the outer largest nav UL, then check if it has lost its -active class or not\r\n if ($navul.hasClass('js-dropdown-active')) {\r\n window.oneadvanced.megaheader.modal.classList.add('is-active');\r\n } else {\r\n window.oneadvanced.megaheader.modal.classList.remove('is-active');\r\n }\r\n }\r\n });\r\n\r\n $(window).on('changed.zf.mediaquery load', function (event, newSize, oldSize) {\r\n if (!newSize) {\r\n newSize = Foundation.MediaQuery.current;\r\n }\r\n\r\n if (newSize == \"medium\" || newSize == \"small\") {\r\n $('.js-drilldown-back').each(function () {\r\n var isFirstChild = $(this).parent().closest('.is-drilldown-submenu-parent').parent().closest('.is-drilldown-submenu-parent').length === 0;\r\n var backTxt = 'Back to ';\r\n\r\n if (isFirstChild) {\r\n backTxt += 'Main Menu';\r\n } else {\r\n var grandparentMenuItem = $(this).parent().closest('.is-drilldown-submenu-parent').parent().closest('.is-drilldown-submenu-parent').find('> a');\r\n if (grandparentMenuItem.length) {\r\n backTxt += '' + grandparentMenuItem.text() + '';\r\n } else {\r\n backTxt = 'Back';\r\n }\r\n }\r\n\r\n $(this).find('a').html(backTxt);\r\n });\r\n }\r\n\r\n })\r\n\r\n //Background blur removal for mobile menu\r\n $('.close-icon').on('click', function () {\r\n window.oneadvanced.megaheader.modal.classList.remove('is-active');\r\n });\r\n }\r\n window.oneadvanced.megaheader.hasLoaded = true;\r\n})();"],"names":["window","oneadvanced","megaheader","init","adjustHeight","a","firstSubElement","parentLi","$","closest","secondColumn","find","firstSubElementDOM","hasClass","get","firstColumnItems","updateHeight","numberOfSecondColumnItems","filter","length","firstColumnHeight","secondColumnHeight","totalHeight","Math","max","style","height","observer","MutationObserver","mutationsList","_step2","_iterator2","_createForOfIteratorHelper","s","n","done","mutation","value","type","attributeName","target","err","e","f","each","observe","this","attributes","curScroll","toggled","doc","w","prevScroll","curDirection","prevDirection","lastY","header","toggleHeader","document","querySelectorAll","forEach","ul","li","addEventListener","previousSibling","previousElementSibling","previousSiblingLink","querySelector","classList","add","remove","on","event","link","hasChildren","isFirstChildOfDropdownParent","prev","preventDefault","_step","_iterator","maxWidth","addClass","removeClass","adjustMaxWidth","has","location","attr","firstSubUL","childLIs","secondColumnOpen","childLiDOM","navigation","getElementById","firstNested","Array","from","nav","htmlElement","navLevels","getElementsByClassName","modal","documentElement","scrollY","scrollTop","innerWidth","hide","idx","subMenu","show","firstSubMenu","contains","marginTop","searchBtn","setTimeout","focus","newSize","oldSize","Foundation","MediaQuery","current","off","css","$navul","backTxt","parent","grandparentMenuItem","text","html","hasLoaded"],"sourceRoot":""}