{"version":3,"sources":["navigation.js","navigation-mobile.js"],"names":["window","_navDesktopV2","mainNavEl","document","querySelector","navDesktop_isMobile","matchMedia","matches","mainNavBtns","querySelectorAll","mainNavCloseBtns","allButtons","currentMainHoveredBtn","timer","insuranceTabHovered","navOpen","addEventListener","dimmerElement","createElement","setAttribute","body","appendChild","createDimmer","setTimeout","closeNav","event","code","shiftKey","activeElement","closest","classList","contains","id","getElementById","i","length","onEnterPress","onMainNavHover","target","clearTimeout","removeOrAddClass","element","className","add","forEach","el","remove","parentElement","dataset","product","productClassMap","insurance","utilities","energy","finance","subProductClassMap","home","life","travel","pet","insuranceClassName","subProduct","navClassName","addNavClasses","handleButtonActiveStates","isMainInsuranceBtn","insuranceMidLevelMenu","isOpenMenus","menuToClose","menuToOpen","nextElementSibling","handleInsuranceTabHovered","secondaryMenuToOpen","alreadyOpenSecondaryMenu","toggleSecondaryMenu","button","key","navMobileV2","navMobile_mainNav","htmlEl","documentElement","navMobile_navIsOpen","navMobile_isMobile","navMobile_mainNavBtns","navMobile_currentMainClickedBtn","navMobile_secondLevelBtns","navMobile_backBtns","navMobile_closeBtns","navMobile_mainNavClassName","navMobile_subClassName","navMobile_backToTopLevelBtns","navMobile_insuranceMenu","navMobile_insuranceSecondMenu","navMobile_utilsMenu","navMobile_utilsSecondMenu","navMobile_financeMenu","navMobile_financeSecondMenu","navMobile_carCareMenu","navMobile_carCareSecondMenu","noHeightElArr","prevScrollpos","pageYOffset","tabbableEls","buttonText","productEl","subProductEl","textContent","trim","replace","toLowerCase","subProductText","productText","buttontext","setAllTabIndexes","elemClassList","test","activeEl","currentScrollPos","preventDefault","tabbable","focus","focusableEl","carCareBtn","closeMobileNav","resetNoHeightClasses","onMainNavClick_mobile","setActiveTabIndexes","onSecondaryLevelClick","backOneMenuLayer","handleTabbingAfterBackPressed","activeMenu","tabIndex","isFromTopMenu","closeButton","activeTabbableEls","elToFocus","innerText","navMobile_openSecondaryMenu","noHeightEl","includes","push","removeNoHeightClasses","activeDiv","midMenu","bottomMenus","toolsMenus","scrollTop","scrollTopAllMenus","pop","observer","IntersectionObserver","entries","entry","elId","isIntersecting","navUl","addOrRemoveFader","threshold","menu","btnEl","observe"],"mappings":"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","file":"cms2-nav.min.js","sourcesContent":["window._navDesktopV2 = (function () {\r\n\tconst mainNavEl = document.querySelector('.cnf_main-nav');\r\n\tif (!mainNavEl) return;\r\n\r\n\tlet navDesktop_isMobile = !window.matchMedia('(min-width: 980px)').matches;\r\n\tconst mainNavBtns = document.querySelectorAll(\r\n\t\t'.cnf_main-nav .cnf_main-nav__list-item--top-level button:not(.cnf_main-nav__close-button)'\r\n\t);\r\n\tconst mainNavCloseBtns = document.querySelectorAll('.cnf_main-nav .cnf_main-nav__close-button');\r\n\tconst allButtons = document.querySelectorAll('.cnf_main-nav button');\r\n\r\n\tlet currentMainHoveredBtn;\r\n\tlet insuranceTabHovered = false;\r\n\tlet timer;\r\n\tlet navOpen = false;\r\n\r\n\tdocument.addEventListener('DOMContentLoaded', function () {\r\n\t\tcreateDimmer();\r\n\t});\r\n\r\n\tmainNavEl.addEventListener('mouseleave', function () {\r\n\t\tif (!navOpen) return;\r\n\t\tsetTimeout(function () {\r\n\t\t\tcloseNav();\r\n\t\t}, 250);\r\n\t});\r\n\r\n\t// Set isMobile on browser resize\r\n\twindow.addEventListener('resize', function () {\r\n\t\tif (window.matchMedia('(min-width: 980px)').matches) {\r\n\t\t\tnavDesktop_isMobile = false;\r\n\t\t} else {\r\n\t\t\tnavDesktop_isMobile = true;\r\n\t\t\tcloseNav();\r\n\t\t}\r\n\t});\r\n\r\n\tdocument.body.addEventListener('keydown', function (event) {\r\n\t\tif (event.code === 'Tab' && !event.shiftKey) {\r\n\t\t\tif (document.activeElement.closest('.cnf_main-nav') === null && navOpen) closeNav();\r\n\t\t}\r\n\t});\r\n\r\n\tdocument.querySelector('header').addEventListener('keydown', function (event) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tif (event.code === 'Tab' && !event.shiftKey) {\r\n\t\t\tif (\r\n\t\t\t\t(document.activeElement.id === document.querySelector('[data-product=\"car-care-_-selling\"] > button') &&\r\n\t\t\t\t\t!mainNavEl.classList.contains('cnf_nav-product--carcare')) ||\r\n\t\t\t\t(document.activeElement.id === document.querySelector('[data-product=\"broadband-_-mobile\"] > button') &&\r\n\t\t\t\t\t!mainNavEl.classList.contains('cnf_nav-product--broadband'))\r\n\t\t\t) {\r\n\t\t\t\t// jshint ignore:line\r\n\t\t\t\tcloseNav();\r\n\t\t\t} else if (\r\n\t\t\t\tdocument.activeElement ===\r\n\t\t\t\t\tdocument.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"car-care-_-selling\"] .cnf_main-nav__container--bottom-level .cnf_main-nav__close-button'\r\n\t\t\t\t\t) ||\r\n\t\t\t\tdocument.activeElement ===\r\n\t\t\t\t\tdocument.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"broadband-_-mobile\"] .cnf_main-nav__container--bottom-level .cnf_main-nav__close-button'\r\n\t\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\t// jshint ignore:line\r\n\t\t\t\tcloseNav();\r\n\t\t\t}\r\n\t\t} else if (event.code === 'Tab' && event.shiftKey) {\r\n\t\t\tif (document.activeElement.classList.contains('cnf_logo')) {\r\n\t\t\t\tcloseNav();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\tdocument.getElementById('skip-nav-link').addEventListener('click', function () {\r\n\t\tcloseNav();\r\n\t});\r\n\r\n\t// Handles enter press to activate button clicks\r\n\tfor (let i = 0; i < allButtons.length; i++) {\r\n\t\tallButtons[i].addEventListener('keypress', function (event) {\r\n\t\t\tonEnterPress(event);\r\n\t\t});\r\n\t}\r\n\r\n\t// Handles close nav button\r\n\tfor (let i = 0; i < mainNavCloseBtns.length; i++) {\r\n\t\tmainNavCloseBtns[i].addEventListener('click', function () {\r\n\t\t\tcloseNav();\r\n\t\t});\r\n\t}\r\n\r\n\t// Handles nav hover\r\n\tfor (let i = 0; i < mainNavBtns.length; i++) {\r\n\t\tmainNavBtns[i].addEventListener('mouseenter', function (event) {\r\n\t\t\tif (navDesktop_isMobile) return;\r\n\t\t\ttimer = setTimeout(function () {\r\n\t\t\t\tonMainNavHover(event);\r\n\t\t\t}, 250);\r\n\t\t});\r\n\t}\r\n\r\n\t// This will clear the hover delay timer when the mouse leaves the insurance sub menu. Stops unwanted animations.\r\n\tfor (let i = 0; i < mainNavBtns.length; i++) {\r\n\t\tmainNavBtns[i].addEventListener('mouseleave', function (event) {\r\n\t\t\tif (event.target.classList.contains('cnf_delay-hover')) clearTimeout(timer);\r\n\t\t});\r\n\t}\r\n\r\n\t// Utility classes\r\n\tfunction removeOrAddClass(element, className, add) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tif (add) {\r\n\t\t\telement.forEach(function (el) {\r\n\t\t\t\tel.classList.add(className);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\telement.forEach(function (el) {\r\n\t\t\t\tel.classList.remove(className);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// Get the button id and pass open the right secondary menu\r\n\tfunction onMainNavHover(event) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tdocument.querySelector('.cnf_nav-dimmer').classList.add('cnf_is-shown');\r\n\t\tcurrentMainHoveredBtn = event.target;\r\n\t\ttoggleSecondaryMenu();\r\n\t}\r\n\r\n\t// Handles opening all sub menus, unless it is the insurance tab then this function will pass to handleInsuranceTabHovered();\r\n\tfunction toggleSecondaryMenu() {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tif (\r\n\t\t\tnavOpen &&\r\n\t\t\tcurrentMainHoveredBtn.parentElement.dataset.product === 'insurance' &&\r\n\t\t\tmainNavEl.classList.contains('cnf_nav-insurance')\r\n\t\t)\r\n\t\t\treturn;\r\n\t\taddNavClasses(currentMainHoveredBtn);\r\n\t\tnavOpen = true;\r\n\t\tif (\r\n\t\t\t(currentMainHoveredBtn.classList.contains('cnf_second-level-links--mobile') &&\r\n\t\t\t\tcurrentMainHoveredBtn.classList.contains('cnf_main-nav__options--mid-level')) ||\r\n\t\t\tcurrentMainHoveredBtn.parentElement.dataset.product === 'insurance'\r\n\t\t) {\r\n\t\t\t// Insurance tab hovered, handle this separately.\r\n\t\t\tinsuranceTabHovered = true;\r\n\t\t\thandleButtonActiveStates(currentMainHoveredBtn);\r\n\t\t\thandleInsuranceTabHovered();\r\n\t\t\treturn;\r\n\t\t} else {\r\n\t\t\tinsuranceTabHovered = false;\r\n\t\t}\r\n\t\t// Is not insurance tab that has been hovered.\r\n\t\thandleButtonActiveStates(currentMainHoveredBtn);\r\n\t\tconst secondaryMenuToOpen = currentMainHoveredBtn.nextElementSibling.nextElementSibling;\r\n\t\tif (!secondaryMenuToOpen) return;\r\n\t\tconst alreadyOpenSecondaryMenu = document.querySelectorAll('.cnf_main-nav .cnf_nav--is-open');\r\n\t\tif (alreadyOpenSecondaryMenu.length > 0) removeOrAddClass(alreadyOpenSecondaryMenu, 'cnf_nav--is-open', false);\r\n\t\tsecondaryMenuToOpen.classList.add('cnf_nav--is-open');\r\n\t}\r\n\r\n\tfunction addNavClasses(currentMainHoveredBtn) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tmainNavEl.className = 'cnf_main-nav';\r\n\r\n\t\tconst productClassMap = {\r\n\t\t\tinsurance: 'cnf_nav-product--motor',\r\n\t\t\tutilities: 'cnf_nav-product--utilities',\r\n\t\t\tenergy: 'cnf_nav-product--energy',\r\n\t\t\tfinance: 'cnf_nav-product--finance',\r\n\t\t\t'car-care-_-selling': 'cnf_nav-product--carcare',\r\n\t\t\t'broadband-_-mobile': 'cnf_nav-product--broadband',\r\n\t\t};\r\n\t\tconst subProductClassMap = {\r\n\t\t\t'motor-primary': 'cnf_nav-product--motor',\r\n\t\t\thome: 'cnf_nav-product--home',\r\n\t\t\tlife: 'cnf_nav-product--life',\r\n\t\t\ttravel: 'cnf_nav-product--travel',\r\n\t\t\tpet: 'cnf_nav-product--pet',\r\n\t\t\t'business-primary': 'cnf_nav-product--business',\r\n\t\t};\r\n\t\tconst insuranceClassName = 'cnf_nav-insurance';\r\n\r\n\t\tconst { product, subProduct } = currentMainHoveredBtn.parentElement.dataset;\r\n\t\tif (subProductClassMap[subProduct]) mainNavEl.classList.add(insuranceClassName);\r\n\r\n\t\tconst navClassName = productClassMap[product] || subProductClassMap[subProduct];\r\n\t\tif (navClassName) mainNavEl.classList.add(navClassName);\r\n\t}\r\n\r\n\t// Handles adding classes to show that a button is active\r\n\tfunction handleButtonActiveStates(button) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tconst isMainInsuranceBtn = button.parentElement.dataset.product === 'insurance';\r\n\t\tif (isMainInsuranceBtn && mainNavEl.classList.contains('cnf_nav-insurance')) return;\r\n\t\tif (\r\n\t\t\tdocument.querySelector('.cnf_main-nav .cnf_main-nav__container--mid-level--ul .cnf_nav--btn-is-active') &&\r\n\t\t\tisMainInsuranceBtn\r\n\t\t)\r\n\t\t\treturn;\r\n\t\tconst activeButtons = document.querySelectorAll('.cnf_main-nav .cnf_nav--btn-is-active');\r\n\t\tremoveOrAddClass(activeButtons, 'cnf_nav--btn-is-active', false);\r\n\t\tif (insuranceTabHovered && isMainInsuranceBtn) {\r\n\t\t\t// Main insurance button hovered\r\n\t\t\tremoveOrAddClass(\r\n\t\t\t\t[document.querySelector('[data-sub-product=\"motor-primary\"] > button'), button],\r\n\t\t\t\t'cnf_nav--btn-is-active',\r\n\t\t\t\ttrue\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t} else if (insuranceTabHovered && !isMainInsuranceBtn) {\r\n\t\t\t// Insurance mid-level option hovered\r\n\t\t\tdocument.querySelector('[data-product=\"insurance\"] button').classList.add('cnf_nav--btn-is-active');\r\n\t\t}\r\n\t\tbutton.classList.add('cnf_nav--btn-is-active');\r\n\t}\r\n\r\n\t// Opens the correct menus when the insurance tab is hovered. Insurance has an extra menu so needs to be treated slightly different.\r\n\tfunction handleInsuranceTabHovered() {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tconst isMainInsuranceBtn = currentMainHoveredBtn.parentElement.dataset.product === 'insurance';\r\n\t\tconst insuranceMidLevelMenu = document.querySelector(\r\n\t\t\t'[data-product=\"insurance\"] .cnf_main-nav__container--mid-level'\r\n\t\t);\r\n\t\tif (isMainInsuranceBtn) {\r\n\t\t\tconst isOpenMenus = document.querySelectorAll('.cnf_main-nav .cnf_nav--is-open');\r\n\t\t\tif (isOpenMenus.length > 0) removeOrAddClass(isOpenMenus, 'cnf_nav--is-open', false);\r\n\t\t\tconst motorBottomMenu = document.querySelector(\r\n\t\t\t\t'[data-sub-product=\"motor-primary\"] .cnf_main-nav__container--bottom-level'\r\n\t\t\t);\r\n\t\t\tremoveOrAddClass([insuranceMidLevelMenu, motorBottomMenu], 'cnf_nav--is-open', true);\r\n\t\t} else {\r\n\t\t\tconst menuToClose = insuranceMidLevelMenu.querySelector('.cnf_nav--is-open');\r\n\t\t\tconst menuToOpen = insuranceMidLevelMenu.querySelector('.cnf_nav--btn-is-active').nextElementSibling;\r\n\t\t\tmenuToClose.classList.remove('cnf_nav--is-open');\r\n\t\t\tmenuToOpen.classList.add('cnf_nav--is-open');\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createDimmer() {\r\n\t\tconst dimmerElement = document.createElement('div');\r\n\t\tdimmerElement.setAttribute('class', 'cnf_nav-dimmer cnf_is-injected');\r\n\t\tdocument.body.appendChild(dimmerElement);\r\n\t}\r\n\r\n\t// Activates hover functions if user is using keyboard and has pressed enter on a menu option.\r\n\tfunction onEnterPress(event) {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tif (event.key === 'Enter') onMainNavHover(event);\r\n\t}\r\n\r\n\t// Closes nav on close nav button click\r\n\tfunction closeNav() {\r\n\t\tif (navDesktop_isMobile) return;\r\n\t\tconst allOpenMenus = document.querySelectorAll('.cnf_main-nav .cnf_nav--is-open');\r\n\t\tremoveOrAddClass(allOpenMenus, 'cnf_nav--is-open', false);\r\n\t\tconst allActiveButtons = document.querySelectorAll('.cnf_main-nav .cnf_nav--btn-is-active');\r\n\t\tremoveOrAddClass(allActiveButtons, 'cnf_nav--btn-is-active', false);\r\n\t\tdocument.querySelector('.cnf_nav-dimmer').classList.remove('cnf_is-shown');\r\n\t\tnavOpen = false;\r\n\t}\r\n\r\n\treturn {\r\n\t\tcloseNav: closeNav,\r\n\t};\r\n})();\r\n","// eslint-disable-next-line no-unused-vars\r\nconst navMobileV2 = (function () {\r\n\tconst navMobile_mainNav = document.querySelector('.cnf_main-nav');\r\n\tif (!navMobile_mainNav || navMobile_mainNav === null || navMobile_mainNav === undefined) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst htmlEl = document.documentElement;\r\n\tlet navMobile_navIsOpen = false;\r\n\tlet navMobile_isMobile = !window.matchMedia('(min-width: 980px)').matches;\r\n\tconst navMobile_mainNavBtns = document.querySelectorAll(\r\n\t\t'.cnf_main-nav .cnf_main-nav__list-item--top-level > button:not(.cnf_main-nav__close-button)'\r\n\t);\r\n\tlet navMobile_currentMainClickedBtn;\r\n\tconst navMobile_secondLevelBtns = document.querySelectorAll('.cnf_main-nav .cnf_second-level-links--mobile');\r\n\tconst navMobile_backBtns = document.querySelectorAll('.cnf_main-nav .cnf_back');\r\n\tconst navMobile_closeBtns = document.querySelectorAll('.cnf_main-nav .cnf_main-nav__close-button--mobile');\r\n\tlet navMobile_mainNavClassName = '';\r\n\tlet navMobile_subClassName = '';\r\n\tconst navMobile_backToTopLevelBtns = document.querySelectorAll('.cnf_main-nav .cnf_back-to-top-level--mobile');\r\n\r\n\tconst navMobile_insuranceMenu = document.querySelector('[data-product=\"insurance\"] .cnf_mobile--nav__mid-menu'); // jshint ignore:line\r\n\tconst navMobile_insuranceSecondMenu = document.querySelector(\r\n\t\t'[data-product=\"insurance\"] .cnf_main-nav__container--mid-level'\r\n\t); // jshint ignore:line\r\n\tconst navMobile_utilsMenu =\r\n\t\tdocument.querySelector('[data-product=\"utilities\"] .cnf_mobile--nav__mid-menu') ||\r\n\t\tdocument.querySelector('[data-product=\"energy\"] .cnf_mobile--nav__mid-menu'); // jshint ignore:line\r\n\tconst navMobile_utilsSecondMenu =\r\n\t\tdocument.querySelector('[data-product=\"utilities\"] > .cnf_main-nav__container--bottom-level') ||\r\n\t\tdocument.querySelector('[data-product=\"energy\"] > .cnf_main-nav__container--bottom-level'); // jshint ignore:line\r\n\tconst navMobile_financeMenu = document.querySelector('[data-product=\"finance\"] .cnf_mobile--nav__mid-menu'); // jshint ignore:line\r\n\tconst navMobile_financeSecondMenu = document.querySelector(\r\n\t\t'[data-product=\"finance\"] > .cnf_main-nav__container--bottom-level'\r\n\t); // jshint ignore:line\r\n\tconst navMobile_carCareMenu =\r\n\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"] .cnf_mobile--nav__mid-menu') ||\r\n\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"] .cnf_mobile--nav__mid-menu'); // jshint ignore:line\r\n\tconst navMobile_carCareSecondMenu =\r\n\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"] > .cnf_main-nav__container--bottom-level') ||\r\n\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"] > .cnf_main-nav__container--bottom-level'); // jshint ignore:line\r\n\tlet noHeightElArr = [];\r\n\tlet prevScrollpos = window.pageYOffset;\r\n\r\n\tconst tabbableEls = document.querySelectorAll('[data-no-tab-mobile]');\r\n\tlet buttonText = '';\r\n\r\n\t// Set all data-buttontext\r\n\tdocument.querySelectorAll('[data-buttontext]').forEach(function (button) {\r\n\t\tlet buttonText = button.textContent.trim().replace(/\\s+/g, '-').toLowerCase();\r\n\t\tlet productEl;\r\n\t\tlet subProductEl;\r\n\t\tlet subProductText = '';\r\n\t\tlet productText = '';\r\n\t\tif (buttonText === 'tools-&-tips') {\r\n\t\t\tsubProductEl = button.closest('[data-sub-product]');\r\n\t\t\tif (subProductEl) {\r\n\t\t\t\tsubProductText = subProductEl.dataset.subProduct;\r\n\t\t\t\tbuttonText = `tools--${subProductText}`;\r\n\t\t\t} else {\r\n\t\t\t\tproductEl = button.closest('[data-product]');\r\n\t\t\t\tif (productEl) {\r\n\t\t\t\t\tproductText = productEl.dataset.product;\r\n\t\t\t\t\tbuttonText = `tools--${productText}`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tbutton.dataset.buttontext = buttonText;\r\n\t});\r\n\r\n\tdocument.addEventListener('DOMContentLoaded', function () {\r\n\t\tsetAllTabIndexes();\r\n\t});\r\n\r\n\t// Set isMobile on browser resize\r\n\twindow.addEventListener('resize', function () {\r\n\t\tif (window.matchMedia('(min-width: 980px)').matches) {\r\n\t\t\tlet elemClassList;\r\n\t\t\t// TEST IF IT ALREADY HAS NAV-PRODUCT--BLAH THEN USE THE CLASSLIST TO REPOPULATE AFTER RESIZE OTHERWIZE BLITZ ALL BUT MAIN-NAV CLASS\r\n\t\t\tif (/nav-product--/.test(navMobile_mainNav.classList)) {\r\n\t\t\t\telemClassList = navMobile_mainNav.classList;\r\n\t\t\t} else {\r\n\t\t\t\telemClassList = 'cnf_main-nav';\r\n\t\t\t\twindow._navDesktopV2.closeNav();\r\n\t\t\t}\r\n\r\n\t\t\tnavMobile_isMobile = false;\r\n\t\t\tnavMobile_mainNav.className = elemClassList;\r\n\t\t\thtmlEl.classList.remove('cnf_nav-is-open');\r\n\t\t\tdocument.querySelectorAll('.cnf_main-nav .cnf_active').forEach(function (activeEl) {\r\n\t\t\t\tactiveEl.classList.remove('cnf_active');\r\n\t\t\t});\r\n\t\t\tnavMobile_navIsOpen = false;\r\n\t\t} else {\r\n\t\t\tnavMobile_isMobile = true;\r\n\t\t}\r\n\t\tsetAllTabIndexes();\r\n\t});\r\n\r\n\twindow.addEventListener('scroll', function () {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (navMobile_navIsOpen) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst currentScrollPos = window.pageYOffset;\r\n\t\tif (prevScrollpos > currentScrollPos || window.pageYOffset < 50) {\r\n\t\t\tnavMobile_mainNav.classList.remove('cnf_unpinned');\r\n\t\t} else {\r\n\t\t\tnavMobile_mainNav.classList.add('cnf_unpinned');\r\n\t\t}\r\n\t\tprevScrollpos = currentScrollPos;\r\n\t});\r\n\r\n\tdocument.querySelector('header').addEventListener('keydown', function (event) {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (event.code === 'Tab' && !event.shiftKey) {\r\n\t\t\tconst focusableEl =\r\n\t\t\t\tnavMobile_mainNav.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"car-care-_-selling\"] .cnf_main-nav__container--bottom-level [tabindex=\"0\"]'\r\n\t\t\t\t) ||\r\n\t\t\t\tnavMobile_mainNav.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"broadband-_-mobile\"] .cnf_main-nav__container--bottom-level [tabindex=\"0\"]'\r\n\t\t\t\t);\r\n\r\n\t\t\t// jshint ignore:line\r\n\t\t\tconst carCareBtn =\r\n\t\t\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"] > button') ||\r\n\t\t\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"] > button'); // jshint ignore:line\r\n\t\t\tif (\r\n\t\t\t\t(document.activeElement === carCareBtn &&\r\n\t\t\t\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"].cnf_active') === null &&\r\n\t\t\t\t\tnavMobile_navIsOpen) ||\r\n\t\t\t\t(document.activeElement === carCareBtn &&\r\n\t\t\t\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"].cnf_active') === null &&\r\n\t\t\t\t\tnavMobile_navIsOpen)\r\n\t\t\t) {\r\n\t\t\t\t// jshint ignore:line\r\n\t\t\t\t// focus is on car care main button and car care menu is not open\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tdocument.querySelector('.cnf_active .cnf_main-nav__close-button--mobile').focus();\r\n\t\t\t} else if (document.activeElement === focusableEl[focusableEl.length - 1]) {\r\n\t\t\t\t// focus is on last link of any option within care care menu\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tdocument.querySelector('[data-product=\"insurance\"] > button').focus(); // jshint ignore:line\r\n\t\t\t}\r\n\t\t} else if (event.code === 'Tab' && event.shiftKey) {\r\n\t\t\tif (document.activeElement.classList.contains('cnf_logo') && navMobile_navIsOpen) {\r\n\t\t\t\t// Logo has focus\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tconst tabbable = document.querySelectorAll(\r\n\t\t\t\t\t\".cnf_main-nav [tabindex='0']:not(.cnf_main-nav__close-button)\"\r\n\t\t\t\t);\r\n\t\t\t\ttabbable[tabbable.length - 1].focus();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\tdocument.getElementById('skip-nav-link').addEventListener('click', function () {\r\n\t\tcloseMobileNav();\r\n\t});\r\n\r\n\tfor (let i = 0; i < navMobile_mainNavBtns.length; i++) {\r\n\t\tnavMobile_mainNavBtns[i].addEventListener('click', function (event) {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tif (!navMobile_isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tnavMobile_navIsOpen = true;\r\n\t\t\tresetNoHeightClasses();\r\n\t\t\tonMainNavClick_mobile(event);\r\n\t\t\tsetActiveTabIndexes(event, true);\r\n\t\t});\r\n\t}\r\n\r\n\tfor (let i = 0; i < navMobile_secondLevelBtns.length; i++) {\r\n\t\tnavMobile_secondLevelBtns[i].addEventListener('click', function (event) {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tif (!navMobile_isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tonSecondaryLevelClick(event);\r\n\t\t\tsetActiveTabIndexes(event, false);\r\n\t\t});\r\n\t}\r\n\r\n\tfor (let i = 0; i < navMobile_closeBtns.length; i++) {\r\n\t\tnavMobile_closeBtns[i].addEventListener('click', function () {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tcloseMobileNav();\r\n\t\t});\r\n\t}\r\n\r\n\tfor (let i = 0; i < navMobile_backBtns.length; i++) {\r\n\t\tnavMobile_backBtns[i].addEventListener('click', function (event) {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tif (!navMobile_isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbackOneMenuLayer();\r\n\t\t\tsetAllTabIndexes();\r\n\t\t\t// set tabIndex = 0 on the menu that is left open\r\n\t\t\thandleTabbingAfterBackPressed(event);\r\n\t\t});\r\n\t}\r\n\r\n\tfor (let i = 0; i < navMobile_backToTopLevelBtns.length; i++) {\r\n\t\tnavMobile_backToTopLevelBtns[i].addEventListener('click', function () {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tif (!navMobile_isMobile) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tdocument.querySelectorAll('.cnf_main-nav .cnf_active').forEach(function (activeMenu) {\r\n\t\t\t\tif (!activeMenu.classList.contains('cnf_main-nav__list-item--top-level')) {\r\n\t\t\t\t\tactiveMenu.classList.remove('cnf_active');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetAllTabIndexes();\r\n\t\t\tdocument\r\n\t\t\t\t.querySelectorAll('.cnf_main-nav__container--mid-level--ul > li > button')\r\n\t\t\t\t.forEach(function (button) {\r\n\t\t\t\t\tbutton.tabIndex = 0;\r\n\t\t\t\t});\r\n\t\t\tdocument.querySelector('[data-product=\"insurance\"] .cnf_main-nav__close-button--mobile').tabIndex = 0; // jshint ignore:line\r\n\t\t\tdocument.querySelector('[data-sub-product=\"motor-primary\"] > button').focus(); // jshint ignore:line\r\n\t\t\t// add no-height classes back\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tnoHeightElArr.forEach(function (el) {\r\n\t\t\t\t\tel.classList.add('cnf_no-height');\r\n\t\t\t\t});\r\n\t\t\t\tnoHeightElArr = [];\r\n\t\t\t}, 251);\r\n\t\t});\r\n\t}\r\n\r\n\tfunction setAllTabIndexes() {\r\n\t\tif (navMobile_isMobile) {\r\n\t\t\ttabbableEls.forEach(function (element) {\r\n\t\t\t\telement.tabIndex = -1;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\ttabbableEls.forEach(function (element) {\r\n\t\t\t\telement.tabIndex = 0;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setActiveTabIndexes(event, isFromTopMenu) {\r\n\t\tlet closeButton;\r\n\t\tlet activeTabbableEls;\r\n\t\ttabbableEls.forEach(function (element) {\r\n\t\t\telement.tabIndex = -1;\r\n\t\t});\r\n\t\tif (isFromTopMenu) {\r\n\t\t\tswitch (true) {\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'insurance':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"insurance\"] .cnf_main-nav__container--mid-level [data-no-tab-mobile]:not(.cnf_main-nav__container--bottom-level [data-no-tab-mobile]:not(.cnf_main-nav__container--mid-level--li-close [data-no-tab-mobile])'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"insurance\"] .cnf_mobile--nav__mid-menu button'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'utilities':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"utilities\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"utilities\"] .cnf_mobile--nav__mid-menu button'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'energy':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"energy\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector('[data-product=\"energy\"] .cnf_mobile--nav__mid-menu button'); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'finance':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"finance\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector('[data-product=\"finance\"] .cnf_mobile--nav__mid-menu button'); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'car-care-_-selling':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"car-care-_-selling\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"car-care-_-selling\"] .cnf_mobile--nav__mid-menu button'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'broadband-_-mobile':\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"broadband-_-mobile\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tcloseButton = document.querySelector(\r\n\t\t\t\t\t\t'[data-product=\"broadband-_-mobile\"] .cnf_mobile--nav__mid-menu button'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\t(event.target.classList.contains('cnf_second-level-links--mobile') &&\r\n\t\t\t\t\tevent.target.classList.contains('cnf_main-nav__options--mid-level')) ||\r\n\t\t\t\tevent.target.parentElement.dataset.product === 'insurance'\r\n\t\t\t) {\r\n\t\t\t\tactiveTabbableEls = event.target.nextElementSibling.querySelectorAll(\r\n\t\t\t\t\t'[data-no-tab-mobile]:not(.cnf_main-nav__options--bottom-level > div [data-no-tab-mobile]):not(.cnf_main-nav__articles-container [data-no-tab-mobile]'\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tactiveTabbableEls = event.target.nextElementSibling.querySelectorAll('[data-no-tab-mobile]');\r\n\t\t\t}\r\n\t\t\tconst parentLi = event.target.closest('.cnf_main-nav__list-item--top-level');\r\n\t\t\tcloseButton = parentLi.querySelector('.cnf_main-nav__close-button--mobile');\r\n\t\t}\r\n\t\tactiveTabbableEls.forEach(function (element) {\r\n\t\t\telement.tabIndex = 0;\r\n\t\t});\r\n\t\tcloseButton.tabIndex = 0;\r\n\t\t// Focus the right button\r\n\t\tsetTimeout(function () {\r\n\t\t\tactiveTabbableEls[0].focus();\r\n\t\t}, 251);\r\n\t}\r\n\r\n\tfunction handleTabbingAfterBackPressed(event) {\r\n\t\tlet closeButton;\r\n\t\tlet activeTabbableEls;\r\n\t\tlet elToFocus;\r\n\t\tswitch (true) {\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'insurance':\r\n\t\t\t\tif (event.target.classList.contains('cnf_back-to-insurance')) {\r\n\t\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t\t'[data-product=\"insurance\"] .cnf_main-nav__container--mid-level [data-no-tab-mobile]:not(.cnf_main-nav__container--bottom-level [data-no-tab-mobile]:not(.cnf_main-nav__container--mid-level--li-close [data-no-tab-mobile])'\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tlet product = event.target.innerText.toLowerCase();\r\n\t\t\t\t\tif (product === 'motor' || product === 'business') {\r\n\t\t\t\t\t\tproduct = `${product}-primary`;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telToFocus = document.querySelector(`[data-sub-product=\"${product}\"] > button`); // jshint ignore:line\r\n\t\t\t\t} else {\r\n\t\t\t\t\telToFocus = document.querySelector(\r\n\t\t\t\t\t\t`[data-product=\"insurance\"] .cnf_main-nav__container--mid-level [data-buttontext=\"${buttonText}\"]`\r\n\t\t\t\t\t); // jshint ignore:line\r\n\t\t\t\t\tactiveTabbableEls = elToFocus\r\n\t\t\t\t\t\t.closest('.cnf_main-nav__container--bottom-level--ul')\r\n\t\t\t\t\t\t.querySelectorAll(\r\n\t\t\t\t\t\t\t'[data-no-tab-mobile]:not(.cnf_main-nav__options--bottom-level > div [data-no-tab-mobile]):not(.cnf_main-nav__articles-container [data-no-tab-mobile]'\r\n\t\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tcloseButton = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"insurance\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'utilities':\r\n\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"utilities\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tcloseButton = document.querySelector('.cnf_active .cnf_main-nav__close-button--mobile');\r\n\t\t\t\telToFocus = document.querySelector(`[data-product=\"utilities\"] [data-buttontext=\"${buttonText}\"]`); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'energy':\r\n\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"energy\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tcloseButton = document.querySelector('.cnf_active .cnf_main-nav__close-button--mobile');\r\n\t\t\t\telToFocus = document.querySelector(`[data-product=\"energy\"] [data-buttontext=\"${buttonText}\"]`); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'finance':\r\n\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"finance\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tcloseButton = document.querySelector('.cnf_active .cnf_main-nav__close-button--mobile');\r\n\t\t\t\telToFocus = document.querySelector(`[data-product=\"finance\"] [data-buttontext=\"${buttonText}\"]`); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'car-care-_-selling':\r\n\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"car-care-_-selling\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tcloseButton = document.querySelector('.cnf_active .cnf_main-nav__close-button--mobile');\r\n\t\t\t\telToFocus = elToFocus = document.querySelector(\r\n\t\t\t\t\t`[data-product=\"car-care-_-selling\"] [data-buttontext=\"${buttonText}\"]`\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'broadband-_-mobile':\r\n\t\t\t\tactiveTabbableEls = document.querySelectorAll(\r\n\t\t\t\t\t'[data-product=\"broadband-_-mobile\"] .cnf_main-nav__container--bottom-level .cnf_second-level-links--mobile'\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tcloseButton = document.querySelector('.cnf_active .cnf_main-nav__close-button--mobile');\r\n\t\t\t\telToFocus = elToFocus = document.querySelector(\r\n\t\t\t\t\t`[data-product=\"broadband-_-mobile\"] [data-buttontext=\"${buttonText}\"]`\r\n\t\t\t\t); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tcloseButton.tabIndex = 0;\r\n\t\tactiveTabbableEls.forEach(function (element) {\r\n\t\t\telement.tabIndex = 0;\r\n\t\t});\r\n\t\telToFocus.focus();\r\n\t}\r\n\r\n\tfunction onMainNavClick_mobile(event) {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnavMobile_currentMainClickedBtn = event.target;\r\n\t\thtmlEl.classList.add('cnf_nav-is-open');\r\n\t\tnavMobile_openSecondaryMenu();\r\n\t}\r\n\r\n\tfunction onSecondaryLevelClick(event) {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst button = event.target;\r\n\t\tbuttonText = button.dataset.buttontext;\r\n\t\tif (navMobile_subClassName !== '') {\r\n\t\t\tnavMobile_mainNav.classList.remove(navMobile_subClassName);\r\n\t\t}\r\n\t\tnavMobile_subClassName = `${navMobile_mainNavClassName}--${buttonText}`;\r\n\t\tremoveNoHeightClasses(event);\r\n\t\tnavMobile_mainNav.classList.add(navMobile_subClassName);\r\n\r\n\t\tconst activeDiv = button.nextElementSibling;\r\n\t\tif (activeDiv) {\r\n\t\t\tactiveDiv.classList.add('cnf_active');\r\n\t\t}\r\n\r\n\t\tscrollTopAllMenus();\r\n\t}\r\n\r\n\tfunction scrollTopAllMenus() {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst midMenu = document.querySelector('.cnf_main-nav__container--mid-level--ul');\r\n\t\tconst bottomMenus = document.querySelectorAll('.cnf_main-nav__container--bottom-level--ul');\r\n\t\tconst toolsMenus = document.querySelectorAll('.cnf_main-nav__articles-container');\r\n\t\tmidMenu.scrollTop = 0;\r\n\t\tbottomMenus.forEach(function (el) {\r\n\t\t\tel.scrollTop = 0;\r\n\t\t});\r\n\t\ttoolsMenus.forEach(function (el) {\r\n\t\t\tel.scrollTop = 0;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction navMobile_openSecondaryMenu() {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdocument.querySelectorAll('.cnf_main-nav .cnf_active').forEach(function (activeEl) {\r\n\t\t\tactiveEl.classList.remove('cnf_active');\r\n\t\t});\r\n\t\tswitch (true) {\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'insurance':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--insurance';\r\n\t\t\t\tnavMobile_insuranceMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_insuranceSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"insurance\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'utilities':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--utilities';\r\n\t\t\t\tnavMobile_utilsMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_utilsSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"utilities\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'energy':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--energy';\r\n\t\t\t\tnavMobile_utilsMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_utilsSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"energy\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'finance':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--finance';\r\n\t\t\t\tnavMobile_financeMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_financeSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"finance\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'car-care-_-selling':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--car-care';\r\n\t\t\t\tnavMobile_carCareMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_carCareSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tcase navMobile_currentMainClickedBtn.parentElement.dataset.product === 'broadband-_-mobile':\r\n\t\t\t\tnavMobile_mainNavClassName = 'cnf_nav--is-open-mobile--broadband';\r\n\t\t\t\tnavMobile_carCareMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tnavMobile_carCareSecondMenu.classList.remove('cnf_no-height');\r\n\t\t\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"]').classList.add('cnf_active'); // jshint ignore:line\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t\tnavMobile_mainNav.className = `cnf_main-nav cnf_nav--is-open-mobile ${navMobile_mainNavClassName}`;\r\n\t}\r\n\r\n\tfunction backOneMenuLayer() {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (noHeightElArr.length > 0) {\r\n\t\t\tconst menuToClose = noHeightElArr[noHeightElArr.length - 1];\r\n\t\t\tmenuToClose.classList.remove('cnf_active');\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tmenuToClose.classList.add('cnf_no-height');\r\n\t\t\t}, 251);\r\n\t\t\tnoHeightElArr.pop();\r\n\t\t}\r\n\t}\r\n\r\n\t// Observer to add faders to mobile menu\r\n\tconst observer = new IntersectionObserver(\r\n\t\tfunction (entries) {\r\n\t\t\tentries.forEach(function (entry) {\r\n\t\t\t\taddOrRemoveFader(entry);\r\n\t\t\t});\r\n\t\t},\r\n\t\t{ threshold: 1 }\r\n\t);\r\n\r\n\t[\r\n\t\tdocument.querySelector('[data-product=\"insurance\"] > button'),\r\n\t\tdocument.querySelector('[data-product=\"car-care-_-selling\"] > button'),\r\n\t\tdocument.querySelector('[data-product=\"broadband-_-mobile\"] > button'),\r\n\t].forEach(function (btnEl) {\r\n\t\tif (btnEl) {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tobserver.observe(btnEl);\r\n\t\t}\r\n\t});\r\n\r\n\tfunction addOrRemoveFader(element) {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst elId = element.target;\r\n\t\telId.closest('[data-product]').dataset.product === 'insurance'; // jshint ignore:line\r\n\t\tconst isIntersecting = element.isIntersecting;\r\n\t\tconst navUl = document.querySelector('.cnf_main-nav__container');\r\n\t\tif (elId.closest('[data-product]').dataset.product === 'insurance') {\r\n\t\t\t// jshint ignore:line\r\n\t\t\tif (isIntersecting) {\r\n\t\t\t\tnavUl.classList.remove('cnf_first-option-off-screen');\r\n\t\t\t} else {\r\n\t\t\t\tnavUl.classList.add('cnf_first-option-off-screen');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (isIntersecting) {\r\n\t\t\t\tnavUl.classList.remove('cnf_last-option-off-screen');\r\n\t\t\t} else {\r\n\t\t\t\tnavUl.classList.add('cnf_last-option-off-screen');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction removeNoHeightClasses(event) {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst button = event.target;\r\n\t\tconst noHeightEl = button.nextElementSibling;\r\n\t\tnoHeightEl.classList.remove('cnf_no-height');\r\n\t\tif (!noHeightElArr.includes(noHeightEl)) {\r\n\t\t\tnoHeightElArr.push(noHeightEl);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction closeMobileNav() {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnavMobile_navIsOpen = false;\r\n\t\tdocument.querySelectorAll('.cnf_main-nav .cnf_active').forEach(function (activeEl) {\r\n\t\t\tactiveEl.classList.remove('cnf_active');\r\n\t\t});\r\n\t\tsetTimeout(function () {\r\n\t\t\thtmlEl.classList.remove('cnf_nav-is-open');\r\n\t\t\tresetNoHeightClasses();\r\n\t\t\tsetAllTabIndexes();\r\n\t\t}, 251);\r\n\t}\r\n\r\n\tfunction resetNoHeightClasses() {\r\n\t\tif (!navMobile_isMobile) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst menus = [\r\n\t\t\tnavMobile_insuranceMenu,\r\n\t\t\tnavMobile_insuranceSecondMenu,\r\n\t\t\tnavMobile_utilsMenu,\r\n\t\t\tnavMobile_utilsSecondMenu,\r\n\t\t\tnavMobile_financeMenu,\r\n\t\t\tnavMobile_financeSecondMenu,\r\n\t\t\tnavMobile_carCareMenu,\r\n\t\t\tnavMobile_carCareSecondMenu,\r\n\t\t];\r\n\t\tmenus.forEach(function (menu) {\r\n\t\t\tmenu.classList.add('cnf_no-height');\r\n\t\t});\r\n\t\tnoHeightElArr.forEach(function (el) {\r\n\t\t\tel.classList.add('cnf_no-height');\r\n\t\t});\r\n\t\tnoHeightElArr = [];\r\n\t}\r\n})();\r\n"]}