PageSourceSearch

https://booksme.es/local/templates/aspro_max/js/main.js?1754655125303004

js booksme.es collected 2026-09-29 19:05:09 UTC 303,004 bytes, 9,297 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)
11		arAsproOptions["SITE_DIR"] = $('body').data('site');
12}
13
14InitLazyLoad = function() {}
15
16$(document).on('change', '.uploader input[type=file]', function(){
17	if(!$(this).next().length || !$(this).next().hasClass('resetfile')){
18		$('<span class="resetfile"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="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>').insertAfter($(this));
19	}
20});
21
22$(document).on('click', '.uploader.files_add input[type=file] + .resetfile', function(){
23	var $input = $(this).prev();
24	$input.val('');
25	$.uniform.update($input);
26	$(this).remove();
27});
28
29$(document).on('click', '.top_block h3', function(){
30	if(window.matchMedia('(max-width: 550px)').matches)
31	{
32		var $this = $(this);
33		var a = $this.siblings('a');
34		if(a.length) {
35			a[0].click();
36		}
37	}
38});
39
40$(document).on('click', '.bx-yandex-view-layout .yandex-map__mobile-opener', function(){
41	if($(this).hasClass('closer')) {
42		closeYandexMap();
43	} else {
44		openYandexMap(this);
45	}
46});
47
48function openYandexMap(element) {
49	var $this = $(element);
50	if($this.hasClass('closer'))
51		return;
52	var currentMap = $this.parents('.bx-yandex-view-layout');
53	var mapId = currentMap.find('.bx-yandex-map').attr('id');
54	window.openedYandexMapFrame = mapId;
55	var mapContainer = $('<div data-mapId="'+mapId+'"></div>');
56	if(!$('div[data-mapId='+mapId+']').length) {
57		currentMap.after(mapContainer);
58	}
59	var yandexMapFrame = $('<div class="yandex-map__frame"></div>');
60	$('body .wrapper1').append(yandexMapFrame);
61	currentMap.appendTo(yandexMapFrame);
62	currentMap.find('.yandex-map__mobile-opener').addClass('closer');
63	window.map.container.fitToViewport();
64}
65
66function closeYandexMap() {
67	var yandexMapFrame = $('.yandex-map__frame');
68	if(yandexMapFrame.length) {
69		var currentMap = yandexMapFrame.find('.bx-yandex-view-layout');
70		var yandexMapContainer = $('div[data-mapId='+window.openedYandexMapFrame+']');
71	
72		currentMap.appendTo(yandexMapContainer);
73		yandexMapFrame.remove();
74		currentMap.find('.yandex-map__mobile-opener').removeClass('closer');
75		if(window.map) {
76			window.map.container.fitToViewport();
77		}
78	}
79}
80
81function throttle(f, t) {
82  return function (args) {
83    let previousCall = this.lastCall;
84    this.lastCall = Date.now();
85    if (previousCall === undefined // function is being called for the first time
86        || (this.lastCall - previousCall) > t) { // throttle time has elapsed
87      f(args);
88    }
89  }
90}
91
92function debounce(f, t) {
93  return function (args) {
94    let previousCall = this.lastCall;
95    this.lastCall = Date.now();
96    if (previousCall && ((this.lastCall - previousCall) <= t)) {
97      clearTimeout(this.lastCallTimer);
98    }
99    this.lastCallTimer = setTimeout(function() {
100			f(args);
101		}, t);
102  }
103}
104
105$(document).on('click', '.flex-control-nav.flex-control-js-click li a:not(.flex-active)', function(e) {
106	var _this = $(this);
107	var itemIndex = _this.data('index') ? _this.data('index') : _this.closest('li').index();
108
109	var block = '';
110	var blocks = _this.closest('.items').find('> .item');
111	var activeBlock = _this.closest('.items').find('.item.active');
112
113	var activeLi = _this.closest('.flex-control-nav').find('.flex-active');
114
115	activeBlock.fadeOut(function(){
116		activeBlock.removeClass('active');
117
118		block = blocks.eq(itemIndex);
119		if (block.length) {
120			block.fadeIn(function(){
121				block.addClass('active');
122			})
123		}
124
125		_this.addClass('flex-active');
126		activeLi.removeClass('flex-active');
127	});
128
129	e.preventDefault();
130});
131
132$(document).on('mouseenter', '#headerfixed .menu-item.wide_menu', function() {
133	var _this = $(this);
134	setTimeout(
135		function() {
136			var dropdownMenu = _this.find('.wrap > .dropdown-menu');
137			var menuOffset = dropdownMenu[0].getBoundingClientRect();
138			var headerOffset = document.getElementById('headerfixed').getBoundingClientRect();
139			var windowHeight = document.documentElement.clientHeight;
140
141			if(menuOffset.height + headerOffset.height > windowHeight) {
142				var maxHeight = windowHeight - headerOffset.height;
143				dropdownMenu.css({
144					'max-height': maxHeight,
145				});
146				dropdownMenu.find('.menu-navigation').css({'max-height': maxHeight,});
147				dropdownMenu.find('.customScrollbar').css({'max-height': maxHeight,});
148				dropdownMenu.find('.menu-wrapper.menu-type-4 > li').css({'min-height': 'auto',});
149			} else {
150				dropdownMenu.css({
151					'max-height': '',
152				});
153				dropdownMenu.find('.menu-navigation').css({'max-height': '',});
154				dropdownMenu.find('.customScrollbar').css({'max-height': '',});
155				dropdownMenu.find('.menu-wrapper.menu-type-4 > li').css({'min-height': '',});
156			}
157		},
158	300);
159
160
161});
162
163BX.addCustomEvent('onAjaxSuccess', function(data) {
164	if(typeof(data) === 'object' && data !== null) {
165		if(typeof(data.BASKET_REFRESHED) !== undefined && data.BASKET_REFRESHED === true) {
166			var basketCounts = data.BASKET_DATA.BASKET_ITEMS_COUNT;
167			reloadBasketCounters(basketCounts);
168		}
169	}
170});
171
172if(!funcDefined('parseUrlQuery')){
173	parseUrlQuery=function() {
174	    var data = {};
175	    if(location.search) {
176	        var pair = (location.search.substr(1)).split('&');
177	        for(var i = 0; i < pair.length; i ++) {
178	            var param = pair[i].split('=');
179	            data[param[0]] = param[1];
180			}
181	    }
182	    return data;
183	}
184}
185
186if(!funcDefined('setLocationSKU')){
187	function setLocationSKU(ID, urlParam){
188		if(urlParam === undefined)
189			urlParam = 'oid';
190
191		var objUrl = parseUrlQuery(),
192			j = 0,
193			prefix = '',
194			query_string = '',
195			url = '';
196
197			objUrl[urlParam] = ID;
198
199			for(var i in objUrl)
200			{
201				if(parseInt(j)>0)
202					prefix = '&';
203				query_string = query_string + prefix + i + '='+ objUrl[i];
204				j++;
205			}
206			if(query_string)
207			{
208				url = location.pathname+'?'+query_string + location.hash;
209			}
210			try {
211				//history.pushState(null, null, url);
212				history.replaceState(null, null, url);
213				return;
214			} catch(e) {}
215			location.hash = '#' + url.substr(1);
216	}
217}
218
219if(!funcDefined('ShowOverlay')){
220	ShowOverlay = function(){
221		$('<div class="jqmOverlay waiting"></div>').appendTo('body');
222	}
223}
224
225if(!funcDefined('HideOverlay')){
226	HideOverlay = function(){
227		$('.jqmOverlay').detach();
228	}
229}
230
231if(!funcDefined('trimPrice')){
232	var trimPrice = function trimPrice(s){
233		s=s.split(" ").join("");
234		s=s.split("&nbsp;").join("");
235		return s;
236	}
237}
238
239if(!funcDefined('pauseYmObserver')){
240	// pause ya metrika webvisor MutationObserver callback (DOM indexer)
241	// use before insert html with some animation
242	pauseYmObserver = function(){
243		if(
244			typeof MutationObserver === 'function' &&
245			typeof MutationObserver.observers === 'object' &&
246			typeof MutationObserver.observers.ym === 'object'
247		){
248			if(typeof pauseYmObserver.cnt === 'undefined'){
249				pauseYmObserver.cnt = 0;
250			}
251
252			++pauseYmObserver.cnt;
253
254			if(!MutationObserver.observers.ym.paused){
255				MutationObserver.observers.ym.pause();
256			}
257		}
258	}
259}
260
261if(!funcDefined('resumeYmObserver')){
262	// resume ya metrika webvisor MutationObserver callback
263	// use when animation finished
264	resumeYmObserver = function(){
265		if(
266			typeof MutationObserver === 'function' &&
267			typeof MutationObserver.observers === 'object' &&
268			typeof MutationObserver.observers.ym === 'object'
269		){
270			if(typeof pauseYmObserver.cnt === 'undefined'){
271				pauseYmObserver.cnt = 1;
272			}
273
274			pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0;
275
276			if(!pauseYmObserver.cnt && MutationObserver.observers.ym.paused){
277				MutationObserver.observers.ym.resume();
278			}
279		}
280	}
281}
282
283if(!funcDefined('markProductRemoveBasket')){
284	var markProductRemoveBasket = function markProductRemoveBasket(id){
285		$('.in-cart[data-item='+id+']').hide();
286		$('.to-cart[data-item='+id+']').show();
287		$('.to-cart[data-item='+id+']').closest('.button_block').removeClass('wide');
288		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').show();
289		$('.counter_block[data-item='+id+']').closest('.counter_block_inner').show();
290		$('.counter_block[data-item='+id+']').show();
291		$('.in-subscribe[data-item='+id+']').hide();
292		$('.to-subscribe[data-item='+id+']').show();
293		//$('.wish_item[data-item='+id+']').removeClass("added");
294		$('.wish_item[data-item='+id+'] .value:not(.added)').show();
295		$('.wish_item[data-item='+id+'] .value.added').hide();
296		$('.wish_item.to[data-item='+id+']').show();
297		$('.wish_item.in[data-item='+id+']').hide();
298		$('.banner_buttons.with_actions .wraps_buttons[data-id='+id+'] .basket_item_add').removeClass('added');
299		$('.banner_buttons.with_actions .wraps_buttons[data-id='+id+'] .wish_item_add').removeClass('added');
300	}
301}
302
303if(!funcDefined('markProductAddBasket')){
304	var markProductAddBasket = function markProductAddBasket(id){
305		$('.to-cart[data-item='+id+']').hide();
306		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block_inner').hide();
307		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').hide();
308		$('.to-cart[data-item='+id+']').closest('.button_block').addClass('wide');
309		$('.in-cart[data-item='+id+']').show();
310		//$('.wish_item[data-item='+id+']').removeClass("added");
311		$('.wish_item[data-item='+id+'] .value:not(.added)').show();
312		$('.wish_item[data-item='+id+'] .value.added').hide();
313
314		$('.wish_item.to[data-item='+id+']').show();
315		$('.wish_item.in[data-item='+id+']').hide();
316		$('.banner_buttons.with_actions .wraps_buttons[data-id='+id+'] .basket_item_add').addClass('added');
317	}
318}
319
320if(!funcDefined('markProductDelay')){
321	var markProductDelay = function markProductDelay(id){
322		$('.in-cart[data-item='+id+']').hide();
323		$('.to-cart[data-item='+id+']').show();
324		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block_inner').show();
325		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').show();
326		$('.to-cart[data-item='+id+']').closest('.button_block').removeClass('wide');
327		//$('.wish_item[data-item='+id+']').addClass("added");
328		$('.wish_item[data-item='+id+'] .value:not(.added)').hide();
329		$('.wish_item[data-item='+id+'] .value.added').css('display','block');
330
331		$('.wish_item.to[data-item='+id+']').hide();
332		$('.wish_item.in[data-item='+id+']').show();
333
334		$('.banner_buttons.with_actions .wraps_buttons[data-id='+id+'] .wish_item_add').addClass('added');
335
336	}
337}
338
339if(!funcDefined('markProductSubscribe')){
340	var markProductSubscribe = function markProductSubscribe(id){
341		$('.to-subscribe[data-item='+id+']').hide();
342		$('.in-subscribe[data-item='+id+']').css('display','block');
343	}
344}
345
346if(!funcDefined('updateBottomIconsPanel')){
347	var updateBottomIconsPanel = function updateBottomIconsPanel(options){
348		if (options && $('.bottom-icons-panel').length) {
349			var bBasketUpdate = ('READY' in options || 'BASKET_COUNT' in options);
350			var basketCount = ('READY' in options ? options.READY.COUNT : 
351				('BASKET_COUNT' in options ? options.BASKET_COUNT : 0));
352			var basketTitle = ('READY' in options ? options.READY.TITLE : 
353				('BASKET_SUMM_TITLE' in options ? options.BASKET_SUMM_TITLE : ''));
354			var bDelayUpdate = ('DELAY' in options || 'DELAY_COUNT' in options);
355			var delayCount = ('DELAY' in options ? options.DELAY.COUNT : 
356				('DELAY_COUNT' in options ? options.DELAY_COUNT : 0));
357			var delayTitle = ('DELAY' in options ? options.DELAY.TITLE : 
358				('DELAY_SUMM_TITLE' in options ? options.DELAY_SUMM_TITLE : ''));
359			var bCompareUpdate = ('COMPARE' in options);
360			var compareCount = ('COMPARE' in options ? 
361				(typeof options.COMPARE === 'object' && 'COUNT' in options.COMPARE ? options.COMPARE.COUNT : Object.keys(options.COMPARE).length) : 0);
362			
363			//basket
364			if (bBasketUpdate) {
365				if (+basketCount > 0) {
366					$('.bottom-icons-panel .basket.counter-state').removeClass('counter-state--empty');
367				} else {
368					$('.bottom-icons-panel .basket.counter-state').addClass('counter-state--empty');
369				}
370				$('.bottom-icons-panel .basket .counter-state__content-item-value').text(basketCount);
371				$('.bottom-icons-panel .basket').closest('.bottom-icons-panel__content-link').attr('title', $('<div/>').html(basketTitle).text());
372			}
373			//
374
375			//delay
376			if (bDelayUpdate && bBasketUpdate) {
377				if (+delayCount > 0) {
378					$('.bottom-icons-panel .delay.counter-state').removeClass('counter-state--empty');
379				} else {
380					$('.bottom-icons-panel .delay.counter-state').addClass('counter-state--empty');
381				}
382				$('.bottom-icons-panel .delay .counter-state__content-item-value').text(delayCount);
383				$('.bottom-icons-panel .delay').closest('.bottom-icons-panel__content-link').attr('title', $('<div/>').html(delayTitle).text());
384			}
385			//
386
387			//compare
388			if (bCompareUpdate) {
389				if (compareCount > 0) {
390					$('.bottom-icons-panel .compare.counter-state').removeClass('counter-state--empty');
391				} else {
392					$('.bottom-icons-panel .compare.counter-state').addClass('counter-state--empty');
393				}
394				$('.bottom-icons-panel .compare .counter-state__content-item-value').text(compareCount);
395			}
396		}
397	}
398}
399if(!funcDefined('basketFly')){
400	var basketFly = function basketFly(action,opener){
401		if(typeof obMaxPredictions === 'object'){
402			obMaxPredictions.updateAll();
403		}
404
405		/*if(arAsproOptions['PAGES']['BASKET_PAGE'])
406			return;*/
407		$.post( arAsproOptions['SITE_DIR']+"ajax/basket_fly.php", "PARAMS="+$("#basket_form").find("input#fly_basket_params").val(), $.proxy(function( data ){
408			var small=$('.opener .basket_count').hasClass('small'),
409				basket_count=$(data).find('.basket_count').find('.items div').text();
410			$('#basket_line .basket_fly').addClass('loaded').html(data);
411
412			if(action=="refresh")
413				$('li[data-type=AnDelCanBuy]').trigger('click');
414
415
416			if(typeof(opener) == 'undefined' || $('#basket_line .basket_fly').hasClass('loading') )
417			{
418				if(window.matchMedia('(min-width: 769px)').matches)
419				{
420					if(action=='open')
421					{
422						if(small)
423						{
424							if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
425							{
426								$('.opener .basket_count').click();
427							}
428						}
429						else
430						{
431							$('.opener .basket_count').removeClass('small')
432							$('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass('cur');
433							$('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass('cur');
434
435							$("#basket_line .basket_fly .opener > div:eq(0)").addClass("cur");
436						}
437					}
438					else if(action=='wish')
439					{
440						if(small)
441						{
442							if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
443								$('.opener .wish_count').click();
444						}
445						else
446						{
447							$('.opener .wish_count').removeClass('small')
448							$('.tabs_content.basket li[item-section="DelDelCanBuy"]').addClass('cur');
449							$('#basket_line ul.tabs li[item-section="DelDelCanBuy"]').addClass('cur');
450						}
451					}
452					else
453					{
454						if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
455						{
456							$('.opener .basket_count').click();
457						}
458					}
459				}
460			}
461		}));
462	}
463}
464
465if(!funcDefined('basketTop')){
466	var basketTop = function basketTop(action, hoverBlock){
467		if(action=='reload'){
468			if($('.basket_hover_block:hover').length) {
469				hoverBlock = $('.basket_hover_block:hover');
470			}
471		}
472
473		if(action=='open')
474		{
475			if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
476			{
477				if($('#headerfixed').hasClass('fixed')) {
478					hoverBlock = $('#headerfixed .basket_hover_block');
479				} else {
480					hoverBlock = $('.top_basket .basket_hover_block');
481				}
482			}
483		}
484
485		if( hoverBlock === undefined ) {
486			console.log('Undefined hoverBlock');
487			console.trace();
488			return false;
489		}
490
491		if(action=='close'){
492			if(hoverBlock.length) {
493				hoverBlock.css({
494					'opacity': '',
495					'visibility': ''
496				});
497				return true;
498			}
499		}
500
501		hoverBlock.removeClass('loaded');
502		var firstTime = hoverBlock.find('div').length ? 'false' : 'true';
503		var params = $("#basket_form").find("input#fly_basket_params").val();
504		var postData = {
505			firstTime: firstTime,
506		};
507		if(params !== undefined) {
508			postData.PARAMS = params;
509		}
510
511		$.post( arAsproOptions['SITE_DIR']+"ajax/showBasketHover.php", postData, $.proxy(function( data ){
512			var ob = BX.processHTML(data);
513
514			// inject
515			$('#headerfixed .basket_hover_block, .top_basket .basket_hover_block').html(ob.HTML);
516			BX.ajax.processScripts(ob.SCRIPT);
517
518			if(window.matchMedia('(min-width: 992px)').matches)
519			{
520				hoverBlock.addClass('loaded');
521
522				if(action=='open')
523				{
524					if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
525					{
526						if($('#headerfixed').hasClass('fixed')) {
527							hoverBlock = $('#headerfixed .basket_hover_block');
528						} else {
529							hoverBlock = $('.top_basket .basket_hover_block');
530						}
531
532						hoverBlock.css({
533							'opacity': '1',
534							'visibility': 'visible'
535						});
536
537						setTimeout(
538							function() {
539								hoverBlock.css({
540									'opacity': '',
541									'visibility': ''
542								});
543							},
544							2000
545						);
546					}
547				}
548			}
549
550		}));
551	}
552}
553
554//work with hash start
555var lastHash = location.hash;
556if("onhashchange" in window)
557{
558	$(window).bind('hashchange', function() {
559		var newHash = location.hash;
560		if(newHash == '#delayed')
561		{
562			if($('#basket_toolbar_button_delayed').length)
563				$('#basket_toolbar_button_delayed').trigger('click');
564		}
565		else
566		{
567			if($('#basket_toolbar_button').length)
568				$('#basket_toolbar_button').trigger('click');
569		}
570		// Do something
571		var diff = compareHash(newHash, lastHash);
572		// alert("Difference between old and new hash:\n"+diff[0]+"\n\n"+diff[1]);
573		//At the end of the func:
574		lastHash = newHash;
575
576		if (lastHash) {
577			if ('scrollRestoration' in history) {
578				history.scrollRestoration = 'manual';
579			}
580			if ($('.ordered-block .tabs .nav a[href="'+lastHash+'"]').length) {
581				$('.ordered-block .tabs .nav a[href="'+lastHash+'"]').trigger('click');
582				var content_offset=$('.ordered-block .tabs').offset();
583				$('html, body').animate({scrollTop: content_offset.top-90}, 400);
584			}
585		}
586	});
587
588	function compareHash(current, previous){
589		for(var i=0, len=Math.min(current.length, previous.length); i<len; i++){
590			if(current.charAt(0) != previous.charAt(0)) break;
591		}
592		current = current.substr(i);
593		previous = previous.substr(i);
594		for(var i=0, len=Math.min(current.length, previous.length); i<len; i++){
595			if(current.substr(-1) != previous.substr(-1)) break;
596		}
597
598		//Array: Current = New hash, previous = old hash
599		return [current, previous];
600	}
601}
602
603$(document).on('click', "#basket_toolbar_button", function(){
604	if(lastHash)
605		location.hash = 'cart';
606})
607$(document).on('click', "#basket_toolbar_button_delayed", function(){
608	if(lastHash)
609		location.hash = 'delayed';
610})
611if (location.hash) {
612	var hash = location.hash
613
614
615}
616//work with hash end
617
618$(document).on('click', "#basket_line .basket_fly .opener > div.clicked", function(){
619	if(arAsproOptions['PAGES']['BASKET_PAGE'])
620		return;
621	function onOpenFlyBasket(_this){
622		$("#basket_line .basket_fly .tabs li").removeClass("cur");
623		$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
624		// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
625		if(!$(_this).is(".wish_count.empty"))
626		{
627			$("#basket_line .basket_fly .tabs_content li[item-section="+$(_this).data("type")+"]").addClass("cur");
628			$("#basket_line .basket_fly .tabs li:eq("+$(_this).index()+")").addClass("cur");
629			// $("#basket_line .basket_fly .remove_all_basket."+$(_this).data("type")).addClass("cur");
630		}
631		else
632		{
633			$("#basket_line .basket_fly .tabs li").first().addClass("cur").siblings().removeClass("cur");
634			$("#basket_line .basket_fly .tabs_content li").first().addClass("cur").siblings().removeClass("cur");
635			// $("#basket_line .basket_fly .remove_all_basket").first().addClass("cur");
636		}
637		$("#basket_line .basket_fly .opener > div.clicked").removeClass('small');
638
639		$("#basket_line .basket_fly .opener > div").siblings().removeClass('cur');
640		$("#basket_line .basket_fly .opener > div:eq("+$(_this).index()+")").addClass('cur');
641
642	}
643
644	if(window.matchMedia('(min-width: 769px)').matches)
645	{
646		var _this = this;
647
648		$(_this).siblings().removeClass('cur');
649		$(_this).addClass('cur');
650
651		if(parseInt($("#basket_line .basket_fly").css("right")) < 0)
652		{
653			$("#basket_line .basket_fly").stop().addClass('loading').animate({"right": "0"}, 333, function(){
654				if($(_this).closest('.basket_fly.loaded').length)
655				{
656					onOpenFlyBasket(_this);
657				}
658				else
659				{
660					$.ajax({
661						url: arAsproOptions['SITE_DIR'] + 'ajax/basket_fly.php',
662						type: 'post',
663						success: function(html){
664							$('#basket_line .basket_fly').removeClass('loading').addClass('loaded').html(html);
665							onOpenFlyBasket(_this);
666						}
667					});
668				}
669			});
670			$('#basket_line .basket_fly').addClass('swiped');
671		}
672		else if($(this).is(".wish_count:not(.empty)") && !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=DelDelCanBuy]"))
673		{
674			$("#basket_line .basket_fly .tabs li").removeClass("cur");
675			$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
676			// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
677			$("#basket_line .basket_fly .tabs_content li[item-section="+$(this).data("type")+"]").addClass("cur");
678			$("#basket_line  .basket_fly .tabs li:eq("+$(this).index()+")").first().addClass("cur");
679			// $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
680		}
681		else if($(this).is(".basket_count") && $("#basket_line .basket_fly .basket_sort ul.tabs li.cur").length && !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=AnDelCanBuy]"))
682		{
683			$("#basket_line .basket_fly .tabs li").removeClass("cur");
684			$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
685			// $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
686			$("#basket_line  .basket_fly .tabs_content li:eq("+$(this).index()+")").addClass("cur");
687			$("#basket_line  .basket_fly .tabs li:eq("+$(this).index()+")").first().addClass("cur");
688			// $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
689		}
690		else
691		{
692			$("#basket_line .basket_fly").stop().animate({"right": -$("#basket_line .basket_fly").outerWidth()}, 150);
693			$("#basket_line .basket_fly .opener > div.clicked").addClass('small');
694			$('#basket_line .basket_fly').removeClass('swiped');
695			$("#basket_line .basket_fly .opener > div").removeClass("cur");
696		}
697	}
698});
699
700if(!funcDefined("clearViewedProduct")){
701	function clearViewedProduct(){
702		try{
703			var siteID = arAsproOptions.SITE_ID;
704			var localKey = 'MAX_VIEWED_ITEMS_' + siteID;
705			var cookieParams = {path: '/', expires: 30};
706			if(typeof BX.localStorage !== 'undefined')
707			{
708				// remove local storage
709				BX.localStorage.set(localKey, {}, 0);
710			}
711			// remove cookie
712			$.removeCookie(localKey, cookieParams);
713		}
714		catch(e){
715			console.error(e);
716		}
717	}
718}
719
720if(!funcDefined("setViewedProduct")){
721	function setViewedProduct(id, arData){
722		try{
723
724			// save $.cookie option
725			var bCookieJson = $.cookie.json;
726			$.cookie.json = true;
727
728			var siteID = arAsproOptions.SITE_ID;
729			var localKey = 'MAX_VIEWED_ITEMS_' + siteID;
730			var cookieParams = {path: '/', expires: 30};
731
732			if((typeof BX.localStorage !== 'undefined') && (typeof id !== 'undefined') && (typeof arData !== 'undefined')){
733				var PRODUCT_ID = (typeof arData.PRODUCT_ID !== 'undefined') ? arData.PRODUCT_ID : id;
734				var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {};
735				var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {};
736				var count = 0;
737
738				// delete some items (sync cookie & local storage)
739				for(var _id in arViewedLocal){
740					arViewedLocal[_id].IS_LAST = false;
741					if(typeof arViewedCookie[_id] === 'undefined'){
742						delete arViewedLocal[_id];
743					}
744				}
745				for(var _id in arViewedCookie){
746					if(typeof arViewedLocal[_id] === 'undefined'){
747						delete arViewedCookie[_id];
748					}
749				}
750
751				for(var _id in arViewedCookie){
752					count++;
753				}
754
755				// delete item if other item (offer) of that PRODUCT_ID is exists
756				if(typeof arViewedLocal[PRODUCT_ID] !== 'undefined'){
757					if(arViewedLocal[PRODUCT_ID].ID != id){
758						delete arViewedLocal[PRODUCT_ID];
759						delete arViewedCookie[PRODUCT_ID];
760					}
761				}
762
763				var time = new Date().getTime();
764				arData.ID = id;
765				arData.ACTIVE_FROM = time;
766				arData.IS_LAST = true;
767				arViewedLocal[PRODUCT_ID] = arData;
768				arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID];
769
770				$.cookie(localKey, arViewedCookie, cookieParams);
771				BX.localStorage.set(localKey, arViewedLocal, 2592000);  // 30 days
772			}
773		}
774		catch(e){
775			console.error(e);
776		}
777		finally{
778			// restore $.cookie option
779			$.cookie.json = bCookieJson;
780		}
781	}
782}
783
784
785
786if(!funcDefined('initSelects')){
787	function initSelects(target){
788		var iOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );
789		if ( iOS ) return;
790		if($("#bx-soa-order").length)
791			return;
792		// SELECT STYLING
793		$(target).find('.wrapper1 select:visible').ikSelect({
794			syntax: '<div class="ik_select_link"> \
795						<span class="ik_select_link_text"></span> \
796						<div class="trigger"></div> \
797					</div> \
798					<div class="ik_select_dropdown"> \
799						<div class="ik_select_list"> \
800						</div> \
801					</div>',
802			dynamicWidth: true,
803			ddMaxHeight: 112,
804			customClass: 'common_select',
805			//equalWidths: true,
806			onShow: function(inst){
807				inst.$dropdown.css('top', (parseFloat(inst.$dropdown.css('top'))-5)+'px');
808				if ( inst.$dropdown.outerWidth() < inst.$link.outerWidth() ){
809					inst.$dropdown.css('width', inst.$link.outerWidth());
810				}
811				if ( inst.$dropdown.outerWidth() > inst.$link.outerWidth() ){
812					inst.$dropdown.css('width', inst.$link.outerWidth());
813				}
814				var count=0,
815					client_height=0;
816				inst.$dropdown.css('left', inst.$link.offset().left);
817				$(inst.$listInnerUl).find('li').each(function(){
818					if(!$(this).hasClass('ik_select_option_disabled')){
819						++count;
820						client_height+=$(this).outerHeight();
821					}
822				})
823				if(client_height<112){
824					inst.$listInner.css('height', 'auto');
825				}else{
826					inst.$listInner.css('height', '112px');
827				}
828				inst.$link.addClass('opened');
829				inst.$listInner.addClass('scroller');
830				if($('.confirm_region').length)
831					$('.confirm_region').remove();
832			},
833			onHide: function(inst){
834				inst.$link.removeClass('opened');
835			}
836		});
837		// END OF SELECT STYLING
838
839		var timeout;
840		$(window).on('resize', function(){
841			ignoreResize.push(true);
842				clearTimeout(timeout);
843				timeout = setTimeout(function(){
844					//$('select:visible').ikSelect('redraw');
845					var inst='';
846					if(inst=$('.common_select-link.opened + select').ikSelect().data('plugin_ikSelect')){
847						inst.$dropdown.css('left', inst.$link.offset().left+'px');
848					}
849				}, 20);
850			ignoreResize.pop();
851		});
852	}
853}
854
855if(!funcDefined('CheckTopMenuFullCatalogSubmenu')){
856	CheckTopMenuFullCatalogSubmenu = function(){
857		if(arAsproOptions['THEME'] && arAsproOptions['THEME']['MENU_TYPE_VIEW'] != 'HOVER')
858			return;
859
860		var $menu = $('.left_block .menu_top_block');
861		if($menu.length)
862		{
863			var $wrapmenu = $menu.parents('.wrap_menu');
864
865			var wrapMenuWidth = $menu.closest('.wrapper_inner').actual('width');
866			if(!wrapMenuWidth)
867				wrapMenuWidth = $menu.closest('.wraps').actual('width');
868
869			var bCatalogFirst = $menu.hasClass('catalogfirst');
870			var findMenuLi = $('.left_block .menu_top_block:visible li.full');
871			var parentSubmenuWidth = $menu.actual('outerWidth');
872			var wrapMenuLeft = 0;
873			var wrapMenuRight = 0;
874
875			if($wrapmenu.length)
876			{
877				wrapMenuWidth = $wrapmenu.actual('outerWidth');
878				wrapMenuLeft = $wrapmenu.offset().left;
879				wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
880			}
881
882			if($('.left_block .catalog_block.menu_top_block').length){
883				if($('.left_block .catalog_block.menu_top_block').is(':visible'))
884					findMenuLi=$('.left_block .menu_top_block.catalog_block li.full');
885			}
886			findMenuLi.each(function(){
887				var $this = $(this);
888				var $submenu = $this.find('>.dropdown');
889
890				if($submenu.length){
891					// $submenu.css({left: parentSubmenuWidth + 'px', width: (wrapMenuWidth - parentSubmenuWidth) + 'px', 'padding-left': '0px', 'padding-right': '0px', 'opacity': 1});
892					$submenu.css({width: (wrapMenuWidth - parentSubmenuWidth) + 'px'});
893
894					if(!isOnceInited && arAsproOptions["THEME"]["MENU_POSITION"] == "TOP"){
895						$this.on('mouseenter', function(){
896							$submenu.css('min-height', $this.closest('.dropdown').actual('outerHeight') + 'px');
897						});
898					}
899				}
900			});
901		}
902	}
903}
904
905$.fn.getMaxHeights = function( outer, classNull, minHeight ){
906	var maxHeight = this.map( function( i, e ){
907		var calc_height=0;
908		$(e).css('height', '');
909
910		if( outer == true )
911			calc_height=$(e).actual('outerHeight');
912		else
913			calc_height=$(e).actual('height');
914
915		return calc_height;
916	}).get();
917	for(var i = 0, c = maxHeight.length; i < c; ++i)
918	{
919		if(maxHeight[i] % 2)
920			--maxHeight[i];
921	}
922	return Math.max.apply( this, maxHeight );
923}
924
925$.fn.equalizeHeights = function( outer, classNull, options ){
926	var maxHeight = [];
927	var items = [];
928
929	for (var i = 0, itemKey = 0; i < this.length; itemKey++) {
930		var item = this[itemKey],
931			_item = $(item),
932			minus_height=0,
933			calc_height=0;
934
935		i++;
936
937		if(options.blockNull !== undefined) {
938			if(options.blockNull.class !== undefined) {
939				if(_item.hasClass(options.blockNull.class) || _item.closest('.'+options.blockNull.class).length) {
940					continue;
941				}
942			}
943		}
944
945		items.push(this[itemKey]);
946
947		if(classNull!==false)
948		{
949			if(!isMobile) {
950				var nulled = _item.find(classNull);
951				if(nulled.length) {
952					minus_height=parseInt(nulled[0].offsetHeight);
953					//minus_height=parseInt(_item.find(classNull).outerHeight(false));
954					//minus_height=parseInt(_item.find(classNull).actual('outerHeight'));
955				}
956			}
957		}
958
959		if(minus_height)
960			minus_height+=12;
961
962		_item.css('height', '');
963
964		calc_height=item.offsetHeight-minus_height;
965
966		if(options.minHeight!==false)
967		{
968			if(calc_height<options.minHeight)
969				calc_height+=(options.minHeight-calc_height);
970
971			if(window.matchMedia('(max-width: 520px)').matches)
972				calc_height=300;
973
974			if(window.matchMedia('(max-width: 400px)').matches)
975				calc_height=200;
976
977		}
978
979		if(!calc_height)
980			calc_height = 0;
981
982		maxHeight.push(calc_height);
983	}
984
985	for(var i = 0, c = maxHeight.length; i < c; ++i){
986		if(maxHeight[i] % 2){
987			--maxHeight[i];
988		}
989	}
990
991	var result = $(items).height( Math.max.apply( this, maxHeight ) );
992
993	return result;
994}
995
996$.fn.getFloatWidth = function(){
997	var width = 0;
998	if($(this).length){
999		var rect = $(this)[0].getBoundingClientRect();
1000		if(!(width = rect.width))
1001			width = rect.right - rect.left;
1002	}
1003
1004	$(this).data('floatWidth', width);
1005
1006	return width;
1007}
1008
1009function extendDepthObject(target, FromObj) {
1010	var to = Object.assign({}, target);
1011	for(var key in FromObj)
1012	{
1013		if( typeof(FromObj[key]) == 'object' ) {
1014			to[key] = extendDepthObject(to[key], FromObj[key]);
1015		} else {
1016			to[key] = FromObj[key];
1017		}
1018	}
1019
1020	return to;
1021}
1022
1023$.fn.sliceHeight = function( options ){
1024	function _slice(el){
1025		var arBreakpoints = Object.keys(options.breakpoint);
1026		var resizeOptionsTmp = {};
1027		if(arBreakpoints.length)
1028		{
1029			for(var key in arBreakpoints)
1030			{
1031				if(window.matchMedia(arBreakpoints[key].toString()).matches)
1032				{
1033					resizeOptionsTmp = options.breakpoint[arBreakpoints[key]];
1034				}
1035			}
1036		}
1037
1038		var resizeOptions = extendDepthObject(options, resizeOptionsTmp);
1039
1040		var blockNullClass = resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined ? resizeOptions.blockNull.class : false;
1041		var parent = (typeof(resizeOptions.row) !== 'undefined' && resizeOptions.row.length) ?  el.first().parents(resizeOptions.row) : el.first().parents('.items');
1042		var item = '';
1043
1044		if(typeof(resizeOptions.item) !== 'undefined' && resizeOptions.item.length) {
1045			if(blockNullClass) {
1046				$(resizeOptions.item).each(function(i, element){
1047					_element = $(element);
1048					if(!_element.hasClass(blockNullClass)) {
1049						item = _element;
1050					}
1051				});
1052				if(!item) // if only ignored blocks
1053					return false;
1054			} else {
1055				item = $(resizeOptions.item).first();
1056			}
1057		} else {
1058			if( el.first().hasClass('item') ) {
1059				item = el.first();
1060			} else {
1061				item = el.first().parents('.item');
1062			}
1063		}
1064
1065		if(typeof(resizeOptions.autoslicecount) == 'undefined' || resizeOptions.autoslicecount !== false){
1066			var elsw = parent.getFloatWidth(),
1067				elw = item.getFloatWidth();
1068			if(!elsw){
1069				elsw = el.first().parents('.row').getFloatWidth();
1070			}
1071			if(!elw)
1072			{
1073				if(typeof(resizeOptions.item) !== 'undefined' && resizeOptions.item.length)
1074					elw = (($(resizeOptions.item+':eq(1)').getFloatWidth()) ? $(resizeOptions.item+':eq(1)').getFloatWidth() : $(resizeOptions.item+':eq(2)').getFloatWidth());
1075				else
1076					elw = (($(el[1]).getFloatWidth()) ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth());
1077			}
1078			if(elw && resizeOptions.fixWidth)
1079				elw -= resizeOptions.fixWidth;
1080
1081			elw = (parseInt(elw * 100)) / 100;
1082
1083			if(elsw && elw){
1084				resizeOptions.slice = Math.floor(elsw / elw);
1085			}
1086		}
1087
1088		if(resizeOptions.customSlice) //manual slice count
1089		{
1090			var bSliceNext = false;
1091			if(resizeOptions.length)
1092			{
1093				elw=(typeof(resizeOptions.item) !== 'undefined' && resizeOptions.item.length) ? $(resizeOptions.item).last().getFloatWidth() : (el.last().hasClass('item') ? el.last().getFloatWidth() : el.last().parents('.item').getFloatWidth());
1094				if(elw)
1095					resizeOptions.sliceNext = Math.floor(elsw / elw);
1096
1097				bSliceNext = true;
1098			}
1099		}
1100
1101		elements = [];
1102		if(resizeOptions.classes !== undefined && resizeOptions.classes.length) {
1103			for(var i = 0;i < resizeOptions.classes.length;i++) {
1104				var items = $(resizeOptions.item).find(resizeOptions.classes[i]);
1105				elements.push( items );
1106			}
1107		}
1108		var elIndex = elements.push(el) - 1;
1109
1110		if(resizeOptions.mobile == true)
1111		{
1112			if(window.matchMedia('(max-width: 500px)').matches) {
1113				for(var block = 0; block < elements.length; block++){
1114					var items = $(elements[block]);
1115					items.css({
1116						'line-height': '',
1117						'height': '',
1118					});
1119				}
1120				return;
1121			}
1122		}
1123
1124		if(typeof(resizeOptions.typeResize) == 'undefined' || resizeOptions.typeResize == false)
1125		{
1126			if(resizeOptions.slice){
1127				for(var block = 0; block < elements.length; block++){
1128					if(resizeOptions.currentRow) {
1129						var itemNumber = el.index(resizeOptions.currentItem);
1130						var rowCount = resizeOptions.slice;
1131						var rowNumber = Math.floor(itemNumber / rowCount);
1132
1133						var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount));
1134						var classNull = block == elIndex ? resizeOptions.classNull : false;
1135						items.css({
1136							'line-height': '',
1137							'height': '',
1138						});
1139						items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1140					} else {
1141						for(var i = 0; i < elements[block].length; ){
1142							if(resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i) //manual slice count
1143								resizeOptions.slice = resizeOptions.sliceNext;
1144
1145							var slice = resizeOptions.slice;
1146							var items = $(elements[block].slice(i, i + slice));
1147							if(resizeOptions.blockNull !== undefined) {
1148								if(resizeOptions.blockNull.class !== undefined) {
1149									var counts = 0;
1150									items.each(function(i, item) {
1151										var _item = $(item);
1152										if(_item.hasClass(resizeOptions.blockNull.class) || _item.closest('.'+resizeOptions.blockNull.class).length) {
1153											counts++;
1154										}
1155									});
1156								}
1157							}
1158							if(counts) {
1159								slice -= ( resizeOptions.blockNull.width - 1 ) * counts;
1160							}
1161
1162							items = $(elements[block].slice(i, i + slice));
1163							if(items) {
1164								var classNull = block == elIndex ? resizeOptions.classNull : false;
1165
1166								items.css({
1167									'line-height': '',
1168									'height': '',
1169								});
1170								items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1171							}
1172							i += slice || 1;
1173						}
1174					}
1175
1176				}
1177			}
1178			if(resizeOptions.lineheight){
1179				var lineheightAdd = parseInt(resizeOptions.lineheight);
1180				if(isNaN(lineheightAdd)){
1181					lineheightAdd = 0;
1182				}
1183				el.each(function() {
1184					$(this).css('line-height', ($(this).actual('height') + lineheightAdd) + 'px');
1185				});
1186			}
1187		}
1188	}
1189	var options = $.extend({
1190		slice: null,
1191		sliceNext: null,
1192		outer: false,
1193		lineheight: false,
1194		autoslicecount: true,
1195		classNull: false,
1196		minHeight: false,
1197		row:false,
1198		item:false,
1199		typeResize:false,
1200		typeValue:false,
1201		fixWidth:0,
1202		resize:true,
1203		mobile:false,
1204		customSlice:false,
1205		breakpoint:{},
1206		classes: [],
1207	}, options);
1208
1209	var el = $(this);
1210
1211	ignoreResize.push(true);
1212	_slice(el);
1213	ignoreResize.pop();
1214
1215	if(options.resize)
1216	{
1217		BX.addCustomEvent('onWindowResize', function(eventdata) {
1218			try{
1219				ignoreResize.push(true);
1220				_slice(el);
1221			}
1222			catch(e){}
1223			finally{
1224				ignoreResize.pop();
1225			}
1226		});
1227	}
1228	else
1229	{
1230		if(!ignoreResize.length)
1231		{
1232			// ignoreResize.push(true);
1233			_slice(el);
1234			// ignoreResize.pop();
1235		}
1236	}
1237}
1238
1239$.fn.sliceHeightNoResize = function( options ){
1240	function _slice(el){
1241		el.each(function() {
1242			$(this).css('line-height', '');
1243			$(this).css('height', '');
1244		});
1245		if(options.mobile == true)
1246		{
1247			if(window.matchMedia('(max-width: 550px)').matches)
1248				return;
1249		}
1250		if(typeof(options.autoslicecount) == 'undefined' || options.autoslicecount !== false){
1251			var elsw=(typeof(options.row) !== 'undefined' && options.row.length) ?  el.first().parents(options.row).getFloatWidth() : el.first().parents('.items').getFloatWidth(),
1252				elw=(typeof(options.item) !== 'undefined' && options.item.length) ? $(options.item).first().getFloatWidth() : (el.first().hasClass('item') ? el.first().getFloatWidth() : el.first().parents('.item').getFloatWidth());
1253
1254			if(!elsw){
1255				elsw = el.first().parents('.row').getFloatWidth();
1256			}
1257			if(elw && options.fixWidth)
1258				elw -= options.fixWidth;
1259
1260			if(elsw && elw){
1261				options.slice = Math.floor(elsw / elw);
1262			}
1263		}
1264		if(options.customSlice) //manual slice count
1265		{
1266			var arBreakpoints = Object.keys(options.breakpoint),
1267				bSliceNext = false;
1268			if(arBreakpoints.length)
1269			{
1270				elw=(typeof(options.item) !== 'undefined' && options.item.length) ? $(options.item).last().getFloatWidth() : (el.last().hasClass('item') ? el.last().getFloatWidth() : el.last().parents('.item').getFloatWidth());
1271				if(elw)
1272					options.sliceNext = Math.floor(elsw / elw);
1273				for(var key in arBreakpoints)
1274				{
1275					if(window.matchMedia(arBreakpoints[key].toString()).matches)
1276					{
1277						bSliceNext = true;
1278						options.slice = options.breakpoint[arBreakpoints[key]];
1279					}
1280				}
1281			}
1282		}
1283		if(typeof(options.typeResize) == 'undefined' || options.typeResize == false)
1284		{
1285			if(options.slice){
1286				for(var i = 0; i < el.length; i += options.slice){
1287					if(options.customSlice && options.sliceNext && bSliceNext && i) //manual slice count
1288						options.slice = options.sliceNext;
1289					$(el.slice(i, i + options.slice)).equalizeHeights(options.outer, options.classNull, options.minHeight, options.typeResize, options.typeValue);
1290				}
1291			}
1292			if(options.lineheight){
1293				var lineheightAdd = parseInt(options.lineheight);
1294				if(isNaN(lineheightAdd)){
1295					lineheightAdd = 0;
1296				}
1297				el.each(function() {
1298					$(this).css('line-height', ($(this).actual('height') + lineheightAdd) + 'px');
1299				});
1300			}
1301		}
1302	}
1303	var options = $.extend({
1304		slice: null,
1305		sliceNext: null,
1306		outer: false,
1307		lineheight: false,
1308		autoslicecount: true,
1309		classNull: false,
1310		minHeight: false,
1311		row:false,
1312		item:false,
1313		typeResize:false,
1314		typeValue:false,
1315		fixWidth:0,
1316		resize:true,
1317		mobile:false,
1318		customSlice:false,
1319		breakpoint:{},
1320	}, options);
1321
1322	var el = $(this);
1323
1324	ignoreResize.push(true);
1325	_slice(el);
1326	ignoreResize.pop();
1327}
1328
1329if(!funcDefined('initHoverBlock')){
1330	function initHoverBlock(target){
1331		/*$(target).find('.catalog_item.item_wrap').on('mouseenter', function(){
1332			$(this).addClass('hover');
1333		})
1334		$(target).find('.catalog_item.item_wrap').on('mouseleave', function(){
1335			$(this).removeClass('hover');
1336		})*/
1337	}
1338}
1339if(!funcDefined('setStatusButton')){
1340	function setStatusButton(){
1341		if(!funcDefined('setItemButtonStatus')){
1342			setItemButtonStatus = function(data){
1343				if(data.BASKET){
1344					for( var i in data.BASKET ){
1345						var id = data.BASKET[i];
1346						if(typeof id === 'number' || typeof id === 'string'){
1347							$('.to-cart[data-item='+id+']').hide();
1348							$('.counter_block[data-item='+id+']').closest('.counter_block_inner').hide();
1349							$('.counter_block[data-item='+id+']').hide();
1350							$('.in-cart[data-item='+id+']').show();
1351							$('.in-cart[data-item='+id+']').closest('.button_block').addClass('wide');
1352						}
1353					}
1354				}
1355				if(data.DELAY){
1356					for( var i in data.DELAY ){
1357						var id = data.DELAY[i];
1358						if(typeof id === 'number' || typeof id === 'string'){
1359							$('.wish_item.to[data-item='+id+']').hide();
1360							$('.wish_item.in[data-item='+id+']').show();
1361							if ($('.wish_item[data-item='+id+']').find(".value.added").length) {
1362								//$('.wish_item[data-item='+id+']').addClass("added");
1363								$('.wish_item[data-item='+id+']').find(".value").hide();
1364								$('.wish_item[data-item='+id+']').find(".value.added").show();
1365							}
1366						}
1367					}
1368				}
1369				if(data.SUBSCRIBE){
1370					for( var i in data.SUBSCRIBE ){
1371						var id = data.SUBSCRIBE[i];
1372						if(typeof id === 'number' || typeof id === 'string'){
1373							$('.to-subscribe[data-item='+id+']').hide();
1374							$('.in-subscribe[data-item='+id+']').show();
1375						}
1376					}
1377				}
1378				if(data.COMPARE){
1379					for( var i in data.COMPARE ){
1380						var id = data.COMPARE[i];
1381						if(typeof id === 'number' || typeof id === 'string'){
1382							$('.compare_item.to[data-item='+id+']').hide();
1383							$('.compare_item.in[data-item='+id+']').show();
1384							if ($('.compare_item[data-item='+id+']').find(".value.added").length){
1385								$('.compare_item[data-item='+id+']').find(".value").hide();
1386								$('.compare_item[data-item='+id+']').find(".value.added").show();
1387							}
1388						}
1389					}
1390				}
1391			}
1392		}
1393		if(!Object.keys(arStatusBasketAspro).length)
1394		{
1395			if(typeof arAsproOptions === 'undefined')
1396			{
1397				var arAsproOptions = ({
1398					"SITE_DIR" : '/'
1399				});
1400				if($('body').data('site') !== undefined)
1401					arAsproOptions["SITE_DIR"] = $('body').data('site');
1402			}
1403			$.ajax({
1404				url: arAsproOptions["SITE_DIR"]+'ajax/getAjaxBasket.php',
1405				type: 'POST',
1406				success: function(data){
1407					arStatusBasketAspro = data;
1408					setItemButtonStatus(arStatusBasketAspro);
1409				}
1410			});
1411		}
1412		else
1413			setItemButtonStatus(arStatusBasketAspro);
1414	}
1415}
1416
1417
1418if(!funcDefined('onLoadjqm')){
1419	var onLoadjqm = function(name, hash, requestData, selector, requestTitle, isButton, thButton){
1420		if( hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay) ) {
1421			$('body').addClass('jqm-initied');
1422		}
1423		if(window.matchMedia('(min-width: 768px)').matches)
1424		{
1425			$("body").addClass("swipeignore");
1426		}
1427
1428		if(typeof $(hash.t).data('ls') !==' undefined' && $(hash.t).data('ls'))
1429		{
1430			var ls = $(hash.t).data('ls'),
1431				ls_timeout = 0,
1432				v = '';
1433
1434			if($(hash.t).data('ls_timeout'))
1435				ls_timeout = $(hash.t).data('ls_timeout');
1436
1437			ls_timeout = ls_timeout ? Date.now() + (ls_timeout*1000) : '';
1438
1439			if(typeof localStorage !== 'undefined')
1440			{
1441				var val = localStorage.getItem(ls);
1442				try{
1443					v = JSON.parse(val);
1444				}
1445				catch(e){
1446					v = val
1447				}
1448				if(v!= null)
1449				{
1450					localStorage.removeItem(ls);
1451				}
1452				v={};
1453				v['VALUE'] = 'Y';
1454				v['TIMESTAMP'] = ls_timeout; // default: seconds for 1 day
1455
1456				localStorage.setItem(ls, JSON.stringify(v));
1457			}
1458			else
1459			{
1460				var val = $.cookie(ls);
1461				if(!val)
1462					$.cookie(ls, "Y", {expires: ls_timeout});// default: seconds for 1 day
1463			}
1464
1465			var dopClasses = hash.w.find('.marketing-popup').data('classes');
1466			if(dopClasses) {
1467				hash.w.addClass(dopClasses);
1468			}
1469		}
1470
1471		$.each($(hash.t).get(0).attributes, function(index, attr){
1472			if(/^data\-autoload\-(.+)$/.test(attr.nodeName)){
1473				var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1];
1474				var el = $('input[data-sid="'+key.toUpperCase()+'"]');
1475				el.val(BX.util.htmlspecialcharsback($(hash.t).data('autoload-'+key))).attr('readonly', 'readonly');
1476				el.closest('.form-group').addClass('input-filed');
1477				el.attr('title', el.val());
1478			}
1479		});
1480
1481		//show gift block
1482		if(hash.w.hasClass('send_gift_frame'))
1483		{
1484			var imgHtml = priceHtml = propsHtml = '';
1485			if($('.offers_img a').length)
1486				imgHtml = $('.offers_img a').html();
1487			else if($('.product-detail-gallery__container').length)
1488				imgHtml = '<img src='+$('.product-detail-gallery__container link[itemprop="image"]').attr('href')+' />';
1489
1490			if($('.product-container *[itemprop="offers"]').length) //show price
1491			{
1492				if($('.sku-view').length)
1493				{
1494					if($('.prices_block .price').length)
1495						priceHtml = $('.prices_block .cost.prices').html().replace('id', 'data-id');
1496				}
1497				else
1498				{
1499					if($('.prices_block .js_price_wrapper').length)
1500						priceHtml = '<div class="with_matrix">'+$('.prices_block .js_price_wrapper').html()+'</div>';
1501					else if($('.prices_block .with_matrix').length)
1502						priceHtml = '<div class="with_matrix">'+$('.prices_block .with_matrix').html()+'</div>';
1503					else if($('.prices_block .price_group.min').length)
1504						priceHtml = $('.prices_block .price_group.min').html();
1505					else if($('.prices_block .price_matrix_wrapper').length)
1506						priceHtml = $('.prices_block .price_matrix_wrapper').html();
1507				}
1508			}
1509
1510			if($('.buy_block .sku_props').length)
1511			{
1512				propsHtml = '<div class="props_item">';
1513				$('.buy_block .sku_props .bx_catalog_item_scu > div').each(function(){
1514					var title = $(this).find('.bx_item_section_name > span').html();
1515					var props = '';
1516					var ikSelect = $(this).find('.ik_select_link_text');
1517					if( ikSelect.length ) {
1518						props = ikSelect.text();
1519					} else {
1520						var activeSku = $(this).find('ul li.active');
1521						var isPicture = activeSku.find(' > i');
1522						if( isPicture.length && isPicture.attr('title') ) {
1523							var propTitle = isPicture.attr('title').split(':');
1524							if(propTitle.length) {
1525								propTitle = propTitle[1].trim();
1526							} else {
1527								propTitle = isPicture.attr('title');
1528							}
1529							props = propTitle;
1530						} else {
1531							props = activeSku.find(' > span').text();
1532						}
1533					}
1534
1535					propsHtml += '<div class="prop_item">'+
1536									'<span>'+
1537										title + '<span class="val">'+props+'</span>' +
1538									'</span>'+
1539								'</div>';
1540
1541				})
1542				propsHtml += '</div>';
1543			}
1544			$('<div class="custom_block">'+
1545				'<div class="title">'+BX.message('POPUP_GIFT_TEXT')+'</div>'+
1546				'<div class="item_block">'+
1547					'<table class="item_list"><tr>'+
1548						'<td class="image">'+
1549							'<div>'+imgHtml+'</div>'+
1550						'</td>'+
1551						'<td class="text">'+
1552							'<div class="name">'+$('h1').text()+'</div>'+
1553							priceHtml+
1554							propsHtml+
1555						'</td>'+
1556					'</tr></table>'+
1557				'</div>'+
1558				'</div>').prependTo(hash.w.find('.form_body'))
1559		}
1560
1561		if(arAsproOptions['THEME']['REGIONALITY_SEARCH_ROW'] == 'Y' && (hash.w.hasClass('city_chooser_frame ') || hash.w.hasClass('city_chooser_small_frame')))
1562			hash.w.addClass('small_popup_regions');
1563
1564		if( hash.w.hasClass('city_chooser_frame ') || hash.w.hasClass('city_chooser_small_frame ') ) {
1565			$('.popup_regions .items .items_block').mCustomScrollbar({
1566				mouseWheel: {
1567					scrollAmount: 150,
1568					preventDefault: true
1569				}
1570			});
1571		}
1572
1573
1574		if( name == 'fast_view' && $('.smart-filter-filter').length) {
1575			var navButtons = '<div class="navigation-wrapper-fast-view">'+
1576				'<div class="fast-view-nav prev colored_theme_hover_bg" data-fast-nav="prev">'+
1577					'<i class="svg left">'+
1578						'<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>'+
1579					'</i>'+
1580				'</div>'+
1581
1582				'<div class="fast-view-nav next colored_theme_hover_bg" data-fast-nav="next">'+
1583					'<i class="svg right">'+
1584						'<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>'+
1585					'</i>'+
1586				'</div>'+
1587			'</div>';
1588
1589			hash.w.closest('#popup_iframe_wrapper').append(navButtons);
1590		}
1591
1592		hash.w.addClass('show').css({
1593			// 'top': (($(window).height() > hash.w.height()) ? Math.floor(($(window).height() - hash.w.height()) / 2) : 0) + 'px',
1594			// 'margin-left': ($(window).width() > hash.w.outerWidth() ? '-' + hash.w.outerWidth() / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
1595			'opacity': 1
1596		});
1597
1598		hash.w.mCustomScrollbar({
1599			mouseWheel: {
1600				scrollAmount: 150,
1601				preventDefault: true
1602			}
1603		});
1604
1605		if(hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
1606			$('body').css({'overflow': 'hidden','height': '100vh'});
1607			hash.w.closest('#popup_iframe_wrapper').css({'z-index': 3000, 'display': 'flex'});
1608		}
1609
1610		var eventdata = {action:'loadForm'};
1611		BX.onCustomEvent('onCompleteAction', [eventdata, $(hash.t)[0]]);
1612
1613
1614		if(typeof(requestData) == 'undefined'){
1615			requestData = '';
1616		}
1617		if(typeof(selector) == 'undefined'){
1618			selector = false;
1619		}
1620
1621		var width = $('.'+name+'_frame').width();
1622		//$('.'+name+'_frame').css('margin-left', '-'+width/2+'px');
1623
1624		if(name=='order-popup-call') {
1625		}
1626		else if(name=='order-button') {
1627			$(".order-button_frame").find("div[product_name]").find("input").val(hash.t.title).attr("readonly", "readonly").css({"overflow": "hidden", "text-overflow": "ellipsis"});
1628		}
1629		else if(name=='basket_error')
1630		{
1631			$(".basket_error_frame .pop-up-title").text(requestTitle);
1632			$(".basket_error_frame .ajax_text").html(requestData);
1633
1634			if(window.matchMedia('(max-width: 991px)').matches)
1635			{
1636				$("body").addClass("all_viewed");
1637			}
1638
1639			initSelects(document);
1640			if(isButton=="Y" && thButton)
1641				$("<div class='popup_button_basket_wr'><span class='popup_button_basket big_btn button' data-item="+thButton.data("item")+"><span class='btn btn-default'>"+BX.message("ERROR_BASKET_BUTTON")+"</span></span></div>").insertAfter($(".basket_error_frame .ajax_text"));
1642		}
1643
1644		$('.'+name+'_frame').show();
1645	}
1646}
1647
1648if(!funcDefined('onHidejqm')){
1649	var onHidejqm = function(name, hash){
1650		if (hash.w.find('.one_click_buy_result_success').is(':visible') && name=="one_click_buy_basket") {
1651			window.location.href = window.location.href;
1652		}
1653
1654		if($('.xzoom-source').length)
1655			$('.xzoom-source').remove();
1656		if($('.xzoom-preview').length)
1657			$('.xzoom-preview').remove();
1658
1659		// hash.w.css('opacity', 0).hide();
1660		hash.w.animate({'opacity': 0}, 200, function(){
1661			hash.w.removeClass('scroll-init').mCustomScrollbar('destroy');
1662			hash.w.hide();
1663			hash.w.empty();
1664			hash.o.remove();
1665			hash.w.removeClass('show');
1666
1667			$('body').css({'overflow': '','height': ''});
1668
1669			if(!hash.w.closest('#popup_iframe_wrapper').find('.jqmOverlay').length) {
1670				hash.w.closest('#popup_iframe_wrapper').css({'z-index': '', 'display': ''});
1671			}
1672
1673			if(window.matchMedia('(max-width: 991px)').matches)
1674			{
1675				$("body").removeClass("all_viewed");
1676			}
1677			if(!$('.jqmOverlay:not(.mobp)').length || $('.jqmOverlay.waiting').length)
1678			{
1679				$('body').removeClass('jqm-initied');
1680			}
1681
1682			if(window.matchMedia('(min-width: 768px)').matches)
1683			{
1684				$("body").removeClass("swipeignore");
1685			}
1686
1687			if(name == 'fast_view') {
1688				$('.fast_view_popup').remove();
1689
1690				var navButtons = hash.w.closest('#popup_iframe_wrapper').find('.navigation-wrapper-fast-view');
1691				navButtons.remove();
1692			}
1693		});
1694
1695		window.b24form = false;
1696	}
1697}
1698
1699$.fn.jqmEx = function(){
1700	// $(this).each(function(){
1701		var _this = $(this);
1702		var name = _this.data('name');
1703
1704		if(name.length && _this.attr('disabled') != 'disabled'){
1705			var extClass = '',
1706				paramsStr = '',
1707				trigger = '',
1708				arTriggerAttrs = {};
1709
1710			// call counter
1711			if(typeof $.fn.jqmEx.counter === 'undefined'){
1712				$.fn.jqmEx.counter = 0;
1713			}
1714			else{
1715				++$.fn.jqmEx.counter;
1716			}
1717
1718			// trigger attrs and params
1719			$.each(_this.get(0).attributes, function(index, attr){
1720				var attrName = attr.nodeName;
1721				var attrValue = _this.attr(attrName);
1722				if (attrName !== 'onclick') {
1723					trigger += '[' + attrName + '=\"' + attrValue + '\"]';
1724					arTriggerAttrs[attrName] = attrValue;
1725				}
1726				if(/^data\-param\-(.+)$/.test(attrName)){
1727					var key = attrName.match(/^data\-param\-(.+)$/)[1];
1728					paramsStr += key + '=' + attrValue + '&';
1729				}
1730			});
1731			var triggerAttrs = JSON.stringify(arTriggerAttrs);
1732			var encTriggerAttrs = encodeURIComponent(triggerAttrs);
1733
1734			// popup url
1735			var script = arAsproOptions['SITE_DIR'] + 'ajax/form.php';
1736			if(name == 'auth'){
1737				script += '?' + paramsStr + 'auth=Y';
1738			}
1739			else{
1740				script += '?' + paramsStr + 'data-trigger=' + encTriggerAttrs;
1741			}
1742
1743			// ext frame class
1744			if(_this.closest('#fast_view_item').length){
1745				extClass = 'fast_view_popup';
1746			}
1747
1748			// use overlay?
1749			var noOverlay = _this.data('noOverlay') == 'Y';
1750
1751			// unique frame to each trigger
1752			if(noOverlay) {
1753				var frame = $('<div class="' + name + '_frame ' + extClass + ' jqmWindow popup" data-popup="' + $.fn.jqmEx.counter + '" data-trigger="' + encTriggerAttrs + '"></div>').appendTo('body');
1754			}
1755			else{
1756				var frame = $('<div class="' + name + '_frame ' + extClass + ' jqmWindow popup" data-popup="' + $.fn.jqmEx.counter + '" data-trigger="' + encTriggerAttrs + '"></div>').appendTo('#popup_iframe_wrapper');
1757			}
1758
1759			frame.jqm({
1760				ajax: script,
1761				trigger: trigger,
1762				noOverlay: noOverlay,
1763				onLoad: function(hash){
1764					onLoadjqm(name, hash);
1765				},
1766				onHide: function(hash){
1767					onHidejqm(name, hash);
1768				}
1769			});
1770		}
1771	// });
1772}
1773
1774window.addEventListener("keydown", function(e){
1775    if (e.keyCode == 27) {
1776        $('.jqm-init.show').last().jqmHide();
1777
1778        if($('.inline-search-block.show').length) {
1779
1780        	$('.inline-search-block').toggleClass('show');
1781        	$('.jqmOverlay.search').detach();
1782        }
1783
1784        $('.mega_fixed_menu').fadeOut(animationTime);
1785    }
1786});
1787
1788if(!funcDefined("scroll_block")) {
1789	function scroll_block(block, clickedItem){
1790		if(block.length)
1791		{
1792
1793			if(clickedItem !== undefined && clickedItem.length)
1794			{
1795				clickedItem.trigger('click');
1796			}
1797			else
1798			{
1799				$(".prices_tab").addClass("active").siblings().removeClass("active");
1800				if($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length){
1801					var item = $(".prices_tab .opener").first();
1802					item.find(".opener_icon").addClass("opened");
1803					item.parents("tr").addClass("nb")
1804					item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200);
1805				}
1806			}
1807			var topPos = block.offset().top,
1808				headerH = $('header').outerHeight(true,true);
1809
1810			$('html,body').animate({'scrollTop':topPos-88},150);
1811		}
1812	}
1813}
1814
1815if(!funcDefined("jqmEd")) {
1816	var jqmEd = function (name, form_id, open_trigger, requestData, selector, requestTitle, isButton, thButton){
1817		if(typeof(requestData) == "undefined"){
1818			requestData = '';
1819		}
1820		if(typeof(selector) == "undefined"){
1821			selector = false;
1822		}
1823		$('body #popup_iframe_wrapper').find('.'+name+'_frame').remove();
1824		$('body #popup_iframe_wrapper').append('<div class="'+name+'_frame jqmWindow popup"></div>');
1825		if(typeof open_trigger == "undefined" ){
1826			$('.'+name+'_frame').jqm({trigger: '.'+name+'_frame.popup',onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }, ajax: arAsproOptions["SITE_DIR"]+'ajax/form.php?form_id='+form_id+(requestData.length ? '&' + requestData : '')});
1827		}else{
1828			if(name == 'enter'){
1829				$('.'+name+'_frame').jqm({trigger: open_trigger,onHide: function(hash) { onHidejqm(name,hash); },  onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }
1829, ajax: arAsproOptions["SITE_DIR"]+'ajax/auth.php'});
1830			}else if(name=='basket_error'){
1831				$('.'+name+'_frame').jqm({trigger: open_trigger, onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector, requestTitle, isButton, thButton); }, ajax: arAsproOptions["SITE_DIR"]+'ajax/basket_error.php'});
1832
1833			}else{
1834				$('.'+name+'_frame').jqm({trigger: open_trigger, onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }, ajax: arAsproOptions["SITE_DIR"]+'ajax/form.php?form_id='+form_id+(requestData.length ? '&' + requestData : '')});
1835			}
1836			$(open_trigger).dblclick(function(){return false;})
1837		}
1838		return true;
1839	}
1840}
1841
1842if (!funcDefined("replaceBasketPopup")){
1843	function replaceBasketPopup (hash){
1844		if(typeof hash != "undefined"){
1845			hash.w.hide();
1846			hash.o.hide();
1847		}
1848	}
1849}
1850
1851if(!funcDefined("waitLayer")){
1852	function waitLayer(delay, callback){
1853		if((typeof dataLayer !== 'undefined') && (typeof callback === 'function')){
1854			callback();
1855		}
1856		else{
1857			setTimeout(function() {
1858				waitLayer(delay, callback);
1859			}, delay);
1860		}
1861	}
1862}
1863
1864if(!funcDefined("checkCounters")){
1865	function checkCounters(name){
1866		if(typeof name !== "undefined"){
1867			if(name == "google" && (arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0)){
1868				return true;
1869			}
1870			else if(name == "yandex" && (arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0)){
1871				return true;
1872			}
1873			else{
1874				return false;
1875			}
1876		}
1877		else if((arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0) || (arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0)) {
1878			return true;
1879		}
1880		else{
1881			return false;
1882		}
1883	}
1884}
1885
1886if(!funcDefined("addBasketCounter")){
1887	function addBasketCounter(id){
1888		if(arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
1889			var eventdata = {goal: 'goal_basket_add', params: {id: id}};
1890			BX.onCustomEvent('onCounterGoals', [eventdata]);
1891		}
1892		if(checkCounters()){
1893			$.ajax({
1894				url:arAsproOptions['SITE_DIR'] + "ajax/goals.php",
1895				dataType: "json",
1896				type: "POST",
1897				data: {"ID": id},
1898				success: function(item){
1899					if(!!item && !!item.ID){
1900						waitLayer(100, function() {
1901							dataLayer.push({
1902								"event": arAsproOptions["COUNTERS"]['GOOGLE_EVENTS']['ADD2BASKET'],
1903							    "ecommerce": {
1904							    	"currencyCode": item.CURRENCY,
1905							        "add": {
1906							            "products": [{
1907						                    "id": item.ID,
1908						                    "name": item.NAME,
1909						                    "price": item.PRICE,
1910						                    "brand": item.BRAND,
1911						                    "category": item.CATEGORY,
1912						                    "quantity": item.QUANTITY
1913						                }]
1914							        }
1915							    }
1916							});
1917						});
1918					}
1919				}
1920			});
1921		}
1922	}
1923}
1924
1925if(!funcDefined("purchaseCounter")){
1926	function purchaseCounter(order_id, type, callback){
1927		if(checkCounters()){
1928			$.ajax({
1929				url:arAsproOptions['SITE_DIR'] + "ajax/goals.php",
1930				dataType: "json",
1931				type: "POST",
1932				data: {"ORDER_ID": order_id, "TYPE": type},
1933				success: function(order){
1934					var products = [];
1935					if(order.ITEMS){
1936						for(var i in order.ITEMS){
1937							products.push({
1938								"item_id": order.ITEMS[i].ID,
1939                                                                "sku": order.ITEMS[i].ID,
1940                                                                "item_name": order.ITEMS[i].NAME,
1941                                                                "price": parseFloat(order.ITEMS[i].PRICE),
1942                                                                "item_category": order.ITEMS[i].CATEGORY,
1943                                                                "quantity": parseInt(order.ITEMS[i].QUANTITY, 10)
1944							});
1945						}
1946					}
1947					if(order.ID){
1948						waitLayer(100, function() {
1949							dataLayer.push({
1950								"event": arAsproOptions["COUNTERS"]['GOOGLE_EVENTS']['PURCHASE'],
1951                                                                "ecommerce": d = {
1952                                                                    "transaction_id": order.ACCOUNT_NUMBER,
1953                                                                    "value": parseFloat(order.PRICE),
1954                                                                    "currency": "EUR",
1955                                                                    "shipping": parseFloat(order.PRICE_DELIVERY),
1956                                                                    "tax": parseFloat(order.TAX_VALUE),
1957                                                                    "items": products
1958							    }
1959							});
1960
1961							if(typeof callback !== 'undefined'){
1962								callback(d);
1963							}
1964						});
1965					}
1966					else{
1967						if(typeof callback !== 'undefined'){
1968							callback();
1969						}
1970					}
1971				},
1972				error: function(){
1973					if(typeof callback !== 'undefined'){
1974						callback();
1975					}
1976				}
1977			});
1978		}
1979	}
1980}
1981
1982if(!funcDefined("viewItemCounter")){
1983	function viewItemCounter(id, price_id){
1984		if(checkCounters()){
1985			$.ajax({
1986				url:arAsproOptions['SITE_DIR'] + "ajax/goals.php",
1987				dataType: "json",
1988				type: "POST",
1989				data: {"PRODUCT_ID": id, "PRICE_ID": price_id},
1990				success: function(item){
1991					if(item.ID){
1992						waitLayer(100, function() {
1993							dataLayer.push({
1994								//"event": "",
1995								"ecommerce": {
1996									"detail": {
1997										"products": [{
1998											"id": item.ID,
1999											"name": item.NAME,
2000											"price": item.PRICE,
2001											"brand": item.BRAND,
2002											"category": item.CATEGORY
2003										}]
2004									}
2005								}
2006							});
2007						});
2008					}
2009				}
2010			});
2011		}
2012	}
2013}
2014
2015if(!funcDefined("checkoutCounter")){
2016	function checkoutCounter(step, option, callback){
2017		if(checkCounters('google')){
2018			$.ajax({
2019				url:arAsproOptions['SITE_DIR'] + "ajax/goals.php",
2020				dataType: "json",
2021				type: "POST",
2022				data: {"BASKET": "Y"},
2023				success: function(basket){
2024					var products = [];
2025					if(basket.ITEMS){
2026						for(var i in basket.ITEMS){
2027							products.push({
2028								"id": basket.ITEMS[i].ID,
2029			                    "name": basket.ITEMS[i].NAME,
2030			                    "price": basket.ITEMS[i].PRICE,
2031			                    "brand": basket.ITEMS[i].BRAND,
2032			                    "category": basket.ITEMS[i].CATEGORY,
2033			                    "quantity": basket.ITEMS[i].QUANTITY
2034							});
2035						}
2036					}
2037					if(products){
2038						waitLayer(100, function() {
2039							dataLayer.push({
2040								"event": arAsproOptions["COUNTERS"]['GOOGLE_EVENTS']['CHECKOUT_ORDER'],
2041							    "ecommerce": {
2042							    	'checkout': {
2043								    	"actionField":{
2044								    		"step": step,
2045								    		"option": option
2046								    	},
2047								        "products": products
2048								    }
2049							    },
2050							    /*"eventCallback": function() {
2051							    	if((typeof callback !== 'undefined') && (typeof callback === 'function')){
2052							    		callback();
2053							    	}
2054							   }*/
2055							});
2056						});
2057					}
2058				}
2059			});
2060		}
2061	}
2062}
2063
2064if(!funcDefined("delFromBasketCounter")){
2065	function delFromBasketCounter(id, callback){
2066		if(checkCounters()){
2067			$.ajax({
2068				url:arAsproOptions['SITE_DIR'] + "ajax/goals.php",
2069				dataType: "json",
2070				type: "POST",
2071				data: {"ID": id},
2072				success: function(item){
2073					if(item.ID){
2074						waitLayer(100, function() {
2075							dataLayer.push({
2076								"event": arAsproOptions["COUNTERS"]['GOOGLE_EVENTS']['REMOVE_BASKET'],
2077							    "ecommerce": {
2078							        "remove": {
2079							            "products": [{
2080						                    "id": item.ID,
2081						                    "name": item.NAME,
2082						                    "category": item.CATEGORY
2083						                }]
2084							        }
2085							    }
2086							});
2087							if(typeof callback == 'function'){
2088								callback();
2089							}
2090						});
2091					}
2092				}
2093			});
2094		}
2095	}
2096}
2097
2098if(!funcDefined("setHeightCompany")){
2099	function setHeightCompany(){
2100		$('.md-50.img').height($('.md-50.big').outerHeight()-35);
2101	}
2102}
2103
2104if(!funcDefined("initSly")){
2105	function initSly(){
2106		/*var $frame  = $(document).find('.frame');
2107		var $slidee = $frame.children('ul').eq(0);
2108		var $wrap   = $frame.parent();
2109
2110		if(arAsproOptions["PAGES"]["CATALOG_PAGE"] && $frame.length){
2111			$frame.sly({
2112				horizontal: 1,
2113				itemNav: 'basic',
2114				smart: 1,
2115				mouseDragging: 0,
2116				touchDragging: 0,
2117				releaseSwing: 0,
2118				startAt: 0,
2119				scrollBar: $wrap.find('.scrollbar'),
2120				scrollBy: 1,
2121				speed: 300,
2122				elasticBounds: 0,
2123				easing: 'swing',
2124				dragHandle: 1,
2125				dynamicHandle: 1,
2126				clickBar: 1,
2127
2128				// Buttons
2129				forward: $wrap.find('.forward'),
2130				backward: $wrap.find('.backward'),
2131			});
2132			$frame.sly('reload');
2133		}*/
2134	}
2135}
2136
2137if(!funcDefined("createTableCompare")){
2138	function createTableCompare(originalTable, appendDiv, cloneTable){
2139
2140		try{
2141			var clone = originalTable.clone().removeAttr('id').addClass('clone');
2142			if(cloneTable.length){
2143				cloneTable.remove();
2144				appendDiv.html('');
2145				appendDiv.html(clone);
2146			}else{
2147				appendDiv.append(clone);
2148			}
2149		}
2150		catch(e){}
2151		finally{
2152
2153		}
2154	}
2155}
2156
2157if(!funcDefined('fillBasketPropsExt')){
2158	fillBasketPropsExt = function(that, prop_code, basket_prop_div){
2159		var
2160			i = 0,
2161			propCollection = null,
2162			foundValues = false,
2163			basketParams = {},
2164			obBasketProps = null;
2165
2166		obBasketProps = BX(basket_prop_div);
2167		if(!obBasketProps && that.closest('.item').find('.basket_props_block').length)
2168			obBasketProps = that.closest('.item').find('.basket_props_block')[0];
2169
2170		if (!!obBasketProps)
2171		{
2172			propCollection = obBasketProps.getElementsByTagName('select');
2173			if (!!propCollection && !!propCollection.length)
2174			{
2175				for (i = 0; i < propCollection.length; i++)
2176				{
2177					if (!propCollection[i].disabled)
2178					{
2179						switch(propCollection[i].type.toLowerCase())
2180						{
2181							case 'select-one':
2182								basketParams[propCollection[i].name] = propCollection[i].value;
2183								foundValues = true;
2184								break;
2185							default:
2186								break;
2187						}
2188					}
2189				}
2190			}
2191			propCollection = obBasketProps.getElementsByTagName('input');
2192			if (!!propCollection && !!propCollection.length)
2193			{
2194				for (i = 0; i < propCollection.length; i++)
2195				{
2196					if (!propCollection[i].disabled)
2197					{
2198						switch(propCollection[i].type.toLowerCase())
2199						{
2200							case 'hidden':
2201								basketParams[propCollection[i].name] = propCollection[i].value;
2202								foundValues = true;
2203								break;
2204							case 'radio':
2205								if (propCollection[i].checked)
2206								{
2207									basketParams[propCollection[i].name] = propCollection[i].value;
2208									foundValues = true;
2209								}
2210								break;
2211							default:
2212								break;
2213						}
2214					}
2215				}
2216			}
2217		}
2218		if (!foundValues)
2219		{
2220			basketParams[prop_code] = [];
2221			basketParams[prop_code][0] = 0;
2222		}
2223		return basketParams;
2224	}
2225}
2226if(!funcDefined('showBasketError')){
2227	showBasketError = function(mess, title, addButton, th, callback){
2228		var title_set=(title ? title : BX.message("ERROR_BASKET_TITLE")),
2229			isButton="N",
2230			thButton="";
2231		if(typeof addButton!==undefined){
2232			isButton="Y";
2233		}
2234		if(typeof th!==undefined){
2235			thButton=th;
2236		}
2237		$("body").append("<span class='add-error-bakset' style='display:none;'></span>");
2238		jqmEd('basket_error', 'error-bakset', '.add-error-bakset', mess, this, title_set, isButton, thButton);
2239		$("body .add-error-bakset").click();
2240		$("body .add-error-bakset").remove();
2241
2242		if(typeof callback === 'function'){
2243			callback();
2244		}
2245	}
2246}
2247
2248CheckTopVisibleMenu = function(that) {
2249	var dropdownMenu = $('.dropdown-menu:visible');
2250	if( that !== undefined ) {
2251		dropdownMenu.push(that);
2252	}
2253
2254	if(dropdownMenu.length){
2255		dropdownMenu.each(function(i, el) {
2256			var dropdownMenuCurrent = $(el);
2257			dropdownMenuCurrent.find('a').css('white-space', '');
2258			dropdownMenuCurrent.css('left', '');
2259			dropdownMenuCurrent.css('right', '');
2260			dropdownMenuCurrent.removeClass('toright');
2261
2262			var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left;
2263
2264			if(typeof(dropdownMenuCurrent_left) != 'undefined'){
2265				var menu = dropdownMenuCurrent.parents('.mega-menu');
2266				if(!menu.length)
2267					menu = dropdownMenuCurrent.closest('.logo-row');
2268				var menu_width = menu.outerWidth();
2269				var menu_left = menu.offset().left;
2270				var menu_right = menu_left + menu_width;
2271				var isToRight = dropdownMenuCurrent.parents('.toright').length > 0;
2272				var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents('.dropdown-menu');
2273				var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0;
2274				if(isHasParentdropdownMenuCurrent){
2275					var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth();
2276					var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left;
2277					var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left;
2278				}
2279
2280				if(parentdropdownMenuCurrent_right + dropdownMenuCurrent.outerWidth() > menu_right){
2281					dropdownMenuCurrent.find('a').css('white-space', 'normal');
2282				}
2283
2284				var dropdownMenuCurrent_width = dropdownMenuCurrent.outerWidth();
2285				var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width;
2286
2287				if(dropdownMenuCurrent_right > menu_right || isToRight){
2288					var addleft = 0;
2289					addleft = menu_right - dropdownMenuCurrent_right;
2290					if(isHasParentdropdownMenuCurrent || isToRight){
2291						dropdownMenuCurrent.css('left', 'auto');
2292						dropdownMenuCurrent.css('right', '100%');
2293						dropdownMenuCurrent.addClass('toright');
2294					}
2295					else{
2296						var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css('left'));
2297						dropdownMenuCurrent.css('left', (dropdownMenuCurrent_curLeft + addleft) + 'px');
2298					}
2299				}
2300			}
2301		});
2302	}
2303}
2304
2305if(!funcDefined("isRealValue")){
2306	function isRealValue(obj){
2307		return obj && obj !== "null" && obj!== "undefined";
2308	}
2309}
2310
2311if(!funcDefined("rightScroll")){
2312	function rightScroll(prop, id){
2313		var el = BX('prop_' + prop + '_' + id);
2314		if (el) {
2315			var curVal = parseInt(el.style.marginLeft);
2316			if (curVal >= 0) el.style.marginLeft = curVal - 20 + '%';
2317		}
2318	}
2319}
2320
2321if(!funcDefined("leftScroll")){
2322	function leftScroll(prop, id){
2323		var el = BX('prop_' + prop + '_' + id);
2324		if (el) {
2325			var curVal = parseInt(el.style.marginLeft);
2326			if (curVal < 0) el.style.marginLeft = curVal + 20 + '%';
2327		}
2328	}
2329}
2330
2331if(!funcDefined("InitOrderCustom")){
2332	InitOrderCustom = function () {
2333		$('.ps_logo img').wrap('<div class="image"></div>');
2334
2335		$('#bx-soa-order .radio-inline').each(function() {
2336			if ($(this).find('input').attr('checked') == 'checked') {
2337				$(this).addClass('checked');
2338			}
2339		});
2340
2341		$('#bx-soa-order .checkbox input[type=checkbox]').each(function() {
2342			if ($(this).attr('checked') == 'checked')
2343				$(this).parent().addClass('checked');
2344		});
2345
2346		$('#bx-soa-order .bx-authform-starrequired').each(function() {
2347			var html = $(this).html();
2348			$(this).closest('label').append('<span class="bx-authform-starrequired"> '+ html + '</span>');
2349			$(this).detach();
2350		});
2351		$('.bx_ordercart_coupon').each(function() {
2352			if ($(this).find('.bad').length)
2353				$(this).addClass('bad');
2354			else if ($(this).find('.good').length)
2355				$(this).addClass('good');
2356		});
2357		/*if (typeof(propsMap) !== 'undefined') {
2358			$(propsMap).on('click', function () {
2359				var value = $('#orderDescription').val();
2360				if ($('#orderDescription')) {
2361					if (value != '') {
2362						$('#orderDescription').closest('.form-group').addClass('value_y');
2363					}
2364				}
2365			});
2366		}*/
2367	}
2368}
2369
2370if(!funcDefined("InitLabelAnimation")){
2371	InitLabelAnimation = function(className) {
2372		// Fix order labels
2373		if (!$(className).length) {
2374			return;
2375		}
2376		$(className).find('.form-group').each(function() {
2377			if ($(this).find('input[type=text], textarea').length && !$(this).find('.dropdown-block').length && $(this).find('input[type=text], textarea').val() != '') {
2378				$(this).addClass('value_y');
2379			}
2380		});
2381
2382		$(document).on('click', className+' .form-group:not(.bx-soa-pp-field) label', function() {
2383			$(this).parent().find('input, textarea').focus();
2384		});
2385
2386		$(document).on('focusout', className+' .form-group:not(.bx-soa-pp-field) input, '+className+' .form-group:not(.bx-soa-pp-field) textarea', function() {
2387			var value = $(this).val();
2388			if (value != '' && !$(this).closest('.form-group').find('.dropdown-block').length && !$(this).closest('.form-group').find('#profile_change').length) {
2389				$(this).closest('.form-group').addClass('value_y');
2390			}else{
2391				$(this).closest('.form-group').removeClass('value_y');
2392			}
2393		});
2394
2395		$(document).on('focus', className+' .form-group:not(.bx-soa-pp-field) input, '+className+' .form-group:not(.bx-soa-pp-field) textarea', function() {
2396			if (!$(this).closest('.form-group').find('.dropdown-block').length && !$(this).closest('.form-group').find('#profile_change').length && !$(this).closest('.form-group').find('[name=PERSON_TYPE_OLD]').length ) {
2397				$(this).closest('.form-group').addClass('value_y');
2398			}
2399		});
2400	};
2401}
2402
2403checkPopupWidth = function(){
2404	$('.popup.show').each(function() {
2405		var width_form = $(this).actual('width');
2406		$(this).css({
2407			'margin-left': ($(window).width() > width_form ? '-' + width_form / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
2408		});
2409	});
2410}
2411
2412checkCaptchaWidth = function(){
2413	$('.captcha-row').each(function() {
2414		var width = $(this).actual('width');
2415		if($(this).hasClass('b')){
2416			if(width > 320){
2417				$(this).removeClass('b');
2418			}
2419		}
2420		else{
2421			if(width <= 320){
2422				$(this).addClass('b');
2423			}
2424		}
2425	});
2426}
2427
2428checkFormWidth = function(){
2429	$('.form .form_left').each(function() {
2430		var form = $(this).parents('.form');
2431		var width = form.actual('width');
2432		if(form.hasClass('b')){
2433			if(width > 417){
2434				form.removeClass('b');
2435			}
2436		}
2437		else{
2438			if(width <= 417){
2439				form.addClass('b');
2440			}
2441		}
2442	});
2443}
2444
2445checkFormControlWidth = function(){
2446	$('.form-control').each(function() {
2447		var width = $(this).actual('width');
2448		var labelWidth = $(this).find('label:not(.error) > span').actual('width');
2449		var errorWidth = $(this).find('label.error').actual('width');
2450		if(errorWidth > 0){
2451			if($(this).hasClass('h')){
2452				if(width > (labelWidth + errorWidth + 5)){
2453					$(this).removeClass('h');
2454				}
2455			}
2456			else{
2457				if(width <= (labelWidth + errorWidth + 5)){
2458					$(this).addClass('h');
2459				}
2460			}
2461		}
2462		else{
2463			$(this).removeClass('h');
2464		}
2465	});
2466}
2467
2468scrollToTop = function(){
2469	if(arAsproOptions['THEME']['SCROLLTOTOP_TYPE'] !== 'NONE'){
2470		var _isScrolling = false;
2471		// Append Button
2472		$('body').append($('<a />').addClass('scroll-to-top ' + arAsproOptions['THEME']['SCROLLTOTOP_TYPE'] + ' ' + arAsproOptions['THEME']['SCROLLTOTOP_POSITION']).attr({'href': '#', 'id': 'scrollToTop'}));
2473
2474		if(arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM']) {
2475			$('#scrollToTop').css('bottom', +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM']+'px');
2476		}
2477
2478		if(arAsproOptions['THEME']['SCROLLTOTOP_POSITION_RIGHT']) {
2479			$('#scrollToTop').css('right', +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_RIGHT']+'px');
2480		}
2481
2482		$('#scrollToTop').click(function(e){
2483			e.preventDefault();
2484			$('body, html').animate({scrollTop : 0}, 500);
2485			return false;
2486		});
2487		// Show/Hide Button on Window Scroll event.
2488		$(window).scroll(function(){
2489			if(!_isScrolling) {
2490				_isScrolling = true;
2491				if($(window).scrollTop() > 150){
2492					$('#scrollToTop').stop(true, true).addClass('visible');
2493					_isScrolling = false;
2494				}
2495				else{
2496					$('#scrollToTop').stop(true, true).removeClass('visible');
2497					_isScrolling = false;
2498				}
2499				checkScrollToTop();
2500			}
2501		});
2502	}
2503}
2504
2505checkScrollToTop = function(){
2506	if(arAsproOptions['THEME'] && arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM'])
2507		var bottom = +arAsproOptions['THEME']['SCROLLTOTOP_POSITION_BOTTOM'];
2508	else
2509		var bottom = 55;
2510
2511	var scrollVal = $(window).scrollTop(),
2512		windowHeight = $(window).height(),
2513		footerOffset = 0;
2514	if($('footer').length)
2515		footerOffset = $('footer .footer-inner').offset().top;
2516
2517	if(arAsproOptions['THEME'] && arAsproOptions['THEME']['SCROLLTOTOP_POSITION'] == 'CONTENT'){
2518		warpperWidth = $('body > .wrapper > .wrapper_inner').width();
2519		$('#scrollToTop').css('margin-left', Math.ceil(warpperWidth / 2) + 23);
2520	}
2521
2522	if(scrollVal + windowHeight > footerOffset){
2523		$('#scrollToTop').css('bottom', Math.round(bottom  + scrollVal + windowHeight - footerOffset) + 'px');
2524	}
2525	else if(parseInt($('#scrollToTop').css('bottom')) > bottom){
2526		$('#scrollToTop').css('bottom', Math.round(bottom));
2527	}
2528}
2529
2530CheckObjectsSizes = function() {
2531	$('.container iframe,.container object,.container video').each(function() {
2532		var height_attr = $(this).attr('height');
2533		var width_attr = $(this).attr('width');
2534		if (height_attr && width_attr) {
2535			$(this).css('height', $(this).outerWidth() * height_attr / width_attr);
2536		}
2537	});
2538}
2539
2540if(!funcDefined('reloadTopBasket')){
2541	var reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item, sync){
2542		var obj={
2543				"PARAMS": $('#top_basket_params').val(),
2544				"ACTION": action
2545			};
2546		if(typeof item !== "undefined" && item){
2547			obj.delete_top_item='Y';
2548			obj.delete_top_item_id=item.data('id');
2549		}
2550		// $.post( arAsproOptions['SITE_DIR']+"ajax/show_basket_popup.php", obj, $.proxy(function( data ){
2551		$.post( arAsproOptions['SITE_DIR']+"ajax/show_basket_actual.php", obj, $.proxy(function( data ){
2552			$(basketWindow).html(data);
2553
2554			getActualBasket('', '', sync);
2555
2556			var eventdata = {action:'loadBasket'};
2557			BX.onCustomEvent('onCompleteAction', [eventdata]);
2558
2559			/*if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){
2560				if($(window).outerWidth() > 520){
2561					if(slideDown=="Y")
2562						$(basketWindow).find('.basket_popup_wrapp').stop(true,true).slideDown(speed);
2563					clearTimeout(basketTimeoutSlide);
2564					basketTimeoutSlide = setTimeout(function() {
2565						var _this = $('#basket_line').find('.basket_popup_wrapp');
2566						if (_this.is(':hover')) {
2567							_this.show();
2568						}else{
2569							$('#basket_line').find('.basket_popup_wrapp').slideUp(speed);
2570						}
2571					},delay);
2572				}
2573			}*/
2574		}))
2575	}
2576}
2577
2578CheckTabActive = function(){
2579	if(typeof(clicked_tab) && clicked_tab)
2580	{
2581		if(window.matchMedia('(min-width: 768px)').matches)
2582		{
2583			clicked_tab--;
2584			$('.nav.nav-tabs li').each(function(){
2585				if($(this).index() == clicked_tab)
2586					$(this).addClass('active');
2587			})
2588			// $('.nav.nav-tabs li:eq('+clicked_tab+')').addClass('active');
2589			$('.catalog_detail .tab-content .tab-pane:eq('+clicked_tab+')').addClass('active');
2590			$('.catalog_detail .tab-content .tab-pane .title-tab-heading').next().removeAttr('style');
2591			clicked_tab = 0;
2592		}
2593	}
2594}
2595
2596/*countdown start*/
2597if(!funcDefined('initCountdown')){
2598	var initCountdown = function initCountdown(){
2599		if( $('.view_sale_block').size() ){
2600			$('.view_sale_block').each(function(){
2601				var activeTo=$(this).find('.active_to').text(),
2602					dateTo= new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2603				if($(this).hasClass('compact'))
2604					$(this).find('.countdown').countdown({until: dateTo, format: 'dHMS',compact: true, padZeroes: true, layout: '{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>'}, $.countdown.regionalOptions['ru']);
2605				else
2606					$(this).find('.countdown').countdown({until: dateTo, format: 'dHMS', padZeroes: true, layout: '{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>'}, $.countdown.regionalOptions['ru']);
2607			})
2608		}
2609	}
2610}
2611
2612if(!funcDefined('initCountdownTime')){
2613	var initCountdownTime = function initCountdownTime(block, time){
2614		if(time)
2615		{
2616			var dateTo= new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2617			block.find('.countdown').countdown('destroy');
2618			if(block.hasClass('compact'))
2619				block.find('.countdown').countdown({until: dateTo, format: 'dHM',compact: true, padZeroes: true, layout: '{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>'}, $.countdown.regionalOptions['ru']);
2620			else
2621				block.find('.countdown').countdown({until: dateTo, format: 'dHMS', padZeroes: true, layout: '{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>'}, $.countdown.regionalOptions['ru']);
2622			block.find('.view_sale_block').show();
2623		}
2624		else
2625		{
2626			block.find('.view_sale_block').hide();
2627		}
2628	}
2629}
2630/*countdown end*/
2631
2632waitCounter = function(idCounter, delay, callback){
2633	var obCounter = window['yaCounter' + idCounter];
2634	if(typeof obCounter == 'object')
2635	{
2636		if(typeof callback == 'function')
2637			callback();
2638
2639	}
2640	else
2641	{
2642		setTimeout(function(){
2643			waitCounter(idCounter, delay, callback);
2644		}, delay);
2645	}
2646}
2647
2648var isOnceInited = insertFilter = false;
2649var animationTime = 200;
2650var delayTime = 200;
2651var topMenuEnterTimer = false;
2652var previewMode = (window!=window.top)
2653var isMobile = ((jQuery.browser.mobile || previewMode) && window.matchMedia('(max-width:767px)').matches) || window.matchMedia('(max-width:400px)').matches;
2654
2655if(isMobile)
2656	document.documentElement.className += ' mobile';
2657if(previewMode)
2658	document.documentElement.className += ' previewMode';
2659
2660if(navigator.userAgent.indexOf("Edge") != -1)
2661	document.documentElement.className += ' bx-ie-edge';
2662
2663/*filter start*/
2664if(!funcDefined('checkVerticalMobileFilter')){
2665	var checkVerticalMobileFilter = function checkVerticalMobileFilter(){
2666		/*if($('.right_block1.catalog.vertical').length && !$('.left_block.filter_ajax').length)
2667		{
2668			if(typeof window['trackBarOptions'] !== 'undefined')
2669			{
2670				window['trackBarValues'] = {}
2671				for(key in window['trackBarOptions'])
2672				{
2673					window['trackBarValues'][key] = {
2674						'leftPercent': window['trackBar' + key].leftPercent,
2675						'leftValue': window['trackBar' + key].minInput.value,
2676						'rightPercent': window['trackBar' + key].rightPercent,
2677						'rightValue': window['trackBar' + key].maxInput.value,
2678					}
2679				}
2680			}
2681
2682			if(window.matchMedia('(max-width: 991px)').matches)
2683			{
2684				if(!insertFilter)
2685				{
2686					$('.js_filter .bx_filter.bx_filter_vertical').html($('.left_block .bx_filter.bx_filter_vertical').html());
2687					$('.left_block .bx_filter.bx_filter_vertical .bx_filter_section').remove();
2688					insertFilter=true;
2689				}
2690			}
2691			else
2692			{
2693				if(insertFilter)
2694				{
2695					$('.left_block .bx_filter.bx_filter_vertical').html($('.js_filter .bx_filter.bx_filter_vertical').html());
2696					$('.js_filter .bx_filter.bx_filter_vertical .bx_filter_section').remove();
2697					insertFilter=false;
2698				}
2699			}
2700
2701			if(typeof window['trackBarOptions'] !== 'undefined')
2702			{
2703				for(key in window['trackBarOptions'])
2704				{
2705					window['trackBarOptions'][key].leftPercent = window['trackBarValues'][key].leftPercent;
2706					window['trackBarOptions'][key].rightPercent = window['trackBarValues'][key].rightPercent;
2707					window['trackBarOptions'][key].curMinPrice = window['trackBarValues'][key].leftValue;
2708					window['trackBarOptions'][key].curMaxPrice = window['trackBarValues'][key].rightValue;
2709					window['trackBar' + key] = new BX.Iblock.SmartFilter(window['trackBarOptions'][key]);
2710					window['trackBar' + key].minInput.value = window['trackBarValues'][key].leftValue;
2711					window['trackBar' + key].maxInput.value = window['trackBarValues'][key].rightValue;
2712				}
2713			}
2714		}
2715		else if($('.visible_mobile_filter').length)
2716		{
2717			var posTopBlock = BX.pos($('.detail.partners')[0]),
2718				posBlock = $('.ajax_load').position();
2719			// $('.visible_mobile_filter').css('top', posBottomBlock.top-posTopBlock.top);
2720			$('.visible_mobile_filter').css('top', posBlock.top);
2721
2722		}*/
2723	}
2724}
2725/*filter end*/
2726
2727// ONE CLICK
2728if(!funcDefined("oneClickBuy")) {
2729	var oneClickBuy = function (elementID, iblockID, that) {
2730		var name = 'one_click_buy';
2731		var elementQuantity = 1;
2732		var offerProps = false;
2733		var buy_btn=$(that).closest('.buy_block').find('.to-cart');
2734		var buy_btn2=$(that).closest('tr').find('.to-cart');
2735
2736		if(typeof(that) !== 'undefined'){
2737			elementQuantity = $(that).attr('data-quantity');
2738			offerProps = $(that).attr('data-props');
2739		}
2740
2741		if(elementQuantity < 0){
2742			elementQuantity = 1;
2743		}
2744
2745		var tmp_props=buy_btn.data("props"),
2746			tmp_props2=buy_btn2.data("props"),
2747			props='',
2748			part_props='',
2749			add_props='N',
2750			fill_prop={},
2751			iblockid = buy_btn.data('iblockid'),
2752			item = buy_btn.attr('data-item');
2753
2754		if(tmp_props){
2755			props=tmp_props.split(";");
2756		}else if(tmp_props2){
2757			props=tmp_props2.split(";");
2758		}
2759		if(buy_btn.data("part_props")){
2760			part_props=buy_btn.data("part_props");
2761		}
2762		if(buy_btn.data("add_props")){
2763			add_props=buy_btn.data("add_props");
2764		}
2765
2766		fill_prop=fillBasketPropsExt(buy_btn, 'prop', buy_btn.data('bakset_div'));
2767		fill_prop.iblockID=iblockid;
2768		fill_prop.part_props=part_props;
2769		fill_prop.add_props=add_props;
2770		fill_prop.props=JSON.stringify(props);
2771		fill_prop.item=item;
2772		fill_prop.ocb_item="Y";
2773
2774		if(!isMobile)
2775		{
2776			if(!$(that).hasClass('clicked'))
2777			{
2778				$(that).addClass('clicked');
2779				$('body').find('.'+name+'_frame').remove();
2780				$('body').find('.'+name+'_trigger').remove();
2781				$('body #popup_iframe_wrapper').append('<div class="'+name+'_frame popup"></div>');
2782				$('body #popup_iframe_wrapper').append('<div class="'+name+'_trigger"></div>');
2783				$('.'+name+'_frame').jqm({trigger: '.'+name+'_trigger', onHide: function(hash) { onHidejqm(name,hash); }, toTop: false, onLoad: function( hash ){ onLoadjqm(name, hash ); }
2783, ajax: arAsproOptions["SITE_DIR"]+'ajax/one_click_buy.php?ELEMENT_ID='+elementID+'&IBLOCK_ID='+iblockID+'&ELEMENT_QUANTITY='+elementQuantity+'&OFFER_PROPS='+fill_prop.props});
2784				$('.'+name+'_trigger').click();
2785			}
2786		}
2787		else
2788		{
2789			var script = arAsproOptions['SITE_DIR'] + 'form/';
2790			script += '?name='+name+'&form_id=ocb&path='+window.location.pathname+'&ELEMENT_ID='+elementID+'&IBLOCK_ID='+iblockID+'&ELEMENT_QUANTITY='+elementQuantity+'&OFFER_PROPS='+fill_prop.props
2791			location.href = script;
2792		}
2793	}
2794}
2795
2796if(!funcDefined("oneClickBuyBasket")) {
2797	var oneClickBuyBasket = function () {
2798		name = 'one_click_buy_basket';
2799		if(!isMobile)
2800		{
2801			if(!$('.fast_order').hasClass('clicked'))
2802			{
2803				$('.fast_order').addClass('clicked');
2804				$('body').find('.'+name+'_frame').remove();
2805				$('body').find('.'+name+'_trigger').remove();
2806				$('body #popup_iframe_wrapper').append('<div class="'+name+'_frame popup"></div>');
2807				$('body #popup_iframe_wrapper').append('<div class="'+name+'_trigger"></div>');
2808				$('.'+name+'_frame').jqm({trigger: '.'+name+'_trigger', onHide: function(hash) { onHidejqm(name,hash) }, onLoad: function( hash ){ onLoadjqm( name, hash ); }, ajax: arAsproOptions["SITE_DIR"]+'ajax/one_click_buy_basket.php'});
2809				$('.'+name+'_trigger').click();
2810			}
2811		}
2812		else
2813		{
2814			var script = arAsproOptions['SITE_DIR'] + 'form/';
2815			script += '?name='+name+'&form_id=ocb&path='+window.location.pathname+'&buy_basket=y';
2816			location.href = script;
2817		}
2818	}
2819}
2820
2821// TOP MENU ANIMATION
2822$(document).on('click', '.menu_top_block>li .more a', function(){
2823	$this = $(this);
2824	$this.parents('.dropdown').first().find('>.hidden').removeClass('hidden');
2825	$this.parent().addClass('hidden');
2826	setTimeout(function(){
2827		$this.parent().remove();
2828	}, 500);
2829});
2830
2831$(document).on('mouseenter', '.menu_top_block.catalogfirst>li>.dropdown>li.full', function(){
2832	var $submenu = $(this).find('>.dropdown');
2833
2834	if($submenu.length){
2835		if(topMenuEnterTimer){
2836			clearTimeout(topMenuEnterTimer);
2837			topMenuEnterTimer = false;
2838		}
2839	}
2840});
2841
2842$(document).on('mouseenter', '.menu_top_block>li:not(.full)', function(){
2843	var $submenu = $(this).find('>.dropdown');
2844
2845	if($submenu.length && !$submenu.hasClass('visible')){
2846		var $menu = $(this).parents('.menu');
2847		var $wrapmenu = $menu.parents('.wrap_menu');
2848		var wrapMenuWidth = $wrapmenu.actual('outerWidth');
2849		var wrapMenuLeft = $wrapmenu.offset().left;
2850		var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
2851		var left = wrapMenuRight - ($(this).offset().left + $submenu.actual('outerWidth'));
2852		if(window.matchMedia('(min-width: 951px)').matches && $(this).hasClass('catalog') && ( $('.banner_auto').hasClass('catalog_page') || $('.banner_auto').hasClass('front_page'))){
2853			return;
2854		}
2855		if(left < 0){
2856			$submenu.css({left: left + 'px'});
2857		}
2858		$submenu.stop().slideDown(animationTime, function(){
2859			$submenu.css({height: '', 'overflow':'visible'});
2860		});
2861
2862
2863		$(this).on('mouseleave', function(){
2864			var leaveTimer = setTimeout(function(){
2865				$submenu.stop().slideUp(animationTime, function(){
2866					$submenu.css({left: ''});
2867				});
2868			}, delayTime);
2869
2870			$(this).on('mouseenter', function(){
2871				if(leaveTimer){
2872					clearTimeout(leaveTimer);
2873					leaveTimer = false;
2874				}
2875			});
2876		});
2877	}
2878});
2879
2880$(document).on('mouseenter', '.menu_top_block>li .dropdown>li', function(){
2881	var $this = $(this);
2882	var $submenu = $this.find('>.dropdown');
2883
2884	if($submenu.length && ((!$this.parents('.full').length && !$this.hasClass('full')) || $this.parents('.more').length)){
2885		var $menu = $this.parents('.menu');
2886		var $wrapmenu = $menu.parents('.wrap_menu');
2887		var arParentSubmenuForOpacity = [];
2888		topMenuEnterTimer = setTimeout(function(){
2889
2890			var wrapMenuWidth = $wrapmenu.actual('outerWidth');
2891			var wrapMenuLeft = $wrapmenu.offset().left;
2892			var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
2893			var $parentSubmenu = $this.parent();
2894			var bToLeft = $parentSubmenu.hasClass('toleft') ? true : false;
2895			if(!bToLeft){
2896				bToLeft = $this.offset().left + $this.actual('outerWidth') + $submenu.actual('outerWidth') > wrapMenuRight;
2897			}
2898			else{
2899				bToLeft = $this.offset().left + $this.actual('outerWidth') - $submenu.actual('outerWidth') < wrapMenuLeft;
2900			}
2901
2902			if(bToLeft){
2903				$this.find('>.dropdown').addClass('toleft').show();
2904			}
2905			else{
2906				$this.find('>.dropdown').removeClass('toleft').show();
2907			}
2908			var submenuLeft = $submenu.offset().left;
2909			var submenuRight = submenuLeft + $submenu.actual('outerWidth');
2910
2911			$this.parents('.dropdown').each(function(){
2912				var $this = $(this);
2913				var leftOffset = $this.offset().left;
2914				var rightOffset = leftOffset + $this.actual('outerWidth');
2915				if(leftOffset >= submenuLeft  && leftOffset < (submenuRight - 1) || (rightOffset > (submenuLeft + 1) && rightOffset <= submenuRight)){
2916					arParentSubmenuForOpacity.push($this);
2917					$this.find('>li>a').css({opacity: '0.1'});
2918				}
2919			});
2920		}, delayTime);
2921
2922		$this.unbind('mouseleave');
2923		$this.on('mouseleave', function(){
2924			var leaveTimer = setTimeout(function(){
2925				$this.find('.dropdown').removeClass('toleft').hide();
2926				if(arParentSubmenuForOpacity.length){
2927					for(i in arParentSubmenuForOpacity){
2928						arParentSubmenuForOpacity[i].find('>li>a').css({opacity: ''});
2929					}
2930				}
2931			}, delayTime);
2932
2933			$this.unbind('mouseenter');
2934			$this.on('mouseenter', function(){
2935				if(leaveTimer){
2936					clearTimeout(leaveTimer);
2937					leaveTimer = false;
2938				}
2939			});
2940		});
2941	}
2942});
2943
2944/*hover animate*/
2945	//breadcrumbs
2946	$(document).on('mouseenter', '.breadcrumbs .breadcrumbs__item, .hover-block .hover-block__item', function () {
2947		var _this = $(this),
2948			menu = _this.find('> .breadcrumbs__dropdown-wrapper, > .hover-block__item-wrapper');
2949
2950		menu.velocity('stop').velocity('transition.slideUpIn', {
2951			duration: 300,
2952			delay: 100
2953		});
2954
2955		_this.one('mouseleave', function () {
2956
2957			menu.velocity('stop').velocity('fadeOut', {
2958				duration: 100,
2959				// delay: 0
2960			});
2961		});
2962	});
2963
2964	//top menu
2965	$(document).on('mouseenter', '.menu .mega-menu table td, .menu-row .mega-menu table td', function(){
2966
2967		var _this = $(this),
2968			menu = _this.find('> .wrap > .dropdown-menu');
2969
2970		if(!_this.hasClass('wide_menu'))
2971		{
2972			menu.show();
2973			CheckTopVisibleMenu();
2974		}
2975
2976		var bDarkness = $('.wrapper1.dark-hover-overlay').length > 0;
2977
2978		menu.velocity('stop');
2979
2980		if(menu.css('opacity') != 0)
2981		{
2982			menu.css('opacity' , '1');
2983			if(bDarkness) {
2984				$('.shadow-block').css('opacity' , '1');
2985			}
2986		}
2987		else
2988		{
2989			// menu.velocity('stop').velocity('transition.perspectiveDownIn', {
2990			// menu.velocity('stop').velocity('transition.slideUpBigIn', {
2991			// menu.velocity('transition.expandIn', {
2992			menu.velocity('fadeIn', {
2993				begin: function(elements) {
2994					CheckTopVisibleMenu();
2995				},
2996				duration: 150,
2997				delay: 250,
2998				complete: function(){
2999					if(bDarkness) {
3000						$('body').addClass('menu-hovered');
3001						if(!$('.shadow-block').length)
3002							$('<div class="shadow-block"></div>').appendTo($('body'));
3003						$('.shadow-block').velocity('stop').velocity('fadeIn', 200);
3004					}
3005
3006					var bannerMenu = $('.dropdown-menu.with_right_block .owl-carousel-hover');
3007					if(bannerMenu.length) {
3008						bannerMenu.removeClass('owl-carousel-hover').addClass('owl-carousel');
3009						setTimeout(function() {
3010							InitOwlSlider();
3011							bannerMenu.removeClass('loader_circle');
3012						}, 1);
3013					}
3014				}
3015			});
3016		}
3017
3018		_this.one('mouseleave', function(){
3019			menu.velocity('stop').velocity('fadeOut', {
3020				duration: 50,
3021				delay: 300,
3022				complete: function(){
3023					if(bDarkness) {
3024						$('.shadow-block').velocity('stop').velocity('fadeOut', {
3025							duration: 200,
3026							// delay: 100,
3027							complete: function(){
3028								$('body').removeClass('menu-hovered');
3029							}
3030						});
3031					}
3032				}
3033			});
3034		});
3035	});
3036/**/
3037
3038$(document).on('mouseenter', '.menu-item:not(.wide_menu) .dropdown-menu .dropdown-submenu', function(){
3039	var _this = $(this),
3040		menu = _this.find('> .dropdown-menu');
3041
3042	menu.velocity('stop');
3043
3044	if(menu.css('opacity') != 0)
3045	{
3046		menu.css('opacity' , '1');
3047	}
3048	else
3049	{
3050		menu.velocity('transition.fadeIn', {
3051			begin: function(element) {
3052				$(element).css('display', 'block');
3053				CheckTopVisibleMenu();
3054			},
3055			duration: 300,
3056			delay: 250
3057		});
3058	}
3059
3060	_this.one('mouseleave', function(){
3061		menu.velocity('stop').velocity('fadeOut', {
3062			duration: 150,
3063			delay: 300
3064		});
3065	});
3066})
3067
3068/*register custom velocity animate*/
3069if(typeof $.Velocity !== undefined && ('RegisterEffect' in $.Velocity))
3070{
3071	var effects = {
3072		"transition.slideDownFullIn": {
3073			defaultDuration: 900,
3074			calls: [[{ opacity: [1, 0], translateY: [0, '-100%'], translateZ: 0}]]
3075		},
3076		"transition.slideDownFullOut": {
3077			defaultDuration: 900,
3078			calls: [[{ opacity: [0.4, 1], translateY: ['-100%', 0], translateZ: 0 }]]
3079		}
3080	};
3081
3082	for(var effectName in effects)
3083	{
3084		if(effects.hasOwnProperty(effectName))
3085		{
3086			$.Velocity.RegisterEffect(effectName, effects[effectName]);
3087		}
3088	}
3089}
3090/**/
3091
3092getGridSize = function(counts,slider) {
3093	var counts_item=1;
3094		//wide
3095		if(window.matchMedia('(min-width: 1200px)').matches){
3096			counts_item=counts[0];
3097			if(typeof(slider.data('lg_count')) !== 'undefined' && slider.data('lg_count') && $('.front.wide_page').length)
3098				counts_item=slider.data('lg_count');
3099		}
3100
3101		//large
3102		if(window.matchMedia('(max-width: 1200px)').matches){
3103			counts_item=counts[1];
3104		}
3105
3106		//middle
3107		if(window.matchMedia('(max-width: 992px)').matches){
3108			counts_item=counts[2];
3109		}
3110
3111		//small
3112		if(counts[3]){
3113			if(window.matchMedia('(max-width: 600px)').matches){
3114				counts_item=counts[3];
3115			}
3116		}
3117
3118		//exsmall
3119		if(counts[4]){
3120			if(window.matchMedia('(max-width: 400px)').matches){
3121				counts_item=counts[4];
3122			}
3123		}
3124	return counts_item;
3125}
3126
3127CheckFlexSlider = function(){
3128	$('.flexslider:not(.thmb)').each(function(){
3129		var slider = $(this);
3130		if(typeof(slider.data('flexslider')) != 'undefined')
3131		{
3132			if('vars' in slider.data('flexslider'))
3133			{
3134				slider.resize();
3135
3136				var counts = slider.data('flexslider').vars.counts;
3137				if(typeof(counts) != 'undefined' && slider.is(':visible')){
3138					var cnt = getGridSize(counts,slider);
3139					var to0 = (cnt != slider.data('flexslider').vars.minItems || cnt != slider.data('flexslider').vars.maxItems || cnt != slider.data('flexslider').vars.move);
3140					if(to0){
3141						slider.data('flexslider').vars.minItems = cnt;
3142						slider.data('flexslider').vars.maxItems = cnt;
3143						slider.data('flexslider').vars.move = cnt;
3144						slider.flexslider(0);
3145						slider.resize();
3146						slider.resize(); // twise!
3147					}
3148				}
3149			}
3150		}
3151	});
3152}
3153
3154$.fn.mCustomScrollbarDeferred = function(config){
3155	$(this).addClass('scroll-init');
3156
3157	if ($(this).hasClass('destroyed')) {
3158		return;
3159	}
3160	
3161
3162	$(this).hover(
3163		function(e){
3164			var $this = $(this);
3165			if(!$this.hasClass('mCustomScrollbar') && !$(this).hasClass('destroyed')){
3166				$this.data('scrollTimer', setTimeout(function(){
3167					$this.mCustomScrollbar(config);
3168					$this.off('touchstart touchmove touchend mousewheel mouseenter mouseleave');
3169				}, 200));
3170			}
3171		},
3172		function(e){
3173			clearTimeout($(this).data('scrollTimer'));
3174		}
3175	);
3176
3177	$(this).on('touchstart touchmove', function(e){
3178		var $this = $(this);
3179		if(!$this.hasClass('mCustomScrollbar') && !$(this).hasClass('destroyed')){
3180			$this.mCustomScrollbar(config);
3181		}
3182
3183		var $scrollContainer = $this.find('>.mCustomScrollBox>.mCSB_container');
3184		if($scrollContainer.length){
3185			var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
3186
3187			var newTouch = new Touch({
3188			    identifier: 42,
3189			    target: $scrollContainer[0],
3190			    clientX: touch.clientX,
3191			    clientY: touch.clientY,
3192			    screenX: touch.screenX,
3193			    screenY: touch.screenY,
3194			    pageX: touch.pageX,
3195			    pageY: touch.pageY,
3196			    radiusX: 1,
3197			    radiusY: 1
3198			});
3199
3200			var newEvent = new TouchEvent(e.type, {
3201			    cancelable: true,
3202			    bubbles: false,
3203			    composed: true,
3204			    touches: [newTouch],
3205			    targetTouches: [newTouch],
3206			    changedTouches: [newTouch]
3207			});
3208
3209			$scrollContainer[0].dispatchEvent(newEvent);
3210		}
3211	});
3212
3213	$(this).on('touchend', function(e){
3214		$(this).off('touchstart touchmove touchend mousewheel mouseenter mouseleave');
3215	});
3216
3217	if($.event.special.mousewheel){
3218		$(this).on('mousewheel', function(e){
3219			var $this = $(this);
3220			if(!$this.hasClass('mCustomScrollbar') && !$(this).hasClass('destroyed')){
3221				$this.mCustomScrollbar(config);
3222				$this.off('touchstart touchmove touchend mousewheel mouseenter mouseleave');
3223			}
3224		});
3225	}
3226}
3227
3228InitScrollBar= function(el, initOptions) {
3229	var block;
3230	if(typeof el === 'undefined'){
3231		block = $('.srollbar-custom:not(.mobile-scroll):not(.scroll-init)');
3232	}
3233	else{
3234		block = el.filter(':not(.scroll-init)');
3235	}
3236
3237	if(block.length){
3238		block.addClass('scroll-init');
3239
3240		var options,
3241			defaults = {
3242				mouseWheel: {
3243					scrollAmount: 150,
3244					preventDefault: true
3245				}
3246			};
3247		var config = $.extend({}, defaults, options, block.data('plugin-options'), initOptions);
3248
3249		config.callbacks = {
3250			onScroll:function(){
3251				if($(this).find('.mCSB_buttonLeft').hasClass('disabled'))
3252					$(this).find('.mCSB_buttonLeft').removeClass('disabled');
3253				if($(this).find('.mCSB_buttonRight').hasClass('disabled'))
3254					$(this).find('.mCSB_buttonRight').removeClass('disabled');
3255			},
3256			onTotalScrollBack:function(){
3257				$(this).find('.mCSB_buttonLeft').addClass('disabled');
3258			},
3259			onTotalScroll:function(){
3260				$(this).find('.mCSB_buttonRight').addClass('disabled');
3261			},
3262			onInit:function(){
3263				$(this).find('.mCSB_buttonLeft').addClass('disabled');
3264			}
3265		};
3266
3267		block.filter(':not(.scroll-deferred)').mCustomScrollbar(config);
3268		block.filter('.scroll-deferred').mCustomScrollbarDeferred(config);
3269	}
3270}
3271
3272InitCustomScrollBar = function(el) {
3273	var block;
3274	if(typeof el === 'undefined'){
3275		block = $('.scrollbar:not(.mobile-scroll):not(.scroll-init)');
3276	}
3277	else{
3278		block = el.filter(':not(.scroll-init)');
3279	}
3280
3281	if(block.length){
3282		block.addClass('scroll-init');
3283
3284		var options,
3285			defaults = {
3286				effect : 'fadeIn',
3287				effectTime : 300,
3288				threshold: 0
3289				// threshold: 30
3290			};
3291
3292		var config = $.extend({}, defaults, options, block.data('plugin-options'));
3293
3294		block.filter(':not(.scroll-deferred)').mCustomScrollbar(config);
3295		block.filter('.scroll-deferred').mCustomScrollbarDeferred(config);
3296	}
3297}
3298
3299InitFancyBox = function() {
3300	$('.fancy').fancybox({
3301		padding: [40,40,64,40],
3302		openEffect  : 'fade',
3303		closeEffect : 'fade',
3304		nextEffect : 'fade',
3305		prevEffect : 'fade',
3306		opacity: true,
3307		tpl:{
3308			closeBtn: '<span title="'+BX.message('FANCY_CLOSE')+'" 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>',
3309			next     : '<a title="'+BX.message('FANCY_NEXT')+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3310			prev     : '<a title="'+BX.message('FANCY_PREV')+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
3311		},
3312		touch: 'enabled',
3313		buttons: [
3314			// "zoom",
3315			//"share",
3316			// "slideShow",
3317			//"fullScreen",
3318			//"download",
3319			// "thumbs",
3320			"close"
3321		],
3322		backFocus: false,
3323		beforeShow: function(event){
3324			if(!$('.cd-modal-bg').hasClass('is-visible')){
3325				var scaleValue = retrieveScale($('.cd-modal-bg'));
3326
3327				$('.cd-modal-bg').show().addClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){
3328					animateLayer($('.cd-modal-bg'), scaleValue, true);
3329				});
3330			}
3331			var video_block = $('.company-block source.video-block');
3332			if(video_block.length)
3333			{
3334				if(video_block.attr('src') == '#') {
3335					var video_block_wrapper = video_block.closest('video');
3336					var video_block_clone = video_block_wrapper.clone();
3337
3338					video_block_clone.find('source').attr('src', video_block_clone.find('source').data('src'));
3339					video_block.attr('src', video_block.data('src'));
3340					video_block_clone.insertAfter(video_block_wrapper);
3341					video_block_clone.siblings('video').remove();
3342				}
3343			}
3344			var video_block_frame = $('.company-block #company_video_iframe');
3345			if(video_block_frame.length)
3346			{
3347				var data_src_iframe = video_block_frame.attr("data-src");
3348				video_block_frame.attr("src", data_src_iframe);
3349				video_block_frame.attr("allow", 'autoplay');
3350			}
3351			// $('.detail .galery .overlay_form').hide();
3352		},
3353		afterShow: function(){
3354			if($('.fancybox-overlay').css('opacity') == 0){
3355				setTimeout(function(){
3356					$('.fancybox-overlay').css('opacity', 1);
3357					$('html').addClass('overflow_html');
3358				}, 200);
3359			}
3360
3361			$('.fancybox-nav').css('opacity', 0);
3362			setTimeout(function(){
3363				$('.fancybox-nav').css('opacity', 1);
3364			}, 150);
3365			if($('.fancybox-inner #company_video').length)
3366			{
3367				// var fancyHeight = $('.fancybox-wrap').height();
3368				// $('.fancybox-inner').height(fancyHeight);
3369				setTimeout(function(){
3370					$('.fancybox-wrap video').resize();
3371					setTimeout(function(){
3372						$('.fancybox-wrap').addClass('show_video');
3373						document.getElementById('company_video').currentTime = 0;
3374						document.getElementById('company_video').play();
3375					}, 300);
3376				}, 150);
3377			}
3378			else if($('.fancybox-wrap iframe').length)
3379			{
3380				$('.fancybox-inner').height('100%');
3381			}
3382		},
3383		beforeClose: function(){
3384			closeModal();
3385			$('.fancybox-overlay').fadeOut();
3386			if($('#company_video').length){
3387				document.getElementById('company_video').currentTime = 0;
3388			}
3389			$('html').removeClass('overflow_html');
3390			var video_block_frame = $('.company-block .video-block');
3391			if(video_block_frame.length)
3392			{
3393				$("#company_video_iframe").attr("src", '');
3394
3395			}
3396		},
3397		onClosed: function(){
3398			if($('.fancybox-wrap #company_video').length){
3399				document.getElementById('company_video').pause();
3400			}
3401		},
3402	});
3403}
3404
3405InitFancyBoxVideo = function() {
3406	$(".video_link").fancybox({
3407		type: "iframe",
3408        maxWidth    : 800,
3409        maxHeight   : 600,
3410        fitToView   : false,
3411        width       : '70%',
3412        height      : '70%',
3413        autoSize    : false,
3414        closeClick  : false,
3415        opacity: true,
3416		tpl:{
3417			closeBtn: '<span title="'+BX.message('FANCY_CLOSE')+'" 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>',
3418			next     : '<a title="'+BX.message('FANCY_NEXT')+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3419			prev     : '<a title="'+BX.message('FANCY_PREV')+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
3420		},
3421        beforeShow: function(event){
3422			if(!$('.cd-modal-bg').hasClass('is-visible')){
3423				var scaleValue = retrieveScale($('.cd-modal-bg'));
3424
3425				$('.cd-modal-bg').show().addClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){
3426					animateLayer($('.cd-modal-bg'), scaleValue, true);
3427				});
3428			}
3429		},
3430        afterShow: function(){
3431			if($('.fancybox-overlay').css('opacity') == 0){
3432				setTimeout(function(){
3433					$('.fancybox-overlay').css('opacity', 1);
3434					$('html').addClass('overflow_html');
3435				}, 200);
3436			}
3437
3438			$('.fancybox-nav').css('opacity', 0);
3439			setTimeout(function(){
3440				$('.fancybox-nav').css('opacity', 1);
3441			}, 150);
3442			if($('.fancybox-wrap iframe').length)
3443			{
3444				$('.fancybox-inner').height('100%');
3445			}
3446		},
3447        beforeClose: function(){
3448			closeModal();
3449			$('.fancybox-overlay').fadeOut();
3450			$('html').removeClass('overflow_html');
3451		},
3452    });
3453}
3454
3455InitStickySideBar = function(el, container_el) {
3456	var block = '.sticky-sidebar',
3457		container_catalog = '.wraps .wrapper_inner .container_inner .main-catalog-wrapper',
3458		container = '.wraps .wrapper_inner .container_inner';
3459	if(typeof el !== 'undefined')
3460		block = el;
3461
3462	if($(container_catalog).length)
3463		container = container_catalog;
3464
3465	if(typeof container_el !== 'undefined')
3466		container = container_el;
3467
3468	if($(block).length && arAsproOptions['THEME']['STICKY_SIDEBAR'] != 'N')
3469	{
3470		if(typeof window['stickySidebar'] !== 'undefined')
3471		{
3472			window['stickySidebar'].destroy();
3473		}
3474		
3475		window['stickySidebar'] = new StickySidebar(block, {
3476			topSpacing: 60,
3477			bottomSpacing: 20,
3478			containerSelector: container,
3479			resizeSensor: true,
3480			innerWrapperSelector: '.sticky-sidebar__inner'
3481		});
3482
3483		if($('.sticky-sidebar .sticky-sidebar__inner .banner img').length)
3484		{
3485			$('.sticky-sidebar .sticky-sidebar__inner .banner img').load(function(){
3486				if(typeof window['stickySidebar'] !== 'undefined')
3487				{
3488					window['stickySidebar'].updateSticky();
3489				}
3490			})
3491		}
3492	}
3493}
3494
3495InitOwlSlider = function() {
3496	$('.owl-carousel:not(.owl-loaded):not(.appear-block)').each(function(){
3497		var slider = $(this);
3498		var options;
3499		var svg = '<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>';
3500		var defaults = {
3501			navText: [
3502				'<i class="svg left colored_theme_hover_text">'+svg+'</i>',
3503				'<i class="svg right colored_theme_hover_text">'+svg+'</i>',
3504			]
3505		}
3506		var config = $.extend({}, defaults, options, slider.data('plugin-options'));
3507
3508		slider.on('initialized.owl.carousel', function(event) {
3509
3510			var eventdata = {slider: event};
3511			BX.onCustomEvent('onSliderInitialized', [eventdata]);
3512
3513			$(event.target).removeClass('loading-state');
3514			$(event.target).find('.owl-item:first').addClass('current');
3515
3516			if(typeof (sliceItemBlockSlide) === "function"){
3517				sliceItemBlockSlide();
3518			}
3519
3520		})
3521		slider.owlCarousel(config);
3522
3523		slider.on('change.owl.carousel', function(event) {
3524			var eventdata = {slider: event};
3525			BX.onCustomEvent('onSlideChange', [eventdata]);
3526
3527		})
3528		slider.on('resized.owl.carousel', function(event) {
3529			if(typeof (sliceItemBlockSlide) === "function"){
3530				sliceItemBlockSlide({resize: false});
3531			}
3532		})
3533
3534
3535
3536		slider.on('changed.owl.carousel', function(event) {
3537			var eventdata = {slider: event};
3538			BX.onCustomEvent('onSlideChanged', [eventdata]);
3539
3540			if($(event.target).data('pluginOptions'))
3541			{
3542				if(('index' in $(event.target).data('pluginOptions')))
3543				{
3544					if($('.switch-item-block').length)
3545					{
3546						$('.switch-item-block__count-wrapper--big .switch-item-block__count-value').text(event.item.index+1+'/'+event.item.count);
3547					}
3548				}
3549
3550				if(('relatedTo' in $(event.target).data('pluginOptions')))
3551				{
3552					// console.log(event);
3553
3554					var relatedClass = $(event.target).data('pluginOptions').relatedTo,
3555						relatedBlock = $(relatedClass);
3556
3557					if(relatedBlock.length && $(event.target).data('owl.carousel'))
3558					{
3559						// console.log($(event.target).data())
3560						if(!$(event.target).data('owl.carousel').loop)
3561						{
3562							var current = event.item.index;
3563						}
3564						else
3565						{
3566							var count = event.item.count-1;
3567							var current = Math.round(event.item.index - (event.item.count/2) - .5);
3568
3569							if(current < 0)
3570								current = count;
3571
3572							if(current > count)
3573								current = 0;
3574						}
3575
3576						relatedBlock
3577							.find(".owl-item")
3578							.removeClass("current")
3579							.eq(current)
3580							.addClass("current");
3581
3582						var onscreen = relatedBlock.find('.owl-item.active').length - 1;
3583						var start = relatedBlock.find('.owl-item.active').first().index();
3584						var end = relatedBlock.find('.owl-item.active').last().index();
3585
3586
3587						if (current > end)
3588							relatedBlock.data('owl.carousel').to(current, 100, true);
3589
3590						if (current < start)
3591							relatedBlock.data('owl.carousel').to(current - onscreen, 100, true);
3592						// $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel])
3593					}
3594				}
3595			}
3596		})
3597
3598		slider.on('translated.owl.carousel', function(event) {
3599		})
3600
3601		if(('clickTo' in config))
3602		{
3603			var relatedClass = config.clickTo,
3604				magnifier = ('magnifier' in config);
3605
3606			slider.on("click", ".owl-item", function(e){
3607				e.preventDefault();
3608				var _this = $(this),
3609					number = _this.index();
3610
3611				if(magnifier)
3612				{
3613					if($(relatedClass).closest('.product-container').find('.zoom_picture').length)
3614					{
3615						$(relatedClass).closest('.product-container').find('.zoom_picture').attr('data-large', _this.find('.product-detail-gallery__item').data('big'));
3616						$(relatedClass).closest('.product-container').find('.zoom_picture').attr('xoriginal', _this.find('.product-detail-gallery__item').data('big'));
3617						$(relatedClass).closest('.product-container').find('.zoom_picture').attr('src', _this.find('.product-detail-gallery__item img').attr('src'));
3618					}
3619					_this.siblings('').removeClass('current');
3620					_this.addClass('current');
3621				}
3622				else
3623				{
3624					$(relatedClass).data('owl.carousel').to(number, 300, true);
3625				}
3626			});
3627		}
3628	});
3629}
3630
3631InitFlexSlider = function() {
3632	// return;
3633	$('.flexslider:not(.thmb):not(.flexslider-init):not(.appear-block)').each(function(){
3634		var slider = $(this);
3635		var options;
3636		var defaults = {
3637			animationLoop: false,
3638			controlNav: false,
3639			keyboard: false,
3640			pauseOnAction: false,
3641			pauseInvisible: false,
3642			directionNav: true,
3643			useCSS: false,
3644			animation: "slide"
3645		}
3646		var config = $.extend({}, defaults, options, slider.data('plugin-options'));
3647		if(!slider.parent().hasClass('top_slider_wrapp') && slider.is(':visible')){
3648			if(typeof(config.counts) != 'undefined' && config.direction !== 'vertical'){
3649				config.maxItems =  getGridSize(config.counts,slider);
3650				config.minItems = getGridSize(config.counts,slider);
3651				config.itemWidth = 200;
3652			}
3653			if(typeof(config.move) == 'undefined')
3654				config.move = 1;
3655
3656			config.start = function(slider){
3657				var eventdata = {slider: slider};
3658				BX.onCustomEvent('onSlideInit', [eventdata]);
3659			}
3660
3661			config.after = function(slider){
3662				var eventdata = {slider: slider};
3663				BX.onCustomEvent('onSlideComplete', [eventdata]);
3664			}
3665
3666			config.end = function(slider){
3667				var eventdata = {slider: slider};
3668				BX.onCustomEvent('onSlideEnd', [eventdata]);
3669			}
3670			slider.flexslider(config).addClass('flexslider-init');
3671			if(config.controlNav)
3672				slider.addClass('flexslider-control-nav');
3673			if(config.directionNav)
3674				slider.addClass('flexslider-direction-nav');
3675		}
3676	});
3677}
3678
3679InitFlexSliderByClass = function($class) {
3680	if($class.hasClass('flexslider-init'))
3681		return;
3682	var slider = $class;
3683	var options;
3684	var defaults = {
3685		animationLoop: false,
3686		controlNav: false,
3687		keyboard: false,
3688		pauseOnAction: false,
3689		pauseInvisible: false,
3690		directionNav: true,
3691		useCSS: false,
3692		animation: "slide"
3693	}
3694	var config = $.extend({}, defaults, options, slider.data('plugin-options'));
3695	if(!slider.parent().hasClass('top_slider_wrapp') && slider.is(':visible')){
3696		if(typeof(config.counts) != 'undefined' && config.direction !== 'vertical'){
3697			config.maxItems =  getGridSize(config.counts,slider);
3698			config.minItems = getGridSize(config.counts,slider);
3699			config.itemWidth = 200;
3700		}
3701		if(typeof(config.move) == 'undefined')
3702			config.move = 1;
3703
3704		config.start = function(slider){
3705			var eventdata = {slider: slider};
3706			BX.onCustomEvent('onSlideInit', [eventdata]);
3707		}
3708
3709		config.after = function(slider){
3710			var eventdata = {slider: slider};
3711			BX.onCustomEvent('onSlideComplete', [eventdata]);
3712		}
3713
3714		config.end = function(slider){
3715			var eventdata = {slider: slider};
3716			BX.onCustomEvent('onSlideEnd', [eventdata]);
3717		}
3718
3719		slider.flexslider(config).addClass('flexslider-init');
3720		if(config.controlNav)
3721			slider.addClass('flexslider-control-nav');
3722		if(config.directionNav)
3723			slider.addClass('flexslider-direction-nav');
3724	}
3725}
3726
3727inIframe = function (){
3728    try {
3729        return window.self !== window.top;
3730    } catch (e) {
3731        return true;
3732    }
3733}
3734
3735InitZoomPict = function(el) {
3736	var block = $('.zoom_picture');
3737	if(typeof el !== 'undefined')
3738		block = el;
3739	if(block.length){
3740		var zoomer = block,
3741			options,
3742			defaults = {
3743				zoomWidth: 200,
3744				zoomHeight: 200,
3745				adaptive: false,
3746				title: true,
3747				Xoffset: 15,
3748
3749			};
3750		var config = $.extend({}, defaults, options, zoomer.data('plugin-options'));
3751			zoomer.xzoom(config);
3752
3753		block.on('mouseleave', function(){
3754			block.data('xzoom').movezoom(event);
3755		})
3756	}
3757}
3758
3759var arBasketAsproCounters = arStatusBasketAspro = arBasketPrices = {};
3760SetActualBasketFlyCounters = function(sync){
3761	if(arBasketAsproCounters.DEFAULT == true){
3762		$.ajax({
3763			url: arAsproOptions['SITE_DIR'] + 'ajax/basket_fly.php',
3764			type: 'post',
3765			success: function(html){
3766				$('#basket_line .basket_fly').removeClass('loaded').html(html);
3767
3768				if(typeof sync !== 'undefined')
3769				{
3770					$.ajax({
3771						type:"GET",
3772						url:arAsproOptions['SITE_DIR']+"ajax/actualBasket.php",
3773						// data:data,
3774						success: function(data){
3775							if(!$('.js_ajax').length)
3776								$('body').append('<div class="js_ajax"></div>');
3777							$('.js_ajax').html(data);
3778
3779							setBasketStatusBtn(true);
3780
3781						}
3782					});
3783				}
3784			}
3785		});
3786	}
3787	else{
3788		// insert currency &#8381; by this hack!: $('<div/>').html(arBasketAsproCounters.READY.TITLE).text()
3789		$('.basket_fly .opener .basket_count .count').attr('class', 'count' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.READY.COUNT)
3790		$('.basket_fly .opener .basket_count + a').attr('href', arBasketAsproCounters['READY']['HREF'])
3791		$('.basket_fly .opener .basket_count').attr('title', $('<div/>').html(arBasketAsproCounters.READY.TITLE).text()).attr('class', 'colored_theme_hover_text basket_count small clicked' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty'))
3792
3793		$('.basket_fly .opener .wish_count .count').attr('class', 'count' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.DELAY.COUNT)
3794		$('.basket_fly .opener .wish_count + a').attr('href', arBasketAsproCounters.DELAY.HREF)
3795		$('.basket_fly .opener .wish_count').attr('title', $('<div/>').html(arBasketAsproCounters.DELAY.TITLE).text()).attr('class', 'colored_theme_hover_text wish_count small clicked' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty'))
3796
3797		$('.basket_fly .opener .compare_count .wraps_icon_block').attr('class', 'wraps_icon_block compare' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_block'));
3798		$('.basket_fly .opener .compare_count .count').attr('class', 'count' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.COMPARE.COUNT)
3799		$('.basket_fly .opener .compare_count + a').attr('href', arBasketAsproCounters.COMPARE.HREF)
3800
3801		updateBottomIconsPanel(arBasketAsproCounters);
3802	}
3803}
3804
3805CheckHeaderFixed = function(){
3806	var header = $('header, body.simple_basket_mode #header').first(),
3807		header_fixed = $('#headerfixed, body.simple_basket_mode #header'),
3808		header_simple = $('body.simple_basket_mode #header');
3809
3810	if(header_fixed.length){
3811		if(header.length){
3812			var isHeaderFixed = false,
3813				isTabsFixed = false,
3814				headerCanFix = true,
3815				headerFixedHeight = header_fixed.actual('outerHeight'),
3816				headerNormalHeight = header.actual('outerHeight'),
3817				headerDiffHeight = headerNormalHeight - headerFixedHeight,
3818				mobileBtnMenu = $('.btn.btn-responsive-nav'),
3819				headerTop = $('#panel:visible').actual('outerHeight'),
3820				topBlock = $('.TOP_HEADER').first(),
3821				$headerFixedNlo = header_fixed.find('[data-nlo]'),
3822				isNloLoaded = !$headerFixedNlo.length,
3823				OnHeaderFixedScrollHandler;
3824
3825			if(headerDiffHeight <= 0)
3826				headerDiffHeight = 0;
3827
3828			if(topBlock.length)
3829				headerTop += topBlock.actual('outerHeight');
3830
3831			$(window).scroll(OnHeaderFixedScrollHandler = function(){
3832				var tabs_fixed = $('.product-item-detail-tabs-container-fixed');
3833
3834				if(window.matchMedia('(min-width:992px)').matches){
3835					var scrollTop = $(window).scrollTop(),
3836						current_is = $('.search-wrapper .search-input:visible'),
3837						tabs = $('.ordered-block .nav.nav-tabs'),
3838						headerCanFix = !mobileBtnMenu.is(':visible')/* && !$('.dropdown-menu:visible').length*/;
3839
3840					if(!isHeaderFixed){
3841						if(
3842							headerCanFix &&
3843							(scrollTop > headerNormalHeight + headerTop)
3844						){
3845							if(!isNloLoaded){
3846								if(!$headerFixedNlo.hasClass('nlo-loadings')){
3847									$headerFixedNlo.addClass('nlo-loadings');
3848									setTimeout(function(){
3849										$.ajax({
3850											data: {nlo: $headerFixedNlo.attr('data-nlo')},
3851											success: function(response){
3852												// stop ya metrika webvisor DOM indexer
3853												pauseYmObserver();
3854
3855												isNloLoaded = true;
3856												$headerFixedNlo[0].insertAdjacentHTML('beforebegin', $.trim(response));
3857												$headerFixedNlo.remove();
3858
3859												InitMenuNavigationAim();
3860												OnHeaderFixedScrollHandler();
3861
3862												// init custom scroll
3863												$('#headerfixed .mega-menu table td.wide_menu .customScrollbar').mCustomScrollbarDeferred({
3864													mouseWheel: {
3865														scrollAmount: 150,
3866														preventDefault: true
3867													}
3868												});
3869
3870												// resume ya metrika webvisor
3871												// (300ms transition) + (100ms scroll handler)
3872												setTimeout(resumeYmObserver, 400);
3873											},
3874											error:function(){
3875												$headerFixedNlo.removeClass('nlo-loadings');
3876											}
3877										});
3878									}, 300);
3879								}
3880							}
3881							else{
3882								isHeaderFixed = true;
3883								if(header_simple.length) {
3884									headerSimpleHeight = header_simple.actual('outerHeight');
3885									header_simple.closest('.header_wrap').css({'margin-top': headerSimpleHeight});
3886								}
3887								header_fixed.addClass('fixed');
3888
3889								$('nav.mega-menu.sliced.initied').removeClass('initied');
3890								CheckTopMenuDotted();
3891							}
3892						}
3893					}
3894					if(
3895						isHeaderFixed ||
3896						!headerCanFix
3897					){
3898						if(
3899							!headerCanFix ||
3900							(scrollTop <= headerDiffHeight + headerTop)
3901						){
3902							isHeaderFixed = false;
3903							header_fixed.removeClass('fixed');
3904							if(header_simple.length) {
3905								header_simple.closest('.header_wrap').css({'margin-top': ''});
3906							}
3907						}
3908					}
3909
3910					//fixed tabs
3911					if(tabs_fixed.length && tabs.length){
3912						var tabs_offset = $('.ordered-block .nav.nav-tabs').offset();
3913						if(scrollTop + headerFixedHeight > tabs_offset.top){
3914							tabs_fixed.css({'top': header_fixed.actual('outerHeight')});
3915							tabs_fixed.addClass('fixed');
3916
3917							header_fixed.addClass('tabs-fixed');
3918						}
3919						else if(tabs_fixed.hasClass('fixed')){
3920							tabs_fixed.removeAttr('style');
3921							tabs_fixed.removeClass('fixed');
3922
3923							header_fixed.removeClass('tabs-fixed');
3924						}
3925					}
3926				}
3927			});
3928		}
3929	}
3930
3931	//mobile fixed
3932	var headerSimple = $('body.simple_basket_mode .wrapper1.mfixed_Y #header');
3933	var mfixed = headerSimple.length ? headerSimple : $('.wrapper1.mfixed_Y #mobileheader');
3934	if(mfixed.length && isMobile)
3935	{
3936		var isMHeaderFixed = false,
3937			mheaderCanFix = true,
3938			mheaderFixedHeight = mfixed.actual('outerHeight'),
3939			// mheaderFixedHeight = 0,
3940			mheaderTop = $('#panel:visible').actual('outerHeight'),
3941			mHeaderScrollTop = $('.wrapper1').hasClass('mfixed_view_scroll_top');
3942		$(window).scroll(function(){
3943			var scrollTop = $(window).scrollTop();
3944			if(window.matchMedia('(max-width:991px)').matches)
3945			{
3946				if(mHeaderScrollTop)
3947				{
3948					if(scrollTop > startScroll)
3949					{
3950						if(!$("#mobilePhone.show").length){
3951							mfixed.removeClass('fixed');
3952							if(headerSimple.length) {
3953								headerSimple.closest('.header_wrap').css({'margin-top': ''});
3954							}
3955						}
3956					}
3957					else if(scrollTop > mheaderFixedHeight + mheaderTop){
3958						mfixed.addClass('fixed');
3959						if(headerSimple.length) {
3960							headerSimple.closest('.header_wrap').css({'margin-top': mheaderFixedHeight});
3961						}
3962					}
3963					else if(scrollTop <= mheaderFixedHeight + mheaderTop){
3964						mfixed.removeClass('fixed');
3965						if(headerSimple.length) {
3966							headerSimple.closest('.header_wrap').css({'margin-top': ''});
3967						}
3968					}
3969					startScroll = scrollTop;
3970				}
3971				else
3972				{
3973					if(!isMHeaderFixed)
3974					{
3975						if((scrollTop > mheaderFixedHeight + mheaderTop))
3976						{
3977							isMHeaderFixed = true;
3978							mfixed.addClass('fixed');
3979							if(headerSimple.length) {
3980								headerSimple.closest('.header_wrap').css({'margin-top': mheaderFixedHeight});
3981							}
3982						}
3983					}
3984					else if(isMHeaderFixed)
3985					{
3986						if((scrollTop <= mheaderFixedHeight + mheaderTop))
3987						{
3988							isMHeaderFixed = false;
3989							mfixed.removeClass('fixed');
3990							if(headerSimple.length) {
3991								headerSimple.closest('.header_wrap').css({'margin-top': ''});
3992							}
3993						}
3994					}
3995				}
3996			}
3997			else {
3998				mfixed.removeClass('fixed');
3999				if(headerSimple.length) {
4000					headerSimple.closest('.header_wrap').css({'margin-top': ''});
4001				}
4002			}
4003		})
4004	}
4005}
4006
4007CheckHeaderFixedMenu = function(){
4008	if(arAsproOptions['THEME'] && arAsproOptions['THEME']['HEADER_FIXED'] == 2 && $('#headerfixed .js-nav').length && window.matchMedia('(min-width: 992px)').matches)
4009	{
4010		$('#headerfixed .js-nav').css('width','0');
4011		var all_width = 0,
4012			cont_width = $('#headerfixed .maxwidth-theme').actual('width'),
4013			padding_menu = $('#headerfixed .logo-row.v2 .menu-block').actual('outerWidth')-$('#headerfixed .logo-row.v2 .menu-block').actual('width');
4014		$('#headerfixed .logo-row.v2 > .inner-table-block').each(function(){
4015			if(!$(this).hasClass('menu-block'))
4016				all_width += $(this).actual('outerWidth');
4017		})
4018		$('#headerfixed .js-nav').width(cont_width-all_width-padding_menu);
4019	}
4020}
4021
4022CheckSearchWidth = function(){
4023	if($('.logo_and_menu-row .search_wrap').length){
4024		var searchPosition = $('.logo_and_menu-row .search_wrap').position().left,
4025			maxWidth = $('.logo_and_menu-row .maxwidth-theme').width() - 2;
4026			width = 0;
4027		if($('.logo_and_menu-row .subtop .search_wrap').length)
4028		{
4029			maxWidth = $('.logo_and_menu-row .subtop').width() - 2;
4030			$('.logo_and_menu-row .subtop > .row >div >div').each(function(){
4031				if(!$(this).hasClass('search_wrap')){
4032					var elementWidth = $(this).outerWidth();
4033					if(!$(this).is(':visible') || !$(this).height())
4034						elementWidth = 0;
4035					width = (width ? width - elementWidth : maxWidth - elementWidth);
4036				}
4037			}).promise().done(function(){
4038				if($('.logo_and_menu-row .search_wrap.wide_search').length)
4039					$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4040				else
4041					$('.logo_and_menu-row .search_wrap').outerWidth(width);
4042				$('.logo_and_menu-row .search_wrap').css({'opacity': 1, 'visibility': 'visible'});
4043			});
4044		}
4045		else
4046		{
4047			if($('.logo_and_menu-row .subbottom .search_wrap').length)
4048			{
4049				maxWidth = $('.logo_and_menu-row .subbottom').width() - 2;
4050				$('.logo_and_menu-row .subbottom >div').each(function(){
4051					if(!$(this).hasClass('search_wrap')){
4052						var elementWidth = $(this).outerWidth();
4053						if(!$(this).is(':visible') || !$(this).height())
4054							elementWidth = 0;
4055						width = (width ? width - elementWidth : maxWidth - elementWidth);
4056					}
4057				}).promise().done(function(){
4058					if($('.logo_and_menu-row .search_wrap.wide_search').length)
4059						$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4060					else
4061						$('.logo_and_menu-row .search_wrap').outerWidth(width);
4062					$('.logo_and_menu-row .search_wrap').css({'opacity': 1, 'visibility': 'visible'});
4063				});
4064			}
4065			else
4066			{
4067				$('.logo_and_menu-row .maxwidth-theme > .row >div >div').each(function(){
4068					if(!$(this).hasClass('search_wrap')){
4069						var elementWidth = $(this).outerWidth();
4070						if(!$(this).is(':visible') || !$(this).height())
4071							elementWidth = 0;
4072						width = (width ? width - elementWidth : maxWidth - elementWidth);
4073					}
4074				}).promise().done(function(){
4075					if($('.logo_and_menu-row .search_wrap.wide_search').length)
4076						$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
4077					else
4078						$('.logo_and_menu-row .search_wrap').outerWidth(width);
4079					$('.logo_and_menu-row .search_wrap').css({'opacity': 1, 'visibility': 'visible'});
4080				});
4081			}
4082		}
4083	}
4084}
4085
4086lazyLoadPagenBlock = function(){
4087	setTimeout(function(){
4088		if ($('.with-load-block .ajax_load_btn:not(.appear-block)').length) {
4089			$('.with-load-block .ajax_load_btn:not(.appear-block)').appear(function(){
4090				var $this = $(this);
4091				$this.addClass('appear-block').trigger('click');
4092
4093			}, {accX: 0, accY: 200})
4094		}
4095	}, 200)
4096}
4097
4098scrollPreviewBlock = function(){
4099	if(typeof($.cookie('scroll_block')) != 'undefined' && $.cookie('scroll_block'))
4100	{
4101		var scroll_block = $($.cookie('scroll_block'));
4102		if(scroll_block.length)
4103		{
4104			$('body, html').animate({scrollTop: scroll_block.offset().top}, 500);
4105		}
4106		$.cookie('scroll_block', null);
4107	}
4108}
4109
4110scrollToBlock = function(block){
4111	if($(block).length)
4112	{
4113		var offset = $(block).offset().top;
4114		if(typeof($(block).data('toggle')) != 'undefined')
4115			$(block).click();
4116
4117		if(typeof($(block).data('offset')) != 'undefined')
4118			offset += $(block).data('offset');
4119
4120		$('body, html').animate({scrollTop: offset}, 500);
4121	}
4122}
4123
4124checkMenuLines = function(){
4125	if($('.front_page .menu-row .left_border').length || $('.front_page .menu-row .right_border').length)
4126	{
4127		var positionMenu = ($('.centered .menu-row .mega-menu table').length ? $('.centered .menu-row .mega-menu table').offset().left : 0),
4128			varFixLineWidth = ($('body').hasClass('with_decorate') && window.matchMedia('(min-width: 1100px)').matches ? 126 : 7);
4129
4130		$('.menu-row .left_border, .menu-row .right_border').css('width', positionMenu - varFixLineWidth);
4131	}
4132}
4133
4134SetFixedAskBlock = function(){
4135	if($('.ask_a_question_wrapper').length)
4136	{
4137		var offset = $('.ask_a_question_wrapper').offset(),
4138			footer_offset = 0,
4139			block = $('.ask_a_question_wrapper').find('.ask_a_question'),
4140			block_offset = BX.pos(block[0]),
4141			block_height = block_offset.bottom-block_offset.top,
4142			diff_top_scroll = $('#headerfixed').height() + 20;
4143
4144		if($('footer').length)
4145			footer_offset = $('footer').offset().top;
4146
4147		if($('.banner.CONTENT_BOTTOM').length)
4148			footer_offset = $('.banner.CONTENT_BOTTOM').offset().top;
4149
4150		/* removed for ISSUE NEXT-414
4151		if(block_height+130 > block.closest('.fixed_wrapper').height())
4152			block.addClass('nonfixed');
4153		else
4154			block.removeClass('nonfixed');
4155		*/
4156
4157		if(block_height+diff_top_scroll+documentScrollTopLast + 130 > footer_offset)
4158		{
4159			block.removeClass('fixed').css({'top': 'auto', 'width': 'auto', 'bottom': 0});
4160			block.parent().css('position', 'static');
4161			block.parent().parent().css('position', 'static');
4162		}
4163		else
4164		{
4165			block.parent().removeAttr('style');
4166			block.parent().parent().removeAttr('style');
4167
4168			if(documentScrollTopLast + diff_top_scroll > offset.top)
4169			{
4170				var fixed_width = $('.fixed_block_fix').width();
4171				block.addClass('fixed').css({'top': diff_top_scroll, 'bottom': 'auto'});
4172				if(fixed_width)
4173					block.css({'width': $('.fixed_block_fix').width()})
4174			}
4175			else
4176				block.removeClass('fixed').css({'top': 0, 'width': 'auto'});
4177		}
4178	}
4179}
4180
4181MegaMenuFixed = function(){
4182	var animationTime = 150,
4183		$megaFixedNlo = $('.mega_fixed_menu').find('[data-nlo]');
4184
4185	$('header .burger, #headerfixed .burger').on('click', function(){
4186		if($megaFixedNlo.length){
4187	        if(!$megaFixedNlo.hasClass('nlo-loadings')){
4188	            $megaFixedNlo.addClass('nlo-loadings');
4189	            setTimeout(function(){
4190	                $.ajax({
4191	                    data: {nlo: $megaFixedNlo.attr('data-nlo')},
4192	                    success: function(response){
4193	                        $megaFixedNlo[0].insertAdjacentHTML('beforebegin', $.trim(response));
4194	                        $megaFixedNlo.remove();
4195	                    },
4196	                    error:function(){
4197	                        $megaFixedNlo.removeClass('nlo-loadings');
4198	                    }
4199	                });
4200	            }, 300);
4201	        }
4202	    }
4203
4204		$('.mega_fixed_menu').fadeIn(animationTime);
4205		//$('.header_wrap').toggleClass('zindexed');
4206		$('.mega_fixed_menu').mCustomScrollbarDeferred({
4207			mouseWheel: {
4208				scrollAmount: 150,
4209				preventDefault: true
4210			}
4211		});
4212	});
4213
4214	$('.mega_fixed_menu .svg.svg-close').on('click', function(){
4215		$(this).closest('.mega_fixed_menu').fadeOut(animationTime);
4216		//$('.header_wrap').toggleClass('zindexed');
4217	});
4218
4219	$('.mega_fixed_menu .dropdown-menu .arrow').on('click', function(e){
4220		e.preventDefault();
4221		e.stopPropagation();
4222		$(this).closest('.dropdown-submenu').find('.dropdown-menu').slideToggle(animationTime);
4223		$(this).closest('.dropdown-submenu').addClass('opened');
4224	});
4225}
4226
4227CheckPopupTop = function(){
4228	// var popup = $('.jqmWindow.show:last');
4229	// if(!popup.length)
4230	// 	popup = $('.jqmWindow.show');
4231	// if(!popup.length)
4232	// 	popup = $('.jqm-init.show');
4233	// if(popup.length){
4234	// 	var documentScollTop = $(document).scrollTop();
4235	// 	var windowHeight = $(window).height();
4236	// 	var popupTop = parseInt(popup.css('top'));
4237	// 	var popupHeight = popup.height();
4238
4239	// 	if(windowHeight >= popupHeight){
4240	// 		// center
4241	// 		popupTop = (windowHeight - popupHeight) / 2;
4242	// 	}
4243	// 	else{
4244	// 		if(documentScollTop > documentScrollTopLast){
4245	// 			// up
4246	// 			popupTop -= documentScollTop - documentScrollTopLast;
4247	// 		}
4248	// 		else if(documentScollTop < documentScrollTopLast){
4249	// 			// down
4250	// 			popupTop += documentScrollTopLast - documentScollTop;
4251	// 		}
4252
4253	// 		if(popupTop + popupHeight < windowHeight){
4254	// 			// bottom
4255	// 			popupTop = windowHeight - popupHeight;
4256	// 		}
4257	// 		else if(popupTop > 0){
4258	// 			// top
4259	// 			popupTop = 0;
4260	// 		}
4261	// 	}
4262	// 	popup.css('top', popupTop + 'px');
4263	// }
4264}
4265
4266AjaxClickLink = function(e){
4267	var _this = '',
4268		container = $('.js-load-wrapper'),
4269		container_inner = $('.js-load-wrapper').find('.ajax_load'),
4270		dopAction = '';
4271		url = '';
4272		if ('preventDefault' in e) {
4273			e.preventDefault();
4274			_this = ($(e.target).hasClass('js-load-link') ? $(e.target) : $(e.target).closest('.js-load-link'))
4275		}
4276		else
4277		{
4278			_this = $(e);
4279			dopAction = 'Y';
4280		}
4281
4282	if (container.length) {
4283		var objUrl = parseUrlQuery(),
4284			obGetData = {"ajax_get_filter": "Y", "control_ajax": "Y"};
4285
4286		obGetData.bitrix_include_areas = 'N';
4287
4288		if ('clear_cache' in objUrl) {
4289			if (objUrl.clear_cache == 'Y') {
4290				obGetData.clear_cache = 'Y';
4291			}
4292		}
4293
4294		if (container_inner.length) {
4295			container_inner.addClass('loading-state');
4296		} else {
4297			container.addClass('loading-state');
4298		}
4299
4300		if (_this.data('url')) {
4301			url = _this.data('url');
4302		}
4303
4304		if (_this.data('click_block') && $(_this.data('click_block')).length) {
4305			if ($(_this.data('click_block')).data('url')) {
4306				url = $(_this.data('click_block')).data('url');
4307			}
4308		}
4309
4310		if (dopAction) {
4311			BX.PopupWindowManager.getCurrentPopup().close();
4312			$('.bx_filter_select_popup ul li .sort_btn').removeClass('current');
4313			_this.addClass('current');
4314			_this.closest('.bx_filter_block').find('.bx_filter_select_text').text(_this.text());
4315		}
4316
4317		$('.bx_filter .bx_sort_filter .bx_filter_select_text').text(_this.text());
4318		$('.bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current').removeClass('current');
4319		$('.bx_filter .bx_sort_filter .bx_filter_select_popup ul li').eq(_this.parent().index()).find('span').addClass('current');
4320
4321		$.ajax({
4322			url: url,
4323			data: obGetData,
4324			success: function(html){
4325				container.html(html);
4326
4327				if(container_inner.length)
4328					container_inner.removeClass('loading-state');
4329				else
4330					container.removeClass('loading-state');
4331
4332				initAnimateLoad();
4333
4334				var eventdata = {action: 'jsLoadBlock'}
4335				BX.onCustomEvent('onCompleteAction', [eventdata, _this]);
4336
4337				initSelects(document);
4338				InitCustomScrollBar();
4339				InitScrollBar();
4340
4341				if(window.FilterHelper !== undefined) {
4342					FilterHelper.resultDiv = $('#filter-helper');
4343					FilterHelper.show();
4344				}
4345			}
4346		})
4347	}
4348}
4349
4350initCalculatePreview = function(){
4351	$('.calculate-delivery.with_preview:not(.inited)').each(function(){
4352		var $this = $(this);
4353		var $calculateSpan = $this.find('span[data-event=jqm]');
4354		var $preview = $this.find('.calculate-delivery-preview');
4355
4356		$this.addClass('inited');
4357		$this.appear(function(){
4358
4359			if($calculateSpan.length){
4360				if(typeof window['calculate-delivery-preview-index'] === 'undefined'){
4361					window['calculate-delivery-preview-index'] = 1001;
4362				}
4363				else{
4364					++window['calculate-delivery-preview-index'];
4365				}
4366
4367				var productId = $calculateSpan.attr('data-param-product_id') * 1;
4368				var quantity = $calculateSpan.attr('data-param-quantity') * 1;
4369
4370				if(productId > 0){
4371					var areaIndexSended = window['calculate-delivery-preview-index'];
4372					$calculateSpan.data({areaIndex: areaIndexSended});
4373
4374					$.ajax({
4375						url: arAsproOptions['SITE_DIR'] + 'ajax/delivery.php',
4376						type: 'POST',
4377						data: {
4378							is_preview: 'Y',
4379							index: areaIndexSended,
4380							product_id: productId,
4381							quantity: quantity
4382						},
4383						beforeSend: function(){
4384							$this.addClass('loadings');
4385						},
4386						success: function(response){
4387							var areaIndex = $calculateSpan.data('areaIndex');
4388							if(typeof areaIndex !== 'undefined' && areaIndex == areaIndexSended){
4389								$calculateSpan.hide();
4390								$preview.html(response);
4391								if(!$preview.find('.catalog-delivery-preview').length){
4392									$preview.empty();
4393									$calculateSpan.show();
4394								}
4395							}
4396						},
4397						error: function(xhr, ajaxOptions, thrownError){
4398						},
4399						complete: function(){
4400							var areaIndex = $calculateSpan.data('areaIndex');
4401							if(typeof areaIndex !== 'undefined' && areaIndex == areaIndexSended){
4402								$this.removeClass('loadings');
4403							}
4404						}
4405					});
4406				}
4407			}
4408
4409		}, {accX: 0, accY: 0});
4410	});
4411}
4412
4413/*set price item*/
4414if(!funcDefined('setPriceItem')){
4415	var setPriceItem = function setPriceItem(main_block, quantity, rewrite_price, check_quantity, is_sku, show_percent, percent){
4416		var old_quantity = main_block.find('.to-cart').attr('data-ratio'),
4417			value = (typeof rewrite_price !== 'undefined' && rewrite_price ? rewrite_price : main_block.find('.to-cart').attr('data-value')),
4418			currency = main_block.find('.to-cart').attr('data-currency'),
4419			total_block = '<div class="total_summ" style="display:none;"><div>
4419'+BX.message('TOTAL_SUMM_ITEM')+'<span></span></div></div>',
4420			price_block = main_block.find('.cost.prices'),
4421			use_percent = (typeof show_percent !== 'undefined' && show_percent == 'Y'),
4422			percent_number = (typeof percent !== 'undefined' && percent),
4423			sku_checked = (main_block.find('.has_offer_prop').length ? 'Y' : 'N'),
4424			check = (typeof check_quantity !== 'undefined' && check_quantity);
4425
4426		if(main_block.find('.counter_wrapp + .wrapp-one-click').length)
4427		{
4428			if(!main_block.find('.wrapp-one-click .total_summ').length && !is_sku)
4429				$(total_block).appendTo(main_block.find('.counter_wrapp + .wrapp-one-click'))
4430		}
4431		else if(main_block.find('.buy_block').length)
4432		{
4433			if(!main_block.find('.buy_block .total_summ').length && !is_sku)
4434				$(total_block).appendTo(main_block.find('.buy_block'))
4435		}
4436		else if(main_block.find('.counter_wrapp').length)
4437		{
4438			if(!main_block.find('.counter_wrapp .total_summ').length && !is_sku)
4439				$(total_block).appendTo(main_block.find('.counter_wrapp:first'))
4440		}
4441		if(main_block.find('.total_summ').length)
4442		{
4443			if(value && currency)
4444			{
4445				if((1 == quantity && old_quantity == quantity) || (typeof is_sku !== 'undefined' && is_sku && !check))
4446				{
4447					main_block.find('.total_summ').slideUp(50);
4448				}
4449				else
4450				{
4451					main_block.find('.total_summ span').html(BX.Currency.currencyFormat((value*quantity), currency, true));
4452					if(main_block.find('.total_summ').is(':hidden')/* || sku_checked == 'Y'*/)
4453						main_block.find('.total_summ').slideDown(100);
4454				}
4455			}
4456			else
4457			{
4458				main_block.find('.total_summ').slideUp(100);
4459			}
4460		}
4461	}
4462}
4463
4464if(!funcDefined('getCurrentPrice')){
4465	var getCurrentPrice = function getCurrentPrice(price, currency, print_price){
4466		var val = '';
4467		var format_value = BX.Currency.currencyFormat(price, currency);
4468		if(print_price.indexOf(format_value) >= 0)
4469		{
4470			val = print_price.replace(format_value, '<span class="price_value">'+format_value+'</span><span class="price_currency">');
4471			val += '</span>';
4472		}
4473		else
4474		{
4475			val = print_price;
4476		}
4477
4478		return val;
4479	}
4480}
4481
4482if(!funcDefined('initAnimateLoad')){
4483	var initAnimateLoad = function initAnimateLoad(){
4484		$('.animate-load').click(function(){
4485			if(!jQuery.browser.mobile)
4486			{
4487					$(this).parent().addClass('loadings');
4488			}
4489		})
4490	}
4491}
4492
4493$(document).ready(function(){
4494	//check width for menu and search
4495	CheckSearchWidth();
4496	MegaMenuFixed();
4497	InitScrollBar();
4498
4499	/*ripple effect for buttons*/
4500	$.ripple(".btn", {
4501		debug: false, // Turn Ripple.js logging on/off
4502		on: 'mouseenter', // The event to trigger a ripple effect
4503
4504		opacity: 0.4, // The opacity of the ripple
4505		color: "auto", // Set the background color. If set to "auto", it will use the text color
4506		multi: true, // Allow multiple ripples per element
4507
4508		duration: 0.6, // The duration of the ripple
4509
4510		easing: 'linear' // The CSS3 easing function of the ripple
4511	});
4512	/**/
4513
4514	//ecommerce order
4515	if(arAsproOptions["PAGES"]["ORDER_PAGE"])
4516	{
4517		var arUrl = parseUrlQuery();
4518		if("ORDER_ID" in arUrl)
4519		{
4520			var _id = arUrl["ORDER_ID"];
4521			if(arAsproOptions['COUNTERS']['USE_FULLORDER_GOALS'] !== 'N')
4522			{
4523				var eventdata = {goal: 'goal_order_success', result: _id};
4524				BX.onCustomEvent('onCounterGoals', [eventdata])
4525			}
4526			if(checkCounters())
4527			{
4528				if(typeof localStorage !== 'undefined'){
4529					var val = localStorage.getItem('gtm_e_' + _id),
4530						d = '';
4531					try{
4532						d = JSON.parse(val);
4533					}
4534					catch(e){
4535						d = val
4536					}
4537					if(typeof d === 'object'){
4538						window.dataLayer = window.dataLayer || [];
4539						dataLayer.push({"event": arAsproOptions["COUNTERS"]['GOOGLE_EVENTS']['PURCHASE'], "ecommerce": d});
4540					}
4541
4542					if(typeof localStorage !== 'undefined'){
4543						localStorage.removeItem('gtm_e_' + _id);
4544					}
4545				}
4546			}
4547		}
4548	}
4549	var bSafary = false;
4550	if(typeof jQuery.browser == 'object')
4551		bSafary = jQuery.browser.safari;
4552	else if(typeof browser == 'object')
4553		bSafary = browser.safari;
4554	if(!bSafary){
4555		CheckTopMenuPadding();
4556		CheckTopMenuOncePadding();
4557		CheckTopMenuDotted();
4558		CheckHeaderFixed();
4559		checkMenuLines();
4560		setTimeout(function() {$(window).resize();}, 150); // need to check resize flexslider & menu
4561		setTimeout(function() {$(window).scroll();}, 250); // need to check position fixed ask block
4562	}
4563	else{
4564		setTimeout(function(){
4565			$(window).resize(); // need to check resize flexslider & menu
4566			setTimeout(function(){
4567				CheckTopMenuPadding();
4568				CheckTopMenuOncePadding();
4569				CheckTopMenuDotted();
4570				CheckHeaderFixed();
4571				checkMenuLines();
4572
4573				setTimeout(function(){
4574					$(window).scroll();
4575				}, 50);
4576			}, 50);
4577		}, 350);
4578	}
4579
4580
4581	/*for filter scrol in mobile*/
4582	if(window.matchMedia('(max-width: 767px)').matches){
4583		$('.bx_filter .scrollbar').addClass('mobile-scroll').removeClass('scroll-init');
4584		$('.bx_filter .srollbar-custom').addClass('mobile-scroll').removeClass('scroll-init');
4585		$('.bx_filter .bx_filter_section form .bx_filter_parameters').addClass('mobile-scroll').removeClass('scroll-init');
4586		if($('.bx_filter .mobile-scroll.scrollbar').length)
4587			$('.bx_filter .mobile-scroll.scrollbar').mCustomScrollbar("destroy");
4588		if($('.bx_filter .mobile-scroll.srollbar-custom').length)
4589			$('.bx_filter .mobile-scroll.srollbar-custom').mCustomScrollbar("destroy");
4590	}
4591	/**/
4592
4593	if(arAsproOptions['THEME']['USE_DEBUG_GOALS'] === 'Y')
4594		$.cookie('_ym_debug', 1, {path: '/',});
4595	else
4596		$.cookie('_ym_debug', null, {path: '/',});
4597
4598	/* change type2 menu for fixed */
4599	if($('#headerfixed .js-nav').length)
4600	{
4601		if(arAsproOptions['THEME']['HEADER_FIXED'] == 2)
4602			CheckHeaderFixedMenu();
4603
4604		setTimeout(function(){
4605			$('#headerfixed .js-nav').addClass('opacity1');
4606		},350);
4607	}
4608
4609	// -- scroll after apply option
4610	if($('.instagram_ajax').length)
4611	{
4612		BX.addCustomEvent('onCompleteAction', function(eventdata){
4613			if(eventdata.action === 'instagrammLoaded')
4614				scrollPreviewBlock();
4615		});
4616	}
4617	else
4618		scrollPreviewBlock();
4619
4620
4621	scrollToTop();
4622	checkVerticalMobileFilter();
4623
4624	$('[data-scroll-block]').click(function() {
4625		var _this = $(this);
4626		if(_this.data('scrollBlock')) {
4627			var target = $(_this.data('scrollBlock'));
4628			if(target.length) {
4629				scroll_block(target);
4630			}
4631		}
4632	});
4633
4634	$.extend( $.validator.messages, {
4635		required: BX.message('JS_REQUIRED'),
4636		email: BX.message('JS_FORMAT'),
4637		equalTo: BX.message('JS_PASSWORD_COPY'),
4638		minlength: BX.message('JS_PASSWORD_LENGTH'),
4639		remote: BX.message('JS_ERROR')
4640	});
4641
4642	$.validator.addMethod(
4643		'regexp', function( value, element, regexp ){
4644			var re = new RegExp( regexp );
4645			return this.optional( element ) || re.test( value );
4646		},
4647		BX.message('JS_FORMAT')
4648	);
4649
4650	$.validator.addMethod(
4651		'filesize', function( value, element, param ){
4652			return this.optional( element ) || ( element.files[0].size <= param )
4653		},
4654		BX.message('JS_FILE_SIZE')
4655	);
4656
4657	$.validator.addMethod(
4658		'date', function( value, element, param ) {
4659			var status = false;
4660			if(!value || value.length <= 0){
4661				status = false;
4662			}
4663			else{
4664				// html5 date allways yyyy-mm-dd
4665				var re = new RegExp('^([0-9]{4})(.)([0-9]{2})(.)([0-9]{2})$');
4666				var matches = re.exec(value);
4667				if(matches){
4668					var composedDate = new Date(matches[1], (matches[3] - 1), matches[5]);
4669					status = ((composedDate.getMonth() == (matches[3] - 1)) && (composedDate.getDate() == matches[5]) && (composedDate.getFullYear() == matches[1]));
4670				}
4671				else{
4672					// firefox
4673					var re = new RegExp('^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4})$');
4674					var matches = re.exec(value);
4675					if(matches){
4676						var composedDate = new Date(matches[5], (matches[3] - 1), matches[1]);
4677						status = ((composedDate.getMonth() == (matches[3] - 1)) && (composedDate.getDate() == matches[1]) && (composedDate.getFullYear() == matches[5]));
4678					}
4679				}
4680			}
4681			return status;
4682		}, BX.message('JS_DATE')
4683	);
4684
4685	$.validator.addMethod(
4686		'extension', function(value, element, param){
4687			param = typeof param === 'string' ? param.replace(/,/g, '|') : 'png|jpe?g|gif';
4688			return this.optional(element) || value.match(new RegExp('.(' + param + ')$', 'i'));
4689		}, BX.message('JS_FILE_EXT')
4690	);
4691
4692	$.validator.addMethod(
4693		'captcha', function( value, element, params ){
4694			return $.validator.methods.remote.call(this, value, element,{
4695				url: arAsproOptions['SITE_DIR'] + 'ajax/check-captcha.php',
4696				type: 'post',
4697				data:{
4698					captcha_word: value,
4699					captcha_sid: function(){
4700						return $(element).closest('form').find('input[name="captcha_sid"]').val();
4701					}
4702				}
4703			});
4704		},
4705		BX.message('JS_ERROR')
4706	);
4707
4708	$.validator.addMethod(
4709		'recaptcha', function(value, element, param){
4710			var id = $(element).closest('form').find('.g-recaptcha').attr('data-widgetid');
4711			if(typeof id !== 'undefined'){
4712				return grecaptcha.getResponse(id) != '';
4713			}
4714			else{
4715				return true;
4716			}
4717		}, BX.message('JS_RECAPTCHA_ERROR')
4718	);
4719
4720	$.validator.addClassRules({
4721		'phone':{
4722			regexp: arAsproOptions['THEME']['VALIDATE_PHONE_MASK']
4723		},
4724		'confirm_password':{
4725			equalTo: 'input[name="REGISTER\[PASSWORD\]"]',
4726			minlength: 6
4727		},
4728		'password':{
4729			minlength: 6
4730		},
4731		'inputfile':{
4732			extension: arAsproOptions['THEME']['VALIDATE_FILE_EXT'],
4733			filesize: 5000000
4734		},
4735		'captcha':{
4736			captcha: ''
4737		},
4738		'recaptcha':{
4739			recaptcha: ''
4740		}
4741	});
4742
4743	if(arAsproOptions['THEME']['PHONE_MASK']){
4744		$('input.phone').inputmask('mask', {'mask': arAsproOptions['THEME']['PHONE_MASK']});
4745	}
4746
4747	// init calculate delivery with preview
4748	initCalculatePreview();
4749
4750	/*city*/
4751	$('select.region').on('change', function(){
4752		var val = parseInt($(this).val());
4753		if($('select.city').length)
4754		{
4755			if(val)
4756			{
4757				$('select.city option').hide();
4758				$('select.city option').prop('disabled', 'disabled');
4759				$('select.city option[data-parent_section='+val+']').prop('disabled', '');
4760				$('select.city option:eq(0)').prop('disabled', '');
4761				$('select.city').ikSelect('reset');
4762				$('select.city option[data-parent_section='+val+']').show();
4763			}
4764			else
4765				$('select.city option').prop('disabled', 'disabled');
4766				$('select.city option:eq(0)').prop('disabled', '');
4767				$('select.city').ikSelect('reset');
4768		}
4769	})
4770
4771	$('select.city, select.region').on('change', function(){
4772		var _this = $(this),
4773			val = parseInt(_this.val());
4774		if(_this.hasClass('region'))
4775		{
4776			$('select.city option:eq(0)').show();
4777			$('select.city').val(0);
4778		}
4779
4780		if((_this.hasClass('region') && !val) || _this.hasClass('city'))
4781		{
4782			$.ajax({
4783				type: 'POST',
4784				data: {ID: val},
4785			}).success(function(html){
4786				var ob = BX.processHTML(html);
4787				$('.ajax_items')[0].innerHTML = ob.HTML;
4788				BX.ajax.processScripts(ob.SCRIPT);
4789			})
4790		}
4791	})
4792
4793	$(document).on('mouseenter', '.section-gallery-wrapper .section-gallery-wrapper__item', function(){
4794		$(this).siblings().removeClass('_active');
4795		$(this).addClass('_active');
4796	});
4797
4798	$(document).on('click', ".hint .icon", function(e){
4799		var tooltipWrapp = $(this).parents(".hint");
4800
4801		if(tooltipWrapp.hasClass("active")){
4802			tooltipWrapp.removeClass("active").find(".tooltip").slideUp(200);
4803		}
4804		else{
4805			tooltipWrapp.addClass("active");
4806			tooltipWrapp.find(".tooltip").slideDown(200);
4807			tooltipWrapp.find(".tooltip_close").click(function(e){
4808				e.stopPropagation(); tooltipWrapp.removeClass("active").find(".tooltip").slideUp(100);
4809			});
4810		}
4811		e.stopPropagation();
4812	});
4813
4814	$('.mobile_regions .city_item').on('click', function(e){
4815    	e.preventDefault();
4816    	var _this = $(this);
4817    	$.removeCookie('current_region');
4818		$.cookie('current_region', _this.data('id'), {path: '/',domain: arAsproOptions['SITE_ADDRESS']});
4819		location.href = _this.attr('href');
4820    })
4821
4822	/* toggle */
4823	var $this = this,
4824		previewParClosedHeight = 25;
4825
4826	$('section.toggle > label').prepend($('<i />').addClass('fa fa-plus'));
4827	$('section.toggle > label').prepend($('<i />').addClass('fa fa-minus'));
4828	$('section.toggle.active > p').addClass('preview-active');
4829	$('section.toggle.active > div.toggle-content').slideDown(350, function() {});
4830
4831	$('section.toggle > label').click(function(e){
4832		var parentSection = $(this).parent(),
4833			parentWrapper = $(this).parents('div.toogle'),
4834			previewPar = false,
4835			isAccordion = parentWrapper.hasClass('toogle-accordion');
4836
4837		if(isAccordion && typeof(e.originalEvent) != 'undefined') {
4838			parentWrapper.find('section.toggle.active > label').trigger('click');
4839		}
4840
4841		parentSection.toggleClass('active');
4842
4843		// Preview Paragraph
4844		if( parentSection.find('> p').get(0) ){
4845			previewPar = parentSection.find('> p');
4846			var previewParCurrentHeight = previewPar.css('height');
4847			previewPar.css('height', 'auto');
4848			var previewParAnimateHeight = previewPar.css('height');
4849			previewPar.css('height', previewParCurrentHeight);
4850		}
4851
4852		// Content
4853		var toggleContent = parentSection.find('> div.toggle-content');
4854
4855		if( parentSection.hasClass('active') ){
4856			$(previewPar).animate({
4857				height: previewParAnimateHeight
4858			}, 350, function() {
4859				$(this).addClass('preview-active');
4860			});
4861			toggleContent.slideDown(350, function() {});
4862		}
4863		else{
4864			$(previewPar).animate({
4865				height: previewParClosedHeight
4866			}, 350, function() {
4867				$(this).removeClass('preview-active');
4868			});
4869			toggleContent.slideUp(350, function() {});
4870		}
4871	});
4872
4873	if( typeof $.fn.footable == 'function' ) {
4874		$('.tables-responsive .responsive').footable(); //responsive table
4875	}
4876
4877	$('a[rel=tooltip]').tooltip();
4878	$('span[data-toggle=tooltip]').tooltip();
4879
4880	$('.toggle .more_items').on('click', function(){
4881		$(this).closest('.toggle').find('.collapsed').css('display','inline-block').removeClass('collapsed');
4882		$(this).remove();
4883		if(typeof $(this).data('resize') !== 'undefined' && $(this).data('resize'))
4884			$(window).resize();
4885	})
4886	$('.toggle_menu .more_items').on('click', function(){
4887		$(this).closest('.toggle_menu').find('.collapsed').addClass('clicked_exp');
4888		$(this).remove();
4889	})
4890
4891	/* search sync */
4892	$(document).on('keyup', '.search-input-div input', function(e){
4893		var inputValue = $(this).val();
4894		$('.search-input-div input:not(:focus').val(inputValue);
4895
4896		if($(this).closest('#headerfixed').length)
4897		{
4898			if(e.keyCode == 13)
4899				$('.search form').submit();
4900		}
4901	});
4902	$(document).on('click', '.search-button-div button', function(e){
4903		if($(this).closest('#headerfixed').length)
4904			$('.search form').submit();
4905	});
4906
4907	$('.inline-search-show, .inline-search-hide').on('click', function(e){
4908		CloseMobilePhone();
4909		// if(window.matchMedia('(min-width: 600px)').matches)
4910		// {
4911			if(typeof($(this).data('type_search')) != 'undefined' && $(this).data('type_search') == 'fixed')
4912				$('.inline-search-block').addClass('fixed');
4913
4914			if(arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed'){
4915				/*setTimeout(function(){
4916					$('.inline-search-block.fixed.big .search-input').focus();
4917				}, 200);*/
4918				$('.inline-search-block.fixed.big .search-input').focus();
4919			}
4920			if(arAsproOptions['THEME']['TYPE_SEARCH'] != 'fixed')
4921			{
4922				$('#title-search-input').focus();
4923			}
4924
4925			$('.inline-search-block').toggleClass('show');
4926			if($('.top-block').length)
4927			{
4928				if($('.inline-search-block').hasClass('show'))
4929					$('.inline-search-block').css('background', $('.top-block').css('background-color'));
4930				else
4931					$('.inline-search-block').css('background', '#fff');
4932			}
4933			if(arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed')
4934			{
4935				if($('.inline-search-block').hasClass('show'))
4936					$('<div class="jqmOverlay search"></div>').appendTo('body');
4937				else{
4938					$('#title-search-input').blur();
4939					$('.jqmOverlay').detach();
4940				}
4941			}
4942		// }
4943		// else
4944		// 	location.href = arAsproOptions['PAGES']['CATALOG_PAGE_URL']+'?q';
4945	})
4946
4947	/* close search block */
4948	$("html, body").on('mousedown', function(e){
4949		if(typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0)
4950		{
4951			e.stopPropagation();
4952			var search_target = $(e.target).closest('.title-search-result');
4953			if(!$(e.target).hasClass('inline-search-block') && !$(e.target).hasClass('svg') && !search_target.length)
4954			{
4955				$('.inline-search-block').removeClass('show');
4956				$('.title-search-result').hide();
4957				if(arAsproOptions['THEME']['TYPE_SEARCH'] == 'fixed')
4958					$('.jqmOverlay.search').detach();
4959			}
4960
4961			if($("#mobilePhone").length){
4962                CloseMobilePhone();
4963            }
4964
4965			if($('#basket_line .basket_fly').length && parseInt($("#basket_line .basket_fly").css("right")) >= 0){
4966				if(!$(e.target).closest('.basket_wrapp').length)
4967				{
4968					$("#basket_line .basket_fly").stop().animate({"right": -$("#basket_line .basket_fly").outerWidth()}, 150);
4969					$("#basket_line .basket_fly .opener > div").removeClass("cur");
4970					$('#basket_line .basket_fly').removeClass('swiped');
4971				}
4972			}
4973
4974			if(isMobile)
4975			{
4976				if(search_target.length)
4977					location.href = search_target.attr('href');
4978			}
4979
4980			if(!$(e.target).closest('.js-info-block').length && !$(e.target).closest('.js-show-info-block').length)
4981			{
4982				$('.js-show-info-block').removeClass('opened');
4983				$('.js-info-block').fadeOut();
4984			}
4985
4986			var class_name = $(e.target).attr('class');
4987			if(typeof(class_name) == 'undefined' || class_name.indexOf('tooltip') < 0) //tooltip link
4988				$('.tooltip-link').tooltip('hide');
4989		}
4990	});
4991	$('.inline-search-block').find('*').on('mousedown', function(e){
4992		e.stopPropagation();
4993	});
4994
4995	initAnimateLoad();
4996
4997	/*check all opt table items*/
4998	$(document).on('change', "input#select_all_items", function(){
4999		var _this = $(this);
5000
5001		var notOfferCount = $('.table-view__item:not([data-product_type=3])').find('.button_block .to-cart').length;
5002		var wishCount = $('.table-view__item:not([data-product_type=3])').find('.item-icons .wish_item_button .wish_item.to').length;
5003		var allGoodsCount = $('.table-view__item').length;
5004
5005		if(_this.is(':checked'))
5006		{
5007			//$('.opt_action').removeClass('no-action');
5008
5009			//buy && wish
5010			if(notOfferCount != 0){
5011				$('.opt_action:not([data-action=compare])').removeClass('no-action');
5012			}
5013
5014			//compare
5015			$('.opt_action[data-action=compare]').removeClass('no-action');
5016
5017
5018			$('.opt_action').addClass('animate-load');
5019			$('.opt_action .text').remove();
5020			//$('<div class="text muted">(<span>'+$('.table-view__item').length+'</span>)</div>').appendTo($('.opt_action'));
5021			//$('<div class="text muted">(<span>' + $('.table-view__item:not([data-product_type=3])').length + '</span>)</div>').appendTo($('.opt_action'));
5022
5023			//buy
5024			$('<div class="text muted">(<span>' + notOfferCount + '</span>)</div>').appendTo($('.opt_action[data-action=buy]'));
5025
5026			//wish
5027			$('<div class="text muted">(<span>' + wishCount + '</span>)</div>').appendTo($('.opt_action[data-action=wish]'));
5028
5029			//compare
5030			$('<div class="text muted">(<span>' + allGoodsCount + '</span>)</div>').appendTo($('.opt_action[data-action=compare]'));
5031
5032
5033			$('input[name="chec_item"]').prop('checked', 'checked');
5034		}
5035		else
5036		{
5037			$('.opt_action').addClass('no-action');
5038			$('.opt_action').removeClass('animate-load');
5039			$('.opt_action .text').remove();
5040
5041			$('input[name="chec_item"]').removeAttr('checked');
5042		}
5043	})
5044
5045	/*check opt table item*/
5046	$(document).on('change', "input[name='chec_item']", function(){
5047		var _this = $(this);
5048
5049		var canBuy = _this.closest('.table-view__item').find('.button_block .to-cart').length;
5050		var isOffer = _this.closest('.main_item_wrapper').attr('data-product_type') == '3';
5051		//console.log(isOffer);
5052
5053		if(_this.is(':checked'))
5054		{
5055			$('.opt_action').each(function(){
5056				var _this = $(this);
5057
5058				var isBuyAction = _this.attr('data-action') == 'buy';
5059				var isWishAction = _this.attr('data-action') == 'wish';
5060
5061				if(isOffer && (isBuyAction || isWishAction)){
5062					return true;
5063				}
5064
5065				if(isBuyAction && !canBuy) {
5066					return true;
5067				}
5068
5069				if(_this.find('.text').length)
5070				{
5071					var count = parseInt(_this.find('.text span').text());
5072					_this.find('.text span').text(++count);
5073				}
5074				else
5075				{
5076					_this.removeClass('no-action');
5077					_this.addClass('animate-load');
5078					$('<div class="text muted">(<span>1</span>)</div>').appendTo(_this);
5079				}
5080			})
5081		}
5082		else
5083		{
5084			$('.opt_action').each(function(){
5085				var _this = $(this);
5086
5087				var isBuyAction = _this.attr('data-action') == 'buy';
5088				var isWishAction = _this.attr('data-action') == 'wish';
5089
5090				if(isOffer && (isBuyAction || isWishAction)){
5091					return true;
5092				}
5093
5094				if(isBuyAction && !canBuy) {
5095					return true;
5096				}
5097
5098				if(_this.find('.text').length)
5099				{
5100					var count = parseInt(_this.find('.text span').text());
5101					--count
5102					_this.find('.text span').text(count);
5103
5104					if(!count)
5105					{
5106						_this.addClass('no-action');
5107						_this.removeClass('animate-load');
5108						_this.find('.text').remove();
5109					}
5110				}
5111			})
5112		}
5113	})
5114
5115	/*buy|wish|compare opt table items*/
5116	$(document).on('click', ".opt_action", function(){
5117		var _this = $(this),
5118			action = _this.data('action'),
5119			basketParams = {
5120				type: 'multiple',
5121				iblock_id: _this.data('iblock_id'),
5122				action: action,
5123				items: {}
5124			};
5125
5126		if(!_this.hasClass('no-action'))
5127		{
5128			$('.opt_action').addClass('no-action');
5129			_this.removeClass('no-action');
5130
5131			$('.table-view__item').each(function(){
5132				var _this = $(this);
5133				var canBuy = _this.find('.button_block .to-cart').length; //console.log(basketParams);
5134				var add = _this.find('input[name="chec_item"]').is(':checked') && (canBuy || (action != "buy") );
5135				if(add)
5136				{
5137					basketParams['items'][_this.data('id')] = {};
5138					basketParams['items'][_this.data('id')]['id'] = _this.data('id');
5139					basketParams['items'][_this.data('id')]['product_type'] = _this.data('product_type');
5140					basketParams['items'][_this.data('id')]['quantity'] = _this.find('input[name="quantity"]').val();
5141				}
5142			})
5143			$.ajax({
5144				type:"POST",
5145				url:arAsproOptions['SITE_DIR']+"ajax/item.php",
5146				data:basketParams,
5147				dataType:"json",
5148				success:function(data){
5149					if("STATUS" in data)
5150					{
5151						if(data.STATUS !== 'OK')
5152						{
5153							showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT);
5154						}
5155						if($('.header-cart.fly').length)
5156						{
5157							arBasketAsproCounters.DEFAULT = true;
5158							SetActualBasketFlyCounters(true);
5159						}
5160						else
5161						{
5162							if($("#ajax_basket").length)
5163								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'N', '', true);
5164							else
5165								reloadBasketCounters('', true);
5166						}
5167					}
5168					_this.parent().removeClass('loadings');
5169					$('.opt_action').removeClass('no-action');
5170				}
5171			})
5172		}
5173	})
5174
5175
5176
5177	//fix opt checked for back in browser
5178	setTimeout(function(){
5179		if($('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').length){
5180			$('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').prop('checked', false);
5181		}
5182	},1);
5183
5184
5185
5186	/*check mobile device*/
5187	if(isMobile){
5188		$(document).on('click', '*[data-event="jqm"]', function(e){
5189
5190			e.preventDefault();
5191			e.stopPropagation();
5192			var _this = $(this);
5193			var name = _this.data('name');
5194
5195			if((window.matchMedia('(min-width:768px)').matches || (typeof _this.data('no-mobile') !== 'undefinde' && _this.data('no-mobile') == 'Y')))
5196			{
5197				if(!$(this).hasClass('clicked'))
5198				{
5199					$(this).addClass('clicked');
5200					$(this).jqmEx();
5201					$(this).trigger('click');
5202				}
5203				return false;
5204			}
5205			else if(name.length){
5206				var script = arAsproOptions['SITE_DIR'] + 'form/';
5207				var paramsStr = ''; var arTriggerAttrs = {};
5208				$.each(_this.get(0).attributes, function(index, attr){
5209					var attrName = attr.nodeName;
5210					var attrValue = _this.attr(attrName);
5211					arTriggerAttrs[attrName] = attrValue;
5212					if(/^data\-param\-(.+)$/.test(attrName)){
5213						var key = attrName.match(/^data\-param\-(.+)$/)[1];
5214						paramsStr += key + '=' + attrValue + '&';
5215					}
5216				});
5217
5218				var triggerAttrs = JSON.stringify(arTriggerAttrs);
5219				var encTriggerAttrs = encodeURIComponent(triggerAttrs);
5220				script += '?name=' + name + '&' + paramsStr + 'data-trigger=' + encTriggerAttrs;
5221
5222				if (previewMode && _this.attr('href') !== undefined) {
5223					script = _this.attr('href')
5224				}
5225
5226				location.href = script;
5227			}
5228		});
5229
5230		$('.fancybox').removeClass('fancybox');
5231	}
5232	else
5233	{
5234		$(document).on('click', '*[data-event="jqm"]', function(e){
5235			e.preventDefault();
5236			e.stopPropagation();
5237
5238			var _this = $(this);
5239			var name = _this.data('name');
5240			if (previewMode && ((name.length && name == 'auth') || window.matchMedia('(max-width:400px)').matches)) {
5241
5242				var script = arAsproOptions['SITE_DIR'] + 'form/';
5243				var paramsStr = ''; var arTriggerAttrs = {};
5244				$.each(_this.get(0).attributes, function(index, attr){
5245					var attrName = attr.nodeName;
5246					var attrValue = _this.attr(attrName);
5247					arTriggerAttrs[attrName] = attrValue;
5248					if(/^data\-param\-(.+)$/.test(attrName)){
5249						var key = attrName.match(/^data\-param\-(.+)$/)[1];
5250						paramsStr += key + '=' + attrValue + '&';
5251					}
5252				});
5253
5254				var triggerAttrs = JSON.stringify(arTriggerAttrs);
5255				var encTriggerAttrs = encodeURIComponent(triggerAttrs);
5256				script += '?name=' + name + '&' + paramsStr + 'data-trigger=' + encTriggerAttrs;
5257
5258				if (_this.attr('href') !== undefined) {
5259					script = _this.attr('href')
5260				}
5261
5262					location.href = script;
5263			} else {
5264				if(!$(this).hasClass('clicked'))
5265				{
5266					$(this).addClass('clicked');
5267					$(this).jqmEx();
5268					$(this).trigger('click');
5269				}
5270			}
5271
5272			return false;
5273		});
5274	}
5275
5276	BX.addCustomEvent('onCompleteAction', function(eventdata, _this){
5277		try{
5278			if(eventdata.action === 'loadForm')
5279			{
5280				$(_this).parent().removeClass('loadings');
5281				$(_this).removeClass('clicked');
5282
5283				if($(_this).hasClass('one_click_buy_trigger'))
5284				{
5285					$('.wrapp_one_click > span').removeClass('clicked')
5286					$('.one_click').removeClass('clicked')
5287				}
5288				else if($(_this).hasClass('one_click_buy_basket_trigger'))
5289				{
5290					$('.fast_order').removeClass('clicked')
5291				}
5292			}
5293			else if(eventdata.action === 'loadBasket')
5294			{
5295				$('.basket-link.basket').attr('title', $('<div/>').html(arBasketPrices.BASKET_SUMM_TITLE).text());
5296				$('.basket-link.delay').attr('title', $('<div/>').html(arBasketPrices.DELAY_SUMM_TITLE).text());
5297
5298				if(arBasketPrices.BASKET_COUNT>0)
5299				{
5300					$('.basket-link.basket').addClass('basket-count');
5301					$('.basket-link.basket .count').removeClass('empted');
5302					if($('.basket-link.basket .prices').length)
5303						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM);
5304				}
5305				else
5306				{
5307					$('.basket-link.basket').removeClass('basket-count');
5308					$('.basket-link.basket .count').addClass('empted');
5309					if($('.basket-link.basket .prices').length)
5310						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM_TITLE_SMALL);
5311				}
5312				$('.basket-link.basket .count').text(arBasketPrices.BASKET_COUNT);
5313				if(arBasketPrices.DELAY_COUNT>0)
5314				{
5315					$('.basket-link.delay').addClass('basket-count');
5316					$('.basket-link.delay .count').removeClass('empted');
5317				}
5318				else
5319				{
5320					$('.basket-link.delay').removeClass('basket-count');
5321					$('.basket-link.delay .count').addClass('empted');
5322				}
5323				$('.basket-link.delay .count').text(arBasketPrices.DELAY_COUNT);
5324
5325				updateBottomIconsPanel(arBasketPrices);
5326			}
5327			else if(eventdata.action === 'loadActualBasketCompare')
5328			{
5329				var compare_count = Object.keys(arBasketAspro.COMPARE).length;
5330				if(compare_count>0)
5331				{
5332					$('.basket-link.compare').addClass('basket-count');
5333					$('.basket-link.compare .count').removeClass('empted');
5334					if($('#compare_fly').length)
5335						$('#compare_fly').removeClass('empty_block');
5336				}
5337				else
5338				{
5339					$('.basket-link.compare').removeClass('basket-count');
5340					$('.basket-link.compare .count').addClass('empted');
5341					if($('#compare_fly').length)
5342						$('#compare_fly').addClass('empty_block');
5343				}
5344				$('.basket-link.compare .count').text(compare_count);
5345
5346				updateBottomIconsPanel(arBasketAspro);
5347			}
5348			else if(eventdata.action === 'loadRSS')
5349			{
5350			}
5351			else if(eventdata.action === 'ajaxContentLoaded')
5352			{
5353			}
5354			else if(eventdata.action === 'jsLoadBlock')
5355			{
5356				initCountdown();
5357				setStatusButton();
5358				InitFlexSlider();
5359				InitOwlSlider();
5360				InitFancyBox();
5361
5362				checkLinkedArticles();
5363				lazyLoadPagenBlock();
5364
5365				if(typeof window['stickySidebar'] !== 'undefined')
5366				{
5367					window['stickySidebar'].updateSticky();
5368				}
5369			}
5370		}
5371		catch(e){
5372			console.error(e)
5373		}
5374	})
5375
5376	/*slices*/
5377	if($('.banners-small .item.normal-block').length)
5378		$('.banners-small .item.normal-block').sliceHeight();
5379	if($('.teasers .item').length)
5380		$('.teasers .item').sliceHeight();
5381	if($('.wrap-portfolio-front .row.items > div').length)
5382		$('.wrap-portfolio-front .row.items > div').sliceHeight({'row': '.row.items', 'item': '.item1'});
5383
5384	/* bug fix in ff*/
5385	$('img').removeAttr('draggable');
5386
5387	$('.title-tab-heading').on('click', function(){
5388		var container = $(this).parent(),
5389			slide_block = $(this).next(),
5390			bReviewTab = container.hasClass('media_review');
5391
5392		clicked_tab = container.index()+1;
5393
5394		container.siblings().removeClass('active');
5395
5396		$('.nav.nav-tabs li').removeClass('active');
5397
5398		if(container.hasClass('active'))
5399		{
5400			if(bReviewTab)
5401			{
5402				$('#reviews_content').slideUp(200, function(){
5403					container.removeClass('active');
5404				});
5405			}
5406			else
5407			{
5408				slide_block.slideUp(200, function(){
5409					container.removeClass('active');
5410				});
5411			}
5412		}
5413		else
5414		{
5415			container.addClass('active');
5416			if(bReviewTab)
5417			{
5418				$('#reviews_content').slideDown();
5419			}
5420			else
5421			{
5422				if($('.tabs_section + #reviews_content').length)
5423					$('.tabs_section + #reviews_content').slideUp();
5424				slide_block.slideDown();
5425				if(typeof container.attr('id') !== 'undefined' && container.attr('id') == 'descr'){
5426					var $gallery = $('.galerys-block');
5427					if($gallery.length){
5428						var bTypeBig = $gallery.find('.big_slider').length;
5429						var $slider = bTypeBig ? $gallery.find('.big_slider') : $gallery.find('.small_slider');
5430						InitFlexSlider();
5431						var interval = setInterval(function(){
5432							if($slider.find('.slides .item').attr('style').indexOf('height') === -1){
5433								$(window).resize();
5434							}
5435							else{
5436								clearInterval(interval);
5437							}
5438						}, 100);
5439					}
5440				}
5441			}
5442		}
5443	})
5444
5445	InitFlexSlider();
5446	InitOwlSlider();
5447	InitStickySideBar();
5448	InitFancyBox();
5449	InitFancyBoxVideo();
5450
5451	setTimeout(function(){
5452		InitTopestMenuGummi();
5453		isOnceInited = true;
5454	},50);
5455
5456	InitZoomPict();
5457
5458	$(document).on('click', '.captcha_reload', function(e){
5459		var captcha = $(this).parents('.captcha-row');
5460		e.preventDefault();
5461		$.ajax({
5462			url: arAsproOptions['SITE_DIR'] + 'ajax/captcha.php'
5463		}).done(function(text){
5464			captcha.find('input[name=captcha_sid],input[name=captcha_code]').val(text);
5465			captcha.find('img').attr('src', '/bitrix/tools/captcha.php?captcha_sid=' + text);
5466			captcha.find('input[name=captcha_word]').val('').removeClass('error');
5467			captcha.find('.captcha_input').removeClass('error').find('.error').remove();
5468		});
5469	});
5470
5471	/* show print */
5472	if(arAsproOptions["PAGES"]["BASKET_PAGE"])
5473	{
5474		if(arAsproOptions["THEME"]["SHOW_BASKET_PRINT"]=="Y")
5475		{
5476			if($('.page-top h1').length)
5477				$('<div class="print-link colored_theme_hover_bg-block" title="'+arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><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></div>').insertBefore($('.page-top .topic .topic__heading'));
5478
5479		}
5480	}
5481	else
5482	{
5483		if(arAsproOptions['THEME']['PRINT_BUTTON'] == 'Y')
5484		{
5485			setTimeout(function(){
5486
5487				if($('.period_wrapper.in-detail-news1 .period_wrapper_inner').length)
5488				{
5489					$('<div class="print-link colored_theme_hover_bg-block" title="'+arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><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></div>').insertBefore($('.detail-news1 .period_wrapper .period_wrapper_inner'));
5490				}else if($('.page-top .topic .topic__heading').length)
5491				{
5492					$('<div class="print-link colored_theme_hover_bg-block" title="'+arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><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></div>').insertBefore($('.page-top .topic .topic__heading'));
5493				}
5494
5495
5496			},150);
5497		}
5498	}
5499
5500	$(document).on('click', '.print-link', function(){
5501		window.print();
5502	})
5503
5504	$('.head-block .item-link').on('click', function(){
5505		var _this = $(this);
5506		_this.siblings().removeClass('active');
5507		_this.addClass('active');
5508	})
5509
5510	$('table.table').each(function(){
5511		var _this = $(this),
5512			first_td = _this.find('thead tr th');
5513		if(!first_td.length)
5514			first_td = _this.find('thead tr td');
5515		if(first_td.length)
5516		{
5517			var j = 0;
5518			_this.find('tbody tr td').each(function(i){
5519				if(j > first_td.length-1)
5520					j = 0;
5521				$('<div class="th-mobile">'+first_td[j].textContent+'</div>').appendTo($(this));
5522				j++;
5523			})
5524		}
5525	})
5526
5527	if(window.matchMedia('(min-width: 768px)').matches)
5528		$('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
5529
5530
5531	if(window.matchMedia('(max-width: 767px)').matches)
5532		$('.wrapper_middle_menu.wrap_menu').addClass('mobile');
5533
5534
5535
5536	$('.menu_top_block .v_bottom a').on('click', function(e){
5537		if($(e.target).hasClass('toggle_block'))
5538			e.preventDefault();
5539	})
5540	$('.menu_top_block .v_bottom a .toggle_block').click(function(e){
5541		var _this = $(this),
5542			menu = _this.closest('.has-child').find('> .dropdown'),
5543			bVisibleMeu = (menu.is(':visible')),
5544			animate = (bVisibleMeu ? 'slideUp' : 'slideDown');
5545
5546		if(!_this.hasClass('clicked'))
5547		{
5548			_this.addClass('clicked');
5549
5550
5551			menu.velocity('stop').velocity(animate, {
5552				duration: 150,
5553				// delay: 250,
5554				begin: function(){
5555					_this.toggleClass('closed');
5556				},
5557				complete: function(){
5558					_this.removeClass('clicked');
5559
5560					if(typeof window['stickySidebar'] !== 'undefined')
5561						window['stickySidebar'].updateSticky();
5562				}
5563			});
5564		}
5565
5566		$(this).closest('.has-child').toggleClass('opened');
5567	})
5568
5569	$(document).on('click', '.show_props', function(){
5570		$(this).prev().stop().slideToggle(333);
5571		$(this).find('.char_title').toggleClass('opened');
5572	});
5573
5574	$('.see_more').on('click', function(e) {
5575		e.preventDefault();
5576		var see_more = ($(this).is('.see_more') ? $(this) : $(this).parents('.see_more').first());
5577		var see_moreText = (see_more.find('> a').length ? see_more.find('> a') : see_more);
5578		var see_moreHiden = see_more.parent().find('> .d');
5579		if(see_more.hasClass('open')){
5580			see_moreText.text(BX.message('CATALOG_VIEW_MORE'));
5581			see_more.removeClass('open');
5582			see_moreHiden.hide();
5583		}
5584		else{
5585			see_moreText.text(BX.message('CATALOG_VIEW_LESS'));
5586			see_more.addClass('open');
5587			see_moreHiden.show();
5588		}
5589		return false;
5590	});
5591
5592	$('.button.faq_button').click(function(e){
5593		e.preventDefault();
5594		$(this).toggleClass('opened');
5595		$('.faq_ask .form').slideToggle();
5596	});
5597
5598	$('.staff.list .staff_section .staff_section_title a').click(function(e) {
5599		e.preventDefault();
5600		$(this).parents('.staff_section').toggleClass('opened');
5601		$(this).parents('.staff_section').find('.staff_section_items').stop().slideToggle(600);
5602		$(this).parents('.staff_section_title').find('.opener_icon').toggleClass('opened');
5603	});
5604
5605	$('.jobs_wrapp .item .name').click(function(e) {
5606		$(this).closest('.item').toggleClass('opened');
5607		$(this).closest('.item').find('.description_wrapp').stop().slideToggle(600);
5608		$(this).closest('.item').find('.opener_icon').toggleClass('opened');
5609	});
5610
5611	$('.faq.list .item .q a').on('click', function(e){
5612		e.preventDefault();
5613		$(this).parents('.item').toggleClass('opened');
5614		$(this).parents('.item').find('.a').stop().slideToggle();
5615		$(this).parents('.item').find('.q .opener_icon').toggleClass('opened');
5616	});
5617
5618	$('.opener_icon').click(function(e) {
5619		e.preventDefault();
5620		$(this).parent().find('a').trigger('click');
5621	});
5622
5623	$('.dotdot').dotdotdot();
5624
5625	$('.more_block span').on('click', function() {
5626		var content_offset=$('.catalog_detail .tabs_section').offset();
5627		$('html, body').animate({scrollTop: content_offset.top-43}, 400);
5628	});
5629
5630	$(document).on("click", ".counter_block:not(.basket) .plus", function(){
5631		if(!$(this).parents('.basket_wrapp').length){
5632			if($(this).parent().data("offers")!="Y"){
5633				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
5634					input = $(this).parents(".counter_block").find("input[type=text]")
5635					tmp_ratio = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('ratio'),
5636					//console.log(!isDetailSKU2);
5637					isDblQuantity = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('float_ratio'),
5638					ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5639					max_value='';
5640					currentValue = input.val();
5641
5642
5643				if(isDblQuantity)
5644					ratio = Math.round(ratio*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5645
5646				curValue = (isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10));
5647
5648				curValue += ratio;
5649				if (isDblQuantity){
5650					curValue = Math.round(curValue*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5651				}
5652				if(parseFloat($(this).data('max'))>0){
5653					if(input.val() < $(this).data('max')){
5654						if(curValue<=$(this).data('max'))
5655							input.val(curValue);
5656
5657						input.change();
5658					}
5659				}else{
5660					input.val(curValue);
5661					input.change();
5662				}
5663			}
5664		}
5665	});
5666	$(document).on("click", ".counter_block:not(.basket) .minus", function(){
5667		if(!$(this).parents('.basket_wrapp').length){
5668			if($(this).parent().data("offers")!="Y"){
5669				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
5670					input = $(this).parents(".counter_block").find("input[type=text]")
5671					tmp_ratio = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('ratio'),
5672					isDblQuantity = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('float_ratio'),
5673					ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5674					max_value='';
5675					currentValue = input.val();
5676
5677				if(isDblQuantity)
5678					ratio = Math.round(ratio*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5679
5680				curValue = (isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10));
5681
5682				curValue -= ratio;
5683				if (isDblQuantity){
5684					curValue = Math.round(curValue*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5685				}
5686
5687				if(parseFloat($(this).parents(".counter_block").find(".plus").data('max'))>0){
5688					if(currentValue > ratio){
5689						if(curValue<ratio){
5690							input.val(ratio);
5691						}else{
5692							input.val(curValue);
5693						}
5694						input.change();
5695					}
5696				}else{
5697					if(curValue > ratio){
5698						input.val(curValue);
5699					}else{
5700						if(ratio){
5701							input.val(ratio);
5702						}else if(currentValue > 1){
5703							input.val(curValue);
5704						}
5705					}
5706					input.change();
5707				}
5708			}
5709		}
5710	});
5711
5712	$('.counter_block input[type=text]').numeric({allow:"."});
5713
5714	$(document).on("focus", ".counter_block input[type=text]", function(e){
5715		$(this).addClass('focus');
5716	})
5717
5718	$(document).on("blur", ".counter_block input[type=text]", function(e){
5719		$(this).removeClass('focus');
5720	})
5721
5722	var timerInitCalculateDelivery = false;
5723	$(document).on("change", ".counter_block input[type=text]", function(e){
5724		if(!$(this).parents('.basket_wrapp').length){
5725			var val = $(this).val(),
5726				tmp_ratio = $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') ? $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('ratio'),
5727				isDblQuantity = $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') ? $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('float_ratio'),
5728				ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5729				diff = val % ratio;
5730
5731			if(isDblQuantity)
5732			{
5733				ratio = Math.round(ratio*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5734				if(Math.round(diff*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor == ratio)
5735					diff = 0;
5736			}
5737
5738			if($(this).hasClass('focus'))
5739			{
5740				intCount = Math.round(
5741					Math.round(val * arAsproOptions.JS_ITEM_CLICK.precisionFactor / ratio) / arAsproOptions.JS_ITEM_CLICK.precisionFactor
5742				) || 1;
5743				val = (intCount <= 1 ? ratio : intCount * ratio);
5744				// val -= diff;
5745				val = Math.round(val*arAsproOptions.JS_ITEM_CLICK.precisionFactor)/arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5746			}
5747
5748			if(parseFloat($(this).parents(".counter_block").find(".plus").data('max'))>0){
5749				if(val>parseFloat($(this).parents(".counter_block").find(".plus").data('max'))){
5750					val=parseFloat($(this).parents(".counter_block").find(".plus").data('max'));
5751					// val -= (val % ratio);
5752				}
5753			}
5754			if(val<ratio){
5755				val=ratio;
5756			}else if(!parseFloat(val)){
5757				val=1;
5758			}
5759
5760			$(this).parents('.counter_block').parent().parent().find('.to-cart').attr('data-quantity', val);
5761			$(this).parents('.counter_block').parent().parent().parent().find('.one_click').attr('data-quantity', val);
5762			$(this).val(val);
5763
5764			var $calculate = $(this).closest('.item').length ? $(this).closest('.item').find('.calculate-delivery') : $(this).closest('.catalog_detail').find('.calculate-delivery');
5765			if($calculate.length){
5766				$calculate.each(function(){
5767					var $calculateSpan = $(this).find('span[data-event=jqm]').first();
5768
5769					if($calculateSpan.length){
5770						var $clone = $calculateSpan.clone();
5771						$clone.attr('data-param-quantity', val).removeClass('clicked');
5772						$clone.insertAfter($calculateSpan).on('click', function(){
5773							if(!jQuery.browser.mobile){
5774								$(this).parent().addClass('loadings');
5775							}
5776						});
5777						$calculateSpan.remove();
5778					}
5779
5780					if($(this).hasClass('with_preview')){
5781						$(this).removeClass('inited');
5782
5783						if(timerInitCalculateDelivery){
5784							clearTimeout(timerInitCalculateDelivery);
5785						}
5786
5787						timerInitCalculateDelivery = setTimeout(function(){
5788							initCalculatePreview();
5789							timerInitCalculateDelivery = false;
5790						}, 1000);
5791					}
5792				});
5793			}
5794
5795			var eventdata = {type: 'change', params: {id: $(this), value: val}};
5796			BX.onCustomEvent('onCounterProductAction', [eventdata]);
5797		}
5798	});
5799
5800	BX.addCustomEvent('onCounterProductAction', function(eventdata) {
5801		if(typeof eventdata != 'object'){
5802			eventdata = {type: 'undefined'};
5803		}
5804		try{
5805			if(typeof eventdata.type != 'undefined'){
5806				if(!eventdata.params.id.closest('.gifts').length) // no gift
5807				{
5808					var obProduct = eventdata.params.id.data('product');
5809					if(eventdata.params.id.closest('.has_offer_prop').length) // type1 for offers in element list
5810					{
5811						if(typeof window['obSkuQuantys'] === 'undefined')
5812							window["obSkuQuantys"] = {};
5813
5814						// if(typeof window['obOffers'] === 'undefined')
5815							window["obSkuQuantys"][eventdata.params.id.closest('.offer_buy_block').find('.to-cart').data('item')] = eventdata.params.value;
5816					}
5817					if(typeof window[obProduct] == 'object')
5818					{
5819						if(obProduct == "obOffers")
5820							setPriceAction('', '', 'Y');
5821						else
5822							window[obProduct].setPriceAction('Y');
5823						if ($('.detail_page').length) {
5824							setNewHeader()
5825						}
5826					}
5827					else if(eventdata.params.id.length)
5828					{
5829						if(eventdata.params.id.closest('.main_item_wrapper').length && arAsproOptions['THEME']['SHOW_TOTAL_SUMM'] == 'Y')
5830						{
5831							setPriceItem(eventdata.params.id.closest('.main_item_wrapper'), eventdata.params.value);
5832						}
5833					}
5834					BX.onCustomEvent('onCounterProductActionResize');
5835				}
5836			}
5837		}
5838		catch(e){
5839			console.error(e)
5840		}
5841	});
5842
5843	/*show basket on hover */
5844	$(document).on('mouseenter', '.wrap_icon.top_basket, #headerfixed .basket-link.basket', function() {
5845
5846		var _this = $(this);
5847		var parent = _this.closest('header, #headerfixed');
5848		var hover_block = parent.find('.basket_hover_block');
5849
5850		if(!hover_block.hasClass('loaded')) {
5851			basketTop('', hover_block);
5852		}
5853	});
5854
5855	/*show basket on click mobile */
5856	$(document).on('click', '.wrap_icon.wrap_basket.top_basket, #headerfixed .basket-link.basket', function(e) {
5857		var _this = $(this);
5858		if(isMobile) {
5859			if(!_this.hasClass('clicked')) {
5860				e.preventDefault();
5861				_this.addClass('clicked');
5862				setTimeout(function(){
5863					_this.removeClass('clicked');
5864				}, 3000);
5865			}
5866		}
5867	});
5868
5869	/*slide cart*/
5870	$(document).on('mouseenter', '#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ', function() {
5871		$(this).closest('.basket_normal').find('.popup').addClass('block');
5872		$(this).closest('.basket_normal').find('.basket_popup_wrapp').stop(true,true).slideDown(150);
5873	});
5874	$(document).on('mouseleave', '#basket_line .basket_normal .basket_block ', function() {
5875		var th=$(this);
5876		$(this).closest('.basket_normal').find('.basket_popup_wrapp').stop(true,true).slide
5876Up(150, function(){
5877			th.closest('.basket_normal').find('.popup').removeClass('block');
5878		});
5879	});
5880
5881	$(document).on('click', '.popup_button_basket', function(){
5882		var th=$(".to-cart[data-item="+$(this).data("item")+"]");
5883
5884		var val = th.attr('data-quantity');
5885
5886		if(!val) $val = 1;
5887
5888		var tmp_props=th.data("props"),
5889			props='',
5890			part_props='',
5891			add_props='N',
5892			fill_prop={},
5893			iblockid = th.data('iblockid'),
5894			offer = th.data('offers'),
5895			rid='',
5896			basket_props='',
5897			item = th.attr('data-item');
5898
5899		if(offer!="Y"){
5900			offer = "N";
5901		}else{
5902			basket_props=th.closest('.prices_tab').find('.bx_sku_props input').val();
5903		}
5904		if(tmp_props){
5905			props=tmp_props.split(";");
5906		}
5907		if(th.data("part_props")){
5908			part_props=th.data("part_props");
5909		}
5910		if(th.data("add_props")){
5911			add_props=th.data("add_props");
5912		}
5913		if($('.rid_item').length){
5914			rid=$('.rid_item').data('rid');
5915		}else if(th.data('rid')){
5916			rid=th.data('rid');
5917		}
5918
5919		fill_prop=fillBasketPropsExt(th, 'prop', 'bx_ajax_text');
5920
5921		fill_prop.quantity=val;
5922		fill_prop.add_item='Y';
5923		fill_prop.rid=rid;
5924		fill_prop.offers=offer;
5925		fill_prop.iblockID=iblockid;
5926		fill_prop.part_props=part_props;
5927		fill_prop.add_props=add_props;
5928		fill_prop.props=JSON.stringify(props);
5929		fill_prop.item=item;
5930		fill_prop.basket_props=basket_props;
5931
5932		$.ajax({
5933			type:"POST",
5934			url:arAsproOptions['SITE_DIR']+"ajax/item.php",
5935			data:fill_prop,
5936			dataType:"json",
5937			success:function(data){
5938				$('.basket_error_frame').jqmHide();
5939				if("STATUS" in data){
5940					getActualBasket(fill_prop.iblockID);
5941					if(data.STATUS === 'OK'){
5942						th.hide();
5943						th.closest('.counter_wrapp').find('.counter_block_inner').hide();
5944						th.closest('.counter_wrapp').find('.counter_block').hide();
5945						th.parents('tr').find('.counter_block_wr .counter_block').hide();
5946						th.closest('.button_block').addClass('wide');
5947						th.parent().find('.in-cart').show();
5948
5949						addBasketCounter(item);
5950						//$('.wish_item[data-item='+item+']').removeClass("added");
5951						$('.wish_item[data-item='+item+']').find(".value").show();
5952						$('.wish_item[data-item='+item+']').find(".value.added").hide();
5953
5954						if($("#ajax_basket").length)
5955							reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
5956
5957						if($("#basket_line .basket_fly").length){
5958							if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches)
5959								basketFly('open', 'N');
5960							else
5961								basketFly('open');
5962						}
5963
5964					}else{
5965						showBasketError(BX.message(data.MESSAGE));
5966					}
5967				}else{
5968					showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
5969				}
5970			}
5971		});
5972	})
5973
5974	$(document).on( 'click', '.to-cart:not(.read_more), .basket_item_add', function(e){
5975		e.preventDefault();
5976		var th=$(this);
5977		if(!th.hasClass('clicked'))
5978		{
5979			th.addClass('clicked');
5980			var val = $(this).attr('data-quantity');
5981			var tmp_props=$(this).data("props"),
5982				props='',
5983				part_props='',
5984				add_props='N',
5985				fill_prop={},
5986				iblockid = $(this).data('iblockid'),
5987				offer = $(this).data('offers'),
5988				rid='',
5989				bBannerAction = false,
5990				basket_props='',
5991				item = $(this).attr('data-item');
5992			if(th.closest('.but-cell').length)
5993			{
5994				if($('.counter_block[data-item="'+item+'"]').length)
5995					val = $('.counter_block[data-item="'+item+'"] input').val();
5996			}
5997
5998			if(th.closest('.banner_buttons.with_actions').length) //banner action
5999			{
6000				var wrapper_btns = th.closest('.wraps_buttons');
6001				item = wrapper_btns.data('id');
6002				bBannerAction = true;
6003			}
6004
6005			if(!val)
6006				val = 1;
6007			if(offer!="Y"){
6008				offer = "N";
6009			}else{
6010				basket_props=$(this).closest('.prices_tab').find('.bx_sku_props input').val();
6011			}
6012			if(tmp_props){
6013				props=tmp_props.split(";");
6014			}
6015			if($(this).data("part_props")){
6016				part_props=$(this).data("part_props");
6017			}
6018			if($(this).data("add_props")){
6019				add_props=$(this).data("add_props");
6020			}
6021			if($('.rid_item').length){
6022				rid=$('.rid_item').data('rid');
6023			}else if($(this).data('rid')){
6024				rid=$(this).data('rid');
6025			}
6026
6027			fill_prop=fillBasketPropsExt(th, 'prop', th.data('bakset_div'));
6028
6029			fill_prop.quantity=val;
6030			fill_prop.add_item='Y';
6031			fill_prop.rid=rid;
6032			fill_prop.offers=offer;
6033			fill_prop.iblockID=iblockid;
6034			fill_prop.part_props=part_props;
6035			fill_prop.add_props=add_props;
6036			fill_prop.props=JSON.stringify(props);
6037			fill_prop.item=item;
6038			fill_prop.basket_props=basket_props;
6039
6040			if(bBannerAction)
6041			{
6042
6043				if(th.hasClass('added'))
6044				{
6045					location.href = th.data('href');
6046					return false;
6047				}
6048				else
6049				{
6050					th.attr('title', th.data('title2'))
6051					th.toggleClass('added');
6052				}
6053
6054				if(wrapper_btns.find('.wish_item_add').length)
6055					wrapper_btns.find('.wish_item_add').removeClass('added');
6056			}
6057
6058			if(th.data("empty_props")=="N"/* && fill_prop.part_props != 'Y'*/){
6059				var basket_popup_html = $("#"+th.data("bakset_div")).html();
6060				if(!basket_popup_html && th.closest('.item').find('.basket_props_block').length)
6061					basket_popup_html = th.closest('.item').find('.basket_props_block').html();
6062
6063				showBasketError(basket_popup_html, BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th);
6064				BX.addCustomEvent('onCompleteAction', function(e){
6065					if(!e.ignoreSelf){
6066						var eventdata = {action:'loadForm', ignoreSelf: true};
6067						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
6068					}
6069				});
6070
6071			}else{
6072				$.ajax({
6073					type:"POST",
6074					url:arAsproOptions['SITE_DIR']+"ajax/item.php",
6075					data:fill_prop,
6076					dataType:"json",
6077					success:function(data){
6078						getActualBasket(fill_prop.iblockID);
6079
6080						var eventdata = {action:'loadForm'};
6081						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
6082						arStatusBasketAspro = {};
6083
6084						if(data !==null){
6085							if("STATUS" in data){
6086								if(data.MESSAGE_EXT===null)
6087									data.MESSAGE_EXT='';
6088								if(data.STATUS === 'OK'){
6089									// th.hide();
6090									$('.to-cart[data-item='+item+']').hide();
6091									$('.to-cart[data-item='+item+']').closest('.counter_wrapp').find('.counter_block_inner').hide();
6092									$('.to-cart[data-item='+item+']').closest('.counter_wrapp').find('.counter_block').hide();
6093									$('.to-cart[data-item='+item+']').parents('tr').find('.counter_block_wr .counter_block').hide();
6094									$('.to-cart[data-item='+item+']').closest('.button_block').addClass('wide');
6095									// th.parent().find('.in-cart').show();
6096									$('.in-cart[data-item='+item+']').show();
6097
6098									addBasketCounter(item);
6099									//$('.wish_item[data-item='+item+']').removeClass("added");
6100									$('.wish_item[data-item='+item+']').find(".value").show();
6101									$('.wish_item[data-item='+item+']').find(".value.added").hide();
6102									$('.wish_item.to[data-item='+item+']').show();
6103									$('.wish_item.in[data-item='+item+']').hide();
6104
6105									if($("#ajax_basket").length)
6106										reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
6107
6108									if($("#basket_line .basket_fly").length){
6109										if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches  || $("#basket_line .basket_fly.loaded").length)
6110											basketFly('open', 'N');
6111										else
6112											basketFly('open');
6113									}
6114
6115									if($(".top_basket").length){
6116										basketTop('open', $(".top_basket").find('.basket_hover_block'));
6117									}
6118
6119									if ($('#headerfixed .wproducts .ajax_load .btn').length && th.next('.in-cart').length) {
6120										var buttonHtml = '<span class="buy_block"><span class="btn btn-default btn-sm slide_offer more type_block">'+th.next('.in-cart').html() +'</span></span>';
6121										$('#headerfixed .wproducts .ajax_load .item-buttons .but-cell').html(buttonHtml)
6122									}
6123
6124								}else{
6125									showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT);
6126								}
6127							}else{
6128								showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
6129							}
6130						}else{
6131							// th.hide();
6132							$('.to-cart[data-item='+item+']').hide();
6133							$('.to-cart[data-item='+item+']').closest('.counter_wrapp').find('.counter_block_inner').hide();
6134							$('.to-cart[data-item='+item+']').closest('.counter_wrapp').find('.counter_block').hide();
6135							$('.to-cart[data-item='+item+']').parents('tr').find('.counter_block_wr .counter_block').hide();
6136							$('.to-cart[data-item='+item+']').closest('.button_block').addClass('wide');
6137							// th.parent().find('.in-cart').show();
6138							$('.in-cart[data-item='+item+']').show();
6139
6140							addBasketCounter(item);
6141							//$('.wish_item[data-item='+item+']').removeClass("added");
6142							$('.wish_item[data-item='+item+']').find(".value").show();
6143							$('.wish_item[data-item='+item+']').find(".value.added").hide();
6144
6145							if($("#ajax_basket").length)
6146								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
6147
6148							if($("#basket_line .basket_fly").length)
6149							{
6150								if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches  || $("#basket_line .basket_fly.loaded").length)
6151									basketFly('open', 'N');
6152								else
6153									basketFly('open');
6154							}
6155						}
6156					}
6157				});
6158			}
6159		}
6160
6161	})
6162
6163	$(document).on('click', '.to-subscribe', function(e){
6164		e.preventDefault();
6165		var th=$(this);
6166		if(!th.hasClass('clicked'))
6167		{
6168			th.addClass('clicked');
6169			if($(this).is('.auth'))
6170			{
6171				if($(this).hasClass('nsubsc'))
6172				{
6173					$(this).jqmEx();
6174					$(this).trigger('click');
6175				}
6176				else
6177				{
6178					location.href=arAsproOptions['SITE_DIR']+'auth/?backurl='+location.pathname;
6179				}
6180			}
6181			else
6182			{
6183				var item = $(this).attr('data-item'),
6184					iblockid = $(this).attr('data-iblockid');
6185				// $(this).hide();
6186				$('.to-subscribe[data-item='+item+']').hide();
6187				$('.to-subscribe[data-item='+item+']').parent().find('.in-subscribe').show();
6188				$.get(arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
6189					$.proxy(function(data){
6190						arStatusBasketAspro = {};
6191						getActualBasket(iblockid);
6192					})
6193				);
6194				th.removeClass('clicked');
6195			}
6196		}
6197	})
6198
6199	$(document).on('click', '.in-subscribe', function(e){
6200		e.preventDefault();
6201		var item = $(this).attr('data-item'),
6202			iblockid = $(this).attr('data-iblockid');;
6203		// $(this).hide();
6204		$('.in-subscribe[data-item='+item+']').hide();
6205		$('.in-subscribe[data-item='+item+']').parent().find('.to-subscribe').removeClass('clicked');
6206		$('.in-subscribe[data-item='+item+']').parent().find('.to-subscribe').show();
6207		$.get(arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
6208			$.proxy(function(data){
6209				getActualBasket(iblockid);
6210				arStatusBasketAspro = {};
6211			})
6212		);
6213	})
6214
6215	$(document).on('click', '.wish_item, .wish_item_add', function(e){
6216		e.preventDefault();
6217		var val = $(this).attr('data-quantity'),
6218			_this = $(this),
6219			offer = $(this).data('offers'),
6220			iblockid = $(this).data('iblock'),
6221			tmp_props=$(this).data("props"),
6222			props='',
6223			bBannerAction = false,
6224			item = $(this).attr('data-item'),
6225			item2 = $(this).attr('data-item');
6226
6227		if(_this.closest('.banner_buttons.with_actions').length) //banner action
6228		{
6229			var wrapper_btns = _this.closest('.wraps_buttons');
6230			item = item2 = wrapper_btns.data('id');
6231			bBannerAction = true;
6232		}
6233
6234		if(!_this.hasClass('clicked'))
6235		{
6236			_this.addClass('clicked');
6237			if(!val) val = 1;
6238			if(offer!="Y") offer = "N";
6239			if(tmp_props){
6240				props=tmp_props.split(";");
6241			}
6242			if(!$(this).hasClass('text')){
6243				if($(this).hasClass('added')){
6244					if(!bBannerAction)
6245					{
6246						$(this).hide();
6247						$(this).closest('.wish_item_button').find('.to').show();
6248					}
6249					$('.like_icons').each(function(){
6250						if($(this).find('.wish_item.text[data-item="'+item+'"]').length){
6251							$(this).find('.wish_item.text[data-item="'+item+'"]').removeClass('added');
6252							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value').show();
6253							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value.added').hide();
6254						}
6255						if($(this).find('.wish_item_button').length){
6256							/*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added');
6257							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show();
6258							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();*/
6259							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"].to').show();
6260							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"].in').hide();
6261						}
6262					})
6263				}
6264				else{
6265					if(!bBannerAction)
6266					{
6267						$(this).hide();
6268						$(this).closest('.wish_item_button').find('.in').addClass('added').show();
6269					}
6270
6271					$('.like_icons').each(function(){
6272						if($(this).find('.wish_item.text[data-item="'+item+'"]').length){
6273							$(this).find('.wish_item.text[data-item="'+item+'"]').addClass('added');
6274							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value').hide();
6275							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value.added').css({"display":"block"})
6276						}
6277						if($(this).find('.wish_item_button').length){
6278							/*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added');
6279							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide();
6280							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();*/
6281							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"].to').hide();
6282							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"].in').show();
6283						}
6284					})
6285				}
6286			}else{
6287				if(!$(this).hasClass('added')){
6288					$('.wish_item[data-item=' + item + ']').addClass('added');
6289					$('.wish_item[data-item=' + item + ']').find('.value').hide();
6290					$('.wish_item[data-item=' + item + ']').find('.value.added').css('display','block');
6291
6292					$('.wish_item.to[data-item='+item+']').hide();
6293					$('.wish_item.in[data-item='+item+']').show();
6294
6295
6296					$('.like_icons').each(function(){
6297						if($(this).find('.wish_item_button').length){
6298							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added');
6299							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide();
6300							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();
6301						}
6302					})
6303				}else{
6304					$('.wish_item[data-item=' + item + ']').removeClass('added');
6305					$('.wish_item[data-item=' + item + ']').find('.value').show();
6306					$('.wish_item[data-item=' + item + ']').find('.value.added').hide();
6307
6308					$('.wish_item.to[data-item='+item+']').show();
6309					$('.wish_item.in[data-item='+item+']').hide();
6310
6311					$('.like_icons').each(function(){
6312						if($(this).find('.wish_item_button').length){
6313							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added');
6314							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show();
6315							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();
6316						}
6317					})
6318				}
6319			}
6320
6321			$('.in-cart[data-item=' + item + ']').hide();
6322			$('.to-cart[data-item=' + item + ']').removeClass('clicked');
6323			$('.to-cart[data-item=' + item + ']').parent().removeClass('wide');
6324			if(!$('.counter_block[data-item=' + item + ']').closest('.counter_wrapp').find('.to-order').length)
6325			{
6326				$('.to-cart[data-item=' + item + ']').show();
6327				$('.counter_block[data-item=' + item + ']').closest('.counter_block_inner').show();
6328				$('.counter_block[data-item=' + item + ']').show();
6329			}
6330
6331			if(bBannerAction)
6332			{
6333				_this.toggleClass('added');
6334
6335				if(_this.hasClass('added'))
6336					_this.attr('title', _this.data('title2'))
6337				else
6338					_this.attr('title', _this.data('title'))
6339
6340				if(wrapper_btns.find('.basket_item_add').length)
6341					wrapper_btns.find('.basket_item_add').removeClass('added');
6342			}
6343
6344			if(!$(this).closest('.module-cart').size()){
6345				$.ajax({
6346					type:"GET",
6347					url:arAsproOptions['SITE_DIR']+"ajax/item.php",
6348					data:"item="+item2+"&quantity="+val+"&wish_item=Y"+"&offers="+offer+"&iblockID="+iblockid+"&props="+JSON.stringify(props),
6349					dataType:"json",
6350					success: function(data){
6351						getActualBasket(iblockid);
6352						arStatusBasketAspro = {};
6353						if(data !==null){
6354							if(data.MESSAGE_EXT===null)
6355								data.MESSAGE_EXT='';
6356							if("STATUS" in data){
6357								if(data.STATUS === 'OK'){
6358									if(arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
6359										var eventdata = {goal: 'goal_wish_add', params: {id: item2}};
6360										BX.onCustomEvent('onCounterGoals', [eventdata]);
6361									}
6362									if($("#ajax_basket").length)
6363										reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
6364
6365									if($("#basket_line .basket_fly").length){
6366										if(_this.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches || $("#basket_line .basket_fly.loaded").length)
6367											basketFly('wish', 'N');
6368										else
6369											basketFly('wish');
6370									}
6371								}else{
6372									showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT, BX.message("ERROR_ADD_DELAY_ITEM"));
6373								}
6374							}else{
6375								showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT, BX.message("ERROR_ADD_DELAY_ITEM"));
6376							}
6377						}else{
6378							if($("#ajax_basket").length)
6379								reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
6380
6381							if($("#basket_line .basket_fly").length){
6382								if(_this.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches || $("#basket_line .basket_fly.loaded").length)
6383									basketFly('wish', 'N');
6384								else
6385									basketFly('wish');
6386							}
6387						}
6388					_this.removeClass('clicked');
6389					}
6390				});
6391			}
6392		}
6393
6394	})
6395
6396	$(document).on('click', '.item_main_info .item_slider .flex-direction-nav li span', function(e){
6397		if($('.inner_slider .slides_block').length)
6398		{
6399			if($(this).parent().hasClass('flex-nav-next'))
6400				$('.inner_slider .slides_block li.current').next().click();
6401			else
6402				$('.inner_slider .slides_block li.current').prev().click();
6403		}
6404	})
6405
6406	$(document).on('click', '.compare_item, .compare_item_add', function(e){
6407		e.preventDefault();
6408		var item = $(this).attr('data-item');
6409		var iblockID = $(this).attr('data-iblock'),
6410			bBannerAction = false,
6411			th=$(this);
6412
6413		if(th.closest('.banner_buttons.with_actions').length) //banner action
6414		{
6415			var wrapper_btns = th.closest('.wraps_buttons');
6416			item = wrapper_btns.data('id');
6417			iblockID = wrapper_btns.data('iblockid');
6418			bBannerAction = true;
6419
6420			th.toggleClass('added');
6421
6422			if(th.hasClass('added'))
6423				th.attr('title', th.data('title2'))
6424			else
6425				th.attr('title', th.data('title'))
6426		}
6427
6428		if(!th.hasClass('clicked'))
6429		{
6430			th.addClass('clicked');
6431			if(!$(this).hasClass('text')){
6432				if($(this).hasClass('added')){
6433					if(!bBannerAction)
6434					{
6435						$(this).hide();
6436						$(this).closest('.compare_item_button').find('.to').show();
6437					}
6438
6439					/*sync other button*/
6440					$('.like_icons').each(function(){
6441						if($(this).find('.compare_item.text[data-item="'+item+'"]').length){
6442							$(this).find('.compare_item.text[data-item="'+item+'"]').removeClass('added');
6443							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value').show();
6444							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value.added').hide();
6445						}
6446						if($(this).find('.compare_item_button').length){
6447							/*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added');
6448							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show();
6449							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();*/
6450							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"].in').hide();
6451							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"].to').show();
6452						}
6453					})
6454				}
6455				else
6456				{
6457					if(!bBannerAction)
6458					{
6459						$(this).hide();
6460						$(this).closest('.compare_item_button').find('.in').show();
6461					}
6462
6463					/*sync other button*/
6464					$('.like_icons').each(function(){
6465						if($(this).find('.compare_item.text[data-item="'+item+'"]').length){
6466							$(this).find('.compare_item.text[data-item="'+item+'"]').addClass('added');;
6467							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value').hide();
6468							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value.added').css({"display":"block"});
6469						}
6470						if($(this).find('.compare_item_button').length){
6471							/*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added');
6472							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show();
6473							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();*/
6474							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"].to').hide();
6475							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"].in').show();
6476						}
6477					})
6478				}
6479			}else{
6480				if(!$(this).hasClass('added')){
6481					$('.compare_item[data-item=' + item + ']').addClass('added');
6482					$('.compare_item[data-item=' + item + ']').find('.value').hide();
6483					$('.compare_item[data-item=' + item + ']').find('.value.added').css('display','block');
6484
6485					/*sync other button*/
6486					$('.like_icons').each(function(){
6487						if($(this).find('.compare_item_button').length){
6488							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added');
6489							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show();
6490							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();
6491						}
6492					})
6493				}else{
6494					$('.compare_item[data-item=' + item + ']').removeClass('added');
6495					$('.compare_item[data-item=' + item + ']').find('.value').show();
6496					$('.compare_item[data-item=' + item + ']').find('.value.added').hide();
6497
6498					/*sync other button*/
6499					$('.like_icons').each(function(){
6500						if($(this).find('.compare_item_button').length){
6501							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added');
6502							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show();
6503							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();
6504						}
6505					})
6506				}
6507			}
6508
6509			$.get(arAsproOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&compare_item=Y&iblock_id=' + iblockID,
6510				$.proxy(function(data){
6511					getActualBasket(iblockID, 'Compare');
6512					arStatusBasketAspro = {};
6513					if($('#compare_fly').length){
6514						jsAjaxUtil.InsertDataToNode(arAsproOptions['SITE_DIR'] + 'ajax/show_compare_preview_fly.php', 'compare_fly', false);
6515					}
6516				th.removeClass('clicked');
6517				})
6518			);
6519		}
6520
6521	});
6522
6523	$('.fancybox').fancybox({
6524		backFocus: false,
6525	});
6526
6527	$(document).on('click', '.tabs>li', function(){
6528		var parent = $(this).parent();
6529		if(!$(this).hasClass('active')){
6530			var sliderIndex = $(this).index(),
6531				curLiNav=$(this).closest('.top_block').find('.slider_navigation').find('>li:eq(' + sliderIndex + ')'),
6532				curLi=$(this).closest('.top_block').siblings('.tabs_content').find('>li:eq(' + sliderIndex + ')');
6533			$(this).addClass('active').addClass('cur').siblings().removeClass('active').removeClass('cur');
6534			curLi.addClass('cur').siblings().removeClass('cur');
6535			curLiNav.addClass('cur').siblings().removeClass('cur');
6536
6537			if(parent.hasClass('ajax')) // front tabs
6538			{
6539				if(!$(this).hasClass('clicked'))
6540				{
6541					$.ajax({
6542						url: arAsproOptions['SITE_DIR'] + 'include/mainpage/comp_catalog_ajax.php',
6543						type: 'POST',
6544						data: {AJAX_POST: 'Y', FILTER_HIT_PROP: $(this).data('code'), AJAX_PARAMS: $(this).closest('.tab_slider_wrapp').find('.request-data').data('value'), GLOBAL_FILTER: curLi.data('filter')},
6545					}).success(function(html){
6546						curLi.find('.tabs_slider').html(html);
6547						var container = curLi.closest('.content_wrapper_block');
6548						if(container.length) {
6549							var bNav = curLi.find('.bottom_nav .module-pagination').length > 0;
6550							if(bNav) {
6551								container.removeClass('without-border');
6552							} else {
6553								container.addClass('without-borded');
6554							}
6555						}
6556						setTimeout(function(){
6557							curLi.addClass('opacity1');
6558						}, 100);
6559
6560						/*equal height*/
6561						// curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible .item-title').sliceHeight({item:'.catalog_item:visible', mobile: true});
6562						// curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible').sliceHeight({item:'.catalog_item:visible', mobile: true});
6563						// curLi.find('.catalog_block .catalog_item_wrapp .catalog_item:visible').sliceHeight({classNull: '.footer_button', item:'.catalog_item:visible', mobile: true});
6564
6565						initCountdown();
6566					})
6567					$(this).addClass('clicked');
6568				} else {
6569					var container = curLi.closest('.content_wrapper_block');
6570					if(container.length) {
6571						var bNav = curLi.find('.bottom_nav .module-pagination').length > 0;
6572						if(bNav) {
6573							container.removeClass('without-border');
6574						} else {
6575							container.addClass('without-borded');
6576						}
6577					}
6578					$('.cur .catalog_block .catalog_item_wrapp.catalog_item:not(.big):visible').sliceHeight({
6579						classNull: '.footer_button',
6580						item:'.cur .catalog_block .catalog_item_wrapp.catalog_item:not(.big):visible',
6581						classes: [
6582							'.item_info .item-title',
6583							'.item_info .sa_block',
6584							'.item_info .cost.prices',
6585						],
6586						mobile: true,
6587					});
6588				}
6589			}
6590
6591			var eventdata = {index: sliderIndex, target: $(this)};
6592			BX.onCustomEvent('clickedTabsLi', [eventdata]);
6593		}
6594	})
6595
6596	/*search click*/
6597	$('.search_block .icon').on('click', function(){
6598		var th=$(this);
6599		if($(this).hasClass('open')){
6600			$(this).closest('.center_block').find('.search_middle_block').removeClass('active');
6601			$(this).removeClass('open');
6602			$(this).closest('.center_block').find('.search_middle_block').find('.noborder').hide();
6603		}else{
6604			setTimeout(function(){
6605				th.closest('.center_block').find('.search_middle_block').find('.noborder').show();
6606			},100);
6607			$(this).closest('.center_block').find('.search_middle_block').addClass('active');
6608			$(this).addClass('open');
6609		}
6610	})
6611
6612	$(document).on('click', '.no_goods .button', function(){
6613		$('.bx_filter .smartfilter .bx_filter_search_reset').trigger('click');
6614	});
6615
6616	$(document).on('click', '.js-load-link', function(e){
6617		AjaxClickLink(e)
6618	})
6619
6620	$(document).on('click', '.svg-inline-bottom_nav-icon', function(){
6621		$(this).next().trigger('click');
6622	})
6623	$(document).on('click', '.ajax_load_btn', function(){
6624		var
6625			_this = $(this),
6626			url = _this.closest('.container').find('.module-pagination .flex-direction-nav .flex-next').attr('href'),
6627			th = _this.find('.more_text_ajax'),
6628			bottom_nav = _this.closest('.bottom_nav'),
6629			mobileBottomNav = bottom_nav.hasClass('mobile_slider'),
6630			bLoadingState = _this.closest('.animate-load-state').length;
6631
6632		if(!th.hasClass('loading'))
6633		{
6634			th.addClass('loading');
6635			if(mobileBottomNav) {
6636				var icon = bottom_nav.find('.svg-inline-bottom_nav-icon');
6637				icon.css('display', 'none');
6638			}
6639			if(bLoadingState)
6640				_this.addClass('loadings');
6641
6642			var objUrl = parseUrlQuery(),
6643				add_url = ''
6644				obGetData = {"ajax_get": "Y", "AJAX_REQUEST": "Y"};
6645
6646			if(_this.closest('.wrapper_inner.front').length) //index page
6647			{
6648				var class_block = th.closest('.drag-block').data('class').replace('_drag', '');
6649				class_block = class_block.replace(/\s/g, '');
6650				obGetData.BLOCK = class_block;
6651			}
6652
6653			if(_this.closest('.tab').length) //tabs block
6654			{
6655				var filter = th.closest('.tab').data('filter');
6656				obGetData.GLOBAL_FILTER = filter;
6657				url = _this.closest('.bottom_nav').find('.module-pagination .flex-direction-nav .flex-next').attr('href');
6658			}
6659
6660
6661			if(_this.closest('.content_linked_goods').length) //linked_goods block in content
6662			{
6663				var filterSections = th.closest('.content_linked_goods').attr('data-sections-ids');
6664				obGetData.ajax_section_id = decodeURIComponent(filterSections);
6665
6666				url = _this.closest('.bottom_nav').find('.module-pagination .flex-direction-nav .flex-next').attr('href');
6667			}
6668
6669			if('clear_cache' in objUrl)
6670			{
6671				if(objUrl.clear_cache == 'Y')
6672					add_url = '&clear_cache=Y';
6673			}
6674			if(_this.hasClass('ajax'))
6675				obGetData.ajax = 'y';
6676
6677			if(th.closest('.goods-block.ajax_load'))
6678				obGetData.bitrix_include_areas = 'N';
6679			$.ajax({
6680				url: url+add_url,
6681				data: obGetData,
6682				success: function(html) {
6683					pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this);
6684				},
6685				error: function(html) {
6686					pasteAjaxPagination(html.responseText, th, bottom_nav, bLoadingState, _this);
6687				},
6688			})
6689		}
6690	})
6691
6692	function pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this) {
6693		var mobileBottomClicked = bottom_nav.hasClass('mobile_slider');
6694		var hasMobileBottomNav = $(html).find('.bottom_nav.mobile_slider');
6695		var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find('.bottom_nav');
6696		var bottomNavHtml = bottomNav.html();
6697		var bottomNavScrollClass = bottomNav.data('scroll-class');
6698		var hasBottomNav = $(html).find('.ajax_load_btn').length;
6699
6700		if(th.closest('.ajax_load').length && !mobileBottomClicked)
6701		{
6702			th.removeClass('loading');
6703			if(th.closest('.ajax_load').find('.js_append').length)
6704			{
6705				if(_this.closest('.catalog_in_content').length){
6706					th.closest('.ajax_load').find('.js_append').append($('.inner_wrapper .js_wrapper_items>', html));//need for brands & landings
6707				}else{
6708					th.closest('.ajax_load').find('.js_append').append(html);
6709				}
6710				th.closest('.ajax_load').find('.bottom_nav_wrapper').remove();
6711			}
6712			else
6713			{
6714				if($('.display_list').length)
6715				{
6716					$('.display_list').append(html);
6717					th.closest('.display_list').find('.bottom_nav_wrapper').remove();
6718
6719				}else if($('.block_list').length)
6720				{
6721					$('.block_list').append(html);
6722					touchItemBlock('.catalog_item a');
6723					th.closest('.block_list').find('.bottom_nav_wrapper').remove();
6724				}else if($('.module_products_list').length)
6725				{
6726					$('.module_products_list > tbody').append(html);
6727					th.closest('.module_products_list > tbody').find('.bottom_nav_wrapper').remove();
6728				}
6729
6730			}
6731
6732
6733			setStatusButton();
6734			checkLinkedArticles();
6735
6736			var eventdata = {action:'ajaxContentLoadedTab'};
6737			BX.onCustomEvent('onAjaxSuccess', [eventdata]);
6738			_this.closest('.bottom_nav').html(bottomNavHtml);
6739		}
6740		else
6741		{
6742			var eventdata = {action:'ajaxContentLoaded'};
6743
6744			if($('.banners-small.front').length)
6745			{
6746				$('.banners-small .items.row').append(html);
6747				$('.bottom_nav').html($('.banners-small .items.row .bottom_nav').html());
6748				$('.banners-small .items.row .bottom_nav').remove();
6749				if(hasBottomNav) {
6750					$('.banners-small .items.row').addClass('has-bottom-nav');
6751				} else {
6752					$('.banners-small .items.row').removeClass('has-bottom-nav');
6753				}
6754			}
6755			else
6756			{
6757				if(bottom_nav.data('append') !== undefined && bottom_nav.data('parent') !== undefined)
6758				{
6759					var target = html;
6760					if(bottom_nav.data('target') !== undefined) {
6761						target = $(html).find(bottom_nav.data('target'));
6762					}
6763					if(mobileBottomClicked || hasMobileBottomNav.length) {
6764						var mobileSliderNav = th.closest(bottom_nav.data('parent')).find('.bottom_nav.mobile_slider');
6765						if(mobileSliderNav.length) {
6766							mobileSliderNav.before(target);
6767						} else {
6768							bottom_nav.before(target);
6769						}
6770					} else {
6771						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).append(target);
6772					}
6773					th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).find('.bottom_nav_wrapper').remove();
6774
6775					if (hasBottomNav) {
6776						if (bottomNavScrollClass !== undefined) {
6777							th.closest(bottom_nav.data('parent')).find(bottomNavScrollClass).addClass('has-bottom-nav');
6778						}
6779						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).addClass('has-bottom-nav');						
6780					} else {
6781						if (bottomNavScrollClass !== undefined) {
6782							th.closest(bottom_nav.data('parent')).find(bottomNavScrollClass).removeClass('has-bottom-nav');
6783						}
6784						th.closest(bottom_nav.data('parent')).find(bottom_nav.data('append')).removeClass('has-bottom-nav');
6785					}
6786
6787					bottom_nav = th.closest(bottom_nav.data('parent')).find('.bottom_nav');
6788					bottom_nav.html(bottomNavHtml);
6789					var icon = bottom_nav.find('.svg-inline-bottom_nav-icon');
6790					icon.css('display', '');
6791
6792					eventdata.container = th.closest(bottom_nav.data('parent'));
6793				}
6794				else
6795				{
6796					if(th.closest('.item-views').find('.items').length)
6797					{
6798						th.closest('.item-views').find('.items').append(html);
6799					}
6800					else
6801					{
6802						$(html).insertBefore($('.blog .bottom_nav'));
6803					}
6804
6805					bottom_nav.html($('.bottom_nav:hidden').html());
6806					if(hasBottomNav) {
6807						th.closest('.item-views').find('.items').addClass('has-bottom-nav');
6808					} else {
6809						th.closest('.item-views').find('.items').removeClass('has-bottom-nav');
6810					}
6811					_this.closest('.item-views').find('.bottom_nav:hidden').remove();
6812				}
6813			}
6814
6815			eventdata.content = html;
6816			eventdata.container = th;
6817			BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
6818
6819			setTimeout(function(){
6820				$('.banners-small .item.normal-block').sliceHeight({resize: false});
6821				if($('.item.slice-item').length)
6822				{
6823					$('.item.slice-item .title').sliceHeight({resize: false});
6824					$('.item.slice-item').sliceHeight({resize: false});
6825				}
6826				th.removeClass('loading');
6827				if(bLoadingState)
6828					_this.removeClass('loadings');
6829			}, 100);
6830		}
6831		initCountdown();
6832	}
6833
6834	// form rating
6835	$(document).on('mouseenter', '.form .votes_block.with-text .item-rating', function(){
6836		var $this = $(this),
6837			index = $this.index(),
6838			ratingValue = $this.data('rating_value'),
6839			ratingMessage = $this.data('message');
6840
6841		$(this).addClass('filed')
6842		$this.siblings().each(function(){
6843			if($(this).index() <= index)
6844				$(this).addClass('filed')
6845			else
6846				$(this).removeClass('filed')
6847		});
6848		$this.closest('.votes_block').find('.rating_message').text(ratingMessage);
6849	});
6850
6851	$(document).on('mouseleave', '.form .votes_block.with-text', function(){
6852		var $this = $(this),
6853			index = $this.data('rating'),
6854			ratingMessage = $this.closest('.votes_block').find('.rating_message').data('message');
6855
6856		$this.find('.item-rating').each(function(){
6857			if($(this).index() < index && index !== undefined)
6858				$(this).addClass('filed')
6859			else
6860				$(this).removeClass('filed')
6861		});
6862		$this.closest('.votes_block').find('.rating_message').text(ratingMessage);
6863	});
6864
6865	$(document).on('click', '.form .votes_block.with-text .item-rating', function(){
6866		var $this = $(this),
6867			rating = $this.closest('.votes_block').data('rating'),
6868			index = $this.index() + 1,
6869			ratingMessage = $this.data('message');
6870
6871		$this.closest('.votes_block').data('rating', index);
6872		if($this.closest('.form-control').find('input[name=RATING]').length){
6873			$this.closest('.form-control').find('input[name=RATING]').val(index);
6874		}
6875		else{
6876			$this.closest('.form-control').find('input[data-sid=RATING]').val(index);
6877		}
6878		$this.closest('.votes_block').find('.rating_message').data('message', ratingMessage);
6879	});
6880
6881	//set cookie for basket link click
6882	$(document).on('click', '.bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]', function(e){
6883		$.removeCookie('click_basket', {path: '/'});
6884		$.cookie('click_basket', 'Y', {path: '/'});
6885	})
6886
6887	$(document).on('click', '.bx_compare .tabs-head li', function(){
6888		var url=$(this).find('.sortbutton').data('href');
6889		BX.showWait(BX("bx_catalog_compare_block"));
6890		$.ajax({
6891			url: url,
6892			data: {'ajax_action': 'Y'},
6893			success: function(html){
6894				history.pushState(null, null, url);
6895				$('#bx_catalog_compare_block').html(html);
6896				BX.closeWait();
6897			}
6898		})
6899	})
6900	var hoveredTrs;
6901	$(document).on({
6902		mouseover: function(e){
6903			var _ = $(this);
6904			var tbodyIndex = _.closest('tbody').index()+1; //+1 for nth-child
6905			var trIndex = _.index()+1; // +1 for nth-child
6906			hoveredTrs = $(e.delegateTarget).find('.data_table_props')
6907				.children(':nth-child('+tbodyIndex+')')
6908				.children(':nth-child('+trIndex+')').addClass('hovered');
6909		},
6910		mouseleave: function(e){
6911			if(hoveredTrs)
6912				hoveredTrs.removeClass('hovered');
6913		}
6914	}, '.bx_compare .data_table_props tbody>tr');
6915	$(document).on('click', '.fancy_offer', function(e){
6916		e.preventDefault();
6917		var arPict=[], index = 0;
6918		$(this).closest('.item_slider').find('.sliders .slides_block li').each(function(){
6919			var obImg = {};
6920			obImg = {
6921				'title': $(this).find('img').attr('alt'),
6922				'href': $(this).data('big')
6923			}
6924			if($(this).hasClass('current')){
6925				index = $(this).index();
6926			}
6927			arPict.push(obImg);
6928		})
6929		$.fancybox(arPict, {
6930			index: index,
6931			openEffect  : 'fade',
6932			closeEffect : 'fade',
6933			nextEffect : 'fade',
6934			prevEffect : 'fade',
6935			type : 'image',
6936			tpl:{
6937				closeBtn : '<a title="'+BX.message('FANCY_CLOSE')+'" class="fancybox-item fancybox-close" href="javascript:;"></a>',
6938				next     : '<a title="'+BX.message('FANCY_NEXT')+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
6939				prev     : '<a title="'+BX.message('FANCY_PREV')+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
6940			},
6941		});
6942	})
6943
6944	/*tabs*/
6945	$(".tabs_section .tabs-head li").on("click", function(){
6946		if(!$(this).is(".current")){
6947			$(".tabs_section .tabs-head li").removeClass("current");
6948			$(this).addClass("current");
6949			$(".tabs_section ul.tabs_content li").removeClass("current");
6950			if($(this).attr("id") == "product_reviews_tab"){
6951				$(".shadow.common").hide(); $("#reviews_content").show();
6952			}
6953			else{
6954				$(".shadow.common").show();
6955				$("#reviews_content").hide();
6956				$(".tabs_section ul.tabs_content > li:eq("+$(this).index()+")").addClass("current");
6957			}
6958		}
6959	});
6960
6961	/*open first section slide*/
6962	setTimeout(function() {
6963		$('.jobs_wrapp .item:first .name tr').trigger('click');
6964	}, 300);
6965
6966	$('.choise').on('click', function(){
6967		var _this = $(this);
6968		if(typeof(_this.data('block')) != 'undefined')
6969		{
6970			if($(_this.data('block')).closest('.tab-pane').length)
6971			{
6972				$('.ordered-block a[href="#'+$(_this.data('block')).closest('.tab-pane').attr('id')+'"]').click();
6973				_this.data('block', '.ordered-block');
6974				$(_this.data('block')).data('offset', -100);
6975			}
6976			scrollToBlock(_this.data('block'));
6977		}
6978	})
6979
6980	$(document).on('click', '.buy_block .slide_offer', function(){
6981		scroll_block($('.js-offers-scroll'));
6982	});
6983	$('.share  > .share_wrapp .text').on('click', function(){
6984		var block = $(this).parent().find('.shares');
6985		if(!block.is(':visible') && !$(this).closest('.share.top').length)
6986			$('#content').css('z-index',3);
6987		block.fadeToggle(100,function(){
6988			if(!block.is(':visible'))
6989				$('#content').css('z-index',2);
6990		});
6991	})
6992	$('html, body').on('mousedown', function(e) {
6993		if(typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0)
6994		{
6995			e.stopPropagation();
6996			$('div.shares').fadeOut(100, function(){
6997				$('#content').css('z-index',2);
6998				$('.price_txt .share_wrapp').removeClass('opened');
6999			});
7000			$('.search_middle_block').removeClass('active_wide');
7001		}
7002	})
7003	$('.share_wrapp').find('*').on('mousedown', function(e) {
7004		e.stopPropagation();
7005	});
7006
7007	$('.price_txt .share_wrapp .text').click(function(){
7008		$(this).parent().toggleClass('opened');
7009		$(this).parent().find('.shares').fadeToggle();
7010	})
7011
7012	$(document).on('click', '.reviews-collapse-link', function(){
7013		$('.reviews-reply-form').slideToggle();
7014	})
7015
7016	/* accordion action*/
7017	$('.panel-collapse').on('hidden.bs.collapse', function(){
7018		$(this).parent().toggleClass('opened');
7019	})
7020	$('.panel-collapse').on('show.bs.collapse', function(){
7021		$(this).parent().toggleClass('opened');
7022	})
7023
7024	/* accordion */
7025	$('.accordion-head').on('click', function(e){
7026		e.preventDefault();
7027		if(!$(this).next().hasClass('collapsing')){
7028			$(this).toggleClass('accordion-open');
7029			$(this).toggleClass('accordion-close');
7030		}
7031	});
7032
7033	/* progress bar */
7034	$('[data-appear-progress-animation]').each(function(){
7035		var $this = $(this);
7036		$this.appear(function(){
7037			var delay = ($this.attr('data-appear-animation-delay') ? $this.attr('data-appear-animation-delay') : 1);
7038			if( delay > 1 )
7039				$this.css('animation-delay', delay + 'ms');
7040			$this.addClass($this.attr('data-appear-animation'));
7041
7042			setTimeout(function(){
7043				$this.animate({
7044					width: $this.attr('data-appear-progress-animation')
7045				}, 1500, 'easeOutQuad', function() {
7046					$this.find('.progress-bar-tooltip').animate({
7047						opacity: 1
7048					}, 500, 'easeOutQuad');
7049				});
7050			}, delay);
7051		}, {accX: 0, accY: -50});
7052	});
7053
7054	initCountdown();
7055
7056	/* portfolio item */
7057	if($('.item.animated-block').length)
7058	{
7059		$('.item.animated-block').appear(function(){
7060			var $this = $(this);
7061
7062			$this.addClass($this.data('animation')).addClass('visible');
7063
7064		}, {accX: 0, accY: 150})
7065	}
7066
7067	/* flexslider appear */
7068	if($('.appear-block').length)
7069	{
7070		$('.appear-block').appear(function(){
7071			var $this = $(this);
7072			$this.removeClass('appear-block');
7073
7074			CheckFlexSlider();
7075			InitFlexSlider();
7076			InitOwlSlider();
7077		}, {accX: 0, accY: 150})
7078	}
7079
7080	/* js-load-block appear */
7081	if($('.js-load-block').length)
7082	{
7083		var objUrl = parseUrlQuery();
7084		var bClearCache = false;
7085		if('clear_cache' in objUrl){
7086			if(objUrl.clear_cache == 'Y'){
7087				bClearCache = true;
7088			}
7089		}
7090
7091		var items = [];
7092		var bIdle = true;
7093		var insertNextBlockContent = function(){
7094			if(bIdle){
7095				if(items.length){
7096					bIdle = false;
7097					var item = items.pop();
7098
7099					item.content = $.trim(item.content);
7100
7101					// remove /bitrix/js/main/core/core_window.js if it was loaded already
7102					if(
7103						item.content.indexOf('/bitrix/js/main/core/core_window.') !== -1 &&
7104						BX.WindowManager
7105					){
7106						item.content = item.content.replace(/<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm, '');
7107					}
7108
7109					// remove /bitrix/js/currency/core_currency.js if it was loaded already
7110					if(
7111						item.content.indexOf('/bitrix/js/currency/core_currency.') !== -1 &&
7112						typeof BX.Currency === 'object' &&
7113						BX.Currency.defaultFormat
7114					){
7115						item.content = item.content.replace(/<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm, '');
7116					}
7117
7118					// remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already
7119					if(
7120						item.content.indexOf('/bitrix/js/main/pageobject/pageobject.') !== -1 &&
7121						BX.PageObject
7122					){
7123						item.content = item.content.replace(/<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm, '');
7124					}
7125
7126					// remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need
7127					if(
7128						item.content.indexOf('/bitrix/js/main/polyfill/promise/js/promise.') !== -1 &&
7129						typeof window.Promise !== 'undefined' &&
7130						window.Promise.toString().indexOf('[native code]') !== -1
7131					){
7132						item.content = item.content.replace(/<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm, '');
7133					}
7134
7135					var ob = BX.processHTML(item.content);
7136
7137					// stop ya metrika webvisor DOM indexer
7138					pauseYmObserver();
7139
7140					item.block.removeAttr('data-file').removeClass('loader_circle');
7141
7142					if(item.block.data('appendTo')){
7143						item.block.find(item.block.data('appendTo'))[0].innerHTML = ob.HTML;
7144					}
7145					else{
7146						if(item.block.find('> div[id*="bx_incl_"]').length){
7147							item.block.find('> div[id*="bx_incl_"]')[0].innerHTML = ob.HTML;
7148						}
7149						else{
7150							item.block[0].innerHTML = ob.HTML;
7151						}
7152					}
7153
7154					BX.ajax.processScripts(ob.SCRIPT);
7155
7156					var eventdata = {action:'jsLoadBlock'};
7157					BX.onCustomEvent('onCompleteAction', [eventdata, item.block]);
7158
7159					// resume ya metrika webvisor
7160					// 500ms
7161					setTimeout(resumeYmObserver, 500);
7162
7163					bIdle = true;
7164					insertNextBlockContent();
7165				}
7166			}
7167		}
7168
7169		$('.js-load-block').appear(function(){
7170			var $this = $(this);
7171
7172			if($this.data('file')){
7173				var add_url = bClearCache ? '?clear_cache=Y' : '';
7174				if($this.data('block')){
7175					add_url += (bClearCache ? '&' : '?') + 'BLOCK='+$this.data('block');
7176				}
7177
7178				// get content
7179				$.get($this.data('file') + add_url)
7180				.done(function(html){
7181					items.push({
7182						block: $this,
7183						content: html,
7184					});
7185
7186					if(items.length == 1){
7187						setTimeout(insertNextBlockContent, 100);
7188					}
7189				});
7190			}
7191		}, {accX: 0, accY: isMobile ? 300 : 150})
7192	}
7193
7194	/*show ajax store amount product*/
7195	$(document).on('click', '.js-show-info-block', function(e){
7196		if (window.matchMedia('(max-width: 500px)').matches) {
7197			return
7198		}
7199		var $this = $(this);
7200		e.stopPropagation();
7201		$('.js-info-block').fadeOut();
7202
7203		if($this.hasClass('opened'))
7204		{
7205			$('.js-show-info-block').removeClass('opened');
7206		}
7207		else
7208		{
7209			$('.js-show-info-block').removeClass('opened');
7210			$this.addClass('opened');
7211		}
7212
7213		if(!$this.siblings('.js-info-block').length)
7214		{
7215			var dataFields = $this.closest('.sa_block').data('fields');
7216			dataFields = dataFields == 'null' || dataFields === undefined ? '' : dataFields;
7217			var dataUserFields = $this.closest('.sa_block').data('user-fields');
7218			dataUserFields = dataUserFields == 'null' || dataUserFields === undefined ? '' : dataUserFields;
7219			var objUrl = parseUrlQuery(),
7220				add_url = '';
7221			if('clear_cache' in objUrl)
7222			{
7223				if(objUrl.clear_cache == 'Y')
7224					add_url += '?clear_cache=Y';
7225			}
7226
7227			var obPostParams = {
7228				'ajax': 'Y',
7229				'ELEMENT_ID': $this.data('id'),
7230				'FIELDS': dataFields,
7231				'USER_FIELDS': dataUserFields,
7232				'STORES': $this.closest('.sa_block').data('stores') || ''
7233			};
7234
7235			$this.addClass('loadings');
7236			$.post(arAsproOptions['SITE_DIR']+'ajax/productStoreAmountCompact.php'+add_url, obPostParams)
7237				.done(function(html){
7238					$this.removeClass('loadings');
7239					$(html).appendTo($this.closest('.sa_block'));
7240
7241					$this.siblings('.js-info-block').find('.more-btn a').attr('href', $this.closest('.item_info').find('a').attr('href'));
7242					InitScrollBar();
7243
7244					var eventdata = {action:'jsShowStores'};
7245					BX.onCustomEvent('onCompleteAction', [eventdata, $this]);
7246				})
7247		}
7248		else
7249		{
7250			if($this.hasClass('opened'))
7251			{
7252				$this.siblings('.js-info-block').find('.more-btn a').attr('href', $this.closest('.item_info').find('a').attr('href'));
7253				$this.siblings('.js-info-block').fadeIn();
7254				InitScrollBar();
7255			}
7256			else
7257			{
7258				$this.siblings('.js-info-block').fadeOut();
7259			}
7260		}
7261	})
7262	$(document).on('click', '.js-info-block .svg-inline-close', function(){
7263		$('.js-show-info-block').removeClass('opened');
7264		$(this).closest('.js-info-block').fadeOut();
7265	})
7266	/**/
7267
7268	/*adaptive menu start*/
7269	$('.menu.adaptive').on('click', function(){
7270		$(this).toggleClass('opened');
7271		if($(this).hasClass('opened')){
7272			$('.mobile_menu').toggleClass('opened').slideDown();
7273		}else{
7274			$('.mobile_menu').toggleClass('opened').slideUp();
7275		}
7276	});
7277	$('.mobile_menu .has-child >a').on('click', function(e){
7278		var parentLi=$(this).parent();
7279		e.preventDefault();
7280		parentLi.toggleClass('opened');
7281		parentLi.find('.dropdown').slideToggle();
7282	})
7283
7284	$('.mobile_menu .search-input-div input').on('keyup', function(e) {
7285		var inputValue = $(this).val();
7286		$('.center_block .stitle_form input').val(inputValue);
7287		if(e.keyCode == 13){
7288			$('.center_block .stitle_form form').submit();
7289		}
7290	});
7291
7292	$('.center_block .stitle_form input').on('keyup', function(e) {
7293		var inputValue = $(this).val();
7294		$('.mobile_menu .search-input-div input').val(inputValue);
7295		if(e.keyCode == 13){
7296			$('.center_block .stitle_form form').submit();
7297		}
7298	});
7299
7300	$('.mobile_menu .search-button-div button').on('click', function(e) {
7301		e.preventDefault();
7302		var inputValue = $(this).parents().find('input').val();
7303		$('.center_block .stitle_form input').val(inputValue);
7304		$('.center_block .stitle_form form').submit();
7305	});
7306	/*adaptive menu end*/
7307
7308	$(document).on('click', '.mega-menu .dropdown-menu', function(e){
7309		e.stopPropagation()
7310	});
7311
7312	$(document).on('click', '.mega-menu .dropdown-toggle.more-items', function(e){
7313		e.preventDefault();
7314	});
7315
7316	$(document).on('mouseenter', '.table-menu .dropdown,.table-menu .dropdown-submenu,.table-menu .dropdown-toggle', function() {
7317		// setTimeout(
7318		// 	function() {
7319		// 		CheckTopVisibleMenu();
7320		// 	}, 275);
7321
7322	});
7323	$(document).on('mouseenter', '#headerfixed .table-menu .dropdown-menu .dropdown-submenu', function() {
7324		setTimeout(
7325			function() {
7326				CheckTopVisibleMenu();
7327			}, 275);
7328	});
7329
7330	$('.mega-menu .search-item .search-icon, .menu-row #title-search .fa-close').on('click', function(e) {
7331		e.preventDefault();
7332		$('.menu-row #title-search').toggleClass('hide');
7333	});
7334
7335	$('.mega-menu ul.nav .search input').on('keyup', function(e) {
7336		var inputValue = $(this).val();
7337		$('.menu-row > .search input').val(inputValue);
7338		if(e.keyCode == 13){
7339			$('.menu-row > .search form').submit();
7340		}
7341	});
7342
7343	$('.menu-row > .search input').on('keyup', function(e) {
7344		var inputValue = $(this).val();
7345		$('.mega-menu ul.nav .search input').val(inputValue);
7346		if(e.keyCode == 13){
7347			$('.menu-row > .search form').submit();
7348		}
7349	});
7350
7351	$('.mega-menu ul.nav .search button').on('click', function(e) {
7352		e.preventDefault();
7353		var inputValue = $(this).parents('.search').find('input').val();
7354		$('.menu-and-search .search input').val(inputValue);
7355		$('.menu-row > .search form').submit();
7356	});
7357
7358	$('.btn.btn-add').on('click', function(){
7359		$.ajax({
7360			type:"GET",
7361			url:arAsproOptions['SITE_DIR']+"ajax/clearBasket.php",
7362			success: function(data){
7363			}
7364		});
7365	})
7366
7367	$('.sort_display a').on('click', function(){
7368		$(this).siblings().removeClass('current');
7369		$(this).addClass('current');
7370	})
7371
7372	/*detail order show payments*/
7373	$('.sale-order-detail-payment-options-methods-info-change-link').on('click', function(){
7374		$(this).closest('.sale-order-detail-payment-options-methods-info').addClass('opened').siblings().addClass('opened');
7375	})
7376
7377	/*expand/hide filter values*/
7378	$(document).on('click', '.expand_block', function(){
7379		togglePropBlock($(this));
7380	})
7381
7382	/*touch event*/
7383	document.addEventListener('touchend', function(event) {
7384		if(!$(event.target).closest('.menu-item').length && !$(event.target).hasClass('menu-item')){
7385			$('.menu-row .dropdown-menu').css({'display':'none','opacity':0});
7386			$('.menu-item').removeClass('hover');
7387			$('.bx-breadcrumb-item.drop').removeClass('hover');
7388		}
7389		if(!$(event.target).closest('.menu.topest').length){
7390			$('.menu.topest').css({'overflow': 'hidden'});
7391			$('.menu.topest > li').removeClass('hover');
7392		}
7393		if(!$(event.target).closest('.full.has-child').length){
7394			$('.menu_top_block.catalog_block li').removeClass('hover');
7395		}
7396		if(!$(event.target).closest('.basket_block').length){
7397			$('.basket_block .link').removeClass('hover');
7398			$('.basket_block .basket_popup_wrapp').slideUp();
7399		}
7400		if(!$(event.target).closest('.catalog_item').length){
7401			var tabsContentUnhoverHover = $('.tab:visible').attr('data-unhover') * 1;
7402			$('.tab:visible').stop().animate({'height': tabsContentUnhoverHover}, 100);
7403			$('.tab:visible').find('.catalog_item').removeClass('hover');
7404			$('.tab:visible').find('.catalog_item .buttons_block').stop().fadeOut(233);
7405			if($('.catalog_block').length){
7406				$('.catalog_block').find('.catalog_item_wrapp').removeClass('hover');
7407				$('.catalog_block').find('.catalog_item').removeClass('hover');
7408			}
7409		}
7410		//togglePropBlock($(event.target));
7411
7412	}, false);
7413
7414
7415	touchMenu('.menu-row .menu-item');
7416	touchTopMenu('.menu.topest li');
7417	touchLeftMenu('.menu_top_block:not(.in-search) li.full');
7418	touchBreadcrumbs('.bx-breadcrumb-item.drop');
7419
7420	$(document).on('keyup', '.coupon .input_coupon input', function(){
7421		if($(this).val().length){
7422			$(this).removeClass('error');
7423			$(this).closest('.input_coupon').find('.error').remove();
7424		}else{
7425			$(this).addClass('error');
7426			$("<label class='error'>"+BX.message("INPUT_COUPON")+"</label>").insertBefore($(this));
7427		}
7428	})
7429	showPhoneMask('input[autocomplete=tel]');
7430	BX.addCustomEvent(window, "onAjaxSuccessFilter", function(e){
7431		setBasketStatusBtn();
7432		checkLinkedArticles();
7433	});
7434
7435	$(document).on('click', '.block_container .items .item.initied', function(){
7436		var _this = $(this),
7437			itemID = _this.data('id'),
7438			animationTime = 200;
7439
7440		_this.closest('.items').fadeOut(animationTime, function(){
7441			_this.closest('.block_container').find('.detail_items').fadeIn(animationTime);
7442			_this.closest('.block_container').find('.detail_items .item[data-id='+itemID+']').fadeIn(animationTime);
7443
7444			var arCoordinates = _this.data('coordinates').split(',');
7445
7446			if(typeof map !== 'undefined')
7447				map.setCenter([arCoordinates[0], arCoordinates[1]], 15);
7448		});
7449	});
7450
7451	$(document).on('click', '.block_container .top-close', function(){
7452		var _this = $(this).closest('.block_container').find('.detail_items .item:visible'),
7453			animationTime = 200;
7454		_this.fadeOut(animationTime);
7455		_this.closest('.block_container').find('.detail_items').fadeOut(animationTime, function(){
7456			_this.closest('.block_container').find('.items').fadeIn(animationTime);
7457
7458			if(typeof map !== 'undefined' && typeof clusterer !== 'undefined')
7459			{
7460				map.setBounds(clusterer.getBounds(), {
7461					zoomMargin: 40,
7462					// checkZoomRange: true
7463				});
7464			}
7465		});
7466	});
7467
7468	BX.addCustomEvent(window, "onAjaxSuccess", function(e){
7469		if(e != 'OK')
7470		{
7471			initSelects(document);
7472			InitOrderCustom();
7473			showPhoneMask('input[autocomplete=tel]');
7474
7475			/*scroll in mobile for filter*/
7476			if($('.bx_filter').length){
7477				if(window.matchMedia('(min-width: 768px)').matches){
7478					// min-width: 768px
7479					$('.bx_filter .scrollbar').removeClass('mobile-scroll');
7480					$('.bx_filter .srollbar-custom').removeClass('mobile-scroll');
7481					$('.bx_filter .bx_filter_section form .bx_filter_parameters').removeClass('mobile-scroll');
7482					InitScrollBar();
7483					InitCustomScrollBar();
7484				}
7485				else{
7486					// max-width: 767px
7487					$('.bx_filter .scrollbar').addClass('mobile-scroll').removeClass('scroll-init');
7488					$('.bx_filter .srollbar-custom').addClass('mobile-scroll').removeClass('scroll-init');
7489					$('.bx_filter .bx_filter_section form .bx_filter_parameters').addClass('mobile-scroll').removeClass('scroll-init');
7490					if($('.bx_filter .mobile-scroll.scrollbar').length)
7491						$('.bx_filter .mobile-scroll.scrollbar').mCustomScrollbar("destroy");
7492					if($('.bx_filter .mobile-scroll.srollbar-custom').length)
7493						$('.bx_filter .mobile-scroll.srollbar-custom').mCustomScrollbar("destroy");
7494				}
7495			}
7496			/*end*/
7497
7498			if ($('.catalog_detail').length && !$('.fast_view_frame').length) {
7499				$('.bx_filter').remove();
7500				InitFlexSlider();
7501				InitOwlSlider();
7502			}
7503
7504			if (arAsproOptions["PAGES"]["CATALOG_PAGE"]) {
7505				initCountdown();
7506
7507				if(typeof window['stickySidebar'] !== 'undefined')
7508					window['stickySidebar'].updateSticky();
7509			}
7510
7511			if (arAsproOptions["PAGES"]["ORDER_PAGE"]) {
7512				orderActions(e);
7513			}
7514
7515			if (e && typeof e === 'object' && 'action' in e && e.action === 'ajaxContentLoadedTab') {
7516				lazyLoadPagenBlock();
7517			}
7518
7519			InitStickySideBar();
7520		}
7521	});
7522
7523	//event for default basket quantity change
7524	BX.addCustomEvent(window, "OnBasketChange", function(e){
7525		if(arAsproOptions["PAGES"]["BASKET_PAGE"])
7526		{
7527			var summ = 0,
7528				title = '';
7529
7530			if(typeof BX.Sale !== "undefined")
7531			{
7532				if(typeof BX.Sale.BasketComponent !== "undefined")
7533				{
7534					summ = BX.Sale.BasketComponent.result.allSum;
7535					title = BX.message('JS_BASKET_COUNT_TITLE').replace('SUMM', summ);
7536				}
7537			}
7538			else
7539			{
7540				summ = $('#allSum_FORMATED').html().replace(/&nbsp;/g, ' ');
7541				title = BX.message('JS_BASKET_COUNT_TITLE').replace('SUMM', summ);
7542			}
7543
7544			if($('.js-basket-block .wrap .prices').length)
7545				$('.js-basket-block .wrap .prices').html(summ);
7546			if($('a.basket-link.basket').length)
7547				$('a.basket-link.basket').attr('title', title);
7548			if($('.basket_fly .opener .basket_count').length)
7549				$('.basket_fly .opener .basket_count').attr('title', title);
7550
7551		}
7552	})
7553});
7554
7555if(!funcDefined('setBasketStatusBtn')){
7556	setBasketStatusBtn = function(type){
7557		var bSync = (typeof type !== undefined);
7558		if(typeof(arBasketAspro) !== 'undefined')
7559		{
7560			if('BASKET' in arBasketAspro) // basket items
7561			{
7562				if(arBasketAspro.BASKET)
7563				{
7564					for(var i in arBasketAspro.BASKET)
7565					{
7566						$('.to-cart[data-item='+i+']').hide();
7567						$('.counter_block[data-item='+i+']').closest('.counter_block_inner').hide();
7568						$('.counter_block[data-item='+i+']').hide();
7569						$('.in-cart[data-item='+i+']').show();
7570						$('.in-cart[data-item='+i+']').closest('.button_block').addClass('wide');
7571
7572						$('.wish_item.to[data-item='+i+']').show();
7573						$('.wish_item.in[data-item='+i+']').hide();
7574
7575						if($('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .basket_item_add').length)
7576						{
7577							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .basket_item_add').addClass('added')
7578							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .basket_item_add').attr('title', $('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .basket_item_add').data('title2'))
7579						}
7580
7581
7582					}
7583				}
7584			}
7585
7586			if('DELAY' in arBasketAspro) // delay items
7587			{
7588				if(arBasketAspro.DELAY)
7589				{
7590					for(var i in arBasketAspro.DELAY)
7591					{
7592						$('.wish_item.to[data-item='+i+']').hide();
7593						$('.wish_item.in[data-item='+i+']').show();
7594						if ($('.wish_item[data-item='+i+']').find(".value.added").length)
7595						{
7596							//$('.wish_item[data-item='+i+']').addClass("added");
7597							$('.wish_item[data-item='+i+']').find(".value").hide();
7598							$('.wish_item[data-item='+i+']').find(".value.added").css('display','block');
7599						}
7600
7601						$('.in-cart[data-item='+i+']').hide();
7602						$('.to-cart[data-item='+i+']').show();
7603						$('.to-cart[data-item='+i+']').closest('.counter_wrapp').find('.counter_block_inner').show();
7604						$('.to-cart[data-item='+i+']').closest('.counter_wrapp').find('.counter_block').show();
7605						$('.to-cart[data-item='+i+']').closest('.button_block').removeClass('wide');
7606
7607						if($('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .wish_item_add').length)
7608						{
7609							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .wish_item_add').addClass('added')
7610							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .wish_item_add').attr('title', $('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .wish_item_add').data('title2'))
7611						}
7612					}
7613				}
7614			}
7615
7616			if('SUBSCRIBE' in arBasketAspro) // subscribe items
7617			{
7618				if(arBasketAspro.SUBSCRIBE)
7619				{
7620					for(var i in arBasketAspro.SUBSCRIBE)
7621					{
7622						$('.to-subscribe[data-item='+i+']').hide();
7623						$('.in-subscribe[data-item='+i+']').show();
7624					}
7625				}
7626			}
7627
7628			if('COMPARE' in arBasketAspro) // compare items
7629			{
7630				if(arBasketAspro.COMPARE)
7631				{
7632					for(var i in arBasketAspro.COMPARE)
7633					{
7634						$('.compare_item.to[data-item='+i+']').hide();
7635						$('.compare_item.in[data-item='+i+']').show();
7636						if ($('.compare_item[data-item='+i+']').find(".value.added").length)
7637						{
7638							//$('.compare_item[data-item='+i+']').addClass("added");
7639							$('.compare_item[data-item='+i+']').find(".value").hide();
7640							$('.compare_item[data-item='+i+']').find(".value.added").css('display','block');
7641						}
7642
7643						if($('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .compare_item_add').length)
7644						{
7645							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .compare_item_add').addClass('added')
7646							$('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .compare_item_add').attr('title', $('.banner_buttons.with_actions .wraps_buttons[data-id='+i+'] .compare_item_add').data('title2'))
7647						}
7648					}
7649				}
7650			}
7651		}
7652	}
7653}
7654
7655if(!funcDefined('togglePropBlock')){
7656	togglePropBlock=function(className){
7657		var all_props_block = className.closest('.bx_filter_parameters_box_container').find('.hidden_values');
7658		if(all_props_block.length && (className.hasClass('inner_text') || className.hasClass('expand_block')))
7659		{
7660			if(all_props_block.is(':visible'))
7661			{
7662				className.text(BX.message('FILTER_EXPAND_VALUES'));
7663				all_props_block.hide();
7664			}
7665			else
7666			{
7667				className.text(BX.message('FILTER_HIDE_VALUES'));
7668				all_props_block.show();
7669			}
7670		}
7671	}
7672}
7673
7674if(!funcDefined('showPhoneMask')){
7675	showPhoneMask=function(className){
7676		$(className).inputmask('mask', {'mask': arAsproOptions['THEME']['PHONE_MASK'], 'showMaskOnHover':false });
7677	}
7678}
7679
7680if(!funcDefined('getActualBasket')){
7681	getActualBasket=function(iblockID, type, sync){
7682		var data='';
7683		if(typeof iblockID !=="undefined" && iblockID){
7684			data={"iblockID":iblockID}
7685		}
7686		$.ajax({
7687			type:"GET",
7688			url:arAsproOptions['SITE_DIR']+"ajax/actualBasket.php",
7689			data:data,
7690			success: function(data){
7691				if(!$('.js_ajax').length)
7692					$('body').append('<div class="js_ajax"></div>');
7693				$('.js_ajax').html(data);
7694
7695				if(typeof sync !=="undefined"){
7696					setBasketStatusBtn(true);
7697				}
7698
7699				if(typeof(type) !== undefined)
7700				{
7701					var eventdata = {action:'loadActualBasket'+type};
7702					BX.onCustomEvent('onCompleteAction', [eventdata]);
7703				}
7704			}
7705		});
7706	}
7707}
7708
7709if(!funcDefined('reloadBasketCounters')){
7710	reloadBasketCounters=function(count, sync){
7711		var data='';
7712		if(count) {
7713			$('.basket-link.basket .count, .wraps_icon_block.basket .count .items > span').text(count);
7714		} else {
7715			$.ajax({
7716				type:"GET",
7717				url:arAsproOptions['SITE_DIR']+"ajax/actualBasket.php",
7718				data:data,
7719				success: function(data){
7720					if(!$('.js_ajax').length)
7721						$('body').append('<div class="js_ajax"></div>');
7722					$('.js_ajax').html(data);
7723
7724					$('.basket-link.basket .count, .wraps_icon_block.basket .count .items > span').text(Object.keys(arBasketAspro.BASKET).length);
7725					$('.basket-link.delay .count, .wraps_icon_block.delay .count .items > span').text(Object.keys(arBasketAspro.DELAY).length);
7726					$('.basket-link.compare .count, .wraps_icon_block.compare .count .items > span').text(Object.keys(arBasketAspro.COMPARE).length);
7727
7728					if(typeof sync !== 'undefined')
7729					{
7730						setBasketStatusBtn(true);
7731					}
7732				}
7733			});
7734		}
7735	}
7736}
7737
7738function touchMenu(selector){
7739	if(isMobile){
7740		if($(selector).length)
7741		{
7742			$(selector).each(function(){
7743				var th=$(this);
7744				th.on('touchend', function(e) {
7745					var _th = $(e.target).closest('.menu-item');
7746
7747					$('.menu.topest > li').removeClass('hover');
7748					$('.menu_top_block.catalog_block li').removeClass('hover');
7749					$('.bx-breadcrumb-item.drop').removeClass('hover');
7750
7751					if (_th.find('.dropdown-menu').length && !_th.hasClass('hover')) {
7752						e.preventDefault();
7753						e.stopPropagation();
7754						_th.siblings().removeClass('hover');
7755						_th.addClass('hover');
7756						$('.menu-row .dropdown-menu').css({'display':'none', 'opacity':0});
7757						if(_th.hasClass('menu-item'))
7758						{
7759							_th.closest('.dropdown-menu').css({'display':'block', 'opacity':1});
7760						}
7761						if(_th.find('> .wrap > .dropdown-menu'))
7762						{
7763							_th.find('> .wrap > .dropdown-menu').css({'display':'block', 'opacity':1});
7764						}
7765						else if(_th.find('> .dropdown-menu'))
7766						{
7767							_th.find('> .dropdown-menu').css({'display':'block', 'opacity':1});
7768						}
7769						CheckTopVisibleMenu();
7770					}
7771					else
7772					{
7773						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
7774						if(href && href !== 'undefined')
7775							location.href = href;
7776					}
7777				})
7778			})
7779		}
7780	}else{
7781		$(selector).off();
7782	}
7783}
7784
7785function touchTopMenu(selector){
7786	if(isMobile){
7787		if($(selector).length)
7788		{
7789			$(selector).each(function(){
7790				var th=$(this);
7791				th.on('touchend', function(e) {
7792					var _th = $(e.target).closest('li');
7793
7794					$('.menu-item').removeClass('hover');
7795					$('.menu_top_block.catalog_block li').removeClass('hover');
7796					$('.bx-breadcrumb-item.drop').removeClass('hover');
7797
7798					if (_th.hasClass('more') && !_th.hasClass('hover')) {
7799						e.preventDefault();
7800						e.stopPropagation();
7801						_th.siblings().removeClass('hover');
7802						_th.addClass('hover');
7803						$('.menu.topest').css({'overflow': 'visible'});
7804					}
7805					else
7806					{
7807						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
7808						if(href && href !== 'undefined')
7809							location.href = href;
7810					}
7811				})
7812			})
7813		}
7814	}else{
7815		$(selector).off();
7816	}
7817}
7818
7819function touchLeftMenu(selector){
7820	if(isMobile){
7821		if($(selector).length)
7822		{
7823			$(selector).each(function(){
7824				var th=$(this);
7825				th.on('touchend', function(e) {
7826					var _th = $(e.target).closest('li');
7827
7828					$('.menu-item').removeClass('hover');
7829					$('.bx-breadcrumb-item.drop').removeClass('hover');
7830					$('.menu.topest > li').removeClass('hover');
7831
7832					if (_th.hasClass('has-child') && !_th.hasClass('hover')) {
7833						e.preventDefault();
7834						e.stopPropagation();
7835						_th.siblings().removeClass('hover');
7836						_th.addClass('hover');
7837					}
7838					else
7839					{
7840						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
7841						if(href && href !== 'undefined')
7842							location.href = href;
7843					}
7844				})
7845			})
7846		}
7847	}else{
7848		$(selector).off();
7849	}
7850}
7851
7852function touchBreadcrumbs(selector){
7853	if(isMobile){
7854		if($(selector).length)
7855		{
7856			$(selector).each(function(){
7857				var th=$(this);
7858				th.on('touchend', function(e) {
7859					var _th = $(e.target).closest('.bx-breadcrumb-item');
7860
7861					$('.menu-item').removeClass('hover');
7862					$('.menu.topest > li').removeClass('hover');
7863					$('.menu_top_block.catalog_block li').removeClass('hover');
7864
7865					if(!_th.hasClass('hover')) {
7866						e.preventDefault();
7867						e.stopPropagation();
7868						_th.siblings().removeClass('hover');
7869						_th.addClass('hover');
7870					}
7871					else
7872					{
7873						_th.removeClass('hover');
7874						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'));
7875						if(href && href !== 'undefined')
7876							location.href = href;
7877					}
7878				})
7879			})
7880		}
7881	}else{
7882		$(selector).off();
7883	}
7884}
7885
7886function touchItemBlock(selector){
7887	/*if(isMobile){
7888		if($(selector).length)
7889		{
7890			$(selector).each(function(){
7891				var th=$(this),
7892					item=th.closest('.catalog_item');
7893				th.on('touchend', function(e) {
7894					if (!item.hasClass('hover')) {
7895						e.preventDefault();
7896						// e.stopPropagation();
7897						item.siblings().removeClass('hover');
7898						item.siblings().blur();
7899						item.closest('.catalog_block').find('.catalog_item').removeClass('hover');
7900						item.addClass('hover');
7901						item.addClass('touch');
7902
7903						var tabsContentHover = th.closest('.tab').attr('data-hover') * 1,
7904							tabsContentUnhoverHover = th.closest('.tab').attr('data-unhover') * 1;
7905
7906						th.closest('.tab').stop().animate({'height': tabsContentUnhoverHover}, 100);
7907						th.closest('.catalog_item').siblings().find('.buttons_block').stop().fadeOut(233)
7908
7909						th.closest('.tab').fadeTo(100, 1);
7910						th.closest('.tab').stop().css({'height': tabsContentHover});
7911						th.closest('.catalog_item').find('.buttons_block').fadeIn(450, 'easeOutCirc');
7912					}
7913				})
7914			})
7915		}
7916	}else{
7917		$(selector).off();
7918	}*/
7919}
7920function touchBasket(selector){
7921	if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){
7922		if($(window).outerWidth()>600){
7923			$(document).find(selector).on('touchend', function(e) {
7924				if ($(this).parent().find('.basket_popup_wrapp').length && !$(this).hasClass('hover')) {
7925					e.preventDefault();
7926					e.stopPropagation();
7927					$(this).addClass('hover');
7928					$(this).parent().find('.basket_popup_wrapp').slideDown();
7929				}
7930			})
7931		}else{
7932			$(selector).off();
7933		}
7934	}
7935}
7936
7937function showTotalSummItem(popup){
7938	//show total summ
7939	if(arAsproOptions["THEME"]["SHOW_TOTAL_SUMM_TYPE"] == "ALWAYS" && arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y")
7940	{
7941		var parent = 'body ';
7942		if(typeof popup  === 'string' && popup == 'Y')
7943			parent = '.popup ';
7944		$(parent+'.counter_wrapp .counter_block input.text').each(function(){
7945			var _th = $(this);
7946			if(_th.data('product'))
7947			{
7948				var obProduct = _th.data('product');
7949				if(typeof window[obProduct] == 'object')
7950					window[obProduct].setPriceAction('Y');
7951				else
7952					setPriceItem(_th.closest('.main_item_wrapper'), _th.val());
7953			}
7954			else
7955				setPriceItem(_th.closest('.main_item_wrapper'), _th.val());
7956		})
7957	}
7958}
7958
7959
7960function initFull(){
7961	initSelects(document);
7962	initHoverBlock(document);
7963	touchItemBlock('.catalog_item a');
7964	InitOrderCustom();
7965	showTotalSummItem();
7966	basketActions();
7967	orderActions();
7968
7969	checkMobileRegion();
7970}
7971
7972checkMobileRegion = function(){
7973	if($('.confirm_region').length)
7974	{
7975		if(!$('.top_mobile_region').length)
7976			$('<div class="top_mobile_region"><div class="confirm_wrapper"><div class="confirm_region"></div><div class="close_popup"></div></div></div>').insertBefore($('#mobileheader'));
7977		$('.top_mobile_region .confirm_region').html($('.confirm_region').html());
7978
7979		$('.top_mobile_region .close_popup').click(function(){
7980			$(this).remove();
7981			$('.confirm_region').remove();
7982		})
7983	}
7984}
7985if(!funcDefined('orderActions')){
7986	orderActions = function(e){
7987		if(arAsproOptions["PAGES"]["ORDER_PAGE"]){
7988			//phone
7989			if($('#bx-soa-order input[autocomplete=tel]').length){
7990				// get property phone
7991				for(var i = 0;i<BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties.length;++i){
7992					if(BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i].IS_PHONE == 'Y'){
7993						var arPropertyPhone = BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i];
7994					}
7995				}
7996
7997				// validate input type=tel
7998				if(typeof(BX.Sale.OrderAjaxComponent) !== 'undefined' && typeof(BX.Sale.OrderAjaxComponent) === 'object' && typeof(arPropertyPhone) == 'object' && arPropertyPhone){
7999					BX.Sale.OrderAjaxComponent.validatePhone = function(input, arProperty, fieldName)
8000					{
8001						if (!input || !arProperty)
8002							return [];
8003
8004						var value = input.value,
8005							errors = [],
8006							name = BX.util.htmlspecialchars(arProperty.NAME),
8007							field = BX.message('SOA_FIELD') + ' "' + name + '"',
8008							re;
8009
8010						if (arProperty.REQUIRED == 'Y' && value.length == 0){
8011							errors.push(field + ' ' + BX.message('SOA_REQUIRED'));
8012						}
8013
8014						if(arProperty.IS_PHONE == 'Y' && value.length > 0){
8015							function regexpPhone(value, element, regexp){
8016								var re = new RegExp( regexp );
8017								return re.test(value);
8018							}
8019
8020							var validPhone = regexpPhone($(input).val(), $(input), arAsproOptions['THEME']['VALIDATE_PHONE_MASK']);
8021
8022							if(!validPhone){
8023								errors.push(field + ' ' +BX.message('JS_FORMAT_ORDER'));
8024							}
8025						}
8026
8027						return errors;
8028					}
8029
8030					BX.Sale.OrderAjaxComponent.getValidationDataPhone = function(arProperty, propContainer){
8031						var data = {}, inputs;
8032						switch (arProperty.TYPE)
8033						{
8034							case 'STRING':
8035								data.action = 'blur';
8036								data.func = BX.delegate(function(input, fieldName){
8037									return this.validatePhone(input, arProperty, fieldName);
8038								}, this);
8039
8040								inputs = propContainer.querySelectorAll('input[type=tel]');
8041								if ($(inputs).length)
8042								{
8043									data.inputs = inputs;
8044									break;
8045								}
8046						}
8047
8048						return data;
8049					};
8050
8051					BX.Sale.OrderAjaxComponent.bindValidationPhone = function(id, propContainer)
8052					{
8053						if (!this.validation.properties || !this.validation.properties[id])
8054							return;
8055
8056						var arProperty = this.validation.properties[id],
8057							data = this.getValidationDataPhone(arProperty, propContainer),
8058							i, k;
8059
8060						if (data && data.inputs && data.action)
8061						{
8062							for (i = 0; i < $(data.inputs).length; i++)
8063							{
8064								if (BX.type.isElementNode(data.inputs[i])){
8065									BX.bind(data.inputs[i], data.action, BX.delegate(function(){
8066										this.isValidProperty(data);
8067									}, this));
8068								}
8069								else{
8070									for (k = 0; k < $(data.inputs[i]).length; k++)
8071										BX.bind(data.inputs[i][k], data.action, BX.delegate(function(){
8072											this.isValidProperty(data);
8073										}, this));
8074								}
8075							}
8076						}
8077					};
8078
8079					BX.Sale.OrderAjaxComponent.isValidPropertiesBlock = function(excludeLocation)
8080					{
8081						if (!this.options.propertyValidation)
8082							return [];
8083
8084						var props = this.orderBlockNode.querySelectorAll('.bx-soa-customer-field[data-property-id-row]'),
8085							propsErrors = [],
8086							id, propContainer, arProperty, data, i;
8087
8088						for (i = 0; i < props.length; i++)
8089						{
8090							id = props[i].getAttribute('data-property-id-row');
8091
8092							if (!!excludeLocation && this.locations[id])
8093								continue;
8094
8095							propContainer = props[i].querySelector('.soa-property-container');
8096							if (propContainer)
8097							{
8098								arProperty = this.validation.properties[id];
8099								data = this.getValidationData(arProperty, propContainer);
8100								dataPhone = this.getValidationDataPhone(arProperty, propContainer);
8101								data = $.extend({}, data, dataPhone);
8102
8103								propsErrors = propsErrors.concat(this.isValidProperty(data, true));
8104							}
8105						}
8106
8107						return propsErrors;
8108					};
8109
8110
8111					// create input type=tel
8112					var input = $('input[autocomplete=tel]'),
8113						inputHTML = input[0].outerHTML,
8114						value = input.val(),
8115						newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="'+value+'"');
8116
8117					if($(input).length < 2)
8118					{
8119						input.hide();
8120						$(newInput).insertAfter(input);
8121					}
8122					showPhoneMask('input[autocomplete=tel][type=tel]');
8123
8124					// change value input type=text when change input type=tel
8125					$('input[autocomplete=tel][type=tel]').on('blur', function(){
8126						var $this = $(this);
8127
8128						var value = $this.val();
8129						$this.parent().find('input[autocomplete=tel][type=text]').val(value);
8130					});
8131
8132					BX.Sale.OrderAjaxComponent.bindValidationPhone(arPropertyPhone.ID, $('input[autocomplete=tel]').parent()[0]);
8133				}
8134			}
8135
8136			if($('.bx-soa-cart-total').length){
8137				if(!$('.change_basket').length)
8138					$('.bx-soa-cart-total').prepend('<div class="change_basket">'+BX.message("BASKET_CHANGE_TITLE")+'<a href="'+arAsproOptions["SITE_DIR"]+'basket/" class="change_link">'+BX.message("BASKET_CHANGE_LINK")+'</a></div>');
8139
8140				if(typeof (BX.Sale.OrderAjaxComponent) == "object"){
8141					if(arAsproOptions['COUNTERS']['USE_FULLORDER_GOALS'] !== 'N'){
8142						if(typeof BX.Sale.OrderAjaxComponent.reachgoalbegin === 'undefined'){
8143							BX.Sale.OrderAjaxComponent.reachgoalbegin = true;
8144							var eventdata = {goal: 'goal_order_begin'};
8145							BX.onCustomEvent('onCounterGoals', [eventdata])
8146						}
8147					}
8148
8149					if(BX.Sale.OrderAjaxComponent.hasOwnProperty("params")){
8150						$('.bx-soa-cart-total .change_link').attr('href', BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET);
8151						if(arAsproOptions["PRICES"]["MIN_PRICE"]){
8152							if(arAsproOptions["PRICES"]["MIN_PRICE"]>Number(BX.Sale.OrderAjaxComponent.result.TOTAL.ORDER_PRICE)){
8153								$('<div class="fademask_ext"></div>').appendTo($('body'));
8154								location.href=BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET;
8155							}
8156						}
8157					}
8158
8159					// update oreder auth form
8160					if($('#bx-soa-auth').length && !$('#bx-soa-auth .redisigned').length){
8161						// update input USER_LOGIN
8162						if($('input[name="USER_LOGIN"]').length){
8163							var $label = $('input[name="USER_LOGIN"]').closest('.bx-authform-formgroup-container').find('.bx-authform-label-container');
8164							if(!$label.find('.bx-authform-starrequired').length){
8165								$label.html($label.html() + '<span class="bx-authform-starrequired"> *</span>');
8166							}
8167						}
8168
8169						// update input USER_PASSWORD
8170						if($('input[name="USER_PASSWORD"]').length){
8171							var $label = $('input[name="USER_PASSWORD"]').closest('.bx-authform-formgroup-container').find('.bx-authform-label-container');
8172							if(!$label.find('.bx-authform-starrequired').length){
8173								$label.html($label.html() + '<span class="bx-authform-starrequired"> *</span>');
8174							}
8175						}
8176
8177						if($('input[name="USER_REMEMBER"]').length){
8178							var $label = $('input[name="USER_REMEMBER"]').attr('id', 'ORDER_AUTH_USER_REMEMBER').closest('label').attr('for', 'ORDER_AUTH_USER_REMEMBER');
8179							var html = $('input[name="USER_REMEMBER"]').attr('id', 'ORDER_AUTH_USER_REMEMBER').wrap('<div id="trem_"></div>').parent().html();
8180							$('#trem_').remove();
8181							$label.html($label.text());
8182							$(html).insertBefore($label).closest('.bx-authform-formgroup-container').addClass('filter');
8183							var html = $('#bx-soa-auth .bx-authform>a').addClass('pull-right').addClass('forgot').wrap('<div id="trem_"></div>').parent().html();
8184							$('#trem_').remove();
8185							$(html).insertAfter($label.closest('.checkbox'));
8186						}
8187
8188						$('#bx-soa-auth .bx-soa-reg-block .btn').removeClass('btn-default').removeClass('btn-lg').addClass('transparent').addClass('btn-lg').text(BX.message('ORDER_REGISTER_BUTTON'));
8189
8190						$('#bx-soa-auth').append('<div class="redisigned hidden></div>');
8191					}
8192
8193					// update oreder register form
8194					if($('.bx-soa-section-content.reg').length && !$('.bx-soa-section-content.reg .redisigned').length){
8195						var bRebindRegSubmit = false;
8196
8197						if(arAsproOptions.THEME.LOGIN_EQUAL_EMAIL === 'Y'){
8198							bRebindRegSubmit = true;
8199
8200							// update input NEW_LOGIN
8201							if($('input[name="NEW_LOGIN"]').length){
8202								$('input[name="NEW_LOGIN"]').closest('.bx-authform-formgroup-container').hide();
8203							}
8204						}
8205
8206						if(arAsproOptions.THEME.PERSONAL_ONEFIO === 'Y'){
8207							bRebindRegSubmit = true;
8208
8209							// update input NEW_NAME
8210							if($('input[name="NEW_NAME"]').length){
8211								$('input[name="NEW_NAME"]').closest('.bx-authform-formgroup-container').find('.bx-authform-label-container').html(BX.message('ORDER_FIO_LABEL') + '<span class="bx-authform-starrequired"> *</span>');
8212							}
8213
8214							// update input NEW_LAST_NAME
8215							if($('input[name="NEW_LAST_NAME"]').length){
8216								$('input[name="NEW_LAST_NAME"]').closest('.bx-authform-formgroup-container').hide();
8217								$('input[name="NEW_LAST_NAME"]').val(' ');
8218							}
8219						}
8220
8221						if(bRebindRegSubmit){
8222							// bind new handler for submit button
8223							var $regSubmit = $('#do_register~input[type=submit]');
8224							if($regSubmit.length){
8225								BX.unbindAll($regSubmit[0]);
8226								$(document).on('click', '#do_register~input[type=submit]', function(e){
8227									e.preventDefault();
8228									e.stopImmediatePropagation();
8229
8230									if(arAsproOptions.THEME.LOGIN_EQUAL_EMAIL === 'Y'){
8231										var email = BX.findChild(BX('bx-soa-auth'), {attribute: {'name': 'NEW_EMAIL'}}, true, false);
8232										var login = BX.findChild(BX('bx-soa-auth'), {attribute: {'name': 'NEW_LOGIN'}}, true, false);
8233
8234										if(login && email){
8235											login.value = email.value;
8236										}
8237									}
8238
8239									BX('do_register').value = 'Y';
8240									BX.Sale.OrderAjaxComponent.sendRequest('showAuthForm');
8241								});
8242							}
8243						}
8244
8245						// update captcha
8246						var $captcha = $('.bx-soa-section-content.reg').find('.bx-captcha');
8247						if($captcha.length){
8248							$captcha.addClass('captcha_image');
8249							$captcha.append('<div class="captcha_reload"></div>');
8250							$captcha.closest('.bx-authform-formgroup-container').addClass('captcha-row').find('input[name=captcha_word]').closest('.bx-authform-input-container').addClass('captcha_input');
8251						}
8252
8253						// update input NEW_NAME && NEW_LAST_NAME
8254						if($('input[name=NEW_NAME]').length && $('input[name=NEW_LAST_NAME]').length && arAsproOptions.THEME.PERSONAL_ONEFIO !== 'Y'){
8255							if(!$('input[name=NEW_NAME]').closest('.bx-authform-formgroup-container.col
8255-md-6').length){
8256								$('input[name=NEW_NAME],input[name=NEW_LAST_NAME]').closest('.bx-authform-formgroup-container').addClass('col-md-6');
8257								var html = $('input[name=NEW_LAST_NAME]').closest('.bx-authform-formgroup-container').wrap('<div id="trem_"></div>').parent().html();
8258								$('#trem_').remove();
8259								$(html).insertAfter($('input[name=NEW_NAME]').closest('.bx-authform-formgroup-container').wrap('<div class="row"></div>'));
8260							}
8261						}
8262
8263						// update input NEW_EMAIL && PHONE_NUMBER
8264						if($('input[name=NEW_EMAIL]').length && $('input[name=PHONE_NUMBER]').length){
8265							if(!$('input[name=PHONE_NUMBER]').closest('.bx-authform-formgroup-container.col-md-6').length){
8266								$('input[name=NEW_EMAIL],input[name=PHONE_NUMBER]').closest('.bx-authform-formgroup-container').addClass('col-md-6');
8267								var html = $('input[name=PHONE_NUMBER]').closest('.bx-authform-formgroup-container').wrap('<div id="trem_"></div>').parent().html();
8268								$('#trem_').remove();
8269								$(html).insertAfter($('input[name=NEW_EMAIL]').closest('.bx-authform-formgroup-container').wrap('<div class="row"></div>'));
8270							}
8271						}
8272
8273						// update input NEW_PASSWORD && NEW_PASSWORD_CONFIRM
8274						if($('input[name=NEW_PASSWORD]').length && $('input[name=NEW_PASSWORD_CONFIRM]').length){
8275							if(!$('input[name=NEW_PASSWORD]').closest('.bx-authform-formgroup-container.col
8275-md-6').length){
8276								$('input[name=NEW_PASSWORD],input[name=NEW_PASSWORD_CONFIRM]').closest('.bx-authform-formgroup-container').addClass('col-md-6');
8277								var html = $('input[name=NEW_PASSWORD_CONFIRM]').closest('.bx-authform-formgroup-container').wrap('<div id="trem_"></div>').parent().html();
8278								$('#trem_').remove();
8279								$(html).insertAfter($('input[name=NEW_PASSWORD]').closest('.bx-authform-formgroup-container').wrap('<div class="row"></div>'));
8280							}
8281						}
8282
8283						// update input PHONE_NUMBER
8284						if($('input[name=PHONE_NUMBER]').length){
8285							var input = $('input[name=PHONE_NUMBER]'),
8286								inputHTML = input[0].outerHTML,
8287								value = input.val(),
8288								newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="'+value+'"');
8289
8290							if($(input).length < 2){
8291								input.hide();
8292								$(newInput).insertAfter(input);
8293
8294								showPhoneMask('input[name=PHONE_NUMBER][type=tel]');
8295
8296								$('input[name=PHONE_NUMBER][type=tel]').on('blur', function(){
8297									var $this = $(this);
8298									var value = $this.val();
8299									$this.parent().find('input[name=PHONE_NUMBER][type=text]').val(value);
8300								});
8301
8302								var $label = $('input[name=PHONE_NUMBER][type=tel]').closest('.bx-authform-formgroup-container').find('.bx-authform-label-container');
8303								$label.html(BX.message('ORDER_PHONE_LABEL') + ($label.find('.bx-authform-starrequired').length ? '<span class="bx-authform-starrequired"> *</span>' : ''));
8304							}
8305						}
8306
8307						$('.bx-soa-section-content.reg').append('<div class="redisigned hidden></div>');
8308					}
8309
8310					if($('.bx-soa-cart-total-line-total').length && arAsproOptions["THEME"]["SHOW_LICENCE"] == "Y"){
8311						if(typeof(e) === 'undefined')
8312							BX.Sale.OrderAjaxComponent.state_licence = (arAsproOptions['THEME']['LICENCE_CHECKED'] == 'Y' ? 'checked' : '');
8313
8314						if(!$('.licence_block.filter').length){
8315							$('<div class="form"><div class="licence_block filter label_block onoff"><label data-for="licenses_order" class="hidden error">'+BX.message('JS_REQUIRED_LICENSES')+'</label><input type="checkbox" name="licenses_order" required '+BX.Sale.OrderAjaxComponent.state_licence+' value="Y"><label data-for="licenses_order" class="license">'+BX.message('LICENSES_TEXT')+'</label></div></div>').insertBefore($('#bx-soa-orderSave'));
8316
8317							$(document).on('click', '.bx-soa .licence_block label.license', function(){
8318								var id = $(this).data('for');
8319								$('.bx-soa .licence_block label.error').addClass('hidden');
8320								if(!$('input[name='+id+']').prop('checked')){
8321									$('input[name='+id+']').prop('checked', 'checked');
8322									BX.Sale.OrderAjaxComponent.state_licence = 'checked';
8323								}
8324								else{
8325									$('input[name='+id+']').prop('checked', '');
8326									BX.Sale.OrderAjaxComponent.state_licence = '';
8327								}
8328							})
8329
8330							$(document).on('click', '.lic_condition a', function(){
8331								if(BX.hasClass(BX('bx-soa-order'), 'orderform--v1')){
8332									if(BX.Sale.OrderAjaxComponent.isValidForm())
8333									{
8334										BX.Sale.OrderAjaxComponent.animateScrollTo($('.licence_block')[0], 800, 50);
8335									}
8336								}
8337								else{
8338									var iCountErrors = BX.Sale.OrderAjaxComponent.isValidPropertiesBlock().length;
8339									if(!BX.Sale.OrderAjaxComponent.activeSectionId || !iCountErrors)
8340									{
8341										BX.Sale.OrderAjaxComponent.animateScrollTo($('.licence_block')[0], 800, 50);
8342									}
8343								}
8344							})
8345						}
8346
8347						$('#bx-soa-orderSave, .bx-soa-cart-total-button-container').addClass('lic_condition');
8348
8349						if(typeof (BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction) === "undefined" && typeof (BX.Sale.OrderAjaxComponent.clickOrderSaveAction) !== 'undefined'){
8350							BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction = BX.Sale.OrderAjaxComponent.clickOrderSaveAction;
8351							BX.Sale.OrderAjaxComponent.clickOrderSaveAction = function(event){
8352								if($('input[name="licenses_order"]').prop('checked')){
8353									$('.bx-soa .licence_block label.error').addClass('hidden');
8354
8355									if (BX.Sale.OrderAjaxComponent.isValidForm())
8356									{
8357										if(typeof BX.Sale.OrderAjaxComponent.allowOrderSave == 'function')
8358											BX.Sale.OrderAjaxComponent.allowOrderSave();
8359										if(typeof BX.Sale.OrderAjaxComponent.doSaveAction == 'function')
8360											BX.Sale.OrderAjaxComponent.doSaveAction();
8361										else
8362											BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction(event);
8363									}
8364								}
8365								else{
8366									$('.bx-soa .licence_block label.error').removeClass('hidden');
8367								}
8368							}
8369							if(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox'))
8370							{
8371								if(typeof browser == 'object')
8372								{
8373									if('msie' in browser && browser.msie)
8374										$(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox')).remove();
8375									else
8376										BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox').remove();
8377								}
8378							}
8379							BX.unbindAll(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector('a.btn-order-save'));
8380							BX.unbindAll(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector('a.btn-order-save'));
8381							BX.unbindAll(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('a'));
8382							BX.bind(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector('a.btn-order-save'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
8383							BX.bind(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector('a.btn-order-save'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
8384							BX.bind(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('a'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
8385						}
8386					}
8387
8388					// fix hide total block
8389					$(window).scroll();
8390
8391					if(checkCounters() && typeof (BX.Sale.OrderAjaxComponent.oldSaveOrder) === "undefined"){
8392						var saveFunc = typeof (BX.Sale.OrderAjaxComponent.saveOrder) !== 'undefined' ? 's
8392aveOrder' : 'saveOrderWithJson';
8393						if(typeof (BX.Sale.OrderAjaxComponent[saveFunc]) !== 'undefined'){
8394							BX.Sale.OrderAjaxComponent.oldSaveOrder = BX.Sale.OrderAjaxComponent[saveFunc];
8395							BX.Sale.OrderAjaxComponent[saveFunc] = function(result){
8396								var res = BX.parseJSON(result);
8397								if (res && res.order){
8398									if (!res.order.SHOW_AUTH){
8399										if (res.order.REDIRECT_URL && res.order.REDIRECT_URL.length && (!res.order.ERROR || BX.util.object_keys(res.order.ERROR).length < 1)){
8400											if((arMatch = res.order.REDIRECT_URL.match(/ORDER_ID\=[^&=]*/g)) && arMatch.length && (_id = arMatch[0].replace(/ORDER_ID\=/g, '', arMatch[0]))){
8401												$.ajax({
8402													url:arAsproOptions['SITE_DIR']+"ajax/check_order.php",
8403													dataType: "json",
8404													type: "POST",
8405													data: { "ID": _id },
8406													success: function(id){
8407														if(parseInt(id)){
8408															purchaseCounter(parseInt(id), BX.message('FULL_ORDER'), function(d){
8409																if(typeof localStorage !== 'undefined' && typeof d === 'object'){
8410																	localStorage.setItem('gtm_e_' + _id, JSON.stringify(d));
8411																}
8412																BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8413															});
8414														}
8415														else{
8416															BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8417														}
8418													},
8419													error: function(){
8420														BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8421													}
8422												})
8423											}
8424											else{
8425												BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8426											}
8427										}
8428										else{
8429											BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8430										}
8431									}
8432									else{
8433										BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8434									}
8435								}
8436								else{
8437									BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
8438								}
8439							}
8440						}
8441					}
8442
8443					if($('#bx-soa-order-form .captcha-row').length){
8444						if(window.asproRecaptcha && window.asproRecaptcha.key && window.asproRecaptcha.params.recaptchaSize == 'invisible'){
8445							$('#bx-soa-order-form .captcha-row').addClass('invisible');
8446							if(asproRecaptcha.params.recaptchaLogoShow === 'n'){
8447								$('#bx-soa-order-form .captcha-row').addClass('logo_captcha_n');
8448							}
8449						}
8450					}
8451
8452					if($('#bx-soa-order-form .captcha-row.invisible').length){
8453						if(typeof (BX.Sale.OrderAjaxComponent.oldSendRequest) === "undefined" && typeof (BX.Sale.OrderAjaxComponent.sendRequest) !== 'undefined'){
8454							var tmpAction, tmpActionData;
8455							BX.Sale.OrderAjaxComponent.oldSendRequest = BX.Sale.OrderAjaxComponent.sendRequest;
8456							BX.Sale.OrderAjaxComponent.sendRequest = function(action, actionData){
8457								var bSend = true;
8458
8459								if($('#bx-soa-order-form .captcha-row.invisible').length){
8460									if(window.renderRecaptchaById && window.asproRecaptcha && window.asproRecaptcha.key){
8461										if(window.asproRecaptcha.params.recaptchaSize == 'invisible'){
8462											var form = BX('bx-soa-order-form');
8463											if($(form).find('.g-recaptcha').length){
8464												if($(form).find('.g-recaptcha-response').val()){
8465													bSend = true;
8466												}
8467												else{
8468													if(typeof grecaptcha != 'undefined'){
8469														grecaptcha.execute($(form).find('.g-recaptcha').data('widgetid'));
8470														bSend = false;
8471													}
8472													else{
8473														bSend = false;
8474													}
8475												}
8476											}
8477										}
8478									}
8479								}
8480
8481								if(bSend){
8482									BX.Sale.OrderAjaxComponent.oldSendRequest(action, actionData);
8483								}
8484								else{
8485									tmpAction = action;
8486									tmpActionData = actionData;
8487								}
8488							}
8489
8490							$(document).on('submit', '#bx-soa-order-form', function(e){
8491								e.preventDefault();
8492
8493								if(typeof tmpAction !== 'undefined' || typeof tmpActionData !== 'undefined'){
8494									BX.Sale.OrderAjaxComponent.sendRequest(tmpAction, tmpActionData);
8495									tmpAction = undefined;
8496									tmpActionData = undefined;
8497								}
8498							});
8499						}
8500					}
8501				}
8502
8503				$('.bx-ui-sls-quick-locations.quick-locations').on('click', function(){
8504					$(this).siblings().removeClass('active');
8505					$(this).addClass('active');
8506				})
8507			}
8508		}
8509	}
8510}
8511
8512if(!funcDefined('basketActions')){
8513	basketActions = function(){
8514		if(arAsproOptions["PAGES"]["BASKET_PAGE"]){
8515			checkMinPrice();
8516
8517			//remove4Cart
8518			if(typeof(BX.Sale) !== 'undefined' && typeof(BX.Sale) === 'object')
8519			{
8520				if(typeof(BX.Sale.BasketComponent) !== 'undefined' && typeof(BX.Sale.BasketComponent) === 'object')
8521				{
8522					$(document).on('click', '.basket-item-actions-remove', function(){
8523						var basketID = $(this).closest('.basket-items-list-item-container').data('id');
8524						delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID);
8525					})
8526				}
8527			}
8528
8529			if(location.hash)
8530			{
8531				var hash = location.hash.substring(1);
8532				if($('#basket_toolbar_button_'+hash).length)
8533					$('#basket_toolbar_button_'+hash).trigger('click');
8534
8535				if($('.basket-items-list-header-filter a[data-filter="'+hash+'"]').length)
8536					$('.basket-items-list-header-filter a[data-filter="'+hash+'"]')[0].click();
8537			}
8538			var svg_cross = '<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>';
8539
8540			$('.bx_sort_container').append('<div class="top_control basket_action"><span style="opacity:0;
8540" class="delete_all colored_theme_hover_text remove_all_basket">'+svg_cross+BX.message("BASKET_CLEAR_ALL_BUTTON")+'</span></div>');
8541			if($('.basket-items-list-header-filter').length)
8542			{
8543				$('.basket-items-list-header-filter').append('<div class="top_control basket_action"><span style="opacity:1;" class="delete_all colored_theme_hover_text remove_all_basket">'+svg_cross+BX.message("BASKET_CLEAR_ALL_BUTTON")+'</span></div>');
8544
8545				var cur_index = $('.basket-items-list-header-filter > a.active').index();
8546				//fix delayed
8547				if(cur_index == 3)
8548					cur_index = 2;
8549
8550				if($('.basket-items-list-header-filter > a.active').data('filter') == 'all')
8551					cur_index = 'all';
8552
8553				$('.basket-items-list-header-filter .top_control .delete_all').data("type",cur_index);
8554
8555				$('.basket-items-list-header-filter > a').on('click', function() {
8556					var index = $(this).index();
8557
8558					//fix delayed
8559					if(index == 3)
8560						index = 2;
8561
8562					if($(this).data('filter') == 'all')
8563						index = 'all';
8564
8565					$('.basket-items-list-header-filter .top_control .delete_all').data("type", index);
8566				});
8567			}
8568			else
8569			{
8570				var cur_index = $('.bx_sort_container a.current').index();
8571				$('.bx_sort_container .top_control .delete_all').data("type",cur_index);
8572				if($('.bx_ordercart > div:eq('+cur_index+') table tbody tr td.item').length)
8573					$('.bx_sort_container .top_control .delete_all').css('opacity',1);
8574
8575				$('.bx_ordercart .bx_ordercart_coupon #coupon').wrap('<div class="input"></div>');
8576
8577				$('.bx_sort_container > a').on('click', function() {
8578					var index = $(this).index();
8579					$('.bx_sort_container .top_control .delete_all').data("type", index);
8580
8581					if($('.bx_ordercart > div:eq('+index+') table tbody tr td.item').length)
8582						$('.bx_sort_container .top_control .delete_all').css('opacity',1);
8583					else
8584						$('.bx_sort_container .top_control .delete_all').css('opacity',0);
8585				});
8586			}
8587
8588
8589			$('.basket_print').on('click', function() {
8590				 // window.open(location.pathname+"?print=Y",'_blank');
8591				 window.print();
8592			});
8593
8594			$('.delete_all').on('click', function() {
8595				if(arAsproOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
8596					var eventdata = {goal: 'goal_basket_clear', params: {type: $(this).data('type')}};
8597					BX.onCustomEvent('onCounterGoals', [eventdata]);
8598				}
8599				$.post( arAsproOptions['SITE_DIR']+"ajax/action_basket.php", "TYPE="+$(this).data('type')+"&CLEAR_ALL=Y", $.proxy(function( data ) {
8600					location.reload();
8601				}));
8602			});
8603
8604			$('.bx_item_list_section .bx_catalog_item').sliceHeight({row:'.bx_item_list_slide', item:'.bx_catalog_item'});
8605
8606			BX.addCustomEvent('onAjaxSuccess', function(e) {
8607				checkMinPrice();
8608
8609				var errorText = $.trim($('#warning_message').text());
8610				$('#basket_items_list .error_text').detach();
8611				if (errorText != '') {
8612					$('#warning_message').hide().text('');
8613					$('#basket_items_list').prepend('<div class="error_text">' +errorText+ '</div>');
8614				}
8615
8616				if (typeof e === 'object' && 'BASKET_DATA' in e) {
8617					if ($("#ajax_basket").length) {
8618						reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
8619					}
8620					if ($("#basket_line .basket_fly").length) {
8621						basketFly('open', 'N');
8622					}
8623				}
8624			});
8625			$(document).on('click', '.bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout', function(){
8626				if(checkCounters('google')){
8627					checkoutCounter(1, 'start order');
8628				}
8629			})
8630		}
8631	}
8632}
8633
8634if(!funcDefined('checkMinPrice')){
8635	checkMinPrice = function(){
8636		if(arAsproOptions["PAGES"]["BASKET_PAGE"]){
8637			var summ_raw=0,
8638				summ=0;
8639			if($('#allSum_FORMATED').length)
8640			{
8641				summ_raw=$('#allSum_FORMATED').text().replace(/[^0-9\.,]/g,'');
8642				summ=parseFloat(summ_raw);
8643				if($('#basket_items').length)
8644				{
8645					var summ = 0;
8646					$('#basket_items tr').each(function(){
8647						if(typeof ($(this).data('item-price')) !== 'undefined' && $(this).data('item-price'))
8648							summ += $(this).data('item-price')*$(this).find('#QUANTITY_INPUT_'+$(this).attr('id')).val();
8649					})
8650				}
8651				if(!$('.catalog_back').length)
8652					$('.bx_ordercart_order_pay_center').prepend('<a href="'+arAsproOptions["PAGES"]["CATALOG_PAGE_URL"]+'" class="catalog_back btn btn-default btn-lg white grey">'+BX.message("BASKET_CONTINUE_BUTTON")+'</a>');
8653			}
8654
8655			if(arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
8656				$('.basket-coupon-section').addClass('smallest');
8657
8658			if(typeof BX.Sale !== "undefined")
8659			{
8660				if(typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent.result !== "undefined")
8661					summ = BX.Sale.BasketComponent.result.allSum;
8662			}
8663
8664			if(arAsproOptions["PRICES"]["MIN_PRICE"]){
8665				if(arAsproOptions["PRICES"]["MIN_PRICE"]>summ){
8666					var svgMinPrice = '<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-.
8666125-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>';
8667					if($('.oneclickbuy.fast_order').length)
8668						$('.oneclickbuy.fast_order').remove();
8669
8670					if($('.basket-checkout-container').length)
8671					{
8672						if(!$('.icon_error_wrapper').length){
8673							$('.basket-checkout-block.basket-checkout-block-btn').html('<div class="icon_error_wrapper"><div class="icon_error_block">'+svgMinPrice+BX.message("MIN_ORDER_PRICE_TEXT").replace("#PRICE#", jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"]))+'</div></div>');
8674						}
8675					}
8676					else
8677					{
8678						if(!$('.icon_error_wrapper').length  && typeof jsPriceFormat !== 'undefined'){
8679							$('.bx_ordercart_order_pay_center').prepend('<div class="icon_error_wrapper"><div class="icon_error_block">'+svgMinPrice+BX.message("MIN_ORDER_PRICE_TEXT").replace("#PRICE#", jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"]))+'</div></div>');
8680						}
8681						if($('.bx_ordercart_order_pay .checkout').length)
8682							$('.bx_ordercart_order_pay .checkout').remove();
8683					}
8684				}else{
8685					if($('.icon_error_wrapper').length)
8686						$('.icon_error_wrapper').remove();
8687
8688					if($('.basket-checkout-container').length)
8689					{
8690						if(!$('.oneclickbuy.fast_order').length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && !$('.basket-btn-checkout.disabled').length)
8691							$('.basket-checkout-section-inner').append('<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span></div>');
8692					}
8693					else
8694					{
8695						if($('.bx_ordercart_order_pay .checkout').length)
8696							$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity','1');
8697						else
8698							$('.bx_ordercart_order_pay_center').append('<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">'+BX.message("BASKET_ORDER_BUTTON")+'</a>');
8699						if(!$('.oneclickbuy.fast_order').length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
8700							$('.bx_ordercart_order_pay_center').append('<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span>');
8701					}
8702				}
8703			}else{
8704				if($('.basket-checkout-container').length)
8705				{
8706					if(!$('.oneclickbuy.fast_order').length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && !$('.basket-btn-checkout.disabled').length)
8707						$('.basket-checkout-section-inner').append('<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span></div>');
8708				}
8709				else
8710				{
8711					$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity','1');
8712					if(!$('.oneclickbuy.fast_order').length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
8713						$('.bx_ordercart_order_pay_center').append('<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span>');
8714				}
8715			}
8716
8717			$('#basket-root .basket-checkout-container .basket-checkout-section .basket-checkout-block .basket-btn-checkout');
8718			$('#basket-root .basket-checkout-container').addClass('visible');
8719		}
8720	}
8721}
8722
8723var isFrameDataReceived = false;
8724if (typeof window.frameCacheVars !== "undefined"){
8725	BX.addCustomEvent(window, "onFrameDataRequestFail", function(response){
8726		console.log(response);
8727	});
8728
8729	BX.addCustomEvent("onFrameDataReceivedBefore", function (){
8730		// stop ya metrika webvisor DOM indexer
8731		pauseYmObserver();
8732	});
8733
8734	BX.addCustomEvent("onFrameDataReceived", function (json){
8735		initFull();
8736
8737		CheckTopMenuPadding();
8738		CheckTopMenuOncePadding();
8739		CheckTopMenuDotted();
8740
8741		CheckSearchWidth();
8742
8743		checkLinkedArticles();
8744
8745		if($('.logo-row.v2').length)
8746		{
8747			$(window).resize(); // need to check resize flexslider & menu
8748			setTimeout(function(){
8749				CheckTopMenuDotted();
8750			}, 100);
8751		}
8752
8753		if(funcDefined('setNewHeader')) {
8754			if(typeof BX === 'object' && (BX.message('TYPE_SKU') != 'TYPE_1' || BX.message('HAS_SKU_PROPS') != 'Y')) {
8755					setNewHeader();
8756			} else {
8757				var objNameWrapper = $('.bx_catalog_item_scu[id]');
8758				if(objNameWrapper.length) {
8759					var id = 'ob'+objNameWrapper.attr('id').replace('_skudiv', '');
8760					if(id && window[id] !== undefined) {
8761						var obj = window[id].offers[window[id].offerNum];
8762						if(obj !== undefined) {
8763							setNewHeader(obj);
8764						}
8765					}
8766				}
8767			}
8768		}
8769
8770		// resume ya metrika webvisor
8771		// (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload)
8772		setTimeout(resumeYmObserver, 400);
8773
8774		isFrameDataReceived = true;
8775	});
8776}else{
8777	$( document ).ready(initFull);
8778}
8779
8780if(!funcDefined('setHeightBlockSlider')){
8781	setHeightBlockSlider = function(){
8782		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.item-title'});
8783		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.item_info'});
8784		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.catalog_item'});
8785
8786		var sliderWidth = $(document).find('.specials.tab_slider_wrapp').outerWidth();
8787
8788		var iCountTabs = $(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').length;
8789
8790		if(iCountTabs <= 1)
8791		{
8792			$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').css('height', '');
8793
8794			var itemsButtonsHeight = 0;
8795			if($(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').length)
8796			{
8797				$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').css('height', 'auto');
8798				itemsButtonsHeight = $(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').height();
8799				$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').css('height', '');
8800			}
8801			var tabsContentUnhover = $(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').height() * 1;
8802			var tabsContentHover = tabsContentUnhover + itemsButtonsHeight+50;
8803			$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').attr('data-unhover', tabsContentUnhover);
8804			$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').attr('data-hover', tabsContentHover);
8805			$(document).find('.specials.tab_slider_wrapp .tabs_content').height(tabsContentUnhover);
8806			$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport').height(tabsContentUnhover);
8807		}
8808		else
8809		{
8810			$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').each(function(){
8811				var _th = $(this);
8812				_th.css('height', '');
8813
8814				var itemsButtonsHeight = 0;
8815				if(_th.find('.tabs_slider li .footer_button').length)
8816				{
8817					_th.find('.tabs_slider li .footer_button').css('height', 'auto');
8818					itemsButtonsHeight = _th.find('.tabs_slider li .footer_button').height();
8819					_th.find('.tabs_slider li .footer_button').css('height', '');
8820				}
8821
8822				var tabsContentUnhover = _th.height() * 1;
8823				var tabsContentHover = tabsContentUnhover + itemsButtonsHeight+50;
8824				_th.attr('data-unhover', tabsContentUnhover);
8825				_th.attr('data-hover', tabsContentHover);
8826				_th.parent().height(tabsContentUnhover);
8827				_th.find('.flex-viewport').height(tabsContentUnhover);
8828
8829			})
8830		}
8831	}
8832}
8833
8834if(!funcDefined('checkTopFilter')){
8835	checkTopFilter = function() {
8836		/*if(window.matchMedia('(max-width: 991px)').matches){
8837			//if($('.group_description_block.top').length){
8838				var top_pos=$('.adaptive_filter').position().top;
8839				$('.bx_filter.bx_filter_vertical').css({'top':top_pos+43});
8840			//}
8841		}*/
8842	}
8843}
8844
8845if(!funcDefined('checkStickyFooter')){
8846	checkStickyFooter = function() {
8847		try{
8848			ignoreResize.push(true);
8849			$('#content').css('min-height', '');
8850			var contentTop = $('#content').offset().top;
8851			var contentBottom = contentTop + $('#content').outerHeight();
8852			var footerTop = 0;
8853			if($('footer').length)
8854				footerOffset = $('footer').offset().top;
8855
8856			$('#content').css('min-height', $(window).height() - contentTop - (footerTop - contentBottom) - $('footer').outerHeight() + 'px');
8857			ignoreResize.pop();
8858		}
8859		catch(e){console.error(e);}
8860	}
8861}
8862
8863if(!funcDefined('checkLinkedArticles')){
8864	checkLinkedArticles = function() {
8865		try{
8866			if ($('.linked-blog-list.content .item-views').length) {
8867				var mobileRow = $('.linked-blog-list').data('mobile_row'),
8868					desktopRow = $('.linked-blog-list').data('desktop_row'),
8869					parentBlock = $('.ajax_load .js_append'),
8870					widthRow = parentBlock.getFloatWidth(),
8871					elementWidthRow = parentBlock.find('> .item:eq(0)').getFloatWidth(),
8872					elementsCount = parentBlock.find('> .item').length,
8873					slice = Math.floor(widthRow / elementWidthRow),
8874					rowInsertCount = Math.floor(elementsCount/slice),
8875					bCalculateRows = false;
8876				if (window.matchMedia('(max-width: 767px)').matches) {
8877					if (!mobileRow && desktopRow) {
8878						mobileRow = desktopRow;
8879					}
8880					if (mobileRow && mobileRow <= rowInsertCount) {
8881						rowInsertCount = slice*mobileRow;
8882						bCalculateRows = true;
8883					}
8884				} else {
8885					if (desktopRow && desktopRow <= rowInsertCount) {
8886						rowInsertCount = slice*desktopRow;
8887						bCalculateRows = true;
8888					}
8889				}
8890				if (!bCalculateRows) {
8891					rowInsertCount = elementsCount;
8892				}
8893
8894				$('.linked-blog-list').insertAfter(parentBlock.find('> .item:eq('+(rowInsertCount-1)+')'));
8895				setTimeout(function(){
8896					$('.linked-blog-list').addClass('visible');
8897				}, 0);
8898			}
8899		}
8900		catch(e){console.error(e);}
8901	}
8902}
8903
8904/* EVENTS */
8905var timerResize = false, ignoreResize = [];
8906$(window).resize(function(){
8907	CheckPopupTop();
8908	checkLinkedArticles();
8909
8910	// here immediate functions
8911	if(!ignoreResize.length){
8912
8913		if(timerResize){
8914			clearTimeout(timerResize);
8915			timerResize = false;
8916		}
8917		timerResize = setTimeout(function(){
8918			// here delayed functions in event
8919			BX.onCustomEvent('onWindowResize', false);
8920		}, 50);
8921	}
8922});
8923
8924var timerScroll = false, ignoreScroll = [], documentScrollTopLast = $(document).scrollTop(), startScroll = 0;
8925$(window).scroll(function(){
8926	CheckPopupTop();
8927	// here immediate functions
8928	documentScrollTopLast = $(document).scrollTop();
8929	SetFixedAskBlock();
8930
8931	if(!ignoreScroll.length){
8932		if(timerScroll){
8933			clearTimeout(timerScroll);
8934			timerScroll = false;
8935		}
8936		timerScroll = setTimeout(function(){
8937			// here delayed functions in event
8938			BX.onCustomEvent('onWindowScroll', false);
8939		}, 50);
8940	}
8941});
8942
8943BX.addCustomEvent('onWindowResize', function(eventdata){
8944	try{
8945		ignoreResize.push(true);
8946
8947		CheckTopMenuPadding();
8948		CheckTopMenuOncePadding();
8949		CheckSearchWidth();
8950
8951		CheckTabActive();
8952		CheckTopMenuFullCatalogSubmenu();
8953		CheckHeaderFixedMenu();
8954
8955		if(window.matchMedia('(min-width:768px)').matches) {
8956			closeYandexMap();
8957		}
8958
8959		CheckTopMenuDotted();
8960		if($('nav.mega-menu.sliced').length)
8961			$('nav.mega-menu.sliced').removeClass('initied');
8962
8963
8964		CheckTopVisibleMenu();
8965
8966		checkScrollToTop();
8967		CheckObjectsSizes();
8968
8969		CheckFlexSlider();
8970		initSly();
8971
8972		// checkVerticalMobileFilter();
8973		if (typeof checkMobilePhone === 'function') {
8974			checkMobilePhone();
8975		}
8976		checkTopFilter();
8977		if (typeof checkMobileFilter === 'function') {
8978			checkMobileFilter();
8979		}
8980
8981		if(arAsproOptions['THEME'] && arAsproOptions['THEME']['COMPACT_FOOTER_MOBILE'] == 'Y') {
8982		    if (window.matchMedia('(max-width:767px)').matches) {
8983				$('footer').addClass('mobile');
8984				$('.bottom-menu .items>.wrap_compact_mobile').addClass('accordion-body collapse');
8985				$('.bottom-menu .items>.item.childs').attr('data-toggle','collapse');
8986		    } else {
8987		    	$('footer').removeClass('mobile');
8988		    	$('.bottom-menu .items>.wrap_compact_mobile').removeClass('accordion-body collapse');
8989		    	$('.bottom-menu .items>.item.childs').removeAttr('data-toggle');
8990		    }
8991		}
8992
8993		if(typeof window['stickySidebar'] !== 'undefined')
8994		{
8995			if(window.matchMedia('(max-width: 991px)').matches)
8996			{
8997				window['stickySidebar'].destroy();
8998			}
8999			else
9000			{
9001				window['stickySidebar'].bindEvents();
9002			}
9003		}
9004
9005		if($('.flexslider.wsmooth').length){
9006			$('.flexslider.wsmooth').each(function(){
9007				$(this).data('flexslider').smoothHeight();
9008			});
9009		}
9010
9011		if(window.matchMedia('(min-width: 767px)').matches)
9012			$('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
9013
9014		if(window.matchMedia('(max-width: 767px)').matches)
9015			$('.wrapper_middle_menu.wrap_menu').addClass('mobile');
9016
9017
9018		if($("#basket_form").length && $(window).outerWidth()<=600){
9019			$("#basket_form .tabs_content.basket > li.cur td").each(function() { $(this).css("width","");});
9020		}
9021
9022		$(".bx_filter_section .bx_filter_select_container").each(function(){
9023			var prop_id=$(this).closest('.bx_filter_parameters_box').attr('property_id');
9024			if($('#smartFilterDropDown'+prop_id).length){
9025				$('#smartFilterDropDown'+prop_id).css("max-width", $(this).width());
9026			}
9027		})
9028
9029		if(window.matchMedia('(min-width: 768px)').matches){
9030			// min-width: 768px
9031			$('.bx_filter .scrollbar').removeClass('mobile-scroll');
9032			$('.bx_filter .srollbar-custom').removeClass('mobile-scroll');
9033			$('.bx_filter .bx_filter_section form .bx_filter_parameters').removeClass('mobile-scroll');
9034			InitScrollBar();
9035			InitCustomScrollBar();
9036		}
9037		else{
9038			// max-width: 767px
9039			$('.bx_filter .scrollbar').addClass('mobile-scroll').removeClass('scroll-init');
9040			$('.bx_filter .srollbar-custom').addClass('mobile-scroll').removeClass('scroll-init');
9041			$('.bx_filter .bx_filter_section form .bx_filter_parameters').addClass('mobile-scroll').removeClass('scroll-init');
9042			if($('.bx_filter .mobile-scroll.scrollbar').length)
9043				$('.bx_filter .mobile-scroll.scrollbar').mCustomScrollbar("destroy");
9044			if($('.bx_filter .mobile-scroll.srollbar-custom').length)
9045				$('.bx_filter .mobile-scroll.srollbar-custom').mCustomScrollbar("destroy");
9046		}
9047
9048	}
9049	catch(e){
9050		console.log(e);
9051	}
9052	finally{
9053		ignoreResize.pop();
9054	}
9055});
9056
9057BX.addCustomEvent('onWindowScroll', function(eventdata){
9058	try{
9059		ignoreScroll.push(true);
9060	}
9061	catch(e){}
9062	finally{
9063		ignoreScroll.pop();
9064	}
9065});
9066
9067BX.addCustomEvent('onSlideInit', function(eventdata) {
9068	try{
9069		ignoreResize.push(true);
9070		if(eventdata){
9071			var slider = eventdata.slider;
9072			if(slider){
9073				if(slider.hasClass('small-gallery'))
9074					$(window).resize();
9075				// add classes .curent & .shown to slide
9076				slider.find('.item').removeClass('current');
9077				var curSlide = slider.find('.item.flex-active-slide'),
9078					curSlideId = curSlide.attr('id'),
9079					nav = slider.find('.flex-direction-nav');
9080
9081				curSlide.addClass('current');
9082
9083				slider.find('.visible').css('opacity', '1');
9084				slider.find('.height0').css('height', 'auto');
9085
9086				if(curSlide.hasClass('shown')){
9087					slider.find('.item.clone[id=' + curSlideId + '_clone]').addClass('shown');
9088				}
9089
9090				curSlide.addClass('shown');
9091
9092			}
9093		}
9094	}
9095	catch(e){}
9096	finally{
9097		ignoreResize.pop();
9098	}
9099});
9100
9101BX.addCustomEvent('onCounterGoals', function(eventdata){
9102	if(arAsproOptions['THEME']['YA_GOALS'] == 'Y' && arAsproOptions['THEME']['YA_COUNTER_ID'])
9103	{
9104		var idCounter = arAsproOptions['THEME']['YA_COUNTER_ID'];
9105		idCounter = parseInt(idCounter);
9106
9107		if(typeof eventdata != 'object')
9108			eventdata = {goal: 'undefined'};
9109
9110		if(typeof eventdata.goal != 'string')
9111			eventdata.goal = 'undefined';
9112
9113		if(idCounter)
9114		{
9115			try
9116			{
9117				waitCounter(idCounter, 50, function(){
9118					var obCounter = window['yaCounter' + idCounter];
9119					if(typeof obCounter == 'object'){
9120						obCounter.reachGoal(eventdata.goal);
9121					}
9122				});
9123			}
9124			catch(e)
9125			{
9126				console.error(e)
9127			}
9128		}
9129		else
9130		{
9131			console.info('Bad counter id!', idCounter);
9132		}
9133	}
9134})
9135
9136var onCaptchaVerifyinvisible = function(response){
9137	$('.g-recaptcha:last').each(function(){
9138		var id = $(this).attr('data-widgetid');
9139		if(typeof(id) !== 'undefined' && response){
9140			if(!$(this).closest('form').find('.g-recaptcha-response').val())
9141				$(this).closest('form').find('.g-recaptcha-response').val(response)
9142			if($('iframe[src*=recaptcha]').length)
9143			{
9144				$('iframe[src*=recaptcha]').each(function(){
9145					var block = $(this).parent().parent();
9146					if(!block.hasClass('grecaptcha-badge'))
9147						block.css('width', '100%');
9148				})
9149			}
9150			$(this).closest('form').submit();
9151		}
9152	})
9153}
9154
9155var onCaptchaVerifynormal = function(response){
9156	$('.g-recaptcha').each(function(){
9157		var id = $(this).attr('data-widgetid');
9158		if(typeof(id) !== 'undefined'){
9159			if(grecaptcha.getResponse(id) != ''){
9160				$(this).closest('form').find('.recaptcha').valid();
9161			}
9162		}
9163	});
9164}
9165
9166BX.addCustomEvent('onSubmitForm', function(eventdata){
9167	try{
9168		if(!window.renderRecaptchaById || !window.asproRecaptcha || !window.asproRecaptcha.key)
9169		{
9170			eventdata.form.submit();
9171			$(eventdata.form).closest('.form').addClass('sending');
9172			return true;
9173		}
9174
9175		if(window.asproRecaptcha.params.recaptchaSize == 'invisible' && $(eventdata.form).find('.g-recaptcha').length)
9176		{
9177			if($(eventdata.form).find('.g-recaptcha-response').val())
9178			{
9179				eventdata.form.submit();
9180				$(eventdata.form).closest('.form').addClass('sending');
9181				return true;
9182			}
9183			else
9184			{
9185				if(typeof grecaptcha != 'undefined'){
9186					grecaptcha.execute($(eventdata.form).find('.g-recaptcha').data('widgetid'));
9187				}
9188				else{
9189					return false;
9190				}
9191			}
9192		}
9193		else
9194		{
9195			eventdata.form.submit();
9196			$(eventdata.form).closest('.form').addClass('sending');
9197			return true;
9198		}
9199	}
9200	catch (e){
9201		console.error(e);
9202		return true;
9203	}
9204})
9205
9206$(document).on('click', '.catalog_reviews_extended span.dropdown-select__list-link', function(){
9207	var _this = $(this);
9208	var ajaxData = _this.data('review_sort_ajax');
9209	var container = _this.closest('[id^=comp_]');
9210	containerId = container.attr('id');
9211	if(containerId !== undefined && containerId) {
9212		ajaxData.containerId = containerId;
9213	}
9214	if(ajaxData !== undefined) {
9215		container.addClass('blur')
9216		$.ajax({
9217			type: 'post',
9218			data: ajaxData,
9219			success: function(html){
9220				$('#reviews_sort_continer').html(html);
9221			}
9222		});
9223	}
9224});
9225
9226$(document).on('click', '.rating_vote:not(.disable)', function(){
9227
9228	var _this = $(this);
9229	var action = _this.data('action');
9230	var parent = _this.closest('.rating-vote');
9231	var commentId = parent.data('comment_id');
9232	var userId = parent.data('user_id');
9233	var ajaxUrl = parent.data('ajax_url');
9234	$.ajax({
9235		url: ajaxUrl,
9236		dataType: 'json',
9237		data: {'commentId': commentId, 'action': action, 'userId': userId},
9238		success: function(data){
9239			if(data.LIKE !== undefined) {
9240				_this.siblings('.rating-vote-result.like').text(data.LIKE);
9241			}
9242			if(data.DISLIKE !== undefined) {
9243				_this.siblings('.rating-vote-result.dislike').text(data.DISLIKE);
9244			}
9245			if(data.SET_ACTIVE_LIKE !== undefined) {
9246				parent.find('.rating_vote.plus').toggleClass('active');
9247			}
9248			if(data.SET_ACTIVE_DISLIKE !== undefined) {
9249				parent.find('.rating_vote.minus').toggleClass('active');
9250			}
9251		}
9252	});
9253
9254});
9255
9256function fileInputInit(message){
9257    $('input[type=file]').uniform({fileButtonHtml: BX.message('JS_FILE_BUTTON_NAME'), fileDefaultHtml: message});
9258    $(document).on('change', 'input[type=file]', function(){
9259        if($(this).val())
9260        {
9261            $(this).closest('.uploader').addClass('files_add');
9262        }
9263        else
9264        {
9265            $(this).closest('.uploader').removeClass('files_add');
9266        }
9267    })
9268    $('.form .add_file').on('click', function(){
9269        var index = $(this).closest('.input').find('input[type=file]').length+1;
9270
9271        $(this).closest('.form-group').find('.input').append('<input type="file" id="POPUP_FILE" name="FILE_n'+index+'"   class="inputfile" value="" />');
9272        $('input[type=file]').uniform({fileButtonHtml: BX.message('JS_FILE_BUTTON_NAME'), fileDefaultHtml: message});
9273    });
9274
9275    $('.form .add_file').on('click', function(){
9276        var index = $(this).closest('.input').find('input[type=file]').length+1;
9277
9278        $(this).closest('.form-group').find('.input').append('<input type="file" id="POPUP_FILE" name="FILE_n'+index+'"   class="inputfile" value="" />');
9279        $('input[type=file]').uniform({fileButtonHtml: BX.message('JS_FILE_BUTTON_NAME'), fileDefaultHtml: message});
9280    });
9281}
9282
9283/*custom event for sku prices*/
9284
9285/*BX.addCustomEvent('onAsproSkuSetPrice', function(eventdata){
9286	console.log(eventdata);
9287})*/
9288
9289/*BX.addCustomEvent('onAsproSkuSetPriceMatrix', function(eventdata){
9290	console.log(eventdata);
9291})*/
9292
9293function declOfNum(number, titles)
9294{
9295	var cases = [2, 0, 1, 1, 1, 2];
9296	return number + " " + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
9297}

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.