PageSourceSearch

https://www.sportvision.ro/nb-public/themes/nbshop5_v5_8/blocks/na…/main_4level_v7_new/script.js?ver=1005_4.1

js sportvision.ro collected 2026-09-29 23:02:02 UTC 13,074 bytes, 376 lines download raw bytes

1$(window).on("load", function(){
2
3    // New functions for main mobile menu
4    if($(window).innerWidth() <= 991){
5
6        $('body').scroll(function(){
7            if ($(this).scrollTop() > 80) $('.header').addClass('fixed');
8            if ($(this).scrollTop() < 80) $('.header').removeClass('fixed');
9        });
10
11        initMenuBackBtn();
12        appendUserActionsInMobileMenu();
13        appendChangeCountryInMobileMenu();
14        appendChangeLangInMobileMenu();
15        appendQuickLinksInMobileMenu();
16        appendFooterMenuInMobileMenu();
17        closeMenuOnSearchClose();
18        closeMenuOnMiniCartClose();
19        appendMiniCartInMobileMenu();
20        resetOpenTabsOnClose();
21
22        $('.wsmenu').addClass('first-level');
23
24        //Close mob menu
25        $('.wsmenu .mobile-menu-header .close').click(function (){
26            $('.header').removeClass('wsactive');
27            $('html').css('overflow','');
28        })
29
30        //  open not tab item
31        $('.wsmenu-list > li:not(.tab)').find('.wsmegamenu').addClass('hidden');
32
33        setTimeout(createMobileNavigation, 100);
34
35        triggerFunctionOnAjaxMenuLoad(createMobileNavigation);
36
37    }
38
39    // end menu
40
41})
42
43let triggerFunctionOnAjaxMenuLoad = function (listener) {
44    if(typeof loadMenuOnAjaxVar !== "undefined" && loadMenuOnAjaxVar && typeof listener === "function") {
45        $(window).on("mobileMenuContentLoaded", function () {
46            listener();
47        })
48    }
49}
50
51let createMobileNavigation = function () {
52
53    let newClickTriggersAdded = false;
54
55    $('.wsmenu-list > li').each(function (){
56
57
58        if($(this).hasClass('level3')){
59
60            let counter = 1;
61            $(this).find('.menu-item').each(function (){
62                $(this).attr('data-num',counter);
63                $(this).find('.wstheading').attr('data-num',counter);
64                // window.nbshopJS.disableLinks($(this).find('.wstheading a'));
65                counter++;
66
67                if(!newClickTriggersAdded) {
68                    $('.wsmenu>.wsmenu-list>li .wstliststy02 li:not(.wstheading)').addClass('hidden');
69                    $('.wsmenu>.wsmenu-list>li .wstliststy02 li.wstheading').click(function () {
70                        $(this).parent().find('li:not(.wstheading)').toggleClass('hidden');
71                        $(this).toggleClass('active');
72                        $(this).closest('.menu-item').toggleClass('active');
73                    })
74                    newClickTriggersAdded = true;
75                }
76
77            });
78
79            $(this).find('>.wsmenu-click').click(function(){
80                let headingText = $(this).closest('li').find('.navtext').html();
81                $('.mobile-menu-header .title').attr('data-lvl2Text', headingText);
82                setHeadingText(headingText);
83
84                setNotFirstLevel();
85                setLevelDeep('2');
86                $(this).closest('li').find('.navtext').addClass('hidden');
87                $('.wsmenu-list>li').addClass('hidden');
88                $(this).closest('li').removeClass('hidden');
89                $(this).closest('li').find('.wsmegamenu').removeClass('hidden');
90            })
91
92        }
93
94        if($(this).hasClass('level4')){
95
96            $(this).find('.wsshoptabing, .wsshoptabing .menu-item li:not(.wstheading)').addClass('hidden');
97
98            let counter = 1;
99            $(this).find('.wstabitem > li').each(function (){
100                window.nbshopJS.disableLinks($(this).find('> a'));
101                $(this).attr('data-num',counter);
102                $(this).find('> a').attr('data-num',counter);
103                if(counter === 1){
104                    $(this).find('> a').addClass('active');
105                    $(this).addClass('active');
106                }
107                counter++;
108            });
109
110            $(this).find('>.wsmenu-click').click(function(){
111
112                let headingText = $(this).closest('li').find('.navtext').html();
113                $('.mobile-menu-header .title').attr('data-lvl2Text', headingText);
114                setHeadingText(headingText);
115
116                setNotFirstLevel();
117                setLevelDeep('2');
118                $(this).closest('li').find('.navtext').addClass('hidden');
119                $('.wsmenu-list>
119li:not(.tab)').addClass('hidden');
120                $(this).closest('li').removeClass('hidden');
121                $(this).closest('li').find('.wsshoptabing').removeClass('hidden');
122                $(this).closest('li').find('> .navtext').addClass('hidden');
123                $(this).closest('li').find('> .wsmenu-click').addClass('hidden');
124            })
125
126            $(this).find('.wstheading > .wsmenu-click').click(function (){
127                let headingText = $(this).closest('li').find('>a').html();
128                $('.mobile-menu-header .title').attr('data-lvl3Text', headingText);
129                setHeadingText(headingText);
130
131                setLevelDeep('4tab');
132                $(this).closest('.menu-item').find('li').removeClass('hidden')
133                $(this).closest('.wstitemright').find('.wstheading').addClass('hidden');
134            })
135
136        }
137    });
138}
139
140//menu functions
141let backToFirstLevel = () => {
142    $('.wsmenu').addClass('first-level');
143    $('.wsmenu-list>li:not(.tab)').removeClass('hidden');
144    $('.wsmenu-list li.tab .wsshoptabing, .wsmenu-list li.tab .wsmegamenu').addClass('hidden');
145    $('.wsmenu-list li.tab').removeClass('active');
146
147    $('.wsmenu-list>li:not(.tab)').find('.wsmegamenu, .wsshoptabing').addClass('hidden');
148
149    $('.wsmenu-list>li:not(.tab)').find('> .navtext').removeClass('hidden');
150    $('.wsmenu-list>li:not(.tab)').find('> .wsmenu-click').removeClass('hidden');
151
152    setHeadingText($('.mobile-menu-header .title').attr('data-originalText'));
153}
154
155let goToLevel3 = ($item) => {
156    if($item.closest('.menu-item').length > 0){
157        let headingText = $item.closest('.menu-item').find('>ul>li>a').html();
158
159        //$('.mobile-menu-header .title').attr('data-lvl3Text', headingText);
160
161        setHeadingText(headingText);
162
163        if($item.closest('.level3').length > 0){
164            setLevelDeep('3');
165        }else{
166            setLevelDeep('4');
167        }
168        setNotFirstLevel();
169        $item.closest('.row').find('.menu-item>ul>li').addClass('hidden');
170        $item.closest('.menu-item').find('li').removeClass('hidden');
171        $item.closest('.menu-item').find('li.wstheading').addClass('hidden');
172    } else if($item.closest('.wstabitem').length > 0){
173        let headingText = $item.html();
174        $('.mobile-menu-header .title').attr('data-lvl3Text', headingText);
175        setHeadingText(headingText);
176
177        setLevelDeep('3');
178        setNotFirstLevel();
179        $item.find('.wstitemright').removeClass('hidden');
180        $item.closest('.wstabitem').find('>li').addClass('hidden');
181        $item.removeClass('hidden');
182        $item.find('>a, >span').addClass('hidden');
183    }
184}
185
186let backToLevel3 = () => {
187    $('.wsmenu-list li.tab .menu-item li').addClass('hidden');
188    $('.wsmenu-list li.tab .menu-item li.wstheading').removeClass('hidden');
189    setLevelDeep('3');
190
191    setHeadingText($('.mobile-menu-header .title').attr('data-lvl3Text'));
192}
193
194let backToLevel2 = () => {
195    backToLevel3();
196    $('.wsmenu-list li.tab .wstabitem > li, .wsmenu-list li.tab .wstabitem > li > a, .wsmenu-list li.tab .wstabitem > li > span').removeClass('hidden');
197    $('.wsmenu-list li.tab .wstabitem > li > .wstitemright').addClass('hidden');
198    setLevelDeep('2');
199
200    setHeadingText($('.mobile-menu-header .title').attr('data-lvl2Text'));
201}
202
203let backToLevel2Tab = () => {
204    $('.wsmenu-list>li.level4').find('.menu-item').find('li').addClass('hidden')
205    $('.wsmenu-list>li.level4').find('.wstitemright').find('.wstheading').removeClass('hidden');
206    setLevelDeep(2);
207
208    setHeadingText($('.mobile-menu-header .title').attr('data-lvl2Text'));
209}
210
211let appendUserActionsInMobileMenu = () => {
212    $('.wsmenu-list .mobile-menu-useractions .content').append($('.header .block.user'));
213    $('.wsmenu-list .mobile-menu-useractions').removeClass('hidden')
214}
215
216let appendMiniCartInMobileMenu = () => {
217    let menuOpenIcon = $('#wsnavtoggle');
218    let menuCloseIcon = $('.mobile-menu-header .close');
219
220    let menuCart = $('.mobile-menu-header .mobile-menu-cart');
221    let headerCart = $('.main-header-wrapper #miniCartContent');
222    let headerFav = $('.main-header-wrapper .right-icons-wrapper #miniFavContent');
223
224    menuOpenIcon.click(function () {
225        if(menuCart.find('#miniCartContent').length == 0) {
226            menuCart.append(headerCart);
227        }
228    })
229    menuCloseIcon.click(function () {
230        if($('.main-header-wrapper .right-icons-wrapper').find('#miniCartContent').length == 0) {
231            menuCart.find('#miniCartContent').insertAfter(headerFav);
232        }
233    })
234
235}
236
237let appendChangeCountryInMobileMenu = () => {
238    let $block = $('.footer .block.country-menu').clone();
239    $('.wsmenu-list .mobile-menu-country').append($block);
240
241    $('.mobile-menu-country .country-menu .choose-country').click(function (){
242        $('.mobile-menu-country .country-menu').addClass('active');
243        $('body').addClass('modal-open');
244    })
245    $('.mobile-menu-country .country-menu .overlay,.mobile-menu-country .country-menu .close').click(function (){
246        $('.mobile-menu-country .country-menu').removeClass('active');
247        $('body').removeClass('modal-open');
248    })
249}
250
251let appendChangeLangInMobileMenu = () => {
252    let $block = $('.header-top .lang-wrapper.lang-from-slider').clone();
253    $('.wsmenu-list .mobile-menu-lang').append($block);
254
255    // $('.mobile-menu-country .country-menu .choose-country').click(function (){
256    //     $('.mobile-menu-country .country-menu').addClass('active');
257    //     $('body').addClass('modal-open');
258    // })
259    // $('.mobile-menu-country .country-menu .overlay,.mobile-menu-country .country-menu .close').click(function (){
260    //     $('.mobile-menu-country .country-menu').removeClass('active');
261    //     $('body').removeClass('modal-open');
262    // })
263}
264
265function resetOpenTabsOnClose() {
266
267    let closeButton = $(".wsmenu .mobile-menu-header .close");
268
269    if(typeof closeButton === "undefined" || closeButton.length === 0) return;
270
271    closeButton.click(function () {
272
273        let backBtn = $(".wsmenu:not(.first-level) .mobile-menu-header .back-btn");
274        let expandedFooter = $(".wsmenu-list .mobile-menu-footer-menu .col-xs-12:has(.items-wrapper[style='display: block;']) .heading-wrapper");
275
276        if(typeof backBtn !== "undefined" && backBtn.length > 0) {
277            backBtn.trigger("click");
278        }
279        if(typeof expandedFooter !== "undefined" && expandedFooter.length > 0) {
280            expandedFooter.trigger("click");
281        }
282
283    })
284}
285
286let appendQuickLinksInMobileMenu = () => {
287    $('.quick-links-v1 .nav > .item').each(function (){
288        $('.wsmenu .fixed-menu-links').append($(this));
289    })
290}
291
292let appendFooterMenuInMobileMenu = () => {
293    let $block = $('.footer .block.footer-nav').clone();
294    $('.wsmenu-list .mobile-menu-footer-menu').append($block);
295
296    if($(window).innerWidth() <= 576){
297        initFooterMenuToggleInMobileMenu();
298    }
299}
300
301let initFooterMenuToggleInMobileMenu = () => {
302    $('.wsmenu-list .mobile-menu-footer-menu .heading-wrapper').each(function (){
303        $(this).click(function (){
304            $(this).parent().find('.items-wrapper').slideToggle('slow');
305        })
306    })
307}
308
309let setNotFirstLevel = () => {
310    $('.wsmenu').removeClass('first-level');
311}
312
313let setLevelDeep = (level) => {
314    $('.wsmenu').attr('data-leveldeep',level);
315}
316
317let initMenuBackBtn = () => {
318    $('.mobile-menu-header .back-btn, .mobile-menu-header:has(.back-btn) .title').click(function (){
319        let level = $('.wsmenu').attr('data-leveldeep');
320        console.log(level)
321
322        switch (level) {
323            case '2':
324                backToFirstLevel();
325                break;
326            case '3':
327                backToLevel2();
328                break;
329            case '4':
330                backToLevel3();
331                break;
332            case '4tab':
333                backToLevel2Tab();
334                break;
335            default:
336                console.log();
337        }
338    })
339}
340
341let closeMenuOnSearchClose = () => {
342    let searchClose = $('.autocomplete-close');
343    let menuClose = $('.mobile-menu-header .close');
344
345    searchClose.click(function () {
346        if($('.header.wsactive').length !== 0) {
347            menuClose.trigger('click');
348        }
349    })
350
351}
352
353let closeMenuOnMiniCartClose = () => {
354    let searchClose = $('.header-cart .close-mini-cart');
355    let menuClose = $('.mobile-menu-header .close');
356
357    searchClose.click(function () {
358        if($('.header.wsactive').length !== 0) {
359            menuClose.trigger('click');
360        }
361    })
362
363}
364
365let openSearchMobile = () => {
366    if($('.autocomplete-button').length !== 0) {
367        $('.autocomplete-button').click();
368    }
369}
370
371let setHeadingText = (text) => {
372    let $mobHeaderTitle = $('.mobile-menu-header .title');
373
374    $mobHeaderTitle.html(text);
375}
376/* -------------*/

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.