PageSourceSearch

https://sm-motors.ru/local/templates/aspro_max/js/main.js

js sm-motors.ru collected 2026-09-29 20:02:28 UTC 324,269 bytes, 9,809 lines download raw bytes

1var basketTimeoutSlide;
2var resizeEventTimer;
3
4var clicked_tab = 0;
5
6if (typeof arAsproOptions === 'undefined') {
7	var arAsproOptions = {
8		SITE_DIR: '/',
9	};
10	if ($('body').data('site') !== undefined) arAsproOptions['SITE_DIR'] = $('body').data('site');
11}
12
13function readyDOM(callback) {
14	if (document.readyState !== 'loading') callback();
15	else document.addEventListener('DOMContentLoaded', callback);
16}
17
18var typeofExt = function (item) {
19	const _toString = Object.prototype.toString;
20	return _toString.call(item).slice(8, -1).toLowerCase();
21};
22
23function loadScripts(scripts, cb) {
24	BX.loadScript(scripts, () => cb());
25}
26
27function loadJQM(cb) {
28	if (typeof $.fn.jqm === 'function') {
29		cb();
30	} else {
31		BX.loadScript(arAsproOptions['SITE_TEMPLATE_PATH'] + '/js/jqModal.js', () => cb());
32	}
33}
34
35var InitLazyLoad = function () {
36};
37
38$(document).on('change', '.uploader input[type=file]', function () {
39	if (!$(this).next().length || !$(this).next().hasClass('resetfile')) {
40		$(
41			'<span class="resetfile"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewB
41ox="0 0 11 11"><path d="M1345.19,376.484l4.66,4.659a0.492,0.492,0,0,1,0,.707,0.5,0.5,0,0,1-.71,0l-4.66-4.659-4.65,4.659a0.5,0.5,0,0,1-.71,0,0.492,0.492,0,0,1,0-.707l4.66-4.659-4.66-4.659a0.492,0.492,0,0,1,0-.707,0.5,0.5,0,0,1,.71,0l4.65,4.659,4.66-4.659a0.5,0.5,0,0,1,.71,0,0.492,0.492,0,0,1,0,.707Z" transform="translate(-1339 -371)"/></svg></span>'
42		).insertAfter($(this));
43	}
44});
45
46$(document).on('click', '.uploader.files_add input[type=file] + .resetfile', function () {
47	var $input = $(this).prev();
48	$input.val('');
49	$.uniform.update($input);
50	$(this).remove();
51});
52
53$(document).on('click', '.top_block h3', function () {
54	if (window.matchMedia('(max-width: 550px)').matches) {
55		var $this = $(this);
56		var a = $this.siblings('a');
57		if (a.length) {
58			a[0].click();
59		}
60	}
61});
62
63$(document).on('click', '.bx-yandex-view-layout .yandex-map__mobile-opener', function () {
64	if ($(this).hasClass('closer')) {
65		closeYandexMap();
66	} else {
67		openYandexMap(this);
68	}
69});
70
71function openYandexMap(element) {
72	var $this = $(element);
73	if ($this.hasClass('closer')) return;
74	var currentMap = $this.parents('.bx-yandex-view-layout');
75	var mapId = currentMap.find('.bx-yandex-map').attr('id');
76	window.openedYandexMapFrame = mapId;
77	var mapContainer = $('<div data-mapId="' + mapId + '"></div>');
78	if (!$('div[data-mapId=' + mapId + ']').length) {
79		currentMap.after(mapContainer);
80	}
81	var yandexMapFrame = $('<div class="yandex-map__frame"></div>');
82	$('body .wrapper1').append(yandexMapFrame);
83	currentMap.appendTo(yandexMapFrame);
84	currentMap.find('.yandex-map__mobile-opener').addClass('closer');
85	window.map.container.fitToViewport();
86}
87
88function closeYandexMap() {
89	var yandexMapFrame = $('.yandex-map__frame');
90	if (yandexMapFrame.length) {
91		var currentMap = yandexMapFrame.find('.bx-yandex-view-layout');
92		var yandexMapContainer = $('div[data-mapId=' + window.openedYandexMapFrame + ']');
93		
94		currentMap.appendTo(yandexMapContainer);
95		yandexMapFrame.remove();
96		currentMap.find('.yandex-map__mobile-opener').removeClass('closer');
97		if (window.map) {
98			window.map.container.fitToViewport();
99		}
100	}
101}
102
103function throttle(f, t) {
104	let throttled, saveThis, saveArgs;
105	const wrapper = function () {
106		if (throttled) {
107			saveThis = this;
108			saveArgs = arguments;
109			return;
110		}
111		throttled = true;
112		f.apply(this, arguments);
113		setTimeout(function () {
114			throttled = false;
115			if (saveArgs) {
116				wrapper.apply(saveThis, saveArgs);
117				saveThis = saveArgs = null;
118			}
119		}, t);
120	};
121	return wrapper;
122}
123
124function debounce(f, t) {
125	return function (args) {
126		var previousCall = this.lastCall;
127		this.lastCall = Date.now();
128		if (previousCall && this.lastCall - previousCall <= t) {
129			clearTimeout(this.lastCallTimer);
130		}
131		this.lastCallTimer = setTimeout(function () {
132			f(args);
133		}, t);
134	};
135}
136
137$.fn.iAppear = function (callback, options) {
138	if (typeof $.fn.iAppear.useObserver === 'undefined') {
139		$.fn.iAppear.useObserver = typeof window['IntersectionObserver'] === 'function';
140		
141		if (!$.fn.iAppear.useObserver && typeof $.fn.appear !== 'function') {
142			$.fn.iAppear.queue = [];
143			BX.loadScript(arAsproOptions.SITE_TEMPLATE_PATH + '/vendor/js/jquery.appear.js', function () {
144				if (typeof $.fn.iAppear.queue === 'object') {
145					$.fn.iAppear.queue.forEach(function (queueItem) {
146						$(queueItem.items).iAppear(queueItem.callback, queueItem.options);
147					});
148				}
149			});
150			
151			return;
152		}
153	}
154	
155	if ($.fn.iAppear.useObserver) {
156		var options = $.extend(
157			{
158				root: null,
159				rootMargin: '150px 0px 150px 0px',
160				threshold: 0.0,
161			},
162			options
163		);
164		
165		$(this).each(function (i, appearBlock) {
166			var observer = new IntersectionObserver(function (entries, observer) {
167				entries.forEach(function (element) {
168					if (element.intersectionRatio > 0 && !element.target.dataset.iAppeared) {
169						element.target.dataset.iAppeared = true;
170						
171						if (typeof callback === 'function') {
172							callback.call(element.target);
173						}
174					}
175				});
176			}, options);
177			
178			observer.observe(appearBlock);
179		});
180	} else {
181		if (typeof $.fn.appear !== 'function') {
182			if ($(this).length) {
183				$.fn.iAppear.queue.push({
184					items: this,
185					callback: callback,
186					options: options,
187				});
188			}
189			
190			return;
191		} else {
192			if ($(this).length) {
193				$(this).each(function (i, appearBlock) {
194					$(appearBlock).appear(function () {
195						if (typeof callback === 'function') {
196							callback.call(appearBlock);
197						}
198					}, options);
199				});
200			}
201		}
202	}
203};
204
205$(document).on('click', '.flex-control-nav.flex-control-js-click li a:not(.flex-active)', function (e) {
206	var _this = $(this);
207	var itemIndex = _this.data('index') ? _this.data('index') : _this.closest('li').index();
208	
209	var block = '';
210	var blocks = _this.closest('.items').find('> .item');
211	var activeBlock = _this.closest('.items').find('.item.active');
212	
213	var activeLi = _this.closest('.flex-control-nav').find('.flex-active');
214	
215	activeBlock.fadeOut(function () {
216		activeBlock.removeClass('active');
217		
218		block = blocks.eq(itemIndex);
219		if (block.length) {
220			block.fadeIn(function () {
221				block.addClass('active');
222			});
223		}
224		
225		_this.addClass('flex-active');
226		activeLi.removeClass('flex-active');
227	});
228	
229	e.preventDefault();
230});
231
232$(document).on('mouseenter', '#headerfixed .menu-item.wide_menu', function () {
233	var _this = $(this);
234	setTimeout(function () {
235		var dropdownMenu = _this.find('.wrap > .dropdown-menu');
236		var menuOffset = dropdownMenu[0].getBoundingClientRect();
237		var headerOffset = document.getElementById('headerfixed').getBoundingClientRect();
238		var windowHeight = document.documentElement.clientHeight;
239		
240		if (menuOffset.height + headerOffset.height > windowHeight) {
241			var maxHeight = windowHeight - headerOffset.height;
242			dropdownMenu.css({
243				'max-height': maxHeight,
244			});
245			dropdownMenu.find('.menu-navigation').css({ 'max-height': maxHeight });
246			dropdownMenu.find('.customScrollbar').css({ 'max-height': maxHeight });
247			dropdownMenu.find('.menu-wrapper.menu-type-4 > li').css({ 'min-height': 'auto' });
248		} else {
249			dropdownMenu.css({
250				'max-height': '',
251			});
252			dropdownMenu.find('.menu-navigation').css({ 'max-height': '' });
253			dropdownMenu.find('.customScrollbar').css({ 'max-height': '' });
254			dropdownMenu.find('.menu-wrapper.menu-type-4 > li').css({ 'min-height': '' });
255		}
256	}, 300);
257});
258
259BX.addCustomEvent('onAjaxSuccess', function (data) {
260	if (typeof data === 'object' && data !== null) {
261		if (
262			typeof data.BASKET_REFRESHED !== undefined &&
263			data.BASKET_REFRESHED === true &&
264			typeof data.BASKET_DATA === 'object' &&
265			data.BASKET_DATA
266		) {
267			var basketCounts = data.BASKET_DATA.BASKET_ITEMS_COUNT;
268			reloadBasketCounters(basketCounts);
269		}
270	}
271});
272
273BX.addCustomEvent('onHeaderProgressBarChange', function (data) {
274	if (typeof updateProgressBar === 'function') {
275		updateProgressBar();
276	}
277});
278
279if (!funcDefined('parseUrlQuery')) {
280	parseUrlQuery = function () {
281		var data = {};
282		if (location.search) {
283			var pair = location.search.substr(1).split('&');
284			for (var i = 0; i < pair.length; i++) {
285				var param = pair[i].split('=');
286				data[param[0]] = param[1];
287			}
288		}
289		return data;
290	};
291}
292
293if (!funcDefined('setLocationSKU')) {
294	function setLocationSKU(ID, urlParam) {
295		if (urlParam === undefined) urlParam = 'oid';
296		
297		var objUrl = parseUrlQuery(),
298			j = 0,
299			prefix = '',
300			query_string = '',
301			url = '';
302		
303		objUrl[urlParam] = ID;
304		
305		for (var i in objUrl) {
306			if (parseInt(j) > 0) prefix = '&';
307			query_string = query_string + prefix + i + '=' + objUrl[i];
308			j++;
309		}
310		if (query_string) {
311			url = location.pathname + '?' + query_string + location.hash;
312		}
313		try {
314			//history.pushState(null, null, url);
315			history.replaceState(null, null, url);
316			return;
317		} catch (e) {
318		}
319		location.hash = '#' + url.substr(1);
320	}
321}
322
323if (!funcDefined('ShowOverlay')) {
324	ShowOverlay = function () {
325		$('<div class="jqmOverlay waiting"></div>').appendTo('body');
326	};
327}
328
329if (!funcDefined('HideOverlay')) {
330	HideOverlay = function () {
331		$('.jqmOverlay').detach();
332	};
333}
334
335if (!funcDefined('trimPrice')) {
336	var trimPrice = function trimPrice(s) {
337		s = s.split(' ').join('');
338		s = s.split('&nbsp;').join('');
339		return s;
340	};
341}
342
343if (!funcDefined('pauseYmObserver')) {
344	// pause ya metrika webvisor MutationObserver callback (DOM indexer)
345	// use before insert html with some animation
346	pauseYmObserver = function () {
347		if (
348			typeof MutationObserver === 'function' &&
349			typeof MutationObserver.observers === 'object' &&
350			typeof MutationObserver.observers.ym === 'object'
351		) {
352			if (typeof pauseYmObserver.cnt === 'undefined') {
353				pauseYmObserver.cnt = 0;
354			}
355			
356			++pauseYmObserver.cnt;
357			
358			if (!MutationObserver.observers.ym.paused) {
359				MutationObserver.observers.ym.pause();
360			}
361		}
362	};
363}
364
365if (!funcDefined('resumeYmObserver')) {
366	// resume ya metrika webvisor MutationObserver callback
367	// use when animation finished
368	resumeYmObserver = function () {
369		if (
370			typeof MutationObserver === 'function' &&
371			typeof MutationObserver.observers === 'object' &&
372			typeof MutationObserver.observers.ym === 'object'
373		) {
374			if (typeof pauseYmObserver.cnt === 'undefined') {
375				pauseYmObserver.cnt = 1;
376			}
377			
378			pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0;
379			
380			if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) {
381				MutationObserver.observers.ym.resume();
382			}
383		}
384	};
385}
386
387if (!funcDefined('markProductRemoveBasket')) {
388	var markProductRemoveBasket = function markProductRemoveBasket(id) {
389		$('.in-cart[data-item=' + id + ']').hide();
390		$('.to-cart[data-item=' + id + ']').show();
391		if (
392			$('.to-cart[data-item=' + id + ']')
393				.closest('.counter_wrapp')
394				.find('.counter_block').length
395		) {
396			$('.to-cart[data-item=' + id + ']')
397				.closest('.button_block')
398				.removeClass('wide');
399		}
400		$('.to-cart[data-item=' + id + ']')
401			.closest('.counter_wrapp')
402			.find('.counter_block')
403			.show();
404		$('.counter_block[data-item=' + id + ']')
405			.closest('.counter_block_inner')
406			.show();
407		$('.counter_block[data-item=' + id + ']').show();
408		$('.in-subscribe[data-item=' + id + ']').hide();
409		$('.to-subscribe[data-item=' + id + ']').show();
410		//$('.wish_item[data-item='+id+']').removeClass("added");
411		$('.wish_item[data-item=' + id + '] .value:not(.added)').show();
412		$('.wish_item[data-item=' + id + '] .value.added').hide();
413		$('.wish_item.to[data-item=' + id + ']').show();
414		$('.wish_item.in[data-item=' + id + ']').hide();
415		$('.banner_buttons.with_actions .wraps_buttons[data-id=' + id + '] .basket_item_add').removeClass('added');
416		$('.banner_buttons.with_actions .wraps_buttons[data-id=' + id + '] .wish_item_add').removeClass('added');
417		
418		if ($('#headerfixed .but-cell .type_block').length) {
419			$('#headerfixed .but-cell .type_block span').text(BX.message('MORE_INFO_SKU'));
420			$('#headerfixed .but-cell .type_block .svg-inline-fw').remove();
421		}
422	};
423}
424
425if (!funcDefined('markProductAddBasket')) {
426	var markProductAddBasket = function markProductAddBasket(id) {
427		$('.to-cart[data-item=' + id + ']').hide();
428		$('.to-cart[data-item=' + id + ']')
429			.closest('.counter_wrapp')
430			.find('.counter_block_inner')
431			.hide();
432		$('.to-cart[data-item=' + id + ']')
433			.closest('.counter_wrapp')
434			.find('.counter_block')
435			.hide();
436		$('.to-cart[data-item=' + id + ']')
437			.closest('.button_block')
438			.addClass('wide');
439		$('.in-cart[data-item=' + id + ']').show();
440		//$('.wish_item[data-item='+id+']').removeClass("added");
441		$('.wish_item[data-item=' + id + '] .value:not(.added)').show();
442		$('.wish_item[data-item=' + id + '] .value.added').hide();
443		
444		$('.wish_item.to[data-item=' + id + ']').show();
445		$('.wish_item.in[data-item=' + id + ']').hide();
446		$('.banner_buttons.with_actions .wraps_buttons[data-id=' + id + '] .basket_item_add').addClass('added');
447		
448		if ($('#headerfixed .but-cell .type_block').length) {
449			$('#headerfixed .but-cell .type_block').html($('.in-cart[data-item=' + id + ']').html());
450		}
451	};
452}
453
454if (!funcDefined('markProductDelay')) {
455	var markProductDelay = function markProductDelay(id) {
456		$('.in-cart[data-item=' + id + ']').hide();
457		$('.to-cart[data-item=' + id + ']').show();
458		$('.to-cart[data-item=' + id + ']')
459			.closest('.counter_wrapp')
460			.find('.counter_block_inner')
461			.show();
462		$('.to-cart[data-item=' + id + ']')
463			.closest('.counter_wrapp')
464			.find('.counter_block')
465			.show();
466		if (
467			$('.to-cart[data-item=' + id + ']')
468				.closest('.counter_wrapp')
469				.find('.counter_block').length
470		) {
471			$('.to-cart[data-item=' + id + ']')
472				.closest('.button_block')
473				.removeClass('wide');
474		}
475		//$('.wish_item[data-item='+id+']').addClass("added");
476		$('.wish_item[data-item=' + id + '] .value:not(.added)').hide();
477		$('.wish_item[data-item=' + id + '] .value.added').css('display', 'block');
478		
479		$('.wish_item.to[data-item=' + id + ']').hide();
480		$('.wish_item.in[data-item=' + id + ']').show();
481		
482		$('.banner_buttons.with_actions .wraps_buttons[data-id=' + id + '] .wish_item_add').addClass('added');
483		
484		if ($('#headerfixed .but-cell .type_block').length) {
485			$('#headerfixed .but-cell .type_block span').text(BX.message('MORE_INFO_SKU'));
486			$('#headerfixed .but-cell .type_block .svg-inline-fw').remove();
487		}
488	};
489}
490
491if (!funcDefined('markProductSubscribe')) {
492	var markProductSubscribe = function markProductSubscribe(id) {
493		$('.to-subscribe[data-item=' + id + ']').hide();
494		$('.in-subscribe[data-item=' + id + ']').css('display', 'block');
495	};
496}
497
498if (!funcDefined('updateBottomIconsPanel')) {
499	var updateBottomIconsPanel = function updateBottomIconsPanel(options) {
500		if (options && $('.bottom-icons-panel').length) {
501			var bBasketUpdate = 'READY' in options || 'BASKET_COUNT' in options;
502			var basketCount = 'READY' in options ? options.READY.COUNT : 'BASKET_COUNT' in options ? options.BASKET_COUNT : 0;
503			var basketTitle =
504				'READY' in options ? options.READY.TITLE : 'BASKET_SUMM_TITLE' in options ? options.BASKET_SUMM_TITLE : '';
505			var bDelayUpdate = 'DELAY' in options || 'DELAY_COUNT' in options;
506			var delayCount = 'DELAY' in options ? options.DELAY.COUNT : 'DELAY_COUNT' in options ? options.DELAY_COUNT : 0;
507			var delayTitle =
508				'DELAY' in options ? options.DELAY.TITLE : 'DELAY_SUMM_TITLE' in options ? options.DELAY_SUMM_TITLE : '';
509			var bCompareUpdate = 'COMPARE' in options;
510			var compareCount =
511				'COMPARE' in options
512					? typeof options.COMPARE === 'object' && 'COUNT' in options.COMPARE
513						? options.COMPARE.COUNT
514						: Object.keys(options.COMPARE).length
515					: 0;
516			
517			//basket
518			if (bBasketUpdate) {
519				if (+basketCount > 0) {
520					$('.bottom-icons-panel .basket.counter-state').removeClass('counter-state--empty');
521				} else {
522					$('.bottom-icons-panel .basket.counter-state').addClass('counter-state--empty');
523				}
524				$('.bottom-icons-panel .basket .counter-state__content-item-value').text(basketCount);
525				$('.bottom-icons-panel .basket')
526					.closest('.bottom-icons-panel__content-link')
527					.attr('title', $('<div/>').html(basketTitle).text());
528			}
529			//
530			
531			//delay
532			if (bDelayUpdate && bBasketUpdate) {
533				if (+delayCount > 0) {
534					$('.bottom-icons-panel .delay.counter-state').removeClass('counter-state--empty');
535					$('.bottom-icons-panel-item_delay').attr('href', $('.bottom-icons-panel-item_delay').data('href'));
536				} else {
537					$('.bottom-icons-panel .delay.counter-state').addClass('counter-state--empty');
538					$('.bottom-icons-panel-item_delay').attr('href', 'javascript:void(0)');
539				}
540				$('.bottom-icons-panel .delay .counter-state__content-item-value').text(delayCount);
541				$('.bottom-icons-panel .delay')
542					.closest('.bottom-icons-panel__content-link')
543					.attr('title', $('<div/>').html(delayTitle).text());
544			}
545			//
546			
547			//compare
548			if (bCompareUpdate) {
549				if (compareCount > 0) {
550					$('.bottom-icons-panel .compare.counter-state').removeClass('counter-state--empty');
551				} else {
552					$('.bottom-icons-panel .compare.counter-state').addClass('counter-state--empty');
553				}
554				$('.bottom-icons-panel .compare .counter-state__content-item-value').text(compareCount);
555			}
556		}
557	};
558}
559if (!funcDefined('basketFly')) {
560	window.basketFly = function basketFly(action, opener) {
561		if (typeof obMaxPredictions === 'object') {
562			obMaxPredictions.updateAll();
563		}
564		
565		/*if(arAsproOptions['PAGES']['BASKET_PAGE'])
566      return;*/
567		$.post(
568			arAsproOptions['SITE_DIR'] + 'ajax/basket_fly.php',
569			'PARAMS=' + $('#basket_form').find('input#fly_basket_params').val(),
570			$.proxy(function (data) {
571				var small = $('.opener .basket_count').hasClass('small'),
572					basket_count = $(data).find('.basket_count').find('.items div').text();
573				$('#basket_line .basket_fly').addClass('loaded').html(data);
574				
575				if (action == 'refresh') $('li[data-type=AnDelCanBuy]').trigger('click');
576				
577				if (typeof opener == 'undefined' || $('#basket_line .basket_fly').hasClass('loading')) {
578					if (window.matchMedia('(min-width: 769px)').matches) {
579						if (action == 'open') {
580							if (small) {
581								if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') {
582									$('.opener .basket_count').click();
583								}
584							} else {
585								$('.opener .basket_count').removeClass('small');
586								$('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass('cur');
587								$('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass('cur');
588								
589								$('#basket_line .basket_fly .opener > div:eq(0)').addClass('cur');
590							}
591						} else if (action == 'wish') {
592							if (small) {
593								if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') $('.opener .wish_count').click();
594							} else {
595								$('.opener .wish_count').removeClass('small');
596								$('.tabs_content.basket li[item-section="DelDelCanBuy"]').addClass('cur');
597								$('#basket_line ul.tabs li[item-section="DelDelCanBuy"]').addClass('cur');
598							}
599						} else {
600							if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') {
601								$('.opener .basket_count').click();
602							}
603						}
604					}
605				} else if (opener === 'SHOW') {
606					if (window.matchMedia('(min-width: 769px)').matches) {
607						$('.opener .basket_count').removeClass('small');
608						$('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass('cur');
609						$('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass('cur');
610						$('#basket_line .basket_fly .opener > div:eq(0)').addClass('cur');
611					}
612				}
613			})
614		);
615	};
616}
617
618if (!funcDefined('basketTop')) {
619	var basketTop = function basketTop(action, hoverBlock) {
620		if (action == 'reload') {
621			if ($('.basket_hover_block:hover').length) {
622				hoverBlock = $('.basket_hover_block:hover');
623			}
624		}
625		
626		if (action == 'open') {
627			if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') {
628				if ($('#headerfixed').hasClass('fixed')) {
629					hoverBlock = $('#headerfixed .basket_hover_block');
630				} else {
631					hoverBlock = $('.top_basket .basket_hover_block');
632				}
633			}
634		}
635		
636		if (hoverBlock === undefined) {
637			console.log('Undefined hoverBlock');
638			console.trace();
639			return false;
640		}
641		
642		if (action == 'close') {
643			if (hoverBlock.length) {
644				hoverBlock.css({
645					opacity: '',
646					visibility: '',
647				});
648				return true;
649			}
650		}
651		
652		hoverBlock.removeClass('loaded');
653		var firstTime = hoverBlock.find('div').length ? 'false' : 'true';
654		var params = $('#basket_form').find('input#fly_basket_params').val();
655		var postData = {
656			firstTime: firstTime,
657		};
658		if (params !== undefined) {
659			postData.PARAMS = params;
660		}
661		
662		$.post(
663			arAsproOptions['SITE_DIR'] + 'ajax/showBasketHover.php',
664			postData,
665			$.proxy(function (data) {
666				var ob = BX.processHTML(data);
667				// inject
668				$('#headerfixed .basket_hover_block, .top_basket .basket_hover_block').html(ob.HTML);
669				BX.ajax.processScripts(ob.SCRIPT);
670				
671				if (window.matchMedia('(min-width: 992px)').matches) {
672					hoverBlock.addClass('loaded');
673					
674					if (action == 'open') {
675						if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') {
676							if ($('#headerfixed').hasClass('fixed')) {
677								hoverBlock = $('#headerfixed .basket_hover_block');
678							} else {
679								hoverBlock = $('.top_basket .basket_hover_block');
680							}
681							
682							hoverBlock.css({
683								opacity: '1',
684								visibility: 'visible',
685							});
686							
687							setTimeout(function () {
688								hoverBlock.css({
689									opacity: '',
690									visibility: '',
691								});
692							}, 2000);
693						}
694					}
695				}
696			})
697		);
698	};
699}
700
701$(document).on('click', '#basket_toolbar_button', function () {
702	if (lastHash) location.hash = 'cart';
703});
704$(document).on('click', '#basket_toolbar_button_delayed', function () {
705	if (lastHash) location.hash = 'delayed';
706});
707if (location.hash) {
708	var hash = location.hash;
709}
710//work with hash end
711
712$(document).on('click', '#basket_line .basket_fly .opener > div.clicked', function () {
713	if (arAsproOptions['PAGES']['BASKET_PAGE']) return;
714	
715	function onOpenFlyBasket(_this) {
716		$('#basket_line .basket_fly .tabs li').removeClass('cur');
717		$('#basket_line .basket_fly .tabs_content li').removeClass('cur');
718		// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
719		if (!$(_this).is('.wish_count.empty')) {
720			$('#basket_line .basket_fly .tabs_content li[item-section=' + $(_this).data('type') + ']').addClass('cur');
721			$('#basket_line .basket_fly .tabs li:eq(' + $(_this).index() + ')').addClass('cur');
722			// $("#basket_line .basket_fly .remove_all_basket."+$(_this).data("type")).addClass("cur");
723		} else {
724			$('#basket_line .basket_fly .tabs li').first().addClass('cur').siblings().removeClass('cur');
725			$('#basket_line .basket_fly .tabs_content li').first().addClass('cur').siblings().removeClass('cur');
726			// $("#basket_line .basket_fly .remove_all_basket").first().addClass("cur");
727		}
728		$('#basket_line .basket_fly .opener > div.clicked').removeClass('small');
729		
730		$('#basket_line .basket_fly .opener > div').siblings().removeClass('cur');
731		$('#basket_line .basket_fly .opener > div:eq(' + $(_this).index() + ')').addClass('cur');
732	}
733	
734	if (window.matchMedia('(min-width: 769px)').matches) {
735		var _this = this;
736		
737		$(_this).siblings().removeClass('cur');
738		$(_this).addClass('cur');
739		
740		if (parseInt($('#basket_line .basket_fly').css('right')) < 0) {
741			$('#basket_line .basket_fly')
742				.stop()
743				.addClass('loading')
744				.animate({ right: '0' }, 333, function () {
745					if ($(_this).closest('.basket_fly.loaded').length && false) {
746						onOpenFlyBasket(_this);
747					} else {
748						$.ajax({
749							url: arAsproOptions['SITE_DIR'] + 'ajax/basket_fly.php',
750							type: 'post',
751							success: function (html) {
752								$('#basket_line .basket_fly').removeClass('loading').addClass('loaded').html(html);
753								onOpenFlyBasket(_this);
754							},
755						});
756					}
757				});
758			$('#basket_line .basket_fly').addClass('swiped');
759		} else if (
760			$(this).is('.wish_count:not(.empty)') &&
761			!$('#basket_line .basket_fly .basket_sort ul.tabs li.cur').is('[item-section=DelDelCanBuy]')
762		) {
763			$('#basket_line .basket_fly .tabs li').removeClass('cur');
764			$('#basket_line .basket_fly .tabs_content li').removeClass('cur');
765			// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
766			$('#basket_line .basket_fly .tabs_content li[item-section=' + $(this).data('type') + ']').addClass('cur');
767			$('#basket_line  .basket_fly .tabs li:eq(' + $(this).index() + ')')
768				.first()
769				.addClass('cur');
770			// $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
771		} else if (
772			$(this).is('.basket_count') &&
773			$('#basket_line .basket_fly .basket_sort ul.tabs li.cur').length &&
774			!$('#basket_line .basket_fly .basket_sort ul.tabs li.cur').is('[item-section=AnDelCanBuy]')
775		) {
776			$('#basket_line .basket_fly .tabs li').removeClass('cur');
777			$('#basket_line .basket_fly .tabs_content li').removeClass('cur');
778			// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
779			$('#basket_line  .basket_fly .tabs_content li:eq(' + $(this).index() + ')').addClass('cur');
780			$('#basket_line  .basket_fly .tabs li:eq(' + $(this).index() + ')')
781				.first()
782				.addClass('cur');
783			// $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
784		} else {
785			$('#basket_line .basket_fly')
786				.stop()
787				.animate({ right: -$('#basket_line .basket_fly').outerWidth() }, 150);
788			$('#basket_line .basket_fly .opener > div.clicked').addClass('small');
789			$('#basket_line .basket_fly').removeClass('swiped');
790			$('#basket_line .basket_fly .opener > div').removeClass('cur');
791		}
792	}
793});
794
795if (!funcDefined('clearViewedProduct')) {
796	function clearViewedProduct() {
797		try {
798			var siteID = arAsproOptions.SITE_ID;
799			var localKey = 'MAX_VIEWED_ITEMS_' + siteID;
800			var cookieParams = { path: '/', expires: 30 };
801			if (typeof BX.localStorage !== 'undefined') {
802				// remove local storage
803				BX.localStorage.set(localKey, {}, 0);
804			}
805			// remove cookie
806			$.removeCookie(localKey, cookieParams);
807		} catch (e) {
808			console.error(e);
809		}
810	}
811}
812
813if (!funcDefined('setViewedProduct')) {
814	function setViewedProduct(id, arData) {
815		try {
816			// save $.cookie option
817			var bCookieJson = $.cookie.json;
818			$.cookie.json = true;
819			
820			var siteID = arAsproOptions.SITE_ID;
821			var localKey = 'MAX_VIEWED_ITEMS_' + siteID;
822			var cookieParams = { path: '/', expires: 30 };
823			
824			if (typeof BX.localStorage !== 'undefined' && typeof id !== 'undefined' && typeof arData !== 'undefined') {
825				var PRODUCT_ID = typeof arData.PRODUCT_ID !== 'undefined' ? arData.PRODUCT_ID : id;
826				var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {};
827				var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {};
828				var count = 0;
829				
830				// delete some items (sync cookie & local storage)
831				for (var _id in arViewedLocal) {
832					arViewedLocal[_id].IS_LAST = false;
833					if (typeof arViewedCookie[_id] === 'undefined') {
834						delete arViewedLocal[_id];
835					}
836				}
837				for (var _id in arViewedCookie) {
838					if (typeof arViewedLocal[_id] === 'undefined') {
839						delete arViewedCookie[_id];
840					}
841				}
842				
843				for (var _id in arViewedCookie) {
844					count++;
845				}
846				
847				// delete item if other item (offer) of that PRODUCT_ID is exists
848				if (typeof arViewedLocal[PRODUCT_ID] !== 'undefined') {
849					if (arViewedLocal[PRODUCT_ID].ID != id) {
850						delete arViewedLocal[PRODUCT_ID];
851						delete arViewedCookie[PRODUCT_ID];
852					}
853				}
854				
855				var time = new Date().getTime();
856				arData.ID = id;
857				arData.ACTIVE_FROM = time;
858				arData.IS_LAST = true;
859				arViewedLocal[PRODUCT_ID] = arData;
860				arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID];
861				
862				$.cookie(localKey, arViewedCookie, cookieParams);
863				BX.localStorage.set(localKey, arViewedLocal, 2592000); // 30 days
864			}
865		} catch (e) {
866			console.error(e);
867		} finally {
868			// restore $.cookie option
869			$.cookie.json = bCookieJson;
870		}
871	}
872}
873
874if (!funcDefined('initSelects')) {
875	function initSelects(target) {
876		if (!$.fn.ikSelect) return;
877		var iOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false;
878		if (iOS && !$('.wrapper1.iks-on-ios').length) return;
879		if ($('#bx-soa-order').length || $('#bx-soa-order-main').length) return;
880		
881		if (!$('.wrapper1.iks-ignore').length) {
882			const $target = $(target).find(
883				'.wrapper1 select:visible:not(.iks-ignore), .jqmWindow select:visible:not(.iks-ignore)'
884			);
885			
886			if ($target.length) {
887				// SELECT STYLING
888				$target.ikSelect({
889					syntax:
890						'<div class="ik_select_link"> \
891              <span class="ik_select_link_text"></span> \
892              <div class="trigger"></div> \
893            </div> \
894            <div class="ik_select_dropdown"> \
895              <div class="ik_select_list"> \
896              </div> \
897            </div>',
898					dynamicWidth: true,
899					ddMaxHeight: 112,
900					customClass: 'common_select',
901					//equalWidths: true,
902					onShow: function (inst) {
903						inst.$dropdown.css('top', parseFloat(inst.$dropdown.css('top')) - 5 + 'px');
904						if (inst.$dropdown.outerWidth() < inst.$link.outerWidth()) {
905							inst.$dropdown.css('width', inst.$link.outerWidth());
906						}
907						if (inst.$dropdown.outerWidth() > inst.$link.outerWidth()) {
908							inst.$dropdown.css('width', inst.$link.outerWidth());
909						}
910						var count = 0,
911							client_height = 0;
912						inst.$dropdown.css('left', inst.$link.offset().left);
913						$(inst.$listInnerUl)
914							.find('li')
915							.each(function () {
916								if (!$(this).hasClass('ik_select_option_disabled')) {
917									++count;
918									client_height += $(this).outerHeight();
919								}
920							});
921						if (client_height < 112) {
922							inst.$listInner.css('height', 'auto');
923						} else {
924							inst.$listInner.css('height', '112px');
925						}
926						inst.$link.addClass('opened');
927						inst.$listInner.addClass('scroller scrollblock');
928						if ($('.confirm_region').length) $('.confirm_region').remove();
929					},
930					onHide: function (inst) {
931						inst.$link.removeClass('opened');
932					},
933				});
934				// END OF SELECT STYLING
935				
936				var timeout;
937				$(window).on('resize', function () {
938					ignoreResize.push(true);
939					clearTimeout(timeout);
940					timeout = setTimeout(function () {
941						//$('select:visible').ikSelect('redraw');
942						var inst = '';
943						if ((inst = $('.common_select-link.opened + select').ikSelect().data('plugin_ikSelect'))) {
944							inst.$dropdown.css('left', inst.$link.offset().left + 'px');
945						}
946					}, 20);
947					ignoreResize.pop();
948				});
949			}
950		}
951	}
952}
953
954if (!funcDefined('CheckTopMenuFullCatalogSubmenu')) {
955	CheckTopMenuFullCatalogSubmenu = function () {
956		if (arAsproOptions['THEME'] && arAsproOptions['THEME']['MENU_TYPE_VIEW'] != 'HOVER') return;
957		
958		var $menu = $('.left_block .menu_top_block');
959		if ($menu.length) {
960			var $wrapmenu = $menu.parents('.wrap_menu');
961			
962			var wrapMenuWidth = $menu.closest('.wrapper_inner').actual('width');
963			if (!wrapMenuWidth) wrapMenuWidth = $menu.closest('.wraps').actual('width');
964			
965			var bCatalogFirst = $menu.hasClass('catalogfirst');
966			var findMenuLi = $('.left_block .menu_top_block:visible li.full');
967			var parentSubmenuWidth = $menu.actual('outerWidth');
968			var wrapMenuLeft = 0;
969			var wrapMenuRight = 0;
970			
971			if ($wrapmenu.length) {
972				wrapMenuWidth = $wrapmenu.actual('outerWidth');
973				wrapMenuLeft = $wrapmenu.offset().left;
974				wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
975			}
976			
977			if ($('.left_block .catalog_block.menu_top_block').length) {
978				if ($('.left_block .catalog_block.menu_top_block').is(':visible'))
979					findMenuLi = $('.left_block .menu_top_block.catalog_block li.full');
980			}
981			findMenuLi.each(function () {
982				var $this = $(this);
983				var $submenu = $this.find('>.dropdown');
984				
985				if ($submenu.length) {
986					// $submenu.css({left: parentSubmenuWidth + 'px', width: (wrapMenuWidth - parentSubmenuWidth) + 'px', 'padding-left': '0px', 'padding-right': '0px', 'opacity': 1});
987					$submenu.css({ width: wrapMenuWidth - parentSubmenuWidth + 'px' });
988					
989					if (!isOnceInited && arAsproOptions['THEME']['MENU_POSITION'] == 'TOP') {
990						$this.on('mouseenter', function () {
991							$submenu.css('min-height', $this.closest('.dropdown').actual('outerHeight') + 'px');
992						});
993					}
994				}
995			});
996		}
997	};
998}
999
1000$.fn.getMaxHeights = function (outer, classNull, minHeight) {
1001	var maxHeight = this.map(function (i, e) {
1002		var calc_height = 0;
1003		$(e).css('height', '');
1004		
1005		if (outer == true) calc_height = $(e).actual('outerHeight');
1006		else calc_height = $(e).actual('height');
1007		
1008		return calc_height;
1009	}).get();
1010	for (var i = 0, c = maxHeight.length; i < c; ++i) {
1011		if (maxHeight[i] % 2) --maxHeight[i];
1012	}
1013	return Math.max.apply(this, maxHeight);
1014};
1015
1016$.fn.equalizeHeights = function (outer, classNull, options) {
1017	var maxHeight = [];
1018	var items = [];
1019	
1020	for (var i = 0, itemKey = 0; i < this.length; itemKey++) {
1021		var item = this[itemKey],
1022			_item = $(item),
1023			minus_height = 0,
1024			calc_height = 0;
1025		
1026		i++;
1027		
1028		if (options.blockNull !== undefined) {
1029			if (options.blockNull.class !== undefined) {
1030				if (_item.hasClass(options.blockNull.class) || _item.closest('.' + options.blockNull.class).length) {
1031					continue;
1032				}
1033			}
1034		}
1035		
1036		items.push(this[itemKey]);
1037		
1038		if (classNull !== false) {
1039			if (!isMobile) {
1040				var nulled = _item.find(classNull);
1041				if (nulled.length) {
1042					minus_height = parseInt(nulled[0].offsetHeight);
1043					//minus_height=parseInt(_item.find(classNull).outerHeight(false));
1044					//minus_height=parseInt(_item.find(classNull).actual('outerHeight'));
1045				}
1046			}
1047		}
1048		
1049		if (minus_height) minus_height += 12;
1050		
1051		_item.css('height', '');
1052		
1053		calc_height = item.offsetHeight - minus_height;
1054		
1055		if (options.minHeight !== false) {
1056			if (calc_height < options.minHeight) calc_height += options.minHeight - calc_height;
1057			
1058			if (window.matchMedia('(max-width: 520px)').matches) calc_height = 300;
1059			
1060			if (window.matchMedia('(max-width: 400px)').matches) calc_height = 200;
1061		}
1062		
1063		if (!calc_height) calc_height = 0;
1064		
1065		maxHeight.push(calc_height);
1066	}
1067	
1068	for (var i = 0, c = maxHeight.length; i < c; ++i) {
1069		if (maxHeight[i] % 2) {
1070			--maxHeight[i];
1071		}
1072	}
1073	
1074	var result = $(items).height(Math.max.apply(this, maxHeight));
1075	
1076	return result;
1077};
1078
1079$.fn.getFloatWidth = function () {
1080	var width = 0;
1081	if ($(this).length) {
1082		var rect = $(this)[0].getBoundingClientRect();
1083		if (!(width = rect.width)) width = rect.right - rect.left;
1084	}
1085	
1086	$(this).data('floatWidth', width);
1087	
1088	return width;
1089};
1090
1091function extendDepthObject(target, FromObj) {
1092	var to = Object.assign({}, target);
1093	for (var key in FromObj) {
1094		if (typeof FromObj[key] == 'object') {
1095			to[key] = extendDepthObject(to[key], FromObj[key]);
1096		} else {
1097			to[key] = FromObj[key];
1098		}
1099	}
1100	
1101	return to;
1102}
1103
1104$.fn.sliceHeight = function (options) {
1105	function _slice(el) {
1106		var arBreakpoints = Object.keys(options.breakpoint);
1107		var resizeOptionsTmp = {};
1108		if (arBreakpoints.length) {
1109			for (var key in arBreakpoints) {
1110				if (window.matchMedia(arBreakpoints[key].toString()).matches) {
1111					resizeOptionsTmp = options.breakpoint[arBreakpoints[key]];
1112				}
1113			}
1114		}
1115		
1116		var resizeOptions = extendDepthObject(options, resizeOptionsTmp);
1117		
1118		var blockNullClass =
1119			resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined
1120				? resizeOptions.blockNull.class
1121				: false;
1122		var parent =
1123			typeof resizeOptions.row !== 'undefined' && resizeOptions.row.length
1124				? el.first().parents(resizeOptions.row)
1125				: el.first().parents('.items');
1126		var item = '';
1127		
1128		if (typeof resizeOptions.item !== 'undefined' && resizeOptions.item.length) {
1129			if (blockNullClass) {
1130				$(resizeOptions.item).each(function (i, element) {
1131					_element = $(element);
1132					if (!_element.hasClass(blockNullClass)) {
1133						item = _element;
1134					}
1135				});
1136				if (!item)
1137					// if only ignored blocks
1138					return false;
1139			} else {
1140				item = $(resizeOptions.item).first();
1141			}
1142		} else {
1143			if (el.first().hasClass('item')) {
1144				item = el.first();
1145			} else {
1146				item = el.first().parents('.item');
1147			}
1148		}
1149		
1150		if (typeof resizeOptions.autoslicecount == 'undefined' || resizeOptions.autoslicecount !== false) {
1151			var elsw = parent.getFloatWidth(),
1152				elw = item.getFloatWidth();
1153			if (!elsw) {
1154				elsw = el.first().parents('.row').getFloatWidth();
1155			}
1156			if (!elw) {
1157				if (typeof resizeOptions.item !== 'undefined' && resizeOptions.item.length)
1158					elw = $(resizeOptions.item + ':eq(1)').getFloatWidth()
1159						? $(resizeOptions.item + ':eq(1)').getFloatWidth()
1160						: $(resizeOptions.item + ':eq(2)').getFloatWidth();
1161				else elw = $(el[1]).getFloatWidth() ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth();
1162			}
1163			if (elw && resizeOptions.fixWidth) elw -= resizeOptions.fixWidth;
1164			
1165			elw = parseInt(elw * 100) / 100;
1166			
1167			if (elsw && elw) {
1168				resizeOptions.slice = Math.floor(elsw / elw);
1169			}
1170		}
1171		
1172		if (resizeOptions.customSlice) {
1173			//manual slice count
1174			var bSliceNext = false;
1175			if (resizeOptions.length) {
1176				elw =
1177					typeof resizeOptions.item !== 'undefined' && resizeOptions.item.length
1178						? $(resizeOptions.item).last().getFloatWidth()
1179						: el.last().hasClass('item')
1180							? el.last().getFloatWidth()
1181							: el.last().parents('.item').getFloatWidth();
1182				if (elw) resizeOptions.sliceNext = Math.floor(elsw / elw);
1183				
1184				bSliceNext = true;
1185			}
1186		}
1187		
1188		elements = [];
1189		if (resizeOptions.classes !== undefined && resizeOptions.classes.length) {
1190			for (var i = 0; i < resizeOptions.classes.length; i++) {
1191				var items = $(resizeOptions.item).find(resizeOptions.classes[i]);
1192				elements.push(items);
1193			}
1194		}
1195		var elIndex = elements.push(el) - 1;
1196		
1197		if (resizeOptions.mobile == true) {
1198			if (window.matchMedia('(max-width: 500px)').matches) {
1199				for (var block = 0; block < elements.length; block++) {
1200					var items = $(elements[block]);
1201					items.css({
1202						'line-height': '',
1203						height: '',
1204					});
1205				}
1206				return;
1207			}
1208		}
1209		
1210		if (typeof resizeOptions.typeResize == 'undefined' || resizeOptions.typeResize == false) {
1211			if (resizeOptions.slice) {
1212				for (var block = 0; block < elements.length; block++) {
1213					if (resizeOptions.currentRow) {
1214						var itemNumber = el.index(resizeOptions.currentItem);
1215						var rowCount = resizeOptions.slice;
1216						var rowNumber = Math.floor(itemNumber / rowCount);
1217						
1218						var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount));
1219						var classNull = block == elIndex ? resizeOptions.classNull : false;
1220						items.css({
1221							'line-height': '',
1222							height: '',
1223						});
1224						items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1225					} else {
1226						for (var i = 0; i < elements[block].length;) {
1227							if (resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i)
1228								//manual slice count
1229								resizeOptions.slice = resizeOptions.sliceNext;
1230							
1231							var slice = resizeOptions.slice;
1232							var items = $(elements[block].slice(i, i + slice));
1233							if (resizeOptions.blockNull !== undefined) {
1234								if (resizeOptions.blockNull.class !== undefined) {
1235									var counts = 0;
1236									items.each(function (i, item) {
1237										var _item = $(item);
1238										if (
1239											_item.hasClass(resizeOptions.blockNull.class) ||
1240											_item.closest('.' + resizeOptions.blockNull.class).length
1241										) {
1242											counts++;
1243										}
1244									});
1245								}
1246							}
1247							if (counts) {
1248								slice -= (resizeOptions.blockNull.width - 1) * counts;
1249							}
1250							
1251							items = $(elements[block].slice(i, i + slice));
1252							if (items) {
1253								var classNull = block == elIndex ? resizeOptions.classNull : false;
1254								
1255								items.css({
1256									'line-height': '',
1257									height: '',
1258								});
1259								items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1260							}
1261							i += slice || 1;
1262						}
1263					}
1264				}
1265			}
1266			if (resizeOptions.lineheight) {
1267				var lineheightAdd = parseInt(resizeOptions.lineheight);
1268				if (isNaN(lineheightAdd)) {
1269					lineheightAdd = 0;
1270				}
1271				el.each(function () {
1272					$(this).css('line-height', $(this).actual('height') + lineheightAdd + 'px');
1273				});
1274			}
1275		}
1276	}
1277	
1278	var options = $.extend(
1279		{
1280			slice: null,
1281			sliceNext: null,
1282			outer: false,
1283			lineheight: false,
1284			autoslicecount: true,
1285			classNull: false,
1286			minHeight: false,
1287			row: false,
1288			item: false,
1289			typeResize: false,
1290			typeValue: false,
1291			fixWidth: 0,
1292			resize: true,
1293			mobile: false,
1294			customSlice: false,
1295			breakpoint: {},
1296			classes: [],
1297		},
1298		options
1299	);
1300	
1301	var el = $(this);
1302	
1303	ignoreResize.push(true);
1304	_slice(el);
1305	ignoreResize.pop();
1306	
1307	if (options.resize) {
1308		BX.addCustomEvent('onWindowResize', function (eventdata) {
1309			try {
1310				ignoreResize.push(true);
1311				_slice(el);
1312			} catch (e) {
1313			} finally {
1314				ignoreResize.pop();
1315			}
1316		});
1317	} else {
1318		if (!ignoreResize.length) {
1319			// ignoreResize.push(true);
1320			_slice(el);
1321			// ignoreResize.pop();
1322		}
1323	}
1324};
1325
1326$.fn.sliceHeightNoResize = function (options) {
1327	function _slice(el) {
1328		el.each(function () {
1329			$(this).css('line-height', '');
1330			$(this).css('height', '');
1331		});
1332		if (options.mobile == true) {
1333			if (window.matchMedia('(max-width: 550px)').matches) return;
1334		}
1335		if (typeof options.autoslicecount == 'undefined' || options.autoslicecount !== false) {
1336			var elsw =
1337					typeof options.row !== 'undefined' && options.row.length
1338						? el.first().parents(options.row).getFloatWidth()
1339						: el.first().parents('.items').getFloatWidth(),
1340				elw =
1341					typeof options.item !== 'undefined' && options.item.length
1342						? $(options.item).first().getFloatWidth()
1343						: el.first().hasClass('item')
1344							? el.first().getFloatWidth()
1345							: el.first().parents('.item').getFloatWidth();
1346			
1347			if (!elsw) {
1348				elsw = el.first().parents('.row').getFloatWidth();
1349			}
1350			if (elw && options.fixWidth) elw -= options.fixWidth;
1351			
1352			if (elsw && elw) {
1353				options.slice = Math.floor(elsw / elw);
1354			}
1355		}
1356		if (options.customSlice) {
1357			//manual slice count
1358			var arBreakpoints = Object.keys(options.breakpoint),
1359				bSliceNext = false;
1360			if (arBreakpoints.length) {
1361				elw =
1362					typeof options.item !== 'undefined' && options.item.length
1363						? $(options.item).last().getFloatWidth()
1364						: el.last().hasClass('item')
1365							? el.last().getFloatWidth()
1366							: el.last().parents('.item').getFloatWidth();
1367				if (elw) options.sliceNext = Math.floor(elsw / elw);
1368				for (var key in arBreakpoints) {
1369					if (window.matchMedia(arBreakpoints[key].toString()).matches) {
1370						bSliceNext = true;
1371						options.slice = options.breakpoint[arBreakpoints[key]];
1372					}
1373				}
1374			}
1375		}
1376		if (typeof options.typeResize == 'undefined' || options.typeResize == false) {
1377			if (options.slice) {
1378				for (var i = 0; i < el.length; i += options.slice) {
1379					if (options.customSlice && options.sliceNext && bSliceNext && i)
1380						//manual slice count
1381						options.slice = options.sliceNext;
1382					$(el.slice(i, i + options.slice)).equalizeHeights(
1383						options.outer,
1384						options.classNull,
1385						options.minHeight,
1386						options.typeResize,
1387						options.typeValue
1388					);
1389				}
1390			}
1391			if (options.lineheight) {
1392				var lineheightAdd = parseInt(options.lineheight);
1393				if (isNaN(lineheightAdd)) {
1394					lineheightAdd = 0;
1395				}
1396				el.each(function () {
1397					$(this).css('line-height', $(this).actual('height') + lineheightAdd + 'px');
1398				});
1399			}
1400		}
1401	}
1402	
1403	var options = $.extend(
1404		{
1405			slice: null,
1406			sliceNext: null,
1407			outer: false,
1408			lineheight: false,
1409			autoslicecount: true,
1410			classNull: false,
1411			minHeight: false,
1412			row: false,
1413			item: false,
1414			typeResize: false,
1415			typeValue: false,
1416			fixWidth: 0,
1417			resize: true,
1418			mobile: false,
1419			customSlice: false,
1420			breakpoint: {},
1421		},
1422		options
1423	);
1424	
1425	var el = $(this);
1426	
1427	ignoreResize.push(true);
1428	_slice(el);
1429	ignoreResize.pop();
1430};
1431
1432if (!funcDefined('initHoverBlock')) {
1433	function initHoverBlock(target) {
1434		/*$(target).find('.catalog_item.item_wrap').on('mouseenter', function(){
1435      $(this).addClass('hover');
1436    })
1437    $(target).find('.catalog_item.item_wrap').on('mouseleave', function(){
1438      $(this).removeClass('hover');
1439    })*/
1440	}
1441}
1442if (!funcDefined('setStatusButton')) {
1443	function setStatusButton() {
1444		if (!funcDefined('setItemButtonStatus')) {
1445			setItemButtonStatus = function (data) {
1446				if (data.BASKET) {
1447					for (var i in data.BASKET) {
1448						var id = data.BASKET[i];
1449						if (typeof id === 'number' || typeof id === 'string') {
1450							$('.to-cart[data-item=' + id + ']').hide();
1451							$('.counter_block[data-item=' + id + ']')
1452								.closest('.counter_block_inner')
1453								.hide();
1454							$('.counter_block[data-item=' + id + ']').hide();
1455							$('.in-cart[data-item=' + id + ']').show();
1456							$('.in-cart[data-item=' + id + ']')
1457								.closest('.button_block')
1458								.addClass('wide');
1459						}
1460					}
1461				}
1462				if (data.DELAY) {
1463					for (var i in data.DELAY) {
1464						var id = data.DELAY[i];
1465						if (typeof id === 'number' || typeof id === 'string') {
1466							$('.wish_item.to[data-item=' + id + ']').hide();
1467							$('.wish_item.in[data-item=' + id + ']').show();
1468							if ($('.wish_item[data-item=' + id + ']').find('.value.added').length) {
1469								//$('.wish_item[data-item='+id+']').addClass("added");
1470								$('.wish_item[data-item=' + id + ']')
1471									.find('.value')
1472									.hide();
1473								$('.wish_item[data-item=' + id + ']')
1474									.find('.value.added')
1475									.show();
1476							}
1477						}
1478					}
1479				}
1480				if (data.SUBSCRIBE) {
1481					for (var i in data.SUBSCRIBE) {
1482						var id = data.SUBSCRIBE[i];
1483						if (typeof id === 'number' || typeof id === 'string') {
1484							$('.to-subscribe[data-item=' + id + ']').hide();
1485							$('.in-subscribe[data-item=' + id + ']').show();
1486						}
1487					}
1488				}
1489				if (data.COMPARE) {
1490					for (var i in data.COMPARE) {
1491						var id = data.COMPARE[i];
1492						if (typeof id === 'number' || typeof id === 'string') {
1493							$('.compare_item.to[data-item=' + id + ']').hide();
1494							$('.compare_item.in[data-item=' + id + ']').show();
1495							if ($('.compare_item[data-item=' + id + ']').find('.value.added').length) {
1496								$('.compare_item[data-item=' + id + ']')
1497									.find('.value')
1498									.hide();
1499								$('.compare_item[data-item=' + id + ']')
1500									.find('.value.added')
1501									.show();
1502							}
1503						}
1504					}
1505				}
1506			};
1507		}
1508		if (!Object.keys(arStatusBasketAspro).length) {
1509			if (typeof arAsproOptions === 'undefined') {
1510				var arAsproOptions = {
1511					SITE_DIR: '/',
1512				};
1513				if ($('body').data('site') !== undefined) arAsproOptions['SITE_DIR'] = $('body').data('site');
1514			}
1515			$.ajax({
1516				url: arAsproOptions['SITE_DIR'] + 'ajax/getAjaxBasket.php',
1517				type: 'POST',
1518				success: function (data) {
1519					arStatusBasketAspro = data;
1520					setItemButtonStatus(arStatusBasketAspro);
1521				},
1522			});
1523		} else setItemButtonStatus(arStatusBasketAspro);
1524	}
1525}
1526
1527if (!funcDefined('onLoadjqm')) {
1528	var onLoadjqm = function (name, hash, requestData, selector, requestTitle, isButton, thButton) {
1529		if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
1530			$('body').addClass('jqm-initied');
1531		}
1532		if (window.matchMedia('(min-width: 768px)').matches) {
1533			$('body').addClass('swipeignore');
1534		}
1535		
1536		if (typeof $(hash.t).data('ls') !== ' undefined' && $(hash.t).data('ls')) {
1537			var ls = $(hash.t).data('ls'),
1538				ls_timeout = 0,
1539				v = '';
1540			
1541			if ($(hash.t).data('ls_timeout')) ls_timeout = $(hash.t).data('ls_timeout');
1542			
1543			ls_timeout = ls_timeout ? Date.now() + ls_timeout * 1000 : '';
1544			
1545			if (typeof localStorage !== 'undefined') {
1546				var val = localStorage.getItem(ls);
1547				try {
1548					v = JSON.parse(val);
1549				} catch (e) {
1550					v = val;
1551				}
1552				if (v != null) {
1553					localStorage.removeItem(ls);
1554				}
1555				v = {};
1556				v['VALUE'] = 'Y';
1557				v['TIMESTAMP'] = ls_timeout; // default: seconds for 1 day
1558				
1559				localStorage.setItem(ls, JSON.stringify(v));
1560			} else {
1561				var val = $.cookie(ls);
1562				if (!val) $.cookie(ls, 'Y', { expires: ls_timeout }); // default: seconds for 1 day
1563			}
1564			
1565			var dopClasses = hash.w.find('.marketing-popup').data('classes');
1566			if (dopClasses) {
1567				hash.w.addClass(dopClasses);
1568			}
1569		}
1570		
1571		//show password eye
1572		if (hash.w.hasClass('auth_frame')) {
1573			hash.w.find('.form-control:not(.eye-password-ignore) [type=password]').each(function (item) {
1574				$(this).closest('.form-control').addClass('eye-password');
1575			});
1576		}
1577		
1578		$.each($(hash.t).get(0).attributes, function (index, attr) {
1579			if (/^data\-autoload\-(.+)$/.test(attr.nodeName)) {
1580				var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1];
1581				var el = $('input[data-sid="' + key.toUpperCase() + '"]');
1582				var value = $(hash.t).data('autoload-' + key);
1583				value = String(value).replace(/%99/g, '\\'); // replace symbol \
1584				el.val(BX.util.htmlspecialcharsback(value)).attr('readonly', 'readonly');
1585				el.closest('.form-group').addClass('input-filed');
1586				el.attr('title', el.val());
1587			}
1588		});
1589		
1590		//show gift block
1591		if (hash.w.hasClass('send_gift_frame')) {
1592			var imgHtml = (priceHtml = propsHtml = '');
1593			if ($('.offers_img a').length) imgHtml = $('.offers_img a').html();
1594			else if ($('.product-detail-gallery__container .first_sku_picture').length)
1595				imgHtml = '<img src=' + $('.product-detail-gallery__container link.first_sku_picture').attr('href') + ' />';
1596			else if ($('.product-detail-gallery__container').length)
1597				imgHtml = '<img src=' + $('.product-detail-gallery__container link[itemprop="image"]').attr('href') + ' />';
1598			
1599			if ($('.product-container *[itemprop="offers"]').length) {
1600				//show price
1601				if ($('.sku-view').length) {
1602					if ($('.prices_block .price').length)
1603						priceHtml = $('.prices_block .cost.prices').html().replace('id', 'data-id');
1604				} else {
1605					var mainContainer = $(hash.t).closest('.product-main');
1606					if (mainContainer.find('.prices_block .js_price_wrapper').length) {
1607						if (mainContainer.find('.prices_block .js_price_wrapper .with_matrix').length) {
1608							priceHtml =
1609								'<div class="with_matrix">' +
1610								mainContainer.find('.prices_block .js_price_wrapper .with_matrix').html() +
1611								'</div>';
1612						} else if (mainContainer.find('.prices_block .with_matrix:visible').length) {
1613							priceHtml =
1614								'<div class="with_matrix">' + mainContainer.find('.prices_block .with_matrix').html() + '</div>';
1615						} else if (mainContainer.find('.prices_block .price_group.min').length) {
1616							priceHtml =
1617								'<div class="with_matrix">' + mainContainer.find('.prices_block .price_group.min').html() + '</div>';
1618						} else {
1619							priceHtml =
1620								'<div class="with_matrix">' + mainContainer.find('.prices_block .js_price_wrapper').html() + '</div>';
1621						}
1622					} else if (mainContainer.find('.prices_block .with_matrix').length)
1623						priceHtml =
1624							'<div class="with_matrix">' + mainContainer.find('.prices_block .with_matrix').html() + '</div>';
1625					else if (mainContainer.find('.prices_block .price_group.min').length)
1626						priceHtml = mainContainer.find('.prices_block .price_group.min').html();
1627					else if (mainContainer.find('.prices_block .price_matrix_wrapper').length)
1628						priceHtml = mainContainer.find('.prices_block .price_matrix_wrapper').html();
1629				}
1630			}
1631			
1632			if ($('.buy_block .sku_props').length) {
1633				propsHtml = '<div class="props_item">';
1634				$('.buy_block .sku_props .bx_catalog_item_scu > div').each(function () {
1635					var title = $(this).find('.bx_item_section_name > span').html();
1636					var props = '';
1637					var ikSelect = $(this).find('.ik_select_link_text');
1638					if (ikSelect.length) {
1639						props = ikSelect.text();
1640					} else {
1641						var activeSku = $(this).find('ul li.active');
1642						var isPicture = activeSku.find(' > i');
1643						if (isPicture.length && isPicture.attr('title')) {
1644							var propTitle = isPicture.attr('title').split(':');
1645							if (propTitle.length) {
1646								propTitle = propTitle[1].trim();
1647							} else {
1648								propTitle = isPicture.attr('title');
1649							}
1650							props = propTitle;
1651						} else {
1652							props = activeSku.find(' > span').text();
1653						}
1654					}
1655					
1656					propsHtml +=
1657						'<div class="prop_item">' +
1658						'<span>' +
1659						title +
1660						// '<span class="val">
1660' +
1661						// props +
1662						// "</span>" +
1663						'</span>' +
1664						'</div>';
1665				});
1666				propsHtml += '</div>';
1667			}
1668			$(
1669				'<div class="custom_block">' +
1670				'<div class="title">' +
1671				BX.message('POPUP_GIFT_TEXT') +
1672				'</div>' +
1673				'<div class="item_block">' +
1674				'<table class="item_list"><tr>' +
1675				'<td class="image">' +
1676				'<div>' +
1677				imgHtml +
1678				'</div>' +
1679				'</td>' +
1680				'<td class="text">' +
1681				'<div class="name">' +
1682				$('h1').text() +
1683				'</div>' +
1684				priceHtml +
1685				propsHtml +
1686				'</td>' +
1687				'</tr></table>' +
1688				'</div>' +
1689				'</div>'
1690			).prependTo(hash.w.find('.form_body'));
1691		}
1692		
1693		if (
1694			arAsproOptions['THEME']['REGIONALITY_SEARCH_ROW'] == 'Y' &&
1695			(hash.w.hasClass('city_chooser_frame') || hash.w.hasClass('city_chooser_small_frame'))
1696		) {
1697			hash.w.addClass('small_popup_regions');
1698			hash.w.addClass('no_scroll');
1699		}
1700		
1701		if (name == 'fast_view' && $('.smart-filter-filter').length) {
1702			var navButtons =
1703				'<div class="navigation-wrapper-fast-view">' +
1704				'<div class="fast-view-nav prev colored_theme_hover_bg" data-fast-nav="prev">' +
1705				'<i class="svg left">' +
1706				'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' +
1707				'</i>' +
1708				'</div>' +
1709				'<div class="fast-view-nav next colored_theme_hover_bg" data-fast-nav="next">' +
1710				'<i class="svg right">' +
1711				'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' +
1712				'</i>' +
1713				'</div>' +
1714				'</div>';
1715			
1716			hash.w.closest('#popup_iframe_wrapper').append(navButtons);
1717		}
1718		
1719		hash.w.addClass('scrollblock');
1720		hash.w.addClass('show').css({
1721			// 'top': (($(window).height() > hash.w.height()) ? Math.floor(($(window).height() - hash.w.height()) / 2) : 0) + 'px',
1722			// 'margin-left': ($(window).width() > hash.w.outerWidth() ? '-' + hash.w.outerWidth() / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
1723			opacity: 1,
1724		});
1725		
1726		if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
1727			$('body').css({ overflow: 'hidden', height: '100vh' });
1728			hash.w.closest('#popup_iframe_wrapper').css({ 'z-index': 3000, display: 'flex' });
1729		}
1730		
1731		var eventdata = { action: 'loadForm' };
1732		let _this = $(hash.t)[0];
1733		if (thButton) {
1734			_this = thButton;
1735		}
1736		BX.onCustomEvent('onCompleteAction', [eventdata, _this]);
1737		
1738		if (typeof requestData == 'undefined') {
1739			requestData = '';
1740		}
1741		if (typeof selector == 'undefined') {
1742			selector = false;
1743		}
1744		
1745		var width = $('.' + name + '_frame').width();
1746		//$('.'+name+'_frame').css('margin-left', '-'+width/2+'px');
1747		
1748		if (name == 'order-popup-call') {
1749		} else if (name == 'order-button') {
1750			$('.order-button_frame')
1751				.find('div[product_name]')
1752				.find('input')
1753				.val(hash.t.title)
1754				.attr('readonly', 'readonly')
1755				.css({ overflow: 'hidden', 'text-overflow': 'ellipsis' });
1756		} else if (name == 'basket_error') {
1757			$('.basket_error_frame .pop-up-title').text(requestTitle);
1758			$('.basket_error_frame .ajax_text').html(requestData);
1759			
1760			if (window.matchMedia('(max-width: 991px)').matches) {
1761				$('body').addClass('all_viewed');
1762			}
1763			
1764			initSelects(document);
1765			if (isButton == 'Y' && thButton)
1766				$(
1767					'<div class=\'popup_button_basket_wr\'><span class=\'popup_button_basket big_btn button\' data-item=' +
1768					thButton.data('item') +
1769					'><span class=\'btn btn-default\'>' +
1770					BX.message('ERROR_BASKET_BUTTON') +
1771					'</span></span></div>'
1772				).insertAfter($('.basket_error_frame .ajax_text'));
1773		} else if (name === 'fast_view') {
1774			initSelects(document);
1775		}
1776		
1777		$('.' + name + '_frame').show();
1778	};
1779}
1780
1781if (!funcDefined('onHidejqm')) {
1782	var onHidejqm = function (name, hash) {
1783		if (hash.w.find('.one_click_buy_result_success').is(':visible') && name == 'one_click_buy_basket') {
1784			window.location.href = window.location.href;
1785		}
1786		
1787		if ($('.xzoom-source').length) $('.xzoom-source').remove();
1788		if ($('.xzoom-preview').length) $('.xzoom-preview').remove();
1789		
1790		// hash.w.css('opacity', 0).hide();
1791		hash.w.animate({ opacity: 0 }, 200, function () {
1792			hash.w.hide();
1793			hash.w.empty();
1794			hash.o.remove();
1795			hash.w.removeClass('show');
1796			
1797			$('body').css({ overflow: '', height: '' });
1798			
1799			if (!hash.w.closest('#popup_iframe_wrapper').find('.jqmOverlay').length) {
1800				hash.w.closest('#popup_iframe_wrapper').css({ 'z-index': '', display: '' });
1801			}
1802			
1803			if (window.matchMedia('(max-width: 991px)').matches) {
1804				$('body').removeClass('all_viewed');
1805			}
1806			if (!$('.jqmOverlay:not(.mobp)').length || $('.jqmOverlay.waiting').length) {
1807				$('body').removeClass('jqm-initied');
1808			}
1809			
1810			if (window.matchMedia('(min-width: 768px)').matches) {
1811				$('body').removeClass('swipeignore');
1812			}
1813			
1814			if (name == 'fast_view') {
1815				$('.fast_view_popup').remove();
1816				
1817				var navButtons = hash.w.closest('#popup_iframe_wrapper').find('.navigation-wrapper-fast-view');
1818				navButtons.remove();
1819			}
1820		});
1821		
1822		window.b24form = false;
1823	};
1824}
1825
1826$.fn.jqmEx = function () {
1827	// $(this).each(function(){
1828	var _this = $(this);
1829	var name = _this.data('name');
1830	
1831	if (name.length && _this.attr('disabled') != 'disabled') {
1832		var extClass = '',
1833			paramsStr = '',
1834			trigger = '',
1835			arTriggerAttrs = {};
1836		
1837		// call counter
1838		if (typeof $.fn.jqmEx.counter === 'undefined') {
1839			$.fn.jqmEx.counter = 0;
1840		} else {
1841			++$.fn.jqmEx.counter;
1842		}
1843		
1844		// trigger attrs and params
1845		$.each(_this.get(0).attributes, function (index, attr) {
1846			var attrName = attr.nodeName;
1847			var attrValue = _this.attr(attrName);
1848			if (attrName !== 'onclick') {
1849				trigger += '[' + attrName + '="' + attrValue + '"]';
1850				arTriggerAttrs[attrName] = attrValue;
1851			}
1852			if (/^data\-custom\-param\-(.+)$/.test(attrName)) {
1853				var key = attrName.match(/^data\-custom\-param\-(.+)$/)[1];
1854				paramsStr += key + '=' + encodeURIComponent(attrValue) + '&';
1855			}
1856			if (/^data\-param\-(.+)$/.test(attrName)) {
1857				var key = attrName.match(/^data\-param\-(.+)$/)[1];
1858				paramsStr += key + '=' + attrValue + '&';
1859			}
1860		});
1861		var triggerAttrs = JSON.stringify(arTriggerAttrs);
1862		var encTriggerAttrs = encodeURIComponent(triggerAttrs);
1863		
1864		// popup url
1865		var script = arAsproOptions['SITE_DIR'] + 'ajax/form.php';
1866		if (name == 'auth') {
1867			script += '?' + paramsStr + 'auth=Y';
1868		} else {
1869			script += '?' + paramsStr + 'data-trigger=' + encTriggerAttrs;
1870		}
1871		
1872		// ext frame class
1873		if (_this.closest('#fast_view_item').length) {
1874			extClass = 'fast_view_popup';
1875		}
1876		
1877		// use overlay?
1878		var noOverlay = _this.data('noOverlay') == 'Y';
1879		
1880		// unique frame to each trigger
1881		if (noOverlay) {
1882			var frame = $(
1883				'<div class="' +
1884				name +
1885				'_frame ' +
1886				extClass +
1887				' jqmWindow popup" data-popup="' +
1888				$.fn.jqmEx.counter +
1889				'" data-trigger="' +
1890				encTriggerAttrs +
1891				'"></div>'
1892			).appendTo('body');
1893		} else {
1894			var frame = $(
1895				'<div class="' +
1896				name +
1897				'_frame ' +
1898				extClass +
1899				' jqmWindow popup" data-popup="' +
1900				$.fn.jqmEx.counter +
1901				'" data-trigger="' +
1902				encTriggerAttrs +
1903				'"></div>'
1904			).appendTo('#popup_iframe_wrapper');
1905		}
1906		
1907		loadJQM(() => {
1908			frame.jqm({
1909				ajax: script,
1910				trigger: trigger,
1911				noOverlay: noOverlay,
1912				onLoad: function (hash) {
1913					onLoadjqm(name, hash);
1914				},
1915				onHide: function (hash) {
1916					onHidejqm(name, hash);
1917				},
1918			});
1919			_this.trigger('click');
1920		});
1921	}
1922	// });
1923};
1924
1925window.addEventListener('keydown', function (e) {
1926	if (e.keyCode == 27) {
1927		$('.jqm-init.show').last().jqmHide();
1928		
1929		// hide fixed search panel with overlay
1930		if ($('.inline-search-block.show').length) {
1931			$('.inline-search-block').toggleClass('show');
1932			$('.jqmOverlay.search').detach();
1933		}
1934		
1935		// hide already visible search results
1936		$('.title-search-result').hide();
1937		
1938		// unfocus title.search input
1939		$('.search .search-input').trigger('blur');
1940		
1941		$('.mega_fixed_menu').fadeOut(animationTime);
1942	}
1943});
1944
1945if (!funcDefined('scroll_block')) {
1946	function scroll_block(block, clickedItem) {
1947		if (block.length) {
1948			if (clickedItem !== undefined && clickedItem.length) {
1949				clickedItem.trigger('click');
1950			} else {
1951				$('.prices_tab').addClass('active').siblings().removeClass('active');
1952				if ($('.prices_tab .opener').length && !$('.prices_tab .opener .opened').length) {
1953					let item = $('.prices_tab .opener').first();
1954					item.find('.opener_icon').addClass('opened');
1955					item.parents('tr').addClass('nb');
1956					item.parents('tr').next('.offer_stores').find('.stores_block_wrap').slideDown(200);
1957				}
1958			}
1959			let topPos = block.offset().top,
1960				headerOffsetTop = $('#headerfixed').outerHeight(true, true);
1961			
1962			let $tabFixed = document.querySelector('.product-item-detail-tabs-container-fixed');
1963			if ($tabFixed) {
1964				topPos -= $tabFixed.offsetHeight;
1965			}
1966			$('html,body').animate({ scrollTop: topPos - headerOffsetTop }, 150);
1967		}
1968	}
1969}
1970
1971if (!funcDefined('jqmEd')) {
1972	var jqmEd = function (name, form_id, open_trigger, requestData, selector, requestTitle, isButton, thButton) {
1973		if (typeof requestData == 'undefined') {
1974			requestData = '';
1975		}
1976		if (typeof selector == 'undefined') {
1977			selector = false;
1978		}
1979		$('body #popup_iframe_wrapper')
1980			.find('.' + name + '_frame')
1981			.remove();
1982		$('body #popup_iframe_wrapper').append('<div class="' + name + '_frame jqmWindow popup"></div>');
1983		
1984		loadJQM(() => {
1985			if (typeof open_trigger == 'undefined') {
1986				$('.' + name + '_frame').jqm({
1987					trigger: '.' + name + '_frame.popup',
1988					onHide: function (hash) {
1989						onHidejqm(name, hash);
1990					},
1991					onLoad: function (hash) {
1992						onLoadjqm(name, hash, requestData, selector);
1993					},
1994					ajax:
1995						arAsproOptions['SITE_DIR'] +
1996						'ajax/form.php?form_id=' +
1997						form_id +
1998						(requestData.length ? '&' + requestData : ''),
1999				});
2000			} else {
2001				if (name == 'enter') {
2002					$('.' + name + '_frame').jqm({
2003						trigger: open_trigger,
2004						onHide: function (hash) {
2005							onHidejqm(name, hash);
2006						},
2007						onLoad: function (hash) {
2008							onLoadjqm(name, hash, requestData, selector);
2009						},
2010						ajax: arAsproOptions['SITE_DIR'] + 'ajax/auth.php',
2011					});
2012				} else if (name == 'basket_error') {
2013					$('.' + name + '_frame').jqm({
2014						trigger: open_trigger,
2015						onHide: function (hash) {
2016							onHidejqm(name, hash);
2017						},
2018						onLoad: function (hash) {
2019							onLoadjqm(name, hash, requestData, selector, requestTitle, isButton, thButton);
2020						},
2021						ajax: arAsproOptions['SITE_DIR'] + 'ajax/basket_error.php',
2022					});
2023				} else {
2024					$('.' + name + '_frame').jqm({
2025						trigger: open_trigger,
2026						onHide: function (hash) {
2027							onHidejqm(name, hash);
2028						},
2029						onLoad: function (hash) {
2030							onLoadjqm(name, hash, requestData, selector);
2031						},
2032						ajax:
2033							arAsproOptions['SITE_DIR'] +
2034							'ajax/form.php?form_id=' +
2035							form_id +
2036							(requestData.length ? '&' + requestData : ''),
2037					});
2038				}
2039				$(open_trigger).dblclick(function () {
2040					return false;
2041				});
2042			}
2043			
2044			$(open_trigger).click();
2045			$(open_trigger).remove();
2046		});
2047		return true;
2048	};
2049}
2050
2051if (!funcDefined('replaceBasketPopup')) {
2052	function replaceBasketPopup(hash) {
2053		if (typeof hash != 'undefined') {
2054			hash.w.hide();
2055			hash.o.hide();
2056		}
2057	}
2058}
2059
2060if (!funcDefined('waitLayer')) {
2061	function waitLayer(delay, callback) {
2062		if (typeof dataLayer !== 'undefined' && typeof callback === 'function') {
2063			callback();
2064		} else {
2065			setTimeout(function () {
2066				waitLayer(delay, callback);
2067			}, delay);
2068		}
2069	}
2070}
2071
2072if (!funcDefined('checkCounters')) {
2073	function checkCounters(name) {
2074		if (typeof name !== 'undefined') {
2075			if (
2076				name == 'google' &&
2077				arAsproOptions['COUNTERS']['GOOGLE_ECOMERCE'] == 'Y' &&
2078				arAsproOptions['COUNTERS']['GOOGLE_COUNTER'] > 0
2079			) {
2080				return true;
2081			} else if (
2082				name == 'yandex' &&
2083				arAsproOptions['COUNTERS']['YANDEX_ECOMERCE'] == 'Y' &&
2084				arAsproOptions['COUNTERS']['YANDEX_COUNTER'] > 0
2085			) {
2086				return true;
2087			} else {
2088				return false;
2089			}
2090		} else if (
2091			(arAsproOptions['COUNTERS']['YANDEX_ECOMERCE'] == 'Y' && arAsproOptions['COUNTERS']['YANDEX_COUNTER'] > 0) ||
2092			(arAsproOptions['COUNTERS']['GOOGLE_ECOMERCE'] == 'Y' && arAsproOptions['COUNTERS']['GOOGLE_COUNTER'] > 0)
2093		) {
2094			return true;
2095		} else {
2096			return false;
2097		}
2098	}
2099}
2100
2101if (!funcDefined('addBasketCounter')) {
2102	window.addBasketCounter = function addBasketCounter(id) {
2103		if (arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N') {
2104			var eventdata = { goal: 'goal_basket_add', params: { id: id } };
2105			BX.onCustomEvent('onCounterGoals', [eventdata]);
2106		}
2107		if (checkCounters()) {
2108			$.ajax({
2109				url: arAsproOptions['SITE_DIR'] + 'ajax/goals.php',
2110				dataType: 'json',
2111				type: 'POST',
2112				data: { ID: id },
2113				success: function (item) {
2114					if (!!item && !!item.ID) {
2115						let ecommerce = {
2116							items: [
2117								{
2118									item_name: item.NAME, // Name or ID is required.
2119									item_id: item.ID,
2120									price: parseFloat(item.PRICE),
2121									item_brand: item.BRAND,
2122									item_category: item.CATEGORY,
2123									item_list_name: 'List Results',
2124									item_list_id: item.IBLOCK_SECTION_ID,
2125									affiliation: item.SHOP_NAME,
2126									index: 1,
2127									quantity: parseFloat(item.QUANTITY),
2128								},
2129							],
2130						};
2131						if (arAsproOptions['COUNTERS']['GA_VERSION'] === 'v3' || 1) {
2132							ecommerce = {
2133								currencyCode: item.CURRENCY,
2134								add: {
2135									products: [
2136										{
2137											id: item.ID,
2138											name: item.NAME,
2139											price: parseFloat(item.PRICE),
2140											brand: item.BRAND,
2141											category: item.CATEGORY,
2142											quantity: parseFloat(item.QUANTITY),
2143										},
2144									],
2145								},
2146							};
2147						}
2148						waitLayer(100, function () {
2149							dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2150							dataLayer.push({
2151								// event: 'add_to_cart',
2152								event: arAsproOptions['COUNTERS']['GOOGLE_EVENTS']['ADD2BASKET'],
2153								currency: item.CURRENCY,
2154								value: parseFloat(item.PRICE),
2155								ecommerce: ecommerce,
2156							});
2157						});
2158					}
2159				},
2160			});
2161		}
2162	}
2163}
2164
2165if (!funcDefined('purchaseCounter')) {
2166	function purchaseCounter(order_id, type, callback) {
2167		if (checkCounters()) {
2168			$.ajax({
2169				url: arAsproOptions['SITE_DIR'] + 'ajax/goals.php',
2170				dataType: 'json',
2171				type: 'POST',
2172				data: { ORDER_ID: order_id, TYPE: type },
2173				success: function (order) {
2174					var products = [];
2175					const items = [];
2176					if (order.ITEMS) {
2177						for (var i in order.ITEMS) {
2178							products.push({
2179								id: order.ITEMS[i].ID,
2180								sku: order.ITEMS[i].ID,
2181								name: order.ITEMS[i].NAME,
2182								price: order.ITEMS[i].PRICE,
2183								brand: order.ITEMS[i].BRAND,
2184								category: order.ITEMS[i].CATEGORY,
2185								quantity: order.ITEMS[i].QUANTITY,
2186							});
2187							items.push({
2188								item_id: order.ITEMS[i].ID,
2189								item_name: order.ITEMS[i].NAME,
2190								price: parseFloat(order.ITEMS[i].PRICE),
2191								item_brand: order.ITEMS[i].BRAND,
2192								item_category: order.ITEMS[i].CATEGORY,
2193								affiliation: order.SHOP_NAME,
2194								quantity: parseFloat(order.ITEMS[i].QUANTITY),
2195							});
2196						}
2197					}
2198					if (order.ID) {
2199						let ecommerce = {
2200							transaction_id: order.ACCOUNT_NUMBER,
2201							affiliation: order.SHOP_NAME,
2202							value: order.PRICE,
2203							tax: order.TAX_VALUE,
2204							shipping: order.PRICE_DELIVERY,
2205							currency: order.CURRENCY,
2206							items: items,
2207						};
2208						if (arAsproOptions['COUNTERS']['GA_VERSION'] === 'v3' || 1) {
2209							ecommerce = {
2210								purchase: {
2211									actionField: {
2212										id: order.ACCOUNT_NUMBER,
2213										shipping: order.PRICE_DELIVERY,
2214										tax: order.TAX_VALUE,
2215										list: type,
2216										revenue: order.PRICE,
2217									},
2218									products: products,
2219								},
2220							};
2221						}
2222						waitLayer(100, function () {
2223							dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2224							dataLayer.push({
2225								event: arAsproOptions['COUNTERS']['GOOGLE_EVENTS']['PURCHASE'],
2226								ecommerce: ecommerce,
2227							});
2228							
2229							if (typeof callback !== 'undefined') {
2230								callback(ecommerce);
2231							}
2232						});
2233					} else {
2234						if (typeof callback !== 'undefined') {
2235							callback();
2236						}
2237					}
2238				},
2239				error: function () {
2240					if (typeof callback !== 'undefined') {
2241						callback();
2242					}
2243				},
2244			});
2245		}
2246	}
2247}
2248
2249if (!funcDefined('viewItemCounter')) {
2250	function viewItemCounter(id, price_id) {
2251		if (checkCounters()) {
2252			$.ajax({
2253				url: arAsproOptions['SITE_DIR'] + 'ajax/goals.php',
2254				dataType: 'json',
2255				type: 'POST',
2256				data: { PRODUCT_ID: id, PRICE_ID: price_id },
2257				success: function (item) {
2258					if (item.ID) {
2259						let ecommerce = {
2260							items: [
2261								{
2262									item_name: item.NAME, // Name or ID is required.
2263									item_id: item.ID,
2264									price: parseFloat(item.PRICE),
2265									item_brand: item.BRAND,
2266									item_category: item.CATEGORY,
2267									item_list_name: 'List Results',
2268									item_list_id: item.IBLOCK_SECTION_ID,
2269									affiliation: item.SHOP_NAME,
2270									index: 1,
2271									quantity: parseFloat(item.QUANTITY),
2272								},
2273							],
2274						};
2275						if (arAsproOptions['COUNTERS']['GA_VERSION'] === 'v3' || 1) {
2276							ecommerce = {
2277								detail: {
2278									products: [
2279										{
2280											id: item.ID,
2281											name: item.NAME,
2282											price: parseFloat(item.PRICE),
2283											brand: item.BRAND,
2284											category: item.CATEGORY,
2285										},
2286									],
2287								},
2288							};
2289						}
2290						waitLayer(100, function () {
2291							dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2292							dataLayer.push({
2293								event: 'view_item',
2294								currency: item.CURRENCY,
2295								value: parseFloat(item.PRICE),
2296								ecommerce: ecommerce,
2297							});
2298						});
2299					}
2300				},
2301			});
2302		}
2303	}
2304}
2305
2306if (!funcDefined('checkoutCounter')) {
2307	function checkoutCounter(step, option, callback) {
2308		if (checkCounters('google')) {
2309			$.ajax({
2310				url: arAsproOptions['SITE_DIR'] + 'ajax/goals.php',
2311				dataType: 'json',
2312				type: 'POST',
2313				data: { BASKET: 'Y' },
2314				success: function (basket) {
2315					var products = [];
2316					const items = [];
2317					let summ = 0;
2318					let currency = 'RUB';
2319					if (basket.ITEMS) {
2320						for (var i in basket.ITEMS) {
2321							products.push({
2322								id: basket.ITEMS[i].ID,
2323								name: basket.ITEMS[i].NAME,
2324								price: basket.ITEMS[i].PRICE,
2325								brand: basket.ITEMS[i].BRAND,
2326								category: basket.ITEMS[i].CATEGORY,
2327								quantity: basket.ITEMS[i].QUANTITY,
2328							});
2329							items.push({
2330								item_id: basket.ITEMS[i].ID,
2331								item_name: basket.ITEMS[i].NAME,
2332								price: parseFloat(basket.ITEMS[i].PRICE),
2333								item_brand: basket.ITEMS[i].BRAND,
2334								item_category: basket.ITEMS[i].CATEGORY,
2335								affiliation: basket.SHOP_NAME,
2336								quantity: parseFloat(basket.ITEMS[i].QUANTITY),
2337							});
2338							summ += basket.ITEMS[i].PRICE;
2339							currency = basket.ITEMS[i].CURRENCY;
2340						}
2341					}
2342					if (products) {
2343						let ecommerce = {
2344							items: items,
2345						};
2346						if (arAsproOptions['COUNTERS']['GA_VERSION'] === 'v3' || 1) {
2347							ecommerce = {
2348								checkout: {
2349									actionField: {
2350										step: step,
2351										option: option,
2352									},
2353									products: products,
2354								},
2355							};
2356						}
2357						waitLayer(100, function () {
2358							dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2359							dataLayer.push({
2360								event: arAsproOptions['COUNTERS']['GOOGLE_EVENTS']['CHECKOUT_ORDER'],
2361								currency: currency,
2362								value: parseFloat(summ),
2363								ecommerce: ecommerce,
2364								/*"eventCallback": function() {
2365                    if((typeof callback !== 'undefined') && (typeof callback === 'function')){
2366                      callback();
2367                    }
2368                 }*/
2369							});
2370							if (typeof callback !== 'undefined' && typeof callback === 'function') {
2371								callback();
2372							}
2373						});
2374					}
2375				},
2376			});
2377		}
2378	}
2379}
2380
2381if (!funcDefined('delFromBasketCounter')) {
2382	window.delFromBasketCounter = function delFromBasketCounter(id, callback) {
2383		if (checkCounters()) {
2384			$.ajax({
2385				url: arAsproOptions['SITE_DIR'] + 'ajax/goals.php',
2386				dataType: 'json',
2387				type: 'POST',
2388				data: { ID: id },
2389				success: function (item) {
2390					if (item.ID) {
2391						let ecommerce = {
2392							items: [
2393								{
2394									item_name: item.NAME, // Name or ID is required.
2395									item_id: item.ID,
2396									price: parseFloat(item.PRICE),
2397									item_brand: item.BRAND,
2398									item_category: item.CATEGORY,
2399									affiliation: item.SHOP_NAME,
2400									item_list_name: 'List Results',
2401								},
2402							],
2403						};
2404						if (arAsproOptions['COUNTERS']['GA_VERSION'] === 'v3' || 1) {
2405							ecommerce = {
2406								remove: {
2407									products: [
2408										{
2409											id: item.ID,
2410											name: item.NAME,
2411											category: item.CATEGORY,
2412										},
2413									],
2414								},
2415							};
2416						}
2417						waitLayer(100, function () {
2418							dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2419							dataLayer.push({
2420								event: arAsproOptions['COUNTERS']['GOOGLE_EVENTS']['REMOVE_BASKET'],
2421								currency: item.CURRENCY,
2422								value: parseFloat(item.PRICE),
2423								ecommerce: ecommerce,
2424							});
2425							if (typeof callback == 'function') {
2426								callback();
2427							}
2428						});
2429					}
2430				},
2431			});
2432		}
2433	}
2434}
2435
2436if (!funcDefined('setHeightCompany')) {
2437	function setHeightCompany() {
2438		$('.md-50.img').height($('.md-50.big').outerHeight() - 35);
2439	}
2440}
2441
2442if (!funcDefined('initSly')) {
2443	function initSly() {
2444		/*var $frame  = $(document).find('.frame');
2445    var $slidee = $frame.children('ul').eq(0);
2446    var $wrap   = $frame.parent();
2447
2448    if(arAsproOptions["PAGES"]["CATALOG_PAGE"] && $frame.length){
2449      $frame.sly({
2450        horizontal: 1,
2451        itemNav: 'basic',
2452        smart: 1,
2453        mouseDragging: 0,
2454        touchDragging: 0,
2455        releaseSwing: 0,
2456        startAt: 0,
2457        scrollBar: $wrap.find('.scrollbar'),
2458        scrollBy: 1,
2459        speed: 300,
2460        elasticBounds: 0,
2461        easing: 'swing',
2462        dragHandle: 1,
2463        dynamicHandle: 1,
2464        clickBar: 1,
2465
2466        // Buttons
2467        forward: $wrap.find('.forward'),
2468        backward: $wrap.find('.backward'),
2469      });
2470      $frame.sly('reload');
2471    }*/
2472	}
2473}
2474
2475if (!funcDefined('createTableCompare')) {
2476	function createTableCompare(originalTable, appendDiv, cloneTable) {
2477		try {
2478			var clone = originalTable.clone().removeAttr('id').addClass('clone');
2479			if (cloneTable.length) {
2480				cloneTable.remove();
2481				appendDiv.html('');
2482				appendDiv.html(clone);
2483			} else {
2484				appendDiv.append(clone);
2485			}
2486		} catch (e) {
2487		} finally {
2488		}
2489	}
2490}
2491
2492if (!funcDefined('fillBasketPropsExt')) {
2493	fillBasketPropsExt = function (that, prop_code, basket_prop_div) {
2494		var i = 0,
2495			propCollection = null,
2496			foundValues = false,
2497			basketParams = {},
2498			obBasketProps = null;
2499		
2500		obBasketProps = BX(basket_prop_div);
2501		if (!obBasketProps && that.closest('.item').find('.basket_props_block').length && that.data('offers') !== 'Y')
2502			obBasketProps = that.closest('.item').find('.basket_props_block')[0];
2503		
2504		if (!!obBasketProps) {
2505			propCollection = obBasketProps.getElementsByTagName('select');
2506			if (!!propCollection && !!propCollection.length) {
2507				for (i = 0; i < propCollection.length; i++) {
2508					if (!propCollection[i].disabled) {
2509						switch (propCollection[i].type.toLowerCase()) {
2510							case 'select-one':
2511								basketParams[propCollection[i].name] = propCollection[i].value;
2512								foundValues = true;
2513								break;
2514							default:
2515								break;
2516						}
2517					}
2518				}
2519			}
2520			propCollection = obBasketProps.getElementsByTagName('input');
2521			if (!!propCollection && !!propCollection.length) {
2522				for (i = 0; i < propCollection.length; i++) {
2523					if (!propCollection[i].disabled) {
2524						switch (propCollection[i].type.toLowerCase()) {
2525							case 'hidden':
2526								basketParams[propCollection[i].name] = propCollection[i].value;
2527								foundValues = true;
2528								break;
2529							case 'radio':
2530								if (propCollection[i].checked) {
2531									basketParams[propCollection[i].name] = propCollection[i].value;
2532									foundValues = true;
2533								}
2534								break;
2535							default:
2536								break;
2537						}
2538					}
2539				}
2540			}
2541		}
2542		if (!foundValues) {
2543			basketParams[prop_code] = [];
2544			basketParams[prop_code][0] = 0;
2545		}
2546		return basketParams;
2547	};
2548}
2549if (!funcDefined('showBasketError')) {
2550	showBasketError = function (mess, title, addButton, th, callback) {
2551		var title_set = title ? title : BX.message('ERROR_BASKET_TITLE'),
2552			isButton = 'N',
2553			thButton = '';
2554		if (typeof addButton !== undefined) {
2555			isButton = 'Y';
2556		}
2557		if (typeof th !== undefined) {
2558			thButton = th;
2559		}
2560		$('body').append('<span class=\'add-error-bakset\' style=\'display:none;\'></span>');
2561		jqmEd('basket_error', 'error-bakset', '.add-error-bakset', mess, this, title_set, isButton, thButton);
2562		
2563		if (typeof callback === 'function') {
2564			callback();
2565		}
2566	};
2567}
2568
2569CheckTopVisibleMenu = function (that) {
2570	var dropdownMenu = $('.dropdown-menu:visible');
2571	if (that !== undefined) {
2572		dropdownMenu.push(that);
2573	}
2574	
2575	if (dropdownMenu.length) {
2576		dropdownMenu.each(function (i, el) {
2577			var dropdownMenuCurrent = $(el);
2578			dropdownMenuCurrent.find('a').css('white-space', '');
2579			dropdownMenuCurrent.css('left', '');
2580			dropdownMenuCurrent.css('right', '');
2581			dropdownMenuCurrent.removeClass('toright');
2582			
2583			var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left;
2584			
2585			if (typeof dropdownMenuCurrent_left != 'undefined') {
2586				var menu = dropdownMenuCurrent.parents('.mega-menu');
2587				if (!menu.length) menu = dropdownMenuCurrent.closest('.logo-row');
2588				var menu_width = menu.outerWidth();
2589				var menu_left = menu.offset().left;
2590				var menu_right = menu_left + menu_width;
2591				var isToRight = dropdownMenuCurrent.parents('.toright').length > 0;
2592				var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents('.dropdown-menu');
2593				var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0;
2594				if (isHasParentdropdownMenuCurrent) {
2595					var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth();
2596					var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left;
2597					var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left;
2598				}
2599				
2600				if (parentdropdownMenuCurrent_right + dropdownMenuCurrent.outerWidth() > menu_right) {
2601					dropdownMenuCurrent.find('a').css('white-space', 'normal');
2602				}
2603				
2604				var dropdownMenuCurrent_width = dropdownMenuCurrent.outerWidth();
2605				var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width;
2606				
2607				if (dropdownMenuCurrent_right > menu_right || isToRight) {
2608					var addleft = 0;
2609					addleft = menu_right - dropdownMenuCurrent_right;
2610					if (isHasParentdropdownMenuCurrent || isToRight) {
2611						dropdownMenuCurrent.css('left', 'auto');
2612						dropdownMenuCurrent.css('right', '100%');
2613						dropdownMenuCurrent.addClass('toright');
2614					} else {
2615						var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css('left'));
2616						dropdownMenuCurrent.css('left', dropdownMenuCurrent_curLeft + addleft + 'px');
2617					}
2618				}
2619			}
2620		});
2621	}
2622};
2623
2624if (!funcDefined('isRealValue')) {
2625	function isRealValue(obj) {
2626		return obj && obj !== 'null' && obj !== 'undefined';
2627	}
2628}
2629
2630if (!funcDefined('rightScroll')) {
2631	function rightScroll(prop, id) {
2632		var el = BX('prop_' + prop + '_' + id);
2633		if (el) {
2634			var curVal = parseInt(el.style.marginLeft);
2635			if (curVal >= 0) el.style.marginLeft = curVal - 20 + '%';
2636		}
2637	}
2638}
2639
2640if (!funcDefined('leftScroll')) {
2641	function leftScroll(prop, id) {
2642		var el = BX('prop_' + prop + '_' + id);
2643		if (el) {
2644			var curVal = parseInt(el.style.marginLeft);
2645			if (curVal < 0) el.style.marginLeft = curVal + 20 + '%';
2646		}
2647	}
2648}
2649
2650if (!funcDefined('InitOrderCustom')) {
2651	InitOrderCustom = function () {
2652		$('.ps_logo img').wrap('<div class="image"></div>');
2653		
2654		$('#bx-soa-order .radio-inline').each(function () {
2655			if ($(this).find('input').attr('checked') == 'checked') {
2656				$(this).addClass('checked');
2657			}
2658		});
2659		
2660		$('#bx-soa-order .checkbox input[type=checkbox]').each(function () {
2661			if ($(this).attr('checked') == 'checked') $(this).parent().addClass('checked');
2662		});
2663		
2664		$('#bx-soa-order .bx-authform-starrequired').each(function () {
2665			var html = $(this).html();
2666			$(this)
2667				.closest('label')
2668				.append('<span class="bx-authform-starrequired"> ' + html + '</span>');
2669			$(this).detach();
2670		});
2671		$('.bx_ordercart_coupon').each(function () {
2672			if ($(this).find('.bad').length) $(this).addClass('bad');
2673			else if ($(this).find('.good').length) $(this).addClass('good');
2674		});
2675		/*if (typeof(propsMap) !== 'undefined') {
2676      $(propsMap).on('click', function () {
2677        var value = $('#orderDescription').val();
2678        if ($('#orderDescription')) {
2679          if (value != '') {
2680            $('#orderDescription').closest('.form-group').addClass('value_y');
2681          }
2682        }
2683      });
2684    }*/
2685	};
2686}
2687
2688if (!funcDefined('InitLabelAnimation')) {
2689	InitLabelAnimation = function (className) {
2690		// Fix order labels
2691		if (!$(className).length) {
2692			return;
2693		}
2694		$(className)
2695			.find('.form-group')
2696			.each(function () {
2697				if (
2698					$(this).find('input[type=text], textarea').length &&
2699					!$(this).find('.dropdown-block').length &&
2700					$(this).find('input[type=text], textarea').val() != ''
2701				) {
2702					$(this).addClass('value_y');
2703				}
2704			});
2705		
2706		$(document).on('click', className + ' .form-group:not(.bx-soa-pp-field) label', function () {
2707			$(this).parent().find('input, textarea').focus();
2708		});
2709		
2710		$(document).on(
2711			'focusout',
2712			className +
2713			' .form-group:not(.bx-soa-pp-field) input, ' +
2714			className +
2715			' .form-group:not(.bx-soa-pp-field) textarea',
2716			function () {
2717				var value = $(this).val();
2718				if (
2719					value != '' &&
2720					!$(this).closest('.form-group').find('.dropdown-block').length &&
2721					!$(this).closest('.form-group').find('#profile_change').length
2722				) {
2723					$(this).closest('.form-group').addClass('value_y');
2724				} else {
2725					$(this).closest('.form-group').removeClass('value_y');
2726				}
2727			}
2728		);
2729		
2730		$(document).on(
2731			'focus',
2732			className +
2733			' .form-group:not(.bx-soa-pp-field) input, ' +
2734			className +
2735			' .form-group:not(.bx-soa-pp-field) textarea',
2736			function () {
2737				if (
2738					!$(this).closest('.form-group').find('.dropdown-block').length &&
2739					!$(this).closest('.form-group').find('#profile_change').length &&
2740					!$(this).closest('.form-group').find('[name=PERSON_TYPE_OLD]').length
2741				) {
2742					$(this).closest('.form-group').addClass('value_y');
2743				}
2744			}
2745		);
2746	};
2747}
2748
2749function loadScrollTabs(selector, callback) {
2750	$(selector).iAppear(() => {
2751		BX.loadScript([arAsproOptions['SITE_TEMPLATE_PATH'] + '/js/scrollTabs.js?v=1'], function () {
2752			callback();
2753		});
2754	});
2755}
2756
2757checkCaptchaWidth = function () {
2758	$('.captcha-row').each(function () {
2759		var width = $(this).actual('width');
2760		if ($(this).hasClass('b')) {
2761			if (width > 320) {
2762				$(this).removeClass('b');
2763			}
2764		} else {
2765			if (width <= 320) {
2766				$(this).addClass('b');
2767			}
2768		}
2769	});
2770};
2771
2772checkFormWidth = function () {
2773	$('.form .form_left').each(function () {
2774		var form = $(this).parents('.form');
2775		var width = form.actual('width');
2776		if (form.hasClass('b')) {
2777			if (width > 417) {
2778				form.removeClass('b');
2779			}
2780		} else {
2781			if (width <= 417) {
2782				form.addClass('b');
2783			}
2784		}
2785	});
2786};
2787
2788checkFormControlWidth = function () {
2789	$('.form-control').each(function () {
2790		var width = $(this).actual('width');
2791		var labelWidth = $(this).find('label:not(.error) > span').actual('width');
2792		var errorWidth = $(this).find('label.error').actual('width');
2793		if (errorWidth > 0) {
2794			if ($(this).hasClass('h')) {
2795				if (width > labelWidth + errorWidth + 5) {
2796					$(this).removeClass('h');
2797				}
2798			} else {
2799				if (width <= labelWidth + errorWidth + 5) {
2800					$(this).addClass('h');
2801				}
2802			}
2803		} else {
2804			$(this).removeClass('h');
2805		}
2806	});
2807};
2808
2809scrollToTop = function () {
2810	if (arAsproOptions['THEME']['SCROLLTOTOP_TYPE'] !== 'NONE') {
2811		var _isScrolling = false;
2812		// Append Button
2813		$('body').append(
2814			$('<a />')
2815				.addClass(
2816					'scroll-to-top ' +
2817					arAsproOptions['THEME']['SCROLLTOTOP_TYPE'] +
2818					' ' +
2819					arAsproOptions['THEME']['SCROLLTOTOP_POSITION']
2820				)
2821				.attr({ href: '#', id: 'scrollToTop' })
2822		);
2823		
2824		if (arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM']) {
2825			$('#scrollToTop').css('bottom', +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM'] + 'px');
2826		}
2827		
2828		if (arAsproOptions['THEME']['SCROLLTOTOP_POSITION_RIGHT']) {
2829			$('#scrollToTop').css('right', +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_RIGHT'] + 'px');
2830		}
2831		
2832		$('#scrollToTop').click(function (e) {
2833			e.preventDefault();
2834			$('body, html').animate({ scrollTop: 0 }, 500);
2835			return false;
2836		});
2837		// Show/Hide Button on Window Scroll event.
2838		$(window).scroll(function () {
2839			if (!_isScrolling) {
2840				_isScrolling = true;
2841				if (documentScrollTopLast > 150) {
2842					$('#scrollToTop').stop(true, true).addClass('visible');
2843					_isScrolling = false;
2844				} else {
2845					$('#scrollToTop').stop(true, true).removeClass('visible');
2846					_isScrolling = false;
2847				}
2848				checkScrollToTop();
2849			}
2850		});
2851	}
2852};
2853
2854checkScrollToTop = function () {
2855	if (arAsproOptions['THEME'] && arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM'])
2856		var bottom = +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM'];
2857	else var bottom = 55;
2858	
2859	var scrollVal = documentScrollTopLast,
2860		windowHeight = document.documentElement.offsetHeight,
2861		footerOffset = 0;
2862	if ($('footer').length) footerOffset = $('footer .footer-inner').offset().top;
2863	
2864	if (arAsproOptions['THEME'] && arAsproOptions['THEME']['SCROLLTOTOP_POSITION'] == 'CONTENT') {
2865		warpperWidth = $('body > .wrapper > .wrapper_inner').width();
2866		$('#scrollToTop').css('margin-left', Math.ceil(warpperWidth / 2) + 23);
2867	}
2868	
2869	if (scrollVal + windowHeight > footerOffset) {
2870		$('#scrollToTop').css('bottom', Math.round(bottom + scrollVal + windowHeight - footerOffset) + 'px');
2871	} else if (parseInt($('#scrollToTop').css('bottom')) > bottom) {
2872		$('#scrollToTop').css('bottom', Math.round(bottom));
2873	}
2874};
2875
2876CheckObjectsSizes = function () {
2877	$('.container iframe,.container object,.container video').each(function () {
2878		var height_attr = $(this).attr('height');
2879		var width_attr = $(this).attr('width');
2880		if (height_attr && width_attr) {
2881			$(this).css('height', ($(this).outerWidth() * height_attr) / width_attr);
2882		}
2883	});
2884};
2885
2886if (!funcDefined('reloadTopBasket')) {
2887	window.reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item, sync) {
2888		var obj = {
2889			PARAMS: $('#top_basket_params').val(),
2890			ACTION: action,
2891		};
2892		if (typeof item !== 'undefined' && item) {
2893			obj.delete_top_item = 'Y';
2894			obj.delete_top_item_id = item.data('id');
2895		}
2896		// $.post( arAsproOptions['SITE_DIR']+"ajax/show_basket_popup.php", obj, $.proxy(function( data ){
2897		$.post(
2898			arAsproOptions['SITE_DIR'] + 'ajax/show_basket_actual.php',
2899			obj,
2900			$.proxy(function (data) {
2901				$(basketWindow).html(data);
2902				
2903				//getActualBasket('', '', sync);
2904				
2905				getActualBasket('', 'Compare', sync); //need for actual compare count when do opt action
2906				
2907				var eventdata = { action: 'loadBasket' };
2908				BX.onCustomEvent('onCompleteAction', [eventdata]);
2909				
2910				/*if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){
2911        if($(window).outerWidth() > 520){
2912          if(slideDown=="Y")
2913            $(basketWindow).find('.basket_popup_wrapp').stop(true,true).slideDown(speed);
2914          clearTimeout(basketTimeoutSlide);
2915          basketTimeoutSlide = setTimeout(function() {
2916            var _this = $('#basket_line').find('.basket_popup_wrapp');
2917            if (_this.is(':hover')) {
2918              _this.show();
2919            }else{
2920              $('#basket_line').find('.basket_popup_wrapp').slideUp(speed);
2921            }
2922          },delay);
2923        }
2924      }*/
2925			})
2926		);
2927	};
2928}
2929
2930CheckTabActive = function () {
2931	if (typeof clicked_tab && clicked_tab) {
2932		if (window.matchMedia('(min-width: 768px)').matches) {
2933			clicked_tab--;
2934			$('.nav.nav-tabs li').each(function () {
2935				if ($(this).index() == clicked_tab) $(this).addClass('active');
2936			});
2937			// $('.nav.nav-tabs li:eq('+clicked_tab+')').addClass('active');
2938			$('.catalog_detail .tab-content .tab-pane:eq(' + clicked_tab 
2938+ ')').addClass('active');
2939			$('.catalog_detail .tab-content .tab-pane .title-tab-heading').next().removeAttr('style');
2940			clicked_tab = 0;
2941		}
2942	}
2943};
2944
2945/*countdown start*/
2946if (!funcDefined('initCountdown')) {
2947	var initCountdown = function initCountdown() {
2948		if ($('.view_sale_block').length) {
2949			$('.view_sale_block').each(function () {
2950				var _this = $(this);
2951				if (_this.hasClass('init-if-visible') && !_this.is(':visible')) return;
2952				
2953				var activeTo = _this.find('.active_to').text(),
2954					dateTo = new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2955				if (_this.hasClass('compact'))
2956					_this.find('.countdown').countdown(
2957						{
2958							until: dateTo,
2959							format: 'dHMS',
2960							compact: true,
2961							padZeroes: true,
2962							layout:
2963								'{d<}<span class="days item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hn}<div class="text">{hl}</div></span> <span class="minutes item">{mn}<div class="text">{ml}</div></span> <span class="sec item">{sn}<div class="text">{sl}</div></span>',
2964						},
2965						$.countdown.regionalOptions['ru']
2966					);
2967				else
2968					_this.find('.countdown').countdown(
2969						{
2970							until: dateTo,
2971							format: 'dHMS',
2972							padZeroes: true,
2973							layout:
2974								'{d<}<span class="days item">{dnn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hnn}<div class="text">{hl}</div></span> <span class="minutes item">{mnn}<div class="text">{ml}</div></span> <span class="sec item">{snn}<div class="text">{sl}</div></span>',
2975						},
2976						$.countdown.regionalOptions['ru']
2977					);
2978			});
2979		}
2980	};
2981}
2982
2983if (!funcDefined('initCountdownTime')) {
2984	var initCountdownTime = function initCountdownTime(block, time) {
2985		if (time) {
2986			var dateTo = new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2987			block.find('.countdown').countdown('destroy');
2988			if (block.hasClass('compact'))
2989				block.find('.countdown').countdown(
2990					{
2991						until: dateTo,
2992						format: 'dHM',
2993						compact: true,
2994						padZeroes: true,
2995						layout:
2996							'{d<}<span class="days item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hn}<div class="text">{hl}</div></span> <span class="minutes item">{mn}<div class="text">{ml}</div></span> <span class="sec item">{sn}<div class="text">{sl}</div></span>',
2997					},
2998					$.countdown.regionalOptions['ru']
2999				);
3000			else
3001				block.find('.countdown').countdown(
3002					{
3003						until: dateTo,
3004						format: 'dHMS',
3005						padZeroes: true,
3006						layout:
3007							'{d<}<span class="days item">{dnn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hnn}<div class="text">{hl}</div></span> <span class="minutes item">{mnn}<div class="text">{ml}</div></span> <span class="sec item">{snn}<div class="text">{sl}</div></span>',
3008					},
3009					$.countdown.regionalOptions['ru']
3010				);
3011			block.find('.view_sale_block').show();
3012		} else {
3013			block.find('.view_sale_block').hide();
3014		}
3015	};
3016}
3017/*countdown end*/
3018
3019waitCounter = function (idCounter, delay, callback) {
3020	var obCounter = window['yaCounter' + idCounter];
3021	if (typeof obCounter == 'object') {
3022		if (typeof callback == 'function') callback();
3023	} else {
3024		setTimeout(function () {
3025			waitCounter(idCounter, delay, callback);
3026		}, delay);
3027	}
3028};
3029
3030var isOnceInited = (insertFilter = false);
3031var animationTime = 200;
3032var delayTime = 200;
3033var topMenuEnterTimer = false;
3034var previewMode = window != window.top;
3035var isMobile = window.matchMedia('(max-width:991px)').matches;
3036if (isMobile) document.documentElement.className += ' mobile';
3037if (previewMode) document.documentElement.className += ' previewMode';
3038
3039if (navigator.userAgent.indexOf('Edge') != -1) document.documentElement.className += ' bx-ie-edge';
3040
3041/*filter start*/
3042if (!funcDefined('checkVerticalMobileFilter')) {
3043	var checkVerticalMobileFilter = function checkVerticalMobileFilter() {
3044		/*if($('.right_block1.catalog.vertical').length && !$('.left_block.filter_ajax').length)
3045    {
3046      if(typeof window['trackBarOptions'] !== 'undefined')
3047      {
3048        window['trackBarValues'] = {}
3049        for(key in window['trackBarOptions'])
3050        {
3051          window['trackBarValues'][key] = {
3052            'leftPercent': window['trackBar' + key].leftPercent,
3053            'leftValue': window['trackBar' + key].minInput.value,
3054            'rightPercent': window['trackBar' + key].rightPercent,
3055            'rightValue': window['trackBar' + key].maxInput.value,
3056          }
3057        }
3058      }
3059
3060      if(window.matchMedia('(max-width: 991px)').matches)
3061      {
3062        if(!insertFilter)
3063        {
3064          $('.js_filter .bx_filter.bx_filter_vertical').html($('.left_block .bx_filter.bx_filter_vertical').html());
3065          $('.left_block .bx_filter.bx_filter_vertical .bx_filter_section').remove();
3066          insertFilter=true;
3067        }
3068      }
3069      else
3070      {
3071        if(insertFilter)
3072        {
3073          $('.left_block .bx_filter.bx_filter_vertical').html($('.js_filter .bx_filter.bx_filter_vertical').html());
3074          $('.js_filter .bx_filter.bx_filter_vertical .bx_filter_section').remove();
3075          insertFilter=false;
3076        }
3077      }
3078
3079      if(typeof window['trackBarOptions'] !== 'undefined')
3080      {
3081        for(key in window['trackBarOptions'])
3082        {
3083          window['trackBarOptions'][key].leftPercent = window['trackBarValues'][key].leftPercent;
3084          window['trackBarOptions'][key].rightPercent = window['trackBarValues'][key].rightPercent;
3085          window['trackBarOptions'][key].curMinPrice = window['trackBarValues'][key].leftValue;
3086          window['trackBarOptions'][key].curMaxPrice = window['trackBarValues'][key].rightValue;
3087          window['trackBar' + key] = new BX.Iblock.SmartFilter(window['trackBarOptions'][key]);
3088          window['trackBar' + key].minInput.value = window['trackBarValues'][key].leftValue;
3089          window['trackBar' + key].maxInput.value = window['trackBarValues'][key].rightValue;
3090        }
3091      }
3092    }
3093    else if($('.visible_mobile_filter').length)
3094    {
3095      var posTopBlock = BX.pos($('.detail.partners')[0]),
3096        posBlock = $('.ajax_load').position();
3097      // $('.visible_mobile_filter').css('top', posBottomBlock.top-posTopBlock.top);
3098      $('.visible_mobile_filter').css('top', posBlock.top);
3099
3100    }*/
3101	};
3102}
3103/*filter end*/
3104
3105// ONE CLICK
3106if (!funcDefined('oneClickBuy')) {
3107	var oneClickBuy = function (elementID, iblockID, that) {
3108		var name = 'one_click_buy';
3109		var elementQuantity = 1;
3110		var offerProps = false;
3111		var buy_btn = $(that).closest('.buy_block').find('.to-cart');
3112		var buy_btn2 = $(that).closest('tr').find('.to-cart');
3113		var buy_btn3 = $(that).closest('.item').find('.to-cart');
3114		
3115		if (typeof that !== 'undefined') {
3116			elementQuantity = $(that).attr('data-quantity');
3117			offerProps = $(that).attr('data-props');
3118		}
3119		
3120		if (elementQuantity < 0) {
3121			elementQuantity = 1;
3122		}
3123		
3124		var tmp_props = buy_btn.data('props') || buy_btn2.data('props') || buy_btn3.data('props'),
3125			props = '',
3126			part_props = '',
3127			add_props = 'N',
3128			fill_prop = {},
3129			iblockid = buy_btn.data('iblockid'),
3130			item = buy_btn.attr('data-item');
3131		
3132		if (tmp_props) {
3133			props = tmp_props.split(';');
3134		}
3135		if (buy_btn.data('part_props')) {
3136			part_props = buy_btn.data('part_props');
3137		}
3138		if (buy_btn.data('add_props')) {
3139			add_props = buy_btn.data('add_props');
3140		}
3141		
3142		fill_prop = fillBasketPropsExt(buy_btn, 'prop', buy_btn.data('bakset_div'));
3143		fill_prop.iblockID = iblockid;
3144		fill_prop.part_props = part_props;
3145		fill_prop.add_props = add_props;
3146		fill_prop.props = JSON.stringify(props);
3147		fill_prop.item = item;
3148		fill_prop.ocb_item = 'Y';
3149		
3150		// if (!isMobile) {
3151		if (!$(that).hasClass('clicked')) {
3152			$(that).addClass('clicked');
3153			$('body')
3154				.find('.' + name + '_frame')
3155				.remove();
3156			$('body')
3157				.find('.' + name + '_trigger')
3158				.remove();
3159			$('body #popup_iframe_wrapper').append('<div class="' + name + '_frame popup"></div>');
3160			$('body #popup_iframe_wrapper').append('<div class="' + name + '_trigger"></div>');
3161			
3162			loadJQM(() => {
3163				$('.' + name + '_frame').jqm({
3164					trigger: '.' + name + '_trigger',
3165					onHide: function (hash) {
3166						onHidejqm(name, hash);
3167					},
3168					toTop: false,
3169					onLoad: function (hash) {
3170						onLoadjqm(name, hash, '', false, false, false, that);
3171					},
3172					ajax:
3173						arAsproOptions['SITE_DIR'] +
3174						'ajax/one_click_buy.php?ELEMENT_ID=' +
3175						elementID +
3176						'&IBLOCK_ID=' +
3177						iblockID +
3178						'&ELEMENT_QUANTITY=' +
3179						elementQuantity +
3180						'&OFFER_PROPS=' +
3181						fill_prop.props,
3182				});
3183				
3184				$('.' + name + '_trigger').click();
3185			});
3186		}
3187	};
3188}
3189
3190if (!funcDefined('oneClickBuyBasket')) {
3191	var oneClickBuyBasket = function () {
3192		const name = 'one_click_buy_basket';
3193		if (!$('.fast_order').hasClass('clicked')) {
3194			$('.fast_order').addClass('clicked');
3195			$('body .' + name + '_frame').remove();
3196			$('body .' + name + '_trigger').remove();
3197			$('body #popup_iframe_wrapper').append(
3198				'<div class="' + name + '_frame popup"></div>',
3199				'<div class="' + name + '_trigger"></div>'
3200			);
3201			
3202			loadJQM(() => {
3203				$('.' + name + '_frame').jqm({
3204					trigger: '.' + name + '_trigger',
3205					onHide: function (hash) {
3206						onHidejqm(name, hash);
3207					},
3208					onLoad: function (hash) {
3209						onLoadjqm(name, hash);
3210					},
3211					ajax: arAsproOptions['SITE_DIR'] + 'ajax/one_click_buy_basket.php',
3212				});
3213				
3214				$('.' + name + '_trigger').click();
3215			});
3216		}
3217	};
3218}
3219
3220// TOP MENU ANIMATION
3221$(document).on('click', '.menu_top_block>li .more a', function () {
3222	$this = $(this);
3223	$this.parents('.dropdown').first().find('>.hidden').removeClass('hidden');
3224	$this.parent().addClass('hidden');
3225	setTimeout(function () {
3226		$this.parent().remove();
3227	}, 500);
3228});
3229
3230$(document).on('mouseenter', '.menu_top_block.catalogfirst>li>.dropdown>li.full', function () {
3231	var $submenu = $(this).find('>.dropdown');
3232	
3233	if ($submenu.length) {
3234		if (topMenuEnterTimer) {
3235			clearTimeout(topMenuEnterTimer);
3236			topMenuEnterTimer = false;
3237		}
3238	}
3239});
3240
3241$(document).on('mouseenter', '.menu_top_block>li:not(.full)', function () {
3242	var $submenu = $(this).find('>.dropdown');
3243	
3244	if ($submenu.length && !$submenu.hasClass('visible')) {
3245		var $menu = $(this).parents('.menu');
3246		var $wrapmenu = $menu.parents('.wrap_menu');
3247		var wrapMenuWidth = $wrapmenu.actual('outerWidth');
3248		var wrapMenuLeft = $wrapmenu.offset().left;
3249		var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
3250		var left = wrapMenuRight - ($(this).offset().left + $submenu.actual('outerWidth'));
3251		if (
3252			window.matchMedia('(min-width: 951px)').matches &&
3253			$(this).hasClass('catalog') &&
3254			($('.banner_auto').hasClass('catalog_page') || $('.banner_auto').hasClass('front_page'))
3255		) {
3256			return;
3257		}
3258		if (left < 0) {
3259			$submenu.css({ left: left + 'px' });
3260		}
3261		$submenu.stop().slideDown(animationTime, function () {
3262			$submenu.css({ height: '', overflow: 'visible' });
3263		});
3264		
3265		$(this).on('mouseleave', function () {
3266			var leaveTimer = setTimeout(function () {
3267				$submenu.stop().slideUp(animationTime, function () {
3268					$submenu.css({ left: '' });
3269				});
3270			}, delayTime);
3271			
3272			$(this).on('mouseenter', function () {
3273				if (leaveTimer) {
3274					clearTimeout(leaveTimer);
3275					leaveTimer = false;
3276				}
3277			});
3278		});
3279	}
3280});
3281
3282$(document).on('mouseenter', '.menu_top_block>li .dropdown>li', function () {
3283	var $this = $(this);
3284	var $submenu = $this.find('>.dropdown');
3285	
3286	if (
3287		$submenu.length &&
3288		((!$this.parents('.full').length && !$this.hasClass('full')) || $this.parents('.more').length)
3289	) {
3290		var $menu = $this.parents('.menu');
3291		var $wrapmenu = $menu.parents('.wrap_menu');
3292		var arParentSubmenuForOpacity = [];
3293		topMenuEnterTimer = setTimeout(function () {
3294			var wrapMenuWidth = $wrapmenu.actual('outerWidth');
3295			var wrapMenuLeft = $wrapmenu.offset().left;
3296			var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
3297			var $parentSubmenu = $this.parent();
3298			var bToLeft = $parentSubmenu.hasClass('toleft') ? true : false;
3299			if (!bToLeft) {
3300				bToLeft = $this.offset().left + $this.actual('outerWidth') + $submenu.actual('outerWidth') > wrapMenuRight;
3301			} else {
3302				bToLeft = $this.offset().left + $this.actual('outerWidth') - $submenu.actual('outerWidth') < wrapMenuLeft;
3303			}
3304			
3305			if (bToLeft) {
3306				$this.find('>.dropdown').addClass('toleft').show();
3307			} else {
3308				$this.find('>.dropdown').removeClass('toleft').show();
3309			}
3310			var submenuLeft = $submenu.offset().left;
3311			var submenuRight = submenuLeft + $submenu.actual('outerWidth');
3312			
3313			$this.parents('.dropdown').each(function () {
3314				var $this = $(this);
3315				var leftOffset = $this.offset().left;
3316				var rightOffset = leftOffset + $this.actual('outerWidth');
3317				if (
3318					(leftOffset >= submenuLeft && leftOffset < submenuRight - 1) ||
3319					(rightOffset > submenuLeft + 1 && rightOffset <= submenuRight)
3320				) {
3321					arParentSubmenuForOpacity.push($this);
3322					$this.find('>li>a').css({ opacity: '0.1' });
3323				}
3324			});
3325		}, delayTime);
3326		
3327		$this.unbind('mouseleave');
3328		$this.on('mouseleave', function () {
3329			var leaveTimer = setTimeout(function () {
3330				$this.find('.dropdown').removeClass('toleft').hide();
3331				if (arParentSubmenuForOpacity.length) {
3332					for (i in arParentSubmenuForOpacity) {
3333						arParentSubmenuForOpacity[i].find('>li>a').css({ opacity: '' });
3334					}
3335				}
3336			}, delayTime);
3337			
3338			$this.unbind('mouseenter');
3339			$this.on('mouseenter', function () {
3340				if (leaveTimer) {
3341					clearTimeout(leaveTimer);
3342					leaveTimer = false;
3343				}
3344			});
3345		});
3346	}
3347});
3348CheckFlexSlider = function () {
3349};
3350
3351InitScrollBar = function (el, initOptions) {
3352};
3353InitCustomScrollBar = function (el) {
3354};
3355
3356/* slider gallery for fancybox */
3357const InitFancyboxThumbnailsGallery = function (instance) {
3358	if (
3359		$('.fancybox-thumbs') &&
3360		$('.fancybox-thumbs__list a').length > 1 &&
3361		!$('.fancybox-thumbs .swiper').length &&
3362		typeof initSwiperSlider === 'function'
3363	) {
3364		// update preview when lazyloaded
3365		
3366		instance.Thumbs.$grid.find('.fancybox-thumbs__list a').each(function (i, el) {
3367			const path = instance.group[i].thumb || instance.group[i].src;
3368			
3369			$(el).css('background-image', 'url(\'' + encodeURI(path) + '\')');
3370		});
3371		const SLIDER_RESIZE_BREAKPOINT = 600;
3372		const $swiperSlides = $('.fancybox-thumbs__list a');
3373		const $swiperWrapper = $('.fancybox-thumbs__list');
3374		const sliderDirection = window.innerWidth >= SLIDER_RESIZE_BREAKPOINT ? 'vertical' : 'horizontal';
3375		
3376		const options = {
3377			centerInsufficientSlides: true,
3378			direction: sliderDirection,
3379			mousewheelControl: true,
3380			setWrapperSize: true,
3381			slidesPerView: 3,
3382			spaceBetween: 16,
3383			breakpoints: {
3384				400: {
3385					slidesPerView: 5,
3386				},
3387			},
3388		};
3389		
3390		if ($swiperSlides.length > 5) {
3391			options.navigation = {
3392				nextEl: '.fancybox-thumbs__wrapper .swiper-button-next',
3393				prevEl: '.fancybox-thumbs__wrapper .swiper-button-prev',
3394			};
3395		}
3396		
3397		$('.fancybox-thumbs').wrapInner(
3398			'<div class=\'fancybox-thumbs__wrapper\'><div class=\'swiper\' data-plugin-options=\'' +
3399			JSON.stringify(options) +
3400			'\' /></div>'
3401		);
3402		const $swiperContainerWrapper = $('.fancybox-thumbs__wrapper');
3403		
3404		if ($swiperSlides.length > 5) {
3405			$swiperContainerWrapper.append(
3406				'<div class=\'swiper-button-next\'><i class=\'svg right\'><svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'6.969\' viewBox=\'0 0 12 6.969\'><path id=\'Rounded_Rectangle_702_copy_24\' data-name=\'Rounded Rectangle 702 copy 24\' class=\'cls-1\' d=\'M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z\' transform=\'translate(-350 -395.031)\'></path></svg></i></div>'
3407			);
3408			$swiperContainerWrapper.prepend(
3409				'<div class=\'swiper-button-prev\'><i class=\'svg left\'><svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'6.969\' viewBox=\'0 0 12 6.969\'><path id=\'Rounded_Rectangle_702_copy_24\' data-name=\'Rounded Rectangle 702 copy 24\' class=\'cls-1\' d=\'M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z\' transform=\'translate(-350 -395.031)\'></path></svg></i></div>'
3410			);
3411		}
3412		$swiperWrapper.addClass('swiper-wrapper');
3413		$swiperSlides.addClass('swiper-slide');
3414		
3415		initSwiperSlider('.fancybox-thumbs .swiper');
3416		
3417		const swiper = $('.fancybox-thumbs .swiper').data('swiper');
3418		
3419		swiper.slideTo(instance.curPos, 10);
3420		swiper.on('resize', function () {
3421			if (window.innerWidth >= SLIDER_RESIZE_BREAKPOINT && options.direction === 'horizontal') {
3422				options.direction = 'vertical';
3423				swiper.changeDirection(options.direction, false);
3424				$swiperWrapper.css('width', 'auto');
3425				swiper.update();
3426			} else if (window.innerWidth < SLIDER_RESIZE_BREAKPOINT && options.direction === 'vertical') {
3427				options.direction = 'horizontal';
3428				swiper.changeDirection(options.direction, false);
3429				$swiperWrapper.css('height', 'auto');
3430				swiper.update();
3431			}
3432		});
3433	}
3434};
3435/** */
3436InitFancyBox = function () {
3437	if (typeof $.fn.fancybox !== 'function') {
3438		return;
3439	}
3440	
3441	if (!$('.fancy').length) {
3442		return;
3443	}
3444	$('.fancy').fancybox({
3445		padding: [40, 40, 64, 40],
3446		openEffect: 'fade',
3447		closeEffect: 'fade',
3448		nextEffect: 'fade',
3449		prevEffect: 'fade',
3450		opacity: true,
3451		tpl: {
3452			closeBtn:
3453				'<span title="' +
3454				BX.message('FANCY_CLOSE') +
3455				'" class="fancybox-item fancybox-close inline svg"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>',
3456			next:
3457				'<a title="' +
3458				BX.message('FANCY_NEXT') +
3459				'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3460			prev:
3461				'<a title="' +
3462				BX.message('FANCY_PREV') +
3463				'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3464		},
3465		btnTpl: {
3466			close:
3467				'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
3468				'<i class="svg"><svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg></i>' +
3469				'</button>',
3470			
3471			arrowLeft:
3472				'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
3473				'<div><i class="svg left"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13L0.585787 14.4142C-0.195262 13.6332 -0.195262 12.3668 0.585787 11.5858L2 13ZM11.5858 0.585786C12.3668 -0.195262 13.6332 -0.195262 14.4142 0.585786C15.1953 1.36683 15.1953 2.63317 14.4142 3.41421L11.5858 0.585786ZM14.4142 22.5858C15.1953 23.3668 15.1953 24.6332 14.4142 25.4142C13.6332 26.1953 12.3668 26.1953 11.5858 25.4142L14.4142 22.5858ZM0.585787 11.5858L11.5858 0.585786L14.4142 3.41421L3.41421 14.4142L0.585787 11.5858ZM3.41421 11.5858L14.4142 22.5858L11.5858 25.4142L0.585787 14.4142L3.41421 11.5858Z" fill="#999999"/></svg></i></div>' +
3474				'</button>',
3475			
3476			arrowRight:
3477				'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
3478				'<div><i class="svg right"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 13L14.4142 14.4142C15.1953 13.6332 15.1953 12.3668 14.4142 11.5858L13 13ZM3.41421 0.585786C2.63317 -0.195262 1.36683 -0.195262 0.585786 0.585786C-0.195262 1.36683 -0.195262 2.63317 0.585786 3.41421L3.41421 0.585786ZM0.585786 22.5858C-0.195262 23.3668 -0.195262 24.6332 0.585786 25.4142C1.36683 26.1953 2.63317 26.1953 3.41421 25.4142L0.585786 22.5858ZM14.4142 11.5858L3.41421 0.585786L0.585786 3.41421L11.5858 14.4142L14.4142 11.5858ZM11.5858 11.5858L0.585786 22.5858L3.41421 25.4142L14.4142 14.4142L11.5858 11.5858Z" fill="white"/></svg></i></div>' +
3479				'</button>',
3480		},
3481		touch: 'enabled',
3482		buttons: ['close'],
3483		thumbs: {
3484			autoStart: true,
3485		},
3486		backFocus: false,
3487		onActivate: function (instance) {
3488			InitFancyboxThumbnailsGallery(instance);
3489		},
3490		beforeShow: function (instance, current) {
3491			if ($('.fancybox-thumbs .swiper').length) {
3492				const swiper = $('.fancybox-thumbs .swiper').data('swiper');
3493				
3494				swiper.slideTo(current.index);
3495			}
3496			var $video_block = $('.company-block .video')[0];
3497			if ($video_block && !$video_block.nextElementSibling) {
3498				$videoContent = $video_block.content.cloneNode(true);
3499				$source = $videoContent.querySelector('.video-block');
3500				$source.setAttribute('src', $source.dataset['src']);
3501				$video_block.parentNode.insertBefore($videoContent, $video_block.nextSibling);
3502			}
3503			var video_block_frame = $('.company-block #company_video_iframe');
3504			if (video_block_frame.length) {
3505				var data_src_iframe = video_block_frame.attr('data-src');
3506				video_block_frame.attr('src', data_src_iframe);
3507				video_block_frame.attr('allow', 'autoplay');
3508			}
3509		},
3510		afterShow: function () {
3511			if ($('.fancybox-overlay').css('opacity') == 0) {
3512				setTimeout(function () {
3513					$('.fancybox-overlay').css('opacity', 1);
3514					$('html').addClass('overflow_html');
3515				}, 200);
3516			}
3517			
3518			$('.fancybox-nav').css('opacity', 0);
3519			setTimeout(function () {
3520				$('.fancybox-nav').css('opacity', 1);
3521			}, 150);
3522			if ($('.fancybox-inner #company_video').length) {
3523				// var fancyHeight = $('.fancybox-wrap').height();
3524				// $('.fancybox-inner').height(fancyHeight);
3525				setTimeout(function () {
3526					$('.fancybox-wrap video').resize();
3527					setTimeout(function () {
3528						$('.fancybox-wrap').addClass('show_video');
3529						document.getElementById('company_video').currentTime = 0;
3530						document.getElementById('company_video').play();
3531					}, 300);
3532				}, 150);
3533			} else if ($('.fancybox-wrap iframe').length) {
3534				$('.fancybox-inner').height('100%');
3535			}
3536		},
3537		beforeClose: function () {
3538			$('.fancybox-overlay').fadeOut();
3539			if ($('#company_video').length) {
3540				document.getElementById('company_video').currentTime = 0;
3541			}
3542			$('html').removeClass('overflow_html');
3543			var video_block_frame = $('.company-block .video-block');
3544			if (video_block_frame.length) {
3545				$('#company_video_iframe').attr('src', '');
3546			}
3547		},
3548		onClosed: function () {
3549			if ($('.fancybox-wrap #company_video').length) {
3550				document.getElementById('company_video').pause();
3551			}
3552		},
3553	});
3554};
3555
3556InitFancyBoxVideo = function () {
3557	if (typeof $.fn.fancybox !== 'function') {
3558		return;
3559	}
3560	
3561	if (!$('.video_link').length) {
3562		return;
3563	}
3564	$('.video_link').fancybox({
3565		type: 'iframe',
3566		maxWidth: 800,
3567		maxHeight: 600,
3568		fitToView: false,
3569		width: '70%',
3570		height: '70%',
3571		autoSize: false,
3572		closeClick: false,
3573		opacity: true,
3574		tpl: {
3575			closeBtn:
3576				'<span title="' +
3577				BX.message('FANCY_CLOSE') +
3578				'" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>',
3579			next:
3580				'<a title="' +
3581				BX.message('FANCY_NEXT') +
3582				'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3583			prev:
3584				'<a title="' +
3585				BX.message('FANCY_PREV') +
3586				'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3587		},
3588		afterShow: function () {
3589			if ($('.fancybox-overlay').css('opacity') == 0) {
3590				setTimeout(function () {
3591					$('.fancybox-overlay').css('opacity', 1);
3592					$('html').addClass('overflow_html');
3593				}, 200);
3594			}
3595			
3596			$('.fancybox-nav').css('opacity', 0);
3597			setTimeout(function () {
3598				$('.fancybox-nav').css('opacity', 1);
3599			}, 150);
3600			if ($('.fancybox-wrap iframe').length) {
3601				$('.fancybox-inner').height('100%');
3602			}
3603		},
3604		beforeClose: function () {
3605			$('.fancybox-overlay').fadeOut();
3606			$('html').removeClass('overflow_html');
3607		},
3608	});
3609};
3610
3611InitStickySideBar = function (el, container_el) {
3612	var block = '.sticky-sidebar',
3613		container_catalog = '.wraps .wrapper_inner .container_inner .main-catalog-wrapper',
3614		container = '.wraps .wrapper_inner .container_inner';
3615	if (typeof el !== 'undefined') block = el;
3616	
3617	if ($(container_catalog).length) container = container_catalog;
3618	
3619	if (typeof container_el !== 'undefined') container = container_el;
3620	
3621	if ($(block).length && arAsproOptions['THEME']['STICKY_SIDEBAR'] != 'N') {
3622		if (typeof window['stickySidebar'] !== 'undefined') {
3623			window['stickySidebar'].destroy();
3624		}
3625		
3626		window['stickySidebar'] = new StickySidebar(block, {
3627			topSpacing: 60,
3628			bottomSpacing: 20,
3629			containerSelector: container,
3630			resizeSensor: true,
3631			innerWrapperSelector: '.sticky-sidebar__inner',
3632		});
3633		
3634		if ($('.sticky-sidebar .sticky-sidebar__inner .banner img').length) {
3635			$('.sticky-sidebar .sticky-sidebar__inner .banner img')[0].onload = function () {
3636				if (typeof window['stickySidebar'] !== 'undefined') {
3637					window['stickySidebar'].updateSticky();
3638				}
3639			};
3640		}
3641	}
3642};
3643
3644InitOwlSlider = function () {
3645	if (typeof $.fn.owlCarousel !== 'function') {
3646		return;
3647	}
3648	$('.owl-carousel:not(.owl-loaded):not(.appear-block)').each(function () {
3649		var slider = $(this);
3650		var options;
3651		var svg =
3652			'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>';
3653		var defaults = {
3654			navText: [
3655				'<i class="svg left colored_theme_hover_text">' + svg + '</i>',
3656				'<i class="svg right colored_theme_hover_text">' + svg + '</i>',
3657			],
3658		};
3659		var config = $.extend({}, defaults, options, slider.data('plugin-options'));
3660		
3661		slider.on('initialized.owl.carousel', function (event) {
3662			var eventdata = { slider: event };
3663			BX.onCustomEvent('onSliderInitialized', [eventdata]);
3664			
3665			$(event.target).removeClass('loading-state');
3666			$(event.target).find('.owl-item:first').addClass('current');
3667			
3668			if ($(event.target).hasClass('catalog_block')) {
3669				if (typeof sliceItemBlockSlide === 'function') {
3670					sliceItemBlockSlide();
3671				}
3672			}
3673			
3674			if (typeof window['stickySidebar'] !== 'undefined') {
3675				window['stickySidebar'].updateSticky();
3676			}
3677		});
3678		slider.owlCarousel(config);
3679		
3680		slider.on('change.owl.carousel', function (event) {
3681			var eventdata = { slider: event };
3682			BX.onCustomEvent('onSlideChange', [eventdata]);
3683		});
3684		slider.on('resized.owl.carousel', function (event) {
3685			if (typeof sliceItemBlockSlide === 'function') {
3686				sliceItemBlockSlide({ resize: false });
3687			}
3688		});
3689		
3690		slider.on('changed.owl.carousel', function (event) {
3691			var eventdata = { slider: event };
3692			BX.onCustomEvent('onSlideChanged', [eventdata]);
3693			
3694			if ($(event.target).data('pluginOptions')) {
3695				if ('index' in $(event.target).data('pluginOptions')) {
3696					if ($('.switch-item-block').length) {
3697						$('.switch-item-block__count-wrapper--big .switch-item-block__count-value').text(
3698							event.item.index + 1 + '/' + event.item.count
3699						);
3700					}
3701				}
3702				
3703				if ('relatedTo' in $(event.target).data('pluginOptions')) {
3704					var relatedClass = $(event.target).data('pluginOptions').relatedTo,
3705						relatedBlock = $(relatedClass);
3706					
3707					if (relatedBlock.length && $(event.target).data('owl.carousel')) {
3708						if (!$(event.target).data('owl.carousel').loop) {
3709							var current = event.item.index;
3710						} else {
3711							var count = event.item.count - 1;
3712							var current = Math.round(event.item.index - event.item.count / 2 - 0.5);
3713							
3714							if (current < 0) current = count;
3715							
3716							if (current > count) current = 0;
3717						}
3718						
3719						relatedBlock.find('.owl-item').removeClass('current').eq(current).addClass('current');
3720						
3721						var onscreen = relatedBlock.find('.owl-item.active').length - 1;
3722						var start = relatedBlock.find('.owl-item.active').first().index();
3723						var end = relatedBlock.find('.owl-item.active').last().index();
3724						
3725						if (current > end) relatedBlock.data('owl.carousel').to(current, 100, true);
3726						
3727						if (current < start) relatedBlock.data('owl.carousel').to(current - onscreen, 100, true);
3728						// $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel])
3729					}
3730				}
3731			}
3732		});
3733		
3734		slider.on('translated.owl.carousel', function (event) {
3735		});
3736		
3737		if ('clickTo' in config) {
3738			var relatedClass = config.clickTo,
3739				magnifier = 'magnifier' in config;
3740			
3741			slider.on('click', '.owl-item', function (e) {
3742				e.preventDefault();
3743				var _this = $(this),
3744					number = _this.index();
3745				
3746				if (magnifier) {
3747					const $parent = $(relatedClass).closest('.product-container');
3748					if ($parent.find('.zoom_picture').length) {
3749						const $zoomImg = $parent.find('.zoom_picture');
3750						const $galleryImg = _this.find('.product-detail-gallery__item img');
3751						
3752						const bigImage = _this.find('.product-detail-gallery__item').data('big'),
3753							srcImage = $galleryImg.attr('src');
3754						
3755						$zoomImg.attr('data-large', bigImage || srcImage);
3756						$zoomImg.attr('xoriginal', bigImage || srcImage);
3757						$zoomImg.attr('src', bigImage || srcImage);
3758						$zoomImg.attr('data-xoriginalwidth', $galleryImg.attr('data-xoriginalwidth'));
3759						$zoomImg.attr('data-xoriginalheight', $galleryImg.attr('data-xoriginalheight'));
3760						$parent.find('.product-detail-gallery__link').attr('href', srcImage);
3761					}
3762					_this.siblings('').removeClass('current');
3763					_this.addClass('current');
3764				} else {
3765					$(relatedClass).data('owl.carousel').to(number, 300, true);
3766				}
3767			});
3768		}
3769	});
3770};
3771
3772InitFlexSlider = function () {
3773	//todo need remove
3774};
3775
3776inIframe = function () {
3777	try {
3778		return window.self !== window.top;
3779	} catch (e) {
3780		return true;
3781	}
3782};
3783
3784InitZoomPict = function (el) {
3785	const zoomer = typeof el !== 'undefined' ? el : $('.zoom_picture');
3786	
3787	if (zoomer.length) {
3788		var options;
3789		const defaults = {
3790			title: true,
3791			scroll: false,
3792			Xoffset: 15,
3793			tint: '#333',
3794			defaultScale: -1,
3795		};
3796		
3797		const config = $.extend({}, defaults, options, zoomer.data('plugin-options'));
3798		zoomer.xzoom(config);
3799		
3800		// checks if zoomer doesn't have the event listenners
3801		const zoomerEventsListeners = $._data(zoomer.get(0), 'events');
3802		
3803		if (!zoomerEventsListeners.mouseout && !zoomerEventsListeners.load) {
3804			zoomer.on('mouseleave', function () {
3805				zoomer.data('xzoom').movezoom;
3806				let mObjWidth = parseInt(zoomer.attr('data-xoriginalwidth'));
3807				let mObHeight = parseInt(zoomer.attr('data-xoriginalheight'));
3808				let imgObjWidth = zoomer.width();
3809				let imgObjheight = zoomer.height();
3810				if (mObjWidth === imgObjWidth && imgObjheight === mObHeight) {
3811					$('.xzoom-preview').addClass('hidden');
3812					$('.xzoom-source > div').addClass('hidden');
3813				} else {
3814					$('.xzoom-preview').removeClass('hidden');
3815					$('.xzoom-source > div').removeClass('hidden');
3816				}
3817			});
3818			
3819			zoomer.on('load', function () {
3820				const zoomerParentWidth = zoomer.parent().width();
3821				const zoomerHeight = zoomer.height();
3822				const zoomerWidth = zoomer.width();
3823				const sizeMultiplier = 1.5;
3824				
3825				const zoomWidth =
3826					zoomerWidth < zoomerParentWidth / 2 && zoomerHeight > zoomerWidth ? zoomerWidth * sizeMultiplier : 'auto';
3827				
3828				zoomer.data('xzoom').destroy();
3829				zoomer.removeData('xzoom');
3830				zoomer.width('auto');
3831				
3832				config.zoomWidth = zoomWidth;
3833				zoomer.xzoom(config);
3834			});
3835		}
3836	}
3837};
3838
3839var arBasketAsproCounters = (arStatusBasketAspro = arBasketPrices = {});
3840SetActualBasketFlyCounters = function (sync) {
3841	if (arBasketAsproCounters.DEFAULT == true) {
3842		$.ajax({
3843			url: arAsproOptions['SITE_DIR'] + 'ajax/basket_fly.php',
3844			type: 'post',
3845			success: function (html) {
3846				$('#basket_line .basket_fly').removeClass('loaded').html(html);
3847				
3848				if (typeof sync !== 'undefined') {
3849					$.ajax({
3850						type: 'GET',
3851						url: arAsproOptions['SITE_DIR'] + 'ajax/actualBasket.php',
3852						// data:data,
3853						success: function (data) {
3854							if (!$('.js_ajax').length) $('body').append('<div class="js_ajax"></div>');
3855							$('.js_ajax').html(data);
3856							
3857							setBasketStatusBtn(true);
3858						},
3859					});
3860				}
3861			},
3862		});
3863	} else {
3864		// insert currency &#8381; by this hack!: $('<div/>').html(arBasketAsproCounters.READY.TITLE).text()
3865		$('.basket_fly .opener .basket_count .count')
3866			.attr('class', 'count' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty_items'))
3867			.find('.items span')
3868			.text(arBasketAsproCounters.READY.COUNT);
3869		$('.basket_fly .opener .basket_count + a').attr('href', arBasketAsproCounters['READY']['HREF']);
3870		$('.basket_fly .opener .basket_count')
3871			.attr('title', $('<div/>').html(arBasketAsproCounters.READY.TITLE).text())
3872			.attr(
3873				'class',
3874				'colored_theme_hover_text basket_count small clicked' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty')
3875			);
3876		
3877		$('.basket_fly .opener .wish_count .count')
3878			.attr('class', 'count' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty_items'))
3879			.find('.items span')
3880			.text(arBasketAsproCounters.DELAY.COUNT);
3881		$('.basket_fly .opener .wish_count + a').attr('href', arBasketAsproCounters.DELAY.HREF);
3882		$('.basket_fly .opener .wish_count')
3883			.attr('title', $('<div/>').html(arBasketAsproCounters.DELAY.TITLE).text())
3884			.attr(
3885				'class',
3886				'colored_theme_hover_text wish_count small clicked' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty')
3887			);
3888		
3889		$('.basket_fly .opener .compare_count .wraps_icon_block').attr(
3890			'class',
3891			'wraps_icon_block compare' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_block')
3892		);
3893		$('.basket_fly .opener .compare_count .count')
3894			.attr('class', 'count' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_items'))
3895			.find('.items span')
3896			.text(arBasketAsproCounters.COMPARE.COUNT);
3897		$('.basket_fly .opener .compare_count + a').attr('href', arBasketAsproCounters.COMPARE.HREF);
3898		
3899		updateBottomIconsPanel(arBasketAsproCounters);
3900	}
3901};
3902
3903CheckHeaderFixed = function () {
3904	var header = $('header, body.simple_basket_mode #header').first(),
3905		header_fixed = $('#headerfixed, body.simple_basket_mode #header'),
3906		header_simple = $('body.simple_basket_mode #header');
3907	
3908	if (header_fixed.length) {
3909		if (header.length) {
3910			var isHeaderFixed = false,
3911				isTabsFixed = false,
3912				headerCanFix = true,
3913				headerFixedHeight = header_fixed.actual('outerHeight'),
3914				headerNormalHeight = header.actual('outerHeight'),
3915				headerDiffHeight = headerNormalHeight - headerFixedHeight,
3916				mobileBtnMenu = $('.btn.btn-responsive-nav'),
3917				headerTop = $('#panel:visible').actual('outerHeight'),
3918				topBlock = $('.TOP_HEADER').first(),
3919				$headerFixedNlo = header_fixed.find('[data-nlo]'),
3920				isNloLoaded = !$headerFixedNlo.length,
3921				OnHeaderFixedScrollHandler;
3922			
3923			if (headerDiffHeight <= 0) headerDiffHeight = 0;
3924			
3925			if (topBlock.length) headerTop += topBlock.actual('outerHeight');
3926			
3927			$(window).scroll(
3928				(OnHeaderFixedScrollHandler = function () {
3929					var tabs_fixed = $('.product-item-detail-tabs-container-fixed');
3930					
3931					if (window.matchMedia('(min-width:992px)').matches) {
3932						var scrollTop = documentScrollTopLast,
3933							current_is = $('.search-wrapper .search-input:visible'),
3934							tabs = $('.ordered-block .nav.nav-tabs'),
3935							headerCanFix = !mobileBtnMenu.is(':visible'); /* && !$('.dropdown-menu:visible').length*/
3936						
3937						if (!isHeaderFixed) {
3938							if (headerCanFix && scrollTop > headerNormalHeight + headerTop) {
3939								if (!isNloLoaded) {
3940									if (!$headerFixedNlo.hasClass('nlo-loadings')) {
3941										$headerFixedNlo.addClass('nlo-loadings');
3942										setTimeout(function () {
3943											$.ajax({
3944												data: { nlo: $headerFixedNlo.attr('data-nlo') },
3945												success: function (response) {
3946													// stop ya metrika webvisor DOM indexer
3947													pauseYmObserver();
3948													
3949													isNloLoaded = true;
3950													$headerFixedNlo[0].insertAdjacentHTML('beforebegin', $.trim(response));
3951													$headerFixedNlo.remove();
3952													
3953													InitMenuNavigationAim();
3954													OnHeaderFixedScrollHandler();
3955													
3956													// resume ya metrika webvisor
3957													// (300ms transition) + (100ms scroll handler)
3958													setTimeout(resumeYmObserver, 400);
3959												},
3960												error: function () {
3961													$headerFixedNlo.removeClass('nlo-loadings');
3962												},
3963											});
3964										}, 300);
3965									}
3966								} else {
3967									isHeaderFixed = true;
3968									if (header_simple.length) {
3969										headerSimpleHeight = header_simple.actual('outerHeight');
3970										header_simple.closest('.header_wrap').css({ 'margin-top': headerSimpleHeight });
3971									}
3972									header_fixed.addClass('fixed');
3973									
3974									$('nav.mega-menu.sliced.initied').removeClass('initied');
3975									CheckTopMenuDotted();
3976								}
3977							}
3978						}
3979						if (isHeaderFixed || !headerCanFix) {
3980							if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) {
3981								isHeaderFixed = false;
3982								header_fixed.removeClass('fixed');
3983								if (header_simple.length) {
3984									header_simple.closest('.header_wrap').css({ 'margin-top': '' });
3985								}
3986							}
3987						}
3988						
3989						//fixed tabs
3990						if (tabs_fixed.length && tabs.length) {
3991							var tabs_offset = $('.ordered-block .nav.nav-tabs').offset();
3992							if (scrollTop + headerFixedHeight > tabs_offset.top) {
3993								tabs_fixed.css({ top: header_fixed.actual('outerHeight') });
3994								tabs_fixed.addClass('fixed');
3995								
3996								header_fixed.addClass('tabs-fixed');
3997							} else if (tabs_fixed.hasClass('fixed')) {
3998								tabs_fixed.removeAttr('style');
3999								tabs_fixed.removeClass('fixed');
4000								
4001								header_fixed.removeClass('tabs-fixed');
4002							}
4003						}
4004					}
4005				})
4006			);
4007		}
4008	}
4009	
4010	//mobile fixed
4011	var headerSimple = $('body.simple_basket_mode .wrapper1.mfixed_Y #header');
4012	var mfixed = headerSimple.length ? headerSimple : $('.wrapper1.mfixed_Y #mobileheader');
4013	if (mfixed.length && isMobile) {
4014		var isMHeaderFixed = false,
4015			mheaderCanFix = true,
4016			mheaderFixedHeight = mfixed.actual('outerHeight'),
4017			// mheaderFixedHeight = 0,
4018			mheaderTop = $('#panel:visible').actual('outerHeight'),
4019			mHeaderScrollTop = $('.wrapper1').hasClass('mfixed_view_scroll_top');
4020		$(window).scroll(function () {
4021			var scrollTop = documentScrollTopLast;
4022			if (window.matchMedia('(max-width:991px)').matches) {
4023				if (mHeaderScrollTop) {
4024					if (scrollTop > startScroll) {
4025						if (!$('#mobilePhone.show').length) {
4026							mfixed.removeClass('fixed');
4027							if (headerSimple.length) {
4028								headerSimple.closest('.header_wrap').css({ 'margin-top': '' });
4029							}
4030						}
4031					} else if (scrollTop > mheaderFixedHeight + mheaderTop) {
4032						mfixed.addClass('fixed');
4033						if (headerSimple.length) {
4034							headerSimple.closest('.header_wrap').css({ 'margin-top': mheaderFixedHeight });
4035						}
4036					} else if (scrollTop <= mheaderFixedHeight + mheaderTop) {
4037						mfixed.removeClass('fixed');
4038						if (headerSimple.length) {
4039							headerSimple.closest('.header_wrap').css({ 'margin-top': '' });
4040						}
4041					}
4042					startScroll = scrollTop;
4043				} else {
4044					if (!isMHeaderFixed) {
4045						if (scrollTop > mheaderFixedHeight + mheaderTop) {
4046							isMHeaderFixed = true;
4047							mfixed.addClass('fixed');
4048							if (headerSimple.length) {
4049								headerSimple.closest('.header_wrap').css({ 'margin-top': mheaderFixedHeight });
4050							}
4051						}
4052					} else if (isMHeaderFixed) {
4053						if (scrollTop <= mheaderFixedHeight + mheaderTop) {
4054							isMHeaderFixed = false;
4055							mfixed.removeClass('fixed');
4056							if (headerSimple.length) {
4057								headerSimple.closest('.header_wrap').css({ 'margin-top': '' });
4058							}
4059						}
4060					}
4061				}
4062			} else {
4063				mfixed.removeClass('fixed');
4064				if (headerSimple.length) {
4065					headerSimple.closest('.header_wrap').css({ 'margin-top': '' });
4066				}
4067			}
4068		});
4069	}
4070};
4071
4072CheckHeaderFixedMenu = function () {
4073	if (
4074		arAsproOptions['THEME'] &&
4075		arAsproOptions['THEME']['HEADER_FIXED'] == 2 &&
4076		$('#headerfixed .js-nav').length &&
4077		window.matchMedia('(min-width: 992px)').matches
4078	) {
4079		$('#headerfixed .js-nav').css('width', '0');
4080		var all_width = 0,
4081			cont_width = $('#headerfixed .maxwidth-theme').actual('width'),
4082			padding_menu =
4083				$('#headerfixed .logo-row.v2 .menu-block').actual('outerWidth') -
4084				$('#headerfixed .logo-row.v2 .menu-block').actual('width');
4085		$('#headerfixed .logo-row.v2 > .inner-table-block').each(function () {
4086			if (!$(this).hasClass('menu-block')) all_width += $(this).actual('outerWidth');
4087		});
4088		$('#headerfixed .js-nav').width(cont_width - all_width - padding_menu);
4089	}
4090};
4091
4092CheckSearchWidth = function () {
4093	if ($('.logo_and_menu-row .search_wrap').length) {
4094		var searchPosition = $('.logo_and_menu-row .search_wrap').position().left,
4095			maxWidth = $('.logo_and_menu-row .maxwidth-theme').width() - 2;
4096		width = 0;
4097		if ($('.logo_and_menu-row .subtop .search_wrap').length) {
4098			maxWidth = $('.logo_and_menu-row .subtop').width() - 2;
4099			$('.logo_and_menu-row .subtop > .row >div >div')
4100				.each(function () {
4101					if (!$(this).hasClass('search_wrap')) {
4102						var elementWidth = $(this).outerWidth();
4103						if (!$(this).is(':visible') || !$(this).height()) elementWidth = 0;
4104						width = width ? width - elementWidth : maxWidth - elementWidth;
4105					}
4106				})
4107				.promise()
4108				.done(function () {
4109					if ($('.logo_and_menu-row .search_wrap.wide_search').length)
4110						$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4111					else $('.logo_and_menu-row .search_wrap').outerWidth(width);
4112					$('.logo_and_menu-row .search_wrap').css({ opacity: 1, visibility: 'visible' });
4113				});
4114		} else {
4115			if ($('.logo_and_menu-row .subbottom .search_wrap').length) {
4116				maxWidth = $('.logo_and_menu-row .subbottom').width() - 2;
4117				$('.logo_and_menu-row .subbottom >div')
4118					.each(function () {
4119						if (!$(this).hasClass('search_wrap')) {
4120							var elementWidth = $(this).outerWidth();
4121							if (!$(this).is(':visible') || !$(this).height()) elementWidth = 0;
4122							width = width ? width - elementWidth : maxWidth - elementWidth;
4123						}
4124					})
4125					.promise()
4126					.done(function () {
4127						if ($('.logo_and_menu-row .search_wrap.wide_search').length)
4128							$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4129						else $('.logo_and_menu-row .search_wrap').outerWidth(width);
4130						$('.logo_and_menu-row .search_wrap').css({ opacity: 1, visibility: 'visible' });
4131					});
4132			} else {
4133				$('.logo_and_menu-row .maxwidth-theme > .row >div >div')
4134					.each(function () {
4135						if (!$(this).hasClass('search_wrap')) {
4136							var elementWidth = $(this).outerWidth();
4137							if (!$(this).is(':visible') || !$(this).height()) elementWidth = 0;
4138							width = width ? width - elementWidth : maxWidth - elementWidth;
4139						}
4140					})
4141					.promise()
4142					.done(function () {
4143						if ($('.logo_and_menu-row .search_wrap.wide_search').length)
4144							$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4145						else $('.logo_and_menu-row .search_wrap').outerWidth(width);
4146						$('.logo_and_menu-row .search_wrap').css({ opacity: 1, visibility: 'visible' });
4147					});
4148			}
4149		}
4150	}
4151};
4152
4153if (!funcDefined('showItemStoresAmount')) {
4154	var showItemStoresAmount = function () {
4155		let blocks = $('.item-stock .status-amount--stores:not(.status-amount--loaded)');
4156		if (blocks.length) {
4157			let stores = [];
4158			let ids = [];
4159			
4160			for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
4161				$(blocks[i]).addClass('status-amount--loaded');
4162				
4163				var data = $(blocks[i]).data('param-amount');
4164				if (typeof data === 'object' && data) {
4165					ids.push(data.ID);
4166					stores = data.STORES;
4167				}
4168			}
4169			
4170			if (ids) {
4171				let data = {
4172					ids: ids,
4173					stores: stores,
4174				};
4175				
4176				$.ajax({
4177					url: arAsproOptions.SITE_DIR + 'ajax/amount.php',
4178					type: 'POST',
4179					data: data,
4180					dataType: 'json',
4181					success: function (result) {
4182						if (typeof result === 'object' && result && result.success && result.amount) {
4183							for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
4184								var data = $(blocks[i]).data('param-amount');
4185								if (typeof data === 'object' && data) {
4186									if (result.amount[data.ID]) {
4187										$(blocks[i]).html(result.amount[data.ID]);
4188									}
4189									
4190									$(blocks[i]).addClass('status-amount--visible');
4191								}
4192							}
4193						}
4194					},
4195				});
4196			}
4197		}
4198	};
4199}
4200
4201lazyLoadPagenBlock = function () {
4202	setTimeout(function () {
4203		if ($('.with-load-block .ajax_load_btn:not(.appear-block)').length) {
4204			$('.with-load-block .ajax_load_btn:not(.appear-block)').iAppear(
4205				function () {
4206					var $this = $(this);
4207					$this.addClass('appear-block').trigger('click');
4208				},
4209				{ rootMargin: '200px 0px 200px 0px', accX: 0, accY: 200 }
4210			);
4211		}
4212	}, 200);
4213};
4214
4215scrollPreviewBlock = function () {
4216	if (typeof $.cookie('scroll_block') != 'undefined' && $.cookie('scroll_block')) {
4217		var scroll_block = $($.cookie('scroll_block'));
4218		if (scroll_block.length) {
4219			let position = scroll_block.offset().top
4220			let $fixedHeader = null
4221			if ($fixedHeader = document.getElementById('headerfixed')) {
4222				position -= $fixedHeader.clientHeight
4223			}
4224			$('body, html').animate({ scrollTop: position }, 500);
4225		}
4226		$.cookie('scroll_block', null);
4227	}
4228};
4229
4230scrollToBlock = function (block) {
4231	if ($(block).length) {
4232		var offset = $(block).offset().top;
4233		if (typeof $(block).data('toggle') != 'undefined') $(block).click();
4234		
4235		if (typeof $(block).data('offset') != 'undefined') offset += $(block).data('offset');
4236		
4237		$('body, html').animate({ scrollTop: offset }, 500);
4238	}
4239};
4240
4241checkMenuLines = function () {
4242	if ($('.front_page .menu-row .left_border').length || $('.front_page .menu-row .right_border').length) {
4243		var positionMenu = $('.centered .menu-row .mega-menu table').length
4244				? $('.centered .menu-row .mega-menu table').offset().left
4245				: 0,
4246			varFixLineWidth =
4247				$('body').hasClass('with_decorate') && window.matchMedia('(min-width: 1100px)').matches ? 126 : 7;
4248		
4249		$('.menu-row .left_border, .menu-row .right_border').css('width', positionMenu - varFixLineWidth);
4250	}
4251};
4252
4253SetFixedAskBlock = function () {
4254	if ($('.ask_a_question_wrapper').length) {
4255		var offset = $('.ask_a_question_wrapper').offset(),
4256			footer_offset = 0,
4257			block = $('.ask_a_question_wrapper').find('.ask_a_question'),
4258			block_offset = BX.pos(block[0]),
4259			block_height = block_offset.bottom - block_offset.top,
4260			diff_top_scroll = $('#headerfixed').height() + 20;
4261		
4262		if ($('footer').length) footer_offset = $('footer').offset().top;
4263		
4264		if ($('.banner.CONTENT_BOTTOM').length) footer_offset = $('.banner.CONTENT_BOTTOM').offset().top;
4265		
4266		/* removed for ISSUE NEXT-414
4267    if(block_height+130 > block.closest('.fixed_wrapper').height())
4268      block.addClass('nonfixed');
4269    else
4270      block.removeClass('nonfixed');
4271    */
4272		
4273		if (block_height + diff_top_scroll + documentScrollTopLast + 130 > footer_offset) {
4274			block.removeClass('fixed').css({ top: 'auto', width: 'auto', bottom: 0 });
4275			block.parent().css('position', 'static');
4276			block.parent().parent().css('position', 'static');
4277		} else {
4278			block.parent().removeAttr('style');
4279			block.parent().parent().removeAttr('style');
4280			
4281			if (documentScrollTopLast + diff_top_scroll > offset.top) {
4282				var fixed_width = $('.fixed_block_fix').width();
4283				block.addClass('fixed').css({ top: diff_top_scroll, bottom: 'auto' });
4284				if (fixed_width) block.css({ width: $('.fixed_block_fix').width() });
4285			} else block.removeClass('fixed').css({ top: 0, width: 'auto' });
4286		}
4287	}
4288};
4289
4290MegaMenuFixed = function () {
4291	var animationTime = 150,
4292		$megaFixedNlo = $('.mega_fixed_menu').find('[data-nlo]');
4293	
4294	$('header .burger, #headerfixed .burger').on('click', function () {
4295		if ($megaFixedNlo.length) {
4296			if (!$megaFixedNlo.hasClass('nlo-loadings')) {
4297				$megaFixedNlo.addClass('nlo-loadings');
4298				setTimeout(function () {
4299					$.ajax({
4300						data: { nlo: $megaFixedNlo.attr('data-nlo') },
4301						success: function (response) {
4302							$megaFixedNlo[0].insertAdjacentHTML('beforebegin', $.trim(response));
4303							$megaFixedNlo.remove();
4304						},
4305						error: function () {
4306							$megaFixedNlo.removeClass('nlo-loadings');
4307						},
4308					});
4309				}, 300);
4310			}
4311		}
4312		
4313		$('.mega_fixed_menu').fadeIn(animationTime);
4314	});
4315	
4316	$('.mega_fixed_menu .svg.svg-close').on('click', function () {
4317		$(this).closest('.mega_fixed_menu').fadeOut(animationTime);
4318		//$('.header_wrap').toggleClass('zindexed');
4319	});
4320	
4321	$('.mega_fixed_menu .dropdown-menu .arrow').on('click', function (e) {
4322		e.preventDefault();
4323		e.stopPropagation();
4324		$(this).closest('.dropdown-submenu').find('.dropdown-menu').slideToggle(animationTime);
4325		$(this).closest('.dropdown-submenu').addClass('opened');
4326	});
4327};
4328
4329CheckPopupTop = function () {
4330};
4331
4332AjaxClickLink = function (e) {
4333	var _this = '',
4334		container = $('.js-load-wrapper'),
4335		container_inner = $('.js-load-wrapper').find('.ajax_load'),
4336		dopAction = '';
4337	url = '';
4338	if ('preventDefault' in e) {
4339		e.preventDefault();
4340		_this = $(e.target).hasClass('js-load-link') ? $(e.target) : $(e.target).closest('.js-load-link');
4341	} else {
4342		_this = $(e);
4343		dopAction = 'Y';
4344	}
4345	
4346	if (container.length) {
4347		var objUrl = parseUrlQuery(),
4348			obGetData = { ajax_get_filter: 'Y', control_ajax: 'Y' };
4349		
4350		obGetData.bitrix_include_areas = 'N';
4351		
4352		if ('clear_cache' in objUrl) {
4353			if (objUrl.clear_cache == 'Y') {
4354				obGetData.clear_cache = 'Y';
4355			}
4356		}
4357		
4358		if (container_inner.length) {
4359			container_inner.addClass('loading-state');
4360		} else {
4361			container.addClass('loading-state');
4362		}
4363		
4364		if (_this.data('url')) {
4365			url = _this.data('url');
4366		}
4367		
4368		if (_this.data('click_block') && $(_this.data('click_block')).length) {
4369			if ($(_this.data('click_block')).data('url')) {
4370				url = $(_this.data('click_block')).data('url');
4371			}
4372		}
4373		
4374		if (dopAction) {
4375			BX.PopupWindowManager.getCurrentPopup().close();
4376			$('.bx_filter_select_popup ul li .sort_btn').removeClass('current');
4377			_this.addClass('current');
4378			_this.closest('.bx_filter_block').find('.bx_filter_select_text').text(_this.text());
4379		}
4380		
4381		$('.bx_filter .bx_sort_filter .bx_filter_select_text').text(_this.text());
4382		$('.bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current').removeClass('current');
4383		$('.bx_filter .bx_sort_filter .bx_filter_select_popup ul li')
4384			.eq(_this.parent().index())
4385			.find('span')
4386			.addClass('current');
4387		
4388		$.ajax({
4389			url: url,
4390			data: obGetData,
4391			success: function (html) {
4392				container.html(html);
4393				
4394				if (container_inner.length) container_inner.removeClass('loading-state');
4395				else container.removeClass('loading-state');
4396				
4397				initAnimateLoad();
4398				
4399				var eventdata = { action: 'jsLoadBlock' };
4400				BX.onCustomEvent('onCompleteAction', [eventdata, _this]);
4401				
4402				BX.onCustomEvent('onHeaderProgressBarChange', [{}]);
4403				
4404				initSelects(document);
4405				// InitCustomScrollBar();
4406				// InitScrollBar();
4407				
4408				if (window.FilterHelper !== undefined) {
4409					FilterHelper.resultDiv = $('#filter-helper');
4410					FilterHelper.show();
4411				}
4412			},
4413		});
4414	}
4415};
4416
4417initCalculatePreview = function (removeAppearAttr) {
4418	$('.calculate-delivery.with_preview:not(.inited)').each(function () {
4419		if (removeAppearAttr) {
4420			$(this).attr('data-i-appeared', '');
4421		}
4422		var $this = $(this);
4423		var $calculateSpan = $this.find('span[data-event=jqm]');
4424		var $preview = $this.find('.calculate-delivery-preview');
4425		
4426		
4427		$this.addClass('inited');
4428		$this.iAppear(
4429			function () {
4430				if ($calculateSpan.length) {
4431					if (typeof window['calculate-delivery-preview-index'] === 'undefined') {
4432						window['calculate-delivery-preview-index'] = 1001;
4433					} else {
4434						++window['calculate-delivery-preview-index'];
4435					}
4436					
4437					var productId = $calculateSpan.attr('data-param-product_id') * 1;
4438					var quantity = $calculateSpan.attr('data-param-quantity') * 1;
4439					
4440					if (productId > 0) {
4441						var areaIndexSended = window['calculate-delivery-preview-index'];
4442						$calculateSpan.data({ areaIndex: areaIndexSended });
4443						
4444						$.ajax({
4445							url: arAsproOptions['SITE_DIR'] + 'ajax/delivery.php',
4446							type: 'POST',
4447							data: {
4448								is_preview: 'Y',
4449								index: areaIndexSended,
4450								product_id: productId,
4451								quantity: quantity,
4452							},
4453							beforeSend: function () {
4454								$this.addClass('loadings');
4455							},
4456							success: function (response) {
4457								var areaIndex = $calculateSpan.data('areaIndex');
4458								if (typeof areaIndex !== 'undefined' && areaIndex == areaIndexSended) {
4459									$calculateSpan.hide();
4460									$preview.html(response);
4461									if (!$preview.find('.catalog-delivery-preview').length) {
4462										$preview.empty();
4463										$calculateSpan.show();
4464									}
4465								}
4466							},
4467							error: function (xhr, ajaxOptions, thrownError) {
4468							},
4469							complete: function () {
4470								var areaIndex = $calculateSpan.data('areaIndex');
4471								if (typeof areaIndex !== 'undefined' && areaIndex == areaIndexSended) {
4472									$this.removeClass('loadings');
4473								}
4474							},
4475						});
4476					}
4477				}
4478			},
4479			{ accX: 0, accY: 0 }
4480		);
4481	});
4482};
4483
4484/*set price item*/
4485if (!funcDefined('setPriceItem')) {
4486	var setPriceItem = function setPriceItem(
4487		main_block,
4488		quantity,
4489		rewrite_price,
4490		check_quantity,
4491		is_sku,
4492		show_percent,
4493		percent
4494	) {
4495		var old_quantity = main_block.find('.to-cart').attr('data-ratio'),
4496			value =
4497				typeof rewrite_price !== 'undefined' && rewrite_price
4498					? rewrite_price
4499					: main_block.find('.to-cart').attr('data-value'),
4500			currency = main_block.find('.to-cart').attr('data-currency'),
4501			total_block =
4502				'<div class="total_summ" style="display:none;"><div>' +
4503				BX.message('TOTAL_SUMM_ITEM') +
4504				'<span></span></div></div>',
4505			price_block = main_block.find('.cost.prices'),
4506			use_percent = typeof show_percent !== 'undefined' && show_percent == 'Y',
4507			percent_number = typeof percent !== 'undefined' && percent,
4508			sku_checked = main_block.find('.has_offer_prop').length ? 'Y' : 'N',
4509			check = typeof check_quantity !== 'undefined' && check_quantity;
4510		
4511		if (main_block.find('.counter_wrapp + .wrapp-one-click').length) {
4512			if (!main_block.find('.wrapp-one-click .total_summ').length && !is_sku)
4513				$(total_block).appendTo(main_block.find('.counter_wrapp + .wrapp-one-click'));
4514		} else if (main_block.find('.buy_block').length) {
4515			if (!main_block.find('.buy_block .total_summ').length && !is_sku)
4516				$(total_block).appendTo(main_block.find('.buy_block'));
4517		} else if (main_block.find('.counter_wrapp').length) {
4518			if (!main_block.find('.counter_wrapp .total_summ').length && !is_sku)
4519				$(total_block).appendTo(main_block.find('.counter_wrapp:first'));
4520		}
4521		if (main_block.find('.total_summ').length) {
4522			if (value && currency) {
4523				if ((1 == quantity && old_quantity == quantity) || (typeof is_sku !== 'undefined' && is_sku && !check)) {
4524					main_block.find('.total_summ').slideUp(50);
4525				} else {
4526					main_block.find('.total_summ span').html(BX.Currency.currencyFormat(value * quantity, currency, true));
4527					if (main_block.find('.total_summ').is(':hidden') /* || sku_checked == 'Y'*/)
4528						main_block.find('.total_summ').slideDown(100);
4529				}
4530			} else {
4531				main_block.find('.total_summ').slideUp(100);
4532			}
4533		}
4534	};
4535}
4536
4537if (!funcDefined('getCurrentPrice')) {
4538	var getCurrentPrice = function getCurrentPrice(price, currency, print_price) {
4539		var val = '';
4540		var format_value = BX.Currency.currencyFormat(price, currency);
4541		if (print_price.indexOf(format_value) >= 0) {
4542			val = print_price.replace(
4543				format_value,
4544				'<span class="price_value">' + format_value + '</span><span class="price_currency">'
4545			);
4546			val += '</span>';
4547		} else {
4548			val = print_price;
4549		}
4550		
4551		return val;
4552	};
4553}
4554
4555if (!funcDefined('initAnimateLoad')) {
4556	var initAnimateLoad = function initAnimateLoad() {
4557		$('.animate-load').click(function () {
4558			if (!jQuery.browser.mobile) {
4559				$(this).parent().addClass('loadings');
4560			}
4561		});
4562	};
4563}
4564
4565if (!funcDefined('showBasketShareBtn')) {
4566	var showBasketShareBtn = function () {
4567		if (arAsproOptions['THEME']['SHOW_SHARE_BASKET'] === 'Y') {
4568			if (!document.querySelector('.basket-checkout-block-btns')) {
4569				var checkout = document.querySelector('.basket-checkout-section-inner');
4570				if (checkout) {
4571					var btns = BX.create({
4572						tag: 'div',
4573						attrs: {
4574							class: 'basket-checkout-block basket-checkout-block-btns',
4575						},
4576						html: '<div class="basket-checkout-block-btns-wrap"></div>',
4577					});
4578					
4579					BX.insertAfter(btns, BX.lastChild(checkout));
4580					var btnsWrap = btns.querySelector('.basket-checkout-block-btns-wrap');
4581					
4582					var btnCheckout = checkout.querySelector('.basket-checkout-block-btn');
4583					if (btnCheckout) {
4584						btnsWrap.appendChild(btnCheckout);
4585					}
4586					
4587					var btnFastOrder = checkout.querySelector('.fastorder');
4588					if (btnFastOrder) {
4589						btnsWrap.appendChild(btnFastOrder);
4590					}
4591					
4592					if ($('.basket-btn-checkout').length && !$('.basket-btn-checkout').hasClass('disabled')) {
4593						var btnShareBasket = BX.create({
4594							tag: 'div',
4595							attrs: {
4596								class: 'basket-checkout-block basket-checkout-block-share colored_theme_hover_bg-block',
4597								title: arAsproOptions['THEME']['EXPRESSION_FOR_SHARE_BASKET'],
4598							},
4599							html:
4600								'<span class="animate-load" data-event="jqm" data-param-form_id="share_basket" data-name="share_basket"><i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-share" xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path data-name="Ellipse 223 copy 8" d="M1613,203a2.967,2.967,0,0,1-1.86-.661l-3.22,2.01a2.689,2.689,0,0,1,0,1.3l3.22,2.01A2.961,2.961,0,0,1,1613,207a3,3,0,1,1-3,3,3.47,3.47,0,0,1,.07-0.651l-3.21-2.01a3,3,0,1,1,0-4.678l3.21-2.01A3.472,3.472,0,0,1,1610,200,3,3,0,1,1,1613,203Zm0,8a1,1,0,1,0-1-1A1,1,0,0,0,1613,211Zm-8-7a1,1,0,1,0,1,1A1,1,0,0,0,1605,204Zm8-5a1,1,0,1,0,1,1A1,1,0,0,0,1613,199Z" transform="translate(-1602 -197)" fill="#B8B8B8"></path></svg></i><span class="title">' +
4601								arAsproOptions['THEME']['EXPRESSION_FOR_SHARE_BASKET'] +
4602								'</span></span>',
4603						});
4604						
4605						btnsWrap.appendChild(btnShareBasket);
4606						initAnimateLoad();
4607					}
4608				}
4609			}
4610		}
4611	};
4612}
4613
4614if (!funcDefined('showBasketHeadingBtn')) {
4615	var showBasketHeadingBtn = function () {
4616		if (document.querySelector('.page-top h1')) {
4617			var topicHeading = document.querySelector('.page-top .topic .topic__heading');
4618			if (topicHeading) {
4619				if (arAsproOptions['THEME']['SHOW_BASKET_PRINT'] === 'Y') {
4620					if (!document.querySelector('.btn_basket_heading--print')) {
4621						var btnPrintBasket = BX.create({
4622							tag: 'div',
4623							attrs: {
4624								class: 'btn_basket_heading btn_basket_heading--print print-link colored_theme_hover_bg-block',
4625								title: arAsproOptions['THEME']['EXPRESSION_FOR_PRINT_PAGE'],
4626							},
4627							html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-print" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
4627ox="0 0 16 16"><path id="Rectangle_665_copy_4" data-name="Rectangle 665 copy 4" class="cls-print" d="M1570,210h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1570,210Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1556 -197)"></path></svg></i>',
4628						});
4629						BX.insertBefore(btnPrintBasket, topicHeading);
4630					}
4631				}
4632				
4633				if ($('.basket-btn-checkout').length && !$('.basket-btn-checkout').hasClass('disabled')) {
4634					// if(arAsproOptions['THEME']['SHOW_SEND_BASKET_2EMAIL'] === 'Y'){
4635					// if(!document.querySelector('.btn_basket_heading--send2email')){
4636					// 	var btnSendBasket2Email = BX.create({
4637					// 		tag: 'div',
4638					// 		attrs: {
4639					// 			class: 'btn_basket_heading btn_basket_heading--with_title btn_basket_heading--send2email colored_theme_hover_bg-block',
4640					// 			title: arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"],
4641					// 		},
4642					// 		html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 0H4H12H13V1V3.125L15.06 4.4125C15.6448 4.77798 16 5.41892 16 6.1085V6.98162C16.0002 6.99325 16.0002 7.00488 16 7.01649V14C16 15.1046 15.1046 16 14 16H2C0.895429 16 -1.43918e-06 15.1046 -1.43918e-06 14V7.01644C-0.000202747 7.00486 -0.000203195 6.99327 -1.43918e-06 6.98167V6.1085C-1.43918e-06 5.41892 0.355238 4.77798 0.940001 4.4125L3 3.125V1V0ZM5 4.2335L5 2H11V7L11 8.23381L9.62943 9.05615L8.64018 8.23178C8.26934 7.92274 7.73066 7.92274 7.35981 8.23178L6.37057 9.05615L5 8.23381V4.2335ZM2 6.1085L3 5.4835V7.03381L2 6.43381V6.1085ZM14 6.1085L13 5.4835V7.03381L14 6.43381V6.1085ZM12.4379 14L8 10.3017L3.56205 14H12.4379ZM14 12.6983V8.76619L11.2567 10.4122L14 12.6983ZM2 8.76619V12.6983L4.74333 10.4122L2 8.76619Z" fill="#B8B8B8"/></svg></i><span class="title">' + arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"] + '</span>',
4643					// 	});
4644					// 	BX.insertBefore(btnSendBasket2Email, topicHeading);
4645					// }
4646					// }
4647					
4648					if (arAsproOptions['THEME']['SHOW_DOWNLOAD_BASKET'] === 'Y') {
4649						if (!document.querySelector('.btn_basket_heading--download')) {
4650							var btnDownloadBasket = BX.create({
4651								tag: 'div',
4652								attrs: {
4653									class:
4654										'btn_basket_heading btn_basket_heading--with_title btn_basket_heading--download colored_theme_hover_bg-block',
4655									title: arAsproOptions['THEME']['EXPRESSION_FOR_DOWNLOAD_BASKET'],
4656								},
4657								events: {
4658									click: BX.proxy(function (e) {
4659										if (!e) {
4660											e = window.event;
4661										}
4662										
4663										BX.PreventDefault(e);
4664										
4665										var button = e.target.closest('.btn_basket_heading');
4666										if (button) {
4667											if (BX.hasClass(button, 'loadings')) {
4668												return;
4669											}
4670											
4671											BX.addClass(button, 'loadings');
4672											setTimeout(function () {
4673												BX.removeClass(button, 'loadings');
4674											}, 2000);
4675										}
4676										
4677										location.href =
4678											'/ajax/download_basket.php?params[type]=' +
4679											arAsproOptions['THEME']['BASKET_FILE_DOWNLOAD_TEMPLATE'];
4680									}, this),
4681								},
4682								html:
4683									'<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 14H14L14 6H11H10V5V2H5V6H7H9V8V10V12H7H5V14ZM13.6716 4L12 2.32843V4H13.6716ZM6 8H7V10H6H5H3H2V8H3H5H6ZM3 6H2H0V8V10V12H2H3V14V16H5H14H16V14V4.32843C16 3.79799 15.7893 3.28929 15.4142 2.91421L13.0858 0.585786C12.7107 0.210714 12.202 0 11.6716 0H5H3V2V6Z" fill="#B8B8B8"/></svg></i><span class="title">' +
4684									arAsproOptions['THEME']['EXPRESSION_FOR_DOWNLOAD_BASKET'] +
4685									'</span>',
4686							});
4687							BX.insertBefore(btnDownloadBasket, topicHeading);
4688						}
4689					}
4690				} else {
4691					BX.remove(document.querySelector('.btn_basket_heading--send2email'));
4692					BX.remove(document.querySelector('.btn_basket_heading--download'));
4693				}
4694				
4695				var eventdata = { parent: topicHeading };
4696				BX.onCustomEvent('onShowBasketHeadingBtn', [eventdata]);
4697			}
4698		}
4699	};
4700}
4701
4702$(window).on('load', function () {
4703	//check width for menu and search
4704	//CheckSearchWidth();
4705});
4706
4707$(document).ready(function () {
4708	MegaMenuFixed();
4709	// InitScrollBar();
4710	
4711	/*ripple effect for buttons*/
4712	$.ripple('.btn', {
4713		debug: false, // Turn Ripple.js logging on/off
4714		on: 'mouseenter', // The event to trigger a ripple effect
4715		
4716		opacity: 0.4, // The opacity of the ripple
4717		color: 'auto', // Set the background color. If set to "auto", it will use the text color
4718		multi: true, // Allow multiple ripples per element
4719		
4720		duration: 0.6, // The duration of the ripple
4721		
4722		easing: 'linear', // The CSS3 easing function of the ripple
4723	});
4724	/**/
4725	
4726	//ecommerce order
4727	if (arAsproOptions['PAGES']['ORDER_PAGE']) {
4728		var arUrl = parseUrlQuery();
4729		if ('ORDER_ID' in arUrl) {
4730			var _id = arUrl['ORDER_ID'];
4731			if (arAsproOptions['COUNTERS']['USE_FULLORDER_GOALS'] !== 'N') {
4732				var eventdata = { goal: 'goal_order_success', result: _id };
4733				BX.onCustomEvent('onCounterGoals', [eventdata]);
4734			}
4735			if (checkCounters()) {
4736				if (typeof localStorage !== 'undefined') {
4737					var val = localStorage.getItem('gtm_e_' + _id),
4738						d = '';
4739					try {
4740						d = JSON.parse(val);
4741					} catch (e) {
4742						d = val;
4743					}
4744					if (typeof d === 'object') {
4745						window.dataLayer = window.dataLayer || [];
4746						dataLayer.push({
4747							event: arAsproOptions['COUNTERS']['GOOGLE_EVENTS']['PURCHASE'],
4748							ecommerce: d
4749						});
4750					}
4751					
4752					if (typeof localStorage !== 'undefined') {
4753						localStorage.removeItem('gtm_e_' + _id);
4754					}
4755				}
4756			}
4757		}
4758	}
4759	var bSafary = false;
4760	if (typeof jQuery.browser == 'object') bSafary = jQuery.browser.safari;
4761	else if (typeof browser == 'object') bSafary = browser.safari;
4762	if (!bSafary) {
4763		CheckTopMenuDotted();
4764		CheckHeaderFixed();
4765		checkMenuLines();
4766	} else {
4767		setTimeout(function () {
4768			$(window).resize(); // need to check resize flexslider & menu
4769			setTimeout(function () {
4770				CheckTopMenuDotted();
4771				CheckHeaderFixed();
4772				checkMenuLines();
4773				
4774				setTimeout(function () {
4775					$(window).scroll();
4776				}, 50);
4777			}, 50);
4778		}, 350);
4779	}
4780	
4781	showItemStoresAmount();
4782	
4783	if (arAsproOptions['THEME']['USE_DEBUG_GOALS'] === 'Y') $.cookie('_ym_debug', 1, { path: '/' });
4784	else $.cookie('_ym_debug', null, { path: '/' });
4785	
4786	/* change type2 menu for fixed */
4787	if ($('#headerfixed .js-nav').length) {
4788		setTimeout(function () {
4789			$('#headerfixed .js-nav').addClass('opacity1');
4790		}, 350);
4791	}
4792	
4793	// -- scroll after apply option
4794	if ($('.instagram_ajax').length) {
4795		BX.addCustomEvent('onCompleteAction', function (eventdata) {
4796			if (eventdata.action === 'instagrammLoaded') scrollPreviewBlock();
4797		});
4798	} else scrollPreviewBlock();
4799	
4800	scrollToTop();
4801	checkVerticalMobileFilter();
4802	
4803	$('[data-scroll-block]').click(function () {
4804		var _this = $(this);
4805		if (_this.data('scrollBlock')) {
4806			var target = $(_this.data('scrollBlock'));
4807			if (target.length) {
4808				scroll_block(target);
4809			}
4810		}
4811	});
4812	
4813	$.extend($.validator.messages, {
4814		required: BX.message('JS_REQUIRED'),
4815		email: BX.message('JS_FORMAT'),
4816		equalTo: BX.message('JS_PASSWORD_COPY'),
4817		minlength: BX.message('JS_PASSWORD_LENGTH'),
4818		remote: BX.message('JS_ERROR'),
4819	});
4820	
4821	$.validator.addMethod(
4822		'regexp',
4823		function (value, element, regexp) {
4824			var re = new RegExp(regexp);
4825			return this.optional(element) || re.test(value);
4826		},
4827		BX.message('JS_FORMAT')
4828	);
4829	
4830	$.validator.addMethod(
4831		'filesize',
4832		function (value, element, param) {
4833			return this.optional(element) || element.files[0].size <= param;
4834		},
4835		BX.message('JS_FILE_SIZE')
4836	);
4837	
4838	$.validator.addMethod(
4839		'date',
4840		function (value, element, param) {
4841			var status = false;
4842			if (!value || value.length <= 0) {
4843				status = false;
4844			} else {
4845				// html5 date allways yyyy-mm-dd
4846				var re = new RegExp('^([0-9]{4})(.)([0-9]{2})(.)([0-9]{2})$');
4847				var matches = re.exec(value);
4848				if (matches) {
4849					var composedDate = new Date(matches[1], matches[3] - 1, matches[5]);
4850					status =
4851						composedDate.getMonth() == matches[3] - 1 &&
4852						composedDate.getDate() == matches[5] &&
4853						composedDate.getFullYear() == matches[1];
4854				} else {
4855					// firefox
4856					var re = new RegExp('^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4})$');
4857					var matches = re.exec(value);
4858					if (matches) {
4859						var composedDate = new Date(matches[5], matches[3] - 1, matches[1]);
4860						status =
4861							composedDate.getMonth() == matches[3] - 1 &&
4862							composedDate.getDate() == matches[1] &&
4863							composedDate.getFullYear() == matches[5];
4864					}
4865				}
4866			}
4867			return status;
4868		},
4869		BX.message('JS_DATE')
4870	);
4871	
4872	$.validator.addMethod(
4873		'extension',
4874		function (value, element, param) {
4875			param = typeof param === 'string' ? param.replace(/,/g, '|') : 'png|jpe?g|gif';
4876			return this.optional(element) || value.match(new RegExp('.(' + param + ')$', 'i'));
4877		},
4878		BX.message('JS_FILE_EXT')
4879	);
4880	
4881	$.validator.addMethod(
4882		'captcha',
4883		function (value, element, params) {
4884			return $.validator.methods.remote.call(this, value, element, {
4885				url: arAsproOptions['SITE_DIR'] + 'ajax/check-captcha.php',
4886				type: 'post',
4887				data: {
4888					captcha_word: value,
4889					captcha_sid: function () {
4890						return $(element).closest('form').find('input[name="captcha_sid"]').val();
4891					},
4892				},
4893			});
4894		},
4895		BX.message('JS_ERROR')
4896	);
4897	
4898	$.validator.addMethod(
4899		'recaptcha',
4900		function (value, element, param) {
4901			var id = $(element).closest('form').find('.g-recaptcha').attr('data-widgetid');
4902			if (typeof id !== 'undefined') {
4903				return grecaptcha.getResponse(id) != '';
4904			} else {
4905				return true;
4906			}
4907		},
4908		BX.message('JS_RECAPTCHA_ERROR')
4909	);
4910	
4911	$.validator.addClassRules({
4912		/*phone: {
4913      regexp: arAsproOptions["THEME"]["VALIDATE_PHONE_MASK"],
4914    },*/
4915		confirm_password: {
4916			equalTo: 'input[name="REGISTER[PASSWORD]"]',
4917			minlength: 6,
4918		},
4919		password: {
4920			minlength: 6,
4921		},
4922		inputfile: {
4923			extension: arAsproOptions['THEME']['VALIDATE_FILE_EXT'],
4924			filesize: 5000000,
4925		},
4926		captcha: {
4927			captcha: '',
4928		},
4929		recaptcha: {
4930			recaptcha: '',
4931		},
4932	});
4933	
4934	// init calculate delivery with preview
4935	initCalculatePreview();
4936	
4937	/*city*/
4938	$('select.region').on('change', function () {
4939		var val = parseInt($(this).val());
4940		if ($('select.city').length) {
4941			if (val) {
4942				$('select.city option').hide();
4943				$('select.city option').prop('disabled', 'disabled');
4944				$('select.city option[data-parent_section=' + val + ']').prop('disabled', '');
4945				$('select.city option:eq(0)').prop('disabled', '');
4946				$('select.city').ikSelect('reset');
4947				$('select.city option[data-parent_section=' + val + ']').show();
4948			} else $('select.city option').prop('disabled', 'disabled');
4949			$('select.city option:eq(0)').prop('disabled', '');
4950			$('select.city').ikSelect('reset');
4951		}
4952	});
4953	
4954	$('select.city, select.region').on('change', function () {
4955		var _this = $(this),
4956			val = parseInt(_this.val());
4957		if (_this.hasClass('region')) {
4958			$('select.city option:eq(0)').show();
4959			$('select.city').val(0);
4960		}
4961		
4962		if ((_this.hasClass('region') && !val) || _this.hasClass('city')) {
4963			$.ajax({
4964				type: 'POST',
4965				data: { ID: val },
4966				success: function (html) {
4967					var ob = BX.processHTML(html);
4968					$('.ajax_items')[0].innerHTML = ob.HTML;
4969					BX.ajax.processScripts(ob.SCRIPT);
4970				},
4971			});
4972		}
4973	});
4974	
4975	$(document).on('mouseenter', '.section-gallery-wrapper .section-gallery-wrapper__item', function () {
4976		$(this).siblings().removeClass('_active');
4977		$(this).addClass('_active');
4978	});
4979	
4980	$(document).on('mouseleave', '.image_wrapper_block', function () {
4981		const $elements = $(this).find('.section-gallery-wrapper .section-gallery-wrapper__item');
4982		if ($elements.length) {
4983			$elements.removeClass('_active');
4984			$($elements[0]).addClass('_active');
4985		}
4986	});
4987	
4988	$(document).on('click', '.hint .icon', function (e) {
4989		var tooltipWrapp = $(this).closest('.hint');
4990		
4991		if (tooltipWrapp.hasClass('active')) {
4992			tooltipWrapp.removeClass('active').find('.tooltip').slideUp(200);
4993		} else {
4994			tooltipWrapp.addClass('active');
4995			tooltipWrapp.find('.tooltip').slideDown(200);
4996			tooltipWrapp.find('.tooltip_close').click(function (e) {
4997				e.stopPropagation();
4998				tooltipWrapp.removeClass('active').find('.tooltip').slideUp(100);
4999			});
5000		}
5001		e.stopPropagation();
5002	});
5003	
5004	$(document).on('click', '.mobile_regions .mobile-city a', function (e) {
5005		e.preventDefault();
5006		
5007		let $this = $(this);
5008		let regionId = $this.data('id');
5009		
5010		if (regionId) {
5011			$.cookie('current_region', regionId, {
5012				path: '/',
5013				domain: arAsproOptions['SITE_ADDRESS'],
5014			});
5015			
5016			let locationId = $this.data('locid');
5017			if (locationId) {
5018				$.cookie('current_location', locationId, {
5019					path: '/',
5020					domain: arAsproOptions['SITE_ADDRESS'],
5021				});
5022			} else {
5023				$.cookie('current_location', '', {
5024					expires: -1,
5025					path: '/',
5026					domain: arAsproOptions['SITE_ADDRESS'],
5027				});
5028			}
5029			
5030			let href = $this.attr('href');
5031			location.href = href;
5032		}
5033	});
5034	
5035	/* toggle */
5036	var $this = this,
5037		previewParClosedHeight = 25;
5038	
5039	$('section.toggle > label').prepend($('<i />').addClass('fa fa-plus'));
5040	$('section.toggle > label').prepend($('<i />').addClass('fa fa-minus'));
5041	$('section.toggle.active > p').addClass('preview-active');
5042	$('section.toggle.active > div.toggle-content').slideDown(350, function () {
5043	});
5044	
5045	$('section.toggle > label').click(function (e) {
5046		var parentSection = $(this).parent(),
5047			parentWrapper = $(this).parents('div.toogle'),
5048			previewPar = false,
5049			isAccordion = parentWrapper.hasClass('toogle-accordion');
5050		
5051		if (isAccordion && typeof e.originalEvent != 'undefined') {
5052			parentWrapper.find('section.toggle.active > label').trigger('click');
5053		}
5054		
5055		parentSection.toggleClass('active');
5056		
5057		// Preview Paragraph
5058		if (parentSection.find('> p').get(0)) {
5059			previewPar = parentSection.find('> p');
5060			var previewParCurrentHeight = previewPar.css('height');
5061			previewPar.css('height', 'auto');
5062			var previewParAnimateHeight = previewPar.css('height');
5063			previewPar.css('height', previewParCurrentHeight);
5064		}
5065		
5066		// Content
5067		var toggleContent = parentSection.find('> div.toggle-content');
5068		
5069		if (parentSection.hasClass('active')) {
5070			$(previewPar).animate(
5071				{
5072					height: previewParAnimateHeight,
5073				},
5074				350,
5075				function () {
5076					$(this).addClass('preview-active');
5077				}
5078			);
5079			toggleContent.slideDown(350, function () {
5080			});
5081		} else {
5082			$(previewPar).animate(
5083				{
5084					height: previewParClosedHeight,
5085				},
5086				350,
5087				function () {
5088					$(this).removeClass('preview-active');
5089				}
5090			);
5091			toggleContent.slideUp(350, function () {
5092			});
5093		}
5094	});
5095	
5096	if (typeof $.fn.footable == 'function') {
5097		$('.tables-responsive .responsive').footable(); //responsive table
5098	}
5099	
5100	$('a[rel=tooltip]').tooltip();
5101	$('span[data-toggle=tooltip]').tooltip();
5102	
5103	$('.toggle .more_items').on('click', function () {
5104		$(this).closest('.toggle').find('.collapsed').css('display', 'inline-block').removeClass('collapsed');
5105		$(this).remove();
5106		if (typeof $(this).data('resize') !== 'undefined' && $(this).data('resize')) $(window).resize();
5107	});
5108	$('.toggle_menu .more_items').on('click', function () {
5109		$(this).closest('.toggle_menu').find('.collapsed').addClass('clicked_exp');
5110		$(this).remove();
5111	});
5112	
5113	/* search sync */
5114	$(document).on('keyup', '.search-input-div input', function (e) {
5115		var inputValue = $(this).val();
5116		$('.search-input-div input:not(:focus').val(inputValue);
5117		
5118		if ($(this).closest('#headerfixed').length) {
5119			if (e.keyCode == 13) $('.search form').submit();
5120		}
5121	});
5122	$(document).on('click', '.search-button-div button', function (e) {
5123		if ($(this).closest('#headerfixed').length) $('.search form').submit();
5124	});
5125	
5126	$('.inline-search-show, .inline-search-hide').on('click', function (e) {
5127		CloseMobilePhone();
5128		// if(window.matchMedia('(min-width: 600px)').matches)
5129		// {
5130		if (typeof $(this).data('type_search') != 'undefined' && $(this).data('type_search') == 'fixed')
5131			$('.inline-search-block').addClass('fixed');
5132		
5133		if (arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed') {
5134			/*setTimeout(function(){
5135          $('.inline-search-block.fixed.big .search-input').focus();
5136        }, 200);*/
5137			$('.inline-search-block.fixed.big .search-input').focus();
5138		}
5139		if (arAsproOptions['THEME']['TYPE_SEARCH'] != 'fixed') {
5140			$('#title-search-input').focus();
5141		}
5142		
5143		$('.inline-search-block').toggleClass('show');
5144		if ($('.top-block').length) {
5145			if ($('.inline-search-block').hasClass('show'))
5146				$('.inline-search-block').css('background', $('.top-block').css('background-color'));
5147			else $('.inline-search-block').css('background', '#fff');
5148		}
5149		if (arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed') {
5150			if ($('.inline-search-block').hasClass('show')) $('<div class="jqmOverlay search"></div>').appendTo('body');
5151			else {
5152				$('#title-search-input').blur();
5153				$('.jqmOverlay').detach();
5154			}
5155		}
5156		// }
5157		// else
5158		// 	location.href = arAsproOptions['PAGES']['CATALOG_PAGE_URL']+'?q';
5159	});
5160	
5161	/* close search block */
5162	$('html, body').on('mousedown', function (e) {
5163		if (typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0) {
5164			e.stopPropagation();
5165			
5166			var search_target = $(e.target).closest('.title-search-result');
5167			if (
5168				!$(e.target).closest('inline-search-block').length &&
5169				!$(e.target).closest('.dropdown-select.searchtype').length &&
5170				!$(e.target).hasClass('svg') &&
5171				!search_target.length
5172			) {
5173				$('.inline-search-block').removeClass('show');
5174				$('.title-search-result').hide();
5175				if (arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed') $('.jqmOverlay.search').detach();
5176			}
5177			
5178			if ($('#mobilePhone').length) {
5179				CloseMobilePhone();
5180			}
5181			
5182			if ($('#basket_line .basket_fly').length && parseInt($('#basket_line .basket_fly').css('right')) >= 0) {
5183				if (!$(e.target).closest('.basket_wrapp').length) {
5184					$('#basket_line .basket_fly')
5185						.stop()
5186						.animate({ right: -$('#basket_line .basket_fly').outerWidth() }, 150);
5187					$('#basket_line .basket_fly .opener > div').removeClass('cur');
5188					$('#basket_line .basket_fly').removeClass('swiped');
5189				}
5190			}
5191			
5192			if (isMobile) {
5193				if (search_target.length) location.href = search_target.attr('href');
5194			}
5195			
5196			if (!$(e.target).closest('.js-info-block').length && !$(e.target).closest('.js-show-info-block').length) {
5197				$('.js-show-info-block').removeClass('opened');
5198				$('.js-info-block').fadeOut();
5199			}
5200			
5201			if (!$(e.target).closest('.hint.active').length) {
5202				$('.hint.active .icon').trigger('click');
5203			}
5204			
5205			var class_name = $(e.target).attr('class');
5206			if (typeof class_name == 'undefined' || class_name.indexOf('tooltip') < 0)
5207				//tooltip link
5208				$('.tooltip-link').tooltip('hide');
5209		}
5210	});
5211	$('.inline-search-block')
5212		.find('*')
5213		.on('mousedown', function (e) {
5214			e.stopPropagation();
5215		});
5216	
5217	initAnimateLoad();
5218	
5219	/*check all opt table items*/
5220	$(document).on('change', 'input#select_all_items', function () {
5221		var _this = $(this);
5222		var notOfferCount = 0;
5223		var bComplect = _this.closest('.complect_main_wrap').length;
5224		if (bComplect) {
5225			notOfferCount = _this
5226				.closest('.complect_main_wrap')
5227				.find('.catalog-block-view__item .counter_wrapp:not(.ce_cmp_visible) .button_block .to-cart').length;
5228		} else {
5229			notOfferCount = $(
5230				'.table-view__item:not([data-product_type=3]), .table-view-offer-tree .table-view__item[data-product_type=3] .counter_wrapp:not(.ce_cmp_visible)'
5231			).find('.button_block .to-cart').length;
5232		}
5233		var wishCount = $(
5234			'.table-view__item:not([data-product_type=3]), .table-view-offer-tree .table-view__item[data-product_type=3]'
5235		).find('.item-icons .wish_item_button .wish_item.to').length;
5236		var allGoodsCount = $('.table-view__item').length;
5237		
5238		if (_this.is(':checked')) {
5239			//buy && wish
5240			if (notOfferCount != 0) {
5241				$('.opt_action:not([data-action=compare])').removeClass('no-action');
5242			}
5243			
5244			//compare
5245			$('.opt_action[data-action=compare]').removeClass('no-action');
5246			
5247			$('.opt_action').addClass('animate-load');
5248			$('.opt_action .text').remove();
5249			
5250			//buy
5251			$('<div class="text">(<span>' + notOfferCount + '</span>)</div>').appendTo($('.opt_action[data-action=buy]'));
5252			
5253			//wish
5254			$('<div class="text muted">(<span>' + wishCount + '</span>)</div>').appendTo($('.opt_action[data-action=wish]'));
5255			
5256			//compare
5257			$('<div class="text muted">(<span>' + allGoodsCount + '</span>)</div>').appendTo(
5258				$('.opt_action[data-action=compare]')
5259			);
5260			
5261			$('input[name="chec_item"]').prop('checked', 'checked');
5262		} else {
5263			$('.opt_action').addClass('no-action');
5264			$('.opt_action').removeClass('animate-load');
5265			$('.opt_action .text').remove();
5266			
5267			$('input[name="chec_item"]').removeAttr('checked');
5268		}
5269		
5270		if (_this.closest('.complect_header_block').length && typeof setNewPriceComplect === 'function') {
5271			setNewPriceComplect();
5272		}
5273	});
5274	
5275	/*check opt table item*/
5276	$(document).on('change', 'input[name=\'chec_item\']', function () {
5277		var _this = $(this);
5278		
5279		var canBuy =
5280			_this.closest('.table-view__item').find('.button_block .to-cart').length ||
5281			_this.closest('.catalog-block-view__item').find('.button_block .to-cart').length;
5282		var isOffer = _this.closest('.main_item_wrapper').attr('data-product_type') == '3' && !canBuy;
5283		
5284		if (_this.is(':checked')) {
5285			$('.opt_action').each(function () {
5286				var _this = $(this);
5287				
5288				var isBuyAction = _this.attr('data-action') == 'buy';
5289				var isWishAction = _this.attr('data-action') == 'wish';
5290				
5291				if (isOffer && (isBuyAction || isWishAction)) {
5292					return true;
5293				}
5294				
5295				if (isBuyAction && !canBuy) {
5296					return true;
5297				}
5298				
5299				if (_this.find('.text').length) {
5300					var count = parseInt(_this.find('.text span').text());
5301					_this.find('.text span').text(++count);
5302				} else {
5303					_this.removeClass('no-action');
5304					_this.addClass('animate-load');
5305					$('<div class="text muted">(<span>1</span>)</div>').appendTo(_this);
5306				}
5307			});
5308		} else {
5309			$('.opt_action').each(function () {
5310				var _this = $(this);
5311				
5312				var isBuyAction = _this.attr('data-action') == 'buy';
5313				var isWishAction = _this.attr('data-action') == 'wish';
5314				
5315				if (isOffer && (isBuyAction || isWishAction)) {
5316					return true;
5317				}
5318				
5319				if (isBuyAction && !canBuy) {
5320					return true;
5321				}
5322				
5323				if (_this.find('.text').length) {
5324					var count = parseInt(_this.find('.text span').text());
5325					--count;
5326					_this.find('.text span').text(count);
5327					
5328					if (!count) {
5329						_this.addClass('no-action');
5330						_this.removeClass('animate-load');
5331						_this.find('.text').remove();
5332					}
5333				}
5334			});
5335		}
5336	});
5337	
5338	/*buy|wish|compare opt table items*/
5339	$(document).on('click', '.opt_action', function () {
5340		var _this = $(this),
5341			action = _this.data('action'),
5342			itemsAll = [],
5343			basketParams = {
5344				type: 'multiple',
5345				iblock_id: _this.data('iblock_id'),
5346				action: action,
5347				items: {},
5348			};
5349		
5350		if (!_this.hasClass('no-action')) {
5351			$('.opt_action').addClass('no-action');
5352			_this.removeClass('no-action');
5353			
5354			$('.table-view__item, .catalog-block-view__item').each(function () {
5355				var _this = $(this);
5356				var canBuy = _this.find('.button_block .to-cart').length;
5357				var add = _this.find('input[name="chec_item"]').is(':checked') && (canBuy || action != 'buy');
5358				var addOffer = _this.data('product_type') == '3' && _this.find('.button_block .to-cart').length;
5359				if (add) {
5360					var itemId = addOffer ? _this.find('.button_block .to-cart').data('item') : _this.data('id');
5361					itemsAll.push(_this[0]);
5362					basketParams['items'][itemId] = {};
5363					basketParams['items'][itemId]['id'] = itemId;
5364					basketParams['items'][itemId]['product_type'] = _this.data('product_type');
5365					basketParams['items'][itemId]['quantity'] = _this.find('input[name="quantity"]').val();
5366					if (addOffer) {
5367						basketParams['items'][itemId]['add_offer'] = 'Y';
5368					}
5369				}
5370			});
5371			$.ajax({
5372				type: 'POST',
5373				url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
5374				data: basketParams,
5375				dataType: 'json',
5376				success: function (data) {
5377					if ('STATUS' in data) {
5378						if (data.STATUS !== 'OK') {
5379							showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
5380						}
5381						
5382						//js notice
5383						if (typeof JNoticeSurface !== 'undefined') {
5384							switch (action) {
5385								case 'buy':
5386									JNoticeSurface.get().onAdd2cart(itemsAll);
5387									break;
5388								case 'wish':
5389									JNoticeSurface.get().onAdd2Delay(itemsAll);
5390									break;
5391								case 'compare':
5392									JNoticeSurface.get().onAdd2Compare(itemsAll);
5393									break;
5394								default:
5395									console.log('nothing');
5396							}
5397						}
5398						//
5399						
5400						if ($('.header-cart.fly').length) {
5401							arBasketAsproCounters.DEFAULT = true;
5402							SetActualBasketFlyCounters(true);
5403						} else {
5404							if ($('#ajax_basket').length) {
5405								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5406							} else {
5407								reloadBasketCounters('', true);
5408							}
5409						}
5410					}
5411					_this.parent().removeClass('loadings');
5412					$('.opt_action').removeClass('no-action');
5413				},
5414			});
5415		}
5416	});
5417	
5418	/*check complect item*/
5419	if ($('#product-complect-block')) {
5420		let priceChecked = 0;
5421		
5422		$('.catalog-block-view__item').each(function () {
5423			var _this = $(this);
5424			var checked = _this.find('input[name="chec_item_complect"]').is(':checked');
5425			if (checked) {
5426				priceChecked += parseInt(_this.find('input[name="chec_item_complect"]').data('product_price')) * parseInt(_this.find('input[name="chec_item_complect"]').data('min_quantity'));
5427				
5428				if ($('.opt_action_complect')) {
5429					var optActionComplectBtn = $('.opt_action_complect');
5430					var someOptActionComplectBtn = $('.some_opt_action_complect');
5431					
5432					if (optActionComplectBtn.find('.text').length) {
5433						var count = parseInt(optActionComplectBtn.find('.text span').text());
5434						optActionComplectBtn.find('.text span').text(count + _this.find('input[name="chec_item_complect"]').data('min_quantity'));
5435					} else {
5436						var count = _this.find('input[name="chec_item_complect"]').data('min_quantity');
5437						optActionComplectBtn.removeClass('no-action');
5438						optActionComplectBtn.addClass('animate-load');
5439						$('<div class="text">(<span>' + count + '</span>)</div>').appendTo(optActionComplectBtn);
5440						
5441						if (someOptActionComplectBtn) {
5442							someOptActionComplectBtn.removeClass('no-action');
5443						}
5444					}
5445				}
5446			}
5447		});
5448		
5449		$('.complect-action-block .prices_block .price_value').text(priceChecked.toLocaleString());
5450	}
5451	
5452	/*change check complect item*/
5453	$(document).on('change', 'input[name="chec_item_complect"]', function () {
5454		var _this = $(this);
5455		var optActionComplectBtn = $('.opt_action_complect');
5456		var someOptActionComplectBtn = $('.some_opt_action_complect');
5457		let priceChecked = parseInt(String($('.complect-action-block .prices_block .price_value').text()).replace(/\s+/g, ''));
5458		
5459		if (optActionComplectBtn) {
5460			if (_this.is(':checked')) {
5461				priceChecked += parseInt(_this.data('product_price')) * parseInt(_this.data('min_quantity'));
5462				
5463				if (optActionComplectBtn.find('.text').length) {
5464					var count = parseInt(optActionComplectBtn.find('.text span').text());
5465					optActionComplectBtn.find('.text span').text(count + _this.data('min_quantity'));
5466				} else {
5467					var count = _this.data('min_quantity');
5468					optActionComplectBtn.removeClass('no-action');
5469					optActionComplectBtn.addClass('animate-load');
5470					$('<div class="text">(<span>' + count + '</span>)</div>').appendTo(optActionComplectBtn);
5471					
5472					if (someOptActionComplectBtn) {
5473						someOptActionComplectBtn.removeClass('no-action');
5474					}
5475				}
5476			} else {
5477				priceChecked -= parseInt(_this.data('product_price')) * parseInt(_this.data('min_quantity'));
5478				
5479				if (optActionComplectBtn.find('.text').length) {
5480					var count = parseInt(optActionComplectBtn.find('.text span').text());
5481					optActionComplectBtn.find('.text span').text(count - _this.data('min_quantity'));
5482					
5483					if ((count - _this.data('min_quantity')) <= 0) {
5484						optActionComplectBtn.addClass('no-action');
5485						optActionComplectBtn.removeClass('animate-load');
5486						optActionComplectBtn.find('.text').remove();
5487						
5488						if (someOptActionComplectBtn) {
5489							someOptActionComplectBtn.addClass('no-action');
5490						}
5491					}
5492				}
5493			}
5494		}
5495		
5496		$('.complect-action-block .prices_block .price_value').text(priceChecked.toLocaleStr
5496ing());
5497	});
5498	
5499	/*buy complect items*/
5500	$(document).on('click', '.opt_action_complect', function () {
5501		var _this = $(this),
5502			action = _this.data('action'),
5503			itemsAll = [],
5504			basketParams = {
5505				iblock_id: _this.data('iblock_id'),
5506				type: 'multiple',
5507				action: action,
5508				items: {},
5509			};
5510		
5511		if (!_this.hasClass('no-action')) {
5512			const wait = BX.showWait(document.querySelector('.complect-button-block'));
5513			document.querySelector('.complect-button-block').classList.add('_wait');
5514			$('.opt_action_complect').addClass('no-action');
5515			_this.removeClass('no-action');
5516			
5517			$('.catalog-block-view__item').each(function () {
5518				var _this = $(this);
5519				var add = _this.find('input[name="chec_item_complect"]').is(':checked');
5520				if (add) {
5521					var itemId = _this.find('input[name="chec_item_complect"]').data('id');
5522					itemsAll.push(_this[0]);
5523					basketParams['items'][itemId] = {};
5524					basketParams['items'][itemId]['id'] = itemId;
5525					basketParams['items'][itemId]['product_type'] = _this.find('input[name="chec_item_complect"]').data('product_type');
5526					basketParams['items'][itemId]['quantity'] = _this.find('input[name="chec_item_complect"]').data('min_quantity');
5527				}
5528			});
5529			
5530			$.ajax({
5531				url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
5532				type: 'POST',
5533				data: basketParams,
5534				dataType: 'json',
5535				success: function (data) {
5536					if ('STATUS' in data) {
5537						if (data.STATUS !== 'OK') {
5538							showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
5539						}
5540						
5541						//js notice
5542						if (typeof JNoticeSurface !== 'undefined') {
5543							switch (action) {
5544								case 'buy':
5545									JNoticeSurface.get().onAdd2cart(itemsAll);
5546									break;
5547								default:
5548									console.log('nothing');
5549							}
5550						}
5551						//
5552						
5553						if ($('.header-cart.fly').length) {
5554							arBasketAsproCounters.DEFAULT = true;
5555							SetActualBasketFlyCounters(true);
5556						} else {
5557							if ($('#ajax_basket').length) {
5558								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5559							} else {
5560								reloadBasketCounters('', true);
5561							}
5562						}
5563					}
5564					_this.parent().removeClass('loadings');
5565					$('.opt_action_complect').removeClass('no-action');
5566					document.querySelector('.complect-button-block').classList.remove('_wait');
5567					BX.closeWait(document.querySelector('.complect-button-block'), wait);
5568				},
5569			});
5570		}
5571	});
5572	
5573	/*buy opt complect items*/
5574	$(document).on('click', '.some_opt_action_complect', function () {
5575		var _this = $(this),
5576			action = _this.data('action'),
5577			itemsAll = [],
5578			basketParams = {
5579				iblock_id: _this.data('iblock_id'),
5580				type: 'multiple',
5581				action: action,
5582				complect: 'Y',
5583				complect_id: _this.data('complect_id'),
5584				complect_count: 1,
5585				items: {},
5586			};
5587		
5588		if (!_this.hasClass('no-action')) {
5589			const wait = BX.showWait(document.querySelector('.complect-button-block'));
5590			document.querySelector('.complect-button-block').classList.add('_wait');
5591			$('.some_opt_action_complect').addClass('no-action');
5592			_this.removeClass('no-action');
5593			
5594			$('.catalog-block-view__item').each(function () {
5595				var _this = $(this);
5596				var add = _this.find('input[name="chec_item_complect"]').is(':checked');
5597				if (add) {
5598					var itemId = _this.find('input[name="chec_item_complect"]').data('id');
5599					itemsAll.push(_this[0]);
5600					basketParams['items'][itemId] = {};
5601					basketParams['items'][itemId]['id'] = itemId;
5602					basketParams['items'][itemId]['product_type'] = _this.find('input[name="chec_item_complect"]').data('product_type');
5603					basketParams['items'][itemId]['quantity'] = _this.find('input[name="chec_item_complect"]').data('min_quantity');
5604				}
5605			});
5606			
5607			$.ajax({
5608				url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
5609				type: 'POST',
5610				data: basketParams,
5611				dataType: 'json',
5612				success: function (data) {
5613					if ('STATUS' in data) {
5614						if (data.STATUS !== 'OK') {
5615							showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
5616						}
5617						
5618						//js notice
5619						if (typeof JNoticeSurface !== 'undefined') {
5620							switch (action) {
5621								case 'buy':
5622									JNoticeSurface.get().onAdd2cart(itemsAll);
5623									break;
5624								default:
5625									console.log('nothing');
5626							}
5627						}
5628						//
5629						
5630						if ($('.header-cart.fly').length) {
5631							arBasketAsproCounters.DEFAULT = true;
5632							SetActualBasketFlyCounters(true);
5633						} else {
5634							if ($('#ajax_basket').length) {
5635								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5636							} else {
5637								reloadBasketCounters('', true);
5638							}
5639						}
5640						
5641						if (data.STATUS === 'OK') {
5642							document.querySelector('.complect-button-block input[name=complect-counter]').value = 1;
5643							$('.some_opt_action_complect').addClass('_no-active');
5644							$('.complect-button-block .counter-block').removeClass('_no-active');
5645						}
5646					}
5647					
5648					_this.parent().removeClass('loadings');
5649					$('.some_opt_action_complect').removeClass('no-action');
5650					document.querySelector('.complect-button-block').classList.remove('_wait');
5651					BX.closeWait(document.querySelector('.complect-button-block'), wait);
5652				},
5653			});
5654		}
5655	});
5656	
5657	if ($('.complect-button-block')) {
5658		$(document).on('click', '.complect-button-block .counter-block .minus', function () {
5659			let inputCounter = document.querySelector('.complect-button-block input[name=complect-counter]');
5660			var _this = $(this),
5661				action = _this.data('action'),
5662				basketParams = {
5663					iblock_id: _this.data('iblock_id'),
5664					type: 'multiple',
5665					action: action,
5666					complect: 'Y',
5667					complect_id: _this.data('complect_id'),
5668					complect_count: parseInt(inputCounter.value)
5669				};
5670			
5671			const wait = BX.showWait(document.querySelector('.complect-button-block'));
5672			document.querySelector('.complect-button-block').classList.add('_wait');
5673			
5674			$.ajax({
5675				url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
5676				type: 'POST',
5677				data: basketParams,
5678				dataType: 'json',
5679				success: function (data) {
5680					if ('STATUS' in data) {
5681						if (data.STATUS !== 'OK') {
5682							showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
5683						}
5684						
5685						if (data.STATUS === 'OK') {
5686							if ($('.header-cart.fly').length) {
5687								arBasketAsproCounters.DEFAULT = true;
5688								SetActualBasketFlyCounters(true);
5689							} else {
5690								if ($('#ajax_basket').length) {
5691									reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5692								} else {
5693									reloadBasketCounters('', true);
5694								}
5695							}
5696							
5697							inputCounter.value = parseInt(inputCounter.value) - 1;
5698
5699							if (parseInt(inputCounter.value) <= 0) {
5700								$('.complect-button-block .counter-block').addClass('_no-active');
5701								$('.some_opt_action_complect').removeClass('_no-active');
5702							}
5703						}
5704					}
5705					
5706					document.querySelector('.complect-button-block').classList.remove('_wait');
5707					BX.closeWait(document.querySelector('.complect-button-block'), wait);
5708				},
5709			});
5710		});
5711		
5712		$(document).on('click', '.complect-button-block .counter-block .plus', function () {
5713			let inputCounter = document.querySelector('.complect-button-block input[name=complect-counter]');
5714			var _this = $(this),
5715				action = _this.data('action'),
5716				itemsAll = [],
5717				basketParams = {
5718					iblock_id: _this.data('iblock_id'),
5719					type: 'multiple',
5720					action: action,
5721					complect: 'Y',
5722					complect_id: _this.data('complect_id'),
5723					complect_count: parseInt(inputCounter.value) + 1,
5724					items: {},
5725				};
5726			
5727			const wait = BX.showWait(document.querySelector('.complect-button-block'));
5728			document.querySelector('.complect-button-block').classList.add('_wait');
5729			
5730			$('.catalog-block-view__item').each(function () {
5731				var _this = $(this);
5732				var add = _this.find('input[name="chec_item_complect"]').is(':checked');
5733				if (add) {
5734					var itemId = _this.find('input[name="chec_item_complect"]').data('id');
5735					itemsAll.push(_this[0]);
5736					basketParams['items'][itemId] = {};
5737					basketParams['items'][itemId]['id'] = itemId;
5738					basketParams['items'][itemId]['product_type'] = _this.find('input[name="chec_item_complect"]').data('product_type');
5739					basketParams['items'][itemId]['quantity'] = _this.find('input[name="chec_item_complect"]').data('min_quantity');
5740				}
5741			});
5742			
5743			$.ajax({
5744				url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
5745				type: 'POST',
5746				data: basketParams,
5747				dataType: 'json',
5748				success: function (data) {
5749					if ('STATUS' in data) {
5750						if (data.STATUS !== 'OK') {
5751							showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
5752						}
5753						
5754						if (data.STATUS === 'OK') {
5755							if ($('.header-cart.fly').length) {
5756								arBasketAsproCounters.DEFAULT = true;
5757								SetActualBasketFlyCounters(true);
5758							} else {
5759								if ($('#ajax_basket').length) {
5760									reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5761								} else {
5762									reloadBasketCounters('', true);
5763								}
5764							}
5765							
5766							inputCounter.value = parseInt(inputCounter.value) + 1;
5767						}
5768					}
5769					
5770					document.querySelector('.complect-button-block').classList.remove('_wait');
5771					BX.closeWait(document.querySelector('.complect-button-block'), wait);
5772				},
5773			});
5774		});
5775	}
5776	
5777	//fix opt checked for back in browser
5778	setTimeout(function () {
5779		if ($('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').length) {
5780			$('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').prop('checked', false);
5781		}
5782	}, 1);
5783	
5784	/*check mobile device*/
5785	$(document).on('click', '*[data-event="jqm"]', function (e) {
5786		e.preventDefault();
5787		e.stopPropagation();
5788		
5789		var _this = $(this);
5790		var name = _this.data('name');
5791		if (previewMode && ((name.length && name == 'auth') || window.matchMedia('(max-width:400px)').matches)) {
5792			var script = arAsproOptions['SITE_DIR'] + 'form/';
5793			var paramsStr = '';
5794			var arTriggerAttrs = {};
5795			$.each(_this.get(0).attributes, function (index, attr) {
5796				var attrName = attr.nodeName;
5797				var attrValue = _this.attr(attrName);
5798				arTriggerAttrs[attrName] = attrValue;
5799				if (/^data\-param\-(.+)$/.test(attrName)) {
5800					var key = attrName.match(/^data\-param\-(.+)$/)[1];
5801					paramsStr += key + '=' + attrValue + '&';
5802				}
5803			});
5804			
5805			var triggerAttrs = JSON.stringify(arTriggerAttrs);
5806			var encTriggerAttrs = encodeURIComponent(triggerAttrs);
5807			script += '?name=' + name + '&' + paramsStr + 'data-trigger=' + encTriggerAttrs;
5808			
5809			if (_this.attr('href') !== undefined) {
5810				script = _this.attr('href');
5811			}
5812			
5813			location.href = script;
5814		} else {
5815			if (!$(this).hasClass('clicked')) {
5816				$(this).addClass('clicked');
5817				$(this).jqmEx();
5818				// $(this).trigger("click");
5819			}
5820		}
5821		
5822		return false;
5823	});
5824	// }
5825	
5826	BX.addCustomEvent('onCompleteAction', function (eventdata, _this) {
5827		try {
5828			if (eventdata.action === 'loadForm') {
5829				$(_this).parent().removeClass('loadings');
5830				$(_this).removeClass('clicked');
5831				
5832				if ($(_this).hasClass('one_click_buy_trigger')) {
5833					$('.wrapp_one_click > span').removeClass('clicked');
5834					$('.one_click').removeClass('clicked');
5835				} else if ($(_this).hasClass('one_click_buy_basket_trigger')) {
5836					$('.fast_order').removeClass('clicked');
5837				}
5838			} else if (eventdata.action === 'loadBasket') {
5839				$('.basket-link.basket').attr('title', $('<div/>').html(arBasketPrices.BASKET_SUMM_TITLE).text());
5840				$('.basket-link.delay').attr('title', $('<div/>').html(arBasketPrices.DELAY_SUMM_TITLE).text());
5841				
5842				if (arBasketPrices.BASKET_COUNT > 0) {
5843					$('.basket-link.basket').addClass('basket-count');
5844					$('.basket-link.basket .count').removeClass('empted');
5845					if ($('.basket-link.basket .prices').length)
5846						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM);
5847				} else {
5848					$('.basket-link.basket').removeClass('basket-count');
5849					$('.basket-link.basket .count').addClass('empted');
5850					if ($('.basket-link.basket .prices').length)
5851						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM_TITLE_SMALL);
5852				}
5853				$('.basket-link.basket .count').text(arBasketPrices.BASKET_COUNT);
5854				if (arBasketPrices.DELAY_COUNT > 0) {
5855					$('.basket-link.delay').addClass('basket-count');
5856					$('.basket-link.delay .count').removeClass('empted');
5857					$('.basket-link.delay[data-href]').attr('href', $('.basket-link.delay[data-href]').data('href'));
5858				} else {
5859					$('.basket-link.delay').removeClass('basket-count');
5860					$('.basket-link.delay .count').addClass('empted');
5861					$('.basket-link.delay[data-href]').attr('href', 'javascript:void(0)');
5862				}
5863				$('.basket-link.delay .count').text(arBasketPrices.DELAY_COUNT);
5864				
5865				updateBottomIconsPanel(arBasketPrices);
5866			} else if (eventdata.action === 'loadActualBasketCompare') {
5867				var compare_count = Object.keys(arBasketAspro.COMPARE).length;
5868				if (compare_count > 0) {
5869					$('.basket-link.compare').addClass('basket-count');
5870					$('.basket-link.compare .count').removeClass('empted');
5871					if ($('#compare_fly').length) $('#compare_fly').removeClass('empty_block');
5872				} else {
5873					$('.basket-link.compare').removeClass('basket-count');
5874					$('.basket-link.compare .count').addClass('empted');
5875					if ($('#compare_fly').length) $('#compare_fly').addClass('empty_block');
5876				}
5877				$('.basket-link.compare .count').text(compare_count);
5878				
5879				updateBottomIconsPanel(arBasketAspro);
5880			} else if (eventdata.action === 'loadRSS') {
5881			} else if (eventdata.action === 'ajaxContentLoaded') {
5882			} else if (eventdata.action === 'jsLoadBlock') {
5883				// initCountdown();
5884				setStatusButton();
5885				setTimeout(function () {
5886					InitOwlSlider();
5887				}, 200);
5888				if (typeof initSwiperSlider === 'function') {
5889					initSwiperSlider();
5890				}
5891				InitFancyBox();
5892				
5893				checkLinkedArticles();
5894				checkLinkedBlocks('.linked-banners-list');
5895				lazyLoadPagenBlock();
5896				
5897				if (typeof window['stickySidebar'] !== 'undefined') {
5898					window['stickySidebar'].updateSticky();
5899				}
5900			}
5901		} catch (e) {
5902			console.error(e);
5903		}
5904	});
5905	
5906	/*slices*/
5907	if ($('.banners-small .item.normal-block').length) $('.banners-small .item.normal-block').sliceHeight();
5908	if ($('.teasers .item').length) $('.teasers .item').sliceHeight();
5909	if ($('.wrap-portfolio-front .row.items > div').length)
5910		$('.wrap-portfolio-front .row.items > div').sliceHeight({ row: '.row.items', item: '.item1' });
5911	
5912	/* bug fix in ff*/
5913	$('img').removeAttr('draggable');
5914	
5915	$('.title-tab-heading').on('click', function () {
5916		var container = $(this).parent(),
5917			slide_block = $(this).next(),
5918			bReviewTab = container.hasClass('media_review');
5919		
5920		clicked_tab = container.index() + 1;
5921		
5922		container.siblings().removeClass('active');
5923		
5924		$('.nav.nav-tabs li').removeClass('active');
5925		
5926		if (container.hasClass('active')) {
5927			if (bReviewTab) {
5928				$('#reviews_content').slideUp(200, function () {
5929					container.removeClass('active');
5930				});
5931			} else {
5932				slide_block.slideUp(200, function () {
5933					container.removeClass('active');
5934				});
5935			}
5936		} else {
5937			container.addClass('active');
5938			if (bReviewTab) {
5939				$('#reviews_content').slideDown();
5940			} else {
5941				if ($('.tabs_section + #reviews_content').length) $('.tabs_section + #reviews_content').slideUp();
5942				slide_block.slideDown();
5943				if (typeof container.attr('id') !== 'undefined' && container.attr('id') == 'descr') {
5944					var $gallery = $('.galerys-block');
5945					if ($gallery.length) {
5946						var bTypeBig = $gallery.find('.big_slider').length;
5947						var $slider = bTypeBig ? $gallery.find('.big_slider') : $gallery.find('.small_slider');
5948						var interval = setInterval(function () {
5949							if ($slider.find('.slides .item').attr('style').indexOf('height') === -1) {
5950								$(window).resize();
5951							} else {
5952								clearInterval(interval);
5953							}
5954						}, 100);
5955					}
5956				}
5957			}
5958		}
5959	});
5960	
5961	InitOwlSlider();
5962	InitStickySideBar();
5963	InitFancyBox();
5964	InitFancyBoxVideo();
5965	
5966	/* setTimeout(function () {
5967    InitTopestMenuGummi();
5968    isOnceInited = true;
5969    $(".menu.topest").closest(".dotted-flex-1").addClass("dotted-complete");
5970  }, 100);*/
5971	
5972	InitZoomPict();
5973	
5974	$(document).on('click', '.captcha_reload', function (e) {
5975		var captcha = $(this).parents('.captcha-row');
5976		e.preventDefault();
5977		$.ajax({
5978			url: arAsproOptions['SITE_DIR'] + 'ajax/captcha.php',
5979			success: function (text) {
5980				captcha.find('input[name=captcha_sid],input[name=captcha_code]').val(text);
5981				captcha.find('img').attr('src', '/bitrix/tools/captcha.php?captcha_sid=' + text);
5982				captcha.find('input[name=captcha_word]').val('').removeClass('error');
5983				captcha.find('.captcha_input').removeClass('error').find('.error').remove();
5984			},
5985		});
5986	});
5987	
5988	/* show print */
5989	if (arAsproOptions['PAGES']['BASKET_PAGE']) {
5990		showBasketHeadingBtn();
5991	} else {
5992		if (arAsproOptions['THEME']['PRINT_BUTTON'] === 'Y') {
5993			setTimeout(function () {
5994				var topicHeading = document.querySelector('.period_wrapper.in-detail-news1 .period_wrapper_inner')
5995					? document.querySelector('.detail-news1 .period_wrapper .period_wrapper_inner')
5996					: document.querySelector('.page-top .topic .topic__heading')
5997						? document.querySelector('.page-top .topic .topic__heading')
5998						: null;
5999				if (topicHeading) {
6000					var btnPrint = BX.create({
6001						tag: 'div',
6002						attrs: {
6003							class: 'print-link colored_theme_hover_bg-block',
6004							title: arAsproOptions['THEME']['EXPRESSION_FOR_PRINT_PAGE'],
6005						},
6006						html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-print" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path id="Rectangle_665_copy_4" data-name="Rectangle 665 copy 4" class="cls-print" d="M1570,210h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1570,210Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1556 -197)"></path></svg></i>',
6007					});
6008					BX.insertBefore(btnPrint, topicHeading);
6009				}
6010			}, 150);
6011		}
6012	}
6013	
6014	$(document).on('click', '.print-link', function () {
6015		window.print();
6016	});
6017	
6018	$('.head-block .item-link').on('click', function () {
6019		var _this = $(this);
6020		_this.siblings().removeClass('active');
6021		_this.addClass('active');
6022	});
6023	
6024	$('table.table').each(function () {
6025		var _this = $(this),
6026			first_td = _this.find('thead tr th');
6027		if (!first_td.length) first_td = _this.find('thead tr td');
6028		if (first_td.length) {
6029			var j = 0;
6030			_this.find('tbody tr td').each(function (i) {
6031				if (j > first_td.length - 1) j = 0;
6032				$('<div class="th-mobile">' + first_td[j].textContent + '</div>').appendTo($(this));
6033				j++;
6034			});
6035		}
6036	});
6037	
6038	if (window.matchMedia('(min-width: 768px)').matches) $('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
6039	
6040	if (window.matchMedia('(max-width: 767px)').matches) $('.wrapper_middle_menu.wrap_menu').addClass('mobile');
6041	
6042	$(document).on('click', '.menu_top_block .v_bottom a', function (e) {
6043		if ($(e.target).hasClass('toggle_block')) e.preventDefault();
6044	});
6045	$(document).on('click', '.menu_top_block .v_bottom a .toggle_block', function (e) {
6046		var _this = $(this),
6047			menu = _this.closest('.has-child').find('> .dropdown'),
6048			bVisibleMeu = menu.is(':visible'),
6049			animate = bVisibleMeu ? 'slideUp' : 'slideDown';
6050		
6051		if (!_this.hasClass('clicked')) {
6052			_this.addClass('clicked');
6053			
6054			menu.stop().slideToggle({
6055				duration: 150,
6056				start: function () {
6057					_this.toggleClass('closed');
6058				},
6059				complete: function () {
6060					_this.removeClass('clicked');
6061					
6062					if (typeof window['stickySidebar'] !== 'undefined') {
6063						window['stickySidebar'].updateSticky();
6064					}
6065				},
6066			});
6067		}
6068		
6069		$(this).closest('.has-child').toggleClass('opened');
6070	});
6071	
6072	$(document).on('click', '.show_props', function () {
6073		$(this).prev().stop().slideToggle(333);
6074		$(this).find('.char_title').toggleClass('opened');
6075	});
6076	
6077	$('.see_more').on('click', function (e) {
6078		e.preventDefault();
6079		var see_more = $(this).is('.see_more') ? $(this) : $(this).parents('.see_more').first();
6080		var see_moreText = see_more.find('> a').length ? see_more.find('> a') : see_more;
6081		var see_moreHiden = see_more.parent().find('> .d');
6082		if (see_more.hasClass('open')) {
6083			see_moreText.text(BX.message('CATALOG_VIEW_MORE'));
6084			see_more.removeClass('open');
6085			see_moreHiden.hide();
6086		} else {
6087			see_moreText.text(BX.message('CATALOG_VIEW_LESS'));
6088			see_more.addClass('open');
6089			see_moreHiden.show();
6090		}
6091		return false;
6092	});
6093	
6094	$('.button.faq_button').click(function (e) {
6095		e.preventDefault();
6096		$(this).toggleClass('opened');
6097		$('.faq_ask .form').slideToggle();
6098	});
6099	
6100	$('.staff.list .staff_section .staff_section_title a').click(function (e) {
6101		e.preventDefault();
6102		$(this).parents('.staff_section').toggleClass('opened');
6103		$(this).parents('.staff_section').find('.staff_section_items').stop().slideToggle(600);
6104		$(this).parents('.staff_section_title').find('.opener_icon').toggleClass('opened');
6105	});
6106	
6107	$('.jobs_wrapp .item .name').click(function (e) {
6108		$(this).closest('.item').toggleClass('opened');
6109		$(this).closest('.item').find('.description_wrapp').stop().slideToggle(600);
6110		$(this).closest('.item').find('.opener_icon').toggleClass('opened');
6111	});
6112	
6113	$('.faq.list .item .q a').on('click', function (e) {
6114		e.preventDefault();
6115		$(this).parents('.item').toggleClass('opened');
6116		$(this).parents('.item').find('.a').stop().slideToggle();
6117		$(this).parents('.item').find('.q .opener_icon').toggleClass('opened');
6118	});
6119	
6120	$('.opener_icon').click(function (e) {
6121		e.preventDefault();
6122		$(this).parent().find('a').trigger('click');
6123	});
6124	
6125	$('.more_block span').on('click', function () {
6126		var content_offset = $('.catalog_detail .tabs_section').offset();
6127		$('html, body').animate({ scrollTop: content_offset.top - 43 }, 400);
6128	});
6129	
6130	$(document).on('click', '.counter_block:not(.basket) .plus', function () {
6131		if (!$(this).parents('.basket_wrapp').length || $(this).parents('.services_in_basket').length) {
6132			if ($(this).parent().data('offers') != 'Y') {
6133				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
6134				input = $(this).parents('.counter_block').find('input[type=text]');
6135				(tmp_ratio = !isDetailSKU2
6136					? $(this).parents('.counter_wrapp').find('.to-cart').data('ratio')
6137					: $(this).parents('tr').first().find('td.buy .to-cart').data('ratio')),
6138					(isDblQuantity = !isDetailSKU2
6139						? $(this).parents('.counter_wrapp').find('.to-cart').data('float_ratio')
6140						: $(this).parents('tr').first().find('td.buy .to-cart').data('float_ratio')),
6141					(ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
6142					(max_value = '');
6143				currentValue = input.val();
6144				
6145				if (isDblQuantity)
6146					ratio =
6147						Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6148						arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6149				
6150				curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
6151				
6152				curValue += ratio;
6153				if (isDblQuantity) {
6154					curValue =
6155						Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6156						arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6157				}
6158				
6159				if (parseFloat($(this).data('max')) > 0) {
6160					if (input.val() < $(this).data('max')) {
6161						if (curValue <= $(this).data('max')) input.val(curValue);
6162						
6163						input.change();
6164					}
6165				} else {
6166					input.val(curValue);
6167					input.change();
6168				}
6169			}
6170		}
6171	});
6172	$(document).on('click', '.counter_block:not(.basket) .minus', function () {
6173		if (!$(this).parents('.basket_wrapp').length || $(this).parents('.services_in_basket').length) {
6174			if ($(this).parent().data('offers') != 'Y') {
6175				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
6176				input = $(this).parents('.counter_block').find('input[type=text]');
6177				(tmp_ratio = !isDetailSKU2
6178					? $(this).parents('.counter_wrapp').find('.to-cart').data('ratio')
6179					: $(this).parents('tr').first().find('td.buy .to-cart').data('ratio')),
6180					(isDblQuantity = !isDetailSKU2
6181						? $(this).parents('.counter_wrapp').find('.to-cart').data('float_ratio')
6182						: $(this).parents('tr').first().find('td.buy .to-cart').data('float_ratio')),
6183					(ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
6184					(max_value = '');
6185				currentValue = input.val();
6186				
6187				if (isDblQuantity)
6188					ratio =
6189						Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6190						arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6191				
6192				curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
6193				
6194				curValue -= ratio;
6195				if (isDblQuantity) {
6196					curValue =
6197						Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6198						arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6199				}
6200				const minValue = parseFloat($(this).parents('.counter_block').find('.minus').data('min'));
6201				if (minValue) {
6202					ratio = minValue;
6203				}
6204				
6205				if (parseFloat($(this).parents('.counter_block').find('.plus').data('max')) > 0) {
6206					if (currentValue > ratio) {
6207						if (curValue < ratio) {
6208							input.val(ratio);
6209						} else {
6210							input.val(curValue);
6211						}
6212						input.change();
6213					}
6214				} else {
6215					if (curValue > ratio) {
6216						input.val(curValue);
6217					} else {
6218						if (ratio) {
6219							input.val(ratio);
6220						} else if (currentValue > 1) {
6221							input.val(curValue);
6222						}
6223					}
6224					input.change();
6225				}
6226			}
6227		}
6228	});
6229	
6230	$('.counter_block input[type=text]').numeric({ allow: '.' });
6231	
6232	$(document).on('focus', '.counter_block input[type=text]', function (e) {
6233		$(this).addClass('focus');
6234	});
6235	
6236	$(document).on('blur', '.counter_block input[type=text]', function (e) {
6237		$(this).removeClass('focus');
6238	});
6239	
6240	var timerInitCalculateDelivery = false;
6241	$(document).on('change', '.counter_block input[type=text]', function (e) {
6242		if (!$(this).parents('.basket_wrapp').length) {
6243			var val = $(this).val(),
6244				tmp_ratio = $(this).parents('.counter_wrapp').find('.to-cart').data('ratio')
6245					? $(this).parents('.counter_wrapp').find('.to-cart').data('ratio')
6246					: $(this).parents('tr').first().find('td.buy .to-cart').data('ratio'),
6247				isDblQuantity = $(this).parents('.counter_wrapp').find('.to-cart').data('float_ratio')
6248					? $(this).parents('.counter_wrapp').find('.to-cart').data('float_ratio')
6249					: $(this).parents('tr').first().find('td.buy .to-cart').data('float_ratio'),
6250				ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10),
6251				diff = val % ratio;
6252			
6253			if (isDblQuantity) {
6254				ratio =
6255					Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6256					arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6257				if (
6258					Math.round(diff * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
6259					arAsproOptions.JS_ITEM_CLICK.precisionFactor ==
6260					ratio
6261				)
6262					diff = 0;
6263			}
6264			
6265			if ($(this).hasClass('focus')) {
6266				intCount =
6267					Math.round(
6268						Math.round((val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / ratio) /
6269						arAsproOptions.JS_ITEM_CLICK.precisionFactor
6270					) || 1;
6271				val = intCount <= 1 ? ratio : intCount * ratio;
6272				// val -= diff;
6273				val =
6274					Math.round(val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
6275			}
6276			
6277			if (parseFloat($(this).parents('.counter_block').find('.plus').data('max')) > 0) {
6278				if (val > parseFloat($(this).parents('.counter_block').find('.plus').data('max'))) {
6279					val = parseFloat($(this).parents('.counter_block').find('.plus').data('max'));
6280					// val -= (val % ratio);
6281				}
6282			}
6283			if (parseFloat($(this).parents('.counter_block').find('.minus').data('min')) > 0) {
6284				if (val < parseFloat($(this).parents('.counter_block').find('.minus').data('min'))) {
6285					val = parseFloat($(this).parents('.counter_block').find('.minus').data('min'));
6286					// val -= (val % ratio);
6287				}
6288			}
6289			if (val < ratio) {
6290				val = ratio;
6291			} else if (!parseFloat(val)) {
6292				val = 1;
6293			}
6294			
6295			$(this).parents('.counter_block').parent().parent().find('.to-cart').attr('data-quantity', val);
6296			$(this).parents('.counter_block').parent().parent().parent().find('.one_click').attr('data-quantity', val);
6297			$(this)
6298				.parents('.counter_block')
6299				.parent()
6300				.parent()
6301				.parent()
6302				.parent()
6303				.find('.one_click')
6304				.attr('data-quantity', val); //for offers in list
6305			$(this).parents('.catalog_item_wrapp').find('.inner_wrap.TYPE_1 .one_click').attr('data-quantity', val); //for first type buttons in catalog_block
6306			
6307			$(this).val(val);
6308			
6309			var $calculate = $(this).closest('.item').length
6310				? $(this).closest('.item').find('.calculate-delivery')
6311				: $(this).closest('.catalog_detail').find('.calculate-delivery');
6312			if ($calculate.length && !$(this).closest('.buy_services_wrap').length) {
6313				$calculate.each(function () {
6314					var $calculateSpan = $(this).find('span[data-event=jqm]').first();
6315					
6316					if ($calculateSpan.length) {
6317						var $clone = $calculateSpan.clone();
6318						$clone.attr('data-param-quantity', val).removeClass('clicked');
6319						$clone.insertAfter($calculateSpan).on('click', function () {
6320							if (!jQuery.browser.mobile) {
6321								$(this).parent().addClass('loadings');
6322							}
6323						});
6324						$calculateSpan.remove();
6325					}
6326					
6327					if ($(this).hasClass('with_preview')) {
6328						$(this).removeClass('inited');
6329						
6330						if (timerInitCalculateDelivery) {
6331							clearTimeout(timerInitCalculateDelivery);
6332						}
6333						
6334						timerInitCalculateDelivery = setTimeout(function () {
6335							initCalculatePreview(true);
6336							timerInitCalculateDelivery = false;
6337						}, 1000);
6338					}
6339				});
6340			}
6341			
6342			var eventdata = { type: 'change', params: { id: $(this), value: val } };
6343			BX.onCustomEvent('onCounterProductAction', [eventdata]);
6344			
6345			if ($(this).closest('.complect-block').length && typeof setNewPriceComplect === 'function') {
6346				setNewPriceComplect();
6347			}
6348		}
6349	});
6350	
6351	BX.addCustomEvent('onCounterProductAction', function (eventdata) {
6352		if (typeof eventdata != 'object') {
6353			eventdata = { type: 'undefined' };
6354		}
6355		try {
6356			if (typeof eventdata.type != 'undefined') {
6357				if (!eventdata.params.id.closest('.gifts').length) {
6358					// no gift
6359					var obProduct = eventdata.params.id.data('product');
6360					if (eventdata.params.id.closest('.has_offer_prop').length) {
6361						// type1 for offers in element list
6362						if (typeof window['obSkuQuantys'] === 'undefined') window['obSkuQuantys'] = {};
6363						
6364						// if(typeof window['obOffers'] === 'undefined')
6365						window['obSkuQuantys'][eventdata.params.id.closest('.offer_buy_block').find('.to-cart').data('item')] =
6366							eventdata.params.value;
6367					}
6368					if (typeof window[obProduct] == 'object') {
6369						if (obProduct == 'obOffers') setPriceAction('', '', 'Y');
6370						else window[obProduct].setPriceAction('Y');
6371						if ($('.detail_page').length) {
6372							setNewHeader();
6373						}
6374					} else if (eventdata.params.id.length) {
6375						if (
6376							eventdata.params.id.closest('.main_item_wrapper').length &&
6377							!eventdata.params.id.closest('.services-item__buy').length &&
6378							arAsproOptions['THEME']['SHOW_TOTAL_SUMM'] == 'Y'
6379						) {
6380							setPriceItem(eventdata.params.id.closest('.main_item_wrapper'), eventdata.params.value);
6381						}
6382					}
6383					BX.onCustomEvent('onCounterProductActionResize');
6384				}
6385			}
6386		} catch (e) {
6387			console.error(e);
6388		}
6389	});
6390	
6391	/*show basket on hover */
6392	// $(document).on("mouseenter", ".wrap_icon.top_basket, #headerfixed .basket-link.basket", function () {
6393	$(document).on('mouseenter', '.basket-link.basket', function () {
6394		var _this = $(this);
6395		var parent = _this.closest('header, #headerfixed');
6396		var hover_block = parent.find('.basket_hover_block');
6397		
6398		if (!hover_block.hasClass('loaded') || 1) {
6399			basketTop('', hover_block);
6400		}
6401	});
6402	
6403	/*show basket on click mobile */
6404	$(document).on('click', '.wrap_icon.wrap_basket.top_basket, #headerfixed .basket-link.basket', function (e) {
6405		var _this = $(this);
6406		if (isMobile) {
6407			if (!_this.hasClass('clicked')) {
6408				e.preventDefault();
6409				_this.addClass('clicked');
6410				setTimeout(function () {
6411					_this.removeClass('clicked');
6412				}, 3000);
6413			}
6414		}
6415	});
6416	
6417	/*slide cart*/
6418	$(document).on('mouseenter', '#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ', function () {
6419		$(this).closest('.basket_normal').find('.popup').addClass('block');
6420		$(this).closest('.basket_normal').find('.basket_popup_wrapp').stop(true, true).slideDown(150);
6421	});
6422	$(document).on('mouseleave', '#basket_line .basket_normal .basket_block ', function () {
6423		var th = $(this);
6424		$(this)
6425			.closest('.basket_normal')
6426			.find('.basket_popup_wrapp')
6427			.stop(true, true)
6428			.slideUp(150, function () {
6429				th.closest('.basket_normal').find('.popup').removeClass('block');
6430			});
6431	});
6432	
6433	$(document).on('click', '.popup_button_basket', function () {
6434		var th = $('.to-cart[data-item=' + $(this).data('item') + ']');
6435		
6436		var val = th.attr('data-quantity');
6437		
6438		if (!val) $val = 1;
6439		
6440		var tmp_props = th.data('props'),
6441			props = '',
6442			part_props = '',
6443			add_props = 'N',
6444			fill_prop = {},
6445			iblockid = th.data('iblockid'),
6446			offer = th.data('offers'),
6447			rid = '',
6448			basket_props = '',
6449			item = th.attr('data-item'),
6450			unsub = th.attr('data-unsub');
6451		
6452		if (offer != 'Y') {
6453			offer = 'N';
6454		} else {
6455			basket_props = th.closest('.prices_tab').find('.bx_sku_props input').val();
6456		}
6457		if (tmp_props) {
6458			props = tmp_props.split(';');
6459		}
6460		if (th.data('part_props')) {
6461			part_props = th.data('part_props');
6462		}
6463		if (th.data('add_props')) {
6464			add_props = th.data('add_props');
6465		}
6466		if ($('.rid_item').length) {
6467			rid = $('.rid_item').data('rid');
6468		} else if (th.data('rid')) {
6469			rid = th.data('rid');
6470		}
6471		
6472		fill_prop = fillBasketPropsExt(th, 'prop', 'bx_ajax_text');
6473		
6474		fill_prop.quantity = val;
6475		fill_prop.add_item = 'Y';
6476		fill_prop.rid = rid;
6477		fill_prop.offers = offer;
6478		fill_prop.iblockID = iblockid;
6479		fill_prop.part_props = part_props;
6480		fill_prop.add_props = add_props;
6481		fill_prop.props = JSON.stringify(props);
6482		fill_prop.item = item;
6483		fill_prop.basket_props = basket_props;
6484		fill_prop.unsub = unsub;
6485		
6486		var isDetail = th.closest('.product-action').length || th.closest('#headerfixed.with-product');
6487		var isSku2 = th.closest('.list-offers').length;
6488		var bIsService = th.closest('.buy_services_wrap').length;
6489		
6490		if (!bIsService && (isDetail || isSku2)) {
6491			//var allServicesOn = th.closest('.product-container').find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
6492			var allServicesOn = [];
6493			if (isSku2) {
6494				allServicesOn = th
6495					.closest('.product-container')
6496					.find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
6497			} else {
6498				allServicesOn = $('.product-container').find(
6499					'.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
6500				);
6501			}
6502			var servicesNeedAdd = [];
6503			allServicesOn.each(function () {
6504				var _this = $(this);
6505				var buttonCart = _this.closest('.services-item').find('.to-cart');
6506				
6507				servicesNeedAdd[buttonCart.data('item')] = {};
6508				servicesNeedAdd[buttonCart.data('item')]['id'] = buttonCart.data('item');
6509				servicesNeedAdd[buttonCart.data('item')]['quantity'] = buttonCart.attr('data-quantity');
6510				servicesNeedAdd[buttonCart.data('item')]['iblock_id'] = buttonCart.data('iblockid');
6511			});
6512			servicesNeedAdd = array_values_js(servicesNeedAdd);
6513			fill_prop.services = servicesNeedAdd;
6514		}
6515		
6516		$.ajax({
6517			type: 'POST',
6518			url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
6519			data: fill_prop,
6520			dataType: 'json',
6521			success: function (data) {
6522				$('.basket_error_frame').jqmHide();
6523				if ('STATUS' in data) {
6524					getActualBasket(fill_prop.iblockID);
6525					if (data.STATUS === 'OK') {
6526						th.hide();
6527						th.closest('.counter_wrapp').find('.counter_block_inner').hide();
6528						th.closest('.counter_wrapp').find('.counter_block').hide();
6529						th.parents('tr').find('.counter_block_wr .counter_block').hide();
6530						th.closest('.button_block').addClass('wide');
6531						th.parent().find('.in-cart').show();
6532						
6533						addBasketCounter(item);
6534						//$('.wish_item[data-item='+item+']').removeClass("added");
6535						$('.wish_item[data-item=' + item + ']')
6536							.find('.value')
6537							.show();
6538						$('.wish_item[data-item=' + item + ']')
6539							.find('.value.added')
6540							.hide();
6541						
6542						if ($('#ajax_basket').length) reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
6543						
6544						if ($('#basket_line .basket_fly').length) {
6545							if (th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches)
6546								basketFly('open', 'N');
6547							else basketFly('open');
6548						}
6549					} else {
6550						showBasketError(BX.message(data.MESSAGE));
6551					}
6552				} else {
6553					showBasketError(BX.message('CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR'));
6554				}
6555			},
6556		});
6557	});
6558	
6559	$(document).on('click', '.to-cart:not(.read_more), .basket_item_add', function (e) {
6560		e.preventDefault();
6561		var th = $(this);
6562		if (!th.hasClass('clicked')) {
6563			th.addClass('clicked');
6564			var val = $(this).attr('data-quantity');
6565			var tmp_props = $(this).data('props'),
6566				props = '',
6567				part_props = '',
6568				add_props = 'N',
6569				fill_prop = {},
6570				iblockid = $(this).data('iblockid'),
6571				offer = $(this).data('offers'),
6572				rid = '',
6573				bBannerAction = false,
6574				basket_props = '',
6575				item = $(this).attr('data-item'),
6576				unsub = th.attr('data-unsub');
6577			if (th.closest('.but-cell').length) {
6578				if ($('.counter_block[data-item="' + item + '"]').length)
6579					val = $('.counter_block[data-item="' + item + '"] input').val();
6580			}
6581			
6582			if (th.closest('.banner_buttons.with_actions').length) {
6583				//banner action
6584				var wrapper_btns = th.closest('.wraps_buttons');
6585				item = wrapper_btns.data('id');
6586				bBannerAction = true;
6587			}
6588			
6589			if (!val) val = 1;
6590			if (offer != 'Y') {
6591				offer = 'N';
6592			} else {
6593				basket_props = $(this).closest('.prices_tab').find('.bx_sku_props input').val();
6594			}
6595			if (tmp_props) {
6596				props = tmp_props.split(';');
6597			}
6598			if ($(this).data('part_props')) {
6599				part_props = $(this).data('part_props');
6600			}
6601			if ($(this).data('add_props')) {
6602				add_props = $(this).data('add_props');
6603			}
6604			if ($('.rid_item').length) {
6605				rid = $('.rid_item').data('rid');
6606			} else if ($(this).data('rid')) {
6607				rid = $(this).data('rid');
6608			}
6609			
6610			fill_prop = fillBasketPropsExt(th, 'prop', th.data('bakset_div'));
6611			
6612			fill_prop.quantity = val;
6613			fill_prop.add_item = 'Y';
6614			fill_prop.rid = rid;
6615			fill_prop.offers = offer;
6616			fill_prop.iblockID = iblockid;
6617			fill_prop.part_props = part_props;
6618			fill_prop.add_props = add_props;
6619			fill_prop.props = JSON.stringify(props);
6620			fill_prop.item = item;
6621			fill_prop.basket_props = basket_props;
6622			fill_prop.unsub = unsub;
6623			
6624			var isDetail = th.closest('.product-action').length || th.closest('#headerfixed.with-product');
6625			var isSku2 = th.closest('.list-offers').length;
6626			var bIsService = th.closest('.buy_services_wrap').length;
6627			
6628			if (!bIsService && (isDetail || isSku2)) {
6629				var allServicesOn = [];
6630				if (isSku2) {
6631					allServicesOn = th
6632						.closest('.product-container')
6633						.find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
6634				} else {
6635					allServicesOn = $('.product-container').find(
6636						'.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
6637					);
6638				}
6639				var servicesNeedAdd = [];
6640				allServicesOn.each(function () {
6641					var _this = $(this);
6642					var buttonCart = _this.closest('.services-item').find('.to-cart');
6643					servicesNeedAdd[buttonCart.data('item')] = {};
6644					servicesNeedAdd[buttonCart.data('item')]['id'] = buttonCart.data('item');
6645					servicesNeedAdd[buttonCart.data('item')]['quantity'] = buttonCart.attr('data-quantity');
6646					servicesNeedAdd[buttonCart.data('item')]['iblock_id'] = buttonCart.data('iblockid');
6647				});
6648				servicesNeedAdd = array_values_js(servicesNeedAdd);
6649				fill_prop.services = servicesNeedAdd;
6650			}
6651			
6652			var servicesWrap = $(this).closest('.buy_services_wrap');
6653			if (bIsService) {
6654				var parent_product = servicesWrap.attr('data-parent_product');
6655				fill_prop['prop[BUY_PRODUCT_PROP]'] = parent_product;
6656				fill_prop['prop[ASPRO_BUY_PRODUCT_ID]'] = parent_product;
6657			}
6658			
6659			if (bBannerAction) {
6660				if (th.hasClass('added')) {
6661					location.href = th.data('href');
6662					return false;
6663				} else {
6664					th.attr('title', th.data('title2'));
6665					th.toggleClass('added');
6666				}
6667				
6668				if (wrapper_btns.find('.wish_item_add').length) wrapper_btns.find('.wish_item_add').removeClass('added');
6669			}
6670			
6671			if (th.data('empty_props') == 'N' /* && fill_prop.part_props != 'Y'*/) {
6672				var basket_popup_html = $('#' + th.data('bakset_div')).html();
6673				if (!basket_popup_html && th.closest('.item').find('.basket_props_block').length)
6674					basket_popup_html = th.closest('.item').find('.basket_props_block').html();
6675				
6676				showBasketError(basket_popup_html, BX.message('ERROR_BASKET_PROP_TITLE'), 'Y', th);
6677				BX.addCustomEvent('onCompleteAction', function (e) {
6678					if (!e.ignoreSelf) {
6679						var eventdata = { action: 'loadForm', ignoreSelf: true };
6680						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
6681					}
6682				});
6683			} else {
6684				$.ajax({
6685					type: 'POST',
6686					url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
6687					data: fill_prop,
6688					dataType: 'json',
6689					success: function (data) {
6690						getActualBasket(fill_prop.iblockID);
6691						
6692						var eventdata = { action: 'loadForm' };
6693						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
6694						arStatusBasketAspro = {};
6695						
6696						if (data !== null) {
6697							if ('STATUS' in data) {
6698								if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = '';
6699								if (data.STATUS === 'OK') {
6700									// th.hide();
6701									$('.to-cart[data-item=' + item + ']').hide();
6702									$('.to-cart[data-item=' + item + ']')
6703										.closest('.counter_wrapp')
6704										.find('.counter_block_inner')
6705										.hide();
6706									$('.to-cart[data-item=' + item + ']')
6707										.closest('.counter_wrapp')
6708										.find('.counter_block')
6709										.hide();
6710									$('.to-cart[data-item=' + item + ']')
6711										.parents('tr')
6712										.find('.counter_block_wr .counter_block')
6713										.hide();
6714									$('.to-cart[data-item=' + item + ']')
6715										.closest('.button_block')
6716										.addClass('wide');
6717									// th.parent().find('.in-cart').show();
6718									$('.in-cart[data-item=' + item + ']').show();
6719									
6720									addBasketCounter(item);
6721									//$('.wish_item[data-item='+item+']').removeClass("added");
6722									$('.wish_item[data-item=' + item + ']')
6723										.find('.value')
6724										.show();
6725									$('.wish_item[data-item=' + item + ']')
6726										.find('.value.added')
6727										.hide();
6728									$('.wish_item.to[data-item=' + item + ']').show();
6729									$('.wish_item.in[data-item=' + item + ']').hide();
6730									
6731									//js notice
6732									$bDontOpenBasket = false;
6733									if (typeof JNoticeSurface !== 'undefined') {
6734										JNoticeSurface.get().onAdd2cart([th[0]]);
6735										$bDontOpenBasket = true;
6736									}
6737									//
6738									
6739									if ($('#ajax_basket').length) reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
6740									
6741									if ($('#basket_line .basket_fly').length) {
6742										if (th.closest('.services_in_basket').length && !window.matchMedia('(max-width: 767px)').matches) {
6743											basketFly('open', 'SHOW'); //need for buy services in basket_fly
6744										} else if (
6745											th.closest('.fast_view_frame').length ||
6746											window.matchMedia('(max-width: 767px)').matches ||
6747											$('#basket_line .basket_fly.loaded').length
6748										)
6749											basketFly('open', 'N');
6750										else {
6751											if ($bDontOpenBasket) basketFly('open', 'N');
6752											else basketFly('open');
6753										}
6754									}
6755									
6756									//need for services on basket_page
6757									if (th.closest('.services_in_basket_page').length) {
6758										BX.Sale.BasketComponent.sendRequest('refreshAjax', {
6759											fullRecalculation: 'Y',
6760											otherParams: {
6761												param: 'N',
6762											},
6763										});
6764									}
6765									
6766									if ($('.top_basket').length) {
6767										basketTop($bDontOpenBasket ? '' : 'open', $('.top_basket').find('.basket_hover_block'));
6768									}
6769									
6770									if (
6771										$('#headerfixed .wproducts .ajax_load .btn').length &&
6772										th.closest('.product-action').length &&
6773										!th.closest('.js-item-analog').length &&
6774										th.next('.in-cart').length
6775									) {
6776										var buttonHtml =
6777											//'<span class="buy_block"><span class="btn btn-default btn-sm slide_offer more type_block">' +
6778											'<span class="buy_block"><span class="btn btn-default btn-sm more type_block">' +
6779											th.next('.in-cart').html() +
6780											'</span></span>';
6781										$('#headerfixed .wproducts .ajax_load .item-buttons .but-cell').html(buttonHtml);
6782									}
6783								} else {
6784									showBasketError(BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT);
6785								}
6786							} else {
6787								showBasketError(BX.message('CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR'));
6788							}
6789						} else {
6790							// th.hide();
6791							$('.to-cart[data-item=' + item + ']').hide();
6792							$('.to-cart[data-item=' + item + ']')
6793								.closest('.counter_wrapp')
6794								.find('.counter_block_inner')
6795								.hide();
6796							$('.to-cart[data-item=' + item + ']')
6797								.closest('.counter_wrapp')
6798								.find('.counter_block')
6799								.hide();
6800							$('.to-cart[data-item=' + item + ']')
6801								.parents('tr')
6802								.find('.counter_block_wr .counter_block')
6803								.hide();
6804							$('.to-cart[data-item=' + item + ']')
6805								.closest('.button_block')
6806								.addClass('wide');
6807							// th.parent().find('.in-cart').show();
6808							$('.in-cart[data-item=' + item + ']').show();
6809							
6810							addBasketCounter(item);
6811							//$('.wish_item[data-item='+item+']').removeClass("added");
6812							$('.wish_item[data-item=' + item + ']')
6813								.find('.value')
6814								.show();
6815							$('.wish_item[data-item=' + item + ']')
6816								.find('.value.added')
6817								.hide();
6818							
6819							if ($('#ajax_basket').length) reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
6820							
6821							if ($('#basket_line .basket_fly').length) {
6822								if (
6823									th.closest('.fast_view_frame').length ||
6824									window.matchMedia('(max-width: 767px)').matches ||
6825									$('#basket_line .basket_fly.loaded').length
6826								)
6827									basketFly('open', 'N');
6828								else basketFly('open');
6829							}
6830						}
6831						
6832						updateBasketPreorders();
6833					},
6834				});
6835			}
6836		}
6837	});
6838	
6839	$(document).on('click', '.to-subscribe', function (e) {
6840		e.preventDefault();
6841		var th = $(this);
6842		if (!th.hasClass('clicked')) {
6843			th.addClass('clicked');
6844			if ($(this).is('.auth')) {
6845				if ($(this).hasClass('nsubsc')) {
6846					$(this).jqmEx();
6847					// $(this).trigger("click");
6848				} else {
6849					location.href = arAsproOptions['SITE_DIR'] + 'auth/?backurl=' + location.pathname;
6850				}
6851			} else {
6852				var item = $(this).attr('data-item'),
6853					iblockid = $(this).attr('data-iblockid');
6854				// $(this).hide();
6855				$('.to-subscribe[data-item=' + item + ']').hide();
6856				$('.to-subscribe[data-item=' + item + ']')
6857					.parent()
6858					.find('.in-subscribe')
6859					.show();
6860				$.get(
6861					arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
6862					$.proxy(function (data) {
6863						arStatusBasketAspro = {};
6864						getActualBasket(iblockid);
6865					})
6866				);
6867				th.removeClass('clicked');
6868			}
6869		}
6870	});
6871	
6872	$(document).on('click', '.in-subscribe', function (e) {
6873		e.preventDefault();
6874		var item = $(this).attr('data-item'),
6875			iblockid = $(this).attr('data-iblockid');
6876		// $(this).hide();
6877		$('.in-subscribe[data-item=' + item + ']').hide();
6878		$('.in-subscribe[data-item=' + item + ']')
6879			.parent()
6880			.find('.to-subscribe')
6881			.removeClass('clicked');
6882		$('.in-subscribe[data-item=' + item + ']')
6883			.parent()
6884			.find('.to-subscribe')
6885			.show();
6886		$.get(
6887			arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
6888			$.proxy(function (data) {
6889				getActualBasket(iblockid);
6890				arStatusBasketAspro = {};
6891			})
6892		);
6893	});
6894	
6895	$(document).on('click', '.wish_item, .wish_item_add', function (e) {
6896		e.preventDefault();
6897		var val = $(this).attr('data-quantity'),
6898			_this = $(this),
6899			offer = $(this).data('offers'),
6900			iblockid = $(this).data('iblock'),
6901			tmp_props = $(this).data('props'),
6902			props = '',
6903			bBannerAction = false,
6904			item = $(this).attr('data-item'),
6905			item2 = $(this).attr('data-item');
6906		
6907		if (_this.closest('.banner_buttons.with_actions').length) {
6908			//banner action
6909			var wrapper_btns = _this.closest('.wraps_buttons');
6910			item = item2 = wrapper_btns.data('id');
6911			bBannerAction = true;
6912		}
6913		
6914		if (!_this.hasClass('clicked')) {
6915			_this.addClass('clicked');
6916			if (!val) val = 1;
6917			if (offer != 'Y') offer = 'N';
6918			if (tmp_props) {
6919				props = tmp_props.split(';');
6920			}
6921			if (!$(this).hasClass('text')) {
6922				if ($(this).hasClass('added')) {
6923					if (!bBannerAction) {
6924						$(this).hide();
6925						$(this).closest('.wish_item_button').find('.to').show();
6926					}
6927					$('.like_icons').each(function () {
6928						if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) {
6929							$(this)
6930								.find('.wish_item.text[data-item="' + item + '"]')
6931								.removeClass('added');
6932							$(this)
6933								.find('.wish_item.text[data-item="' + item + '"]')
6934								.find('.value')
6935								.show();
6936							$(this)
6937								.find('.wish_item.text[data-item="' + item + '"]')
6938								.find('.value.added')
6939								.hide();
6940						}
6941						if ($(this).find('.wish_item_button').length) {
6942							/*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added');
6943              $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show();
6944              $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();*/
6945							$(this)
6946								.find('.wish_item_button')
6947								.find('.wish_item[data-item="' + item + '"].to')
6948								.show();
6949							$(this)
6950								.find('.wish_item_button')
6951								.find('.wish_item[data-item="' + item + '"].in')
6952								.hide();
6953						}
6954					});
6955				} else {
6956					if (!bBannerAction) {
6957						$(this).hide();
6958						$(this).closest('.wish_item_button').find('.in').addClass('added').show();
6959					}
6960					
6961					$('.like_icons').each(function () {
6962						if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) {
6963							$(this)
6964								.find('.wish_item.text[data-item="' + item + '"]')
6965								.addClass('added');
6966							$(this)
6967								.find('.wish_item.text[data-item="' + item + '"]')
6968								.find('.value')
6969								.hide();
6970							$(this)
6971								.find('.wish_item.text[data-item="' + item + '"]')
6972								.find('.value.added')
6973								.css({ display: 'block' });
6974						}
6975						if ($(this).find('.wish_item_button').length) {
6976							/*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added');
6977              $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide();
6978              $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();*/
6979							$(this)
6980								.find('.wish_item_button')
6981								.find('.wish_item[data-item="' + item + '"].to')
6982								.hide();
6983							$(this)
6984								.find('.wish_item_button')
6985								.find('.wish_item[data-item="' + item + '"].in')
6986								.show();
6987						}
6988					});
6989				}
6990			} else {
6991				if (!$(this).hasClass('added')) {
6992					$('.wish_item[data-item=' + item + ']').addClass('added');
6993					$('.wish_item[data-item=' + item + ']')
6994						.find('.value')
6995						.hide();
6996					$('.wish_item[data-item=' + item + ']')
6997						.find('.value.added')
6998						.css('display', 'block');
6999					
7000					$('.wish_item.to[data-item=' + item + ']').hide();
7001					$('.wish_item.in[data-item=' + item + ']').show();
7002					
7003					$('.like_icons').each(function () {
7004						if ($(this).find('.wish_item_button').length) {
7005							$(this)
7006								.find('.wish_item_button')
7007								.find('.wish_item[data-item="' + item + '"]')
7008								.addClass('added');
7009							$(this)
7010								.find('.wish_item_button')
7011								.find('.wish_item[data-item="' + item + '"]')
7012								.find('.value')
7013								.hide();
7014							$(this)
7015								.find('.wish_item_button')
7016								.find('.wish_item[data-item="' + item + '"]')
7017								.find('.value.added')
7018								.show();
7019						}
7020					});
7021				} else {
7022					$('.wish_item[data-item=' + item + ']').removeClass('added');
7023					$('.wish_item[data-item=' + item + ']')
7024						.find('.value')
7025						.show();
7026					$('.wish_item[data-item=' + item + ']')
7027						.find('.value.added')
7028						.hide();
7029					
7030					$('.wish_item.to[data-item=' + item + ']').show();
7031					$('.wish_item.in[data-item=' + item + ']').hide();
7032					
7033					$('.like_icons').each(function () {
7034						if ($(this).find('.wish_item_button').length) {
7035							$(this)
7036								.find('.wish_item_button')
7037								.find('.wish_item[data-item="' + item + '"]')
7038								.removeClass('added');
7039							$(this)
7040								.find('.wish_item_button')
7041								.find('.wish_item[data-item="' + item + '"]')
7042								.find('.value')
7043								.show();
7044							$(this)
7045								.find('.wish_item_button')
7046								.find('.wish_item[data-item="' + item + '"]')
7047								.find('.value.added')
7048								.hide();
7049						}
7050					});
7051				}
7052			}
7053			
7054			$('.in-cart[data-item=' + item + ']').hide();
7055			$('.to-cart[data-item=' + item + ']').removeClass('clicked');
7056			if (
7057				$('.to-cart[data-item=' + item + ']')
7058					.closest('.counter_wrapp')
7059					.find('.counter_block').length
7060			) {
7061				$('.to-cart[data-item=' + item + ']')
7062					.parent()
7063					.removeClass('wide');
7064			}
7065			if (
7066				!$('.counter_block[data-item=' + item + ']')
7067					.closest('.counter_wrapp')
7068					.find('.to-order').length
7069			) {
7070				$('.to-cart[data-item=' + item + ']').show();
7071				$('.counter_block[data-item=' + item + ']')
7072					.closest('.counter_block_inner')
7073					.show();
7074				$('.counter_block[data-item=' + item + ']').show();
7075			}
7076			
7077			if (bBannerAction) {
7078				_this.toggleClass('added');
7079				
7080				if (_this.hasClass('added')) _this.attr('title', _this.data('title2'));
7081				else _this.attr('title', _this.data('title'));
7082				
7083				if (wrapper_btns.find('.basket_item_add').length) wrapper_btns.find('.basket_item_add').removeClass('added');
7084			}
7085			
7086			if (!$(this).closest('.module-cart').length) {
7087				$.ajax({
7088					type: 'GET',
7089					url: arAsproOptions['SITE_DIR'] + 'ajax/item.php',
7090					data:
7091						'item=' +
7092						item2 +
7093						'&quantity=' +
7094						val +
7095						'&wish_item=Y' +
7096						'&offers=' +
7097						offer +
7098						'&iblockID=' +
7099						iblockid +
7100						'&props=' +
7101						JSON.stringify(props),
7102					dataType: 'json',
7103					success: function (data) {
7104						getActualBasket(iblockid);
7105						arStatusBasketAspro = {};
7106						if (data !== null) {
7107							if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = '';
7108							if ('STATUS' in data) {
7109								if (data.STATUS === 'OK') {
7110									// js notice
7111									$bDontOpenBasket = false;
7112									if (
7113										typeof JNoticeSurface !== 'undefined' &&
7114										((!bBannerAction && !_this.hasClass('added')) || (bBannerAction && _this.hasClass('added')))
7115									) {
7116										JNoticeSurface.get().onAdd2Delay([_this[0]]);
7117										$bDontOpenBasket = true;
7118									}
7119									//
7120									
7121									if (arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N') {
7122										var eventdata = { goal: 'goal_wish_add', params: { id: item2 } };
7123										BX.onCustomEvent('onCounterGoals', [eventdata]);
7124									}
7125									if ($('#ajax_basket').length) reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
7126									
7127									if ($('#basket_line .basket_fly').length) {
7128										if (
7129											_this.closest('.fast_view_frame').length ||
7130											window.matchMedia('(max-width: 767px)').matches ||
7131											$('#basket_line .basket_fly.loaded').length
7132										)
7133											basketFly('wish', 'N');
7134										else {
7135											if ($bDontOpenBasket) basketFly('wish', 'N');
7136											else basketFly('wish');
7137										}
7138									}
7139								} else {
7140									showBasketError(
7141										BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT,
7142										BX.message('ERROR_ADD_DELAY_ITEM')
7143									);
7144								}
7145							} else {
7146								showBasketError(
7147									BX.message(data.MESSAGE) + ' <br/>' + data.MESSAGE_EXT,
7148									BX.message('ERROR_ADD_DELAY_ITEM')
7149								);
7150							}
7151						} else {
7152							if ($('#ajax_basket').length) reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
7153							
7154							if ($('#basket_line .basket_fly').length) {
7155								if (
7156									_this.closest('.fast_view_frame').length ||
7157									window.matchMedia('(max-width: 767px)').matches ||
7158									$('#basket_line .basket_fly.loaded').length
7159								)
7160									basketFly('wish', 'N');
7161								else basketFly('wish');
7162							}
7163						}
7164						_this.removeClass('clicked');
7165					},
7166				});
7167			}
7168		}
7169	});
7170	
7171	$(document).on('click', '.item_main_info .item_slider .flex-direction-nav li span', function (e) {
7172		if ($('.inner_slider .slides_block').length) {
7173			if ($(this).parent().hasClass('flex-nav-next')) $('.inner_slider .slides_block li.current').next().click();
7174			else $('.inner_slider .slides_block li.current').prev().click();
7175		}
7176	});
7177	
7178	$(document).on('click', '.compare_item, .compare_item_add', function (e) {
7179		e.preventDefault();
7180		var item = $(this).attr('data-item');
7181		var iblockID = $(this).attr('data-iblock'),
7182			bBannerAction = false,
7183			th = $(this);
7184		
7185		if (th.closest('.banner_buttons.with_actions').length) {
7186			//banner action
7187			var wrapper_btns = th.closest('.wraps_buttons');
7188			item = wrapper_btns.data('id');
7189			iblockID = wrapper_btns.data('iblockid');
7190			bBannerAction = true;
7191			
7192			th.toggleClass('added');
7193			
7194			if (th.hasClass('added')) th.attr('title', th.data('title2'));
7195			else th.attr('title', th.data('title'));
7196		}
7197		
7198		if (!th.hasClass('clicked')) {
7199			th.addClass('clicked');
7200			if (!$(this).hasClass('text')) {
7201				if ($(this).hasClass('added')) {
7202					if (!bBannerAction) {
7203						$(this).hide();
7204						$(this).closest('.compare_item_button').find('.to').show();
7205					}
7206					
7207					/*sync other button*/
7208					$('.like_icons').each(function () {
7209						if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) {
7210							$(this)
7211								.find('.compare_item.text[data-item="' + item + '"]')
7212								.removeClass('added');
7213							$(this)
7214								.find('.compare_item.text[data-item="' + item + '"]')
7215								.find('.value')
7216								.show();
7217							$(this)
7218								.find('.compare_item.text[data-item="' + item + '"]')
7219								.find('.value.added')
7220								.hide();
7221						}
7222						if ($(this).find('.compare_item_button').length) {
7223							/*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added');
7224              $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show();
7225              $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();*/
7226							$(this)
7227								.find('.compare_item_button')
7228								.find('.compare_item[data-item="' + item + '"].in')
7229								.hide();
7230							$(this)
7231								.find('.compare_item_button')
7232								.find('.compare_item[data-item="' + item + '"].to')
7233								.show();
7234						}
7235					});
7236				} else {
7237					if (!bBannerAction) {
7238						$(this).hide();
7239						$(this).closest('.compare_item_button').find('.in').show();
7240					}
7241					
7242					/*sync other button*/
7243					$('.like_icons').each(function () {
7244						if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) {
7245							$(this)
7246								.find('.compare_item.text[data-item="' + item + '"]')
7247								.addClass('added');
7248							$(this)
7249								.find('.compare_item.text[data-item="' + item + '"]')
7250								.find('.value')
7251								.hide();
7252							$(this)
7253								.find('.compare_item.text[data-item="' + item + '"]')
7254								.find('.value.added')
7255								.css({ display: 'block' });
7256						}
7257						if ($(this).find('.compare_item_button').length) {
7258							/*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added');
7259              $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show();
7260              $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();*/
7261							$(this)
7262								.find('.compare_item_button')
7263								.find('.compare_item[data-item="' + item + '"].to')
7264								.hide();
7265							$(this)
7266								.find('.compare_item_button')
7267								.find('.compare_item[data-item="' + item + '"].in')
7268								.show();
7269						}
7270					});
7271				}
7272			} else {
7273				if (!$(this).hasClass('added')) {
7274					$('.compare_item[data-item=' + item + ']').addClass('added');
7275					$('.compare_item[data-item=' + item + ']')
7276						.find('.value')
7277						.hide();
7278					$('.compare_item[data-item=' + item + ']')
7279						.find('.value.added')
7280						.css('display', 'block');
7281					
7282					/*sync other button*/
7283					$('.like_icons').each(function () {
7284						if ($(this).find('.compare_item_button').length) {
7285							$(this)
7286								.find('.compare_item_button')
7287								.find('.compare_item[data-item="' + item + '"]')
7288								.addClass('added');
7289							$(this)
7290								.find('.compare_item_button')
7291								.find('.compare_item[data-item="' + item + '"]')
7292								.find('.value.added')
7293								.show();
7294							$(this)
7295								.find('.compare_item_button')
7296								.find('.compare_item[data-item="' + item + '"]')
7297								.find('.value')
7298								.hide();
7299						}
7300					});
7301				} else {
7302					$('.compare_item[data-item=' + item + ']').removeClass('added');
7303					$('.compare_item[data-item=' + item + ']')
7304						.find('.value')
7305						.show();
7306					$('.compare_item[data-item=' + item + ']')
7307						.find('.value.added')
7308						.hide();
7309					
7310					/*sync other button*/
7311					$('.like_icons').each(function () {
7312						if ($(this).find('.compare_item_button').length) {
7313							$(this)
7314								.find('.compare_item_button')
7315								.find('.compare_item[data-item="' + item + '"]')
7316								.removeClass('added');
7317							$(this)
7318								.find('.compare_item_button')
7319								.find('.compare_item[data-item="' + item + '"]')
7320								.find('.value')
7321								.show();
7322							$(this)
7323								.find('.compare_item_button')
7324								.find('.compare_item[data-item="' + item + '"]')
7325								.find('.value.added')
7326								.hide();
7327						}
7328					});
7329				}
7330			}
7331			
7332			$.get(
7333				arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&compare_item=Y&iblock_id=' + iblockID,
7334				$.proxy(function (data) {
7335					getActualBasket(iblockID, 'Compare');
7336					arStatusBasketAspro = {};
7337					
7338					// js notice
7339					if (
7340						typeof JNoticeSurface !== 'undefined' &&
7341						((!bBannerAction && !th.hasClass('added')) || (bBannerAction && th.hasClass('added')))
7342					) {
7343						JNoticeSurface.get().onAdd2Compare([th[0]]);
7344					}
7345					//
7346					
7347					if ($('#compare_fly').length) {
7348						jsAjaxUtil.InsertDataToNode(
7349							arAsproOptions['SITE_DIR'] + 'ajax/show_compare_preview_fly.php',
7350							'compare_fly',
7351							false
7352						);
7353					}
7354					th.removeClass('clicked');
7355				})
7356			);
7357		}
7358	});
7359	
7360	$(document).on('click', '.tabs>li', function () {
7361		var parent = $(this).parent();
7362		if (!$(this).hasClass('active')) {
7363			var sliderIndex = $(this).index(),
7364				curLiNav = $(this)
7365					.closest('.top_block')
7366					.find('.slider_navigation')
7367					.find('>li:eq(' + sliderIndex + ')'),
7368				curLi = $(this)
7369					.closest('.top_block')
7370					.siblings('.tabs_content')
7371					.find('>li:eq(' + sliderIndex + ')');
7372			$(this).addClass('active').addClass('cur').siblings().removeClass('active').removeClass('cur');
7373			curLi.addClass('cur').siblings().removeClass('cur');
7374			curLiNav.addClass('cur').siblings().removeClass('cur');
7375			
7376			if (parent.hasClass('ajax')) {
7377				// front tabs
7378				if (!$(this).hasClass('clicked')) {
7379					$.ajax({
7380						url: arAsproOptions['SITE_DIR'] + 'include/mainpage/comp_catalog_ajax.php',
7381						type: 'POST',
7382						data: {
7383							AJAX_POST: 'Y',
7384							FILTER_HIT_PROP: $(this).data('code'),
7385							AJAX_PARAMS: $(this).closest('.tab_slider_wrapp').find('.request-data').data('value'),
7386							GLOBAL_FILTER: curLi.data('filter'),
7387						},
7388						success: function (html) {
7389							curLi.find('.tabs_slider').html(html);
7390							var container = curLi.closest('.content_wrapper_block');
7391							if (container.length) {
7392								var bNav = curLi.find('.bottom_nav .module-pagination').length > 0;
7393								if (bNav) {
7394									container.removeClass('without-border');
7395								} else {
7396									container.addClass('without-borded');
7397								}
7398							}
7399							setTimeout(function () {
7400								curLi.addClass('opacity1');
7401							}, 100);
7402						},
7403					});
7404					$(this).addClass('clicked');
7405				} else {
7406					var container = curLi.closest('.content_wrapper_block');
7407					if (container.length) {
7408						var bNav = curLi.find('.bottom_nav .module-pagination').length > 0;
7409						if (bNav) {
7410							container.removeClass('without-border');
7411						} else {
7412							container.addClass('without-borded');
7413						}
7414					}
7415				}
7416			}
7417			
7418			var eventdata = { index: sliderIndex, target: $(this) };
7419			BX.onCustomEvent('clickedTabsLi', [eventdata]);
7420		}
7421	});
7422	
7423	/*search click*/
7424	$('.search_block .icon').on('click', function () {
7425		var th = $(this);
7426		if ($(this).hasClass('open')) {
7427			$(this).closest('.center_block').find('.search_middle_block').removeClass('active');
7428			$(this).removeClass('open');
7429			$(this).closest('.center_block').find('.search_middle_block').find('.noborder').hide();
7430		} else {
7431			setTimeout(function () {
7432				th.closest('.center_block').find('.search_middle_block').find('.noborder').show();
7433			}, 100);
7434			$(this).closest('.center_block').find('.search_middle_block').addClass('active');
7435			$(this).addClass('open');
7436		}
7437	});
7438	
7439	$(document).on('click', '.no_goods .button', function () {
7440		$('.bx_filter .smartfilter .bx_filter_search_reset').trigger('click');
7441	});
7442	
7443	$(document).on('click', '.js-load-link', function (e) {
7444		AjaxClickLink(e);
7445	});
7446	
7447	$(document).on('click', '.svg-inline-bottom_nav-icon', function () {
7448		$(this).next().trigger('click');
7449	});
7450	$(document).on('click', '.ajax_load_btn', function () {
7451		var _this = $(this),
7452			url = _this.closest('.container').find('.module-pagination .flex-direction-nav .flex-next').attr('href'),
7453			th = _this.find('.more_text_ajax'),
7454			bottom_nav = _this.closest('.bottom_nav'),
7455			mobileBottomNav = bottom_nav.hasClass('mobile_slider'),
7456			bLoadingState = _this.closest('.animate-load-state').length;
7457		
7458		if (!th.hasClass('loading')) {
7459			th.addClass('loading');
7460			if (mobileBottomNav) {
7461				var icon = bottom_nav.find('.svg-inline-bottom_nav-icon');
7462				icon.css('display', 'none');
7463			}
7464			if (bLoadingState) _this.addClass('loadings');
7465			
7466			var objUrl = parseUrlQuery(),
7467				add_url = '';
7468			obGetData = { ajax_get: 'Y', AJAX_REQUEST: 'Y' };
7469			
7470			if (_this.closest('.wrapper_inner.front').length) {
7471				//index page
7472				var class_block = th.closest('.drag-block').data('class').replace('_drag', '');
7473				class_block = class_block.replace(/\s/g, '');
7474				obGetData.BLOCK = class_block;
7475			}
7476			
7477			if (_this.closest('.tab').length) {
7478				//tabs block
7479				var parentTab = th.closest('.tab');
7480				obGetData.FILTER_HIT_PROP = parentTab.data('code');
7481				obGetData.GLOBAL_FILTER = parentTab.data('filter');
7482				url = _this.closest('.bottom_nav').find('.module-pagination .flex-direction-nav .flex-next').attr('href');
7483			}
7484			
7485			if (_this.closest('.content_linked_goods').length) {
7486				//linked_goods block in content
7487				var filterSections = th.closest('.content_linked_goods').attr('data-sections-ids');
7488				obGetData.ajax_section_id = decodeURIComponent(filterSections);
7489				
7490				url = _this.closest('.bottom_nav').find('.module-pagination .flex-direction-nav .flex-next').attr('href');
7491			}
7492			
7493			if ('clear_cache' in objUrl) {
7494				if (objUrl.clear_cache == 'Y') add_url = '&clear_cache=Y';
7495			}
7496			if (_this.hasClass('ajax')) obGetData.ajax = 'y';
7497			
7498			if (th.closest('.goods-block.ajax_load')) obGetData.bitrix_include_areas = 'N';
7499			
7500			if (_this.closest('.nav-data_block').length) {
7501				//need data-block
7502				obGetData.data_block = _this.closest('.nav-data_block').attr('data-block');
7503				obGetData.pagen_data_block = 'Y';
7504				url = _this.closest('.bottom_nav').find('.module-pagination .flex-direction-nav .flex-next').attr('href');
7505			}
7506			
7507			$.ajax({
7508				url: url + add_url,
7509				data: obGetData,
7510				success: function (html) {
7511					pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this);
7512				},
7513				error: function (html) {
7514					pasteAjaxPagination(html.responseText, th, bottom_nav, bLoadingState, _this);
7515				},
7516			});
7517		}
7518	});
7519	
7520	function pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this) {
7521		var mobileBottomClicked = bottom_nav.hasClass('mobile_slider');
7522		var hasMobileBottomNav = $(html).find('.bottom_nav.mobile_slider');
7523		var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find('.bottom_nav');
7524		var bottomNavHtml = bottomNav.html();
7525		var bottomNavScrollClass = bottomNav.data('scroll-class');
7526		var hasBottomNav = $(html).find('.ajax_load_btn').length;
7527		
7528		if (th.closest('.ajax_load').length && !mobileBottomClicked) {
7529			th.removeClass('loading');
7530			if (th.closest('.ajax_load').find('.js_append').length) {
7531				if (_this.closest('.catalog_in_content').length) {
7532					th.closest('.ajax_load').find('.js_append').append($('.inner_wrapper .js_wrapper_items>', html)); //need for brands & landings
7533				} else if (_this.closest('.catalog.search').length) {
7534					th.closest('.ajax_load').find('.js_append').append($('.js_append>', html));
7535				} else {
7536					th.closest('.ajax_load').find('.js_append').append(html);
7537				}
7538				th.closest('.ajax_load').find('.bottom_nav_wrapper').remove();
7539			} else {
7540				if ($('.display_list').length) {
7541					$('.display_list').append(html);
7542					th.closest('.display_list').find('.bottom_nav_wrapper').remove();
7543				} else if ($('.block_list').length) {
7544					$('.block_list').append(html);
7545					touchItemBlock('.catalog_item a');
7546					th.closest('.block_list').find('.bottom_nav_wrapper').remove();
7547				} else if ($('.module_products_list').length) {
7548					$('.module_products_list > tbody').append(html);
7549					th.closest('.module_products_list > tbody').find('.bottom_nav_wrapper').remove();
7550				}
7551			}
7552			
7553			setStatusButton();
7554			checkLinkedArticles();
7555			checkLinkedBlocks('.linked-banners-list');
7556			
7557			var eventdata = { action: 'ajaxContentLoadedTab' };
7558			BX.onCustomEvent('onAjaxSuccess', [eventdata]);
7559			_this.closest('.bottom_nav').html(bottomNavHtml);
7560		} else {
7561			var eventdata = { action: 'ajaxContentLoaded' };
7562			
7563			if ($('.banners-small.front').length) {
7564				$('.banners-small .items.row').append(html);
7565				$('.bottom_nav').html($('.banners-small .items.row .bottom_nav').html());
7566				$('.banners-small .items.row .bottom_nav').remove();
7567				if (hasBottomNav) {
7568					$('.banners-small .items.row').addClass('has-bottom-nav');
7569				} else {
7570					$('.banners-small .items.row').removeClass('has-bottom-nav');
7571				}
7572			} else {
7573				if (bottom_nav.data('append') !== undefined && bottom_nav.data('parent') !== undefined) {
7574					var target = html;
7575					if (bottom_nav.data('target') !== undefined) {
7576						target = $(html).find(bottom_nav.data('target'));
7577					}
7578					if (mobileBottomClicked || hasMobileBottomNav.length) {
7579						var mobileSliderNav = th.closest(bottom_nav.data('parent')).find('.bottom_nav.mobile_slider');
7580						if (mobileSliderNav.length) {
7581							mobileSliderNav.before(target);
7582						} else {
7583							bottom_nav.before(target);
7584						}
7585					} else {
7586						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).append(target);
7587					}
7588					th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).find('.bottom_nav_wrapper').remove();
7589					
7590					if (hasBottomNav) {
7591						if (bottomNavScrollClass !== undefined) {
7592							th.closest(bottom_nav.data('parent')).find(bottomNavScrollClass).addClass('has-bottom-nav');
7593						}
7594						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).addClass('has-bottom-nav');
7595					} else {
7596						if (bottomNavScrollClass !== undefined) {
7597							th.closest(bottom_nav.data('parent')).find(bottomNavScrollClass).removeClass('has-bottom-nav');
7598						}
7599						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).removeClass('has-bottom-nav');
7600					}
7601					
7602					bottom_nav = th.closest(bottom_nav.data('parent')).find('.bottom_nav');
7603					bottom_nav.html(bottomNavHtml);
7604					var icon = bottom_nav.find('.svg-inline-bottom_nav-icon');
7605					icon.css('display', '');
7606					
7607					eventdata.container = th.closest(bottom_nav.data('parent'));
7608				} else {
7609					if (th.closest('.item-views').find('.items').length) {
7610						th.closest('.item-views').find('.items').append(html);
7611					} else {
7612						$(html).insertBefore($('.blog .bottom_nav'));
7613					}
7614					
7615					bottom_nav.html($('.bottom_nav:hidden').html());
7616					if (hasBottomNav) {
7617						th.closest('.item-views').find('.items').addClass('has-bottom-nav');
7618					} else {
7619						th.closest('.item-views').find('.items').removeClass('has-bottom-nav');
7620					}
7621					_this.closest('.item-views').find('.bottom_nav:hidden').remove();
7622				}
7623			}
7624			
7625			eventdata.content = html;
7626			eventdata.container = th;
7627			BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
7628			
7629			setTimeout(function () {
7630				$('.banners-small .item.normal-block').sliceHeight({ resize: false });
7631				if ($('.item.slice-item').length) {
7632					$('.item.slice-item .title').sliceHeight({ resize: false });
7633					$('.item.slice-item').sliceHeight({ resize: false });
7634				}
7635				th.removeClass('loading');
7636				if (bLoadingState) _this.removeClass('loadings');
7637			}, 100);
7638		}
7639		BX.onCustomEvent('onHeaderProgressBarChange', [{}]);
7640		// initCountdown();
7641	}
7642	
7643	// form rating
7644	$(document).on('mouseenter', '.form .votes_block.with-text .item-rating', function () {
7645		var $this = $(this),
7646			index = $this.index(),
7647			ratingValue = $this.data('rating_value'),
7648			ratingMessage = $this.data('message');
7649		
7650		$(this).addClass('filed');
7651		$this.siblings().each(function () {
7652			if ($(this).index() <= index) $(this).addClass('filed');
7653			else $(this).removeClass('filed');
7654		});
7655		$this.closest('.votes_block').find('.rating_message').text(ratingMessage);
7656	});
7657	
7658	$(document).on('mouseleave', '.form .votes_block.with-text', function () {
7659		var $this = $(this),
7660			index = $this.data('rating'),
7661			ratingMessage = $this.closest('.votes_block').find('.rating_message').data('message');
7662		
7663		$this.find('.item-rating').each(function () {
7664			if ($(this).index() < index && index !== undefined) $(this).addClass('filed');
7665			else $(this).removeClass('filed');
7666		});
7667		$this.closest('.votes_block').find('.rating_message').text(ratingMessage);
7668	});
7669	
7670	$(document).on('click', '.form .votes_block.with-text .item-rating', function () {
7671		var $this = $(this),
7672			rating = $this.closest('.votes_block').data('rating'),
7673			index = $this.index() + 1,
7674			ratingMessage = $this.data('message');
7675		
7676		$this.closest('.votes_block').data('rating', index);
7677		if ($this.closest('.form-control').find('input[name=RATING]').length) {
7678			$this.closest('.form-control').find('input[name=RATING]').val(index);
7679		} else {
7680			$this.closest('.form-control').find('input[data-sid=RATING]').val(index);
7681		}
7682		$this.closest('.votes_block').find('.rating_message').data('message', ratingMessage);
7683		
7684		$this.closest('.form').find('.error').remove();
7685	});
7686	
7687	$(document).on('paste, change, keyup', '.form.blog-comment-fields input[required]', function () {
7688		let value = $(this).val();
7689		
7690		if (value.length) {
7691			$(this).closest('.form-group').find('label.error').remove();
7692		}
7693	});
7694	
7695	//set cookie for basket link click
7696	$(document).on(
7697		'click',
7698		'.bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]',
7699		function (e) {
7700			$.removeCookie('click_basket', { path: '/' });
7701			$.cookie('click_basket', 'Y', { path: '/' });
7702		}
7703	);
7704	
7705	$(document).on('click', '.bx_compare .tabs-head li', function () {
7706		var url = $(this).find('.sortbutton').data('href');
7707		BX.showWait(BX('bx_catalog_compare_block'));
7708		$.ajax({
7709			url: url,
7710			data: { ajax_action: 'Y' },
7711			success: function (html) {
7712				history.pushState(null, null, url);
7713				$('#bx_catalog_compare_block').html(html);
7714				BX.closeWait();
7715			},
7716		});
7717	});
7718	var hoveredTrs;
7719	$(document).on(
7720		{
7721			mouseover: function (e) {
7722				var _ = $(this);
7723				var tbodyIndex = _.closest('tbody').index() + 1; //+1 for nth-child
7724				var trIndex = _.index() + 1; // +1 for nth-child
7725				hoveredTrs = $(e.delegateTarget)
7726					.find('.data_table_props')
7727					.children(':nth-child(' + tbodyIndex + ')')
7728					.children(':nth-child(' + trIndex + ')')
7729					.addClass('hovered');
7730			},
7731			mouseleave: function (e) {
7732				if (hoveredTrs) hoveredTrs.removeClass('hovered');
7733			},
7734		},
7735		'.bx_compare .data_table_props tbody>tr'
7736	);
7737	$(document).on('click', '.fancy_zoom', function (e) {
7738		e.preventDefault();
7739		var arPict = [],
7740			index = 0;
7741		$(this)
7742			.closest('.product-detail-gallery__container')
7743			.find('.product-detail-gallery__thmb-container .product-detail-gallery__item')
7744			.each(function () {
7745				var obImg = {};
7746				obImg = {
7747					src: $(this).data('big'),
7748					thumb: $(this).find('img').data('src') || $(this).find('.img').attr('src'),
7749					// opts: {
7750					//   caption: $(this).find("img").attr("alt"),
7751					// },
7752				};
7753				if ($(this).parent().hasClass('current')) {
7754					index = $(this).parent().index();
7755				}
7756				arPict.push(obImg);
7757			});
7758		if (!arPict.length) {
7759			arPict.push({
7760				src: $(this).closest('.product-detail-gallery__container').find('.zoom_picture').data('xoriginal'),
7761			});
7762		}
7763		if (typeof $.fn.fancybox !== 'function') {
7764			return;
7765		}
7766		$.fancybox.open(
7767			arPict,
7768			{
7769				tpl: {
7770					closeBtn:
7771						'<span title="' +
7772						BX.message('FANCY_CLOSE') +
7773						'" class="fancybox-item fancybox-close inline svg"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>',
7774					next:
7775						'<a title="' +
7776						BX.message('FANCY_NEXT') +
7777						'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
7778					prev:
7779						'<a title="' +
7780						BX.message('FANCY_PREV') +
7781						'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
7782				},
7783				btnTpl: {
7784					close:
7785						'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
7786						'<i class="svg"><svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg></i>' +
7787						'</button>',
7788					
7789					arrowLeft:
7790						'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
7791						'<div><i class="svg left"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13L0.585787 14.4142C-0.195262 13.6332 -0.195262 12.3668 0.585787 11.5858L2 13ZM11.5858 0.585786C12.3668 -0.195262 13.6332 -0.195262 14.4142 0.585786C15.1953 1.36683 15.1953 2.63317 14.4142 3.41421L11.5858 0.585786ZM14.4142 22.5858C15.1953 23.3668 15.1953 24.6332 14.4142 25.4142C13.6332 26.1953 12.3668 26.1953 11.5858 25.4142L14.4142 22.5858ZM0.585787 11.5858L11.5858 0.585786L14.4142 3.41421L3.41421 14.4142L0.585787 11.5858ZM3.41421 11.5858L14.4142 22.5858L11.5858 25.4142L0.585787 14.4142L3.41421 11.5858Z" fill="#999999"/></svg></i></div>' +
7792						'</button>',
7793					
7794					arrowRight:
7795						'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
7796						'<div><i class="svg right"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 13L14.4142 14.4142C15.1953 13.6332 15.1953 12.3668 14.4142 11.5858L13 13ZM3.41421 0.585786C2.63317 -0.195262 1.36683 -0.195262 0.585786 0.585786C-0.195262 1.36683 -0.195262 2.63317 0.585786 3.41421L3.41421 0.585786ZM0.585786 22.5858C-0.195262 23.3668 -0.195262 24.6332 0.585786 25.4142C1.36683 26.1953 2.63317 26.1953 3.41421 25.4142L0.585786 22.5858ZM14.4142 11.5858L3.41421 0.585786L0.585786 3.41421L11.5858 14.4142L14.4142 11.5858ZM11.5858 11.5858L0.585786 22.5858L3.41421 25.4142L14.4142 14.4142L11.5858 11.5858Z" fill="white"/></svg></i></div>' +
7797						'</button>',
7798				},
7799				touch: 'enabled',
7800				loop: false,
7801				buttons: [
7802					// "zoom",
7803					//"share",
7804					// "slideShow",
7805					//"fullScreen",
7806					//"download",
7807					// "thumbs",
7808					'close',
7809				],
7810				thumbs: {
7811					autoStart: true,
7812				},
7813				onActivate: function (instance) {
7814					InitFancyboxThumbnailsGallery(instance);
7815				},
7816				beforeShow: function (instance, current) {
7817					if ($('.fancybox-thumbs .swiper').length) {
7818						const swiper = $('.fancybox-thumbs .swiper').data('swiper');
7819						swiper.slideTo(current.index);
7820					}
7821				},
7822			},
7823			index
7824		);
7825	});
7826	
7827	/*tabs*/
7828	$('.tabs_section .tabs-head li').on('click', function () {
7829		if (!$(this).is('.current')) {
7830			$('.tabs_section .tabs-head li').removeClass('current');
7831			$(this).addClass('current');
7832			$('.tabs_section ul.tabs_content li').removeClass('current');
7833			if ($(this).attr('id') == 'product_reviews_tab') {
7834				$('.shadow.common').hide();
7835				$('#reviews_content').show();
7836			} else {
7837				$('.shadow.common').show();
7838				$('#reviews_content').hide();
7839				$('.tabs_section ul.tabs_content > li:eq(' + $(this).index() + ')').addClass('current');
7840			}
7841		}
7842	});
7843	
7844	/*open first section slide*/
7845	setTimeout(function () {
7846		$('.jobs_wrapp .item:first .name tr').trigger('click');
7847	}, 300);
7848	
7849	$('.choise').on('click', function () {
7850		var _this = $(this);
7851		if (typeof _this.attr('data-block') != 'undefined') {
7852			if ($(_this.attr('data-block')).closest('.tab-pane').length) {
7853				$('.ordered-block a[href="#' + $(_this.attr('data-block')).closest('.tab-pane').attr('id') + '"]').click();
7854				_this.data('block', '.ordered-block.tabs-block');
7855				$(_this.data('block')).data('offset', -100);
7856			} else {
7857				$(_this.data('block')).data('offset', -100);
7858			}
7859			scrollToBlock(_this.data('block'));
7860		}
7861	});
7862	
7863	$(document).on('click', '.buy_block .slide_offer', function () {
7864		scroll_block($('.js-offers-scroll'));
7865	});
7866	$('.share  > .share_wrapp .text').on('click', function () {
7867		var block = $(this).parent().find('.shares');
7868		if (!block.is(':visible') && !$(this).closest('.share.top').length) $('#content').css('z-index', 3);
7869		block.fadeToggle(100, function () {
7870			if (!block.is(':visible')) $('#content').css('z-index', 2);
7871		});
7872	});
7873	$('html, body').on('mousedown', function (e) {
7874		if (typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0) {
7875			e.stopPropagation();
7876			$('div.shares').fadeOut(100, function () {
7877				$('#content').css('z-index', 2);
7878				$('.price_txt .share_wrapp').removeClass('opened');
7879			});
7880			$('.search_middle_block').removeClass('active_wide');
7881		}
7882	});
7883	$('.share_wrapp')
7884		.find('*')
7885		.on('mousedown', function (e) {
7886			e.stopPropagation();
7887		});
7888	
7889	$('.price_txt .share_wrapp .text').click(function () {
7890		$(this).parent().toggleClass('opened');
7891		$(this).parent().find('.shares').fadeToggle();
7892	});
7893	
7894	$(document).on('click', '.reviews-collapse-link', function () {
7895		$('.reviews-reply-form').slideToggle();
7896	});
7897	
7898	/* accordion action*/
7899	$('.panel-collapse').on('hidden.bs.collapse', function () {
7900		$(this).parent().toggleClass('opened');
7901	});
7902	$('.panel-collapse').on('show.bs.collapse', function () {
7903		$(this).parent().toggleClass('opened');
7904	});
7905	
7906	/* accordion */
7907	$('.accordion-head').on('click', function (e) {
7908		e.preventDefault();
7909		if (!$(this).next().hasClass('collapsing')) {
7910			$(this).toggleClass('accordion-open');
7911			$(this).toggleClass('accordion-close');
7912		}
7913	});
7914	
7915	/* progress bar */
7916	$('[data-appear-progress-animation]').iAppear(
7917		function () {
7918			var $this = $(this);
7919			var delay = $this.attr('data-appear-animation-delay') ? $this.attr('data-appear-animation-delay') : 1;
7920			if (delay > 1) $this.css('animation-delay', delay + 'ms');
7921			$this.addClass($this.attr('data-appear-animation'));
7922			
7923			setTimeout(function () {
7924				$this.animate(
7925					{
7926						width: $this.attr('data-appear-progress-animation'),
7927					},
7928					1500,
7929					'easeOutQuad',
7930					function () {
7931						$this.find('.progress-bar-tooltip').animate(
7932							{
7933								opacity: 1,
7934							},
7935							500,
7936							'easeOutQuad'
7937						);
7938					}
7939				);
7940			}, delay);
7941		},
7942		{
7943			rootMargin: '-50px 0px -50px 0px',
7944			accX: 0,
7945			accY: -50,
7946		}
7947	);
7948	
7949	// initCountdown();
7950	
7951	/* portfolio item */
7952	if ($('.item.animated-block').length) {
7953		$('.item.animated-block').iAppear(
7954			function () {
7955				var $this = $(this);
7956				
7957				$this.addClass($this.data('animation')).addClass('visible');
7958			},
7959			{ accX: 0, accY: 150 }
7960		);
7961	}
7962	
7963	/* flexslider appear */
7964	if ($('.appear-block').length) {
7965		$('.appear-block').iAppear(
7966			function () {
7967				var $this = $(this);
7968				$this.removeClass('appear-block');
7969				$this.find('.appear-block').removeClass('appear-block');
7970				InitOwlSlider();
7971				if (typeof initSwiperSlider === 'function') {
7972					initSwiperSlider();
7973				}
7974			},
7975			{
7976				rootMargin: '150px 0px 150px 0px',
7977				accX: 0,
7978				accY: 150,
7979			}
7980		);
7981	}
7982	
7983	/* js-load-block appear */
7984	if ($('.js-load-block').length) {
7985		var objUrl = parseUrlQuery();
7986		var bClearCache = false;
7987		if ('clear_cache' in objUrl) {
7988			if (objUrl.clear_cache == 'Y') {
7989				bClearCache = true;
7990			}
7991		}
7992		
7993		var items = [];
7994		var bIdle = true;
7995		var insertNextBlockContent = function () {
7996			if (bIdle && items.length) {
7997				bIdle = false;
7998				const item = items.pop();
7999				
8000				// get content
8001				$.get(item.url).done(function (html) {
8002					item.content = html;
8003					item.content = $.trim(item.content);
8004					
8005					// remove /bitrix/js/main/core/core_window.js if it was loaded already
8006					if (item.content.indexOf('/bitrix/js/main/core/core_window.') !== -1 && BX.WindowManager) {
8007						item.content = item.content.replace(
8008							/<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm,
8009							''
8010						);
8011					}
8012					
8013					// remove /bitrix/js/currency/core_currency.js if it was loaded already
8014					if (
8015						item.content.indexOf('/bitrix/js/currency/core_currency.') !== -1 &&
8016						typeof BX.Currency === 'object' &&
8017						BX.Currency.defaultFormat
8018					) {
8019						item.content = item.content.replace(
8020							/<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm,
8021							''
8022						);
8023					}
8024					
8025					// remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already
8026					if (item.content.indexOf('/bitrix/js/main/pageobject/pageobject.') !== -1 && BX.PageObject) {
8027						item.content = item.content.replace(
8028							/<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm,
8029							''
8030						);
8031					}
8032					
8033					// remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need
8034					if (
8035						item.content.indexOf('/bitrix/js/main/polyfill/promise/js/promise.') !== -1 &&
8036						typeof window.Promise !== 'undefined' &&
8037						window.Promise.toString().indexOf('[native code]') !== -1
8038					) {
8039						item.content = item.content.replace(
8040							/<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm,
8041							''
8042						);
8043					}
8044					
8045					if (
8046						typeof MutationObserver === 'function' &&
8047						document.querySelector('body').classList.contains('detail_page')
8048					) {
8049						const observer = new MutationObserver(function (list, observer) {
8050							const $curBlock = list[0].target;
8051							const curBlockBounds = $curBlock.getBoundingClientRect();
8052							
8053							if ($curBlock.parentElement.classList.contains('complect-block')) {
8054								$curBlock.parentElement.classList.add('loaded');
8055							}
8056							
8057							if (curBlockBounds.top < 0 && curBlockBounds.bottom >= 0) {
8058								const offsetTop = window.scrollY + Math.round($curBlock.offsetHeight) - 100;
8059								window.scrollTo(0, offsetTop);
8060							}
8061							
8062							observer.disconnect();
8063						});
8064						
8065						observer.observe(item.$context[0], {
8066							childList: true,
8067						});
8068					}
8069					
8070					const ob = BX.processHTML(item.content);
8071					
8072					// stop ya metrika webvisor DOM indexer
8073					pauseYmObserver();
8074					
8075					item.$context.removeAttr('data-file').removeClass('loader_circle');
8076					item.$target.innerHTML = ob.HTML;
8077					
8078					BX.ajax.processScripts(ob.SCRIPT);
8079					
8080					var eventdata = { action: 'jsLoadBlock' };
8081					BX.onCustomEvent('onCompleteAction', [eventdata, item.$context]);
8082					
8083					BX.onCustomEvent('onHeaderProgressBarChange', [{}]);
8084					
8085					// resume ya metrika webvisor
8086					// 500ms
8087					setTimeout(resumeYmObserver, 500);
8088					
8089					bIdle = true;
8090					insertNextBlockContent();
8091				});
8092			}
8093		};
8094		
8095		$('.js-load-block').iAppear(
8096			function () {
8097				var $this = $(this);
8098				
8099				if ($this.data('file')) {
8100					const add_url = new URL(location.origin + $this.data('file'));
8101					
8102					if (bClearCache) add_url.searchParams.set('clear_cache', 'Y');
8103					if ($this.data('block')) add_url.searchParams.set('BLOCK', $this.data('block'));
8104					if ($this.data('show_all')) add_url.searchParams.set('SHOW_ALL', 'Y');
8105					
8106					const $target = $this.data('appendTo')
8107						? $this.find($this.data('appendTo'))[0]
8108						: $this.find('> div[id*="bx_incl_"]').length
8109							? $this.find('> div[id*="bx_incl_"]')[0]
8110							: $this[0];
8111					
8112					items.unshift({
8113						$target: $target,
8114						$context: $this,
8115						url: add_url,
8116					});
8117					insertNextBlockContent();
8118				}
8119			},
8120			{
8121				rootMargin: isMobile ? '300px 0px 300px 0px' : '150px 0px 150px 0px',
8122				accX: 0,
8123				accY: isMobile ? 300 : 150,
8124			}
8125		);
8126	}
8127	
8128	/*show ajax store amount product*/
8129	$(document).on('click', '.js-show-info-block', function (e) {
8130		var $this = $(this);
8131		
8132		//check on ".cost.prices" need for popup price in mobile
8133		//if (window.matchMedia("(max-width: 500px)").matches && !$this.closest(".cost.prices").length) {
8134		//return;
8135		//}
8136		
8137		e.stopPropagation();
8138		$('.js-info-block').fadeOut();
8139		
8140		if ($this.hasClass('opened')) {
8141			$('.js-show-info-block').removeClass('opened');
8142		} else {
8143			$('.js-show-info-block').removeClass('opened');
8144			$this.addClass('opened');
8145		}
8146		
8147		if (!$this.siblings('.js-info-block').length) {
8148			var dataFields = $this.closest('.sa_block').data('fields');
8149			dataFields = dataFields == 'null' || dataFields === undefined ? '' : dataFields;
8150			var dataUserFields = $this.closest('.sa_block').data('user-fields');
8151			dataUserFields = dataUserFields == 'null' || dataUserFields === undefined ? '' : dataUserFields;
8152			var objUrl = parseUrlQuery(),
8153				add_url = '';
8154			if ('clear_cache' in objUrl) {
8155				if (objUrl.clear_cache == 'Y') add_url += '?clear_cache=Y';
8156			}
8157			
8158			var obPostParams = {
8159				ajax: 'Y',
8160				ELEMENT_ID: $this.data('id'),
8161				FIELDS: dataFields,
8162				USER_FIELDS: dataUserFields,
8163				STORES: $this.closest('.sa_block').data('stores') || '',
8164			};
8165			
8166			$this.addClass('loadings');
8167			$.post(arAsproOptions['SITE_DIR'] + 'ajax/productStoreAmountCompact.php' + add_url, obPostParams).done(function (
8168				html
8169			) {
8170				$this.removeClass('loadings');
8171				$(html).appendTo($this.closest('.sa_block'));
8172				
8173				$this
8174					.siblings('.js-info-block')
8175					.find('.more-btn a')
8176					.attr('href', $this.closest('.item_info').find('a').attr('href'));
8177				// InitScrollBar();
8178				
8179				var eventdata = { action: 'jsShowStores' };
8180				BX.onCustomEvent('onCompleteAction', [eventdata, $this]);
8181			});
8182		} else {
8183			if ($this.hasClass('opened')) {
8184				$this
8185					.siblings('.js-info-block')
8186					.find('.more-btn a')
8187					.attr('href', $this.closest('.item_info').find('a').attr('href'));
8188				$this.siblings('.js-info-block').fadeIn();
8189				// InitScrollBar();
8190			} else {
8191				$this.siblings('.js-info-block').fadeOut();
8192			}
8193		}
8194	});
8195	$(document).on('click', '.js-info-block .svg-inline-close', function () {
8196		$('.js-show-info-block').removeClass('opened');
8197		$(this).closest('.js-info-block').fadeOut();
8198	});
8199	/**/
8200	
8201	/*adaptive menu start*/
8202	$('.menu.adaptive').on('click', function () {
8203		$(this).toggleClass('opened');
8204		if ($(this).hasClass('opened')) {
8205			$('.mobile_menu').toggleClass('opened').slideDown();
8206		} else {
8207			$('.mobile_menu').toggleClass('opened').slideUp();
8208		}
8209	});
8210	$('.mobile_menu .has-child >a').on('click', function (e) {
8211		var parentLi = $(this).parent();
8212		e.preventDefault();
8213		parentLi.toggleClass('opened');
8214		parentLi.find('.dropdown').slideToggle();
8215	});
8216	
8217	$('.mobile_menu .search-input-div input').on('keyup', function (e) {
8218		var inputValue = $(this).val();
8219		$('.center_block .stitle_form input').val(inputValue);
8220		if (e.keyCode == 13) {
8221			$('.center_block .stitle_form form').submit();
8222		}
8223	});
8224	
8225	$('.center_block .stitle_form input').on('keyup', function (e) {
8226		var inputValue = $(this).val();
8227		$('.mobile_menu .search-input-div input').val(inputValue);
8228		if (e.keyCode == 13) {
8229			$('.center_block .stitle_form form').submit();
8230		}
8231	});
8232	
8233	$('.mobile_menu .search-button-div button').on('click', function (e) {
8234		e.preventDefault();
8235		var inputValue = $(this).parents().find('input').val();
8236		$('.center_block .stitle_form input').val(inputValue);
8237		$('.center_block .stitle_form form').submit();
8238	});
8239	/*adaptive menu end*/
8240	
8241	$(document).on('click', '.mega-menu .dropdown-menu', function (e) {
8242		e.stopPropagation();
8243	});
8244	
8245	$(document).on('click', '.mega-menu .dropdown-toggle.more-items', function (e) {
8246		e.preventDefault();
8247	});
8248	
8249	$(document).on('mouseenter', '#headerfixed .table-menu .dropdown-menu .dropdown-submenu', function () {
8250		setTimeout(function () {
8251			CheckTopVisibleMenu();
8252		}, 275);
8253	});
8254	
8255	$('.mega-menu .search-item .search-icon, .menu-row #title-search .fa-close').on('click', function (e) {
8256		e.preventDefault();
8257		$('.menu-row #title-search').toggleClass('hide');
8258	});
8259	
8260	$('.mega-menu ul.nav .search input').on('keyup', function (e) {
8261		var inputValue = $(this).val();
8262		$('.menu-row > .search input').val(inputValue);
8263		if (e.keyCode == 13) {
8264			$('.menu-row > .search form').submit();
8265		}
8266	});
8267	
8268	$('.menu-row > .search input').on('keyup', function (e) {
8269		var inputValue = $(this).val();
8270		$('.mega-menu ul.nav .search input').val(inputValue);
8271		if (e.keyCode == 13) {
8272			$('.menu-row > .search form').submit();
8273		}
8274	});
8275	
8276	$('.mega-menu ul.nav .search button').on('click', function (e) {
8277		e.preventDefault();
8278		var inputValue = $(this).parents('.search').find('input').val();
8279		$('.menu-and-search .search input').val(inputValue);
8280		$('.menu-row > .search form').submit();
8281	});
8282	
8283	$('.btn.btn-add').on('click', function () {
8284		$.ajax({
8285			type: 'GET',
8286			url: arAsproOptions['SITE_DIR'] + 'ajax/clearBasket.php',
8287			success: function (data) {
8288			},
8289		});
8290	});
8291	
8292	$('.sort_display a').on('click', function () {
8293		$(this).siblings().removeClass('current');
8294		$(this).addClass('current');
8295	});
8296	
8297	/*detail order show payments*/
8298	$('.sale-order-detail-payment-options-methods-info-change-link').on('click', function () {
8299		$(this).closest('.sale-order-detail-payment-options-methods-info').addClass('opened').siblings().addClass('opened');
8300	});
8301	
8302	/*expand/hide filter values*/
8303	$(document).on('click', '.expand_block', function () {
8304		togglePropBlock($(this));
8305	});
8306	
8307	/*touch event*/
8308	document.addEventListener(
8309		'touchend',
8310		function (event) {
8311			if (!$(event.target).closest('.menu-item').length && !$(event.target).hasClass('menu-item')) {
8312				$('.menu-row .dropdown-menu').css({ display: 'none', opacity: 0 });
8313				$('.menu-item').removeClass('hover');
8314				$('.bx-breadcrumb-item.drop').removeClass('hover');
8315			}
8316			if (!$(event.target).closest('.menu.topest').length) {
8317				if (window.matchMedia('(max-width: 991px)').matches) {
8318					$('.menu.topest').css({ overflow: 'hidden' });
8319				}
8320				$('.menu.topest > li').removeClass('hover');
8321			}
8322			if (!$(event.target).closest('.full.has-child').length) {
8323				$('.menu_top_block.catalog_block li').removeClass('hover');
8324			}
8325			if (!$(event.target).closest('.basket_block').length) {
8326				$('.basket_block .link').removeClass('hover');
8327				$('.basket_block .basket_popup_wrapp').slideUp();
8328			}
8329			if (!$(event.target).closest('.catalog_item').length) {
8330				var tabsContentUnhoverHover = $('.tab:visible').attr('data-unhover') * 1;
8331				$('.tab:visible').stop().animate({ height: tabsContentUnhoverHover }, 100);
8332				$('.tab:visible').find('.catalog_item').removeClass('hover');
8333				$('.tab:visible').find('.catalog_item .buttons_block').stop().fadeOut(233);
8334				if ($('.catalog_block').length) {
8335					$('.catalog_block').find('.catalog_item_wrapp').removeClass('hover');
8336					$('.catalog_block').find('.catalog_item').removeClass('hover');
8337				}
8338			}
8339			//togglePropBlock($(event.target));
8340		},
8341		false
8342	);
8343	
8344	touchMenu('.menu-row .menu-item');
8345	touchTopMenu('.menu.topest li');
8346	touchLeftMenu('.menu_top_block:not(.in-search) li.full');
8347	touchBreadcrumbs('.bx-breadcrumb-item.drop');
8348	
8349	$(document).on('keyup', '.coupon .input_coupon input', function () {
8350		if ($(this).val().length) {
8351			$(this).removeClass('error');
8352			$(this).closest('.input_coupon').find('.error').remove();
8353		} else {
8354			$(this).addClass('error');
8355			$('<label class=\'error\'>' + BX.message('INPUT_COUPON') + '</label>').insertBefore($(this));
8356		}
8357	});
8358	// showPhoneMask("input[autocomplete=tel]");
8359	BX.addCustomEvent(window, 'onAjaxSuccessFilter', function (e) {
8360		setBasketStatusBtn();
8361		checkLinkedArticles();
8362		checkLinkedBlocks('.linked-banners-list');
8363	});
8364	
8365	$(document).on('click', '.block_container .items .item.initied', function () {
8366		var _this = $(this),
8367			itemID = _this.data('id'),
8368			animationTime = 200;
8369		
8370		_this.closest('.items').fadeOut(animationTime, function () {
8371			_this.closest('.block_container').find('.detail_items').fadeIn(animationTime);
8372			_this
8373				.closest('.block_container')
8374				.find('.detail_items .item[data-id=' + itemID + ']')
8375				.fadeIn(animationTime);
8376			
8377			var arCoordinates = _this.data('coordinates').split(',');
8378			
8379			if (typeof map !== 'undefined') map.setCenter([arCoordinates[0], arCoordinates[1]], 15);
8380		});
8381	});
8382	
8383	$(document).on('click', '.block_container .top-close', function () {
8384		var _this = $(this).closest('.block_container').find('.detail_items .item:visible'),
8385			animationTime = 200;
8386		_this.fadeOut(animationTime);
8387		_this
8388			.closest('.block_container')
8389			.find('.detail_items')
8390			.fadeOut(animationTime, function () {
8391				_this.closest('.block_container').find('.items').fadeIn(animationTime);
8392				
8393				if (typeof map !== 'undefined' && typeof clusterer !== 'undefined') {
8394					map.setBounds(clusterer.getBounds(), {
8395						zoomMargin: 40,
8396						// checkZoomRange: true
8397					});
8398				}
8399			});
8400	});
8401	
8402	BX.addCustomEvent(window, 'onAjaxSuccess', function (e) {
8403		if (e != 'OK') {
8404			initSelects(document);
8405			InitOrderCustom();
8406			// showPhoneMask("input[autocomplete=tel]");
8407			
8408			if (arAsproOptions['PAGES']['CATALOG_PAGE'] && $('.catalog_detail').length && !$('.fast_view_frame').length) {
8409				const leftBlock = $('.main-catalog-wrapper > .left_block');
8410				const rightBlock = $('.right_block');
8411				
8412				if (!leftBlock.length && rightBlock.hasClass('wide_N')) {
8413					rightBlock.removeClass('wide_N').addClass('wide_Y');
8414				} else if (leftBlock.length && rightBlock.hasClass('wide_Y')) {
8415					rightBlock.removeClass('wide_Y').addClass('wide_N');
8416				}
8417				
8418				$('.bx_filter').remove();
8419				InitOwlSlider();
8420			}
8421			
8422			if (arAsproOptions['PAGES']['CATALOG_PAGE']) {
8423				// initCountdown();
8424				
8425				if (typeof window['stickySidebar'] !== 'undefined') window['stickySidebar'].updateSticky();
8426			}
8427			
8428			if (typeof orderActions === 'function') {
8429				orderActions(e);
8430			}
8431			
8432			if (e && typeof e === 'object' && 'action' in e && e.action === 'ajaxContentLoadedTab') {
8433				lazyLoadPagenBlock();
8434			}
8435			
8436			InitStickySideBar();
8437		}
8438	});
8439	
8440	//event for default basket quantity change
8441	BX.addCustomEvent(window, 'OnBasketChange', function (e) {
8442		if (arAsproOptions['PAGES']['BASKET_PAGE']) {
8443			var summ = 0,
8444				title = '';
8445			
8446			if (typeof BX.Sale !== 'undefined') {
8447				if (typeof BX.Sale.BasketComponent !== 'undefined') {
8448					summ = BX.Sale.BasketComponent.result.allSum;
8449					title = BX.message('JS_BASKET_COUNT_TITLE').replace('SUMM', summ);
8450				}
8451			} else {
8452				summ = $('#allSum_FORMATED')
8453					.html()
8454					.replace(/&nbsp;/g, ' ');
8455				title = BX.message('JS_BASKET_COUNT_TITLE').replace('SUMM', summ);
8456			}
8457			console.log('summ')
8458			console.log(summ)
8459			
8460			if ($('.js-basket-block .wrap .prices').length) $('.js-basket-block .wrap .prices').html(summ);
8461			if ($('a.basket-link.basket').length) $('a.basket-link.basket').attr('title', title);
8462			if ($('.basket_fly .opener .basket_count').length) $('.basket_fly .opener .basket_count').attr('title', title);
8463		}
8464	});
8465});
8466
8467if (!funcDefined('setBasketStatusBtn')) {
8468	setBasketStatusBtn = function (type) {
8469		var bSync = typeof type !== undefined;
8470		if (typeof arBasketAspro !== 'undefined') {
8471			if ('BASKET' in arBasketAspro) {
8472				// basket items
8473				if (arBasketAspro.BASKET) {
8474					for (var i in arBasketAspro.BASKET) {
8475						$('.to-cart[data-item=' + i + ']').hide();
8476						$('.counter_block[data-item=' + i + ']')
8477							.closest('.counter_block_inner')
8478							.hide();
8479						$('.counter_block[data-item=' + i + ']').hide();
8480						$('.in-cart[data-item=' + i + ']').show();
8481						$('.in-cart[data-item=' + i + ']')
8482							.closest('.button_block')
8483							.addClass('wide');
8484						
8485						$('.wish_item.to[data-item=' + i + ']').show();
8486						$('.wish_item.in[data-item=' + i + ']').hide();
8487						
8488						if ($('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .basket_item_add').length) {
8489							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .basket_item_add').addClass('added');
8490							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .basket_item_add').attr(
8491								'title',
8492								$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .basket_item_add').data('title2')
8493							);
8494						}
8495					}
8496				}
8497			}
8498			
8499			/*services*/
8500			if ('SERVICES' in arBasketAspro) {
8501				// services items
8502				$needFillServices = $('.buy_services_wrap[data-parent_product]').length;
8503				if (arBasketAspro.SERVICES && $needFillServices) {
8504					for (var i in arBasketAspro.SERVICES) {
8505						var serviceItem = $(
8506							'.buy_services_wrap[data-parent_product=' +
8507							arBasketAspro.SERVICES[i].link_id +
8508							'] .services-item[data-item_id=' +
8509							arBasketAspro.SERVICES[i].item_id +
8510							']'
8511						);
8512						serviceItem.find('input[name="buy_switch_services"]').prop('checked', true);
8513						serviceItem.find('.counter_block input[name="quantity"]').val(arBasketAspro.SERVICES[i].quantity);
8514						serviceItem.addClass('services_on');
8515					}
8516				}
8517			}
8518			/**/
8519			
8520			if ('DELAY' in arBasketAspro) {
8521				// delay items
8522				if (arBasketAspro.DELAY) {
8523					for (var i in arBasketAspro.DELAY) {
8524						$('.wish_item.to[data-item=' + i + ']').hide();
8525						$('.wish_item.in[data-item=' + i + ']').show();
8526						if ($('.wish_item[data-item=' + i + ']').find('.value.added').length) {
8527							//$('.wish_item[data-item='+i+']').addClass("added");
8528							$('.wish_item[data-item=' + i + ']')
8529								.find('.value')
8530								.hide();
8531							$('.wish_item[data-item=' + i + ']')
8532								.find('.value.added')
8533								.css('display', 'block');
8534						}
8535						
8536						$('.in-cart[data-item=' + i + ']').hide();
8537						$('.to-cart[data-item=' + i + ']').show();
8538						$('.to-cart[data-item=' + i + ']')
8539							.closest('.counter_wrapp')
8540							.find('.counter_block_inner')
8541							.show();
8542						$('.to-cart[data-item=' + i + ']')
8543							.closest('.counter_wrapp')
8544							.find('.counter_block')
8545							.show();
8546						$('.to-cart[data-item=' + i + ']')
8547							.closest('.button_block')
8548							.removeClass('wide');
8549						
8550						if ($('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .wish_item_add').length) {
8551							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .wish_item_add').addClass('added');
8552							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .wish_item_add').attr(
8553								'title',
8554								$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .wish_item_add').data('title2')
8555							);
8556						}
8557					}
8558				}
8559			}
8560			
8561			if ('SUBSCRIBE' in arBasketAspro) {
8562				// subscribe items
8563				if (arBasketAspro.SUBSCRIBE) {
8564					for (var i in arBasketAspro.SUBSCRIBE) {
8565						$('.to-subscribe[data-item=' + i + ']').hide();
8566						$('.in-subscribe[data-item=' + i + ']').show();
8567					}
8568				}
8569			}
8570			
8571			if ('COMPARE' in arBasketAspro) {
8572				// compare items
8573				if (arBasketAspro.COMPARE) {
8574					for (var i in arBasketAspro.COMPARE) {
8575						$('.compare_item.to[data-item=' + i + ']').hide();
8576						$('.compare_item.in[data-item=' + i + ']').show();
8577						if ($('.compare_item[data-item=' + i + ']').find('.value.added').length) {
8578							//$('.compare_item[data-item='+i+']').addClass("added");
8579							$('.compare_item[data-item=' + i + ']')
8580								.find('.value')
8581								.hide();
8582							$('.compare_item[data-item=' + i + ']')
8583								.find('.value.added')
8584								.css('display', 'block');
8585						}
8586						
8587						if ($('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .compare_item_add').length) {
8588							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .compare_item_add').addClass('added');
8589							$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .compare_item_add').attr(
8590								'title',
8591								$('.banner_buttons.with_actions .wraps_buttons[data-id=' + i + '] .compare_item_add').data('title2')
8592							);
8593						}
8594					}
8595				}
8596			}
8597		}
8598	};
8599}
8600
8601if (!funcDefined('togglePropBlock')) {
8602	togglePropBlock = function (className) {
8603		var all_props_block = className.closest('.bx_filter_parameters_box_container').find('.hidden_values');
8604		if (all_props_block.length && (className.hasClass('inner_text') || className.hasClass('expand_block'))) {
8605			if (all_props_block.is(':visible')) {
8606				className.text(BX.message('FILTER_EXPAND_VALUES'));
8607				all_props_block.hide();
8608			} else {
8609				className.text(BX.message('FILTER_HIDE_VALUES'));
8610				all_props_block.show();
8611			}
8612		}
8613	};
8614}
8615
8616if (!funcDefined('showPhoneMask')) {
8617	showPhoneMask = function (className) {
8618		if (typeof appAspro === 'object' && appAspro && appAspro.phone) {
8619			appAspro.phone.init($(className));
8620		}
8621		// $(className).inputmask("mask", { mask: arAsproOptions["THEME"]["PHONE_MASK"], showMaskOnHover: false });
8622	};
8623}
8624
8625if (!funcDefined('getActualBasket')) {
8626	getActualBasket = function (iblockID, type, sync) {
8627		var data = '';
8628		if (typeof iblockID !== 'undefined' && iblockID) {
8629			data = { iblockID: iblockID };
8630		}
8631		$.ajax({
8632			type: 'GET',
8633			url: arAsproOptions['SITE_DIR'] + 'ajax/actualBasket.php',
8634			data: data,
8635			success: function (data) {
8636				if (!$('.js_ajax').length) $('body').append('<div class="js_ajax"></div>');
8637				$('.js_ajax').html(data);
8638				
8639				if (typeof sync !== 'undefined') {
8640					setBasketStatusBtn(true);
8641				}
8642				
8643				if (typeof type !== undefined) {
8644					var eventdata = { action: 'loadActualBasket' + type };
8645					BX.onCustomEvent('onCompleteAction', [eventdata]);
8646				}
8647			},
8648		});
8649	};
8650}
8651
8652if (!funcDefined('reloadBasketCounters')) {
8653	reloadBasketCounters = function (count, sync) {
8654		var data = '';
8655		if (count) {
8656			$('.basket-link.basket .count, .wraps_icon_block.basket .count .items > span').text(count);
8657		} else {
8658			$.ajax({
8659				type: 'GET',
8660				url: arAsproOptions['SITE_DIR'] + 'ajax/actualBasket.php',
8661				data: data,
8662				success: function (data) {
8663					if (!$('.js_ajax').length) $('body').append('<div class="js_ajax"></div>');
8664					$('.js_ajax').html(data);
8665					var countServices =
8666						typeof arBasketAspro.SERVICES !== 'undefined' ? Object.keys(arBasketAspro.SERVICES).length : 0;
8667					$('.basket-link.basket .count, .wraps_icon_block.basket .count .items > span').text(
8668						Object.keys(arBasketAspro.BASKET).length + countServices
8669					);
8670					$('.basket-link.delay .count, .wraps_icon_block.delay .count .items > span').text(
8671						Object.keys(arBasketAspro.DELAY).length
8672					);
8673					$('.basket-link.compare .count, .wraps_icon_block.compare .count .items > span').text(
8674						Object.keys(arBasketAspro.COMPARE).length
8675					);
8676					
8677					if (typeof sync !== 'undefined') {
8678						setBasketStatusBtn(true);
8679					}
8680				},
8681			});
8682		}
8683	};
8684}
8685
8686if (!funcDefined('updateBasketPreorders')) {
8687	updateBasketPreorders = function () {
8688		$.ajax({
8689			url: arAsproOptions['SITE_DIR'] + 'ajax/getAjaxBasketPreorders.p
8689hp',
8690			type: 'POST',
8691			success: function (data) {
8692				if (data.AMOUNT_TOTAL && document.querySelector('.table-view--basket-preorders._amount-total .table-view--basket-preorders__value')) {
8693					document.querySelector('.table-view--basket-preorders._amount-total .table-view--basket-preorders__value').innerHTML = data.AMOUNT_TOTAL;
8694				}
8695				
8696				if (data.PRICE_TOTAL && document.querySelector('.table-view--basket-preorders._price-total .table-view--basket-preorders__value')) {
8697					document.querySelector('.table-view--basket-preorders._price-total .table-view--basket-preorders__value').innerHTML = data.PRICE_TOTAL;
8698				}
8699			},
8700		});
8701	};
8702}
8703
8704function touchMenu(selector) {
8705	if (isMobile) {
8706		if ($(selector).length) {
8707			$(selector).each(function () {
8708				var th = $(this);
8709				th.on('touchend', function (e) {
8710					var _th = $(e.target).closest('.menu-item');
8711					
8712					$('.menu.topest > li').removeClass('hover');
8713					$('.menu_top_block.catalog_block li').removeClass('hover');
8714					$('.bx-breadcrumb-item.drop').removeClass('hover');
8715					
8716					if (_th.find('.dropdown-menu').length && !_th.hasClass('hover')) {
8717						e.preventDefault();
8718						e.stopPropagation();
8719						_th.siblings().removeClass('hover');
8720						_th.addClass('hover');
8721						$('.menu-row .dropdown-menu').css({ display: 'none', opacity: 0 });
8722						if (_th.hasClass('menu-item')) {
8723							_th.closest('.dropdown-menu').css({ display: 'block', opacity: 1 });
8724						}
8725						if (_th.find('> .wrap > .dropdown-menu')) {
8726							_th.find('> .wrap > .dropdown-menu').css({ display: 'block', opacity: 1 });
8727						} else if (_th.find('> .dropdown-menu')) {
8728							_th.find('> .dropdown-menu').css({ display: 'block', opacity: 1 });
8729						}
8730						CheckTopVisibleMenu();
8731					} else {
8732						var href = $(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href');
8733						if (href && href !== 'undefined') location.href = href;
8734					}
8735				});
8736			});
8737		}
8738	} else {
8739		$(selector).off();
8740	}
8741}
8742
8743function touchTopMenu(selector) {
8744	if (isMobile) {
8745		if ($(selector).length) {
8746			$(selector).each(function () {
8747				var th = $(this);
8748				th.on('touchend', function (e) {
8749					var _th = $(e.target).closest('li');
8750					
8751					$('.menu-item').removeClass('hover');
8752					$('.menu_top_block.catalog_block li').removeClass('hover');
8753					$('.bx-breadcrumb-item.drop').removeClass('hover');
8754					
8755					if (_th.hasClass('more') && !_th.hasClass('hover')) {
8756						e.preventDefault();
8757						e.stopPropagation();
8758						_th.siblings().removeClass('hover');
8759						_th.addClass('hover');
8760						$('.menu.topest').css({ overflow: 'visible' });
8761					} else {
8762						var href = $(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href');
8763						if (href && href !== 'undefined') location.href = href;
8764					}
8765				});
8766			});
8767		}
8768	} else {
8769		$(selector).off();
8770	}
8771}
8772
8773function touchLeftMenu(selector) {
8774	if (isMobile) {
8775		if ($(selector).length) {
8776			$(selector).each(function () {
8777				var th = $(this);
8778				th.on('touchend', function (e) {
8779					var _th = $(e.target).closest('li');
8780					
8781					$('.menu-item').removeClass('hover');
8782					$('.bx-breadcrumb-item.drop').removeClass('hover');
8783					$('.menu.topest > li').removeClass('hover');
8784					
8785					if (_th.hasClass('has-child') && !_th.hasClass('hover')) {
8786						e.preventDefault();
8787						e.stopPropagation();
8788						_th.siblings().removeClass('hover');
8789						_th.addClass('hover');
8790					} else {
8791						var href = $(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href');
8792						if (href && href !== 'undefined') location.href = href;
8793					}
8794				});
8795			});
8796		}
8797	} else {
8798		$(selector).off();
8799	}
8800}
8801
8802function touchBreadcrumbs(selector) {
8803	if (isMobile) {
8804		if ($(selector).length) {
8805			$(selector).each(function () {
8806				var th = $(this);
8807				th.on('touchend', function (e) {
8808					var _th = $(e.target).closest('.bx-breadcrumb-item');
8809					
8810					$('.menu-item').removeClass('hover');
8811					$('.menu.topest > li').removeClass('hover');
8812					$('.menu_top_block.catalog_block li').removeClass('hover');
8813					
8814					if (!_th.hasClass('hover')) {
8815						e.preventDefault();
8816						e.stopPropagation();
8817						_th.siblings().removeClass('hover');
8818						_th.addClass('hover');
8819					} else {
8820						_th.removeClass('hover');
8821						var href = $(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href');
8822						if (href && href !== 'undefined') location.href = href;
8823					}
8824				});
8825			});
8826		}
8827	} else {
8828		$(selector).off();
8829	}
8830}
8831
8832function touchItemBlock(selector) {
8833}
8834
8835function touchBasket(selector) {
8836	if (arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N') {
8837		if ($(window).outerWidth() > 600) {
8838			$(document)
8839				.find(selector)
8840				.on('touchend', function (e) {
8841					if ($(this).parent().find('.basket_popup_wrapp').length && !$(this).hasClass('hover')) {
8842						e.preventDefault();
8843						e.stopPropagation();
8844						$(this).addClass('hover');
8845						$(this).parent().find('.basket_popup_wrapp').slideDown();
8846					}
8847				});
8848		} else {
8849			$(selector).off();
8850		}
8851	}
8852}
8853
8854function showTotalSummItem(popup) {
8855	//show total summ
8856	if (
8857		arAsproOptions['THEME']['SHOW_TOTAL_SUMM_TYPE'] == 'ALWAYS' &&
8858		arAsproOptions['THEME']['SHOW_TOTAL_SUMM'] == 'Y'
8859	) {
8860		var parent = 'body ';
8861		if (typeof popup === 'string' && popup == 'Y') parent = '.popup ';
8862		$(parent + '.counter_wrapp .counter_block input.text').each(function () {
8863			var _th = $(this);
8864			if (_th.data('product')) {
8865				var obProduct = _th.data('product');
8866				if (typeof window[obProduct] == 'object') window[obProduct].setPriceAction('Y');
8867				else setPriceItem(_th.closest('.main_item_wrapper'), _th.val());
8868			} else setPriceItem(_th.closest('.main_item_wrapper'), _th.val());
8869		});
8870	}
8871}
8872
8873function initFull() {
8874	initSelects(document);
8875	initHoverBlock(document);
8876	touchItemBlock('.catalog_item a');
8877	InitOrderCustom();
8878	showTotalSummItem();
8879	basketActions();
8880	
8881	if (typeof orderActions === 'function') {
8882		orderActions();
8883	}
8884	
8885	checkMobileRegion();
8886}
8887
8888checkMobileRegion = function () {
8889	if ($('.confirm_region').length) {
8890		if (!$('.top_mobile_region').length)
8891			$(
8892				'<div class="top_mobile_region"><div class="confirm_wrapper"><div class="confirm_region"></div></div></div>'
8893			).insertBefore($('#mobileheader'));
8894		$('.top_mobile_region .confirm_region').html($('.confirm_region').html());
8895	}
8896};
8897
8898if (!funcDefined('basketActions')) {
8899	basketActions = function () {
8900		if (arAsproOptions['PAGES']['BASKET_PAGE']) {
8901			checkMinPrice();
8902			
8903			//remove4Cart
8904			if (typeof BX.Sale !== 'undefined' && typeof BX.Sale === 'object') {
8905				if (typeof BX.Sale.BasketComponent !== 'undefined' && typeof BX.Sale.BasketComponent === 'object') {
8906					$(document).on('click', '.basket-item-actions-remove', function () {
8907						var basketID = $(this).closest('.basket-items-list-item-container').data('id');
8908						if (BX.Sale.BasketComponent.items && BX.Sale.BasketComponent.items[basketID]) {
8909							delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID);
8910						}
8911					});
8912				}
8913			}
8914			
8915			if (location.hash) {
8916				var hash = location.hash.substring(1);
8917				if ($('#basket_toolbar_button_' + hash).length) $('#basket_toolbar_button_' + hash).trigger('click');
8918				
8919				if ($('.basket-items-list-header-filter a[data-filter="' + hash + '"]').length)
8920					$('.basket-items-list-header-filter a[data-filter="' + hash + '"]')[0].click();
8921			}
8922			var svg_cross =
8923				'<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8"><path id="Rounded_Rectangle_568_copy_13" data-name="Rounded Rectangle 568 copy 13" class="cls-1" d="M1615.4,589l2.32,2.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1614,590.4l-2.31,2.315a1,1,0,0,1-1.41,0,0.987,0.987,0,0,1,0-1.4L1612.6,589l-2.32-2.314a0.989,0.989,0,0,1,0-1.4,1,1,0,0,1,1.41,0l2.31,2.315,2.31-2.315a1,1,0,0,1,1.41,0,0.989,0.989,0,0,1,0,1.4Z" transform="translate(-1610 -585)"/></svg>';
8924			
8925			$('.bx_sort_container').append(
8926				'<div class="top_control basket_action"><span style="opacity:0;
8926" class="delete_all colored_theme_hover_text remove_all_basket">' +
8927				svg_cross +
8928				BX.message('BASKET_CLEAR_ALL_BUTTON') +
8929				'</span></div>'
8930			);
8931			if ($('.basket-items-list-header-filter').length) {
8932				$('.basket-items-list-header-filter').append(
8933					'<div class="top_control basket_action"><span style="opacity:1;" class="delete_all colored_theme_hover_text remove_all_basket">' +
8934					svg_cross +
8935					BX.message('BASKET_CLEAR_ALL_BUTTON') +
8936					'</span></div>'
8937				);
8938				
8939				var cur_index = $('.basket-items-list-header-filter > a.active').index();
8940				//fix delayed
8941				if (cur_index == 3) cur_index = 2;
8942				
8943				if ($('.basket-items-list-header-filter > a.active').data('filter') == 'all') cur_index = 'all';
8944				
8945				$('.basket-items-list-header-filter .top_control .delete_all').data('type', cur_index);
8946				
8947				$('.basket-items-list-header-filter > a').on('click', function () {
8948					var index = $(this).index();
8949					
8950					//fix delayed
8951					if (index == 3) index = 2;
8952					
8953					if ($(this).data('filter') == 'all') index = 'all';
8954					
8955					$('.basket-items-list-header-filter .top_control .delete_all').data('type', index);
8956				});
8957			} else {
8958				var cur_index = $('.bx_sort_container a.current').index();
8959				$('.bx_sort_container .top_control .delete_all').data('type', cur_index);
8960				if ($('.bx_ordercart > div:eq(' + cur_index + ') table tbody tr td.item').length)
8961					$('.bx_sort_container .top_control .delete_all').css('opacity', 1);
8962				
8963				$('.bx_ordercart .bx_ordercart_coupon #coupon').wrap('<div class="input"></div>');
8964				
8965				$('.bx_sort_container > a').on('click', function () {
8966					var index = $(this).index();
8967					$('.bx_sort_container .top_control .delete_all').data('type', index);
8968					
8969					if ($('.bx_ordercart > div:eq(' + index + ') table tbody tr td.item').length)
8970						$('.bx_sort_container .top_control .delete_all').css('opacity', 1);
8971					else $('.bx_sort_container .top_control .delete_all').css('opacity', 0);
8972				});
8973			}
8974			
8975			$('.basket_print').on('click', function () {
8976				// window.open(location.pathname+"?print=Y",'_blank');
8977				window.print();
8978			});
8979			
8980			$('.delete_all').on('click', function () {
8981				if (arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N') {
8982					var eventdata = { goal: 'goal_basket_clear', params: { type: $(this).data('type') } };
8983					BX.onCustomEvent('onCounterGoals', [eventdata]);
8984				}
8985				$.post(
8986					arAsproOptions['SITE_DIR'] + 'ajax/action_basket.php',
8987					'TYPE=' + $(this).data('type') + '&CLEAR_ALL=Y',
8988					$.proxy(function (data) {
8989						location.reload();
8990					})
8991				);
8992			});
8993			
8994			$('.bx_item_list_section .bx_catalog_item').sliceHeight({
8995				row: '.bx_item_list_slide',
8996				item: '.bx_catalog_item'
8997			});
8998			
8999			BX.addCustomEvent('onAjaxSuccess', function (e) {
9000				checkMinPrice();
9001				
9002				var errorText = $.trim($('#warning_message').text());
9003				$('#basket_items_list .error_text').detach();
9004				if (errorText != '') {
9005					$('#warning_message').hide().text('');
9006					$('#basket_items_list').prepend('<div class="error_text">' + errorText + '</div>');
9007				}
9008				
9009				if (typeof e === 'object' && e && 'BASKET_DATA' in e) {
9010					if ($('#ajax_basket').length) {
9011						reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
9012					}
9013					if ($('#basket_line .basket_fly').length) {
9014						basketFly('open', 'N');
9015					}
9016				}
9017				if (checkCounters('google')) {
9018					BX.unbindAll(
9019						BX.Sale.BasketComponent.getEntity(
9020							BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
9021							'basket-checkout-button'
9022						)
9023					);
9024				}
9025			});
9026			if (checkCounters('google')) {
9027				BX.unbindAll(
9028					BX.Sale.BasketComponent.getEntity(
9029						BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
9030						'basket-checkout-button'
9031					)
9032				);
9033			}
9034			$(document).on(
9035				'click',
9036				'.bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout',
9037				function () {
9038					if (checkCounters('google')) {
9039						const gotoOrder = function () {
9040							BX.Sale.BasketComponent.checkOutAction();
9041						};
9042						checkoutCounter(1, 'start order', gotoOrder);
9043					}
9044				}
9045			);
9046		}
9047	};
9048}
9049
9050if (!funcDefined('checkMinPrice')) {
9051	checkMinPrice = function () {
9052		if (arAsproOptions['PAGES']['BASKET_PAGE']) {
9053			var summ_raw = 0,
9054				summ = 0;
9055			if ($('#allSum_FORMATED').length) {
9056				summ_raw = $('#allSum_FORMATED')
9057					.text()
9058					.replace(/[^0-9\.,]/g, '');
9059				summ = parseFloat(summ_raw);
9060				if ($('#basket_items').length) {
9061					var summ = 0;
9062					$('#basket_items tr').each(function () {
9063						if (typeof $(this).data('item-price') !== 'undefined' && $(this).data('item-price'))
9064							summ +=
9065								$(this).data('item-price') *
9066								$(this)
9067									.find('#QUANTITY_INPUT_' + $(this).attr('id'))
9068									.val();
9069					});
9070				}
9071				if (!$('.catalog_back').length)
9072					$('.bx_ordercart_order_pay_center').prepend(
9073						'<a href="' +
9074						arAsproOptions['PAGES']['CATALOG_PAGE_URL'] +
9075						'" class="catalog_back btn btn-default btn-lg white grey">' +
9076						BX.message('BASKET_CONTINUE_BUTTON') +
9077						'</a>'
9078					);
9079			}
9080			
9081			if (arAsproOptions['THEME']['SHOW_ONECLICKBUY_ON_BASKET_PAGE'] == 'Y')
9082				$('.basket-coupon-section').addClass('smallest');
9083			
9084			if (typeof BX.Sale !== 'undefined') {
9085				if (typeof BX.Sale.BasketComponent !== 'undefined' && typeof BX.Sale.BasketComponent.result !== 'undefined')
9086					summ = BX.Sale.BasketComponent.result.allSum;
9087			}
9088			
9089			if (arAsproOptions['PRICES']['MIN_PRICE']) {
9090				if (arAsproOptions['PRICES']['MIN_PRICE'] > summ) {
9091					var svgMinPrice =
9092						'<i class="svg  svg-inline-price colored_theme_svg" aria-hidden="true"><svg id="Group_278_copy" data-name="Group 278 copy" xmlns="http://www.w3.org/2000/svg" width="38" height="38" viewBox="0 0 38 38"><path id="Ellipse_305_copy_2" data-name="Ellipse 305 copy 2" class="clswm-1" d="M1851,561a19,19,0,1,1,19-19A19,19,0,0,1,1851,561Zm0-36a17,17,0,1,0,17,17A17,17,0,0,0,1851,525Zm3.97,10.375-0.03.266c-0.01.062-.02,0.127-0.03,0.188l-0.94,7.515h0a2.988,2.988,0,0,1-5.94,0H1848l-0.91-7.525c-0.01-.041-0.01-0.086-0.02-0.128l-0.04-.316h0.01c-0.01-.
9092125-0.04-0.246-0.04-0.375a4,4,0,0,1,8,0c0,0.129-.03.25-0.04,0.375h0.01ZM1851,533a2,2,0,0,0-2,2,1.723,1.723,0,0,0,.06.456L1850,543a1,1,0,0,0,2,0l0.94-7.544A1.723,1.723,0,0,0,1853,535,2,2,0,0,0,1851,533Zm0,14a3,3,0,1,1-3,3A3,3,0,0,1,1851,547Zm0,4a1,1,0,1,0-1-1A1,1,0,0,0,1851,551Z" transform="translate(-1832 -523)"></path>  <path class="clswm-2 op-cls" d="M1853,543l-1,1h-2l-1-1-1-8,1-2,1-1h2l1,1,1,2Zm-1,5,1,1v2l-1,1h-2l-1-1v-2l1-1h2Z" transform="translate(-1832 -523)"></path></svg></i>';
9093					if ($('.oneclickbuy.fast_order').length) $('.oneclickbuy.fast_order').remove();
9094					
9095					if ($('.basket-checkout-container').length) {
9096						if (!$('.icon_error_wrapper').length) {
9097							$('.basket-checkout-block.basket-checkout-block-btn').html(
9098								'<div class="icon_error_wrapper"><div class="icon_error_block">' +
9099								svgMinPrice +
9100								BX.message('MIN_ORDER_PRICE_TEXT').replace(
9101									'#PRICE#',
9102									jsPriceFormat(arAsproOptions['PRICES']['MIN_PRICE'])
9103								) +
9104								'</div></div>'
9105							);
9106						}
9107					} else {
9108						if (!$('.icon_error_wrapper').length && typeof jsPriceFormat !== 'undefined') {
9109							$('.bx_ordercart_order_pay_center').prepend(
9110								'<div class="icon_error_wrapper"><div class="icon_error_block">' +
9111								svgMinPrice +
9112								BX.message('MIN_ORDER_PRICE_TEXT').replace(
9113									'#PRICE#',
9114									jsPriceFormat(arAsproOptions['PRICES']['MIN_PRICE'])
9115								) +
9116								'</div></div>'
9117							);
9118						}
9119						if ($('.bx_ordercart_order_pay .checkout').length) $('.bx_ordercart_order_pay .checkout').remove();
9120					}
9121				} else {
9122					if ($('.icon_error_wrapper').length) $('.icon_error_wrapper').remove();
9123					
9124					if ($('.basket-checkout-container').length) {
9125						if (
9126							!$('.oneclickbuy.fast_order').length &&
9127							arAsproOptions['THEME']['SHOW_ONECLICKBUY_ON_BASKET_PAGE'] == 'Y' &&
9128							!$('.basket-btn-checkout.disabled').length
9129						)
9130							$('.basket-checkout-section-inner').append(
9131								'<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
9132								BX.message('BASKET_QUICK_ORDER_BUTTON') +
9133								'</span></div>'
9134							);
9135					} else {
9136						if ($('.bx_ordercart_order_pay .checkout').length)
9137							$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity', '1');
9138						else
9139							$('.bx_ordercart_order_pay_center').append(
9140								'<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">' +
9141								BX.message('BASKET_ORDER_BUTTON') +
9142								'</a>'
9143							);
9144						if (
9145							!$('.oneclickbuy.fast_order').length &&
9146							arAsproOptions['THEME']['SHOW_ONECLICKBUY_ON_BASKET_PAGE'] == 'Y'
9147						)
9148							$('.bx_ordercart_order_pay_center').append(
9149								'<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
9150								BX.message('BASKET_QUICK_ORDER_BUTTON') +
9151								'</span>'
9152							);
9153					}
9154				}
9155			} else {
9156				if ($('.basket-checkout-container').length) {
9157					if (
9158						!$('.oneclickbuy.fast_order').length &&
9159						arAsproOptions['THEME']['SHOW_ONECLICKBUY_ON_BASKET_PAGE'] == 'Y' &&
9160						!$('.basket-btn-checkout.disabled').length
9161					)
9162						$('.basket-checkout-section-inner').append(
9163							'<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
9164							BX.message('BASKET_QUICK_ORDER_BUTTON') +
9165							'</span></div>'
9166						);
9167				} else {
9168					$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity', '1');
9169					if (!$('.oneclickbuy.fast_order').length && arAsproOptions['THEME']['SHOW_ONECLICKBUY_ON_BASKET_PAGE'] == 'Y')
9170						$('.bx_ordercart_order_pay_center').append(
9171							'<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
9172							BX.message('BASKET_QUICK_ORDER_BUTTON') +
9173							'</span>'
9174						);
9175				}
9176			}
9177			
9178			showBasketShareBtn();
9179			showBasketHeadingBtn();
9180			
9181			$('#basket-root .basket-checkout-container .basket-checkout-section .basket-checkout-block .basket-btn-checkout');
9182			$('#basket-root .basket-checkout-container').addClass('visible');
9183		}
9184	};
9185}
9186
9187var isFrameDataReceived = false;
9188if (typeof window.frameCacheVars !== 'undefined') {
9189	BX.addCustomEvent(window, 'onFrameDataRequestFail', function (response) {
9190		console.log(response);
9191	});
9192	
9193	BX.addCustomEvent('onFrameDataReceivedBefore', function () {
9194		// stop ya metrika webvisor DOM indexer
9195		pauseYmObserver();
9196	});
9197	
9198	BX.addCustomEvent('onFrameDataReceived', function (json) {
9199		initFull();
9200		
9201		CheckTopMenuDotted();
9202		
9203		checkLinkedArticles();
9204		checkLinkedBlocks('.linked-banners-list');
9205		
9206		if ($('.logo-row.v2').length) {
9207			$(window).resize(); // need to check resize flexslider & menu
9208			setTimeout(function () {
9209				CheckTopMenuDotted();
9210			}, 100);
9211		}
9212		
9213		if (funcDefined('setNewHeader')) {
9214			if (typeof BX === 'object' && (BX.message('TYPE_SKU') != 'TYPE_1' || BX.message('HAS_SKU_PROPS') != 'Y')) {
9215				setNewHeader();
9216			} else {
9217				var objNameWrapper = $('.bx_catalog_item_scu[id]');
9218				if (objNameWrapper.length) {
9219					var id = 'ob' + objNameWrapper.attr('id').replace('_skudiv', '');
9220					if (id && window[id] !== undefined) {
9221						var obj = window[id].offers[window[id].offerNum];
9222						if (obj !== undefined) {
9223							setNewHeader(obj);
9224						}
9225					}
9226				}
9227			}
9228		}
9229		
9230		// resume ya metrika webvisor
9231		// (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload)
9232		setTimeout(resumeYmObserver, 400);
9233		
9234		isFrameDataReceived = true;
9235	});
9236} else {
9237	$(document).ready(initFull);
9238}
9239
9240if (!funcDefined('setHeightBlockSlider')) {
9241	setHeightBlockSlider = function () {
9242		/*$(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item-title" });
9243    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item_info" });
9244    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".catalog_item" });
9245
9246    var sliderWidth = $(document).find(".specials.tab_slider_wrapp").outerWidth();
9247
9248    var iCountTabs = $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").length;
9249
9250    if (iCountTabs <= 1) {
9251      $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").css("height", "");
9252
9253      var itemsButtonsHeight = 0;
9254      if ($(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button").length) {
9255        $(document)
9256          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
9257          .css("height", "auto");
9258        itemsButtonsHeight = $(document)
9259          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
9260          .height();
9261        $(document)
9262          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
9263          .css("height", "");
9264      }
9265      var tabsContentUnhover = $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").height() * 1;
9266      var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
9267      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-unhover", tabsContentUnhover);
9268      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-hover", tabsContentHover);
9269      $(document).find(".specials.tab_slider_wrapp .tabs_content").height(tabsContentUnhover);
9270      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport").height(tabsContentUnhover);
9271    } else {
9272      $(document)
9273        .find(".specials.tab_slider_wrapp .tabs_content > li.cur")
9274        .each(function () {
9275          var _th = $(this);
9276          _th.css("height", "");
9277
9278          var itemsButtonsHeight = 0;
9279          if (_th.find(".tabs_slider li .footer_button").length) {
9280            _th.find(".tabs_slider li .footer_button").css("height", "auto");
9281            itemsButtonsHeight = _th.find(".tabs_slider li .footer_button").height();
9282            _th.find(".tabs_slider li .footer_button").css("height", "");
9283          }
9284
9285          var tabsContentUnhover = _th.height() * 1;
9286          var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
9287          _th.attr("data-unhover", tabsContentUnhover);
9288          _th.attr("data-hover", tabsContentHover);
9289          _th.parent().height(tabsContentUnhover);
9290          _th.find(".flex-viewport").height(tabsContentUnhover);
9291        });
9292    }*/
9293	};
9294}
9295
9296if (!funcDefined('checkTopFilter')) {
9297	checkTopFilter = function () {
9298	};
9299}
9300
9301if (!funcDefined('checkStickyFooter')) {
9302	checkStickyFooter = function () {
9303	};
9304}
9305
9306if (!funcDefined('checkLinkedArticles')) {
9307	checkLinkedArticles = function () {
9308		try {
9309			if ($('.linked-blog-list.content .item-views').length) {
9310				var mobileRow = $('.linked-blog-list').data('mobile_row'),
9311					desktopRow = $('.linked-blog-list').data('desktop_row'),
9312					parentBlock = $('.ajax_load .js_append'),
9313					widthRow = parentBlock.getFloatWidth(),
9314					elementWidthRow = parentBlock.find('> .item:eq(0)').getFloatWidth(),
9315					elementsCount = parentBlock.find('> .item').length,
9316					slice = Math.floor(widthRow / elementWidthRow),
9317					rowInsertCount = Math.floor(elementsCount / slice),
9318					bCalculateRows = false;
9319				if (window.matchMedia('(max-width: 767px)').matches) {
9320					if (!mobileRow && desktopRow) {
9321						mobileRow = desktopRow;
9322					}
9323					if (mobileRow && mobileRow <= rowInsertCount) {
9324						rowInsertCount = slice * mobileRow;
9325						bCalculateRows = true;
9326					}
9327				} else {
9328					if (desktopRow && desktopRow <= rowInsertCount) {
9329						rowInsertCount = slice * desktopRow;
9330						bCalculateRows = true;
9331					}
9332				}
9333				if (!bCalculateRows) {
9334					rowInsertCount = elementsCount;
9335				}
9336				
9337				var linkedBlock = '.linked-blog-list';
9338				var blockInItems = parentBlock.find(linkedBlock);
9339				if (blockInItems.length) {
9340					$(blockInItems).insertAfter(parentBlock.find('> .item:eq(' + (rowInsertCount - 1) + ')'));
9341					setTimeout(function () {
9342						$(blockInItems).addClass('visible');
9343					}, 0);
9344				} else {
9345					var cloneBlock = $(linkedBlock).clone();
9346					var owlBlock = cloneBlock.find('.owl-carousel-wait');
9347					cloneBlock.insertAfter(parentBlock.find('> .item:eq(' + (rowInsertCount - 1) + ')'));
9348					owlBlock.removeClass('owl-carousel-wait').addClass('owl-carousel');
9349					setTimeout(function () {
9350						cloneBlock.addClass('visible');
9351						InitOwlSlider();
9352						owlBlock.removeClass('loader_circle');
9353					}, 1);
9354				}
9355			}
9356		} catch (e) {
9357			console.error(e);
9358		}
9359	};
9360}
9361
9362if (!funcDefined('checkLinkedBlocks')) {
9363	checkLinkedBlocks = function (linkedBlock) {
9364		if (!linkedBlock) linkedBlock = '.linked-banners-list';
9365		
9366		try {
9367			if ($(linkedBlock + '.content' + ' div').length) {
9368				var mobileRow = $(linkedBlock).data('mobile_row'),
9369					desktopRow = $(linkedBlock).data('desktop_row'),
9370					wrapperBlock = $('.ajax_load .js_wrapper_items'),
9371					parentBlock = $('.ajax_load .js_append'),
9372					widthRow = wrapperBlock.getFloatWidth(),
9373					elementWidthRow = parentBlock.find('> .item:eq(0)').getFloatWidth(),
9374					elementsCount = parentBlock.find('> .item').length,
9375					slice = Math.floor(widthRow / elementWidthRow),
9376					rowInsertCount = Math.floor(elementsCount / slice),
9377					bCalculateRows = false;
9378				if (window.matchMedia('(max-width: 767px)').matches) {
9379					if (!mobileRow && desktopRow) {
9380						mobileRow = desktopRow;
9381					}
9382					if (mobileRow && mobileRow <= rowInsertCount) {
9383						rowInsertCount = slice * mobileRow;
9384						bCalculateRows = true;
9385					}
9386				} else {
9387					if (desktopRow && desktopRow <= rowInsertCount) {
9388						rowInsertCount = slice * desktopRow;
9389						bCalculateRows = true;
9390					}
9391				}
9392				if (!bCalculateRows) {
9393					rowInsertCount = elementsCount;
9394				}
9395				var blockInItems = parentBlock.find(linkedBlock);
9396				if (blockInItems.length) {
9397					$(blockInItems).insertAfter(parentBlock.find('> .item:eq(' + (rowInsertCount - 1) + ')'));
9398					setTimeout(function () {
9399						$(blockInItems).addClass('visible');
9400					}, 0);
9401				} else {
9402					var cloneBlock = $(linkedBlock).clone();
9403					var owlBlock = cloneBlock.find('.owl-carousel-wait');
9404					cloneBlock.insertAfter(parentBlock.find('> .item:eq(' + (rowInsertCount - 1) + ')'));
9405					owlBlock.removeClass('owl-carousel-wait').addClass('owl-carousel');
9406					setTimeout(function () {
9407						cloneBlock.addClass('visible');
9408						InitOwlSlider();
9409						owlBlock.removeClass('loader_circle');
9410					}, 1);
9411				}
9412			}
9413		} catch (e) {
9414			console.error(e);
9415		}
9416	};
9417}
9418
9419/* EVENTS */
9420var timerResize = false,
9421	ignoreResize = [];
9422$(window).resize(function () {
9423	checkLinkedArticles();
9424	checkLinkedBlocks('.linked-banners-list');
9425	
9426	// here immediate functions
9427	if (!ignoreResize.length) {
9428		if (timerResize) {
9429			clearTimeout(timerResize);
9430			timerResize = false;
9431		}
9432		timerResize = setTimeout(function () {
9433			// here delayed functions in event
9434			BX.onCustomEvent('onWindowResize', false);
9435		}, 50);
9436	}
9437});
9438
9439var timerScroll = false,
9440	ignoreScroll = [],
9441	documentScrollTopLast = window.pageYOffset,
9442	startScroll = 0;
9443$(window).scroll(function () {
9444	// here immediate functions
9445	documentScrollTopLast = window.pageYOffset;
9446	SetFixedAskBlock();
9447	
9448	if (!ignoreScroll.length) {
9449		if (timerScroll) {
9450			clearTimeout(timerScroll);
9451			timerScroll = false;
9452		}
9453		timerScroll = setTimeout(function () {
9454			// here delayed functions in event
9455			BX.onCustomEvent('onWindowScroll', false);
9456		}, 50);
9457	}
9458});
9459
9460BX.addCustomEvent('onWindowResize', function (eventdata) {
9461	try {
9462		ignoreResize.push(true);
9463		
9464		CheckTabActive();
9465		CheckTopMenuFullCatalogSubmenu();
9466		
9467		if (window.matchMedia('(min-width:768px)').matches) {
9468			closeYandexMap();
9469		}
9470		
9471		if ($('nav.mega-menu.sliced').length) $('nav.mega-menu.sliced').removeClass('initied');
9472		CheckTopMenuDotted();
9473		
9474		CheckTopVisibleMenu();
9475		
9476		checkScrollToTop();
9477		CheckObjectsSizes();
9478		
9479		initSly();
9480		
9481		// checkVerticalMobileFilter();
9482		if (typeof checkMobilePhone === 'function') {
9483			checkMobilePhone();
9484		}
9485		checkTopFilter();
9486		if (typeof checkMobileFilter === 'function') {
9487			checkMobileFilter();
9488		}
9489		
9490		if (typeof window['stickySidebar'] !== 'undefined') {
9491			if (window.matchMedia('(max-width: 991px)').matches) {
9492				window['stickySidebar'].destroy();
9493			} else {
9494				window['stickySidebar'].bindEvents();
9495			}
9496		}
9497		
9498		if ($('.flexslider.wsmooth').length) {
9499			$('.flexslider.wsmooth').each(function () {
9500				$(this).data('flexslider').smoothHeight();
9501			});
9502		}
9503		
9504		if (window.matchMedia('(min-width: 767px)').matches) $('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
9505		
9506		if (window.matchMedia('(max-width: 767px)').matches) $('.wrapper_middle_menu.wrap_menu').addClass('mobile');
9507		
9508		if ($('#basket_form').length && $(window).outerWidth() <= 600) {
9509			$('#basket_form .tabs_content.basket > li.cur td').each(function () {
9510				$(this).css('width', '');
9511			});
9512		}
9513		
9514		$('.bx_filter_section .bx_filter_select_container').each(function () {
9515			var prop_id = $(this).closest('.bx_filter_parameters_box').attr('property_id');
9516			if ($('#smartFilterDropDown' + prop_id).length) {
9517				$('#smartFilterDropDown' + prop_id).css('max-width', $(this).width());
9518			}
9519		});
9520	} catch (e) {
9521		console.log(e);
9522	} finally {
9523		ignoreResize.pop();
9524	}
9525});
9526
9527BX.addCustomEvent('onWindowScroll', function (eventdata) {
9528	try {
9529		ignoreScroll.push(true);
9530	} catch (e) {
9531	} finally {
9532		ignoreScroll.pop();
9533	}
9534});
9535
9536BX.addCustomEvent('onSlideInit', function (eventdata) {
9537	try {
9538		ignoreResize.push(true);
9539		if (eventdata) {
9540			var slider = eventdata.slider;
9541			if (slider) {
9542				if (slider.hasClass('small-gallery')) $(window).resize();
9543				// add classes .curent & .shown to slide
9544				slider.find('.item').removeClass('current');
9545				var curSlide = slider.find('.item.flex-active-slide'),
9546					curSlideId = curSlide.attr('id'),
9547					nav = slider.find('.flex-direction-nav');
9548				
9549				curSlide.addClass('current');
9550				
9551				slider.find('.visible').css('opacity', '1');
9552				slider.find('.height0').css('height', 'auto');
9553				
9554				if (curSlide.hasClass('shown')) {
9555					slider.find('.item.clone[id=' + curSlideId + '_clone]').addClass('shown');
9556				}
9557				
9558				curSlide.addClass('shown');
9559			}
9560		}
9561	} catch (e) {
9562	} finally {
9563		ignoreResize.pop();
9564	}
9565});
9566
9567BX.addCustomEvent('onCounterGoals', function (eventdata) {
9568	if (arAsproOptions['THEME']['YA_GOALS'] == 'Y' && arAsproOptions['THEME']['YA_COUNTER_ID']) {
9569		var idCounter = arAsproOptions['THEME']['YA_COUNTER_ID'];
9570		idCounter = parseInt(idCounter);
9571		
9572		if (typeof eventdata != 'object') eventdata = { goal: 'undefined' };
9573		
9574		if (typeof eventdata.goal != 'string') eventdata.goal = 'undefined';
9575		
9576		if (idCounter) {
9577			try {
9578				waitCounter(idCounter, 50, function () {
9579					var obCounter = window['yaCounter' + idCounter];
9580					if (typeof obCounter == 'object') {
9581						obCounter.reachGoal(eventdata.goal);
9582					}
9583				});
9584			} catch (e) {
9585				console.error(e);
9586			}
9587		} else {
9588			console.info('Bad counter id!', idCounter);
9589		}
9590	}
9591});
9592
9593var onCaptchaVerifyinvisible = function (response) {
9594	$('.g-recaptcha:last').each(function () {
9595		var id = $(this).attr('data-widgetid');
9596		if (typeof id !== 'undefined' && response) {
9597			if (!$(this).closest('form').find('.g-recaptcha-response').val())
9598				$(this).closest('form').find('.g-recaptcha-response').val(response);
9599			if ($('iframe[src*=recaptcha]').length) {
9600				$('iframe[src*=recaptcha]').each(function () {
9601					var block = $(this).parent().parent();
9602					if (!block.hasClass('grecaptcha-badge')) block.css('width', '100%');
9603				});
9604			}
9605			$(this).closest('form').submit();
9606		}
9607	});
9608};
9609
9610var onCaptchaVerifynormal = function (response) {
9611	$('.g-recaptcha').each(function () {
9612		var id = $(this).attr('data-widgetid');
9613		if (typeof id !== 'undefined') {
9614			if (grecaptcha.getResponse(id) != '') {
9615				$(this).closest('form').find('.recaptcha').valid();
9616			}
9617		}
9618	});
9619};
9620
9621BX.addCustomEvent('onSubmitForm', function (eventdata) {
9622	try {
9623		if (!window.renderRecaptchaById || !window.asproRecaptcha || !window.asproRecaptcha.key) {
9624			eventdata.form.submit();
9625			$(eventdata.form).closest('.form').addClass('sending');
9626			return true;
9627		}
9628		
9629		if (window.asproRecaptcha.params.recaptchaSize == 'invisible' && $(eventdata.form).find('.g-recaptcha').length) {
9630			if ($(eventdata.form).find('.g-recaptcha-response').val()) {
9631				eventdata.form.submit();
9632				$(eventdata.form).closest('.form').addClass('sending');
9633				return true;
9634			} else {
9635				if (typeof grecaptcha != 'undefined') {
9636					grecaptcha.execute($(eventdata.form).find('.g-recaptcha').data('widgetid'));
9637				} else {
9638					return false;
9639				}
9640			}
9641		} else {
9642			eventdata.form.submit();
9643			$(eventdata.form).closest('.form').addClass('sending');
9644			return true;
9645		}
9646	} catch (e) {
9647		console.error(e);
9648		return true;
9649	}
9650});
9651
9652$(document).on('click', '.catalog_reviews_extended span.dropdown-select__list-link', function () {
9653	var _this = $(this);
9654	var ajaxData = _this.data('review_sort_ajax');
9655	var container = _this.closest('.blog-comments');
9656	containerId = container.attr('id');
9657	if (containerId !== undefined && containerId) {
9658		ajaxData.containerId = containerId;
9659	}
9660	if (ajaxData !== undefined) {
9661		container.addClass('blur');
9662		$.ajax({
9663			type: 'post',
9664			data: ajaxData,
9665			success: function (html) {
9666				$('#reviews_sort_continer').html(html);
9667				container.removeClass('blur');
9668			},
9669		});
9670	}
9671});
9672
9673$(document).on('change', '.filter-panel__sort-form input', function () {
9674	const _this = $(this);
9675	const $form = _this.closest('form')[0];
9676	const $container = _this.closest('.blog-comments');
9677	const method = $form.method;
9678	const formData = new FormData($form);
9679	
9680	if ($container.length) {
9681		$container.addClass('blur');
9682		formData.append('containerId', $container.attr('id'));
9683	}
9684	
9685	$.ajax({
9686		data: formData,
9687		type: method,
9688		processData: false,
9689		contentType: false,
9690		success: function (html) {
9691			$('#reviews_sort_continer').html(html);
9692			$container.removeClass('blur');
9693		},
9694	});
9695});
9696
9697$(document).on('click', '.rating_vote:not(.disable)', function () {
9698	var _this = $(this);
9699	var action = _this.data('action');
9700	var parent = _this.closest('.rating-vote');
9701	var commentId = parent.data('comment_id');
9702	var userId = parent.data('user_id');
9703	var ajaxUrl = parent.data('ajax_url');
9704	$.ajax({
9705		url: ajaxUrl,
9706		dataType: 'json',
9707		data: { commentId: commentId, action: action, userId: userId },
9708		success: function (data) {
9709			if (data.LIKE !== undefined) {
9710				_this.siblings('.rating-vote-result.like').text(data.LIKE);
9711			}
9712			if (data.DISLIKE !== undefined) {
9713				_this.siblings('.rating-vote-result.dislike').text(data.DISLIKE);
9714			}
9715			if (data.SET_ACTIVE_LIKE !== undefined) {
9716				parent.find('.rating_vote.plus').toggleClass('active');
9717			}
9718			if (data.SET_ACTIVE_DISLIKE !== undefined) {
9719				parent.find('.rating_vote.minus').toggleClass('active');
9720			}
9721		},
9722	});
9723});
9724
9725function fileInputInit(message, reviews = 'N') {
9726	$('input[type=file]:not(".uniform-ignore")').uniform({
9727		fileButtonHtml: BX.message('JS_FILE_BUTTON_NAME'),
9728		fileDefaultHtml: message,
9729	});
9730	$(document).on('change', 'input[type=file]', function () {
9731		if ($(this).val()) {
9732			$(this).closest('.uploader').addClass('files_add');
9733		} else {
9734			$(this).closest('.uploader').removeClass('files_add');
9735		}
9736	});
9737	$('.form .add_file').on('click', function () {
9738		var index = $(this).closest('.form-group').find('input[type=file]').length;
9739		let inputFormGroup = $(this).closest('.form-group').find('.input');
9740		if (reviews === 'Y') {
9741			inputFormGroup.append(
9742				'<input type="file" class="form-control" tabindex="3" id="comment_images" name="comment_images[]" value=""  />'
9743			);
9744		} else {
9745			inputFormGroup.append(
9746				'<input type="file" id="POPUP_FILE' + index + '" name="FILE_n' + index + '"   class="inputfile" value="" />'
9747			);
9748		}
9749		
9750		$('input[type=file]:not(".uniform-ignore")').uniform({
9751			fileButtonHtml: BX.message('JS_FILE_BUTTON_NAME'),
9752			fileDefaultHtml: message,
9753		});
9754	});
9755}
9756
9757$(document).on('click', '.js-basket-del-preorders', function () {
9758	BX.showWait('popup_iframe_wrapper');
9759	
9760	$.ajax({
9761		url: arAsproOptions["SITE_DIR"] + "ajax/delPreordersBasket.php",
9762		type: "POST",
9763		success: function (data) {
9764			if (data.RESULT == 'OK') {
9765				location.reload();
9766			} else {
9767				alert('Произошла ошибка, попробуйте еще раз или перезагрузите страницу');
9768			}
9769		},
9770	});
9771});
9772
9773$(document).on('click', '.js-change-preorder-price', function () {
9774	BX.showWait('popup_iframe_wrapper');
9775	
9776	const _this = $(this);
9777	
9778	$.ajax({
9779		url: arAsproOptions["SITE_DIR"] + "ajax/setSessionValue.php",
9780		type: "POST",
9781		data: {
9782			'key': 'preorder_price',
9783			'value': _this.data('price_type')
9784		},
9785		success: function (data) {
9786			if (data.result === true) {
9787				location.reload();
9788			} else {
9789				alert('Произошла ошибка, попробуйте еще раз или перезагрузите страницу');
9790			}
9791		},
9792	});
9793});
9794
9795function declOfNum(number, titles) {
9796	var cases = [2, 0, 1, 1, 1, 2];
9797	return number + ' ' + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]];
9798}
9799
9800function array_values_js(input) {
9801	var tmp_arr = new Array(),
9802		cnt = 0;
9803	for (key in input) {
9804		tmp_arr[cnt] = input[key];
9805		cnt++;
9806	}
9807	
9808	return tmp_arr;
9809}

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.