PageSourceSearch

https://www.icpsolution.com/wp-content/themes/langwitch/design/js/menu.js?ver=6.9.9

js icpsolution.com collected 2026-10-04 13:24:44 UTC 4,565 bytes, 173 lines download raw bytes

1
2
3"use strict";
4
5function desktopMenu(){
6	if(!isResponsive(641)){
7		// only run at 640px+
8		jQuery('.nav-menu-main').find('li').each(function(){
9			if(jQuery(this).find('ul.sub-menu').length){
10				// item has a submenu
11				jQuery(this).addClass('has-submenu');
12			}
13		});
14
15		popupDesktopMenu();
16
17		androidDesktopMenuFix();
18	}
19}
20
21function responsiveMenu(){
22	var toggle = '.main-nav .menu-toggle' + (isResponsive(320) ? '' : ', .menu-overlay');
23	jQuery(toggle).bind('touchstart MSPointerDown mousedown', function(e){
24		e.stopPropagation();
25		e.preventDefault();
26		jQuery('#masthead').toggleClass('menu-opened');
27		return false;
28	});
29}
30
31function relocateSiteTools() {
32
33	var headersTools = {
34
35		'header-one': [
36			{
37				selector: '.site-tools',
38				regularPos: jQuery('.header-container'),
39				relocatedPos: jQuery('.site-header > .menu-container .nav-menu-container')
40			},
41		],
42
43		'header-two': [
44			{
45				selector: '.ait-woocommerce-cart-widget',
46				regularPos: { after: jQuery('.header-top .grid-main div:last-child') },
47				relocatedPos: { after: jQuery('.header-container .site-logo') },
48			}
49		],
50
51		'header-three': [
52			{
53				selector: '.site-info',
54				regularPos: jQuery('.header-container'),
55				relocatedPos: jQuery('.site-header .header-two .nav-menu-container')
56			}
57		],
58
59		'header-four': [
60			{
61				selector: '.site-tools',
62				regularPos: { after: jQuery('.header-container .site-logo') },
63				relocatedPos: jQuery('.site-header > .menu-container .nav-menu-container')
64			}
65		],
66
67		'header-five': [
68			{
69				selector: '.site-tools',
70				regularPos: { after: jQuery('.header-container .site-logo') },
71				relocatedPos: jQuery('.site-header > .menu-container .nav-menu-container')
72			}
73		],
74
75		'header-six': [
76			{
77				selector: '.site-tools',
78				regularPos: { after: jQuery('.site-header > .menu-container .main-nav') },
79				relocatedPos: jQuery('.site-header > .menu-container .nav-menu-container')
80			}
81		]
82
83	};
84
85	var actualHeader = jQuery('.site-header').data('header');
86
87	var relocateTools = function(pos) {
88		if (!(actualHeader in headersTools)) return;
89		jQuery(headersTools[actualHeader]).each(function() {
90			var desiredPos = this[pos];
91			var toolPos = desiredPos instanceof jQuery ? desiredPos : (desiredPos.after).parent();
92			if(toolPos.find('> '+this.selector).length <= 0) {
93				if (desiredPos instanceof jQuery) {
94					jQuery(this.selector).first().prependTo(desiredPos);
95				} else {
96					jQuery(this.selector).first().insertAfter((desiredPos.after));
97				}
98			}
99		});
100	}
101
102	if(isResponsive(768)){
103		relocateTools('relocatedPos');
104	} else {
105		relocateTools('regularPos');
106	}
107}
108
109function androidDesktopMenuFix(){
110	if(isAndroid()){
111		jQuery('.nav-menu-main').find('li').each(function(){
112			jQuery(this).bind('click', function(e){
113				e.stopPropagation();
114				if(jQuery(this).hasClass('has-submenu')){
115					var itemID = jQuery(this).attr('id');
116					if(jQuery(this).hasClass('clicked-once')){
117						// the second click on target
118					} else {
119						// if there was clicked on other item reset all except current
120						jQuery('.nav-menu-main').find('li').each(function(){
121							if(jQuery(this).attr('id') != itemID){
122								jQuery(this).removeClass('clicked-once');
123							}
124						});
125						// first click on target
126						e.preventDefault();
127						jQuery(this).addClass('clicked-once');
128					}
129				} else {
130					// normal flow
131				}
132			});
133		});
134	}
135}
136
137function popupDesktopMenu(){
138	if(jQuery('body').hasClass('sticky-menu-enabled')){
139		var clonedMenu = jQuery('header.site-header .nav-menu-main').clone();
140		if(typeof clonedMenu.find('ul.nav-menu').attr('id') != "undefined"){
141			clonedMenu.find('ul.nav-menu').attr({'id':clonedMenu.find('ul.nav-menu').attr('id')+'-clone'});
142		}
143		clonedMenu.find('ul.nav-menu').children('li').each(function(){
144			if(typeof jQuery(this).attr('id') != "undefined"){
145				jQuery(this).attr({'id': jQuery(this).attr('id')+"-clone"});
146			}
147		});
148		jQuery('div.sticky-menu .main-nav').append(clonedMenu);
149
150		var container = jQuery('#masthead');
151		var menu = {offset: container.offset(), height: container.outerHeight(true)};
152		var page = jQuery('body');
153		var scroll = (menu.offset.top + menu.height);
154		if(!isResponsive(641)){
155			var win = jQuery(window);
156			/*win.scroll(function(){
157				if(win.scrollTop() > scroll){
158					page.addClass('header-scrolled');
159				} else {
160					page.removeClass('header-scrolled');
161				}
162			});*/
163
164			setInterval(function(){
165				if(win.scrollTop() > scroll){
166					page.addClass('header-scrolled');
167				} else {
168					page.removeClass('header-scrolled');
169				}
170			},200);
171		}
172	}
173}

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.