PageSourceSearch

https://avilon-exeed.ru/bitrix/templates/exeed/js/common.js

js avilon-exeed.ru collected 2026-10-08 04:15:43 UTC 12,626 bytes, 469 lines download raw bytes

1document.addEventListener("DOMContentLoaded", function(event) { 
2    const tabButtons = document.querySelectorAll('[data-tab-btn]');
3    const tabItems   = document.querySelectorAll('.offers__list__item');
4
5    tabButtons.forEach(btn => {
6        btn.addEventListener('click', () => {
7            const tabName = btn.dataset.tabBtn;
8
9            // кнопки
10            tabButtons.forEach(b => b.classList.remove('active'));
11            btn.classList.add('active');
12
13            // контент
14            tabItems.forEach(item => {
15                item.classList.toggle(
16                    'active',
17                    item.dataset.tab === tabName
18                );
19            });
20        });
21    });
22
23
24  var islider = new Swiper(".islider-swiper", {
25		slidesPerView: 1,
26		spaceBetween: 0,
27		autoHeight: true,
28		loop: false,
29		navigation: {
30			nextEl: '.islider-swiper-button-next',
31			prevEl: '.islider-swiper-button-prev',
32		},
33	});
34
35	
36  var islider = new Swiper(".vx_darknight_swiper", {
37		slidesPerView: 1,
38		spaceBetween: 0,
39		autoHeight: true,
40		loop: true,
41		navigation: {
42			nextEl: '.vx_darknight_swiper_button_next',
43			prevEl: '.vx_darknight_swiper_button_prev',
44		},
45	});
46  var isliderSevice = new Swiper(".service_swiper", {
47		slidesPerView: 1,
48		spaceBetween: 0,
49		autoHeight: true,
50		loop: true,
51		navigation: {
52			nextEl: '.service_swiper_button_next',
53			prevEl: '.service_swiper_button_prev',
54		},
55	});
56  var typesswiper = new Swiper(".types-swiper", {
57		slidesPerView: 4,
58		spaceBetween: 20,
59		navigation: {
60			nextEl: '.types-swiper-button-next',
61			prevEl: '.types-swiper-button-prev',
62		},
63		breakpoints: {
64			576 : {
65				slidesPerView: 1,
66			},
67			767: {
68				slidesPerView: 2,
69			},
70			992: {
71				slidesPerView: 3,
72			},
73			1249: {
74				slidesPerView: 4,
75			},
76		},
77	});
78  var inewsswiper = new Swiper(".inews-swiper", {
79		slidesPerView: 3,
80		spaceBetween: 20,
81		/* autoHeight: true, */
82		navigation: {
83			nextEl: '.inews-swiper-button-next',
84			prevEl: '.inews-swiper-button-prev',
85		},
86		breakpoints: {
87			576 : {
88				slidesPerView: 1,
89			},
90			767: {
91				slidesPerView: 2,
92			},
93			992: {
94				slidesPerView: 3,
95			},
96		},
97	});
98  	var mcolorsswiper = new Swiper(".mcolors-swiper", {
99		slidesPerView: 1,
100		spaceBetween: 20,
101		loop: true,
102		/* autoHeight: true, */
103		navigation: {
104			nextEl: '.mcolors-swiper-button-next',
105			prevEl: '.mcolors-swiper-button-prev',
106		},
107		pagination: {
108			el: '.mcolors-swiper-pagination',
109			clickable: true,
110		},
111	});
112
113	// =======================
114	// КОЛИЧЕСТВО СЛАЙДОВ
115	// =======================
116
117	function getSlidesPerView() {
118		const w = document.documentElement.clientWidth;
119
120		if (w >= 992) return 3;
121		if (w >= 768) return 2;
122		return 1;
123	}
124
125
126	// =======================
127	// ИНИЦИАЛИЗАЦИЯ
128	// =======================
129
130	var salesSlider = new Swiper('.offers__list__item[data-tab="sales"] .swiper', {
131		slidesPerView: getSlidesPerView(),
132		spaceBetween: 20,
133		loop: false,
134		watchOverflow: true,
135		pagination: {
136			el: '.offers__list__item[data-tab="sales"] .offers__items__slider__nav',
137			clickable: true,
138		},
139	});
140
141	var serviceSlider = new Swiper('.offers__list__item[data-tab="service"] .swiper', {
142		slidesPerView: getSlidesPerView(),
143		spaceBetween: 20,
144		loop: false,
145		watchOverflow: true,
146		pagination: {
147			el: '.offers__list__item[data-tab="service"] .offers__items__slider__nav',
148			clickable: true,
149		},
150	});
151
152
153	// =======================
154	// ПРИНУДИТЕЛЬНЫЙ UPDATE
155	// =======================
156
157	function forceUpdate(slider) {
158		if (!slider) return;
159
160		slider.params.slidesPerView = getSlidesPerView();
161
162		slider.updateSize();
163		slider.updateSlides();
164		slider.updateProgress();
165		slider.updateSlidesClasses();
166		slider.update();
167	}
168
169
170	// =======================
171	// ПЕРЕКЛЮЧЕНИЕ ТАБОВ
172	// =======================
173
174	document.querySelectorAll('[data-tab-btn]').forEach(btn => {
175		btn.addEventListener('click', () => {
176			setTimeout(() => {
177				forceUpdate(salesSlider);
178				forceUpdate(serviceSlider);
179			}, 50);
180		});
181	});
182
183
184	// =======================
185	// LOAD + RESIZE (СТРАХОВКА)
186	// =======================
187
188	window.addEventListener('load', () => {
189		forceUpdate(salesSlider);
190		forceUpdate(serviceSlider);
191	});
192
193	window.addEventListener('resize', () => {
194		forceUpdate(salesSlider);
195		forceUpdate(serviceSlider);
196	});
197
198	
199	Fancybox.bind(".fancy-popup", {
200		touch: false,
201		on: {
202			load: (fancybox, slide) => {
203				console.log(`#${slide.index} slide is loaded!`);
204				console.log(
205					`This slide is selected: ${fancybox.getSlide().index === slide.index}`
206				);
207			},
208		},
209	});
210	
211	/* var inimages2 = new Swiper(".inimages2-swiper", {
212		spaceBetween: 10,
213		slidesPerView: 4,
214		watchSlidesProgress: true,
215	});
216	var inimages = new Swiper(".inimages-swiper", {
217		spaceBetween: 10,
218		navigation: {
219			nextEl: ".inimages2-swiper-button-next",
220			prevEl: ".inimages2-swiper-button-prev",
221		},
222		thumbs: {
223			swiper: inimages2,
224		},
225	}); */
226	/* inimages.on('slideChange', function (e) {
227		inimages2.slideTo(inimages.activeIndex);
228	});
229	$('.inimages2-swiper-slide').on('click', function(){
230		$ths_indx = $(this).index();
231		inimages.slideTo($ths_indx);
232		inimages2.slideTo($ths_indx);
233		inimages2.update();
234	}) */
235	/* var element = document.getElementsByClassName('inimages2-swiper-slide')[0];
236	element.addEventListener("click", function(e) {
237		
238	}, false) */
239	
240	 $('.slider-for').slick({
241		slidesToShow: 1,
242		slidesToScroll: 1,
243		arrows: true,
244		fade: true,
245		asNavFor: '.slider-nav'
246	});
247	$('.slider-nav').slick({
248		slidesToShow: 4,
249		slidesToScroll: 4,
250		infinite: false,
251		arrows: false,
252		asNavFor: '.slider-for',
253		/* dots: true, */
254		/* centerMode: true, */
255		variableWidth: true,
256		focusOnSelect: true,
257		responsive: [
258    {
259      breakpoint: 1024,
260      settings: {
261				variableWidth: false,
262      }
263    }
264    // You can unslick at a given breakpoint now by adding:
265    // settings: "unslick"
266    // instead of a settings object
267  ]
268	});
269	
270	if($.cookie('notify')!=undefined && $.cookie('notify')!=''){
271		$('.js-cookie-notify').hide();
272	}
273	
274	$('.js-cookie-notify-btn').on('click', function(){
275		console.log('пользователь разрешил сбор данных');
276		(function (w, d, s, l, h, m) {
277			w[l] = w[l] || [];
278			var f = d.getElementsByTagName(s)[0],
279				j = d.createElement(s), dl = l != 'dmpkitdl' ? '&l=' + l : '';
280			j.async = true;
281			j.src = '//' + m + '/tm.js?id=' + h + dl;
282			f.parentNode.insertBefore(j, f);
283		})(window, document, 'script', 'dmpkitdl', '94903f6f-946c-4403-b263-c8453ca4643e', 'static.
283cdp.cleverdata.ru');
284		$('.js-cookie-notify').hide();
285		$.cookie('notify', '1', { expires: 1, path: '/' });
286	})
287	
288	
289	function CalcDiscounts(){
290		$price = $('[data-clearprice]').attr('data-clearprice');
291		$('.indetail__discount__input').each(function(){
292			if($(this).is(':checked')===false){}else{
293				$price = Number($price) - Number($(this).val());
294				//$price = Number($price) + Number($(this).val());
295			}
296			$('[data-clearprice] span').text($price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " "));
297		})
298	}	
299	if ($('.indetail__discount__input').length>0) {
300		$('.indetail__discount__list').each(function() {
301			$(this).find('.-freedom-discount:first').trigger('click');
302		});
303		CalcDiscounts();
304	}
305	$('.indetail__discount__input').on('change', function() {
306		if ($(this).hasClass("-alone-discount")) {
307			$('.indetail__discount__input.-freedom-discount:not([disabled])').prop("checked", false);
308		} else {
309			$('.indetail__discount__input.-alone-discount').prop("checked", false);
310		}
311		CalcDiscounts();
312	});
313	/*
314	if($('.indetail__discount__input').length>0){
315		if($('.indetail__discount__input[type="radio"]:checked').hasClass('-alone-discount')){
316			$('.indetail__discount__input[type="checkbox"]:not(".-freedom-discount")').prop("checked", false);
317			$('.indetail__discount__input[type="checkbox"]:not(".-freedom-discount")').prop("disabled", true);
318		}
319		CalcDiscounts();
320	}
321	$('.indetail__discount__input').on('change', function(){
322		console.log($(this).attr('class'));
323		if($(this).hasClass('-alone-discount') || $(this).hasClass('-freedom-discount')){
324			$('.indetail__discount__input[type="checkbox"]:not(".-freedom-discount")').prop("checked", false);
325			$('.indetail__discount__input[type="checkbox"]:not(".-freedom-discount")').prop("disabled", true);
326		}else{
327			$('.indetail__discount__input[type="checkbox"]').prop("disabled", false);
328		}
329		CalcDiscounts();
330	})
331	*/
332	
333	$('.smart-filter-title').on('click', function(){
334		if($(window).width()<1200){
335			$(this).toggleClass('active');
336			$(this).next('.smart-filter-form').stop().slideToggle();
337		}
338	})
339	
340	$('.smooth-goto').on('click', function(){
341		var scroll = new SmoothScroll();
342		var anchor = document.querySelector($(this).attr('href'));
343		scroll.animateScroll(anchor);
344		return false;
345	})
346	
347	$('.infilter__title').on('click', function(){
348		$(this).closest('.infilter__group').toggleClass('active');
349		$(this).next('.infilter__block').slideToggle();
350	})
351	
352	$(document).on({
353		mouseenter: function () {
354			$(this).closest('.models-item-img').find('img').attr('src', $(this).data('photo'));
355			$('.models-item-photo').removeClass('-active');
356			$(this).addClass('-active');
357		},
358		mouseleave: function () {
359			$(this).closest('.models-item-img').find('img').attr('src', $(this).data('original'));
360			$('.models-item-photo').removeClass('-active');
361			$('.models-item-photo.-first').addClass('-active');
362		}
363	}, '.models-item-photo');
364	
365	$('.catalog__filter__toggle .button').on('click', function(){
366		$(this).toggleClass('active');
367		$('.smart-filter-form').slideToggle();
368	})
369	
370	$('.mequipment__more').on('click', function(){
371		$(this).hide();
372		$('.tech-specifications.-hided').stop().fadeIn();
373	})
374	
375	$('.open__pop-up').on('click', function(){
376		$('.shadow').show();
377		$($(this).attr('href')).show();
378	})
379	$('.shadow').on('click', function(){
380		$('.shadow').hide();
381		$('.form__popup').hide();
382	})
383	
384	setTimeout(function(){
385		$('input.ct_session').val($.cookie('_ct_ids'));
386	}, 3000);
387});
388/*
389var homepages = [ '/', 'index.html', 'index.php'];
390
391if (homepages.indexOf(window.location.pathname) >= 0) {
392    var numberOfDays = 3;
393var today = new Date();
394var start = getNextStartDate(today);
395var end = getNextEndDate(today);
396
397var timer = setInterval(function() {
398  var differenceTime, dd, hh, mm, ss, str;
399  var now = new Date();
400  if (now >= end) {
401    start = getNextStartDate(now);
402    end = getNextEndDate(now);
403  } else {
404    differenceTime = end - now;
405
406    dd = parseInt(differenceTime / (1000 * 60 * 60 * 24));
407    hh = parseInt(differenceTime / (60 * 60 * 1000)) % 24;
408    mm = parseInt(differenceTime / (1000 * 60)) % 60;
409    ss = parseInt(differenceTime / 1000) % 60;
410
411    document.querySelector('.days').innerHTML = format(dd);
412    document.querySelector('.hours').innerHTML = format(hh);
413    document.querySelector('.minutes').innerHTML = format(mm);
414    document.querySelector('.seconds').innerHTML = format(ss);
415
416
417  }
418}, 1000);
419
420function getNextEndDate(fromDate) {
421  return new Date(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate() + numberOfDays);
422}
423
424function getNextStartDate(currentDate) {
425  var currentDay = currentDate.getDate();
426  var index = Math.ceil(currentDay / 3);
427  var nextStartDay = 1 + numberOfDays * index
428  return new Date(currentDate.getFullYear(), currentDate.getMonth(), nextStartDay);
429}
430
431function format(num) {
432  return (9 < num) ? num : "0" + num;
433};
434}
435*/
436
437
438
439document.addEventListener("DOMContentLoaded", function(event) { 
440	$('.js-header__menu-text-call').on('click', function(){
441		$(this).toggleClass('active');
442		$('.js-header__menu-text-call-block').slideToggle();
443	})
444
445	if (document.querySelector('.header__menu-item.dropdown.active')) {
446		document.querySelector('.header__menu-item.dropdown.active').classList.remove('active')
447	}
448});
449
450document.querySelectorAll('.header__menu-item.dropdown .item__arrow').forEach(arrow => {
451    arrow.addEventListener('click', e => {
452        e.preventDefault();
453        e.stopPropagation(); // чтобы клик не срабатывал на <a>
454
455        const parent = arrow.closest('.header__menu-item.dropdown');
456
457        // Если нужно, чтобы только один был активен:
458        document.querySelectorAll('.header__menu-item.dropdown.active')
459            .forEach(el => {
460                if (el !== parent) el.classList.remove('active');
461            });
462
463        if (!parent.classList.contains('active')) {
464            parent.classList.add('active');
465        } else {
466            parent.classList.remove('active');
467        }
468    });
469});

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.