1jQuery(document).ready(function ($) { 2 3 function checkForElement() { 4 if ($(".module-filter").length > 0) { 5 $(".module-filter a.accordion-toggle").click(function () { 6 $(this).closest(".panel").toggleClass("panel-active"); 7 }); 8 clearInterval(interval); 9 } 10 } 11 var interval = setInterval(checkForElement, 100); 12 13 var hamb_menu = ".mobile-main-menu-wrapper"; 14 var main_menu = hamb_menu + " " + "#main-menu"; 15 16 var category_items = 17 main_menu + " " + "li.main-menu-item.dropdown > a.collapse-toggle"; 18 19 var subcategory_items = 20 main_menu + 21 " " + 22 'li.menu-item:not(.main-menu-item, [class*="menu-item-c"]) > a.collapse-toggle'; 23 24 var back_arrow_i = 25 '<i class="icon icon-arrow-left-light menu-back-icon"></i>'; 26 var menu_back = main_menu + " " + ".menu-back-icon"; 27 var menu_close = ".mobile-main-menu-container .mobile-wrapper-header .x"; 28 29 function backclick() { 30 $(main_menu + " div.collapse").removeClass("is-visible in"); 31 $(main_menu + " li.menu-item").removeClass("is-invisible"); 32 $(main_menu + " li.main-menu-item > a.collapse-toggle").removeClass( 33 "is-invisible go-back-menu", 34 ); 35 $(main_menu + " li.main-menu-item > a.collapse-toggle").show(); 36 $(menu_back).remove(); 37 return false; 38 } 39 40 function onClickCategory(e) { 41 if (isDesktop()) return; 42 if ( 43 $(e.target).hasClass("menu-back-icon") || 44 $(e.target).closest(".menu-back-icon").length > 0 45 ) { 46 return; 47 } 48 if ($(this).hasClass("go-back-menu")) { 49 window.location.href = $(this).attr("href"); 50 } else { 51 $(this).next().addClass("is-visible in"); 52 $(this).addClass("go-back-menu"); 53 if ($(this).find("i.menu-back-icon").length === 0) { 54 $(this).prepend(back_arrow_i); 55 } 56 $(this).parent().siblings().addClass("is-invisible"); 57 return false; 58 } 59 } 60 61 function onClickSubcategory(e) { 62 if (isDesktop()) return; 63 if ( 64 $(e.target).hasClass("menu-back-icon") || 65 $(e.target).closest(".menu-back-icon").length > 0 66 ) { 67 return; 68 } 69 if ($(this).hasClass("go-back-menu")) { 70 window.location.href = $(this).attr("href"); 71 } else { 72 $(this).next().addClass("is-visible in"); 73 $(this).addClass("go-back-menu"); 74 if ($(this).find("i.menu-back-icon").length === 0) { 75 $(this).prepend(back_arrow_i); 76 } 77 $(this).parent().siblings().addClass("is-invisible"); 78 return false; 79 } 80 } 81 82 function backToCategories() { 83 if (isDesktop()) { clearDesktopSubmenu(); return false; } 84 $(main_menu + " > .j-menu") 85 .children("li") 86 .removeClass("is-invisible"); 87 $(main_menu + " li.main-menu-item > a.collapse-toggle").removeClass( 88 "is-invisible go-back-menu", 89 ); 90 $(main_menu + " li.main-menu-item > a.collapse-toggle").show(); 91 $(main_menu + " div.collapse").removeClass("is-visible in"); 92 $(menu_back).remove(); 93 return false; 94 } 95 96 $(category_items).on("click", onClickCategory); 97 $(subcategory_items).on("click", onClickSubcategory); 98 99 $(document).on("click", ".menu-back-icon", function (e) { 100 e.preventDefault(); 101 e.stopPropagation(); 102 backToCategories(); 103 return false; 104 }); 105 106 $(menu_close).on("click", function (event) { 107 event.preventDefault(); 108 backclick(); 109 }); 110 111 var menu = $( 112 "body > div.mobile-container.mobile-main-menu-container.animating", 113 ); 114 $(window).click(function (event) { 115 if (!menu.is(event.target) && menu.has(event.target).length === 0) { 116 backclick(); 117 } 118 }); 119 120 $("#main-menu-2 .main-menu-item-1").click(function (e) { 121 e.stopPropagation(); 122 backclick(); 123 $("#custom-p-main-menu .menu-trigger.main-menu-item").click(); 124 }); 125 126 $(".links-menu-710 .links-menu-item-5").click(function (e) { 127 e.stopPropagation(); 128 backclick(); 129 $("#custom-p-main-menu .menu-trigger.main-menu-item").click(); 130 }); 131 132 if ($("html").is(".layout-54")) { 133 var gethash = window.location.href.split("#")[1]; 134 if (gethash) { 135 var caphash = gethash.charAt(0).toUpperCase() + gethash.substr(1).toLowerCase(); 136 $('select[name="item[5]"] option[value*="' + caphash + '"]').prop("selected", true); 137 } 138 } 139 140 function toggleScrollLock() { 141 if ($(".mobile-cart-content-container.animating-cart").length > 0) { 142 $("html, body").addClass("scroll-lock"); 143 } else { 144 $("html, body").removeClass("scroll-lock"); 145 } 146 } 147 148 toggleScrollLock(); 149 150 $(".mobile-cart-content-container").on("change", function () { 151 toggleScrollLock(); 152 }); 153 154 $(window).scroll(function () { 155 if ($(this).scrollTop() < 100) { 156 $(".mobile-header-active .mini-search .top-header-search").addClass( 157 "hidden", 158 ); 159 } else { 160 $(".mobile-header-active .mini-search .top-header-search").removeClass( 161 "hidden", 162 ); 163 } 164 }); 165 $(window).scroll(function () { 166 if ($(this).scrollTop() == 0) { 167 $(".mobile-bar.sticky-bar.mobile-bar-sticky").css("box-shadow", "none"); 168 } else { 169 $(".mobile-bar.sticky-bar.mobile-bar-sticky").css( 170 "box-shadow", 171 "0 2px 12px -2px rgb(19 19 19 / 18%)", 172 ); 173 } 174 }); 175 176 $("#cart .cart-heading").on("click", function (event) { 177 event.preventDefault(); 178 $("html, body").addClass("scroll-lock"); 179 }); 180 181 $("html.mobile .mobile-cart-content-container .mobile-wrapper-header .x").on( 182 "click", 183 function (event) { 184 event.preventDefault(); 185 $("html, body").removeClass("scroll-lock"); 186 }, 187 ); 188 189 $(".desktop-cart-wrapper.default-cart-wrapper > div").click(function (event) { 190 event.preventDefault();
191 $("#cart-content").hide(); 192 $("body > div.mobile-container.mobile-cart-content-container").addClass( 193 "animating-cart", 194 ); 195 $("html, body").addClass("scroll-lock"); 196 197 $( 198 "body > div.mobile-container.mobile-cart-content-container.animating-cart > div.mobile-wrapper-header > a", 199 ).click(function () { 200 $( 201 "body > div.mobile-container.mobile-cart-content-container.animating-cart", 202 ).removeClass("animating-cart"); 203 $("html, body").removeClass("scroll-lock"); 204 }); 205 206 var $cart = $( 207 "body > div.mobile-container.mobile-cart-content-container.animating-cart", 208 ); 209 210 $(window).click(function (event) { 211 if (!$cart.is(event.target) && $cart.has(event.target).length === 0) { 212 $( 213 "body > div.mobile-container.mobile-cart-content-container.animating-cart", 214 ).removeClass("animating-cart"); 215 $("html, body").removeClass("scroll-lock"); 216 } 217 }); 218 }); 219 220 $(".form-group input, .form-group textarea, .form-group select").on( 221 "input", 222 function () { 223 $(this).closest(".form-group").removeClass("has-error"); 224 $(this).closest(".form-group").next(".text-danger").remove(); 225 }, 226 ); 227 228 function checkForElementAlert() { 229 if ($(".alert.alert-success:not(.no-close)").length > 0) { 230 setTimeout(function () { 231 $(".alert.alert-success:not(.no-close)").fadeOut("slow", function () { 232 $(this).remove(); 233 }); 234 }, 3500); 235 } 236 } 237 var interval = setInterval(checkForElementAlert, 500); 238 239 var $menuContainer = $("body > div.mobile-container.mobile-main-menu-container"); 240 var $mainMenu = $menuContainer.find("#main-menu"); 241 var $menuWrapper = $menuContainer.find(".mobile-main-menu-wrapper"); 242 var $mobileHeader = $menuContainer.find(".mobile-wrapper-header"); 243 244 var $leftPanel = $('<div id="desktop-left-panel"></div>'); 245 var $subPanel = $('<div id="desktop-submenu-panel"></div>'); 246 247 function initDesktopLayout() { 248 if ($menuWrapper.find("#desktop-left-panel").length) return; 249 $mobileHeader.detach(); 250 $mainMenu.detach(); 251 $leftPanel.append($mobileHeader).append($mainMenu); 252 $menuWrapper.prepend($leftPanel); 253 if (!$menuWrapper.find("#desktop-submenu-panel").length) { 254 $menuWrapper.append($subPanel); 255 } 256 } 257 258 function destroyDesktopLayout() { 259 if (!$menuWrapper.find("#desktop-left-panel").length) return; 260 $mobileHeader.detach(); 261 $mainMenu.detach(); 262 $leftPanel.detach(); 263 $menuWrapper.prepend($mainMenu); 264 $menuWrapper.prepend($mobileHeader); 265 } 266 267 function isDesktop() { 268 return window.innerWidth >= 992; 269 } 270 271 function clearDesktopSubmenu() { 272 $mainMenu.find("li.main-menu-item").removeClass("desktop-cat-active"); 273 $leftPanel.removeClass("has-submenu-open"); 274 $menuContainer.removeClass("submenu-open"); 275 $subPanel.removeClass("panel-open").html(""); 276 } 277
278 function renderSubPanel($parentLi) { 279 var $headerLi = $parentLi.clone(false, false); 280 var baseClass = $parentLi.attr("class").replace(/\bdesktop-submenu-header\b/g, "").trim(); 281 $headerLi.attr("class", baseClass + " desktop-submenu-header"); 282 $headerLi.find("> a").removeClass("go-back-menu").find("i.menu-back-icon").remove(); 283 $headerLi.find("> a .open-menu").hide(); 284 $headerLi.find("> div.collapse").addClass("is-visible in"); 285 $headerLi.find("> div.collapse div.collapse").addClass("is-visible in"); 286 $headerLi.find("> div.collapse .open-menu").hide(); 287 288 var headerHeight = $mobileHeader.outerHeight() || 0; 289 var $spacer = $("<div class=\"desktop-subpanel-header-spacer\"></div>").css({height: headerHeight + "px", display: "block"}); 290 291 var $outerWrap = $("<div class=\"mobile-main-menu-container main-menu main-menu-3 accordion-menu\"></div>"); 292 var $innerWrap = $("<ul class=\"j-menu\"></ul>"); 293 $innerWrap.append($headerLi); 294 $outerWrap.append($innerWrap); 295 296 $subPanel 297 .removeClass("panel-open") 298 .html("") 299 .append($spacer) 300 .append($outerWrap); 301 302 void $subPanel[0].offsetWidth; 303 $subPanel.addClass("panel-open"); 304 $menuContainer.addClass("submenu-open"); 305 } 306 307 function bindDesktopEvents() { 308 $(category_items).off("click.desktop").on("click.desktop", function (e) { 309 if (!isDesktop()) return; 310 if ($(this).closest("#desktop-submenu-panel").length) return; 311 312 if ( 313 $(e.target).hasClass("menu-back-icon") || 314 $(e.target).closest(".menu-back-icon").length > 0 315 ) { 316 clearDesktopSubmenu(); 317 e.preventDefault(); 318 e.stopImmediatePropagation(); 319 return false; 320 } 321 322 var $a = $(this); 323 var $li = $a.closest("li.main-menu-item"); 324 var $collapse = $a.next("div.collapse"); 325 326 if ($collapse.length === 0) return; 327 328 e.preventDefault(); 329 e.stopImmediatePropagation(); 330 331 $mainMenu.find("li.main-menu-item").removeClass("desktop-cat-active"); 332 $li.addClass("desktop-cat-active"); 333 $leftPanel.addClass("has-submenu-open"); 334 335 renderSubPanel($li); 336 return false; 337 }); 338 339 $(subcategory_items).off("click.desktop").on("click.desktop", function (e) { 340 if (!isDesktop()) return; 341 if ($(this).closest("#desktop-submenu-panel").length) return; 342 343 if ( 344 $(e.target).hasClass("menu-back-icon") || 345 $(e.target).closest(".menu-back-icon").length > 0 346 ) { 347 return; 348 } 349 350 var $a = $(this); 351 var $li = $a.closest("li"); 352 var $collapse = $a.next("div.collapse"); 353 354 if ($collapse.length === 0) return; 355 356 e.preventDefault(); 357 e.stopImmediatePropagation(); 358 359 renderSubPanel($li); 360 return false; 361 }); 362 } 363 364 function unbindDesktopEvents() { 365 $(category_items).off("click.desktop"); 366 $(subcategory_items).off("click.desktop"); 367 clearDesktopSubmenu(); 368 } 369 370 function handleDesktopMenuResize() { 371 if (isDesktop()) { 372 initDesktopLayout(); 373 $subPanel.show(); 374 bindDesktopEvents(); 375 } else { 376 $subPanel.hide(); 377 unbindDesktopEvents(); 378 destroyDesktopLayout(); 379 } 380 } 381 handleDesktopMenuResize(); 382 $(window).on("resize.desktopmenu", handleDesktopMenuResize); 383 384 if (typeof MutationObserver !== "undefined" && $menuContainer.length) { 385 var _desktopMenuObserver = new MutationObserver(function (mutations) { 386 mutations.forEach(function (mutation) { 387 if (mutation.attributeName === "class") { 388 if (!$menuContainer.hasClass("animating")) { 389 clearDesktopSubmenu(); 390 } else if (isDesktop()) { 391 bindDesktopEvents(); 392 } 393 } 394 }); 395 }); 396 _desktopMenuObserver.observe($menuContainer[0], { attributes: true }); 397 } 398 399});
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.