PageSourceSearch

https://www.fesco.ru/frontend/dist/js/newMenu.js?177373880019937

js fesco.ru collected 2026-10-02 09:57:49 UTC 19,937 bytes, 620 lines download raw bytes

1function emptyFieldsCallback(val){
2
3	$("#empty-fields-callback").click();
4
5	//console.log(val);
6
7}
8
9/*cookies*/
10(function (factory) {
11    if (typeof define === 'function' && define.amd) {
12        // AMD (Register as an anonymous module)
13        define(['jquery'], factory);
14    } else if (typeof exports === 'object') {
15        // Node/CommonJS
16        module.exports = factory(require('jquery'));
17    } else {
18        // Browser globals
19        factory(jQuery);
20    }
21}(function ($) {
22
23    var pluses = /\+/g;
24
25    function encode(s) {
26        return config.raw ? s : encodeURIComponent(s);
27    }
28
29    function decode(s) {
30        return config.raw ? s : decodeURIComponent(s);
31    }
32
33    function stringifyCookieValue(value) {
34        return encode(config.json ? JSON.stringify(value) : String(value));
35    }
36
37    function parseCookieValue(s) {
38        if (s.indexOf('"') === 0) {
39            // This is a quoted cookie as according to RFC2068, unescape...
40            s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
41        }
42
43        try {
44            // Replace server-side written pluses with spaces.
45            // If we can't decode the cookie, ignore it, it's unusable.
46            // If we can't parse the cookie, ignore it, it's unusable.
47            s = decodeURIComponent(s.replace(pluses, ' '));
48            return config.json ? JSON.parse(s) : s;
49        } catch(e) {}
50    }
51
52    function read(s, converter) {
53        var value = config.raw ? s : parseCookieValue(s);
54        return $.isFunction(converter) ? converter(value) : value;
55    }
56
57    var config = $.cookie = function (key, value, options) {
58
59        // Write
60
61        if (arguments.length > 1 && !$.isFunction(value)) {
62            options = $.extend({}, config.defaults, options);
63
64            if (typeof options.expires === 'number') {
65                var days = options.expires, t = options.expires = new Date();
66                t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
67            }
68
69            return (document.cookie = [
70                encode(key), '=', stringifyCookieValue(value),
71                options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
72                options.path    ? '; path=' + options.path : '',
73                options.domain  ? '; domain=' + options.domain : '',
74                options.secure  ? '; secure' : ''
75            ].join(''));
76        }
77
78        // Read
79
80        var result = key ? undefined : {},
81            // To prevent the for loop in the first place assign an empty array
82            // in case there are no cookies at all. Also prevents odd result when
83            // calling $.cookie().
84            cookies = document.cookie ? document.cookie.split('; ') : [],
85            i = 0,
86            l = cookies.length;
87
88        for (; i < l; i++) {
89            var parts = cookies[i].split('='),
90                name = decode(parts.shift()),
91                cookie = parts.join('=');
92
93            if (key === name) {
94                // If second argument (value) is a function it's a converter...
95                result = read(cookie, value);
96                break;
97            }
98
99            // Prevent storing a cookie that we couldn't decode.
100            if (!key && (cookie = read(cookie)) !== undefined) {
101                result[name] = cookie;
102            }
103        }
104
105        return result;
106    };
107
108    config.defaults = {};
109
110    $.removeCookie = function (key, options) {
111        // Must not alter options, thus extending a fresh object...
112        $.cookie(key, '', $.extend({}, options, { expires: -1 }));
113        return !$.cookie(key);
114    };
115
116}));
117/*cookies*/
118
119
120var jivo_onLoadCallback  = function() {
121	$(".link--chatlink-feedback").fadeIn(300);
122}
123
124
125// Флаг включённости слайдера slick
126var slickSliderActive = false;
127
128// Включение или выключение слайдера (в зависимости от ширины)
129function checkSlider(){
130
131    // Если вьюпорт уже чем 768
132    if( $(window).width() < 768 - getScroll() ) {
133
134        // Если флаг включённости опущен, то включим и поднимем флаг
135        if(slickSliderActive == false) {
136            $('.cases-new-list').slick({
137                dots: false,
138                slidesToShow: 1,
139                slidesToScroll: 1,
140                adaptiveHeight: true,
141                dots: true,
142            });
143            slickSliderActive = true;
144        }
145
146    }
147    // Иначе (вьюпорт НЕ уже чем 768)
148    else {
149
150        // Если флаг включённости поднят, выключаем и опускаем флаг
151        if(slickSliderActive == true) {
152            $('.cases-new-list').slick('unslick');
153            slickSliderActive = false;
154        }
155
156    }
157};
158
159// По готовности DOM...
160checkSlider();
161
162// По любому изменению размера вьюпорта...
163$(window).on('resize', checkSlider);
164
165function getScroll(){
166    var div = document.createElement('div');
167    div.style.overflowY = 'scroll';
168    div.style.width = '50px';
169    div.style.height = '50px';
170    div.style.visibility = 'hidden';
171    document.body.appendChild(div);
172    var scrollWidth = div.offsetWidth - div.clientWidth;
173    document.body.removeChild(div);
174    return scrollWidth;
175}
176
177
178
179$(document).ready(function(){
180
181	/*АНИМАЦИЯ ГЛАВНОГО ЭКРАНА К НГ*/
182
183
184	$("body").on("click", ".new-year-popUp-close a, .new-year-popup-shadow", function(){
185        $(".new-year-popup").fadeOut();
186        return false;
187    });
188    $("body").on("click", ".new-year-line-tree",  function(){
189        $(".new-year-popup").fadeIn();
190        return false;
191    })
192
193	if($(".animation_tree").length > 0){
194
195        setTimeout(function(){
196
197            var duration = 0;
198            $(".animation_tree").each(function(index){
199
200                duration = duration+$(this).data("startAnimation");
201                $(this).css("transition-duration", duration+"s").css("opacity", 1);
202
203            });
204
205        }, 3000);
206
207    }
208
209
210
211    $("body").on("mouseenter",'#under-present', function() {
212        $(function(){
213            $('.box-present').addClass('active');
214            console.log('enter');
215        });
216    });
217
218    /*АНИМАЦИЯ ГЛАВНОГО ЭКРАНА К НГ*/
219
220    $("body").on("click", ".close-cases-new-detail", function(){
221        $(".cases-new-detail").removeClass("open").addClass("close");
222        //$(".cases-new-detail-slider").slick('unslick');
223        return false;
224    });
225
226
227
228    $("body").on("click", ".cases-new-list .cases-new-item a", function(){
229        $(".cases-new-detail").removeClass("close").addClass("open");
230
231        var detailCaseId = $(this).data("itemcaseid");
232        $(".cases-new-detail-container").hide();
233        $(".cases-new-detail-container.cases-new-detail-item-"+detailCaseId).show();
234
235        if(!$(".cases-new-detail-container.cases-new-detail-item-"+detailCaseId+" .cases-new-detail-slider").hasClass("slick-slider")) {
236
237            var prevBtn = $(".cases-new-detail-container.cases-new-detail-item-" + detailCaseId + " .cases-new-detail-slider").parent().find(".cases-new-detail-slider-btn-left");
238            var nextBtn = $(".cases-new-detail-container.cases-new-detail-item-" + detailCaseId + " .cases-new-detail-slider").parent().find(".cases-new-detail-slider-btn-right");
239
240            $(".cases-new-detail-container.cases-new-detail-item-" + detailCaseId + " .cases-new-detail-slider").slick({
241                slidesToShow: 1,
242                slidesToScroll: 1,
243                prevArrow: prevBtn,
244                nextArrow: nextBtn,
245                arrows: true,
246                dots: false,
247            });
248
249        }
250
251        return false;
252    });
253
254    $("body").on("click", ".popUp-application-close a", function(){
255        $(".popUp-application-container").removeClass("active");
256        $.cookie("applicationnew", 'hide', { expires: 365, path: '/' });
257        return false;
258    });
259
260	var e = $("#top-slider-3");
261    if (e.length) {
262        var t = e.data("autoplay");
263        e.on("init", (function() {
264            e.find(".slick-slide").length <= 2 && e.parent().find(".slick-arrows").css("display", "none"),
265            e.find(".slick-dots button").on("click", (function() {
266                var t = parseInt(y()(this).text()) - 2;
267                e.slick("slickGoTo", t)
268            }
269            ))
270        }
271        )),
272        e.slick({
273            dots: !0,
274            infinite: false,
275            speed: 600,
276            slidesToShow: 2,
277            slidesToScroll: 2,
278            prevArrow: $(".slick-arrow-prev"),
279            nextArrow: $(".slick-arrow-next"),
280            appendDots: $('.slick-arrow-dots-imidj'),
281            fade: false,
282            cssEase: "linear",
283            autoplay: !!t,
284            autoplaySpeed: t,
285            responsive: [
286                {
287                  breakpoint: 768,
288                  settings: {
289                    slidesToShow: 1,
290                    slidesToScroll: 1,
291                  }
292                }
293            ]
294        })
295    }
296
297});
298
299$(document).ready(function(){
300
301	$("body").on("click", ".popUp-application-close a", function(){
302        $(".popUp-application-container").removeClass("active");
303		$.cookie("application", 'hide', { expires: 365, path: '/' });
304        return false;
305    });
306
307	$("body").on("click", ".custome-search-tabs-list a", function(){
308
309		if(!$(this).hasClass("active")){
310
311			$(".custome-search-tabs-list a").removeClass("active");
312			$(this).addClass("active");
313
314			$(this).closest("form").find(".pseudo-selected-where").val($(this).data("value"));
315			$(this).closest("form").submit();
316
317		}
318		
319		return false;
320
321	});
322
323	$("body").on("click", ".btn--open-pop-up-on-page", function(){
324		$('.popup[data-popup="request-form-popup"]').css({'display':'flex'}).trigger('open');
325		return false;
326	});
327
328/*
329	$("body").on("mouseenter", ".header__tab.js-header-tab .header__tabLink.ui-tabs-anchor", function(){
330
331		if(!$(this).parent().hasClass("ui-tabs-active")){
332
333			var thisItemID = $(this).attr("id");
334			var thisItemLinkCurrent = $(this).attr("href");
335			var thisItemLinkData = $(this).data("tab-url");
336
337			if(thisItemLinkCurrent.indexOf("tab") > -1){
338				$(this).attr("href", thisItemLinkData);
339				$(this).parent().attr("aria-selected", "true");
340				$(this).parent().attr("aria-expanded", "true");
341				$(this).parent().attr("tabindex", "0");
342			}
343			
344			$(this).parent()
345			
346			var parentContainer = $(this).closest(".header__tab");
347
348			$(parentContainer).find(".ui-tabs-panel").hide();
349			$(parentContainer).find(".header__tabItem").removeClass("ui-tabs-active ui-state-active");
350			$(parentContainer).find(".ui-tabs-panel[aria-labelledby="+thisItemID+"]").show().attr("aria-hidden", "false");
351			$(parentContainer).find(".header__tabItem[aria-labelledby="+thisItemID+"]").addClass("ui-tabs-active ui-state-active ui-state-active");
352					
353		}
354
355	});
356
357	$("body").on("click", ".header__tab.js-header-tab .header__tabItem a span", function(){
358
359		console.log("click this");
360
361	});
362*/
363});
364
365$(window).scroll(function() {
366
367	if(window.matchMedia("(max-width: 1100px)").matches){
368		if ($(window).scrollTop() > 0){
369	        $('header').addClass("sticky");
370			$("body").removeClass("iti-mobile");
371	    }
372	    else{
373	        $('header').removeClass("sticky");
374	    }
375	}
376    
377});
378
379$('.container-shipping.with-scroll a').on('click', function() {
380
381    let href = $(this).attr('href');
382
383    $('html, body').animate({
384        scrollTop: $(href).offset().top
385    }, {
386        duration: 470,   // по умолчанию «400» 
387        easing: "linear" // по умолчанию «swing» 
388    });
389
390    return false;
391});
392
393$('a.new-service-open').on('click',function(){
394    if($('.container-new-services').hasClass('active')){
395        $('.container-new-services.active').removeClass('active').fadeOut(300);
396    }
397    else{
398        $('.container-new-services').addClass('active').fadeIn(300);
399    }
400})
401$('a.new-service-open').on('click',function(){
402    if($('.click-none').hasClass('active')){
403        $('.click-none.active').removeClass('active').fadeIn(300);
404    }
405    else{
406        $('.click-none').addClass('active');
407    }
408})
409
410if($.cookie('popular-service') == null){
411    slickCourosel();
412}else{
413    if($.cookie('popular-service') == "hide"){
414        $('.popular-directions-container.active').removeClass('active').hide();
415        $('.popular-directions-icon.active').removeClass('active');
416    }else{
417        slickCourosel();
418    }
419}
420
421
422$('a.popular-directions-opened').on('click',function(){
423    if($('.popular-directions-container').hasClass('active')){
424        $('.popular-directions-icon.active').removeClass('active');
425        $('.popular-directions-container.active').removeClass('active').hide();
426        $.cookie('popular-service', 'hide', { expires: 365, path: '/' });
427        destroyCarousel();
428     }
429    else{
430        $('.popular-directions-container').addClass('active').fadeIn(300);
431        $('.popular-directions-icon').addClass('active').fadeIn(300);
432        $.cookie('popular-service', 'show', { expires: 365, path: '/' });
433        slickCourosel();
434    }
435    return false;
436});
437
438function destroyCarousel() {
439    $(".popular-directions-block-list").slick("destroy");
440}
441function slickCourosel() {
442    $(".popular-directions-block-list").slick({
443        dots: false,
444        infinite: false,
445        speed: 600,
446        slidesToShow: 5,
447        slidesToScroll: 1,
448        prevArrow: $(".popular-directions-block-detail-arrow .slick-arrow-prev"),
449        nextArrow: $(".popular-directions-block-detail-arrow .slick-arrow-next"),
450        responsive: [
451            {
452                breakpoint: 1024,
453                settings: {
454                    slidesToShow: 3,
455                    slidesToScroll: 1,
456                    infinite: true,
457                    dots: true
458                }
459            },
460            {
461                breakpoint: 480,
462                settings: {
463                    slidesToShow: 1,
464                    slidesToScroll: 1
465                }
466            }
467        ]
468    });
469}
470
471$(window).scroll(function() {
472    if (Math.ceil($(window).scrollTop()) == $(document).height() - $(window).height()) {
473        $(".popular-directions").addClass("invisible");
474    } else if (Math.ceil($(window).scrollTop()) == $(document).height() - $(window).height() + 1) {
475        $(".popular-directions").addClass("invisible");
476    } else {
477        $(".popular-directions").removeClass("invisible");
478    }
479});
480
481/*НАВЕДЕНИЕ НА ПЕРВЫЙ УРОВЕНЬ МЕНЮ, ВКЛЮЧАЕМ ПЕРВЫЙ ДОСТУПНЫЙ ТАБ, ЕСЛИ ТАКОЙ ИМЕЕТСЯ*/
482$("body").on("mouseenter", ".header__item .header__link--lvl1", function(){
483
484    if($(this).parent().find(".header__tab").length > 0){
485
486        var linkElement = $(this).parent().find(".header__tabLink").get(0);
487        var idElement = $(linkElement).data("tabUrl");
488
489        $("div.selectedTab").removeClass("active selectedTab");
490        $("div"+idElement).addClass("active selectedTab");
491        $(".header__tabWrapper .header__tabItem a").removeClass("hovered");
492        $(linkElement).addClass("hovered");
493
494    }
495
496});
497/*НАВЕДЕНИЕ НА ПЕРВЫЙ УРОВЕНЬ МЕНЮ, ВКЛЮЧАЕМ ПЕРВЫЙ ДОСТУПНЫЙ ТАБ, ЕСЛИ ТАКОЙ ИМЕЕТСЯ*/
498
499/*НАВЕДЕНИЕ НА ВТОРОЙ УРОВЕНЬ МЕНБ, С ЗАДЕРЖКОЙ*/
500var timeout_id = 0;
501
502$("body").on("mouseenter", ".header__tabWrapper .header__tabItem a", function(){
503
504    var elementItem = $(this);
505
506    timeout_id = setTimeout(function(){
507        var idElement = $(elementItem).data("tabUrl");
508
509        $("div.selectedTab").removeClass("active selectedTab");
510        $("div" + idElement).addClass("active selectedTab");
511        $(".header__tabWrapper .header__tabItem a").removeClass("hovered");
512        $(elementItem).addClass("hovered");
513    }, 300);
514
515});
516$("body").on("mouseleave", ".header__tabWrapper .header__tabItem a", function(){
517    clearTimeout(timeout_id);
518});
519/*НАВЕДЕНИЕ НА ВТОРОЙ УРОВЕНЬ МЕНБ, С ЗАДЕРЖКОЙ*/
520
521/*НАВЕДЕНИЕ НА ТРЕТИЙ УРОВЕНЬ МЕНЮ, тоже С ЗАДЕРЖКОЙ*/
522var timeout_id_2 = 0;
523$("body").on("mouseenter", ".header__item.header__item--lvl2", function(){
524
525    var elementItem = $(this);
526
527    timeout_id_2 = setTimeout(function(){
528        $(".header__item.header__item--lvl2").removeClass("current");
529        //$(".header__item.header__item--lvl3").removeClass("current");
530        $(elementItem).addClass("current");
531
532        $(".header__item.header__item--lvl2 .header__dropdown--lvl2").removeClass("active selectedItem");
533        //$(".header__item.header__item--lvl3 .header__dropdown--lvl3").removeClass("active selectedItem");
534        $(elementItem).find(".header__dropdown--lvl2").addClass("active selectedItem");
535    }, 200);
536
537});
538$("body").on("mouseleave", ".header__item.header__item--lvl2", function(){
539    clearTimeout(timeout_id_2);
540});
541/*НАВЕДЕНИЕ НА ТРЕТИЙ УРОВЕНЬ МЕНЮ, тоже С ЗАДЕРЖКОЙ*/
542
543/*НАВЕДЕНИЕ НА ЧЕТВЕРТЫЙ УРОВЕНЬ МЕНЮ, тоже с ЗАдержкой*/
544var timeout_id_3 = 0;
545$("body").on("mouseenter", ".header__item.header__item--lvl3", function(){
546
547    var elementItem = $(this);
548
549    timeout_id_3 = setTimeout(function(){
550        $(".header__item.header__item--lvl3").removeClass("current");
551        $(elementItem).addClass("current");
552        $(".header__item.header__item--lvl3 .header__dropdown--lvl3").removeClass("active selectedItem");
553        $(elementItem).find(".header__dropdown--lvl3").addClass("active selectedItem");
554    }, 200);
555
556});
557$("body").on("mouseleave", ".header__item.header__item--lvl3", function(){
558    clearTimeout(timeout_id_3);
559});
560/*НАВЕДЕНИЕ НА ЧЕТВЕРТЫЙ УРОВЕНЬ МЕНЮ, тоже с ЗАдержкой*/
561
562/*НАВЕДЕНИЕ НА ЧЕТВЕРТЫЙ УРОВЕНЬ МЕНЮ, тоже с ЗАдержкой*/
563var timeout_id_4 = 0;
564$("body").on("mouseenter", ".header__item.header__item--lvl4", function(){
565
566    var elementItem = $(this);
567
568    timeout_id_3 = setTimeout(function(){
569        $(".header__item.header__item--lvl4").removeClass("current");
570        $(elementItem).addClass("current");
571        $(".header__item.header__item--lvl4 .header__dropdown--lvl4").removeClass("active selectedItem");
572        $(elementItem).find(".header__dropdown--lvl4").addClass("active selectedItem");
573    }, 200);
574
575});
576$("body").on("mouseleave", ".header__item.header__item--lvl4", function(){
577    clearTimeout(timeout_id_3);
578});
579/*НАВЕДЕНИЕ НА ЧЕТВЕРТЫЙ УРОВЕНЬ МЕНЮ, тоже с ЗАдержкой*/
580
581$(function() {
582  if (window.location.hash === '#subscription') {
583    setTimeout(scrollToSubscription, 100); // Задержка для стабилизации DOM
584  }
585
586  $(document).on('click', 'a[href="#subscription"]', function(e) {
587    e.preventDefault();
588    scrollToSubscription();
589    window.history.replaceState(null, null, '#subscription');
590  });
591
592  function scrollToSubscription() {
593    var $target = $('#subscription');
594    if (!$target.length) return;
595
596    var targetPos = $target[0].getBoundingClientRect().top + window.pageYOffset;
597    var targetHeight = $target.outerHeight();
598
599    var windowHeight = window.innerHeight;
600
601    var scrollTo = targetPos - (windowHeight - targetHeight) / 2;
602
603    var maxScroll = $(document).height() - windowHeight;
604    scrollTo = Math.max(0, Math.min(scrollTo, maxScroll));
605
606    $('html, body').stop(true).animate({
607      scrollTop: scrollTo
608    }, {
609      duration: 800,
610      easing: 'swing',
611      queue: false
612    });
613  }
614});
615
616$(function () {
617    if ($(window).width() < 1100) {
618        $('#specialButton').insertAfter('.mobile_phone_click.special');
619    }
620});

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.