1/* -------------------------------------- 2Header 3-------------------------------------- */ 4 5/* Desktop Search toggle */ 6document.querySelectorAll('.header__middle-btn').forEach(function (searchBtn) { 7 searchBtn.addEventListener('click', function () { 8 document.querySelector('.header #mega-menu-wrap-primary').classList.remove('is-active'); 9 document.querySelector('.header__middle-hamburger').classList.remove('is-open'); 10 document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Menu'; 11 let searchBox = document.querySelector('.header__search'); 12 let searchInput = document.querySelector('.header__search.round-input input[type="text"]'); 13 14 document.querySelectorAll('.header nav#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item').forEach(function (item) { 15 item.classList.remove('mega-toggle-on'); 16 }); 17 18 if (searchBtn.classList.contains('is-open')) { 19 searchBtn.setAttribute('aria-expanded', 'false'); 20 searchBtn.classList.remove('is-open'); 21 searchBox.style.display = 'none'; 22 } else { 23 searchBtn.setAttribute('aria-expanded', 'true'); 24 searchBtn.classList.add('is-open'); 25 searchBox.style.display = 'block'; 26 searchInput.focus(); 27 } 28 }); 29}); 30document.addEventListener('click', function (event) { 31 if (!document.querySelector('.header').contains(event.target)) { 32 33 let button = document.querySelector('.header__middle-btn'); 34 if (button && button.classList.contains('is-open')) { 35 button.classList.remove('is-open'); 36 button.setAttribute('aria-expanded', 'false'); 37 } 38 39 document.querySelector('.header__search').style.display = 'none'; 40 } 41}); 42/* Desktop Search toggle 43-------------------------------------- */ 44/* Used Escape key Search hide */ 45window.addEventListener('keydown', function (event) { 46 let searchBox = document.querySelector('.header__search'); 47 let button = document.querySelector('.header__middle-btn'); 48 49 50 if (event.key === "Escape") { 51 if (button && button.classList.contains('is-open')) { 52 button.classList.remove('is-open'); 53 button.setAttribute('aria-expanded', 'false'); 54 searchBox.style.display = 'none'; 55 } 56 } 57}); 58/* Used Escape key Search hide 59-------------------------------------- */ 60/* Mobile hamburger */ 61document.querySelectorAll('.header__middle-hamburger').forEach(function (hamburgerBtn) { 62 hamburgerBtn.addEventListener('click', function () { 63 let searchBox = document.querySelector('.header__search'); 64 searchBox.style.display = 'none'; 65 let button = document.querySelector('.header__middle-btn'); 66 if (button && button.classList.contains('is-open')) { 67 button.classList.remove('is-open'); 68 } 69 if (hamburgerBtn.classList.contains('is-open')) { 70 document.querySelectorAll('.header #mega-menu-wrap-primary').forEach(function (item) { 71 item.classList.remove('is-active'); 72 }); 73 hamburgerBtn.setAttribute('aria-expanded', 'false'); 74 hamburgerBtn.classList.remove('is-open'); 75 document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Menu'; 76 } else { 77 document.querySelectorAll('.header #mega-menu-wrap-primary').forEach(function (item) { 78 item.classList.add('is-active'); 79 }); 80 hamburgerBtn.setAttribute('aria-expanded', 'true'); 81 hamburgerBtn.classList.add('is-open'); 82 document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Close'; 83 } 84 }); 85}); 86/* Mobile hamburger 87-------------------------------------- */ 88 89 90/* mobile submenu open button */ 91 92document.querySelectorAll(".header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul > li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > .so-widget-menu-text-widget > ul > li").forEach(function (item) { 93 if (item.querySelector("ul")) { 94 item.classList.add('is-child') 95 var btnIndicator = document.createElement("button"); 96 btnIndicator.classList.add('mega-indicator', 'open-sub-menu'); 97 btnIndicator.setAttribute('aria-expanded', 'false'); 98 btnIndicator.textContent = 'open menu'; 99 var anchor = item.querySelector("a"); 100 anchor.insertAdjacentElement('afterend', btnIndicator); 101 } 102}); 103document.querySelectorAll('.header .mega-menu-wrap .open-sub-menu').forEach(function (openMenuBtn) { 104 let allMenu = document.querySelectorAll('.header .mega-menu-wrap .open-sub-menu'); 105 openMenuBtn.addEventListener('click', function () { 106 if (openMenuBtn.classList.contains('is-open')) { 107 openMenuBtn.setAttribute('aria-expanded', 'false'); 108 openMenuBtn.classList.remove('is-open'); 109 } else { 110 allMenu.forEach(function (item) { 111 item.classList.remove('is-open'); 112 }); 113 openMenuBtn.setAttribute('aria-expanded', 'true'); 114 openMenuBtn.classList.add('is-open'); 115 } 116 }); 117}); 118 119/* -------------------------------------- 120Header End 121-------------------------------------- */ 122 123 124/* -------------------------------------- 125Header 126-------------------------------------- */
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.