PageSourceSearch

https://fordox.ru/templates/nero/assets/js/app.js

js fordox.ru collected 2026-10-06 23:49:40 UTC 13,709 bytes, 436 lines download raw bytes

1function log_my_log_error(e){
2	//console.log(e);
3}
4
5//Фиксация шапки при прокрутке
6$(document).ready(function() {
7	var StickyElement = function(node){
8		if($("div").is(".sticky-anchor")){
9			var doc = $(document), 
10			fixed = false,
11			anchor = node.find('.sticky-anchor'),
12			content = node.find('.schearch-line'); 
13			var onScroll = function(e){
14				var docTop = doc.scrollTop(),
15				anchorTop = anchor.offset().top;
16				if(docTop > anchorTop){
17					if(!fixed){
18						anchor.height(content.outerHeight());
19						content.addClass('fixed');        
20						fixed = true;
21					}
22					} else {
23					if(fixed){
24						anchor.height(0);
25						content.removeClass('fixed'); 
26						fixed = false;
27					}
28				}
29			};
30			$(window).on('scroll', onScroll);
31		}
32	};
33	if($("div").is(".schearch-line")){
34		$('.schearch-line').before($('<div>', {class: 'sticky-anchor'}));
35		var sticky = new StickyElement($('header'));
36	}
37	
38	//Замена главной страницы на иконку в хлебных крошках и верхнем меню
39	$('.main-header .breadcrumb a:first').html('<i class="fa fa-home" aria-hidden="true"></i>');
40	$("header .nav a[href='/']").prepend('<i style="font-size:15px;" class="fa fa-home" aria-hidden="true"></i> ');
41	
42	//Добавляем прокрутку выподающего меню если блок меню больше экрана
43	$('#dp_menu .nav').css('max-height', window.screen.height-120);
44	$('#dp_menu .nav').css('overflow', 'auto');
45	$('#dp_menu .tab-content .tab-pane').css('max-height', window.screen.height-120);
46	$('#dp_menu .tab-content .tab-pane').css('overflow', 'auto');
47	
48	//Если все категории скрыты то кнопки на главную добавляем дополнительный клас который увеличит отступ от строки поиска
49	if(!$('.header-cat-btn').length){
50		$('.header-home-btn').addClass('header-home-margin');
51	}
52});
53
54
55
56//Функция изменяет форму поиска
57function change_header_search_form(id){
58	if(id == 1){
59		if($('.header_search_form_1').hasClass('hidden')){
60			$('.header_search_form_1').removeClass('hidden');
61			if( ! $('.header_search_form_2').hasClass('hidden')){
62				$('.header_search_form_2').addClass('hidden');
63			}
64		}
65	}else if(id == 2){
66		if($('.header_search_form_2').hasClass('hidden')){
67			$('.header_search_form_2').removeClass('hidden');
68			if( ! $('.header_search_form_1').hasClass('hidden')){
69				$('.header_search_form_1').addClass('hidden');
70			}
71		}
72	}
73	return false;
74}
75
76
77
78jQuery(document).ready(function () {
79
80    $('.nav .dropdown-cat-btn').on('click',function(event){
81		if ($(window).width() > 767){
82			if ( $('.keep_open').hasClass('open_t')) {
83				$('.keep_open').removeClass('open_t');
84				$('.nav .dropdown').removeClass('open');
85				
86				if($('#top-menu-catalogue-accordion .catalogue-collapse-link-box a')){
87					if($('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text() == 'Свернуть'){
88						$('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').click();
89					}
90				}
91				
92			}else{
93				$('.nav .panel-collapse').collapse('hide');
94				$('.nav .dropdown-menu').removeClass('open_t');
95				$('.keep_open').addClass('open_t');
96				
97				if($('#top-menu-catalogue-accordion .catalogue-collapse-link-box a')){
98					if($('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text() == 'Свернуть'){
99						$('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text('Показать все');
100					}
101				}
102				
103			}
104			return false;
105		}
106    });
107	
108	
109	// При клике в любой области сайта не закрывать меню каталога
110	$(document).on('click', '.dropdown-menu', function (e) {
111		$(this).hasClass('keep_open') && e.stopPropagation(); // This replace if conditional.
112	}); 
113	
114	
115	// Изменить текст кнопки при разворячивании всего списка категорий
116	$('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').on('click', function (e) {
117		if($('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text() == 'Свернуть'){
118			$('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text('Показать все');
119		}else{
120			$('#top-menu-catalogue-accordion .catalogue-collapse-link-box a').text('Свернуть');
121		}
122	}); 
123	
124	
125	var cbpAnimatedHeader = (function() {
126		
127		var docElem = document.documentElement,
128			header = $( '.header-box' );
129			didScroll = false,
130			changeHeaderOn = 300;
131
132		function init() {
133			if ($(window).width() > 991){
134				window.addEventListener( 'scroll', function( event ) {
135					if( !didScroll ) {
136						didScroll = true;
137						setTimeout( scrollPage, 50 );
138					}
139				}, false );
140			}
141		}
142
143		function scrollPage() {
144			var sy = scrollY();
145			header = $( '#header-box' );
146			if ( sy >= changeHeaderOn) {
147				
148				
149				// Если список категорий развернут полностью то запрещаем анимацию шапки
150				// Сделано для того что бы была возможность прокрутки всего списка категорий так как после анимации шапки блок становится
151				// абсолютно позицирнированным и его прокрутка не возможна
152				
153				if ( ! $('#top-menu-catalogue-collapseTwo').hasClass('in') ) {
154					
155					if ( ! header.hasClass('header-full-shrink')) {
156						flag = false;
157						var height = (header.css('height'));
158						$('#sb-site').css('margin-top', height);
159						header.addClass('header-full-shrink');
160						setTimeout(function() { header.addClass('header-full-shrink-stuck'); }, 200);
161					
162						if ($(window).width() > 767){
163							if ( $('.keep_open').hasClass('open_t')) {
164								$('.keep_open').removeClass('open_t');
165								$('.nav .dropdown').removeClass('open');
166								$('.keep_open').addClass('open_s');
167							}
168						}
169					}
170					
171				}
172			}
173			else {
174				if (header.hasClass('header-full-shrink')) {
175					
176					header.removeClass('header-full-shrink');
177					header.removeClass('header-full-shrink-stuck');
178					$('#sb-site').css('margin-top', 0);
179					
180					if ($(window).width() > 767){
181						if ( $('.keep_open').hasClass('open_s')) {
182							$('.nav .panel-collapse').collapse('hide');
183							$('.nav .dropdown-menu').removeClass('open_t');
184							$('.keep_open').addClass('open_t');
185							$('.keep_open').removeClass('open_s');
186						}else{
187							if ( $('.keep_open').hasClass('open_t')) {
188								$('.keep_open').removeClass('open_t');
189								$('.nav .dropdown').removeClass('open');
190							}
191						}
192					}
193				}
194			}
195			didScroll = false;
196		}
197
198		function scrollY() {
199			return window.pageYOffset || docElem.scrollTop;
200		}
201
202		init();
203
204	})();
205	
206	/*
207	Код нужен для работы кнопки корзины в проценке для браузеров IE
208	*/
209	if (typeof Object.assign != 'function') {
210	  Object.assign = function(target) {
211		'use strict';
212		if (target == null) {
213		  throw new TypeError('Cannot convert undefined or null to object');
214		}
215		target = Object(target);
216		for (var index = 1; index < arguments.length; index++) {
217		  var source = arguments[index];
218		  if (source != null) {
219			for (var key in source) {
220			  if (Object.prototype.hasOwnProperty.call(source, key)) {
221				target[key] = source[key];
222			  }
223			}
224		  }
225		}
226		return target;
227	  };
228	}
229	
230});
231
232
233
234/* Smooth scrolling para anclas */
235$(document).on('click','a.smooth', function(e){
236    e.preventDefault();
237    var $link = $(this);
238    var anchor = $link.attr('href');
239    $('html, body').stop().animate({
240        scrollTop: $(anchor).offset().top
241    }, 1000);
242});
243
244(function($) {
245    $(document).ready(function() {
246		try{
247			$.slidebars();
248		}catch(e){
249			log_my_log_error(e);
250		}
251    });
252}) (jQuery);
253
254(function( $ ) {
255	if($('.masonry-container').length){
256		var $container = $('.masonry-container');
257		$container.imagesLoaded( function () {
258			$container.masonry({
259				columnWidth: '.masonry-item',
260				itemSelector: '.masonry-item'
261			});
262		});
263	}
264})(jQuery);
265
266// Syntax Enable
267SyntaxHighlighter.all();
268
269jQuery(document).ready(function () {
270	$('.nav').on('click touchstart touchmove', 'a.has_children', function () {
271		if ( $(this).next('ul').hasClass('open_t')) {
272			$(this).next('ul').removeClass('open_t');
273			if ($(window).width() < 768){
274				$(this).next('ul').css('display','none');
275			}
276			return false;
277		}
278		$('.open_t').not($(this).parents('ul')).removeClass('open_t');
279		$(this).next('ul').addClass('open_t');
280		
281		if($(this).parents('ul').hasClass('keep_open')){
282			if ($(window).width() > 767){
283				return true;
284			}else{
285				return false;
286			}
287		}else{
288			return false;
289		}
290		
291	});
292		
293    // hide #back-top first
294    $("#back-top").hide();
295
296    // fade in #back-top
297    $(function () {
298        $(window).scroll(function () {
299            if ($(this).scrollTop() > 100) {
300                $('#back-top').fadeIn();
301            } else {
302                $('#back-top').fadeOut();
303            }
304        });
305
306        // scroll body to 0px on click
307        $('#back-top a').click(function () {
308            $('body,html').animate({
309                scrollTop: 0
310            }, 500);
311            return false;
312        });
313    });
314
315});
316
317try{
318	// WOW Activate
319	new WOW().init();
320}catch(e){
321	log_my_log_error(e);
322}
323
324jQuery(document).ready(function() { // makes sure the whole site is loaded
325    $('#status').fadeOut(); // will first fade out the loading animation
326    $('#preloader').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website.
327    //$('body').delay(350).css({'overflow':'visible'});
328});
329
330
331try{
332	// full-width-checkbox
333	$("[name='full-width-checkbox']").bootstrapSwitch();
334}catch(e){
335	log_my_log_error(e);
336}
337
338
339if($('.col-megamenu').length){
340	$('.col-megamenu').matchHeight({
341		byRow: true,
342		property: 'height',
343		target: null,
344		remove: false
345	});
346}
347
348/**
349-* jQuery scroroller Plugin 1.0
350-*
351-* http://www.tinywall.net/
352-*
353-* Developers: Arun David, Boobalan
354-* Copyright (c) 2014
355-*/
356/* jshint -W061 */
357(function($){
358    $(window).on("load",function(){
359        $(document).scrollzipInit();
360        $(document).rollerInit();
361    });
362    $(window).on("load scroll resize", function(){
363        $('.numscroller').scrollzip({
364            showFunction    :   function() {
365                                    numberRoller($(this).attr('data-slno'));
366                                },
367            wholeVisible    :     false,
368        });
369    });
370    $.fn.scrollzipInit=function(){
371        $('body').prepend("<div style='position:fixed;top:0px;left:0px;width:0;height:0;' id='scrollzipPoint'></div>" );
372    };
373    $.fn.rollerInit=function(){
374        var i=0;
375        $('.numscroller').each(function() {
376            i++;
377           $(this).attr('data-slno',i);
378           $(this).addClass("roller-title-number-"+i);
379        });
380    };
381    $.fn.scrollzip = function(options){
382        var settings = $.extend({
383            showFunction    : null,
384            hideFunction    : null,
385            showShift       : 0,
386            wholeVisible    : false,
387            hideShift       : 0,
388        }, options);
389        return this.each(function(i,obj){
390            $(this).addClass('scrollzip');
391            if ( $.isFunction( settings.showFunction ) ){
392                if(
393                    !$(this).hasClass('isShown')&&
394                    ($(window).outerHeight()+$('#scrollzipPoint').offset().top-settings.showShift)>($(this).offset().top+((settings.wholeVisible)?$(this).outerHeight():0))&&
395                    ($('#scrollzipPoint').offset().top+((settings.wholeVisible)?$(this).outerHeight():0))<($(this).outerHeight()+$(this).offset().top-settings.showShift)
396                ){
397                    $(this).addClass('isShown');
398                    settings.showFunction.call( this );
399                }
400            }
401            if ( $.isFunction( settings.hideFunction ) ){
402                if(
403                    $(this).hasClass('isShown')&&
404                    (($(window).outerHeight()+$('#scrollzipPoint').offset().top-settings.hideShift)<($(this).offset().top+((settings.wholeVisible)?$(this).outerHeight():0))||
405                    ($('#scrollzipPoint').offset().top+((settings.wholeVisible)?$(this).outerHeight():0))>($(this).outerHeight()+$(this).offset().top-settings.hideShift))
406                ){
407                    $(this).removeClass('isShown');
408                    settings.hideFunction.call( this );
409                }
410            }
411            return this;
412        });
413    };
414    function numberRoller(slno){
415            var min=$('.roller-title-number-'+slno).attr('data-min');
416            var max=$('.roller-title-number-'+slno).attr('data-max');
417            var timediff=$('.roller-title-number-'+slno).attr('data-delay');
418            var increment=$('.roller-title-number-'+slno).attr('data-increment');
419            var numdiff=max-min;
420            var timeout=(timediff*1000)/numdiff;
421            //if(numinc<10){
422                //increment=Math.floor((timediff*1000)/10);
423            //}//alert(increment);
424            numberRoll(slno,min,max,increment,timeout);
425
426    }
427    function numberRoll(slno,min,max,increment,timeout){//alert(slno+"="+min+"="+max+"="+increment+"="+timeout);
428        if(min<=max){
429            $('.roller-title-number-'+slno).html(min);
430            min=parseInt(min)+parseInt(increment);
431            setTimeout(function(){numberRoll(eval(slno),eval(min),eval(max),eval(increment),eval(timeout));},timeout);
432        }else{
433            $('.roller-title-number-'+slno).html(max);
434        }
435    }
436})(jQuery);

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.