PageSourceSearch

https://pk-intellekt.ru/bitrix/templates/aspro_next/js/main.js?1784628050196437

js pk-intellekt.ru collected 2026-10-08 20:36:21 UTC 196,437 bytes, 6,164 lines download raw bytes

1var basketTimeoutSlide;
2var resizeEventTimer;
3
4var funcDefined = function(func){
5	try
6	{
7		if(typeof func == 'function')
8			return true;
9		else
10			return typeof window[func] === "function";
11	}
12	catch (e)
13	{
14		return false;
15	}
16}
17
18if(!funcDefined('setLocationSKU')){
19	function setLocationSKU(ID){
20		var objUrl = parseUrlQuery(),
21			j = 0,
22			prefix = '',
23			query_string = '',
24			url = '';
25		if('oid' in objUrl)
26		{
27			if(parseInt(objUrl.oid)>0)
28			{
29				objUrl.oid = ID;
30				for(var i in objUrl)
31				{
32					if(parseInt(j)>0)
33						prefix = '&';
34					query_string = query_string + prefix + i + '='+ objUrl[i];
35					j++;
36				}
37				if(query_string)
38				{
39					url = location.pathname+'?'+query_string;
40				}
41				try
42				{
43					history.pushState(null, null, url);
44					return;
45				}
46				catch(e){}
47				location.hash = '#' + url.substr(1)
48			}
49		}
50	}
51}
52
53if(!funcDefined('ShowOverlay')){
54	ShowOverlay = function(){
55		$('<div class="jqmOverlay waiting"></div>').appendTo('body');
56	}
57}
58if(!funcDefined('HideOverlay')){
59	HideOverlay = function(){
60		$('.jqmOverlay').detach();
61	}
62}
63if(!funcDefined('trimPrice')){
64	var trimPrice = function trimPrice(s){
65		s=s.split(" ").join("");
66		s=s.split("&nbsp;").join("");
67		return s;
68	}
69}
70
71if(!funcDefined('markProductRemoveBasket')){
72	var markProductRemoveBasket = function markProductRemoveBasket(id){
73		$('.in-cart[data-item='+id+']').hide();
74		$('.to-cart[data-item='+id+']').show();
75		$('.to-cart[data-item='+id+']').closest('.button_block').removeClass('wide');
76		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').show();
77		$('.counter_block[data-item='+id+']').show();
78		$('.in-subscribe[data-item='+id+']').hide();
79		$('.to-subscribe[data-item='+id+']').show();
80		$('.wish_item[data-item='+id+']').removeClass("added");
81		$('.wish_item[data-item='+id+'] .value:not(.added)').show();
82		$('.wish_item[data-item='+id+'] .value.added').hide();
83	}
84}
85
86if(!funcDefined('markProductAddBasket')){
87	var markProductAddBasket = function markProductAddBasket(id){
88		$('.to-cart[data-item='+id+']').hide();
89		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').hide();
90		$('.to-cart[data-item='+id+']').closest('.button_block').addClass('wide');
91		$('.in-cart[data-item='+id+']').show();
92		$('.wish_item[data-item='+id+']').removeClass("added");
93		$('.wish_item[data-item='+id+'] .value:not(.added)').show();
94		$('.wish_item[data-item='+id+'] .value.added').hide();
95	}
96}
97
98if(!funcDefined('markProductDelay')){
99	var markProductDelay = function markProductDelay(id){
100		$('.in-cart[data-item='+id+']').hide();
101		$('.to-cart[data-item='+id+']').show();
102		$('.to-cart[data-item='+id+']').closest('.counter_wrapp').find('.counter_block').show();
103		$('.to-cart[data-item='+id+']').closest('.button_block').removeClass('wide');
104		$('.wish_item[data-item='+id+']').addClass("added");
105		$('.wish_item[data-item='+id+'] .value:not(.added)').hide();
106		$('.wish_item[data-item='+id+'] .value.added').css('display','block');
107	}
108}
109
110if(!funcDefined('markProductSubscribe')){
111	var markProductSubscribe = function markProductSubscribe(id){
112		$('.to-subscribe[data-item='+id+']').hide();
113		$('.in-subscribe[data-item='+id+']').css('display','block');
114	}
115}
116
117if(!funcDefined('basketFly')){
118	var basketFly = function basketFly(action,opener){
119		if(arNextOptions['PAGES']['BASKET_PAGE'])
120			return;
121		$.post( arNextOptions['SITE_DIR']+"ajax/basket_fly.php", "PARAMS="+$("#basket_form").find("input#fly_basket_params").val(), $.proxy(function( data ){
122			var small=$('.opener .basket_count').hasClass('small'),
123				basket_count=$(data).find('.basket_count').find('.items div').text();
124			$('#basket_line .basket_fly').addClass('loaded').html(data);
125
126			if(action=="refresh")
127				$('li[data-type=AnDelCanBuy]').trigger('click');
128
129			if(typeof(opener) == 'undefined')
130			{
131				if(window.matchMedia('(min-width: 769px)').matches)
132				{
133					if(action=='open')
134					{
135						if(small)
136						{
137							if(arNextOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
138								$('.opener .basket_count').click();
139						}
140						else
141						{
142							$('.opener .basket_count').removeClass('small')
143							$('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass('cur');
144							$('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass('cur');
145						}
146					}
147					else if(action=='wish')
148					{
149						if(small)
150						{
151							if(arNextOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
152								$('.opener .wish_count').click();
153						}
154						else
155						{
156							$('.opener .wish_count').removeClass('small')
157							$('.tabs_content.basket li[item-section="DelDelCanBuy"]').addClass('cur');
158							$('#basket_line ul.tabs li[item-section="DelDelCanBuy"]').addClass('cur');
159						}
160					}
161					else
162					{
163						if(arNextOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N')
164							$('.opener .basket_count').click();
165					}
166				}
167			}
168		}));
169	}
170}
171
172//work with hash start
173var lastHash = location.hash;
174if("onhashchange" in window)
175{
176	$(window).bind('hashchange', function() {
177		var newHash = location.hash;
178		if(newHash == '#delayed')
179		{
180			if($('#basket_toolbar_button_delayed').length)
181				$('#basket_toolbar_button_delayed').trigger('click');
182		}
183		else
184		{
185			if($('#basket_toolbar_button').length)
186				$('#basket_toolbar_button').trigger('click');
187		}
188		// Do something
189		var diff = compareHash(newHash, lastHash);
190		// alert("Difference between old and new hash:\n"+diff[0]+"\n\n"+diff[1]);
191
192		//At the end of the func:
193		lastHash = newHash;
194	});
195
196	function compareHash(current, previous){
197		for(var i=0, len=Math.min(current.length, previous.length); i<len; i++){
198			if(current.charAt(0) != previous.charAt(0)) break;
199		}
200		current = current.substr(i);
201		previous = previous.substr(i);
202		for(var i=0, len=Math.min(current.length, previous.length); i<len; i++){
203			if(current.substr(-1) != previous.substr(-1)) break;
204		}
205
206		//Array: Current = New hash, previous = old hash
207		return [current, previous];
208	}
209}
210$(document).on('click', "#basket_toolbar_button", function(){
211	if(lastHash)
212		location.hash = 'cart';
213})
214$(document).on('click', "#basket_toolbar_button_delayed", function(){
215	if(lastHash)
216		location.hash = 'delayed';
217})
218//work with hash end
219
220$(document).on('click', "#basket_line .basket_fly .opener > div.clicked", function(){
221	if(arNextOptions['PAGES']['BASKET_PAGE'])
222		return;
223	function onOpenFlyBasket(_this){
224		$("#basket_line .basket_fly .tabs li").removeClass("cur");
225		$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
226		$("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
227		if(!$(_this).is(".wish_count.empty"))
228		{
229			$("#basket_line .basket_fly .tabs_content li[item-section="+$(_this).data("type")+"]").addClass("cur");
230			$("#basket_line .basket_fly .tabs li:eq("+$(_this).index()+")").addClass("cur");
231			$("#basket_line .basket_fly .remove_all_basket."+$(_this).data("type")).addClass("cur");
232		}
233		else
234		{
235			$("#basket_line .basket_fly .tabs li").first().addClass("cur").siblings().removeClass("cur");
236			$("#basket_line .basket_fly .tabs_content li").first().addClass("cur").siblings().removeClass("cur");
237			$("#basket_line .basket_fly .remove_all_basket").first().addClass("cur");
238		}
239		$("#basket_line .basket_fly .opener > div.clicked").removeClass('small');
240	}
241
242	if(window.matchMedia('(min-width: 769px)').matches)
243	{
244		var _this = this;
245		if(parseInt($("#basket_line .basket_fly").css("right")) < 0)
246		{
247			$("#basket_line .basket_fly").stop().animate({"right": "0"}, 333, function(){
248				if($(_this).closest('.basket_fly.loaded').length)
249				{
250					onOpenFlyBasket(_this);
251				}
252				else
253				{
254					$.ajax({
255						url: arNextOptions['SITE_DIR'] + 'ajax/basket_fly.php',
256						type: 'post',
257						success: function(html){
258							$('#basket_line .basket_fly').addClass('loaded').html(html);
259							onOpenFlyBasket(_this);
260						}
261					});
262				}
263			});
264		}
265		else if($(this).is(".wish_count:not(.empty)") && !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=DelDelCanBuy]"))
266		{
267			$("#basket_line .basket_fly .tabs li").removeClass("cur");
268			$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
269			$("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
270			$("#basket_line .basket_fly .tabs_content li[item-section="+$(this).data("type")+"]").addClass("cur");
271			$("#basket_line  .basket_fly .tabs li:eq("+$(this).index()+")").first().addClass("cur");
272			$("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
273		}
274		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]"))
275		{
276			$("#basket_line .basket_fly .tabs li").removeClass("cur");
277			$("#basket_line .basket_fly .tabs_content li").removeClass("cur");
278			$("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
279			$("#basket_line  .basket_fly .tabs_content li:eq("+$(this).index()+")").addClass("cur");
280			$("#basket_line  .basket_fly .tabs li:eq("+$(this).index()+")").first().addClass("cur");
281			$("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
282		}
283		else
284		{
285			$("#basket_line .basket_fly").stop().animate({"right": -$("#basket_line .basket_fly").outerWidth()}, 150);
286			$("#basket_line .basket_fly .opener > div.clicked").addClass('small');
287		}
288	}
289});
290
291if(!funcDefined("clearViewedProduct")){
292	function clearViewedProduct(){
293		try{
294			var siteID = arNextOptions.SITE_ID;
295			var localKey = 'NEXT_VIEWED_ITEMS_' + siteID;
296			var cookieParams = {path: '/', expires: 30};
297			if(typeof BX.localStorage !== 'undefined')
298			{
299				// remove local storage
300				BX.localStorage.set(localKey, {}, 0);
301			}
302			// remove cookie
303			$.removeCookie(localKey, cookieParams);
304		}
305		catch(e){
306			console.error(e);
307		}
308	}
309}
310
311if(!funcDefined("setViewedProduct")){
312	function setViewedProduct(id, arData){
313		try{
314
315			// save $.cookie option
316			var bCookieJson = $.cookie.json;
317			$.cookie.json = true;
318
319			var siteID = arNextOptions.SITE_ID;
320			var localKey = 'NEXT_VIEWED_ITEMS_' + siteID;
321			var cookieParams = {path: '/', expires: 30};
322
323			if((typeof BX.localStorage !== 'undefined') && (typeof id !== 'undefined') && (typeof arData !== 'undefined')){
324				var PRODUCT_ID = (typeof arData.PRODUCT_ID !== 'undefined') ? arData.PRODUCT_ID : id;
325				var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {};
326				var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {};
327				var count = 0;
328
329				// delete some items (sync cookie & local storage)
330				for(var _id in arViewedLocal){
331					arViewedLocal[_id].IS_LAST = false;
332					if(typeof arViewedCookie[_id] === 'undefined'){
333						delete arViewedLocal[_id];
334					}
335				}
336				for(var _id in arViewedCookie){
337					if(typeof arViewedLocal[_id] === 'undefined'){
338						delete arViewedCookie[_id];
339					}
340				}
341
342				for(var _id in arViewedCookie){
343					count++;
344				}
345
346				// delete item if other item (offer) of that PRODUCT_ID is exists
347				if(typeof arViewedLocal[PRODUCT_ID] !== 'undefined'){
348					if(arViewedLocal[PRODUCT_ID].ID != id){
349						delete arViewedLocal[PRODUCT_ID];
350						delete arViewedCookie[PRODUCT_ID];
351					}
352				}
353
354				delete arViewedLocal[2243];
355				delete arViewedCookie[2243];
356
357				var time = new Date().getTime();
358				arData.ID = id;
359				arData.ACTIVE_FROM = time;
360				arData.IS_LAST = true;
361				arViewedLocal[PRODUCT_ID] = arData;
362				arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID];
363
364				$.cookie(localKey, arViewedCookie, cookieParams);
365				BX.localStorage.set(localKey, arViewedLocal, 2592000);  // 30 days
366			}
367		}
368		catch(e){
369			console.error(e);
370		}
371		finally{
372			// restore $.cookie option
373			$.cookie.json = bCookieJson;
374		}
375	}
376}
377
378
379
380if(!funcDefined('initSelects')){
381	function initSelects(target){
382		var iOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );
383		if ( iOS ) return;
384		if($("#bx-soa-order").length)
385			return;
386		// SELECT STYLING
387		$(target).find('.wrapper1 select').ikSelect({
388			syntax: '<div class="ik_select_link"> \
389						<span class="ik_select_link_text"></span> \
390						<div class="trigger"></div> \
391					</div> \
392					<div class="ik_select_dropdown"> \
393						<div class="ik_select_list"> \
394						</div> \
395					</div>',
396			dynamicWidth: true,
397			ddMaxHeight: 112,
398			customClass: 'common_select',
399			//equalWidths: true,
400			onShow: function(inst){
401				inst.$dropdown.css('top', (parseFloat(inst.$dropdown.css('top'))-5)+'px');
402				if ( inst.$dropdown.outerWidth() < inst.$link.outerWidth() ){
403					inst.$dropdown.css('width', inst.$link.outerWidth());
404				}
405				if ( inst.$dropdown.outerWidth() > inst.$link.outerWidth() ){
406					inst.$dropdown.css('width', inst.$link.outerWidth());
407				}
408				var count=0,
409					client_height=0;
410				inst.$dropdown.css('left', inst.$link.offset().left);
411				$(inst.$listInnerUl).find('li').each(function(){
412					if(!$(this).hasClass('ik_select_option_disabled')){
413						++count;
414						client_height+=$(this).outerHeight();
415					}
416				})
417				if(client_height<112){
418					inst.$listInner.css('height', 'auto');
419				}else{
420					inst.$listInner.css('height', '112px');
421				}
422				inst.$link.addClass('opened');
423				inst.$listInner.addClass('scroller');
424				if($('.confirm_region').length)
425					$('.confirm_region').remove();
426			},
427			onHide: function(inst){
428				inst.$link.removeClass('opened');
429			}
430		});
431		// END OF SELECT STYLING
432
433		var timeout;
434		$(window).on('resize', function(){
435			ignoreResize.push(true);
436				clearTimeout(timeout);
437				timeout = setTimeout(function(){
438					//$('select:visible').ikSelect('redraw');
439					var inst='';
440					if(inst=$('.common_select-link.opened + select').ikSelect().data('plugin_ikSelect')){
441						inst.$dropdown.css('left', inst.$link.offset().left+'px');
442					}
443				}, 20);
444			ignoreResize.pop();
445		});
446	}
447}
448
449if(!funcDefined('CheckTopMenuFullCatalogSubmenu')){
450	CheckTopMenuFullCatalogSubmenu = function(){
451		var $menu = $('.menu_top_block');
452		if($menu.length)
453		{
454			var $wrapmenu = $menu.parents('.wrap_menu');
455
456			var wrapMenuWidth = $menu.closest('.wrapper_inner').actual('width');
457			if(!wrapMenuWidth)
458				wrapMenuWidth = $menu.closest('.wraps').actual('width');
459
460			var bCatalogFirst = $menu.hasClass('catalogfirst');
461			var findMenuLi = $('.menu_top_block:visible li.full');
462			var parentSubmenuWidth = $menu.actual('outerWidth');
463			var wrapMenuLeft = 0;
464			var wrapMenuRight = 0;
465
466			if($wrapmenu.length)
467			{
468				wrapMenuWidth = $wrapmenu.actual('outerWidth');
469				wrapMenuLeft = $wrapmenu.offset().left;
470				wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
471			}
472
473			if($('.catalog_block.menu_top_block').length){
474				if($('.catalog_block.menu_top_block').is(':visible'))
475					findMenuLi=$('.menu_top_block.catalog_block li.full');
476			}
477			findMenuLi.each(function(){
478				var $this = $(this);
479				var $submenu = $this.find('>.dropdown');
480
481				if($submenu.length){
482					//if(bCatalogFirst){
483						$submenu.css({left: parentSubmenuWidth + 'px', width: (wrapMenuWidth - parentSubmenuWidth) + 'px', 'padding-left': '0px', 'padding-right': '0px', 'opacity': 1});
484					/*}
485					else{
486						$submenu.css({left: ($this.offset().left * -1) + 'px', width: ($(window).width() - 1) + 'px', 'padding-left': wrapMenuLeft + 'px', 'padding-right': ($(window).width() - wrapMenuRight) + 'px'});
487					}*/
488					// if(!isOnceInited && bCatalogFirst && arNextOptions["THEME"]["MENU_POSITION"] == "TOP"){
489					if(!isOnceInited && arNextOptions["THEME"]["MENU_POSITION"] == "TOP"){
490						$this.on('mouseenter', function(){
491							$submenu.css('min-height', $this.closest('.dropdown').actual('outerHeight') + 'px');
492						});
493					}
494				}
495			});
496		}
497	}
498}
499
500$.fn.getMaxHeights = function( outer, classNull, minHeight ){
501	var maxHeight = this.map( function( i, e ){
502		var calc_height=0;
503		$(e).css('height', '');
504
505		if( outer == true )
506			calc_height=$(e).actual('outerHeight');
507		else
508			calc_height=$(e).actual('height');
509
510		return calc_height;
511	}).get();
512	for(var i = 0, c = maxHeight.length; i < c; ++i)
513	{
514		if(maxHeight[i] % 2)
515			--maxHeight[i];
516	}
517	return Math.max.apply( this, maxHeight );
518}
519
520$.fn.equalizeHeights = function( outer, classNull, minHeight ){
521	var maxHeight = this.map( function( i, e ){
522		var minus_height=0,
523			calc_height=0;
524		if(classNull!==false)
525			minus_height=parseInt($(e).find(classNull).actual('outerHeight'));
526
527		if(minus_height)
528			minus_height+=12;
529		$(e).css('height', '');
530		if( outer == true )
531			calc_height=$(e).actual('outerHeight')-minus_height;
532		else
533			calc_height=$(e).actual('height')-minus_height;
534
535		if(minHeight!==false)
536		{
537			if(calc_height<minHeight)
538				calc_height+=(minHeight-calc_height);
539
540			if(window.matchMedia('(max-width: 520px)').matches)
541				calc_height=300;
542
543			if(window.matchMedia('(max-width: 400px)').matches)
544				calc_height=200;
545
546		}
547		return calc_height;
548	}).get();
549
550	for(var i = 0, c = maxHeight.length; i < c; ++i){
551		if(maxHeight[i] % 2){
552			--maxHeight[i];
553		}
554	}
555	return this.height( Math.max.apply( this, maxHeight ) );
556}
557
558$.fn.getFloatWidth = function(){
559	var width = 0
560	if($(this).length){
561		var rect = $(this)[0].getBoundingClientRect();
562		if(!(width = rect.width))
563			width = rect.right - rect.left;
564	}
565	return width
566}
567
568$.fn.sliceHeight = function( options ){
569	function _slice(el){
570		el.each(function() {
571			$(this).css('line-height', '');
572			$(this).css('height', '');
573		});
574		if(typeof(options.autoslicecount) == 'undefined' || options.autoslicecount !== false){
575			var elsw=(typeof(options.row) !== 'undefined' && options.row.length) ?  el.first().parents(options.row).getFloatWidth() : el.first().parents('.items').getFloatWidth(),
576				elw=(typeof(options.item) !== 'undefined' && options.item.length) ? $(options.item).first().getFloatWidth() : (el.first().hasClass('item') ? el.first().getFloatWidth() : el.first().parents('.item').getFloatWidth());
577
578			if(!elsw){
579				elsw = el.first().parents('.row').getFloatWidth();
580			}
581			if(elw && options.fixWidth)
582				elw -= options.fixWidth;
583
584			if(elsw && elw){
585				options.slice = Math.floor(elsw / elw);
586			}
587		}
588		if(options.customSlice) //manual slice count
589		{
590			var arBreakpoints = Object.keys(options.breakpoint),
591				bSliceNext = false;
592			if(arBreakpoints.length)
593			{
594				elw=(typeof(options.item) !== 'undefined' && options.item.length) ? $(options.item).last().getFloatWidth() : (el.last().hasClass('item') ? el.last().getFloatWidth() : el.last().parents('.item').getFloatWidth());
595				if(elw)
596					options.sliceNext = Math.floor(elsw / elw);
597				for(var key in arBreakpoints)
598				{
599					if(window.matchMedia(arBreakpoints[key].toString()).matches)
600					{
601						bSliceNext = true;
602						options.slice = options.breakpoint[arBreakpoints[key]];
603					}
604				}
605			}
606		}
607		if(typeof(options.typeResize) == 'undefined' || options.typeResize == false)
608		{
609			if(options.slice){
610				for(var i = 0; i < el.length; i += options.slice){
611					if(options.customSlice && options.sliceNext && bSliceNext && i) //manual slice count
612						options.slice = options.sliceNext;
613					$(el.slice(i, i + options.slice)).equalizeHeights(options.outer, options.classNull, options.minHeight, options.typeResize, options.typeValue);
614				}
615			}
616			if(options.lineheight){
617				var lineheightAdd = parseInt(options.lineheight);
618				if(isNaN(lineheightAdd)){
619					lineheightAdd = 0;
620				}
621				el.each(function() {
622					$(this).css('line-height', ($(this).actual('height') + lineheightAdd) + 'px');
623				});
624			}
625		}
626	}
627	var options = $.extend({
628		slice: null,
629		sliceNext: null,
630		outer: false,
631		lineheight: false,
632		autoslicecount: true,
633		classNull: false,
634		minHeight: false,
635		row:false,
636		item:false,
637		typeResize:false,
638		typeValue:false,
639		fixWidth:0,
640		resize:true,
641		customSlice:false,
642		breakpoint:{},
643	}, options);
644
645	var el = $(this);
646
647	ignoreResize.push(true);
648	_slice(el);
649	ignoreResize.pop();
650
651	if(options.resize)
652	{
653		BX.addCustomEvent('onWindowResize', function(eventdata) {
654			try{
655				ignoreResize.push(true);
656				_slice(el);
657			}
658			catch(e){}
659			finally{
660				ignoreResize.pop();
661			}
662		});
663	}
664	else
665	{
666		if(!ignoreResize.length)
667		{
668			// ignoreResize.push(true);
669			_slice(el);
670			// ignoreResize.pop();
671		}
672	}
673}
674
675$.fn.sliceHeightNoResize = function( options ){
676	function _slice(el){
677
678		el.each(function() {
679			$(this).css('line-height', '');
680			$(this).css('height', '');
681		});
682		if(typeof(options.autoslicecount) == 'undefined' || options.autoslicecount !== false){
683			var elw = (el.first().hasClass('item') ? el.first().getFloatWidth() : el.first().parents('.item').getFloatWidth());
684			var elsw = el.first().parents('.items').getFloatWidth();
685			if(!elsw){
686				elsw = el.first().parents('.row').getFloatWidth();
687			}
688			if(elsw && elw){
689				options.slice = Math.floor(elsw / elw);
690			}
691		}
692
693		if(options.slice){
694			for(var i = 0; i < el.length; i += options.slice){
695
696				$(el.slice(i, i + options.slice)).equalizeHeights(options.outer, options.classNull, options.minHeight);
697			}
698		}
699		if(options.lineheight){
700			var lineheightAdd = parseInt(options.lineheight);
701			if(isNaN(lineheightAdd)){
702				lineheightAdd = 0;
703			}
704			el.each(function() {
705				$(this).css('line-height', ($(this).actual('height') + lineheightAdd) + 'px');
706			});
707		}
708	}
709
710	var options = $.extend({
711		slice: null,
712		outer: false,
713		lineheight: false,
714		autoslicecount: true,
715		classNull: false,
716		minHeight: false,
717		options: false,
718		resize: true,
719	}, options);
720
721	var el = $(this);
722	_slice(el);
723}
724
725if(!funcDefined('initHoverBlock')){
726	function initHoverBlock(target){
727		$(target).find('.catalog_item.item_wrap').on('mouseenter', function(){
728			$(this).addClass('hover');
729		})
730		$(target).find('.catalog_item.item_wrap').on('mouseleave', function(){
731			$(this).removeClass('hover');
732		})
733	}
734}
734
735
736if(!funcDefined('setStatusButton')){
737	function setStatusButton(){
738		$.ajax({
739			url: arNextOptions["SITE_DIR"]+'ajax/getAjaxBasket.php',
740			type: 'POST',
741			success: function(data){
742				if(data.BASKET){
743					for( var i in data.BASKET ){
744						$('.to-cart[data-item='+data.BASKET[i]+']').hide();
745						$('.counter_block[data-item='+data.BASKET[i]+']').hide();
746						$('.in-cart[data-item='+data.BASKET[i]+']').show();
747						$('.in-cart[data-item='+data.BASKET[i]+']').closest('.button_block').addClass('wide');
748					}
749				}
750				if(data.DELAY){
751					for( var i in data.DELAY ){
752						$('.wish_item.to[data-item='+data.DELAY[i]+']').hide();
753						$('.wish_item.in[data-item='+data.DELAY[i]+']').show();
754						if ($('.wish_item[data-item='+data.DELAY[i]+']').find(".value.added").length) {
755							$('.wish_item[data-item='+data.DELAY[i]+']').addClass("added");
756							$('.wish_item[data-item='+data.DELAY[i]+']').find(".value").hide();
757							$('.wish_item[data-item='+data.DELAY[i]+']').find(".value.added").show();
758						}
759					}
760				}
761				if(data.SUBSCRIBE){
762					for( var i in data.SUBSCRIBE ){
763						$('.to-subscribe[data-item='+data.SUBSCRIBE[i]+']').hide();
764						$('.in-subscribe[data-item='+data.SUBSCRIBE[i]+']').show();
765					}
766				}
767				if(data.COMPARE){
768					for( var i in data.COMPARE ){
769						$('.compare_item.to[data-item='+data.COMPARE[i]+']').hide();
770						$('.compare_item.in[data-item='+data.COMPARE[i]+']').show();
771						if ($('.compare_item[data-item='+data.COMPARE[i]+']').find(".value.added").length){
772							$('.compare_item[data-item='+data.COMPARE[i]+']').find(".value").hide();
773							$('.compare_item[data-item='+data.COMPARE[i]+']').find(".value.added").show();
774						}
775					}
776				}
777			}
778		});
779	}
780}
781
782
783if(!funcDefined('onLoadjqm')){
784	var onLoadjqm = function(name, hash, requestData, selector, requestTitle, isButton, thButton){
785
786		$.each($(hash.t).get(0).attributes, function(index, attr){
787			if(/^data\-autoload\-(.+)$/.test(attr.nodeName)){
788				var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1];
789				var el = $('input[data-sid="'+key.toUpperCase()+'"]');
790				// el.val( $(hash.t).data('autoload-'+key) ).attr('readonly', 'readonly');
791				el.val(BX.util.htmlspecialcharsback($(hash.t).data('autoload-'+key))).attr('readonly', 'readonly');
792				el.closest('.form-group').addClass('input-filed');
793				el.attr('title', el.val());
794			}
795		});
796		hash.w.addClass('show').css({
797			'margin-left': ($(window).width() > hash.w.outerWidth() ? '-' + hash.w.outerWidth() / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
798			// 'top': $(document).scrollTop() + (($(window).height() > hash.w.outerHeight() ? ($(window).height() - hash.w.outerHeight()) / 2 : 10))   + 'px',
799			'top': (($(window).height() > hash.w.height()) ? Math.floor(($(window).height() - hash.w.height()) / 2) : 0) + 'px',
800			'opacity': 1
801		});
802
803		var eventdata = {action:'loadForm'};
804		BX.onCustomEvent('onCompleteAction', [eventdata, $(hash.t)[0]]);
805
806
807		if(typeof(requestData) == 'undefined'){
808			requestData = '';
809		}
810		if(typeof(selector) == 'undefined'){
811			selector = false;
812		}
813		var width = $('.'+name+'_frame').width();
814		$('.'+name+'_frame').css('margin-left', '-'+width/2+'px');
815
816		if(name=='order-popup-call') {
817		}
818		else if(name=='order-button') {
819			$(".order-button_frame").find("div[product_name]").find("input").val(hash.t.title).attr("readonly", "readonly").css({"overflow": "hidden", "text-overflow": "ellipsis"});
820		}
821		else if(name=='basket_error')
822		{
823			$(".basket_error_frame .pop-up-title").text(requestTitle);
824			$(".basket_error_frame .ajax_text").html(requestData);
825
826			if(window.matchMedia('(max-width: 991px)').matches)
827			{
828				$("body").addClass("all_viewed");
829			}
830
831			initSelects(document);
832			if(isButton=="Y" && thButton)
833				$("<div class='popup_button_basket_wr'><span class='popup_button_basket big_btn button' data-item="+thButton.data("item")+"><span>"+BX.message("ERROR_BASKET_BUTTON")+"</span></span></div>").insertAfter($(".basket_error_frame .ajax_text"));
834		}
835		else if( name == 'one_click_buy') {
836			$('#one_click_buy_form_button').on("click", function() {
837				if(!$(this).hasClass("clicked")){
838					if($('#one_click_buy_form').valid()){
839						$(this).addClass("clicked");
840						$("#one_click_buy_form").submit(); //otherwise don't works
841					}
842				}
843			});
844
845			$('#one_click_buy_form').submit( function() {
846				if($('.'+name+'_frame form input.error').length || $('.'+name+'_frame form textarea.error').length) {
847					return false
848				}
849				else{
850					$.ajax({
851						url: $(this).attr('action'),
852						data: $(this).serialize(),
853						type: 'POST',
854						dataType: 'json',
855						error: function(data) {
856							alert('Error connecting server');
857						},
858						success: function(data) {
859							if(data.result == 'Y'){
860								if(arNextOptions['COUNTERS']['USE_1CLICK_GOALS'] !== 'N'){
861									var eventdata = {goal: 'goal_1click_success'};
862									BX.onCustomEvent('onCounterGoals', [eventdata])
863								}
864								$('.one_click_buy_result').show();
865								$('.one_click_buy_result_success').show();
866								purchaseCounter(data.message, arNextOptions["COUNTERS"]["TYPE"]["ONE_CLICK"]);
867							}
868							else{
869								$('.one_click_buy_result').show();
870								$('.one_click_buy_result_fail').show();
871								if(('err' in data) && data.err)
872									data.message=data.message+' \n'+data.err;
873								$('.one_click_buy_result_text').html(data.message);
874							}
875							$('.one_click_buy_modules_button', self).removeClass('disabled');
876							$('#one_click_buy_form').hide();
877							$('#one_click_buy_form_result').show();
878						}
879					});
880				}
881				return false;
882			});
883		}
884		else if( name == 'one_click_buy_basket') {
885			$('#one_click_buy_form_button').on("click", function() {
886				if(!$(this).hasClass("clicked")){
887					if($('#one_click_buy_form').valid()){
888						$(this).addClass("clicked");
889						$("#one_click_buy_form").submit(); //otherwise don't works
890					}
891				}
892			});
893			$('#one_click_buy_form').on("submit", function(){
894				if($('.'+name+'_frame form input.error').length || $('.'+name+'_frame form textarea.error').length) {
895					return false
896				}
897				else{
898					$.ajax({
899						url: $(this).attr('action'),
900						data: $(this).serialize(),
901						type: 'POST',
902						dataType: 'json',
903						error: function(data) {
904							window.console&&console.log(data);
905						},
906						success: function(data) {
907							if(data.result == 'Y') {
908								if(arNextOptions['COUNTERS']['USE_FASTORDER_GOALS'] !== 'N'){
909									var eventdata = {goal: 'goal_fastorder_success'};
910									BX.onCustomEvent('onCounterGoals', [eventdata])
911								}
912								$('.one_click_buy_result').show();
913								$('.one_click_buy_result_success').show();
914								purchaseCounter(data.message, arNextOptions["COUNTERS"]["TYPE"]["QUICK_ORDER"]);
915							}
916							else{
917								$('.one_click_buy_result').show();
918								$('.one_click_buy_result_fail').show();
919								if(('err' in data) && data.err)
920									data.message=data.message+' \n'+data.err;
921								$('.one_click_buy_result_text').text(data.message);
922							}
923							$('.one_click_buy_modules_button', self).removeClass('disabled');
924							$('#one_click_buy_form').hide();
925							$('#one_click_buy_form_result').show();
926						}
927					});
928				}
929				return false;
930			});
931		}
932
933		$('.'+name+'_frame').show();
934	}
935}
936
937$.fn.jqmEx = function(){
938	// $(this).each(function(){
939		var _this = $(this);
940		var name = _this.data('name');
941		var sFastViewClass = '';
942		if(name.length){
943			if(_this.closest('#fast_view_item').length)
944				sFastViewClass = 'fast_view_popup';
945			var script = arNextOptions['SITE_DIR'] + 'ajax/form.php';
946			var paramsStr = ''; var trigger = ''; var arTriggerAttrs = {};
947			$.each(_this.get(0).attributes, function(index, attr){
948				var attrName = attr.nodeName;
949				var attrValue = _this.attr(attrName);
950				trigger += '[' + attrName + '=\"' + attrValue + '\"]';
951				arTriggerAttrs[attrName] = attrValue;
952				if(/^data\-param\-(.+)$/.test(attrName)){
953					var key = attrName.match(/^data\-param\-(.+)$/)[1];
954					paramsStr += key + '=' + attrValue + '&';
955				}
956			});
957			var triggerAttrs = JSON.stringify(arTriggerAttrs);
958			var encTriggerAttrs = encodeURIComponent(triggerAttrs);
959			if(name == 'auth')
960				script += '?' + paramsStr + 'auth=Y';
961			else
962				script += '?' + paramsStr + 'data-trigger=' + encTriggerAttrs;
963			if(!$('.' + name + '_frame[data-trigger="' + encTriggerAttrs + '"]').length){
964				if(_this.attr('disabled') != 'disabled'){
965					$('body').find('.' + name + '_frame[data-trigger="' + encTriggerAttrs + '"]').remove();
966					$('body').append('<div class="' + name + '_frame '+sFastViewClass+' jqmWindow popup" data-trigger="' + encTriggerAttrs + '"></div>');
967					$('.' + name + '_frame[data-trigger="' + encTriggerAttrs + '"]').jqm({trigger: trigger, onLoad: function(hash){onLoadjqm(name, hash);}, onHide: function(hash){onHidejqm(name, hash);}, ajax:script});
968				}
969			}
970		}
971	// });
972}
973
974if(!funcDefined('onHidejqm')){
975	var onHidejqm = function(name, hash){
976		if (hash.w.find('.one_click_buy_result_success').is(':visible') && name=="one_click_buy_basket") {
977			window.location.href = window.location.href;
978		}
979
980		if($('.xzoom-source').length)
981			$('.xzoom-source').remove();
982		if($('.xzoom-preview').length)
983			$('.xzoom-preview').remove();
984
985		// hash.w.css('opacity', 0).hide();
986		hash.w.animate({'opacity': 0}, 200, function(){
987			hash.w.hide();
988			hash.w.empty();
989			hash.o.remove();
990			hash.w.removeClass('show');
991
992			if(window.matchMedia('(max-width: 991px)').matches)
993			{
994				$("body").removeClass("all_viewed");
995			}
996
997			if(name == 'fast_view')
998				$('.fast_view_popup').remove();
999		});
1000	}
1001}
1002
1003if(!funcDefined("oneClickBuy")) {
1004	var oneClickBuy = function (elementID, iblockID, that) {
1005		var name = 'one_click_buy';
1006		var elementQuantity = 1;
1007		var offerProps = false;
1008		var buy_btn=$(that).closest('.buy_block').find('.to-cart');
1009		var buy_btn2=$(that).closest('tr').find('.to-cart');
1010
1011		if(typeof(that) !== 'undefined'){
1012			elementQuantity = $(that).attr('data-quantity');
1013			offerProps = $(that).attr('data-props');
1014		}
1015
1016		if(elementQuantity < 0){
1017			elementQuantity = 1;
1018		}
1019
1020		var tmp_props=buy_btn.data("props"),
1021			tmp_props2=buy_btn2.data("props"),
1022			props='',
1023			part_props='',
1024			add_props='N',
1025			fill_prop={},
1026			iblockid = buy_btn.data('iblockid'),
1027			item = buy_btn.attr('data-item');
1028
1029		if(tmp_props){
1030			props=tmp_props.split(";");
1031		}else if(tmp_props2){
1032			props=tmp_props2.split(";");
1033		}
1034		if(buy_btn.data("part_props")){
1035			part_props=buy_btn.data("part_props");
1036		}
1037		if(buy_btn.data("add_props")){
1038			add_props=buy_btn.data("add_props");
1039		}
1040
1041		fill_prop=fillBasketPropsExt(buy_btn, 'prop', buy_btn.data('bakset_div'));
1042		fill_prop.iblockID=iblockid;
1043		fill_prop.part_props=part_props;
1044		fill_prop.add_props=add_props;
1045		fill_prop.props=JSON.stringify(props);
1046		fill_prop.item=item;
1047		fill_prop.ocb_item="Y";
1048
1049		if(window.matchMedia('(min-width:992px)').matches)
1050		{
1051			$('body').find('.'+name+'_frame').remove();
1052			$('body').append('<div class="'+name+'_frame popup"></div>');
1053			$('.'+name+'_frame').jqm({trigger: '.'+name+'_frame.popup', onHide: function(hash) { onHidejqm(name,hash); }, toTop: false, onLoad: function( hash ){ onLoadjqm(name, hash ); }, ajax: arNextOptions["SITE_DIR"]+'ajax/one_click_buy.php?ELEMENT_ID='+elementID+'&IBLOCK_ID='+iblockID+'&ELEMENT_QUANTITY='+elementQuantity+'&OFFER_PROPS='+fill_prop.props});
1054			$('.'+name+'_frame.popup').click();
1055		}
1056		else
1057		{
1058			var script = arNextOptions['SITE_DIR'] + 'form/';
1059			script += '?name='+name+'&form_id=ocb&path='+window.location.pathname+'&ELEMENT_ID='+elementID+'&IBLOCK_ID='+iblockID+'&ELEMENT_QUANTITY='+elementQuantity+'&OFFER_PROPS='+fill_prop.props
1060			location.href = script;
1061		}
1062	}
1063}
1064
1065if(!funcDefined("oneClickBuyBasket")) {
1066	var oneClickBuyBasket = function () {
1067		name = 'one_click_buy_basket';
1068		if(window.matchMedia('(min-width:992px)').matches)
1069		{
1070			$('body').find('.'+name+'_frame').remove();
1071			$('body').append('<div class="'+name+'_frame popup"></div>');
1072			$('.'+name+'_frame').jqm({trigger: '.'+name+'_frame.popup', onHide: function(hash) { onHidejqm(name,hash) }, onLoad: function( hash ){ onLoadjqm( name, hash ); }
1072, ajax: arNextOptions["SITE_DIR"]+'ajax/one_click_buy_basket.php'});
1073			$('.'+name+'_frame.popup').click();
1074		}
1075		else
1076		{
1077			var script = arNextOptions['SITE_DIR'] + 'form/';
1078			script += '?name='+name+'&form_id=ocb&path='+window.location.pathname+'&buy_basket=y';
1079			location.href = script;
1080		}
1081	}
1082}
1083
1084if(!funcDefined("scroll_block")) {
1085	function scroll_block(block){
1086		var topPos = block.offset().top,
1087			headerH = $('header').outerHeight(true,true);
1088		if($(".stores_tab").length){
1089			$(".stores_tab").addClass("active").siblings().removeClass("active");
1090		}else{
1091			$(".prices_tab").addClass("active").siblings().removeClass("active");
1092			if($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length){
1093				var item = $(".prices_tab .opener").first();
1094				item.find(".opener_icon").addClass("opened");
1095				item.parents("tr").addClass("nb")
1096				item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200);
1097			}
1098		}
1099		$('html,body').animate({'scrollTop':topPos-80},150);
1100	}
1101}
1102
1103if(!funcDefined("jqmEd")) {
1104	var jqmEd = function (name, form_id, open_trigger, requestData, selector, requestTitle, isButton, thButton){
1105		if(typeof(requestData) == "undefined"){
1106			requestData = '';
1107		}
1108		if(typeof(selector) == "undefined"){
1109			selector = false;
1110		}
1111		$('body').find('.'+name+'_frame').remove();
1112		$('body').append('<div class="'+name+'_frame jqmWindow popup"></div>');
1113		if(typeof open_trigger == "undefined" ){
1114			$('.'+name+'_frame').jqm({trigger: '.'+name+'_frame.popup',onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }, ajax: arNextOptions["SITE_DIR"]+'ajax/form.php?form_id='+form_id+(requestData.length ? '&' + requestData : '')});
1115		}else{
1116			if(name == 'enter'){
1117				$('.'+name+'_frame').jqm({trigger: open_trigger,onHide: function(hash) { onHidejqm(name,hash); },  onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }, ajax: arNextOptions["SITE_DIR"]+'ajax/auth.php'});
1118			}else if(name=='basket_error'){
1119				$('.'+name+'_frame').jqm({trigger: open_trigger, onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector, requestTitle, isButton, thButton); }, ajax: arNextOptions["SITE_DIR"]+'ajax/basket_error.php'});
1120
1121			}else{
1122				$('.'+name+'_frame').jqm({trigger: open_trigger, onHide: function(hash) { onHidejqm(name,hash); }, onLoad: function( hash ){ onLoadjqm( name , hash , requestData, selector); }, ajax: arNextOptions["SITE_DIR"]+'ajax/form.php?form_id='+form_id+(requestData.length ? '&' + requestData : '')});
1123			}
1124			$(open_trigger).dblclick(function(){return false;})
1125		}
1126		return true;
1127	}
1128}
1129
1130if (!funcDefined("replaceBasketPopup")){
1131	function replaceBasketPopup (hash){
1132		if(typeof hash != "undefined"){
1133			hash.w.hide();
1134			hash.o.hide();
1135		}
1136	}
1137}
1138
1139if(!funcDefined("waitLayer")){
1140	function waitLayer(delay, callback){
1141		if((typeof dataLayer !== 'undefined') && (typeof callback === 'function')){
1142			callback();
1143		}
1144		else{
1145			setTimeout(function() {
1146				waitLayer(delay, callback);
1147			}, delay);
1148		}
1149	}
1150}
1151
1152if(!funcDefined("InitTopestMenuGummi")){
1153	InitTopestMenuGummi = function(){
1154		if(!isOnceInited){
1155			function _init(){
1156				var arItems = $menuTopest.find('>li:not(.more)');
1157				var cntItems = arItems.length;
1158				if(cntItems){
1159					var itemsWidth = 0;
1160					for(var i = 0; i < cntItems; ++i){
1161						var item = arItems.eq(i);
1162						var itemWidth = item.actual('outerWidth',{includeMargin: true});
1163						arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i !== (cntItems - 1) ? moreWidth : 0);
1164					}
1165				}
1166			}
1167
1168			function _gummi(){
1169				var rowWidth = $menuTopest.actual('innerWidth');
1170				var arItems = $menuTopest.find('>li:not(.more),li.more>.dropdown>li');
1171				var cntItems = arItems.length;
1172				if(cntItems){
1173					var bMore = false;
1174					for(var i = cntItems - 1; i >= 0; --i){
1175						var item = arItems.eq(i);
1176						var bInMore = item.parents('.more').length > 0;
1177						if(!bInMore){
1178							if(arItemsHideWidth[i] > rowWidth){
1179								if(!bMore){
1180									bMore = true;
1181									more.removeClass('hidden');
1182								}
1183								var clone = item.clone();
1184								clone.find('>a').addClass('dark_font');
1185								clone.prependTo(moreDropdown);
1186								item.addClass('cloned');
1187							}
1188						}
1189					}
1190					for(var i = 0; i < cntItems; ++i){
1191						var item = arItems.eq(i);
1192						var bInMore = item.parents('.more').length > 0;
1193						if(bInMore){
1194							if(arItemsHideWidth[i] <= rowWidth){
1195								if(i === (cntItems - 1)){
1196									bMore = false;
1197									more.addClass('hidden');
1198								}
1199								var clone = item.clone();
1200								clone.find('>a').removeClass('dark_font');
1201								clone.insertBefore(more);
1202								item.addClass('cloned');
1203							}
1204						}
1205					}
1206					$menuTopest.find('li.cloned').remove();
1207				}
1208			}
1209
1210			var $menuTopest = $('.menu.topest');
1211			if($menuTopest.length)
1212			{
1213				var more = $menuTopest.find('>.more');
1214				var moreDropdown = more.find('>.dropdown');
1215				var moreWidth = more.actual('outerWidth',{includeMargin: true});
1216				var arItemsHideWidth = [];
1217
1218				ignoreResize.push(true);
1219				_init();
1220				_gummi();
1221				ignoreResize.pop();
1222
1223				BX.addCustomEvent('onWindowResize', function(eventdata) {
1224					try{
1225						ignoreResize.push(true);
1226						_gummi();
1227					}
1228					catch(e){}
1229					finally{
1230						ignoreResize.pop();
1231					}
1232				});
1233			}
1234		}
1235	}
1236}
1237
1238if(!funcDefined("InitTopMenuGummi")){
1239	InitTopMenuGummi = function(){
1240		function _init(){
1241			var arItems = $topMenu.closest('.wrap_menu').find('.inc_menu .menu_top_block >li:not(.more)');
1242			var cntItems = arItems.length;
1243			if(cntItems){
1244				var itemsWidth = 0;
1245				for(var i = 0; i < cntItems; ++i){
1246					var item = arItems.eq(i);
1247						var itemWidth = item.actual('outerWidth');
1248						arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i !== (cntItems - 1) ? moreWidth : 0);
1249				}
1250			}
1251
1252		}
1253
1254		function _gummi(){
1255			var rowWidth = $wrapMenu.actual('innerWidth') - $wrapMenuLeft.actual('innerWidth');
1256			var arItems = $topMenu.find('>li:not(.more):not(.catalog),li.more>.dropdown>li');
1257			var cntItems = arItems.length;
1258
1259			if(cntItems){
1260				var bMore = false;
1261				for(var i = cntItems - 1; i >= 0; --i){
1262					var item = arItems.eq(i);
1263					var bInMore = item.parents('.more').length > 0;
1264					if(!bInMore){
1265						if(arItemsHideWidth[i] > rowWidth){
1266							if(!bMore){
1267								bMore = true;
1268								more.removeClass('hidden');
1269							}
1270							var clone = item.clone();
1271							clone.find('>.dropdown').removeAttr('style').removeClass('toleft');
1272							clone.find('>a').addClass('dark_font').removeAttr('style');
1273							clone.prependTo(moreDropdown);
1274							item.addClass('cloned');
1275						}
1276					}
1277				}
1278				for(var i = 0; i < cntItems; ++i){
1279					var item = arItems.eq(i);
1280					var bInMore = item.parents('.more').length > 0;
1281					if(bInMore){
1282						if(arItemsHideWidth[i] <= rowWidth){
1283							if(i === (cntItems - 1)){
1284								bMore = false;
1285								more.addClass('hidden');
1286							}
1287							var clone = item.clone();
1288							clone.find('>a').removeClass('dark_font');
1289							clone.insertBefore(more);
1290							item.addClass('cloned');
1291						}
1292					}
1293				}
1294				$topMenu.find('li.cloned').remove();
1295
1296				var cntItemsVisible = $topMenu.find('>li:not(.more):not(.catalog)').length;
1297				var o = rowWidth - arItemsHideWidth[cntItemsVisible - 1];
1298				var itemsPaddingAdd = Math.floor(o / (cntItemsVisible + (more.hasClass('hidden') ? 0 : 1)));
1299				var itemsPadding_new = itemsPadding_min + itemsPaddingAdd;
1300				var itemsPadding_new_l = Math.floor(itemsPadding_new / 2);
1301				var itemsPadding_new_r = itemsPadding_new - itemsPadding_new_l;
1302
1303				$topMenu.find('>li:not(.catalog):visible>a').each(function(){
1304					$(this).css({'padding-left': itemsPadding_new_l + 'px'});
1305					$(this).css({'padding-right': itemsPadding_new_r + 'px'});
1306				});
1307
1308				var lastItemPadding_new = itemsPadding_new + o - (cntItemsVisible + (more.is(':visible') ? 1 : 0)) * itemsPaddingAdd;
1309				var lastItemPadding_new_l = Math.floor(lastItemPadding_new / 2);
1310				var lastItemPadding_new_r = lastItemPadding_new - lastItemPadding_new_l;
1311				$topMenu.find('>li:visible').last().find('>a').css({'padding-left': lastItemPadding_new_l + 'px'});
1312				$topMenu.find('>li:visible').last().find('>a').css({'padding-right': lastItemPadding_new_r + 'px'});
1313			}
1314			CheckTopMenuFullCatalogSubmenu();
1315		}
1316
1317		var $topMenu = $('.menu_top_block');
1318		if($menuTopest.length)
1319		{
1320			var $wrapMenu = $topMenu.parents('.wrap_menu');
1321			var $wrapMenuLeft = $wrapMenu.find('.catalog_menu_ext');
1322			var more = $topMenu.find('>.more');
1323			var moreWidth = more.actual('outerWidth',{includeMargin: true});
1324			more.addClass('hidden');
1325			var arItemsHideWidth = [];
1326			var moreDropdown = more.find('>.dropdown');
1327			var itemsPadding = parseInt(more.find('>a').css('padding-left')) * 2;
1328			var itemsPadding_min = itemsPadding;
1329
1330			// setTimeout(function(){
1331				ignoreResize.push(true);
1332				_init();
1333				_gummi();
1334				ignoreResize.pop();
1335			// }, 100)
1336
1337			BX.addCustomEvent('onWindowResize', function(eventdata) {
1338				try{
1339					ignoreResize.push(true);
1340					_gummi();
1341				}
1342				catch(e){}
1343				finally{
1344					ignoreResize.pop();
1345				}
1346			});
1347
1348			/*BX.addCustomEvent('onTopPanelFixUnfix', function(eventdata) {
1349				ignoreResize.push(true);
1350				_gummi();
1351				ignoreResize.pop();
1352			});*/
1353		}
1354	}
1355}
1356
1357if(!funcDefined("checkCounters")){
1358	function checkCounters(name){
1359		if(typeof name !== "undefined"){
1360			if(name == "google" && (arNextOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arNextOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0)){
1361				return true;
1362			}
1363			else if(name == "yandex" && (arNextOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arNextOptions["COUNTERS"]["YANDEX_COUNTER"] > 0)){
1364				return true;
1365			}
1366			else{
1367				return false;
1368			}
1369		}
1370		else if((arNextOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arNextOptions["COUNTERS"]["YANDEX_COUNTER"] > 0) || (arNextOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arNextOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0)) {
1371			return true;
1372		}
1373		else{
1374			return false;
1375		}
1376	}
1377}
1378
1379if(!funcDefined("addBasketCounter")){
1380	function addBasketCounter(id){
1381		if(arNextOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
1382			var eventdata = {goal: 'goal_basket_add', params: {id: id}};
1383			BX.onCustomEvent('onCounterGoals', [eventdata]);
1384		}
1385		if(checkCounters()){
1386			$.ajax({
1387				url:arNextOptions['SITE_DIR'] + "ajax/goals.php",
1388				dataType: "json",
1389				type: "POST",
1390				data: {"ID": id},
1391				success: function(item){
1392					if(!!item && !!item.ID){
1393						waitLayer(100, function() {
1394							dataLayer.push({
1395								"event": arNextOptions["COUNTERS"]['GOOGLE_EVENTS']['ADD2BASKET'],
1396							    "ecommerce": {
1397							    	"currencyCode": item.CURRENCY,
1398							        "add": {
1399							            "products": [{
1400						                    "id": item.ID,
1401						                    "name": item.NAME,
1402						                    "price": item.PRICE,
1403						                    "brand": item.BRAND,
1404						                    "category": item.CATEGORY,
1405						                    "quantity": item.QUANTITY
1406						                }]
1407							        }
1408							    }
1409							});
1410						});
1411					}
1412				}
1413			});
1414		}
1415	}
1416}
1417
1418if(!funcDefined("purchaseCounter")){
1419	function purchaseCounter(order_id, type, callback){
1420		if(checkCounters()){
1421			$.ajax({
1422				url:arNextOptions['SITE_DIR'] + "ajax/goals.php",
1423				dataType: "json",
1424				type: "POST",
1425				data: {"ORDER_ID": order_id, "TYPE": type},
1426				success: function(order){
1427					var products = [];
1428					if(order.ITEMS){
1429						for(var i in order.ITEMS){
1430							products.push({
1431								"id": order.ITEMS[i].ID,
1432								"sku": order.ITEMS[i].ID,
1433			                    "name": order.ITEMS[i].NAME,
1434			                    "price": order.ITEMS[i].PRICE,
1435			                    "brand": order.ITEMS[i].BRAND,
1436			                    "category": order.ITEMS[i].CATEGORY,
1437			                    "quantity": order.ITEMS[i].QUANTITY
1438							});
1439						}
1440					}
1441					if(order.ID){
1442						waitLayer(100, function() {
1443							dataLayer.push({
1444							    "ecommerce": d = {
1445							    	"purchase": {
1446								    	"actionField":{
1447								    		"id": order.ACCOUNT_NUMBER,
1448								    		"shipping": order.PRICE_DELIVERY,
1449								    		"tax": order.TAX_VALUE,
1450								    		"list": type,
1451								    		"revenue": order.PRICE
1452								    	},
1453							            "products": products
1454							        }
1455							    }
1456							});
1457
1458							if(typeof callback !== 'undefined'){
1459								callback(d);
1460							}
1461						});
1462					}
1463				}
1464			});
1465		}
1466	}
1467}
1468
1469if(!funcDefined("viewItemCounter")){
1470	function viewItemCounter(id, price_id){
1471		if(checkCounters()){
1472			$.ajax({
1473				url:arNextOptions['SITE_DIR'] + "ajax/goals.php",
1474				dataType: "json",
1475				type: "POST",
1476				data: {"PRODUCT_ID": id, "PRICE_ID": price_id},
1477				success: function(item){
1478					if(item.ID){
1479						waitLayer(100, function() {
1480							dataLayer.push({
1481								//"event": "",
1482								"ecommerce": {
1483									"detail": {
1484										"products": [{
1485											"id": item.ID,
1486											"name": item.NAME,
1487											"price": item.PRICE,
1488											"brand": item.BRAND,
1489											"category": item.CATEGORY
1490										}]
1491									}
1492								}
1493							});
1494						});
1495					}
1496				}
1497			});
1498		}
1499	}
1500}
1501
1502if(!funcDefined("checkoutCounter")){
1503	function checkoutCounter(step, option, callback){
1504		if(checkCounters('google')){
1505			$.ajax({
1506				url:arNextOptions['SITE_DIR'] + "ajax/goals.php",
1507				dataType: "json",
1508				type: "POST",
1509				data: {"BASKET": "Y"},
1510				success: function(basket){
1511					var products = [];
1512					if(basket.ITEMS){
1513						for(var i in basket.ITEMS){
1514							products.push({
1515								"id": basket.ITEMS[i].ID,
1516			                    "name": basket.ITEMS[i].NAME,
1517			                    "price": basket.ITEMS[i].PRICE,
1518			                    "brand": basket.ITEMS[i].BRAND,
1519			                    "category": basket.ITEMS[i].CATEGORY,
1520			                    "quantity": basket.ITEMS[i].QUANTITY
1521							});
1522						}
1523					}
1524					if(products){
1525						waitLayer(100, function() {
1526							dataLayer.push({
1527								"event": arNextOptions["COUNTERS"]['GOOGLE_EVENTS']['CHECKOUT_ORDER'],
1528							    "ecommerce": {
1529							    	"actionField":{
1530							    		"step": step,
1531							    		"option": option
1532							    	},
1533							        "products": products
1534							    },
1535							    /*"eventCallback": function() {
1536							    	if((typeof callback !== 'undefined') && (typeof callback === 'function')){
1537							    		callback();
1538							    	}
1539							   }*/
1540							});
1541						});
1542					}
1543				}
1544			});
1545		}
1546	}
1547}
1548
1549if(!funcDefined("delFromBasketCounter")){
1550	function delFromBasketCounter(id, callback){
1551		if(checkCounters()){
1552			$.ajax({
1553				url:arNextOptions['SITE_DIR'] + "ajax/goals.php",
1554				dataType: "json",
1555				type: "POST",
1556				data: {"ID": id},
1557				success: function(item){
1558					if(item.ID){
1559						waitLayer(100, function() {
1560							dataLayer.push({
1561								"event": arNextOptions["COUNTERS"]['GOOGLE_EVENTS']['REMOVE_BASKET'],
1562							    "ecommerce": {
1563							        "remove": {
1564							            "products": [{
1565						                    "id": item.ID,
1566						                    "name": item.NAME,
1567						                    "category": item.CATEGORY
1568						                }]
1569							        }
1570							    }
1571							});
1572							if(typeof callback == 'function'){
1573								callback();
1574							}
1575						});
1576					}
1577				}
1578			});
1579		}
1580	}
1581}
1582
1583if(!funcDefined("setHeightCompany")){
1584	function setHeightCompany(){
1585		$('.md-50.img').height($('.md-50.big').outerHeight()-35);
1586	}
1587}
1588
1589if(!funcDefined("initSly")){
1590	function initSly(){
1591		var $frame  = $(document).find('.frame');
1592		var $slidee = $frame.children('ul').eq(0);
1593		var $wrap   = $frame.parent();
1594
1595		if(arNextOptions["PAGES"]["CATALOG_PAGE"] && $frame.length){
1596			$frame.sly({
1597				horizontal: 1,
1598				itemNav: 'basic',
1599				smart: 1,
1600				mouseDragging: 0,
1601				touchDragging: 0,
1602				releaseSwing: 0,
1603				startAt: 0,
1604				scrollBar: $wrap.find('.scrollbar'),
1605				scrollBy: 1,
1606				speed: 300,
1607				elasticBounds: 0,
1608				easing: 'swing',
1609				dragHandle: 1,
1610				dynamicHandle: 1,
1611				clickBar: 1,
1612
1613				// Buttons
1614				forward: $wrap.find('.forward'),
1615				backward: $wrap.find('.backward'),
1616			});
1617			$frame.sly('reload');
1618		}
1619	}
1620}
1621
1622if(!funcDefined("createTableCompare")){
1623	function createTableCompare(originalTable, appendDiv, cloneTable){
1624
1625		try{
1626			var clone = originalTable.clone().removeAttr('id').addClass('clone');
1627			if(cloneTable.length){
1628				cloneTable.remove();
1629				appendDiv.html('');
1630				appendDiv.html(clone);
1631			}else{
1632				appendDiv.append(clone);
1633			}
1634		}
1635		catch(e){}
1636		finally{
1637
1638		}
1639	}
1640}
1641
1642if(!funcDefined('fillBasketPropsExt')){
1643	fillBasketPropsExt = function(that, prop_code, basket_prop_div){
1644		var
1645			i = 0,
1646			propCollection = null,
1647			foundValues = false,
1648			basketParams = {},
1649			obBasketProps = null;
1650
1651		// obBasketProps = that.closest('.catalog_detail').find('.basket_props_block');
1652		obBasketProps = BX(basket_prop_div);
1653
1654		if (!!obBasketProps)
1655		{
1656			propCollection = obBasketProps.getElementsByTagName('select');
1657			if (!!propCollection && !!propCollection.length)
1658			{
1659				for (i = 0; i < propCollection.length; i++)
1660				{
1661					if (!propCollection[i].disabled)
1662					{
1663						switch(propCollection[i].type.toLowerCase())
1664						{
1665							case 'select-one':
1666								basketParams[propCollection[i].name] = propCollection[i].value;
1667								foundValues = true;
1668								break;
1669							default:
1670								break;
1671						}
1672					}
1673				}
1674			}
1675			propCollection = obBasketProps.getElementsByTagName('input');
1676			if (!!propCollection && !!propCollection.length)
1677			{
1678				for (i = 0; i < propCollection.length; i++)
1679				{
1680					if (!propCollection[i].disabled)
1681					{
1682						switch(propCollection[i].type.toLowerCase())
1683						{
1684							case 'hidden':
1685								basketParams[propCollection[i].name] = propCollection[i].value;
1686								foundValues = true;
1687								break;
1688							case 'radio':
1689								if (propCollection[i].checked)
1690								{
1691									basketParams[propCollection[i].name] = propCollection[i].value;
1692									foundValues = true;
1693								}
1694								break;
1695							default:
1696								break;
1697						}
1698					}
1699				}
1700			}
1701		}
1702		if (!foundValues)
1703		{
1704			basketParams[prop_code] = [];
1705			basketParams[prop_code][0] = 0;
1706		}
1707		return basketParams;
1708	}
1709}
1710if(!funcDefined('showBasketError')){
1711	showBasketError = function(mess, title, addButton, th){
1712		var title_set=(title ? title : BX.message("ERROR_BASKET_TITLE")),
1713			isButton="N",
1714			thButton="";
1715		if(typeof addButton!==undefined){
1716			isButton="Y";
1717		}
1718		if(typeof th!==undefined){
1719			thButton=th;
1720		}
1721		$("body").append("<span class='add-error-bakset' style='display:none;'></span>");
1722		jqmEd('basket_error', 'error-bakset', '.add-error-bakset', mess, this, title_set, isButton, thButton);
1723		$("body .add-error-bakset").click();
1724		$("body .add-error-bakset").remove();
1725	}
1726}
1727
1728CheckTopMenuDotted = function(){
1729	var menu = $('nav.mega-menu.sliced');
1730
1731	/*if(isMobile)
1732		return;*/
1733	if(window.matchMedia('(max-width:991px)').matches)
1734		return;
1735
1736	if(menu.length)
1737	{
1738		menu.each(function(){
1739			if($(this).hasClass('initied'))
1740				return false;
1741
1742			var menuMoreItem = $(this).find('td.js-dropdown');
1743			if($(this).parents('.collapse').css('display') == 'none'){
1744				return false;
1745			}
1746
1747			var block_w = $(this).closest('div').actual('width');
1748			var	menu_w = $(this).find('table').actual('outerWidth');
1749			var afterHide = false;
1750
1751			while(menu_w > block_w) {
1752				menuItemOldSave = $(this).find('td').not('.nosave').last();
1753				if(menuItemOldSave.length){
1754					menuMoreItem.show();
1755					var oldClass = menuItemOldSave.attr('class');
1756					menuItemNewSave = '<li class="menu-item ' + (menuItemOldSave.hasClass('dropdown') ? 'dropdown-submenu ' : '') + (menuItemOldSave.hasClass('active') ? 'active ' : '') + '" data-hidewidth="' + menu_w + '" ' + (oldClass ? 'data-class="' + oldClass + '"' : '') + '>' + menuItemOldSave.find('.wrap').html() + '</li>';
1757					menuItemOldSave.remove();
1758					menuMoreItem.find('> .wrap > .dropdown-menu').prepend(menuItemNewSave);
1759					menu_w = $(this).find('table').actual('outerWidth');
1760					afterHide = true;
1761				}
1762				//menu.find('.nosave').css('display', 'table-cell');
1763				else{
1764					break;
1765				}
1766			}
1767
1768			if(!afterHide) {
1769				do {
1770					var menuItemOldSaveCnt = menuMoreItem.find('.dropdown-menu').find('li').length;
1771					menuItemOldSave = menuMoreItem.find('.dropdown-menu').find('li').first();
1772					if(!menuItemOldSave.length) {
1773						menuMoreItem.hide();
1774						break;
1775					}
1776					else {
1777						var hideWidth = menuItemOldSave.attr('data-hidewidth');
1778						if(hideWidth > block_w) {
1779							break
1780						}
1781						else {
1782							var oldClass = menuItemOldSave.attr('data-class');
1783							menuItemNewSave = '<td class="' + (oldClass ? oldClass + ' ' : '') + '" data-hidewidth="' + block_w + '"><div class="wrap">' + menuItemOldSave.html() + '</div></td>';
1784							menuItemOldSave.remove();
1785							$(menuItemNewSave).insertBefore($(this).find('td.js-dropdown'));
1786							if(!menuItemOldSaveCnt) {
1787								menuMoreItem.hide();
1788								break;
1789							}
1790						}
1791					}
1792					menu_w = $(this).find('table').actual('outerWidth');
1793				}
1794				while(menu_w <= block_w);
1795			}
1796			$(this).find('td').css('visibility', 'visible');
1797			$(this).find('td').removeClass('unvisible');
1798			$(this).addClass('ovisible');
1799			$(this).addClass('initied');
1800		})
1801	}
1802	return false;
1803}
1804
1805CheckTopVisibleMenu = function(that) {
1806	var dropdownMenu = $('.dropdown-menu:visible').last();
1807
1808	if(dropdownMenu.length){
1809		dropdownMenu.find('a').css('white-space', '');
1810		dropdownMenu.css('left', '');
1811		dropdownMenu.css('right', '');
1812		dropdownMenu.removeClass('toright');
1813
1814		var dropdownMenu_left = dropdownMenu.offset().left;
1815		if(typeof(dropdownMenu_left) != 'undefined'){
1816			var menu = dropdownMenu.parents('.mega-menu');
1817			if(!menu.length)
1818				menu = dropdownMenu.closest('.logo-row');
1819			var menu_width = menu.outerWidth();
1820			var menu_left = menu.offset().left;
1821			var menu_right = menu_left + menu_width;
1822			var isToRight = dropdownMenu.parents('.toright').length > 0;
1823			var parentsDropdownMenus = dropdownMenu.parents('.dropdown-menu');
1824			var isHasParentDropdownMenu = parentsDropdownMenus.length > 0;
1825			if(isHasParentDropdownMenu){
1826				var parentDropdownMenu_width = parentsDropdownMenus.first().outerWidth();
1827				var parentDropdownMenu_left = parentsDropdownMenus.first().offset().left;
1828				var parentDropdownMenu_right = parentDropdownMenu_width + parentDropdownMenu_left;
1829			}
1830
1831			if(parentDropdownMenu_right + dropdownMenu.outerWidth() > menu_right){
1832				dropdownMenu.find('a').css('white-space', 'normal');
1833			}
1834
1835			var dropdownMenu_width = dropdownMenu.outerWidth();
1836			var dropdownMenu_right = dropdownMenu_left + dropdownMenu_width;
1837
1838			if(dropdownMenu_right > menu_right || isToRight){
1839				var addleft = 0;
1840				addleft = menu_right - dropdownMenu_right;
1841				if(isHasParentDropdownMenu || isToRight){
1842					dropdownMenu.css('left', 'auto');
1843					dropdownMenu.css('right', '100%');
1844					dropdownMenu.addClass('toright');
1845				}
1846				else{
1847					var dropdownMenu_curLeft = parseInt(dropdownMenu.css('left'));
1848					dropdownMenu.css('left', (dropdownMenu_curLeft + addleft) + 'px');
1849				}
1850			}
1851		}
1852	}
1853}
1854
1855if(!funcDefined("isRealValue")){
1856	function isRealValue(obj){
1857		return obj && obj !== "null" && obj!== "undefined";
1858	}
1859}
1860
1861if(!funcDefined("rightScroll")){
1862	function rightScroll(prop, id){
1863		var el = BX('prop_' + prop + '_' + id);
1864		if (el) {
1865			var curVal = parseInt(el.style.marginLeft);
1866			if (curVal >= 0) el.style.marginLeft = curVal - 20 + '%';
1867		}
1868	}
1869}
1870
1871if(!funcDefined("leftScroll")){
1872	function leftScroll(prop, id){
1873		var el = BX('prop_' + prop + '_' + id);
1874		if (el) {
1875			var curVal = parseInt(el.style.marginLeft);
1876			if (curVal < 0) el.style.marginLeft = curVal + 20 + '%';
1877		}
1878	}
1879}
1880
1881if(!funcDefined("InitOrderCustom")){
1882	InitOrderCustom = function () {
1883		$('.ps_logo img').wrap('<div class="image"></div>');
1884
1885		$('#bx-soa-order .radio-inline').each(function() {
1886			if ($(this).find('input').attr('checked') == 'checked') {
1887				$(this).addClass('checked');
1888			}
1889		});
1890
1891		$('#bx-soa-order .checkbox input[type=checkbox]').each(function() {
1892			if ($(this).attr('checked') == 'checked')
1893				$(this).parent().addClass('checked');
1894		});
1895
1896		$('#bx-soa-order .bx-authform-starrequired').each(function() {
1897			var html = $(this).html();
1898			$(this).closest('label').append('<span class="bx-authform-starrequired"> '+ html + '</span>');
1899			$(this).detach();
1900		});
1901		$('.bx_ordercart_coupon').each(function() {
1902			if ($(this).find('.bad').length)
1903				$(this).addClass('bad');
1904			else if ($(this).find('.good').length)
1905				$(this).addClass('good');
1906		});
1907		/*if (typeof(propsMap) !== 'undefined') {
1908			$(propsMap).on('click', function () {
1909				var value = $('#orderDescription').val();
1910				if ($('#orderDescription')) {
1911					if (value != '') {
1912						$('#orderDescription').closest('.form-group').addClass('value_y');
1913					}
1914				}
1915			});
1916		}*/
1917	}
1918}
1919
1920if(!funcDefined("InitLabelAnimation")){
1921	InitLabelAnimation = function(className) {
1922		// Fix order labels
1923		if (!$(className).length) {
1924			return;
1925		}
1926		$(className).find('.form-group').each(function() {
1927			if ($(this).find('input[type=text], textarea').length && !$(this).find('.dropdown-block').length && $(this).find('input[type=text], textarea').val() != '') {
1928				$(this).addClass('value_y');
1929			}
1930		});
1931
1932		$(document).on('click', className+' .form-group:not(.bx-soa-pp-field) label', function() {
1933			$(this).parent().find('input, textarea').focus();
1934		});
1935
1936		$(document).on('focusout', className+' .form-group:not(.bx-soa-pp-field) input, '+className+' .form-group:not(.bx-soa-pp-field) textarea', function() {
1937			var value = $(this).val();
1938			if (value != '' && !$(this).closest('.form-group').find('.dropdown-block').length && !$(this).closest('.form-group').find('#profile_change').length) {
1939				$(this).closest('.form-group').addClass('value_y');
1940			}else{
1941				$(this).closest('.form-group').removeClass('value_y');
1942			}
1943		});
1944
1945		$(document).on('focus', className+' .form-group:not(.bx-soa-pp-field) input, '+className+' .form-group:not(.bx-soa-pp-field) textarea', function() {
1946			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 ) {
1947				$(this).closest('.form-group').addClass('value_y');
1948			}
1949		});
1950	};
1951}
1952
1953checkPopupWidth = function(){
1954	$('.popup.show').each(function() {
1955		var width_form = $(this).actual('width');
1956		$(this).css({
1957			'margin-left': ($(window).width() > width_form ? '-' + width_form / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
1958		});
1959	});
1960}
1961
1962checkCaptchaWidth = function(){
1963	$('.captcha-row').each(function() {
1964		var width = $(this).actual('width');
1965		if($(this).hasClass('b')){
1966			if(width > 320){
1967				$(this).removeClass('b');
1968			}
1969		}
1970		else{
1971			if(width <= 320){
1972				$(this).addClass('b');
1973			}
1974		}
1975	});
1976}
1977
1978checkFormWidth = function(){
1979	$('.form .form_left').each(function() {
1980		var form = $(this).parents('.form');
1981		var width = form.actual('width');
1982		if(form.hasClass('b')){
1983			if(width > 417){
1984				form.removeClass('b');
1985			}
1986		}
1987		else{
1988			if(width <= 417){
1989				form.addClass('b');
1990			}
1991		}
1992	});
1993}
1994
1995checkFormControlWidth = function(){
1996	$('.form-control').each(function() {
1997		var width = $(this).actual('width');
1998		var labelWidth = $(this).find('label:not(.error) > span').actual('width');
1999		var errorWidth = $(this).find('label.error').actual('width');
2000		if(errorWidth > 0){
2001			if($(this).hasClass('h')){
2002				if(width > (labelWidth + errorWidth + 5)){
2003					$(this).removeClass('h');
2004				}
2005			}
2006			else{
2007				if(width <= (labelWidth + errorWidth + 5)){
2008					$(this).addClass('h');
2009				}
2010			}
2011		}
2012		else{
2013			$(this).removeClass('h');
2014		}
2015	});
2016}
2017
2018scrollToTop = function(){
2019	if(arNextOptions['THEME']['SCROLLTOTOP_TYPE'] !== 'NONE'){
2020		var _isScrolling = false;
2021		// Append Button
2022		$('body').append($('<a />').addClass('scroll-to-top ' + arNextOptions['THEME']['SCROLLTOTOP_TYPE'] + ' ' + arNextOptions['THEME']['SCROLLTOTOP_POSITION']).attr({'href': '#', 'id': 'scrollToTop'}));
2023		$('#scrollToTop').click(function(e){
2024			e.preventDefault();
2025			$('body, html').animate({scrollTop : 0}, 500);
2026			return false;
2027		});
2028		// Show/Hide Button on Window Scroll event.
2029		$(window).scroll(function(){
2030			if(!_isScrolling) {
2031				_isScrolling = true;
2032				if($(window).scrollTop() > 150){
2033					$('#scrollToTop').stop(true, true).addClass('visible');
2034					_isScrolling = false;
2035				}
2036				else{
2037					$('#scrollToTop').stop(true, true).removeClass('visible');
2038					_isScrolling = false;
2039				}
2040				checkScrollToTop();
2041			}
2042		});
2043	}
2044}
2045
2046checkScrollToTop = function(){
2047	var bottom = 55,
2048		scrollVal = $(window).scrollTop(),
2049		windowHeight = $(window).height(),
2050		footerOffset = 0;
2051	if($('footer').length)
2052		footerOffset = $('footer').offset().top +70;
2053
2054	if(arNextOptions['THEME']['SCROLLTOTOP_POSITION'] == 'CONTENT'){
2055		warpperWidth = $('body > .wrapper > .wrapper_inner').width();
2056		$('#scrollToTop').css('margin-left', Math.ceil(warpperWidth / 2) + 23);
2057	}
2058
2059	if(scrollVal + windowHeight > footerOffset){
2060		$('#scrollToTop').css('bottom', bottom  + scrollVal + windowHeight - footerOffset + 40);
2061	}
2062	else if(parseInt($('#scrollToTop').css('bottom')) > bottom){
2063		$('#scrollToTop').css('bottom', bottom);
2064	}
2065}
2066
2067CheckObjectsSizes = function() {
2068	$('.container iframe,.container object,.container video').each(function() {
2069		var height_attr = $(this).attr('height');
2070		var width_attr = $(this).attr('width');
2071		if (height_attr && width_attr) {
2072			$(this).css('height', $(this).outerWidth() * height_attr / width_attr);
2073		}
2074	});
2075}
2076
2077if(!funcDefined('reloadTopBasket')){
2078	var reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item){
2079		var obj={
2080				"PARAMS": $('#top_basket_params').val(),
2081				"ACTION": action
2082			};
2083		if(typeof item !== "undefined" ){
2084			obj.delete_top_item='Y';
2085			obj.delete_top_item_id=item.data('id');
2086		}
2087		// $.post( arNextOptions['SITE_DIR']+"ajax/show_basket_popup.php", obj, $.proxy(function( data ){
2088		$.post( arNextOptions['SITE_DIR']+"ajax/show_basket_actual.php", obj, $.proxy(function( data ){
2089			$(basketWindow).html(data);
2090
2091			getActualBasket();
2092
2093			var eventdata = {action:'loadBasket'};
2094			BX.onCustomEvent('onCompleteAction', [eventdata]);
2095
2096			/*if(arNextOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){
2097				if($(window).outerWidth() > 520){
2098					if(slideDown=="Y")
2099						$(basketWindow).find('.basket_popup_wrapp').stop(true,true).slideDown(speed);
2100					clearTimeout(basketTimeoutSlide);
2101					basketTimeoutSlide = setTimeout(function() {
2102						var _this = $('#basket_line').find('.basket_popup_wrapp');
2103						if (_this.is(':hover')) {
2104							_this.show();
2105						}else{
2106							$('#basket_line').find('.basket_popup_wrapp').slideUp(speed);
2107						}
2108					},delay);
2109				}
2110			}*/
2111		}))
2112	}
2113}
2114
2115CheckTabActive = function(){
2116	if(typeof(clicked_tab) && clicked_tab)
2117	{
2118		if(window.matchMedia('(min-width: 768px)').matches)
2119		{
2120			clicked_tab--;
2121			$('.catalog_detail .nav.nav-tabs li:eq('+clicked_tab+')').addClass('active');
2122			$('.catalog_detail .tab-content .tab-pane:eq('+clicked_tab+')').addClass('active');
2123			$('.catalog_detail .tab-content .tab-pane .title-tab-heading').next().removeAttr('style');
2124			clicked_tab = 0;
2125		}
2126	}
2127}
2128
2129/*countdown start*/
2130if(!funcDefined('initCountdown')){
2131	var initCountdown = function initCountdown(){
2132		if( $('.view_sale_block').size() ){
2133			$('.view_sale_block').each(function(){
2134				var activeTo=$(this).find('.active_to').text(),
2135					dateTo= new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2136				$(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']);
2137			})
2138		}
2139	}
2140}
2141
2142if(!funcDefined('initCountdownTime')){
2143	var initCountdownTime = function initCountdownTime(block, time){
2144		if(time)
2145		{
2146			var dateTo= new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, '$3/$2/$1'));
2147			block.find('.countdown').countdown('destroy');
2148			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']);
2149			block.find('.view_sale_block').show();
2150		}
2151		else
2152		{
2153			block.find('.view_sale_block').hide();
2154		}
2155	}
2156}
2157/*countdown end*/
2158
2159waitCounter = function(idCounter, delay, callback){
2160	var obCounter = window['yaCounter' + idCounter];
2161	if(typeof obCounter == 'object')
2162	{
2163		if(typeof callback == 'function')
2164			callback();
2165
2166	}
2167	else
2168	{
2169		setTimeout(function(){
2170			waitCounter(idCounter, delay, callback);
2171		}, delay);
2172	}
2173}
2174
2175var isOnceInited = insertFilter = false;
2176var animationTime = 200;
2177var delayTime = 200;
2178var topMenuEnterTimer = false;
2179var isMobile = jQuery.browser.mobile;
2180
2181if(isMobile)
2182	document.documentElement.className += ' mobile';
2183
2184if(navigator.userAgent.indexOf("Edge") != -1)
2185	document.documentElement.className += ' bx-ie-edge';
2186
2187/*filter start*/
2188if(!funcDefined('checkVerticalMobileFilter')){
2189	var checkVerticalMobileFilter = function checkVerticalMobileFilter(){
2190		if($('.right_block1.catalog.vertical').length){
2191			if(typeof window['trackBarOptions'] !== 'undefined'){
2192				window['trackBarValues'] = {}
2193				for(key in window['trackBarOptions']){
2194					window['trackBarValues'][key] = {
2195						'leftPercent': window['trackBar' + key].leftPercent,
2196						'leftValue': window['trackBar' + key].minInput.value,
2197						'rightPercent': window['trackBar' + key].rightPercent,
2198						'rightValue': window['trackBar' + key].maxInput.value,
2199					}
2200				}
2201			}
2202
2203			if(window.matchMedia('(max-width: 991px)').matches){
2204				if(!insertFilter){
2205					$('.js_filter .bx_filter.bx_filter_vertical').html($('.left_block .bx_filter.bx_filter_vertical').html());
2206					$('.left_block .bx_filter.bx_filter_vertical .bx_filter_section').remove();
2207					insertFilter=true;
2208				}
2209			}else{
2210				if(insertFilter){
2211					$('.left_block .bx_filter.bx_filter_vertical').html($('.js_filter .bx_filter.bx_filter_vertical').html());
2212					$('.js_filter .bx_filter.bx_filter_vertical .bx_filter_section').remove();
2213					insertFilter=false;
2214				}
2215			}
2216
2217			if(typeof window['trackBarOptions'] !== 'undefined'){
2218				for(key in window['trackBarOptions']){
2219					window['trackBarOptions'][key].leftPercent = window['trackBarValues'][key].leftPercent;
2220					window['trackBarOptions'][key].rightPercent = window['trackBarValues'][key].rightPercent;
2221					window['trackBarOptions'][key].curMinPrice = window['trackBarValues'][key].leftValue;
2222					window['trackBarOptions'][key].curMaxPrice = window['trackBarValues'][key].rightValue;
2223					window['trackBar' + key] = new BX.Iblock.SmartFilter(window['trackBarOptions'][key]);
2224					window['trackBar' + key].minInput.value = window['trackBarValues'][key].leftValue;
2225					window['trackBar' + key].maxInput.value = window['trackBarValues'][key].rightValue;
2226				}
2227			}
2228		}
2229	}
2230}
2231/*filter end*/
2232
2233// TOP MENU ANIMATION
2234$(document).on('click', '.menu_top_block>li .more a', function(){
2235	$this = $(this);
2236	$this.parents('.dropdown').first().find('>.hidden').removeClass('hidden');
2237	$this.parent().addClass('hidden');
2238	setTimeout(function(){
2239		$this.parent().remove();
2240	}, 500);
2241});
2242
2243$(document).on('mouseenter', '.menu_top_block.catalogfirst>li>.dropdown>li.full', function(){
2244	var $submenu = $(this).find('>.dropdown');
2245
2246	if($submenu.length){
2247		if(topMenuEnterTimer){
2248			clearTimeout(topMenuEnterTimer);
2249			topMenuEnterTimer = false;
2250		}
2251	}
2252});
2253
2254$(document).on('mouseenter', '.menu_top_block>li:not(.full)', function(){
2255	var $submenu = $(this).find('>.dropdown');
2256
2257	if($submenu.length && !$submenu.hasClass('visible')){
2258		var $menu = $(this).parents('.menu');
2259		var $wrapmenu = $menu.parents('.wrap_menu');
2260		var wrapMenuWidth = $wrapmenu.actual('outerWidth');
2261		var wrapMenuLeft = $wrapmenu.offset().left;
2262		var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
2263		var left = wrapMenuRight - ($(this).offset().left + $submenu.actual('outerWidth'));
2264		if(window.matchMedia('(min-width: 951px)').matches && $(this).hasClass('catalog') && ( $('.banner_auto').hasClass('catalog_page') || $('.banner_auto').hasClass('front_page'))){
2265			return;
2266		}
2267		if(left < 0){
2268			$submenu.css({left: left + 'px'});
2269		}
2270		$submenu.stop().slideDown(animationTime, function(){
2271			$submenu.css({height: '', 'overflow':'visible'});
2272		});
2273
2274
2275		$(this).on('mouseleave', function(){
2276			var leaveTimer = setTimeout(function(){
2277				$submenu.stop().slideUp(animationTime, function(){
2278					$submenu.css({left: ''});
2279				});
2280			}, delayTime);
2281
2282			$(this).on('mouseenter', function(){
2283				if(leaveTimer){
2284					clearTimeout(leaveTimer);
2285					leaveTimer = false;
2286				}
2287			});
2288		});
2289	}
2290});
2291
2292$(document).on('mouseenter', '.menu_top_block>li .dropdown>li', function(){
2293	var $this = $(this);
2294	var $submenu = $this.find('>.dropdown');
2295
2296	if($submenu.length && ((!$this.parents('.full').length && !$this.hasClass('full')) || $this.parents('.more').length)){
2297		var $menu = $this.parents('.menu');
2298		var $wrapmenu = $menu.parents('.wrap_menu');
2299		var arParentSubmenuForOpacity = [];
2300		topMenuEnterTimer = setTimeout(function(){
2301
2302			var wrapMenuWidth = $wrapmenu.actual('outerWidth');
2303			var wrapMenuLeft = $wrapmenu.offset().left;
2304			var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
2305			var $parentSubmenu = $this.parent();
2306			var bToLeft = $parentSubmenu.hasClass('toleft') ? true : false;
2307			if(!bToLeft){
2308				bToLeft = $this.offset().left + $this.actual('outerWidth') + $submenu.actual('outerWidth') > wrapMenuRight;
2309			}
2310			else{
2311				bToLeft = $this.offset().left + $this.actual('outerWidth') - $submenu.actual('outerWidth') < wrapMenuLeft;
2312			}
2313
2314			if(bToLeft){
2315				$this.find('>.dropdown').addClass('toleft').show();
2316			}
2317			else{
2318				$this.find('>.dropdown').removeClass('toleft').show();
2319			}
2320			var submenuLeft = $submenu.offset().left;
2321			var submenuRight = submenuLeft + $submenu.actual('outerWidth');
2322
2323			$this.parents('.dropdown').each(function(){
2324				var $this = $(this);
2325				var leftOffset = $this.offset().left;
2326				var rightOffset = leftOffset + $this.actual('outerWidth');
2327				if(leftOffset >= submenuLeft  && leftOffset < (submenuRight - 1) || (rightOffset > (submenuLeft + 1) && rightOffset <= submenuRight)){
2328					arParentSubmenuForOpacity.push($this);
2329					$this.find('>li>a').css({opacity: '0.1'});
2330				}
2331			});
2332		}, delayTime);
2333
2334		$this.unbind('mouseleave');
2335		$this.on('mouseleave', function(){
2336			var leaveTimer = setTimeout(function(){
2337				$this.find('.dropdown').removeClass('toleft').hide();
2338				if(arParentSubmenuForOpacity.length){
2339					for(i in arParentSubmenuForOpacity){
2340						arParentSubmenuForOpacity[i].find('>li>a').css({opacity: ''});
2341					}
2342				}
2343			}, delayTime);
2344
2345			$this.unbind('mouseenter');
2346			$this.on('mouseenter', function(){
2347				if(leaveTimer){
2348					clearTimeout(leaveTimer);
2349					leaveTimer = false;
2350				}
2351			});
2352		});
2353	}
2354});
2355
2356getGridSize = function(counts,slider) {
2357	var counts_item=1;
2358		//wide
2359		if(window.matchMedia('(min-width: 1200px)').matches){
2360			counts_item=counts[0];
2361			if(typeof(slider.data('lg_count')) !== 'undefined' && slider.data('lg_count') && $('.front.wide_page').length)
2362				counts_item=slider.data('lg_count');
2363		}
2364
2365		//large
2366		if(window.matchMedia('(max-width: 1200px)').matches){
2367			counts_item=counts[1];
2368		}
2369
2370		//middle
2371		if(window.matchMedia('(max-width: 992px)').matches){
2372			counts_item=counts[2];
2373		}
2374
2375		//small
2376		if(counts[3]){
2377			if(window.matchMedia('(max-width: 600px)').matches){
2378				counts_item=counts[3];
2379			}
2380		}
2381
2382		//exsmall
2383		if(counts[4]){
2384			if(window.matchMedia('(max-width: 400px)').matches){
2385				counts_item=counts[4];
2386			}
2387		}
2388	return counts_item;
2389}
2390
2391CheckFlexSlider = function(){
2392	$('.flexslider:not(.thmb)').each(function(){
2393		var slider = $(this);
2394		if(typeof(slider.data('flexslider')) != 'undefined')
2395		{
2396			if('vars' in slider.data('flexslider'))
2397			{
2398				slider.resize();
2399
2400				var counts = slider.data('flexslider').vars.counts;
2401				if(typeof(counts) != 'undefined' && slider.is(':visible')){
2402					var cnt = getGridSize(counts,slider);
2403					var to0 = (cnt != slider.data('flexslider').vars.minItems || cnt != slider.data('flexslider').vars.maxItems || cnt != slider.data('flexslider').vars.move);
2404					if(to0){
2405						slider.data('flexslider').vars.minItems = cnt;
2406						slider.data('flexslider').vars.maxItems = cnt;
2407						slider.data('flexslider').vars.move = cnt;
2408						slider.flexslider(0);
2409						slider.resize();
2410						slider.resize(); // twise!
2411					}
2412				}
2413			}
2414		}
2415	});
2416}
2417
2418InitFlexSlider = function() {
2419	$('.flexslider:not(.thmb):not(.flexslider-init)').each(function(){
2420		var slider = $(this);
2421		var options;
2422		var defaults = {
2423			animationLoop: false,
2424			controlNav: false,
2425			keyboard: false,
2426			pauseOnAction: false,
2427			pauseInvisible: false,
2428			directionNav: true,
2429			useCSS: false,
2430			animation: "slide"
2431		}
2432		var config = $.extend({}, defaults, options, slider.data('plugin-options'));
2433		if(!slider.parent().hasClass('top_slider_wrapp') && slider.is(':visible')){
2434			if(typeof(config.counts) != 'undefined' && config.direction !== 'vertical'){
2435				config.maxItems =  getGridSize(config.counts,slider);
2436				config.minItems = getGridSize(config.counts,slider);
2437				config.itemWidth = 200;
2438			}
2439			config.move = 1;
2440
2441			config.start = function(slider){
2442				var eventdata = {slider: slider};
2443				BX.onCustomEvent('onSlideInit', [eventdata]);
2444			}
2445
2446			config.after = function(slider){
2447				var eventdata = {slider: slider};
2448				BX.onCustomEvent('onSlideComplete', [eventdata]);
2449			}
2450
2451			config.end = function(slider){
2452				var eventdata = {slider: slider};
2453				BX.onCustomEvent('onSlideEnd', [eventdata]);
2454			}
2455
2456			slider.flexslider(config).addClass('flexslider-init');
2457			if(config.controlNav)
2458				slider.addClass('flexslider-control-nav');
2459			if(config.directionNav)
2460				slider.addClass('flexslider-direction-nav');
2461		}
2462	});
2463}
2464
2465InitZoomPict = function(el) {
2466	var block = $('.zoom_picture');
2467	if(typeof el !== 'undefined')
2468		block = el;
2469	if(block.length){
2470		var slide=block.closest('.slides');
2471		var zoomer = block,
2472			options,
2473			defaults = {
2474				zoomWidth: 200,
2475				zoomHeight: 200,
2476				adaptive: false,
2477				title: true,
2478				Xoffset: 15,
2479
2480			};
2481		var config = $.extend({}, defaults, options, zoomer.data('plugin-options'));
2482			zoomer.xzoom(config);
2483
2484		/*block.on('mouseleave', function(){
2485			if($('.xzoom-lens').length)
2486				block.data('xzoom').closezoom();
2487		})*/
2488	}
2489}
2490
2491var arBasketAsproCounters = arBasketPrices = {};
2492SetActualBasketFlyCounters = function(){
2493	if(arBasketAsproCounters.DEFAULT == true){
2494		$.ajax({
2495			url: arNextOptions['SITE_DIR'] + 'ajax/basket_fly.php',
2496			type: 'post',
2497			success: function(html){
2498				$('#basket_line .basket_fly').addClass('loaded').html(html);
2499			}
2500		});
2501	}
2502	else{
2503		$('.basket_fly .opener .basket_count .count').attr('class', 'count' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.READY.COUNT)
2504		$('.basket_fly .opener .basket_count + a').attr('href', arBasketAsproCounters['READY']['HREF'])
2505		$('.basket_fly .opener .basket_count').attr('title', arBasketAsproCounters.READY.TITLE).attr('class', 'basket_count small clicked' + (arBasketAsproCounters.READY.COUNT > 0 ? '' : ' empty'))
2506
2507		$('.basket_fly .opener .wish_count .count').attr('class', 'count' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.DELAY.COUNT)
2508		$('.basket_fly .opener .wish_count + a').attr('href', arBasketAsproCounters.DELAY.HREF)
2509		$('.basket_fly .opener .wish_count').attr('title', arBasketAsproCounters.DELAY.TITLE).attr('class', 'wish_count small clicked' + (arBasketAsproCounters.DELAY.COUNT > 0 ? '' : ' empty'))
2510
2511		$('.basket_fly .opener .compare_count .wraps_icon_block').attr('class', 'wraps_icon_block compare' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_block'));
2512		$('.basket_fly .opener .compare_count .count').attr('class', 'count' + (arBasketAsproCounters.COMPARE.COUNT > 0 ? '' : ' empty_items')).find('.items span').text(arBasketAsproCounters.COMPARE.COUNT)
2513		$('.basket_fly .opener .compare_count + a').attr('href', arBasketAsproCounters.COMPARE.HREF)
2514
2515	}
2516}
2517
2518CheckHeaderFixed = function(){
2519	var header_fixed = $('#headerfixed');
2520		header = $('header').first();
2521	if(header_fixed.length){
2522		if(header.length)
2523		{
2524			var isHeaderFixed = false,
2525				headerCanFix = true,
2526				headerFixedHeight = header_fixed.actual('outerHeight'),
2527				headerNormalHeight = header.actual('outerHeight'),
2528				headerDiffHeight = headerNormalHeight - headerFixedHeight,
2529				mobileBtnMenu = $('.btn.btn-responsive-nav'),
2530				headerTop = $('#panel:visible').actual('outerHeight');
2531				topBlock = $('.TOP_HEADER').first();
2532
2533			if(headerDiffHeight <= 0)
2534				headerDiffHeight = 0;
2535			if(topBlock.length)
2536				headerTop += topBlock.actual('outerHeight');
2537
2538			$(window).scroll(function(){
2539				if(!isMobile)
2540				{
2541					var scrollTop = $(window).scrollTop();
2542					headerCanFix = !mobileBtnMenu.is(':visible')/* && !$('.dropdown-menu:visible').length*/;
2543
2544					var current_is = $('.search-wrapper .search-input:visible'),
2545						title_search_result = $('.title-search-result.'+current_is.attr('id')),
2546						pos, pos_input;
2547
2548					if(!isHeaderFixed)
2549					{
2550						if((scrollTop > headerNormalHeight + headerTop) && headerCanFix)
2551						{
2552							isHeaderFixed = true;
2553							header_fixed.css('top', '-' + headerNormalHeight + 'px');
2554							header_fixed.addClass('fixed');
2555							// header_fixed.stop(0).animate({top: '0'}, 300);
2556
2557							header_fixed.animate({top: '0'}, {duration:300, complete:
2558								function(){}
2559							});
2560
2561							if($('nav.mega-menu.sliced').length)
2562								$('nav.mega-menu.sliced').removeClass('initied');
2563							CheckTopMenuDotted();
2564						}
2565					}
2566					else if(isHeaderFixed || !headerCanFix)
2567					{
2568						if((scrollTop <= headerDiffHeight + headerTop) || !headerCanFix)
2569						{
2570							isHeaderFixed = false;
2571							header_fixed.removeClass('fixed');
2572						}
2573					}
2574				}
2575			});
2576		}
2577	}
2578}
2579
2580CheckHeaderFixedMenu = function(){
2581	if(arNextOptions['THEME']['HEADER_FIXED'] == 2 && $('#headerfixed .js-nav').length && window.matchMedia('(min-width: 992px)').matches)
2582	{
2583		$('#headerfixed .js-nav').css('width','0');
2584		var all_width = 0,
2585			cont_width = $('#headerfixed .maxwidth-theme').actual('width'),
2586			padding_menu = $('#headerfixed .logo-row.v2 .menu-block').actual('outerWidth')-$('#headerfixed .logo-row.v2 .menu-block').actual('width');
2587		$('#headerfixed .logo-row.v2 > .inner-table-block').each(function(){
2588			if(!$(this).hasClass('menu-block'))
2589				all_width += $(this).actual('outerWidth');
2590		})
2591		$('#headerfixed .js-nav').width(cont_width-all_width-padding_menu);
2592	}
2593}
2594
2595CheckTopMenuPadding = function(){
2596	if($('.logo_and_menu-row .right-icons .wrap_icon').length && $('.logo_and_menu-row .menu-row').length){
2597		var menuPosition = $('.menu-row .menu-only').position().left,
2598			leftPadding = 0,
2599			rightPadding = 0;
2600		$('.logo_and_menu-row .menu-row>div').each(function(indx){
2601			if(!$(this).hasClass('menu-only')){
2602				var elementPosition = $(this).position().left,
2603					elementWidth = $(this).outerWidth()+1;
2604
2605				if(elementPosition > menuPosition){
2606					rightPadding += elementWidth;
2607				}else{
2608					leftPadding += elementWidth;
2609				}
2610			}
2611		}).promise().done(function(){
2612			$('.logo_and_menu-row .menu-only').css({'padding-left': leftPadding, 'padding-right': rightPadding});
2613		});
2614	}
2615}
2616
2617CheckTopMenuOncePadding = function(){
2618	if($('.menu-row.sliced .right-icons .wrap_icon').length){
2619		var menuPosition = $('.menu-row .menu-only').position().left,
2620			leftPadding = 0,
2621			rightPadding = 0;
2622		$('.menu-row.sliced .maxwidth-theme>div>div>div').each(function(indx){
2623			if(!$(this).hasClass('menu-only')){
2624				var elementPosition = $(this).position().left,
2625					elementWidth = $(this).outerWidth()+1;
2626
2627				if(elementPosition > menuPosition){
2628					rightPadding += elementWidth;
2629				}else{
2630					leftPadding += elementWidth;
2631				}
2632			}
2633		}).promise().done(function(){
2634			$('.menu-row.sliced .menu-only').css({'padding-left': leftPadding, 'padding-right': rightPadding});
2635		});
2636	}
2637}
2638
2639CheckSearchWidth = function(){
2640	if($('.logo_and_menu-row .search_wrap').length){
2641		var searchPosition = $('.logo_and_menu-row .search_wrap').position().left,
2642			maxWidth = $('.logo_and_menu-row .maxwidth-theme').width() - 2;
2643			width = 0;
2644
2645		$('.logo_and_menu-row .maxwidth-theme > .row >div').each(function(){
2646			if(!$(this).hasClass('search_wrap')){
2647				var elementWidth = $(this).outerWidth();
2648				width = (width ? width - elementWidth : maxWidth - elementWidth);
2649			}
2650		}).promise().done(function(){
2651			if($('.logo_and_menu-row .search_wrap.wide_search').length)
2652				$('.logo_and_menu-row .search_wrap .search-block').outerWidth(width);
2653			else
2654				$('.logo_and_menu-row .search_wrap').outerWidth(width);
2655			$('.logo_and_menu-row .search_wrap').css({'opacity': 1, 'visibility': 'visible'});
2656		});
2657	}
2658}
2659
2660scrollPreviewBlock = function(){
2661	if(typeof($.cookie('scroll_block')) != 'undefined' && $.cookie('scroll_block'))
2662	{
2663		var scroll_block = $($.cookie('scroll_block'));
2664		if(scroll_block.length)
2665		{
2666			$('body, html').animate({scrollTop: scroll_block.offset().top}, 500);
2667		}
2668		$.cookie('scroll_block', null);
2669	}
2670}
2671
2672scrollToBlock = function(block){
2673	if($(block).length)
2674	{
2675		var offset = $(block).offset().top;
2676		if(typeof($(block).data('toggle')) != 'undefined')
2677			$(block).click();
2678
2679		if(typeof($(block).data('offset')) != 'undefined')
2680			offset += $(block).data('offset');
2681		$('body, html').animate({scrollTop: offset}, 500);
2682	}
2683}
2684
2685SetFixedAskBlock = function(){
2686	if($('.ask_a_question_wrapper').length)
2687	{
2688		var offset = $('.ask_a_question_wrapper').offset(),
2689			footer_offset = 0,
2690			block = $('.ask_a_question_wrapper').find('.ask_a_question'),
2691			block_offset = BX.pos(block[0]),
2692			block_height = block_offset.bottom-block_offset.top,
2693			diff_top_scroll = $('#headerfixed').height() + 20;
2694
2695		if($('footer').length)
2696			footer_offset = $('footer').offset().top;
2697
2698		if($('.banner.CONTENT_BOTTOM').length)
2699			footer_offset = $('.banner.CONTENT_BOTTOM').offset().top;
2700
2701		if(/*offset.top+*/block_height+130 > block.closest('.fixed_wrapper').height())
2702			block.addClass('nonfixed');
2703		else
2704			block.removeClass('nonfixed');
2705
2706		if(block_height+diff_top_scroll+documentScrollTopLast + 130 > footer_offset)
2707		{
2708			block.removeClass('fixed').css({'top': 'auto', 'width': 'auto', 'bottom': 0});
2709			block.parent().css('position', 'static');
2710			block.parent().parent().css('position', 'static');
2711		}
2712		else
2713		{
2714			block.parent().removeAttr('style');
2715			block.parent().parent().removeAttr('style');
2716
2717			if(documentScrollTopLast + diff_top_scroll > offset.top)
2718			{
2719				var fixed_width = $('.fixed_block_fix').width();
2720				block.addClass('fixed').css({'top': diff_top_scroll, 'bottom': 'auto'});
2721				if(fixed_width)
2722					block.css({'width': $('.fixed_block_fix').width()})
2723			}
2724			else
2725				block.removeClass('fixed').css({'top': 0, 'width': 'auto'});
2726		}
2727	}
2728}
2729
2730MegaMenuFixed = function(){
2731	var animationTime = 150;
2732
2733	$('.logo_and_menu-row .burger').on('click', function(){
2734		$('.mega_fixed_menu').fadeIn(animationTime);
2735		$('.header_wrap').toggleClass('zindexed');
2736	});
2737
2738	$('.mega_fixed_menu .svg.svg-inline-close').on('click', function(){
2739		$(this).closest('.mega_fixed_menu').fadeOut(animationTime);
2740		$('.header_wrap').toggleClass('zindexed');
2741	});
2742
2743	$('.mega_fixed_menu .dropdown-menu .arrow').on('click', function(e){
2744		e.preventDefault();
2745		e.stopPropagation();
2746		$(this).closest('.dropdown-submenu').find('.dropdown-menu').slideToggle(animationTime);
2747		$(this).closest('.dropdown-submenu').addClass('opened');
2748	});
2749}
2750
2751CheckPopupTop = function(){
2752	var popup = $('.jqmWindow.show:last');
2753	if(!popup.length)
2754		popup = $('.jqmWindow.show');
2755	if(!popup.length)
2756		popup = $('.jqm-init.show');
2757	if(popup.length){
2758		var documentScollTop = $(document).scrollTop();
2759		var windowHeight = $(window).height();
2760		var popupTop = parseInt(popup.css('top'));
2761		var popupHeight = popup.height();
2762
2763		if(windowHeight >= popupHeight){
2764			// center
2765			popupTop = (windowHeight - popupHeight) / 2;
2766		}
2767		else{
2768			if(documentScollTop > documentScrollTopLast){
2769				// up
2770				popupTop -= documentScollTop - documentScrollTopLast;
2771			}
2772			else if(documentScollTop < documentScrollTopLast){
2773				// down
2774				popupTop += documentScrollTopLast - documentScollTop;
2775			}
2776
2777			if(popupTop + popupHeight < windowHeight){
2778				// bottom
2779				popupTop = windowHeight - popupHeight;
2780			}
2781			else if(popupTop > 0){
2782				// top
2783				popupTop = 0;
2784			}
2785		}
2786		popup.css('top', popupTop + 'px');
2787	}
2788}
2789
2790/*set price item*/
2791if(!funcDefined('setPriceItem')){
2792	var setPriceItem = function setPriceItem(main_block, quantity, rewrite_price, check_quantity, is_sku){
2793		var old_quantity = main_block.find('.to-cart').attr('data-ratio'),
2794			value = (typeof rewrite_price !== 'undefined' && rewrite_price ? rewrite_price : main_block.find('.to-cart').attr('data-value')),
2795			currency = main_block.find('.to-cart').attr('data-currency'),
2796			total_block = '<div class="total_summ"><div>
2796'+BX.message('TOTAL_SUMM_ITEM')+'<span></span></div></div>',
2797			price_block = main_block.find('.cost.prices'),
2798			check = (typeof check_quantity !== 'undefined' && check_quantity);
2799
2800		if(main_block.find('.buy_block').length)
2801		{
2802			if(!main_block.find('.buy_block .total_summ').length && !is_sku)
2803				$(total_block).appendTo(main_block.find('.buy_block'))
2804		}
2805		else if(main_block.find('.counter_wrapp').length)
2806		{
2807			if(!main_block.find('.counter_wrapp .total_summ').length && !is_sku)
2808				$(total_block).appendTo(main_block.find('.counter_wrapp:first'))
2809		}
2810		if(main_block.find('.total_summ').length)
2811		{
2812			if(value && currency)
2813			{
2814				if((1 == quantity && old_quantity == quantity) || (typeof is_sku !== 'undefined' && is_sku && !check))
2815				{
2816					main_block.find('.total_summ').slideUp(50);
2817				}
2818				else
2819				{
2820					main_block.find('.total_summ span').text(BX.Currency.currencyFormat((value*quantity), currency, true));
2821					if(main_block.find('.total_summ').is(':hidden'))
2822						main_block.find('.total_summ').slideDown(100);
2823				}
2824			}
2825			else
2826			{
2827				main_block.find('.total_summ').slideUp(100);
2828			}
2829		}
2830	}
2831}
2832
2833if(!funcDefined('getCurrentPrice')){
2834	var getCurrentPrice = function getCurrentPrice(price, currency, print_price){
2835		var val = '';
2836		var format_value = BX.Currency.currencyFormat(price, currency);
2837		if(print_price.indexOf(format_value) >= 0)
2838		{
2839			val = print_price.replace(format_value, '<span class="price_value">'+format_value+'</span><span class="price_currency">');
2840			val += '</span>';
2841		}
2842		else
2843		{
2844			val = print_price;
2845		}
2846
2847		return val;
2848	}
2849}
2850
2851$(document).ready(function(){
2852	//check width for menu and search
2853	CheckSearchWidth();
2854	MegaMenuFixed();
2855
2856	//ecommerce order
2857	if(arNextOptions["PAGES"]["ORDER_PAGE"])
2858	{
2859		var arUrl = parseUrlQuery();
2860		if("ORDER_ID" in arUrl)
2861		{
2862			var _id = arUrl["ORDER_ID"];
2863			if(arNextOptions['COUNTERS']['USE_FULLORDER_GOALS'] !== 'N')
2864			{
2865				var eventdata = {goal: 'goal_order_success', result: _id};
2866				BX.onCustomEvent('onCounterGoals', [eventdata])
2867			}
2868			if(checkCounters())
2869			{
2870				if(typeof BX.localStorage !== 'undefined'){
2871					var d = BX.localStorage.get('gtm_e_' + _id);
2872					if(typeof d === 'object'){
2873						window.dataLayer = window.dataLayer || [];
2874						dataLayer.push({"ecommerce": d});
2875					}
2876
2877					if(typeof localStorage !== 'undefined'){
2878						localStorage.removeItem('gtm_e_' + _id);
2879					}
2880				}
2881			}
2882		}
2883	}
2884	var bSafary = false;
2885	if(typeof jQuery.browser == 'object')
2886		bSafary = jQuery.browser.safari;
2887	else if(typeof browser == 'object')
2888		bSafary = browser.safari;
2889	if(!bSafary){
2890		CheckTopMenuPadding();
2891		CheckTopMenuOncePadding();
2892		CheckTopMenuDotted();
2893		CheckHeaderFixed();
2894		setTimeout(function() {$(window).resize();}, 150); // need to check resize flexslider & menu
2895		setTimeout(function() {$(window).scroll();}, 250); // need to check position fixed ask block
2896	}
2897	else{
2898		setTimeout(function(){
2899			$(window).resize(); // need to check resize flexslider & menu
2900			setTimeout(function(){
2901				CheckTopMenuPadding();
2902				CheckTopMenuOncePadding();
2903				CheckTopMenuDotted();
2904				CheckHeaderFixed();
2905
2906				setTimeout(function(){
2907					$(window).scroll();
2908				}, 50);
2909			}, 50);
2910		}, 350);
2911	}
2912
2913	if(arNextOptions['THEME']['USE_DEBUG_GOALS'] === 'Y')
2914		$.cookie('_ym_debug', 1, {path: '/',});
2915	else
2916		$.cookie('_ym_debug', null, {path: '/',});
2917
2918	/*  --- Bind mobile menu  --- */
2919	var $mobileMenu = $("#mobilemenu")
2920	if($mobileMenu.length){
2921		$mobileMenu.isLeftSide = $mobileMenu.hasClass('leftside')
2922		$mobileMenu.isOpen = $mobileMenu.hasClass('show')
2923		$mobileMenu.isDowndrop = $mobileMenu.find('>.scroller').hasClass('downdrop')
2924
2925		$('#mobileheader .burger').click(function(){
2926			SwipeMobileMenu()
2927		})
2928
2929		if($mobileMenu.isLeftSide){
2930			$mobileMenu.parent().append('<div id="mobilemenu-overlay"></div>')
2931			var $mobileMenuOverlay = $('#mobilemenu-overlay')
2932
2933			$mobileMenuOverlay.click(function(){
2934				if($mobileMenu.isOpen){
2935					CloseMobileMenu()
2936				}
2937			});
2938
2939			$(document).swiperight(function(e) {
2940				if(!$(e.target).closest('.flexslider').length && !$(e.target).closest('.swipeignore').length){
2941					OpenMobileMenu()
2942				}
2943			});
2944
2945			$(document).swipeleft(function(e) {
2946				if(!$(e.target).closest('.flexslider').length && !$(e.target).closest('.swipeignore').length){
2947					CloseMobileMenu()
2948				}
2949			});
2950		}
2951		else{
2952			$('#mobileheader').click(function(e){
2953				if(!$(e.target).closest('#mobilemenu').length && !$(e.target).closest('.burger').length && $mobileMenu.isOpen){
2954					CloseMobileMenu()
2955				}
2956			});
2957		}
2958
2959		$('#mobilemenu .menu a,#mobilemenu .social-icons a').click(function(e){
2960			var $this = $(this)
2961			if($this.hasClass('parent')){
2962				e.preventDefault()
2963
2964				if(!$mobileMenu.isDowndrop){
2965					$this.closest('li').addClass('expanded')
2966					MoveMobileMenuWrapNext()
2967				}
2968				else{
2969					if(!$this.closest('li').hasClass('expanded')){
2970						$this.closest('li').addClass('expanded')
2971					}
2972					else{
2973						$this.closest('li').removeClass('expanded')
2974					}
2975				}
2976			}
2977			else{
2978				if($this.closest('li').hasClass('counters')){
2979					var href = $this.attr('href')
2980					if(typeof href !== 'undefined'){
2981						window.location.href = href
2982						window.location.reload()
2983					}
2984				}
2985
2986				if(!$this.closest('.menu_back').length){
2987					CloseMobileMenu()
2988				}
2989			}
2990		})
2991
2992		$('#mobilemenu .dropdown .menu_back').click(function(e){
2993			e.preventDefault()
2994			var $this = $(this)
2995			MoveMobileMenuWrapPrev()
2996			setTimeout(function(){
2997				$this.closest('.expanded').removeClass('expanded')
2998			}, 400)
2999		})
3000
3001		OpenMobileMenu = function(){
3002			if(!$mobileMenu.isOpen){
3003				// hide styleswitcher
3004				if($('.style-switcher').hasClass('active')){
3005					$('.style-switcher .switch').trigger('click')
3006				}
3007				$('.style-switcher .switch').hide()
3008
3009				if($mobileMenu.isLeftSide){
3010					// show overlay
3011					setTimeout(function(){
3012						$mobileMenuOverlay.fadeIn('fast')
3013					}, 100)
3014				}
3015				else{
3016					// scroll body to top & set fixed
3017					$('body').scrollTop(0).css({position: 'fixed'})
3018
3019					// set menu top = bottom of header
3020					$mobileMenu.css({top: + ($('#mobileheader').height() + $('#mobileheader').offset().top) + 'px'})
3021
3022					// change burger icon
3023					$('#mobileheader .burger').addClass('c')
3024				}
3025
3026				// show menu
3027				$mobileMenu.addClass('show')
3028				$mobileMenu.isOpen = true
3029
3030				if(!$mobileMenu.isDowndrop){
3031					var $wrap = $mobileMenu.find('.wrap').first()
3032					var params =  $wrap.data('params')
3033					if(typeof params === 'undefined'){
3034						params = {
3035							depth: 0,
3036							scroll: {},
3037							height: {}
3038						}
3039					}
3040					$wrap.data('params', params)
3041				}
3042			}
3043		}
3044
3045		CloseMobileMenu = function(){
3046			if($mobileMenu.isOpen){
3047				// hide menu
3048				$mobileMenu.removeClass('show')
3049				$mobileMenu.isOpen = false
3050
3051				// show styleswitcher
3052				$('.style-switcher .switch').show()
3053
3054				if($mobileMenu.isLeftSide){
3055					// hide overlay
3056					setTimeout(function(){
3057						$mobileMenuOverlay.fadeOut('fast')
3058					}, 100)
3059				}
3060				else{
3061					// change burger icon
3062					$('#mobileheader .burger').removeClass('c')
3063
3064					// body unset fixed
3065					$('body').css({position: ''})
3066				}
3067
3068				if(!$mobileMenu.isDowndrop){
3069					setTimeout(function(){
3070						var $scroller = $mobileMenu.find('.scroller').first()
3071						var $wrap = $mobileMenu.find('.wrap').first()
3072						var params =  $wrap.data('params')
3073						params.depth = 0
3074						$wrap.data('params', params).attr('style', '')
3075						$mobileMenu.scrollTop(0)
3076						$scroller.css('height', '')
3077					}, 400)
3078				}
3079			}
3080		}
3081
3082		SwipeMobileMenu = function(){
3083			if($mobileMenu.isOpen){
3084				CloseMobileMenu()
3085			}
3086			else{
3087				OpenMobileMenu()
3088			}
3089		}
3090
3091		function MoveMobileMenuWrapNext(){
3092			if(!$mobileMenu.isDowndrop){
3093				var $scroller = $mobileMenu.find('.scroller').first()
3094				var $wrap = $mobileMenu.find('.wrap').first()
3095				if($wrap.length){
3096					var params =  $wrap.data('params')
3097					var $dropdownNext = $mobileMenu.find('.expanded>.dropdown').eq(params.depth)
3098					if($dropdownNext.length){
3099						// save scroll position
3100						params.scroll[params.depth] = parseInt($mobileMenu.scrollTop())
3101
3102						// height while move animating
3103						params.height[params.depth + 1] = Math.max($dropdownNext.height(), (!params.depth ? $wrap.height() : $mobileMenu.find('.expanded>.dropdown').eq(params.depth - 1).height()))
3104						$scroller.css('height', params.height[params.depth + 1] + 'px')
3105
3106						// inc depth
3107						++params.depth
3108
3109						// translateX for move
3110						$wrap.css('transform', 'translateX(' + -100 * params.depth + '%)')
3111
3112						// scroll to top
3113						setTimeout(function() {
3114							$mobileMenu.animate({scrollTop : 0}, 200);
3115						}, 100)
3116
3117						// height on enimating end
3118						var h = $dropdownNext.height()
3119						setTimeout(function() {
3120							if(h){
3121								$scroller.css('height', h + 'px')
3122							}
3123							else{
3124								$scroller.css('height', '')
3125							}
3126						}, 200)
3127					}
3128
3129					$wrap.data('params', params)
3130				}
3131			}
3132		}
3133
3134		function MoveMobileMenuWrapPrev(){
3135			if(!$mobileMenu.isDowndrop){
3136				var $scroller = $mobileMenu.find('.scroller').first()
3137				var $wrap = $mobileMenu.find('.wrap').first()
3138				if($wrap.length){
3139					var params =  $wrap.data('params')
3140					if(params.depth > 0){
3141						var $dropdown = $mobileMenu.find('.expanded>.dropdown').eq(params.depth - 1)
3142						if($dropdown.length){
3143							// height while move animating
3144							$scroller.css('height', params.height[params.depth] + 'px')
3145
3146							// dec depth
3147							--params.depth
3148
3149							// translateX for move
3150							$wrap.css('transform', 'translateX(' + -100 * params.depth + '%)')
3151
3152							// restore scroll position
3153							setTimeout(function() {
3154								$mobileMenu.animate({scrollTop : params.scroll[params.depth]}, 200);
3155							}, 100)
3156
3157							// height on enimating end
3158							var h = (!params.depth ? false : $mobileMenu.find('.expanded>.dropdown').eq(params.depth - 1).height())
3159							setTimeout(function() {
3160								if(h){
3161									$scroller.css('height', h + 'px')
3162								}
3163								else{
3164									$scroller.css('height', '')
3165								}
3166							}, 200)
3167						}
3168					}
3169
3170					$wrap.data('params', params)
3171				}
3172			}
3173		}
3174	}
3175	/*  --- END Bind mobile menu  --- */
3176
3177	/* change type2 menu for fixed */
3178	if($('#headerfixed .js-nav').length)
3179	{
3180		if(arNextOptions['THEME']['HEADER_FIXED'] == 2)
3181			CheckHeaderFixedMenu();
3182
3183		setTimeout(function(){
3184			$('#headerfixed .js-nav').addClass('opacity1');
3185		},350);
3186	}
3187
3188	// -- scroll after apply option
3189	if($('.instagram_ajax').length)
3190	{
3191		BX.addCustomEvent('onCompleteAction', function(eventdata){
3192			if(eventdata.action === 'instagrammLoaded')
3193				scrollPreviewBlock();
3194		});
3195	}
3196	else
3197		scrollPreviewBlock();
3198
3199
3200	scrollToTop();
3201	checkVerticalMobileFilter();
3202
3203	$.extend( $.validator.messages, {
3204		required: BX.message('JS_REQUIRED'),
3205		email: BX.message('JS_FORMAT'),
3206		equalTo: BX.message('JS_PASSWORD_COPY'),
3207		minlength: BX.message('JS_PASSWORD_LENGTH'),
3208		remote: BX.message('JS_ERROR')
3209	});
3210
3211	$.validator.addMethod(
3212		'regexp', function( value, element, regexp ){
3213			var re = new RegExp( regexp );
3214			return this.optional( element ) || re.test( value );
3215		},
3216		BX.message('JS_FORMAT')
3217	);
3218
3219	$.validator.addMethod(
3220		'filesize', function( value, element, param ){
3221			return this.optional( element ) || ( element.files[0].size <= param )
3222		},
3223		BX.message('JS_FILE_SIZE')
3224	);
3225
3226	$.validator.addMethod(
3227		'date', function( value, element, param ) {
3228			var status = false;
3229			if(!value || value.length <= 0){
3230				status = false;
3231			}
3232			else{
3233				// html5 date allways yyyy-mm-dd
3234				var re = new RegExp('^([0-9]{4})(.)([0-9]{2})(.)([0-9]{2})$');
3235				var matches = re.exec(value);
3236				if(matches){
3237					var composedDate = new Date(matches[1], (matches[3] - 1), matches[5]);
3238					status = ((composedDate.getMonth() == (matches[3] - 1)) && (composedDate.getDate() == matches[5]) && (composedDate.getFullYear() == matches[1]));
3239				}
3240				else{
3241					// firefox
3242					var re = new RegExp('^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4})$');
3243					var matches = re.exec(value);
3244					if(matches){
3245						var composedDate = new Date(matches[5], (matches[3] - 1), matches[1]);
3246						status = ((composedDate.getMonth() == (matches[3] - 1)) && (composedDate.getDate() == matches[1]) && (composedDate.getFullYear() == matches[5]));
3247					}
3248				}
3249			}
3250			return status;
3251		}, BX.message('JS_DATE')
3252	);
3253
3254	$.validator.addMethod(
3255		'extension', function(value, element, param){
3256			param = typeof param === 'string' ? param.replace(/,/g, '|') : 'png|jpe?g|gif';
3257			return this.optional(element) || value.match(new RegExp('.(' + param + ')$', 'i'));
3258		}, BX.message('JS_FILE_EXT')
3259	);
3260
3261	$.validator.addMethod(
3262		'captcha', function( value, element, params ){
3263			return $.validator.methods.remote.call(this, value, element,{
3264				url: arNextOptions['SITE_DIR'] + 'ajax/check-captcha.php',
3265				type: 'post',
3266				data:{
3267					captcha_word: value,
3268					captcha_sid: function(){
3269						return $(element).closest('form').find('input[name="captcha_sid"]').val();
3270					}
3271				}
3272			});
3273		},
3274		BX.message('JS_ERROR')
3275	);
3276
3277	$.validator.addMethod(
3278		'recaptcha', function(value, element, param){
3279			var id = $(element).closest('form').find('.g-recaptcha').attr('data-widgetid');
3280			if(typeof id !== 'undefined'){
3281				return grecaptcha.getResponse(id) != '';
3282			}
3283			else{
3284				return true;
3285			}
3286		}, BX.message('JS_RECAPTCHA_ERROR')
3287	);
3288
3289	$.validator.addClassRules({
3290		'phone':{
3291			regexp: arNextOptions['THEME']['VALIDATE_PHONE_MASK']
3292		},
3293		'confirm_password':{
3294			equalTo: 'input[name="REGISTER\[PASSWORD\]"]',
3295			minlength: 6
3296		},
3297		'password':{
3298			minlength: 6
3299		},
3300		'inputfile':{
3301			extension: arNextOptions['THEME']['VALIDATE_FILE_EXT'],
3302			filesize: 5000000
3303		},
3304		'captcha':{
3305			captcha: ''
3306		},
3307		'recaptcha':{
3308			recaptcha: ''
3309		}
3310	});
3311	/*atum
3312	if(arNextOptions['THEME']['PHONE_MASK']){
3313		$('input.phone').inputmask('mask', {'mask': arNextOptions['THEME']['PHONE_MASK']});
3314	}
3315	*/
3316	/*city*/
3317	$('select.region').on('change', function(){
3318		var val = parseInt($(this).val());
3319		if($('select.city').length)
3320		{
3321			if(val)
3322			{
3323				$('select.city option').hide();
3324				$('select.city option').prop('disabled', 'disabled');
3325				$('select.city option[data-parent_section='+val+']').prop('disabled', '');
3326				$('select.city option:eq(0)').prop('disabled', '');
3327				$('select.city').ikSelect('reset');
3328				$('select.city option[data-parent_section='+val+']').show();
3329			}
3330			else
3331				$('select.city option').prop('disabled', 'disabled');
3332				$('select.city option:eq(0)').prop('disabled', '');
3333				$('select.city').ikSelect('reset');
3334		}
3335	})
3336
3337	$('select.city, select.region').on('change', function(){
3338		var _this = $(this),
3339			val = parseInt(_this.val());
3340		if(_this.hasClass('region'))
3341		{
3342			$('select.city option:eq(0)').show();
3343			$('select.city').val(0);
3344		}
3345
3346		if((_this.hasClass('region') && !val) || _this.hasClass('city'))
3347		{
3348			$.ajax({
3349				type: 'POST',
3350				data: {ID: val},
3351			}).success(function(html){
3352				var ob = BX.processHTML(html);
3353				$('.ajax_items')[0].innerHTML = ob.HTML;
3354				BX.ajax.processScripts(ob.SCRIPT);
3355			})
3356		}
3357	})
3358
3359	$('.mobile_regions .city_item').on('click', function(e){
3360    	e.preventDefault();
3361    	var _this = $(this);
3362    	$.removeCookie('current_region');
3363		$.cookie('current_region', _this.data('id'), {path: '/',domain: arNextOptions['SITE_ADDRESS']});
3364		location.href = _this.attr('href');
3365    })
3366
3367	/* toggle */
3368	var $this = this,
3369		previewParClosedHeight = 25;
3370
3371	$('section.toggle >
3371 label').prepend($('<i />').addClass('fa fa-plus'));
3372	$('section.toggle > label').prepend($('<i />').addClass('fa fa-minus'));
3373	$('section.toggle.active > p').addClass('preview-active');
3374	$('section.toggle.active > div.toggle-content').slideDown(350, function() {});
3375
3376	$('section.toggle > label').click(function(e){
3377		var parentSection = $(this).parent(),
3378			parentWrapper = $(this).parents('div.toogle'),
3379			previewPar = false,
3380			isAccordion = parentWrapper.hasClass('toogle-accordion');
3381
3382		if(isAccordion && typeof(e.originalEvent) != 'undefined') {
3383			parentWrapper.find('section.toggle.active > label').trigger('click');
3384		}
3385
3386		parentSection.toggleClass('active');
3387
3388		// Preview Paragraph
3389		if( parentSection.find('> p').get(0) ){
3390			previewPar = parentSection.find('> p');
3391			var previewParCurrentHeight = previewPar.css('height');
3392			previewPar.css('height', 'auto');
3393			var previewParAnimateHeight = previewPar.css('height');
3394			previewPar.css('height', previewParCurrentHeight);
3395		}
3396
3397		// Content
3398		var toggleContent = parentSection.find('> div.toggle-content');
3399
3400		if( parentSection.hasClass('active') ){
3401			$(previewPar).animate({
3402				height: previewParAnimateHeight
3403			}, 350, function() {
3404				$(this).addClass('preview-active');
3405			});
3406			toggleContent.slideDown(350, function() {});
3407		}
3408		else{
3409			$(previewPar).animate({
3410				height: previewParClosedHeight
3411			}, 350, function() {
3412				$(this).removeClass('preview-active');
3413			});
3414			toggleContent.slideUp(350, function() {});
3415		}
3416	});
3417
3418	$('a[rel=tooltip]').tooltip();
3419	$('span[data-toggle=tooltip]').tooltip();
3420
3421	$('.toggle .more_items').on('click', function(){
3422		$(this).closest('.toggle').find('.collapsed').fadeToggle();
3423		$(this).remove();
3424		if(typeof $(this).data('resize') !== 'undefined' && $(this).data('resize'))
3425			$(window).resize();
3426	})
3427	$('.toggle_menu .more_items').on('click', function(){
3428		$(this).closest('.toggle_menu').find('.collapsed').addClass('clicked_exp');
3429		$(this).remove();
3430	})
3431
3432	/* search sync */
3433	$(document).on('keyup', '.search-input-div input', function(e){
3434		var inputValue = $(this).val();
3435		$('.search-input-div input:not(:focus').val(inputValue);
3436
3437		if($(this).closest('#headerfixed').length)
3438		{
3439			if(e.keyCode == 13)
3440				$('.search form').submit();
3441		}
3442	});
3443	$(document).on('click', '.search-button-div button', function(e){
3444		if($(this).closest('#headerfixed').length)
3445			$('.search form').submit();
3446	});
3447
3448	$('.inline-search-show, .inline-search-hide').on('click', function(e){
3449		if(window.matchMedia('(min-width: 600px)').matches)
3450		{
3451			if(typeof($(this).data('type_search')) != 'undefined' && $(this).data('type_search') == 'fixed')
3452				$('.inline-search-block').addClass('fixed');
3453
3454			if(arNextOptions['THEME']['TYPE_SEARCH'] != 'fixed')
3455			{
3456				var height_block = 0;
3457				/*if(!$('header > .top-block').length || $('header.long').length)
3458				{*/
3459					if($('header.long').length)
3460					{
3461						height_block = $('header.long').closest('#header').actual('outerHeight');
3462					}
3463					else
3464					{
3465						height_block = $(this).closest('.maxwidth-theme').actual('outerHeight');
3466						if($(this).closest('.top-block').length)
3467							height_block = $(this).closest('.top-block').actual('outerHeight');
3468						else if($(this).closest('header.header-v8').length)
3469							height_block = $(this).closest('header.header-v8').actual('outerHeight');
3470					}
3471					if($('#bx-panel').length)
3472						height_block += $('#bx-panel').actual('outerHeight');
3473					$('.inline-search-block').css({
3474						'height': height_block,
3475						'line-height': height_block-4+'px',
3476						'top': -height_block
3477					})
3478				//}
3479			}
3480
3481			$('.inline-search-block').toggleClass('show');
3482			if($('.top-block').length)
3483			{
3484				if($('.inline-search-block').hasClass('show'))
3485					$('.inline-search-block').css('background', $('.top-block').css('background-color'));
3486				else
3487					$('.inline-search-block').css('background', '#fff');
3488			}
3489			if(arNextOptions['THEME']['TYPE_SEARCH'] == 'fixed')
3490			{
3491				if($('.inline-search-block').hasClass('show'))
3492					$('<div class="jqmOverlay search"></div>').appendTo('body');
3493				else
3494					$('.jqmOverlay').detach();
3495			}
3496		}
3497		else
3498			location.href = arNextOptions['PAGES']['CATALOG_PAGE_URL']+'?q';
3499	})
3500
3501	/* close search block */
3502	$("html, body").on('mousedown', function(e){
3503		if(typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0)
3504		{
3505			e.stopPropagation();
3506			var search_target = $(e.target).closest('.bx_searche');
3507			if(!$(e.target).hasClass('inline-search-block') && !$(e.target).hasClass('svg') && !search_target.length)
3508			{
3509				$('.inline-search-block').removeClass('show');
3510				$('.title-search-result').hide();
3511				if(arNextOptions['THEME']['TYPE_SEARCH'] == 'fixed')
3512					$('.jqmOverlay.search').detach();
3513			}
3514
3515			if($('#basket_line .basket_fly').length && parseInt($("#basket_line .basket_fly").css("right")) >= 0){
3516				if(!$(e.target).closest('.basket_wrapp').length)
3517					$("#basket_line .basket_fly").stop().animate({"right": -$("#basket_line .basket_fly").outerWidth()}, 150);
3518			}
3519
3520			if(isMobile)
3521			{
3522				if(search_target.length)
3523					location.href = search_target.attr('href');
3524			}
3525			var class_name = $(e.target).attr('class');
3526			if(typeof(class_name) == 'undefined' || class_name.indexOf('tooltip') < 0) //tooltip link
3527				$('.tooltip-link').tooltip('hide');
3528		}
3529	});
3530	$('.inline-search-block').find('*').on('mousedown', function(e){
3531		e.stopPropagation();
3532	});
3533
3534	/*check mobile device*/
3535	if(jQuery.browser.mobile){
3536		$('.hint span').remove();
3537
3538		$(document).on('click', '*[data-event="jqm"]', function(e){
3539			e.preventDefault();
3540			e.stopPropagation();
3541			var _this = $(this);
3542			var name = _this.data('name');
3543
3544			if(window.matchMedia('(min-width:992px)').matches)
3545			{
3546				if(!$(this).hasClass('clicked'))
3547				{
3548					$(this).addClass('clicked');
3549					$(this).jqmEx();
3550					$(this).trigger('click');
3551				}
3552				return false;
3553			}
3554			else if(name.length){
3555				var script = arNextOptions['SITE_DIR'] + 'form/';
3556				var paramsStr = ''; var arTriggerAttrs = {};
3557				$.each(_this.get(0).attributes, function(index, attr){
3558					var attrName = attr.nodeName;
3559					var attrValue = _this.attr(attrName);
3560					arTriggerAttrs[attrName] = attrValue;
3561					if(/^data\-param\-(.+)$/.test(attrName)){
3562						var key = attrName.match(/^data\-param\-(.+)$/)[1];
3563						paramsStr += key + '=' + attrValue + '&';
3564					}
3565				});
3566
3567				var triggerAttrs = JSON.stringify(arTriggerAttrs);
3568				var encTriggerAttrs = encodeURIComponent(triggerAttrs);
3569				script += '?name=' + name + '&' + paramsStr + 'data-trigger=' + encTriggerAttrs;
3570
3571				location.href = script;
3572			}
3573		});
3574
3575		$('.fancybox').removeClass('fancybox');
3576	}
3577	else
3578	{
3579		$(document).on('click', '*[data-event="jqm"]', function(e){
3580			e.preventDefault();
3581			e.stopPropagation();
3582			if(!$(this).hasClass('clicked'))
3583			{
3584				$(this).addClass('clicked');
3585				$(this).jqmEx();
3586				$(this).trigger('click');
3587			}
3588			return false;
3589		});
3590	}
3591
3592	$('.animate-load').on('click', function(){
3593		if(!jQuery.browser.mobile)
3594			$(this).parent().addClass('loadings');
3595	})
3596
3597	BX.addCustomEvent('onCompleteAction', function(eventdata, _this){
3598		try{
3599			if(eventdata.action === 'loadForm')
3600			{
3601				$(_this).parent().removeClass('loadings');
3602				$(_this).removeClass('clicked');
3603			}
3604			else if(eventdata.action === 'loadBasket')
3605			{
3606				$('.basket-link.basket').attr('title', arBasketPrices.BASKET_SUMM_TITLE);
3607				$('.basket-link.delay').attr('title', arBasketPrices.DELAY_SUMM_TITLE);
3608
3609				if(arBasketPrices.BASKET_COUNT>0)
3610				{
3611					$('.basket-link.basket').addClass('basket-count');
3612					$('.basket-link.basket .count').removeClass('empted');
3613					if($('.basket-link.basket .prices').length)
3614						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM);
3615				}
3616				else
3617				{
3618					$('.basket-link.basket').removeClass('basket-count');
3619					$('.basket-link.basket .count').addClass('empted');
3620					if($('.basket-link.basket .prices').length)
3621						$('.basket-link.basket .prices').html(arBasketPrices.BASKET_SUMM_TITLE_SMALL);
3622				}
3623				$('.basket-link.basket .count').text(arBasketPrices.BASKET_COUNT);
3624				if(arBasketPrices.DELAY_COUNT>0)
3625				{
3626					$('.basket-link.delay').addClass('basket-count');
3627					$('.basket-link.delay .count').removeClass('empted');
3628				}
3629				else
3630				{
3631					$('.basket-link.delay').removeClass('basket-count');
3632					$('.basket-link.delay .count').addClass('empted');
3633				}
3634				$('.basket-link.delay .count').text(arBasketPrices.DELAY_COUNT);
3635			}
3636			else if(eventdata.action === 'loadActualBasketCompare')
3637			{
3638				var compare_count = Object.keys(arBasketAspro.COMPARE).length;
3639				if(compare_count>0)
3640				{
3641					$('.basket-link.compare').addClass('basket-count');
3642					$('.basket-link.compare .count').removeClass('empted');
3643					if($('#compare_fly').length)
3644						$('#compare_fly').removeClass('empty_block');
3645				}
3646				else
3647				{
3648					$('.basket-link.compare').removeClass('basket-count');
3649					$('.basket-link.compare .count').addClass('empted');
3650					if($('#compare_fly').length)
3651						$('#compare_fly').addClass('empty_block');
3652				}
3653				$('.basket-link.compare .count').text(compare_count);
3654			}
3655			else if(eventdata.action === 'loadRSS')
3656			{
3657			}
3658		}
3659		catch(e){
3660			console.error(e)
3661		}
3662	})
3663
3664	/*slices*/
3665	if($('.banners-small .item.normal-block').length)
3666		$('.banners-small .item.normal-block').sliceHeight();
3667	if($('.teasers .item').length)
3668		$('.teasers .item').sliceHeight();
3669	if($('.wrap-portfolio-front .row.items > div').length)
3670		$('.wrap-portfolio-front .row.items > div').sliceHeight({'row': '.row.items', 'item': '.item1'});
3671
3672	/* bug fix in ff*/
3673	$('img').removeAttr('draggable');
3674
3675	clicked_tab = 0;
3676
3677	$('.title-tab-heading').on('click', function(){
3678		var container = $(this).parent(),
3679			slide_block = $(this).next(),
3680			bReviewTab = container.hasClass('media_review');
3681
3682		clicked_tab = container.index()+1;
3683
3684		container.siblings().removeClass('active');
3685		$('.catalog.detail .nav.nav-tabs li').removeClass('active');
3686
3687		if(container.hasClass('active'))
3688		{
3689			if(bReviewTab)
3690			{
3691				$('#reviews_content').slideUp(200, function(){
3692					container.removeClass('active');
3693				});
3694			}
3695			else
3696			{
3697				slide_block.slideUp(200, function(){
3698					container.removeClass('active');
3699				});
3700			}
3701		}
3702		else
3703		{
3704			container.addClass('active');
3705			if(bReviewTab)
3706			{
3707				$('#reviews_content').slideDown();
3708			}
3709			else
3710			{
3711				slide_block.slideDown();
3712				if(typeof container.attr('id') !== 'undefined' && container.attr('id') == 'descr'){
3713					var $gallery = $('.galerys-block');
3714					if($gallery.length){
3715						var bTypeBig = $gallery.find('.big_slider').length;
3716						var $slider = bTypeBig ? $gallery.find('.big_slider') : $gallery.find('.small_slider');
3717						InitFlexSlider();
3718						var interval = setInterval(function(){
3719							if($slider.find('.slides .item').attr('style').indexOf('height') === -1){
3720								$(window).resize();
3721							}
3722							else{
3723								clearInterval(interval);
3724							}
3725						}, 100);
3726					}
3727				}
3728			}
3729		}
3730	})
3731
3732	InitFlexSlider();
3733
3734	setTimeout(function(){
3735		InitTopestMenuGummi();
3736		isOnceInited = true;
3737	},50);
3738
3739	InitZoomPict();
3740
3741	$('body').on( 'click', '.captcha_reload', function(e){
3742		var captcha = $(this).parents('.captcha-row');
3743		e.preventDefault();
3744		$.ajax({
3745			url: arNextOptions['SITE_DIR'] + 'ajax/captcha.php'
3746		}).done(function(text){
3747			captcha.find('input[name=captcha_sid]').val(text);
3748			captcha.find('img').attr('src', '/bitrix/tools/captcha.php?captcha_sid=' + text);
3749			captcha.find('input[name=captcha_word]').val('').removeClass('error');
3750			captcha.find('.captcha_input').removeClass('error').find('.error').remove();
3751		});
3752	});
3753
3754	/* show print */
3755	if(arNextOptions["PAGES"]["BASKET_PAGE"])
3756	{
3757		if(arNextOptions["THEME"]["SHOW_BASKET_PRINT"]=="Y")
3758		{
3759			if($('.page-top h1').length)
3760				$('<div class="print-link" title="'+arNextOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><i class="svg svg-print"></i></div>').insertBefore($('.page-top h1'));
3761		}
3762	}
3763	else
3764	{
3765		if(arNextOptions['THEME']['PRINT_BUTTON'] == 'Y')
3766		{
3767			setTimeout(function(){
3768				if($('.page-top .rss-block.top').length)
3769				{
3770					$('<div class="print-link" title="'+arNextOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><i class="svg svg-print"></i></div>').insertBefore($('.page-top .rss-block.top .share_wrapp'));
3771				}
3772				else if($('.page-top .rss').length)
3773				{
3774					$('<div class="print-link" title="'+arNextOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><i class="svg svg-print"></i></div>').insertAfter($('.page-top .rss'));
3775				}
3776				else if($('.page-top h1').length)
3777					$('<div class="print-link" title="'+arNextOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"]+'"><i class="svg svg-print"></i></div>').insertBefore($('.page-top h1'));
3778				// else
3779					// $('footer .print-block').html('<div class="print-link"><i class="svg svg-print"><svg id="Print.svg" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path class="cls-1" d="M1553,287h-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,1553,287Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1539 -274)"/></svg></i></div>');
3780			},150);
3781		}
3782	}
3783
3784	$(document).on('click', '.print-link', function(){
3785		window.print();
3786	})
3787
3788	$('.head-block .item-link').on('click', function(){
3789		var _this = $(this);
3790		_this.siblings().removeClass('active');
3791		_this.addClass('active');
3792	})
3793
3794	$('table.table').each(function(){
3795		var _this = $(this),
3796			first_td = _this.find('thead tr th');
3797		if(!first_td.length)
3798			first_td = _this.find('thead tr td');
3799		if(first_td.length)
3800		{
3801			var j = 0;
3802			_this.find('tbody tr td').each(function(i){
3803				if(j > first_td.length-1)
3804					j = 0;
3805				$('<div class="th-mobile">'+first_td[j].textContent+'</div>').appendTo($(this));
3806				j++;
3807			})
3808		}
3809	})
3810
3811	if(window.matchMedia('(min-width: 768px)').matches)
3812		$('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
3813
3814
3815	if(window.matchMedia('(max-width: 767px)').matches)
3816		$('.wrapper_middle_menu.wrap_menu').addClass('mobile');
3817
3818	$(document).on('click', '.show_props', function(){
3819		$(this).prev('.props_list_wrapp').stop().slideToggle(333);
3820		$(this).find('.char_title').toggleClass('opened');
3821	});
3822
3823	$('.see_more').on('click', function(e) {
3824		e.preventDefault();
3825		var see_more = ($(this).is('.see_more') ? $(this) : $(this).parents('.see_more').first());
3826		var see_moreText = (see_more.find('> a').length ? see_more.find('> a') : see_more);
3827		var see_moreHiden = see_more.parent().find('> .d');
3828		if(see_more.hasClass('open')){
3829			see_moreText.text(BX.message('CATALOG_VIEW_MORE'));
3830			see_more.removeClass('open');
3831			see_moreHiden.hide();
3832		}
3833		else{
3834			see_moreText.text(BX.message('CATALOG_VIEW_LESS'));
3835			see_more.addClass('open');
3836			see_moreHiden.show();
3837		}
3838		return false;
3839	});
3840
3841	$('.button.faq_button').click(function(e){
3842		e.preventDefault();
3843		$(this).toggleClass('opened');
3844		$('.faq_ask .form').slideToggle();
3845	});
3846
3847	$('.staff.list .staff_section .staff_section_title a').click(function(e) {
3848		e.preventDefault();
3849		$(this).parents('.staff_section').toggleClass('opened');
3850		$(this).parents('.staff_section').find('.staff_section_items').stop().slideToggle(600);
3851		$(this).parents('.staff_section_title').find('.opener_icon').toggleClass('opened');
3852	});
3853
3854	$('.jobs_wrapp .item .name').click(function(e) {
3855		$(this).closest('.item').toggleClass('opened');
3856		$(this).closest('.item').find('.description_wrapp').stop().slideToggle(600);
3857		$(this).closest('.item').find('.opener_icon').toggleClass('opened');
3858	});
3859
3860	$('.faq.list .item .q a').on('click', function(e){
3861		e.preventDefault();
3862		$(this).parents('.item').toggleClass('opened');
3863		$(this).parents('.item').find('.a').stop().slideToggle();
3864		$(this).parents('.item').find('.q .opener_icon').toggleClass('opened');
3865	});
3866
3867	$('.opener_icon').click(function(e) {
3868		e.preventDefault();
3869		$(this).parent().find('a').trigger('click');
3870	});
3871
3872	$('.dotdot').dotdotdot();
3873
3874	$('.more_block span').on('click', function() {
3875		var content_offset=$('.catalog_detail .tabs_section').offset();
3876		$('html, body').animate({scrollTop: content_offset.top-43}, 400);
3877	});
3878
3879	$(document).on("click", ".counter_block:not(.basket) .plus", function(){
3880		if(!$(this).parents('.basket_wrapp').length){
3881			if($(this).parent().data("offers")!="Y"){
3882				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
3883					input = $(this).parents(".counter_block").find("input[type=text]")
3884					tmp_ratio = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('ratio'),
3885					isDblQuantity = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('float_ratio'),
3886					ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
3887					max_value='';
3888					currentValue = input.val();
3889
3890
3891				if(isDblQuantity)
3892					ratio = Math.round(ratio*arNextOptions.JS_ITEM_CLICK.precisionFactor)/arNextOptions.JS_ITEM_CLICK.precisionFactor;
3893
3894				curValue = (isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10));
3895
3896				curValue += ratio;
3897				if (isDblQuantity){
3898					curValue = Math.round(curValue*arNextOptions.JS_ITEM_CLICK.precisionFactor)/arNextOptions.JS_ITEM_CLICK.precisionFactor;
3899				}
3900				if(parseFloat($(this).data('max'))>0){
3901					if(input.val() < $(this).data('max')){
3902						if(curValue<=$(this).data('max'))
3903							input.val(curValue);
3904
3905						input.change();
3906					}
3907				}else{
3908					input.val(curValue);
3909					input.change();
3910				}
3911			}
3912		}
3913	});
3914	$(document).on("click", ".counter_block:not(.basket) .minus", function(){
3915		if(!$(this).parents('.basket_wrapp').length){
3916			if($(this).parent().data("offers")!="Y"){
3917				var isDetailSKU2 = $(this).parents('.counter_block_wr').length;
3918					input = $(this).parents(".counter_block").find("input[type=text]")
3919					tmp_ratio = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('ratio'),
3920					isDblQuantity = !isDetailSKU2 ? $(this).parents(".counter_wrapp").find(".to-cart").data('float_ratio') : $(this).parents('tr').first().find("td.buy .to-cart").data('float_ratio'),
3921					ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
3922					max_value='';
3923					currentValue = input.val();
3924
3925				if(isDblQuantity)
3926					ratio = Math.round(ratio*arNextOptions.JS_ITEM_CLICK.precisionFactor)/arNextOptions.JS_ITEM_CLICK.precisionFactor;
3927
3928				curValue = (isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10));
3929
3930				curValue -= ratio;
3931				if (isDblQuantity){
3932					curValue = Math.round(curValue*arNextOptions.JS_ITEM_CLICK.precisionFactor)/arNextOptions.JS_ITEM_CLICK.precisionFactor;
3933				}
3934
3935				if(parseFloat($(this).parents(".counter_block").find(".plus").data('max'))>0){
3936					if(currentValue > ratio){
3937						if(curValue<ratio){
3938							input.val(ratio);
3939						}else{
3940							input.val(curValue);
3941						}
3942						input.change();
3943					}
3944				}else{
3945					if(curValue > ratio){
3946						input.val(curValue);
3947					}else{
3948						if(ratio){
3949							input.val(ratio);
3950						}else if(currentValue > 1){
3951							input.val(curValue);
3952						}
3953					}
3954					input.change();
3955				}
3956			}
3957		}
3958	});
3959
3960	$('.counter_block input[type=text]').numeric({allow:"."});
3961	$('.counter_block input[type=text]').on('focus', function(){
3962		$(this).addClass('focus');
3963	})
3964	$('.counter_block input[type=text]').on('blur', function(){
3965		$(this).removeClass('focus');
3966	})
3967	$(document).on("change", ".counter_block input[type=text]", function(e){
3968		if(!$(this).parents('.basket_wrapp').length){
3969			var val = $(this).val(),
3970				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'),
3971				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'),
3972				ratio=( isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10));
3973
3974			if(isDblQuantity)
3975				ratio = Math.round(ratio*arNextOptions.JS_ITEM_CLICK.precisionFactor)/arNextOptions.JS_ITEM_CLICK.precisionFactor;
3976
3977			if($(this).hasClass('focus'))
3978				val -= (val % ratio);
3979
3980			if(parseFloat($(this).parents(".counter_block").find(".plus").data('max'))>0){
3981				if(val>parseFloat($(this).parents(".counter_block").find(".plus").data('max'))){
3982					val=parseFloat($(this).parents(".counter_block").find(".plus").data('max'));
3983					val -= (val % ratio);
3984				}
3985			}
3986			if(val<ratio){
3987				val=ratio;
3988			}else if(!parseFloat(val)){
3989				val=1;
3990			}
3991
3992			$(this).parents('.counter_block').parent().parent().find('.to-cart').attr('data-quantity', val);
3993			$(this).parents('.counter_block').parent().parent().find('.one_click').attr('data-quantity', val);
3994			$(this).val(val);
3995
3996			var eventdata = {type: 'change', params: {id: $(this), value: val}};
3997			BX.onCustomEvent('onCounterProductAction', [eventdata]);
3998		}
3999	});
4000
4001	BX.addCustomEvent('onCounterProductAction', function(eventdata) {
4002		if(typeof eventdata != 'object'){
4003			eventdata = {type: 'undefined'};
4004		}
4005		try{
4006			if(typeof eventdata.type != 'undefined'){
4007				if(!eventdata.params.id.closest('.gifts').length) // no gift
4008				{
4009					var obProduct = eventdata.params.id.data('product');
4010					if(typeof window[obProduct] == 'object')
4011					{
4012						window[obProduct].setPriceAction('Y');
4013					}
4014					else if(eventdata.params.id.length)
4015					{
4016						if(eventdata.params.id.closest('.main_item_wrapper').length && arNextOptions['THEME']['SHOW_TOTAL_SUMM'] == 'Y')
4017						{
4018							setPriceItem(eventdata.params.id.closest('.main_item_wrapper'), eventdata.params.value);
4019						}
4020					}
4021					BX.onCustomEvent('onCounterProductActionResize');
4022				}
4023			}
4024		}
4025		catch(e){
4026			console.error(e)
4027		}
4028	});
4029
4030	/*slide cart*/
4031	$(document).on('mouseenter', '#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ', function() {
4032		$(this).closest('.basket_normal').find('.popup').addClass('block');
4033		$(this).closest('.basket_normal').find('.basket_popup_wrapp').stop(true,true).slideDown(150);
4034	});
4035	$(document).on('mouseleave', '#basket_line .basket_normal .basket_block ', function() {
4036		var th=$(this);
4037		$(this).closest('.basket_normal').find('.basket_popup_wrapp').stop(true,true).slide
4037Up(150, function(){
4038			th.closest('.basket_normal').find('.popup').removeClass('block');
4039		});
4040	});
4041
4042	$(document).on('click', '.popup_button_basket', function(){
4043		var th=$(".to-cart[data-item="+$(this).data("item")+"]");
4044
4045		var val = th.attr('data-quantity');
4046
4047		if(!val) $val = 1;
4048
4049		var tmp_props=th.data("props"),
4050			props='',
4051			part_props='',
4052			add_props='N',
4053			fill_prop={},
4054			iblockid = th.data('iblockid'),
4055			offer = th.data('offers'),
4056			rid='',
4057			basket_props='',
4058			item = th.attr('data-item');
4059
4060		if(offer!="Y"){
4061			offer = "N";
4062		}else{
4063			basket_props=th.closest('.prices_tab').find('.bx_sku_props input').val();
4064		}
4065		if(tmp_props){
4066			props=tmp_props.split(";");
4067		}
4068		if(th.data("part_props")){
4069			part_props=th.data("part_props");
4070		}
4071		if(th.data("add_props")){
4072			add_props=th.data("add_props");
4073		}
4074		if($('.rid_item').length){
4075			rid=$('.rid_item').data('rid');
4076		}else if(th.data('rid')){
4077			rid=th.data('rid');
4078		}
4079
4080		fill_prop=fillBasketPropsExt(th, 'prop', 'bx_ajax_text');
4081
4082		fill_prop.quantity=val;
4083		fill_prop.add_item='Y';
4084		fill_prop.rid=rid;
4085		fill_prop.offers=offer;
4086		fill_prop.iblockID=iblockid;
4087		fill_prop.part_props=part_props;
4088		fill_prop.add_props=add_props;
4089		fill_prop.props=JSON.stringify(props);
4090		fill_prop.item=item;
4091		fill_prop.basket_props=basket_props;
4092
4093		$.ajax({
4094			type:"POST",
4095			url:arNextOptions['SITE_DIR']+"ajax/item.php",
4096			data:fill_prop,
4097			dataType:"json",
4098			success:function(data){
4099				$('.basket_error_frame').jqmHide();
4100				if("STATUS" in data){
4101					getActualBasket(fill_prop.iblockID);
4102					if(data.STATUS === 'OK'){
4103						th.hide();
4104						th.closest('.counter_wrapp').find('.counter_block').hide();
4105						th.parents('tr').find('.counter_block_wr .counter_block').hide();
4106						th.closest('.button_block').addClass('wide');
4107						th.parent().find('.in-cart').show();
4108
4109						addBasketCounter(item);
4110						$('.wish_item[data-item='+item+']').removeClass("added");
4111						$('.wish_item[data-item='+item+']').find(".value").show();
4112						$('.wish_item[data-item='+item+']').find(".value.added").hide();
4113
4114						if($("#ajax_basket").length)
4115							reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
4116
4117						if($("#basket_line .basket_fly").length){
4118							if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches)
4119								basketFly('open', 'N');
4120							else
4121								basketFly('open');
4122						}
4123
4124					}else{
4125						showBasketError(BX.message(data.MESSAGE));
4126					}
4127				}else{
4128					showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
4129				}
4130			}
4131		});
4132	})
4133
4134	$(document).on( 'click', '.to-cart:not(.read_more)', function(e){
4135		e.preventDefault();
4136		var th=$(this);
4137		if(!th.hasClass('clicked'))
4138		{
4139			th.addClass('clicked');
4140			var val = $(this).attr('data-quantity');
4141
4142			if(!val) $val = 1;
4143
4144			var tmp_props=$(this).data("props"),
4145				props='',
4146				part_props='',
4147				add_props='N',
4148				fill_prop={},
4149				iblockid = $(this).data('iblockid'),
4150				offer = $(this).data('offers'),
4151				rid='',
4152				basket_props='',
4153				item = $(this).attr('data-item');
4154
4155			if(offer!="Y"){
4156				offer = "N";
4157			}else{
4158				basket_props=$(this).closest('.prices_tab').find('.bx_sku_props input').val();
4159			}
4160			if(tmp_props){
4161				props=tmp_props.split(";");
4162			}
4163			if($(this).data("part_props")){
4164				part_props=$(this).data("part_props");
4165			}
4166			if($(this).data("add_props")){
4167				add_props=$(this).data("add_props");
4168			}
4169			if($('.rid_item').length){
4170				rid=$('.rid_item').data('rid');
4171			}else if($(this).data('rid')){
4172				rid=$(this).data('rid');
4173			}
4174
4175			fill_prop=fillBasketPropsExt(th, 'prop', th.data('bakset_div'));
4176
4177			fill_prop.quantity=val;
4178			fill_prop.add_item='Y';
4179			fill_prop.rid=rid;
4180			fill_prop.offers=offer;
4181			fill_prop.iblockID=iblockid;
4182			fill_prop.part_props=part_props;
4183			fill_prop.add_props=add_props;
4184			fill_prop.props=JSON.stringify(props);
4185			fill_prop.item=item;
4186			fill_prop.basket_props=basket_props;
4187
4188			if(th.data("empty_props")=="N"){
4189				showBasketError($("#"+th.data("bakset_div")).html(), BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th);
4190
4191				var eventdata = {action:'loadForm'};
4192				BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
4193			}else{
4194				$.ajax({
4195					type:"POST",
4196					url:arNextOptions['SITE_DIR']+"ajax/item.php",
4197					data:fill_prop,
4198					dataType:"json",
4199					success:function(data){
4200						getActualBasket(fill_prop.iblockID);
4201
4202						var eventdata = {action:'loadForm'};
4203						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
4204
4205						if(data !==null){
4206							if("STATUS" in data){
4207								if(data.MESSAGE_EXT===null)
4208									data.MESSAGE_EXT='';
4209								if(data.STATUS === 'OK'){
4210									th.hide();
4211									th.closest('.counter_wrapp').find('.counter_block').hide();
4212									th.parents('tr').find('.counter_block_wr .counter_block').hide();
4213									th.closest('.button_block').addClass('wide');
4214									th.parent().find('.in-cart').show();
4215
4216									addBasketCounter(item);
4217									$('.wish_item[data-item='+item+']').removeClass("added");
4218									$('.wish_item[data-item='+item+']').find(".value").show();
4219									$('.wish_item[data-item='+item+']').find(".value.added").hide();
4220
4221									if($("#ajax_basket").length)
4222										reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
4223
4224									if($("#basket_line .basket_fly").length){
4225										if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches  || $("#basket_line .basket_fly.loaded").length)
4226											basketFly('open', 'N');
4227										else
4228											basketFly('open');
4229									}
4230
4231								}else{
4232									showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT);
4233								}
4234							}else{
4235								showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
4236							}
4237						}else{
4238							th.hide();
4239							th.closest('.counter_wrapp').find('.counter_block').hide();
4240							th.parents('tr').find('.counter_block_wr .counter_block').hide();
4241							th.closest('.button_block').addClass('wide');
4242							th.parent().find('.in-cart').show();
4243
4244							addBasketCounter(item);
4245							$('.wish_item[data-item='+item+']').removeClass("added");
4246							$('.wish_item[data-item='+item+']').find(".value").show();
4247							$('.wish_item[data-item='+item+']').find(".value.added").hide();
4248
4249							if($("#ajax_basket").length)
4250								reloadTopBasket('add', $('#ajax_basket'), 200, 5000, 'Y');
4251
4252							if($("#basket_line .basket_fly").length)
4253							{
4254								if(th.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches  || $("#basket_line .basket_fly.loaded").length)
4255									basketFly('open', 'N');
4256								else
4257									basketFly('open');
4258							}
4259						}
4260					}
4261				});
4262			}
4263		}
4264
4265	})
4266
4267	$(document).on('click', '.to-subscribe', function(e){
4268		e.preventDefault();
4269		var th=$(this);
4270		if(!th.hasClass('clicked'))
4271		{
4272			th.addClass('clicked');
4273			if($(this).is('.auth'))
4274			{
4275				if($(this).hasClass('nsubsc'))
4276				{
4277					$(this).jqmEx();
4278					$(this).trigger('click');
4279				}
4280				else
4281				{
4282					location.href=arNextOptions['SITE_DIR']+'auth/?backurl='+location.pathname;
4283				}
4284			}
4285			else
4286			{
4287				var item = $(this).attr('data-item'),
4288					iblockid = $(this).attr('data-iblockid');
4289				$(this).hide();
4290				$(this).parent().find('.in-subscribe').show();
4291				$.get(arNextOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
4292					$.proxy(function(data){
4293						$('.wish_item[data-item=' + item + ']').removeClass('added');
4294						getActualBasket(iblockid);
4295					})
4296				);
4297				th.removeClass('clicked');
4298			}
4299		}
4300	})
4301
4302	$(document).on('click', '.in-subscribe', function(e){
4303		e.preventDefault();
4304		var item = $(this).attr('data-item'),
4305			iblockid = $(this).attr('data-iblockid');;
4306		$(this).hide();
4307		$(this).parent().find('.to-subscribe').removeClass('clicked');
4308		$(this).parent().find('.to-subscribe').show();
4309		$.get(arNextOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&subscribe_item=Y',
4310			$.proxy(function(data){
4311				getActualBasket(iblockid);
4312			})
4313		);
4314	})
4315
4316	$(document).on('click', '.wish_item', function(e){
4317		e.preventDefault();
4318		var val = $(this).attr('data-quantity'),
4319			_this = $(this),
4320			offer = $(this).data('offers'),
4321			iblockid = $(this).data('iblock'),
4322			tmp_props=$(this).data("props"),
4323			props='',
4324			item = $(this).attr('data-item');
4325			item2 = $(this).attr('data-item');
4326
4327		if(!_this.hasClass('clicked'))
4328		{
4329			_this.addClass('clicked');
4330			if(!val) $val = 1;
4331			if(offer!="Y") offer = "N";
4332			if(tmp_props){
4333				props=tmp_props.split(";");
4334			}
4335			if(!$(this).hasClass('text')){
4336				if($(this).hasClass('added')){
4337					$(this).hide();
4338					$(this).closest('.wish_item_button').find('.to').show();
4339
4340					$('.like_icons').each(function(){
4341						if($(this).find('.wish_item.text[data-item="'+item+'"]').length){
4342							$(this).find('.wish_item.text[data-item="'+item+'"]').removeClass('added');
4343							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value').show();
4344							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value.added').hide();
4345						}
4346						if($(this).find('.wish_item_button').length){
4347							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added');
4348							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show();
4349							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();
4350						}
4351					})
4352				}
4353				else{
4354					$(this).hide();
4355					$(this).closest('.wish_item_button').find('.in').addClass('added').show();
4356
4357					$('.like_icons').each(function(){
4358						if($(this).find('.wish_item.text[data-item="'+item+'"]').length){
4359							$(this).find('.wish_item.text[data-item="'+item+'"]').addClass('added');
4360							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value').hide();
4361							$(this).find('.wish_item.text[data-item="'+item+'"]').find('.value.added').css({"display":"block"})
4362						}
4363						if($(this).find('.wish_item_button').length){
4364							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added');
4365							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide();
4366							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();
4367						}
4368					})
4369				}
4370			}else{
4371				if(!$(this).hasClass('added')){
4372					$('.wish_item[data-item=' + item + ']').addClass('added');
4373					$('.wish_item[data-item=' + item + ']').find('.value').hide();
4374					$('.wish_item[data-item=' + item + ']').find('.value.added').css('display','block');
4375
4376					$('.like_icons').each(function(){
4377						if($(this).find('.wish_item_button').length){
4378							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added');
4379							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide();
4380							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();
4381						}
4382					})
4383				}else{
4384					$('.wish_item[data-item=' + item + ']').removeClass('added');
4385					$('.wish_item[data-item=' + item + ']').find('.value').show();
4386					$('.wish_item[data-item=' + item + ']').find('.value.added').hide();
4387
4388					$('.like_icons').each(function(){
4389						if($(this).find('.wish_item_button').length){
4390							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added');
4391							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show();
4392							$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();
4393						}
4394					})
4395				}
4396			}
4397
4398			$('.in-cart[data-item=' + item + ']').hide();
4399			$('.to-cart[data-item=' + item + ']').removeClass('clicked');
4400			$('.to-cart[data-item=' + item + ']').parent().removeClass('wide');
4401			if(!$('.counter_block[data-item=' + item + ']').closest('.counter_wrapp').find('.to-order').length)
4402			{
4403				$('.to-cart[data-item=' + item + ']').show();
4404				$('.counter_block[data-item=' + item + ']').show();
4405			}
4406			if(!$(this).closest('.module-cart').size()){
4407				$.ajax({
4408					type:"GET",
4409					url:arNextOptions['SITE_DIR']+"ajax/item.php",
4410					data:"item="+item2+"&quantity="+val+"&wish_item=Y"+"&offers="+offer+"&iblockID="+iblockid+"&props="+JSON.stringify(props),
4411					dataType:"json",
4412					success: function(data){
4413						getActualBasket(iblockid);
4414						if(data !==null){
4415							if(data.MESSAGE_EXT===null)
4416								data.MESSAGE_EXT='';
4417							if("STATUS" in data){
4418								if(data.STATUS === 'OK'){
4419									if(arNextOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
4420										var eventdata = {goal: 'goal_wish_add', params: {id: item2}};
4421										BX.onCustomEvent('onCounterGoals', [eventdata]);
4422									}
4423									if($("#ajax_basket").length)
4424										reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
4425
4426									if($("#basket_line .basket_fly").length){
4427										if(_this.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches || $("#basket_line .basket_fly.loaded").length)
4428											basketFly('wish', 'N');
4429										else
4430											basketFly('wish');
4431									}
4432								}else{
4433									showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT, BX.message("ERROR_ADD_DELAY_ITEM"));
4434								}
4435							}else{
4436								showBasketError(BX.message(data.MESSAGE)+' <br/>'+data.MESSAGE_EXT, BX.message("ERROR_ADD_DELAY_ITEM"));
4437							}
4438						}else{
4439							if($("#ajax_basket").length)
4440								reloadTopBasket('wish', $('#ajax_basket'), 200, 5000, 'N');
4441
4442							if($("#basket_line .basket_fly").length){
4443								if(_this.closest('.fast_view_frame').length || window.matchMedia('(max-width: 767px)').matches || $("#basket_line .basket_fly.loaded").length)
4444									basketFly('wish', 'N');
4445								else
4446									basketFly('wish');
4447							}
4448						}
4449					_this.removeClass('clicked');
4450					}
4451				});
4452			}
4453		}
4454
4455	})
4456
4457	$(document).on('click', '.compare_item', function(e){
4458		e.preventDefault();
4459		var item = $(this).attr('data-item');
4460		var iblockID = $(this).attr('data-iblock');
4461		var th=$(this);
4462		if(!th.hasClass('clicked'))
4463		{
4464			th.addClass('clicked');
4465			if(!$(this).hasClass('text')){
4466				if($(this).hasClass('added')){
4467					$(this).hide();
4468					$(this).closest('.compare_item_button').find('.to').show();
4469
4470					/*sync other button*/
4471					$('.like_icons').each(function(){
4472						if($(this).find('.compare_item.text[data-item="'+item+'"]').length){
4473							$(this).find('.compare_item.text[data-item="'+item+'"]').removeClass('added');
4474							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value').show();
4475							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value.added').hide();
4476						}
4477						if($(this).find('.compare_item_button').length){
4478							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added');
4479							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show();
4480							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();
4481						}
4482					})
4483				}
4484				else{
4485					$(this).hide();
4486					$(this).closest('.compare_item_button').find('.in').show();
4487
4488					/*sync other button*/
4489					$('.like_icons').each(function(){
4490						if($(this).find('.compare_item.text[data-item="'+item+'"]').length){
4491							$(this).find('.compare_item.text[data-item="'+item+'"]').addClass('added');;
4492							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value').hide();
4493							$(this).find('.compare_item.text[data-item="'+item+'"]').find('.value.added').css({"display":"block"});
4494						}
4495						if($(this).find('.compare_item_button').length){
4496							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added');
4497							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show();
4498							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();
4499						}
4500					})
4501				}
4502			}else{
4503				if(!$(this).hasClass('added')){
4504					$('.compare_item[data-item=' + item + ']').addClass('added');
4505					$('.compare_item[data-item=' + item + ']').find('.value').hide();
4506					$('.compare_item[data-item=' + item + ']').find('.value.added').css('display','block');
4507
4508					/*sync other button*/
4509					$('.like_icons').each(function(){
4510						if($(this).find('.compare_item_button').length){
4511							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added');
4512							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show();
4513							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();
4514						}
4515					})
4516				}else{
4517					$('.compare_item[data-item=' + item + ']').removeClass('added');
4518					$('.compare_item[data-item=' + item + ']').find('.value').show();
4519					$('.compare_item[data-item=' + item + ']').find('.value.added').hide();
4520
4521					/*sync other button*/
4522					$('.like_icons').each(function(){
4523						if($(this).find('.compare_item_button').length){
4524							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added');
4525							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show();
4526							$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();
4527						}
4528					})
4529				}
4530			}
4531
4532			$.get(arNextOptions['SITE_DIR'] + 'ajax/item.php?item=' + item + '&compare_item=Y&iblock_id=' + iblockID,
4533				$.proxy(function(data){
4534					getActualBasket(iblockID, 'Compare');
4535					if($('#compare_fly').length){
4536						jsAjaxUtil.InsertDataToNode(arNextOptions['SITE_DIR'] + 'ajax/show_compare_preview_fly.php', 'compare_fly', false);
4537					}
4538				th.removeClass('clicked');
4539				})
4540			);
4541		}
4542
4543	});
4544
4545	$('.fancy').fancybox({
4546		openEffect  : 'fade',
4547		closeEffect : 'fade',
4548		nextEffect : 'fade',
4549		prevEffect : 'fade',
4550		tpl:{
4551			closeBtn : '<a title="'+BX.message('FANCY_CLOSE')+'" class="fancybox-item fancybox-close" href="javascript:;"></a>',
4552			next     : '<a title="'+BX.message('FANCY_NEXT')+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
4553			prev     : '<a title="'+BX.message('FANCY_PREV')+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
4554		},
4555	});
4556	$('.fancybox').fancybox()
4557
4558	$('.tabs>li').on('click', function(){
4559		var parent = $(this).parent();
4560		if(!$(this).hasClass('active')){
4561			var sliderIndex = $(this).index(),
4562				curLiNav=$(this).closest('.top_blocks').find('.slider_navigation').find('>li:eq(' + sliderIndex + ')'),
4563				curLi=$(this).closest('.top_blocks').siblings('.tabs_content').find('>li:eq(' + sliderIndex + ')');
4564			$(this).addClass('active').addClass('cur').siblings().removeClass('active').removeClass('cur');
4565			curLi.addClass('cur').siblings().removeClass('cur');
4566			curLiNav.addClass('cur').siblings().removeClass('cur');
4567
4568			if(parent.hasClass('ajax')) // front tabs
4569			{
4570				if(!$(this).hasClass('clicked'))
4571				{
4572					$.ajax({
4573						url: arNextOptions['SITE_DIR'] + 'include/mainpage/comp_catalog_ajax.php',
4574						type: 'POST',
4575						data: {AJAX_POST: 'Y', AJAX_PARAMS: $(this).closest('.tab_slider_wrapp').find('.request-data').data('value'), GLOBAL_FILTER: curLi.data('filter')},
4576					}).success(function(html){
4577						curLi.find('.tabs_slider').html(html);
4578						setTimeout(function(){
4579							curLi.addClass('opacity1');
4580						}, 100);
4581
4582						/*equal height*/
4583						curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible .item-title').sliceHeight({item:'.catalog_item:visible'});
4584						curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible').sliceHeight({item:'.catalog_item:visible'});
4585						curLi.find('.catalog_block .catalog_item_wrapp .catalog_item:visible').sliceHeight({classNull: '.footer_button', item:'.catalog_item:visible'});
4586
4587						initCountdown();
4588					})
4589					$(this).addClass('clicked');
4590				}
4591			}
4592		}
4593	})
4594
4595	/*search click*/
4596	$('.search_block .icon').on('click', function(){
4597		var th=$(this);
4598		if($(this).hasClass('open')){
4599			$(this).closest('.center_block').find('.search_middle_block').removeClass('active');
4600			$(this).removeClass('open');
4601			$(this).closest('.center_block').find('.search_middle_block').find('.noborder').hide();
4602		}else{
4603			setTimeout(function(){
4604				th.closest('.center_block').find('.search_middle_block').find('.noborder').show();
4605			},100);
4606			$(this).closest('.center_block').find('.search_middle_block').addClass('active');
4607			$(this).addClass('open');
4608		}
4609	})
4610	$(document).on('mouseenter', '.display_list .item_wrap', function(){
4611		$(this).prev().addClass('prev');
4612	});
4613	$(document).on('mouseleave', '.display_list .item_wrap', function(){
4614		$(this).prev().removeClass('prev');
4615	});
4616	$(document).on('mouseenter', '.catalog_block .item_wrap', function(){
4617		$(this).addClass('shadow_delay');
4618	});
4619	$(document).on('mouseleave', '.catalog_block .item_wrap', function(){
4620		$(this).removeClass('shadow_delay');
4621	});
4622	$(document).on('click', '.no_goods .button', function(){
4623		$('.bx_filter .smartfilter .bx_filter_search_reset').trigger('click');
4624	});
4625
4626	$(document).on('click', '.ajax_load_btn', function(){
4627		var url=$(this).closest('.container').find('.module-pagination .flex-direction-nav .flex-next').attr('href'),
4628			th=$(this).find('.more_text_ajax');
4629
4630		if(!th.hasClass('loading'))
4631		{
4632			th.addClass('loading');
4633			var objUrl = parseUrlQuery(),
4634				add_url = '';
4635			if('clear_cache' in objUrl)
4636			{
4637				if(objUrl.clear_cache == 'Y')
4638					add_url = '&clear_cache=Y';
4639			}
4640			$.ajax({
4641				url: url+add_url,
4642				data: {"ajax_get": "Y", "AJAX_REQUEST": "Y"},
4643				success: function(html){
4644					if($('.ajax_load').length)
4645					{
4646						th.removeClass('loading');
4647						if($('.display_list').length){
4648							$('.display_list').append(html);
4649						}else if($('.block_list').length){
4650							$('.block_list').append(html);
4651							touchItemBlock('.catalog_item a');
4652						}else if($('.module_products_list').length){
4653							$('.module_products_list > tbody').append(html);
4654						}
4655						setStatusButton();
4656						initCountdown();
4657
4658						var eventdata = {action:'ajaxContentLoadedTab'};
4659						BX.onCustomEvent('onAjaxSuccess', [eventdata]);
4660						$('.bottom_nav').html($(html).find('.bottom_nav').html());
4661					}
4662					else
4663					{
4664						if($('.banners-small.front').length)
4665						{
4666							$('.banners-small .items.row').append(html);
4667							$('.bottom_nav').html($('.banners-small .items.row .bottom_nav').html());
4668							$('.banners-small .items.row .bottom_nav').remove();
4669						}
4670						else
4671						{
4672							if(th.closest('.item-views').find('.items').length)
4673							{
4674								th.closest('.item-views').find('.items').append(html);
4675							}
4676							else
4677							{
4678								$(html).insertBefore($('.blog .bottom_nav'));
4679							}
4680
4681							$('.bottom_nav').html($('.bottom_nav:hidden').html());
4682							$('.bottom_nav:hidden').remove();
4683						}
4684
4685						var eventdata = {action:'ajaxContentLoaded', content: html};
4686						BX.onCustomEvent('onCompleteAction', [eventdata, th[0]]);
4687
4688						setTimeout(function(){
4689							$('.banners-small .item.normal-block').sliceHeight({resize: false});
4690							if($('.item.slice-item').length)
4691							{
4692								$('.item.slice-item .title').sliceHeight({resize: false});
4693								$('.item.slice-item').sliceHeight({resize: false});
4694							}
4695							th.removeClass('loading');
4696						}, 100);
4697					}
4698				}
4699			})
4700		}
4701	})
4702
4703	//set cookie for basket link click
4704	$(document).on('click', '.bx_ordercart_order_table_container .control > a', function(e){
4705		$.removeCookie('click_basket', {path: '/'});
4706		$.cookie('click_basket', 'Y', {path: '/'});
4707	})
4708
4709	$(document).on('click', '.bx_compare .tabs-head li', function(){
4710		var url=$(this).find('.sortbutton').data('href');
4711		BX.showWait(BX("bx_catalog_compare_block"));
4712		$.ajax({
4713			url: url,
4714			data: {'ajax_action': 'Y'},
4715			success: function(html){
4716				history.pushState(null, null, url);
4717				$('#bx_catalog_compare_block').html(html);
4718				BX.closeWait();
4719			}
4720		})
4721	})
4722	var hoveredTrs;
4723	$(document).on({
4724		mouseover: function(e){
4725			var _ = $(this);
4726			var tbodyIndex = _.closest('tbody').index()+1; //+1 for nth-child
4727			var trIndex = _.index()+1; // +1 for nth-child
4728			hoveredTrs = $(e.delegateTarget).find('.data_table_props')
4729				.children(':nth-child('+tbodyIndex+')')
4730				.children(':nth-child('+trIndex+')').addClass('hovered');
4731		},
4732		mouseleave: function(e){
4733			if(hoveredTrs)
4734				hoveredTrs.removeClass('hovered');
4735		}
4736	}, '.bx_compare .data_table_props tbody>tr');
4737	$(document).on('click', '.fancy_offer', function(e){
4738		e.preventDefault();
4739		var arPict=[];
4740		$('.sliders .slides_block li').each(function(){
4741			var obImg = {};
4742			obImg = {
4743				'title': $(this).find('img').attr('alt'),
4744				'href': $(this).data('big')
4745			}
4746			if($(this).hasClass('current')){
4747				arPict.unshift(obImg);
4748			}else{
4749				arPict.push(obImg);
4750			}
4751		})
4752		$.fancybox(arPict, {
4753			openEffect  : 'fade',
4754			closeEffect : 'fade',
4755			nextEffect : 'fade',
4756			prevEffect : 'fade',
4757			type : 'image',
4758			tpl:{
4759				closeBtn : '<a title="'+BX.message('FANCY_CLOSE')+'" class="fancybox-item fancybox-close" href="javascript:;"></a>',
4760				next     : '<a title="'+BX.message('FANCY_NEXT')+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
4761				prev     : '<a title="'+BX.message('FANCY_PREV')+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
4762			},
4763		});
4764	})
4765
4766	/*tabs*/
4767	$(".tabs_section .tabs-head li").on("click", function(){
4768		if(!$(this).is(".current")){
4769			$(".tabs_section .tabs-head li").removeClass("current");
4770			$(this).addClass("current");
4771			$(".tabs_section ul.tabs_content li").removeClass("current");
4772			if($(this).attr("id") == "product_reviews_tab"){
4773				$(".shadow.common").hide(); $("#reviews_content").show();
4774			}
4775			else{
4776				$(".shadow.common").show();
4777				$("#reviews_content").hide();
4778				$(".tabs_section ul.tabs_content > li:eq("+$(this).index()+")").addClass("current");
4779			}
4780		}
4781	});
4782
4783	/*open first section slide*/
4784	setTimeout(function() {
4785		$('.jobs_wrapp .item:first .name tr').trigger('click');
4786	}, 300);
4787
4788	$('.choise').on('click', function(){
4789		var _this = $(this);
4790		if(typeof(_this.data('block')) != 'undefined')
4791		{
4792			scrollToBlock(_this.data('block'));
4793		}
4794	})
4795
4796	$(document).on('click', '.buy_block .slide_offer', function(){
4797		scroll_block($('.tabs_section'));
4798	});
4799	$('.share  > .share_wrapp .text').on('click', function(){
4800		var block = $(this).parent().find('.shares');
4801		if(!block.is(':visible') && !$(this).closest('.share.top').length)
4802			$('#content').css('z-index',3);
4803		block.fadeToggle(100,function(){
4804			if(!block.is(':visible'))
4805				$('#content').css('z-index',2);
4806		});
4807	})
4808	$('html, body').on('mousedown', function(e) {
4809		if(typeof e.target.className == 'string' && e.target.className.indexOf('adm') < 0)
4810		{
4811			e.stopPropagation();
4812			$('div.shares').fadeOut(100, function(){
4813				$('#content').css('z-index',2);
4814			});
4815			$('.search_middle_block').removeClass('active_wide');
4816		}
4817	})
4818	$('.share_wrapp').find('*').on('mousedown', function(e) {
4819		e.stopPropagation();
4820	});
4821	$(document).on('click', '.reviews-collapse-link', function(){
4822		$('.reviews-reply-form').slideToggle();
4823	})
4824
4825	/* accordion action*/
4826	$('.panel-collapse').on('hidden.bs.collapse', function(){
4827		$(this).parent().toggleClass('opened');
4828	})
4829	$('.panel-collapse').on('show.bs.collapse', function(){
4830		$(this).parent().toggleClass('opened');
4831	})
4832
4833	/* accordion */
4834	$('.accordion-head').on('click', function(e){
4835		e.preventDefault();
4836		if(!$(this).next().hasClass('collapsing')){
4837			$(this).toggleClass('accordion-open');
4838			$(this).toggleClass('accordion-close');
4839		}
4840	});
4841
4842	/* progress bar */
4843	$('[data-appear-progress-animation]').each(function(){
4844		var $this = $(this);
4845		$this.appear(function(){
4846			var delay = ($this.attr('data-appear-animation-delay') ? $this.attr('data-appear-animation-delay') : 1);
4847			if( delay > 1 )
4848				$this.css('animation-delay', delay + 'ms');
4849			$this.addClass($this.attr('data-appear-animation'));
4850
4851			setTimeout(function(){
4852				$this.animate({
4853					width: $this.attr('data-appear-progress-animation')
4854				}, 1500, 'easeOutQuad', function() {
4855					$this.find('.progress-bar-tooltip').animate({
4856						opacity: 1
4857					}, 500, 'easeOutQuad');
4858				});
4859			}, delay);
4860		}
4860, {accX: 0, accY: -50});
4861	});
4862
4863	initCountdown();
4864
4865	/* portfolio item */
4866	if($('.item.animated-block').length)
4867	{
4868		$('.item.animated-block').appear(function(){
4869			var $this = $(this);
4870
4871			$this.addClass($this.data('animation')).addClass('visible');
4872
4873		}, {accX: 0, accY: 150})
4874	}
4875
4876	/*adaptive menu start*/
4877	$('.menu.adaptive').on('click', function(){
4878		$(this).toggleClass('opened');
4879		if($(this).hasClass('opened')){
4880			$('.mobile_menu').toggleClass('opened').slideDown();
4881		}else{
4882			$('.mobile_menu').toggleClass('opened').slideUp();
4883		}
4884	});
4885	$('.mobile_menu .has-child >a').on('click', function(e){
4886		var parentLi=$(this).parent();
4887		e.preventDefault();
4888		parentLi.toggleClass('opened');
4889		parentLi.find('.dropdown').slideToggle();
4890	})
4891
4892	$('.mobile_menu .search-input-div input').on('keyup', function(e) {
4893		var inputValue = $(this).val();
4894		$('.center_block .stitle_form input').val(inputValue);
4895		if(e.keyCode == 13){
4896			$('.center_block .stitle_form form').submit();
4897		}
4898	});
4899
4900	$('.center_block .stitle_form input').on('keyup', function(e) {
4901		var inputValue = $(this).val();
4902		$('.mobile_menu .search-input-div input').val(inputValue);
4903		if(e.keyCode == 13){
4904			$('.center_block .stitle_form form').submit();
4905		}
4906	});
4907
4908	$('.mobile_menu .search-button-div button').on('click', function(e) {
4909		e.preventDefault();
4910		var inputValue = $(this).parents().find('input').val();
4911		$('.center_block .stitle_form input').val(inputValue);
4912		$('.center_block .stitle_form form').submit();
4913	});
4914	/*adaptive menu end*/
4915
4916	$(document).on('click', '.mega-menu .dropdown-menu', function(e){
4917		e.stopPropagation()
4918	});
4919
4920	$(document).on('click', '.mega-menu .dropdown-toggle.more-items', function(e){
4921		e.preventDefault();
4922	});
4923
4924	$('.table-menu .dropdown,.table-menu .dropdown-submenu,.table-menu .dropdown-toggle').on('mouseenter', function() {
4925		CheckTopVisibleMenu();
4926	});
4927	$(document).on('mouseenter', '#headerfixed .table-menu .dropdown-menu .dropdown-submenu', function() {
4928		CheckTopVisibleMenu();
4929	});
4930
4931	$('.mega-menu .search-item .search-icon, .menu-row #title-search .fa-close').on('click', function(e) {
4932		e.preventDefault();
4933		$('.menu-row #title-search').toggleClass('hide');
4934	});
4935
4936	$('.mega-menu ul.nav .search input').on('keyup', function(e) {
4937		var inputValue = $(this).val();
4938		$('.menu-row > .search input').val(inputValue);
4939		if(e.keyCode == 13){
4940			$('.menu-row > .search form').submit();
4941		}
4942	});
4943
4944	$('.menu-row > .search input').on('keyup', function(e) {
4945		var inputValue = $(this).val();
4946		$('.mega-menu ul.nav .search input').val(inputValue);
4947		if(e.keyCode == 13){
4948			$('.menu-row > .search form').submit();
4949		}
4950	});
4951
4952	$('.mega-menu ul.nav .search button').on('click', function(e) {
4953		e.preventDefault();
4954		var inputValue = $(this).parents('.search').find('input').val();
4955		$('.menu-and-search .search input').val(inputValue);
4956		$('.menu-row > .search form').submit();
4957	});
4958
4959	$('.btn.btn-add').on('click', function(){
4960		$.ajax({
4961			type:"GET",
4962			url:arNextOptions['SITE_DIR']+"ajax/clearBasket.php",
4963			success: function(data){
4964			}
4965		});
4966	})
4967
4968	$('.sort_display a').on('click', function(){
4969		$(this).siblings().removeClass('current');
4970		$(this).addClass('current');
4971	})
4972
4973	/*detail order show payments*/
4974	$('.sale-order-detail-payment-options-methods-info-change-link').on('click', function(){
4975		$(this).closest('.sale-order-detail-payment-options-methods-info').addClass('opened').siblings().addClass('opened');
4976	})
4977
4978	/*expand/hide filter values*/
4979	$(document).on('click', '.expand_block', function(){
4980		togglePropBlock($(this));
4981	})
4982
4983	/*touch event*/
4984	document.addEventListener('touchend', function(event) {
4985		if(!$(event.target).closest('.menu-item').length && !$(event.target).hasClass('menu-item')){
4986			$('.menu-row .dropdown-menu').css({'display':'none','opacity':0});
4987			$('.menu-item').removeClass('hover');
4988			$('.bx-breadcrumb-item.drop').removeClass('hover');
4989		}
4990		if(!$(event.target).closest('.menu.topest').length){
4991			$('.menu.topest').css({'overflow': 'hidden'});
4992			$('.menu.topest > li').removeClass('hover');
4993		}
4994		if(!$(event.target).closest('.full.has-child').length){
4995			$('.menu_top_block.catalog_block li').removeClass('hover');
4996		}
4997		if(!$(event.target).closest('.basket_block').length){
4998			$('.basket_block .link').removeClass('hover');
4999			$('.basket_block .basket_popup_wrapp').slideUp();
5000		}
5001		if(!$(event.target).closest('.catalog_item').length){
5002			var tabsContentUnhoverHover = $('.tab:visible').attr('data-unhover') * 1;
5003			$('.tab:visible').stop().animate({'height': tabsContentUnhoverHover}, 100);
5004			$('.tab:visible').find('.catalog_item').removeClass('hover');
5005			$('.tab:visible').find('.catalog_item .buttons_block').stop().fadeOut(233);
5006			if($('.catalog_block').length){
5007				$('.catalog_block').find('.catalog_item_wrapp').removeClass('hover');
5008				$('.catalog_block').find('.catalog_item').removeClass('hover');
5009			}
5010		}
5011		//togglePropBlock($(event.target));
5012
5013	}, false);
5014
5015
5016	touchMenu('.menu-row .menu-item');
5017	touchTopMenu('.menu.topest li');
5018	touchLeftMenu('.menu_top_block li.full');
5019	touchBreadcrumbs('.bx-breadcrumb-item.drop');
5020
5021	$(document).on('keyup', '.coupon .input_coupon input', function(){
5022		if($(this).val().length){
5023			$(this).removeClass('error');
5024			$(this).closest('.input_coupon').find('.error').remove();
5025		}else{
5026			$(this).addClass('error');
5027			$("<label class='error'>"+BX.message("INPUT_COUPON")+"</label>").insertBefore($(this));
5028		}
5029	})
5030	showPhoneMask('input[autocomplete=tel]');
5031	BX.addCustomEvent(window, "onAjaxSuccess", function(e){
5032		if(e != 'OK')
5033		{
5034			initSelects(document);
5035			InitOrderCustom();
5036			showPhoneMask('input[autocomplete=tel]');
5037			if($('.catalog_detail').length && !$('.fast_view_frame').length)
5038			{
5039				$('.bx_filter').remove();
5040				InitFlexSlider();
5041			}
5042			if(arNextOptions["PAGES"]["CATALOG_PAGE"])
5043			{
5044				setStatusButton();
5045				initCountdown();
5046			}
5047
5048			if(arNextOptions["PAGES"]["ORDER_PAGE"])
5049			{
5050				orderActions(e);
5051			}
5052		}
5053	});
5054
5055	//event for default basket quantity change
5056	BX.addCustomEvent(window, "OnBasketChange", function(e){
5057		if(arNextOptions["PAGES"]["BASKET_PAGE"])
5058		{
5059			var summ = $('#allSum_FORMATED').html().replace(/&nbsp;/g, ' '),
5060				title = BX.message('JS_BASKET_COUNT_TITLE').replace('SUMM', summ);
5061			if($('.js-basket-block .wrap .prices').length)
5062				$('.js-basket-block .wrap .prices').html(summ);
5063			if($('a.basket-link.basket').length)
5064				$('a.basket-link.basket').attr('title', title);
5065			if($('.basket_fly .opener .basket_count').length)
5066				$('.basket_fly .opener .basket_count').attr('title', title);
5067
5068		}
5069	})
5070	BX.addCustomEvent(window, "onFrameDataRequestFail", function(response){
5071		console.log(response);
5072	});
5073
5074});
5075
5076if(!funcDefined('setBasketStatusBtn')){
5077	setBasketStatusBtn = function(){
5078		if(typeof(arBasketAspro) !== 'undefined')
5079		{
5080			if('BASKET' in arBasketAspro) // basket items
5081			{
5082				if(arBasketAspro.BASKET)
5083				{
5084					for(var i in arBasketAspro.BASKET)
5085					{
5086						$('.to-cart[data-item='+i+']').hide();
5087						$('.counter_block[data-item='+i+']').hide();
5088						$('.in-cart[data-item='+i+']').show();
5089						$('.in-cart[data-item='+i+']').closest('.button_block').addClass('wide');
5090					}
5091				}
5092			}
5093
5094			if('DELAY' in arBasketAspro) // delay items
5095			{
5096				if(arBasketAspro.DELAY)
5097				{
5098					for(var i in arBasketAspro.DELAY)
5099					{
5100						$('.wish_item.to[data-item='+i+']').hide();
5101						$('.wish_item.in[data-item='+i+']').show();
5102						if ($('.wish_item[data-item='+i+']').find(".value.added").length)
5103						{
5104							$('.wish_item[data-item='+i+']').addClass("added");
5105							$('.wish_item[data-item='+i+']').find(".value").hide();
5106							$('.wish_item[data-item='+i+']').find(".value.added").css('display','block');
5107						}
5108					}
5109				}
5110			}
5111
5112			if('SUBSCRIBE' in arBasketAspro) // subscribe items
5113			{
5114				if(arBasketAspro.SUBSCRIBE)
5115				{
5116					for(var i in arBasketAspro.SUBSCRIBE)
5117					{
5118						$('.to-subscribe[data-item='+i+']').hide();
5119						$('.in-subscribe[data-item='+i+']').show();
5120					}
5121				}
5122			}
5123
5124			if('COMPARE' in arBasketAspro) // compare items
5125			{
5126				if(arBasketAspro.COMPARE)
5127				{
5128					for(var i in arBasketAspro.COMPARE)
5129					{
5130						$('.compare_item.to[data-item='+i+']').hide();
5131						$('.compare_item.in[data-item='+i+']').show();
5132						if ($('.compare_item[data-item='+i+']').find(".value.added").length)
5133						{
5134							$('.compare_item[data-item='+i+']').addClass("added");
5135							$('.compare_item[data-item='+i+']').find(".value").hide();
5136							$('.compare_item[data-item='+i+']').find(".value.added").css('display','block');
5137						}
5138					}
5139				}
5140			}
5141		}
5142	}
5143}
5144
5145if(!funcDefined('togglePropBlock')){
5146	togglePropBlock=function(className){
5147		var all_props_block = className.closest('.bx_filter_parameters_box_container').find('.hidden_values');
5148		if(all_props_block.length && (className.hasClass('inner_text') || className.hasClass('expand_block')))
5149		{
5150			if(all_props_block.is(':visible'))
5151			{
5152				className.text(BX.message('FILTER_EXPAND_VALUES'));
5153				all_props_block.hide();
5154			}
5155			else
5156			{
5157				className.text(BX.message('FILTER_HIDE_VALUES'));
5158				all_props_block.show();
5159			}
5160		}
5161	}
5162}
5163
5164if(!funcDefined('showPhoneMask')){
5165	showPhoneMask=function(className){
5166		$(className).inputmask('mask', {'mask': arNextOptions['THEME']['PHONE_MASK'], 'showMaskOnHover':false });
5167	}
5168}
5169
5170if(!funcDefined('parseUrlQuery')){
5171	parseUrlQuery=function() {
5172	    var data = {};
5173	    if(location.search) {
5174	        var pair = (location.search.substr(1)).split('&');
5175	        for(var i = 0; i < pair.length; i ++) {
5176	            var param = pair[i].split('=');
5177	            data[param[0]] = param[1];
5178	        }
5179	    }
5180	    return data;
5181	}
5182}
5183
5184if(!funcDefined('getActualBasket')){
5185	getActualBasket=function(iblockID, type){
5186		var data='';
5187		if(typeof iblockID !=="undefined"){
5188			data={"iblockID":iblockID}
5189		}
5190		$.ajax({
5191			type:"GET",
5192			url:arNextOptions['SITE_DIR']+"ajax/actualBasket.php",
5193			data:data,
5194			success: function(data){
5195				if(!$('.js_ajax').length)
5196					$('body').append('<div class="js_ajax"></div>');
5197				$('.js_ajax').html(data);
5198
5199				if(typeof(type) !== undefined)
5200				{
5201					var eventdata = {action:'loadActualBasket'+type};
5202					BX.onCustomEvent('onCompleteAction', [eventdata]);
5203				}
5204			}
5205		});
5206	}
5207}
5208
5209function touchMenu(selector){
5210	if(isMobile){
5211		if($(selector).length)
5212		{
5213			$(selector).each(function(){
5214				var th=$(this);
5215				th.on('touchend', function(e) {
5216					var _th = $(e.target).closest('.menu-item');
5217
5218					$('.menu.topest > li').removeClass('hover');
5219					$('.menu_top_block.catalog_block li').removeClass('hover');
5220					$('.bx-breadcrumb-item.drop').removeClass('hover');
5221
5222					if (_th.find('.dropdown-menu').length && !_th.hasClass('hover')) {
5223						e.preventDefault();
5224						e.stopPropagation();
5225						_th.siblings().removeClass('hover');
5226						_th.addClass('hover');
5227						$('.menu-row .dropdown-menu').css({'display':'none', 'opacity':0});
5228						if(_th.hasClass('menu-item'))
5229						{
5230							_th.closest('.dropdown-menu').css({'display':'block', 'opacity':1});
5231						}
5232						if(_th.find('> .wrap > .dropdown-menu'))
5233						{
5234							_th.find('> .wrap > .dropdown-menu').css({'display':'block', 'opacity':1});
5235						}
5236						else if(_th.find('> .dropdown-menu'))
5237						{
5238							_th.find('> .dropdown-menu').css({'display':'block', 'opacity':1});
5239						}
5240						CheckTopVisibleMenu();
5241					}
5242					else
5243					{
5244						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
5245						if(href && href !== 'undefined')
5246							location.href = href;
5247					}
5248				})
5249			})
5250		}
5251	}else{
5252		$(selector).off();
5253	}
5254}
5255
5256function touchTopMenu(selector){
5257	if(isMobile){
5258		if($(selector).length)
5259		{
5260			$(selector).each(function(){
5261				var th=$(this);
5262				th.on('touchend', function(e) {
5263					var _th = $(e.target).closest('li');
5264
5265					$('.menu-item').removeClass('hover');
5266					$('.menu_top_block.catalog_block li').removeClass('hover');
5267					$('.bx-breadcrumb-item.drop').removeClass('hover');
5268
5269					if (_th.hasClass('more') && !_th.hasClass('hover')) {
5270						e.preventDefault();
5271						e.stopPropagation();
5272						_th.siblings().removeClass('hover');
5273						_th.addClass('hover');
5274						$('.menu.topest').css({'overflow': 'visible'});
5275					}
5276					else
5277					{
5278						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
5279						if(href && href !== 'undefined')
5280							location.href = href;
5281					}
5282				})
5283			})
5284		}
5285	}else{
5286		$(selector).off();
5287	}
5288}
5289
5290function touchLeftMenu(selector){
5291	if(isMobile){
5292		if($(selector).length)
5293		{
5294			$(selector).each(function(){
5295				var th=$(this);
5296				th.on('touchend', function(e) {
5297					var _th = $(e.target).closest('li');
5298
5299					$('.menu-item').removeClass('hover');
5300					$('.bx-breadcrumb-item.drop').removeClass('hover');
5301					$('.menu.topest > li').removeClass('hover');
5302
5303					if (_th.hasClass('has-child') && !_th.hasClass('hover')) {
5304						e.preventDefault();
5305						e.stopPropagation();
5306						_th.siblings().removeClass('hover');
5307						_th.addClass('hover');
5308					}
5309					else
5310					{
5311						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'))
5312						if(href && href !== 'undefined')
5313							location.href = href;
5314					}
5315				})
5316			})
5317		}
5318	}else{
5319		$(selector).off();
5320	}
5321}
5322
5323function touchBreadcrumbs(selector){
5324	if(isMobile){
5325		if($(selector).length)
5326		{
5327			$(selector).each(function(){
5328				var th=$(this);
5329				th.on('touchend', function(e) {
5330					var _th = $(e.target).closest('.bx-breadcrumb-item');
5331
5332					$('.menu-item').removeClass('hover');
5333					$('.menu.topest > li').removeClass('hover');
5334					$('.menu_top_block.catalog_block li').removeClass('hover');
5335
5336					if(!_th.hasClass('hover')) {
5337						e.preventDefault();
5338						e.stopPropagation();
5339						_th.siblings().removeClass('hover');
5340						_th.addClass('hover');
5341					}
5342					else
5343					{
5344						_th.removeClass('hover');
5345						var href = ($(e.target).attr('href') ? $(e.target).attr('href') : $(e.target).closest('a').attr('href'));
5346						if(href && href !== 'undefined')
5347							location.href = href;
5348					}
5349				})
5350			})
5351		}
5352	}else{
5353		$(selector).off();
5354	}
5355}
5356
5357function touchItemBlock(selector){
5358	if(isMobile){
5359		if($(selector).length)
5360		{
5361			$(selector).each(function(){
5362				var th=$(this),
5363					item=th.closest('.catalog_item');
5364				th.on('touchend', function(e) {
5365					if (!item.hasClass('hover')) {
5366						e.preventDefault();
5367						e.stopPropagation();
5368						item.siblings().removeClass('hover');
5369						item.siblings().blur();
5370						item.closest('.catalog_block').find('.catalog_item').removeClass('hover');
5371						item.addClass('hover');
5372						item.addClass('touch');
5373
5374						var tabsContentHover = th.closest('.tab').attr('data-hover') * 1,
5375							tabsContentUnhoverHover = th.closest('.tab').attr('data-unhover') * 1;
5376
5377						th.closest('.tab').stop().animate({'height': tabsContentUnhoverHover}, 100);
5378						th.closest('.catalog_item').siblings().find('.buttons_block').stop().fadeOut(233)
5379
5380						th.closest('.tab').fadeTo(100, 1);
5381						th.closest('.tab').stop().css({'height': tabsContentHover});
5382						th.closest('.catalog_item').find('.buttons_block').fadeIn(450, 'easeOutCirc');
5383					}
5384				})
5385			})
5386		}
5387	}else{
5388		$(selector).off();
5389	}
5390}
5391function touchBasket(selector){
5392	if(arNextOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){
5393		if($(window).outerWidth()>600){
5394			$(document).find(selector).on('touchend', function(e) {
5395				if ($(this).parent().find('.basket_popup_wrapp').length && !$(this).hasClass('hover')) {
5396					e.preventDefault();
5397					e.stopPropagation();
5398					$(this).addClass('hover');
5399					$(this).parent().find('.basket_popup_wrapp').slideDown();
5400				}
5401			})
5402		}else{
5403			$(selector).off();
5404		}
5405	}
5406}
5407
5408function initFull(){
5409	initSelects(document);
5410	initHoverBlock(document);
5411	touchItemBlock('.catalog_item a');
5412	InitOrderCustom();
5413
5414	basketActions();
5415	orderActions();
5416}
5417if(!funcDefined('orderActions')){
5418	orderActions = function(e){
5419		if(arNextOptions["PAGES"]["ORDER_PAGE"]){
5420
5421			//phone
5422			if($('#bx-soa-order input[autocomplete=tel]').length){
5423				// get property phone
5424				for(var i = 0;i<BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties.length;++i){
5425					if(BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i].IS_PHONE == 'Y'){
5426						var arPropertyPhone = BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i];
5427					}
5428				}
5429				
5430				// validate input type=tel				
5431				if(typeof(BX.Sale.OrderAjaxComponent) !== 'undefined' && typeof(BX.Sale.OrderAjaxComponent) === 'object' && typeof(arPropertyPhone) == 'object' && arPropertyPhone){
5432					BX.Sale.OrderAjaxComponent.validatePhone = function(input, arProperty, fieldName)
5433					{
5434						if (!input || !arProperty)
5435							return [];
5436
5437						var value = input.value,
5438							errors = [],
5439							name = BX.util.htmlspecialchars(arProperty.NAME),
5440							field = BX.message('SOA_FIELD') + ' "' + name + '"',
5441							re;
5442							
5443						if (arProperty.REQUIRED == 'Y' && value.length == 0){
5444							errors.push(field + ' ' + BX.message('SOA_REQUIRED'));
5445						}
5446						
5447						if(arProperty.IS_PHONE == 'Y' && value.length > 0){
5448							function regexpPhone(value, element, regexp){
5449								var re = new RegExp( regexp );
5450								return re.test(value);
5451							}
5452							
5453							var validPhone = regexpPhone($(input).val(), $(input), arNextOptions['THEME']['VALIDATE_PHONE_MASK']);
5454							
5455							if(!validPhone){
5456								errors.push(field + ' ' +BX.message('JS_FORMAT_ORDER'));
5457							}
5458						}
5459
5460						return errors;
5461					}
5462					
5463					BX.Sale.OrderAjaxComponent.getValidationDataPhone = function(arProperty, propContainer){
5464						var data = {}, inputs;
5465						switch (arProperty.TYPE)
5466						{
5467							case 'STRING':
5468								data.action = 'blur';
5469								data.func = BX.delegate(function(input, fieldName){
5470									return this.validatePhone(input, arProperty, fieldName);
5471								}, this);
5472
5473								inputs = propContainer.querySelectorAll('input[type=tel]');
5474								if ($(inputs).length)
5475								{
5476									data.inputs = inputs;
5477									break;
5478								}
5479						}
5480
5481						return data;
5482					};
5483					
5484					BX.Sale.OrderAjaxComponent.bindValidationPhone = function(id, propContainer)
5485					{
5486						if (!this.validation.properties || !this.validation.properties[id])
5487							return;
5488
5489						var arProperty = this.validation.properties[id],
5490							data = this.getValidationDataPhone(arProperty, propContainer),
5491							i, k;
5492
5493						if (data && data.inputs && data.action)
5494						{
5495							for (i = 0; i < $(data.inputs).length; i++)
5496							{
5497								if (BX.type.isElementNode(data.inputs[i])){
5498									BX.bind(data.inputs[i], data.action, BX.delegate(function(){
5499										this.isValidProperty(data);
5500									}, this));
5501								}
5502								else{
5503									for (k = 0; k < $(data.inputs[i]).length; k++)
5504										BX.bind(data.inputs[i][k], data.action, BX.delegate(function(){
5505											this.isValidProperty(data);
5506										}, this));
5507								}
5508							}
5509						}
5510					};
5511					
5512					BX.Sale.OrderAjaxComponent.isValidPropertiesBlock = function(excludeLocation)
5513					{
5514						if (!this.options.propertyValidation)
5515							return [];
5516
5517						var props = this.orderBlockNode.querySelectorAll('.bx-soa-customer-field[data-property-id-row]'),
5518							propsErrors = [],
5519							id, propContainer, arProperty, data, i;
5520
5521						for (i = 0; i < props.length; i++)
5522						{
5523							id = props[i].getAttribute('data-property-id-row');
5524
5525							if (!!excludeLocation && this.locations[id])
5526								continue;
5527
5528							propContainer = props[i].querySelector('.soa-property-container');
5529							if (propContainer)
5530							{
5531								arProperty = this.validation.properties[id];
5532								data = this.getValidationData(arProperty, propContainer);
5533								dataPhone = this.getValidationDataPhone(arProperty, propContainer);
5534								data = $.extend({}, data, dataPhone);
5535
5536								propsErrors = propsErrors.concat(this.isValidProperty(data, true));
5537							}
5538						}
5539
5540						return propsErrors;
5541					};
5542					
5543					
5544					// create input type=tel
5545					var input = $('input[autocomplete=tel]'),
5546						inputHTML = input[0].outerHTML,
5547						value = input.val(),
5548						newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="'+value+'"');
5549					
5550					if($(input).length < 2)
5551					{
5552						input.hide();
5553						$(newInput).insertAfter(input);
5554					}
5555					showPhoneMask('input[autocomplete=tel][type=tel]');
5556					
5557					// change value input type=text when change input type=tel
5558					$('input[autocomplete=tel][type=tel]').on('keyup', function(){
5559						var $this = $(this);
5560						
5561						setTimeout(function(){
5562							var value = $this.val();
5563							$this.parent().find('input[autocomplete=tel][type=text]').val(value);
5564						}, 50);
5565
5566					});
5567					
5568					BX.Sale.OrderAjaxComponent.bindValidationPhone(arPropertyPhone.ID, $('input[autocomplete=tel]').parent()[0]);
5569				}
5570			}
5571
5572			if($('.bx-soa-cart-total').length){
5573				if(!$('.change_basket').length)
5574					$('.bx-soa-cart-total').prepend('<div class="change_basket">'+BX.message("BASKET_CHANGE_TITLE")+'<a href="'+arNextOptions["SITE_DIR"]+'basket/" class="change_link">'+BX.message("BASKET_CHANGE_LINK")+'</a></div>');
5575				if(typeof (BX.Sale.OrderAjaxComponent) == "object"){
5576					if(arNextOptions['COUNTERS']['USE_FULLORDER_GOALS'] !== 'N'){
5577						if(typeof BX.Sale.OrderAjaxComponent.reachgoalbegin === 'undefined'){
5578							BX.Sale.OrderAjaxComponent.reachgoalbegin = true;
5579							var eventdata = {goal: 'goal_order_begin'};
5580							BX.onCustomEvent('onCounterGoals', [eventdata])
5581						}
5582					}
5583					if(BX.Sale.OrderAjaxComponent.hasOwnProperty("params")){
5584						$('.bx-soa-cart-total .change_link').attr('href', BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET);
5585						if(arNextOptions["PRICES"]["MIN_PRICE"]){
5586							if(arNextOptions["PRICES"]["MIN_PRICE"]>Number(BX.Sale.OrderAjaxComponent.result.TOTAL.ORDER_PRICE)){
5587								$('<div class="fademask_ext"></div>').appendTo($('body'));
5588								location.href=BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET;
5589							}
5590						}
5591					}
5592					if($('.bx-soa-cart-total-line-total').length && !$('.licence_block.filter').length && arNextOptions["THEME"]["SHOW_LICENCE"] == "Y"){
5593						if(typeof(e) === 'undefined')
5594							BX.Sale.OrderAjaxComponent.state_licence = (arNextOptions['THEME']['LICENCE_CHECKED'] == 'Y' ? 'checked' : '');
5595						$('<div class="form" style="display: flex;flex-direction: column;align-items: center;">'+
5596							'<div class="licence_block filter label_block">'+
5597								'<label data-for="licenses_order" class="hidden error">'+BX.message('JS_REQUIRED_LICENSES')+'</label>'+
5598								'<input type="checkbox" name="licenses_order" required '+BX.Sale.OrderAjaxComponent.state_licence+' value="Y">'+
5599								'<label data-for="licenses_order" class="license">'+BX.message('LICENSES_TEXT')+'</label>'+
5600							'</div>'+
5601							'<div class="distribution_block filter label_block">'+
5602								'<input type="checkbox" name="distribution_order" id="distribution_order" required checked value="Y">'+
5603								'<label for="distribution_order" class="distribution">Я согласен получать <a href="/upload/distribution.docx" target="_blank">
5603рекламную и информационную рассылку</a></label>'+
5604							'</div>'+
5605						'</div>').insertBefore($('#bx-soa-orderSave'));
5606						$('#bx-soa-orderSave, .bx-soa-cart-total-button-container').addClass('lic_condition');
5607
5608						const distribution_order = document.getElementById('distribution_order');
5609						if(distribution_order){
5610							distribution_order.checked = true;
5611							distribution_order.addEventListener('click',(e)=>{
5612								[43,44,45,46,47].forEach((id)=>{
5613									if(document.querySelector(`input[type="checkbox"][name="ORDER_PROP_${id}"]`)){
5614										document.querySelector(`input[type="checkbox"][name="ORDER_PROP_${id}"]`).checked = e.target.checked;
5615									}
5616								});
5617							});
5618						}
5619						BX.addCustomEvent('onAjaxSuccess', function() {
5620							const distribution_order = document.getElementById('distribution_order');
5621							if(distribution_order)distribution_order.checked = true;
5622						});
5623						if(typeof (BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction) === "undefined" && typeof (BX.Sale.OrderAjaxComponent.clickOrderSaveAction) !== 'undefined'){
5624							BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction = BX.Sale.OrderAjaxComponent.clickOrderSaveAction;
5625							BX.Sale.OrderAjaxComponent.clickOrderSaveAction = function(event){
5626								if($('input[name="licenses_order"]').prop('checked')){
5627									$('.bx-soa .licence_block label.error').addClass('hidden');
5628
5629									if (BX.Sale.OrderAjaxComponent.isValidForm())
5630									{
5631										if(typeof BX.Sale.OrderAjaxComponent.allowOrderSave == 'function')
5632											BX.Sale.OrderAjaxComponent.allowOrderSave();
5633										if(typeof BX.Sale.OrderAjaxComponent.doSaveAction == 'function')
5634											BX.Sale.OrderAjaxComponent.doSaveAction();
5635										else
5636											BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction(event);
5637									}
5638								}
5639								else{
5640									$('.bx-soa .licence_block label.error').removeClass('hidden');
5641								}
5642							}
5643							if(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox'))
5644							{
5645								if(typeof browser == 'object')
5646								{
5647									if('msie' in browser && browser.msie)
5648										$(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox')).remove();
5649									else
5650										BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('.checkbox').remove();
5651								}
5652							}
5653							BX.unbindAll(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector('a.btn-order-save'));
5654							BX.unbindAll(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector('a.btn-order-save'));
5655							BX.unbindAll(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('a'));
5656							BX.bind(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector('a.btn-order-save'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
5657							BX.bind(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector('a.btn-order-save'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
5658							BX.bind(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector('a'), 'click', BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent));
5659						}
5660						$('.bx-soa .licence_block label.license').on('click', function(){
5661							var id = $(this).data('for');
5662							$('.bx-soa .licence_block label.error').addClass('hidden');
5663							if(!$('input[name='+id+']').prop('checked')){
5664								$('input[name='+id+']').prop('checked', 'checked');
5665								BX.Sale.OrderAjaxComponent.state_licence = 'checked';
5666							}
5667							else{
5668								$('input[name='+id+']').prop('checked', '');
5669								BX.Sale.OrderAjaxComponent.state_licence = '';
5670							}
5671						})
5672						$('.lic_condition a').on('click', function(){
5673							var iCountErrors = BX.Sale.OrderAjaxComponent.isValidPropertiesBlock().length;
5674							if(!BX.Sale.OrderAjaxComponent.activeSectionId || !iCountErrors)
5675							{
5676								BX.Sale.OrderAjaxComponent.animateScrollTo($('.licence_block')[0], 800, 50);
5677							}
5678						})
5679					}
5680
5681					// fix hide total block
5682					BX.removeClass(BX.Sale.OrderAjaxComponent.totalInfoBlockNode, 'bx-soa-cart-total-fixed');
5683					$(window).scroll();
5684
5685					if(checkCounters() && typeof (BX.Sale.OrderAjaxComponent.oldSaveOrder) === "undefined" && typeof (BX.Sale.OrderAjaxComponent.saveOrder) !== 'undefined'){
5686						BX.Sale.OrderAjaxComponent.oldSaveOrder = BX.Sale.OrderAjaxComponent.saveOrder;
5687						BX.Sale.OrderAjaxComponent.saveOrder = function(result){
5688							var res = BX.parseJSON(result);
5689							if (res && res.order){
5690								if (!res.order.SHOW_AUTH){
5691									if (res.order.REDIRECT_URL && res.order.REDIRECT_URL.length && (!res.order.ERROR || BX.util.object_keys(res.order.ERROR).length < 1)){
5692										if((arMatch = res.order.REDIRECT_URL.match(/ORDER_ID\=[^&=]*/g)) && arMatch.length && (_id = arMatch[0].replace(/ORDER_ID\=/g, '', arMatch[0]))){
5693											$.ajax({
5694												url:arNextOptions['SITE_DIR']+"ajax/check_order.php",
5695												dataType: "json",
5696												type: "POST",
5697												data: { "ID": _id },
5698												success: function(id){
5699													if(parseInt(id)){
5700														purchaseCounter(parseInt(id), BX.message('FULL_ORDER'), function(d){
5701															if(typeof BX.localStorage !== 'undefined'){
5702																BX.localStorage.set('gtm_e_' + _id, d, 60);
5703															}
5704															BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5705														});
5706													}
5707												},
5708												error: function(){
5709													BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5710												}
5711											})
5712										}
5713										else{
5714											BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5715										}
5716									}
5717									else{
5718										BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5719									}
5720								}
5721								else{
5722									BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5723								}
5724							}
5725							else{
5726								BX.Sale.OrderAjaxComponent.oldSaveOrder(result);
5727							}
5728						}
5729					}
5730				}
5731				$('.bx-ui-sls-quick-locations.quick-locations').on('click', function(){
5732					$(this).siblings().removeClass('active');
5733					$(this).addClass('active');
5734				})
5735			}
5736		}
5737	}
5738}
5739
5740if(!funcDefined('basketActions')){
5741	basketActions = function(){
5742		if(arNextOptions["PAGES"]["BASKET_PAGE"]){
5743			checkMinPrice();
5744
5745			if(location.hash)
5746			{
5747				var hash = location.hash.substring(1);
5748				if($('#basket_toolbar_button_'+hash).length)
5749				{
5750					$('#basket_toolbar_button_'+hash).trigger('click');
5751				}
5752			}
5753
5754			$('.bx_sort_container').append('<div class="top_control basket_sort"><span style="opacity:0;" class="delete_all btn btn-default white white-bg grey remove_all_basket">'+BX.message("BASKET_CLEAR_ALL_BUTTON")+'</span></div>');
5755
5756			var cur_index = $('.bx_sort_container a.current').index();
5757			$('.bx_sort_container .top_control .delete_all').data("type",cur_index);
5758			if($('.bx_ordercart > div:eq('+cur_index+') table tbody tr td.item').length)
5759				$('.bx_sort_container .top_control .delete_all').css('opacity',1);
5760
5761			$('.bx_ordercart .bx_ordercart_coupon #coupon').wrap('<div class="input"></div>');
5762
5763			$('.bx_sort_container > a').on('click', function() {
5764				var index = $(this).index();
5765				$('.bx_sort_container .top_control .delete_all').data("type", index);
5766
5767				if($('.bx_ordercart > div:eq('+index+') table tbody tr td.item').length)
5768					$('.bx_sort_container .top_control .delete_all').css('opacity',1);
5769				else
5770					$('.bx_sort_container .top_control .delete_all').css('opacity',0);
5771			});
5772
5773			$('.basket_print').on('click', function() {
5774				 // window.open(location.pathname+"?print=Y",'_blank');
5775				 window.print();
5776			});
5777
5778			$('.delete_all').on('click', function() {
5779				if(arNextOptions['COUNTERS']['USE_BASKET_GOALS'] !== 'N'){
5780					var eventdata = {goal: 'goal_basket_clear', params: {type: $(this).data('type')}};
5781					BX.onCustomEvent('onCounterGoals', [eventdata]);
5782				}
5783				$.post( arNextOptions['SITE_DIR']+"ajax/action_basket.php", "TYPE="+$(this).data('type')+"&CLEAR_ALL=Y", $.proxy(function( data ) {
5784					location.reload();
5785				}));
5786			});
5787
5788			$('.bx_item_list_section .bx_catalog_item').sliceHeight({row:'.bx_item_list_slide', item:'.bx_catalog_item'});
5789
5790			BX.addCustomEvent('onAjaxSuccess', function() {
5791				checkMinPrice();
5792
5793				var errorText = $.trim($('#warning_message').text());
5794				$('#basket_items_list .error_text').detach();
5795				if (errorText != '') {
5796					$('#warning_message').hide().text('');
5797					$('#basket_items_list').prepend('<div class="error_text">' +errorText+ '</div>');
5798				}
5799			});
5800			$(document).on('click', '.bx_ordercart_order_pay_center .checkout', function(){
5801				if(checkCounters('google')){
5802					checkoutCounter(1, 'start order');
5803				}
5804			})
5805		}
5806	}
5807}
5808
5809if(!funcDefined('checkMinPrice')){
5810	checkMinPrice = function(){
5811		if(arNextOptions["PAGES"]["BASKET_PAGE"]){
5812			var summ_raw=$('#allSum_FORMATED').text().replace(/[^0-9\.,]/g,''),
5813				summ=parseFloat(summ_raw);
5814			if($('#basket_items').length)
5815			{
5816				var summ = 0;
5817				$('#basket_items tr').each(function(){
5818					if(typeof ($(this).data('item-price')) !== 'undefined' && $(this).data('item-price'))
5819						summ += $(this).data('item-price')*$(this).find('#QUANTITY_INPUT_'+$(this).attr('id')).val();
5820				})
5821			}
5822			if(!$('.catalog_back').length)
5823				$('.bx_ordercart_order_pay_center').prepend('<a href="'+arNextOptions["PAGES"]["CATALOG_PAGE_URL"]+'" class="catalog_back btn btn-default btn-lg white grey">'+BX.message("BASKET_CONTINUE_BUTTON")+'</a>');
5824
5825			if(arNextOptions["PRICES"]["MIN_PRICE"]){
5826				if(arNextOptions["PRICES"]["MIN_PRICE"]>summ){
5827					if(!$('.icon_error_wrapper').length){
5828						$('.bx_ordercart_order_pay_center').prepend('<div class="icon_error_wrapper"><div class="icon_error_block">'+BX.message("MIN_ORDER_PRICE_TEXT").replace("#PRICE#", jsPriceFormat(arNextOptions["PRICES"]["MIN_PRICE"]))+'</div></div>');
5829					}
5830
5831					if($('.oneclickbuy.fast_order').length)
5832						$('.oneclickbuy.fast_order').remove();
5833
5834					if($('.bx_ordercart_order_pay .checkout').length)
5835						$('.bx_ordercart_order_pay .checkout').remove();
5836				}else{
5837					if($('.icon_error_wrapper').length)
5838						$('.icon_error_wrapper').remove();
5839
5840					if($('.bx_ordercart_order_pay .checkout').length)
5841						$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity','1');
5842					else
5843						$('.bx_ordercart_order_pay_center').append('<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">'+BX.message("BASKET_ORDER_BUTTON")+'</a>');
5844					if(!$('.oneclickbuy.fast_order').length && arNextOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
5845						$('.bx_ordercart_order_pay_center').append('<span class="oneclickbuy btn btn-default btn-lg fast_order" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span>');
5846
5847
5848				}
5849			}else{
5850				$('.bx_ordercart .bx_ordercart_order_pay .checkout').css('opacity','1');
5851				if(!$('.oneclickbuy.fast_order').length && arNextOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
5852					$('.bx_ordercart_order_pay_center').append('<span class="oneclickbuy btn btn-default btn-lg fast_order" onclick="oneClickBuyBasket()">'+BX.message("BASKET_QUICK_ORDER_BUTTON")+'</span>');
5853			}
5854		}
5855	}
5856}
5857
5858var isFrameDataReceived = false;
5859if (typeof window.frameCacheVars !== "undefined"){
5860	BX.addCustomEvent("onFrameDataReceived", function (json){
5861		initFull();
5862		isFrameDataReceived = true;
5863	});
5864}else{
5865	$( document ).ready(initFull);
5866}
5867
5868if(!funcDefined('setHeightBlockSlider')){
5869	setHeightBlockSlider = function(){
5870		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.item-title'});
5871		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.item_info'});
5872		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').equalize({children: '.catalog_item'});
5873
5874		var sliderWidth = $(document).find('.specials.tab_slider_wrapp').outerWidth();
5875
5876		$(document).find('.specials.tab_slider_wrapp .tabs_content > li.cur').css('height', '');
5877
5878		var itemsButtonsHeight = 0;
5879		if($(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').length)
5880		{
5881			$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').css('height', 'auto');
5882			itemsButtonsHeight = $(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').height();
5883			$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button').css('height', '');
5884		}
5885		var tabsContentUnhover = $(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').height() * 1;
5886		var tabsContentHover = tabsContentUnhover + itemsButtonsHeight+50;
5887		$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').attr('data-unhover', tabsContentUnhover);
5888		$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur').attr('data-hover', tabsContentHover);
5889		$(document).find('.specials.tab_slider_wrapp .tabs_content').height(tabsContentUnhover);
5890		$(document).find('.specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport').height(tabsContentUnhover);
5891	}
5892}
5893
5894if(!funcDefined('checkTopFilter')){
5895	checkTopFilter = function() {
5896		if(window.matchMedia('(max-width: 768px)').matches){
5897			if($('.group_description_block.top').length){
5898				var top_pos=$('.adaptive_filter').position().top;
5899				$('.bx_filter.bx_filter_vertical').css({'top':top_pos+33});
5900			}
5901
5902		}
5903	}
5904}
5905
5906if(!funcDefined('checkStickyFooter')){
5907	checkStickyFooter = function() {
5908		try{
5909			ignoreResize.push(true);
5910			$('#content').css('min-height', '');
5911			var contentTop = $('#content').offset().top;
5912			var contentBottom = contentTop + $('#content').outerHeight();
5913			var footerTop = 0;
5914			if($('footer').length)
5915				footerOffset = $('footer').offset().top;
5916
5917			$('#content').css('min-height', $(window).height() - contentTop - (footerTop - contentBottom) - $('footer').outerHeight() + 'px');
5918			ignoreResize.pop();
5919		}
5920		catch(e){console.error(e);}
5921	}
5922}
5923
5924/* EVENTS */
5925var timerResize = false, ignoreResize = [];
5926$(window).resize(function(){
5927	CheckPopupTop();
5928	/*if(!$('html.print').length)
5929		checkStickyFooter();*/
5930
5931	// here immediate functions
5932	if(!ignoreResize.length){
5933		if(timerResize){
5934			clearTimeout(timerResize);
5935			timerResize = false;
5936		}
5937		timerResize = setTimeout(function(){
5938			// here delayed functions in event
5939			BX.onCustomEvent('onWindowResize', false);
5940		}, 50);
5941	}
5942});
5943
5944var timerScroll = false, ignoreScroll = [], documentScrollTopLast = $(document).scrollTop();
5945$(window).scroll(function(){
5946	CheckPopupTop();
5947	// here immediate functions
5948	documentScrollTopLast = $(document).scrollTop();
5949	SetFixedAskBlock();
5950	if(!ignoreScroll.length){
5951		if(timerScroll){
5952			clearTimeout(timerScroll);
5953			timerScroll = false;
5954		}
5955		timerScroll = setTimeout(function(){
5956			// here delayed functions in event
5957			BX.onCustomEvent('onWindowScroll', false);
5958		}, 50);
5959	}
5960});
5961
5962BX.addCustomEvent('onWindowResize', function(eventdata){
5963	try{
5964		ignoreResize.push(true);
5965
5966		CheckTopMenuPadding();
5967		CheckTopMenuOncePadding();
5968		CheckSearchWidth();
5969
5970		CheckTabActive();
5971		CheckTopMenuFullCatalogSubmenu();
5972		CheckHeaderFixedMenu();
5973
5974		CheckTopMenuDotted();
5975		if($('nav.mega-menu.sliced').length)
5976			$('nav.mega-menu.sliced').removeClass('initied');
5977
5978
5979		CheckTopVisibleMenu();
5980
5981		checkScrollToTop();
5982		CheckObjectsSizes();
5983
5984		CheckFlexSlider();
5985		initSly();
5986
5987		checkVerticalMobileFilter();
5988
5989		checkTopFilter();
5990
5991		if(window.matchMedia('(min-width: 767px)').matches)
5992			$('.wrapper_middle_menu.wrap_menu').removeClass('mobile');
5993
5994		if(window.matchMedia('(max-width: 767px)').matches)
5995			$('.wrapper_middle_menu.wrap_menu').addClass('mobile');
5996
5997
5998		if($("#basket_form").length && $(window).outerWidth()<=600){
5999			$("#basket_form .tabs_content.basket > li.cur td").each(function() { $(this).css("width","");});
6000		}
6001
6002		$(".bx_filter_section .bx_filter_select_container").each(function(){
6003			var prop_id=$(this).closest('.bx_filter_parameters_box').attr('property_id');
6004			if($('#smartFilterDropDown'+prop_id).length){
6005				$('#smartFilterDropDown'+prop_id).css("max-width", $(this).width());
6006			}
6007		})
6008	}
6009	catch(e){}
6010	finally{
6011		ignoreResize.pop();
6012	}
6013});
6014
6015BX.addCustomEvent('onWindowScroll', function(eventdata){
6016	try{
6017		ignoreScroll.push(true);
6018	}
6019	catch(e){}
6020	finally{
6021		ignoreScroll.pop();
6022	}
6023});
6024
6025BX.addCustomEvent('onSlideInit', function(eventdata) {
6026	try{
6027		ignoreResize.push(true);
6028		if(eventdata){
6029			var slider = eventdata.slider;
6030			if(slider){
6031				if(slider.hasClass('small-gallery'))
6032					$(window).resize();
6033				// add classes .curent & .shown to slide
6034				slider.find('.item').removeClass('current');
6035				var curSlide = slider.find('.item.flex-active-slide'),
6036					curSlideId = curSlide.attr('id'),
6037					nav = slider.find('.flex-direction-nav');
6038
6039				curSlide.addClass('current');
6040
6041				slider.find('.visible').css('opacity', '1');
6042
6043				if(curSlide.hasClass('shown')){
6044					slider.find('.item.clone[id=' + curSlideId + '_clone]').addClass('shown');
6045				}
6046
6047				curSlide.addClass('shown');
6048			}
6049		}
6050	}
6051	catch(e){}
6052	finally{
6053		ignoreResize.pop();
6054	}
6055});
6056
6057BX.addCustomEvent('onCounterGoals', function(eventdata){
6058	if(arNextOptions['THEME']['YA_GOALS'] == 'Y' && arNextOptions['THEME']['YA_COUNTER_ID'])
6059	{
6060		var idCounter = arNextOptions['THEME']['YA_COUNTER_ID'];
6061		idCounter = parseInt(idCounter);
6062
6063		if(typeof eventdata != 'object')
6064			eventdata = {goal: 'undefined'};
6065
6066		if(typeof eventdata.goal != 'string')
6067			eventdata.goal = 'undefined';
6068
6069		if(idCounter)
6070		{
6071			try
6072			{
6073				waitCounter(idCounter, 50, function(){
6074					var obCounter = window['yaCounter' + idCounter];
6075					if(typeof obCounter == 'object'){
6076						obCounter.reachGoal(eventdata.goal);
6077					}
6078				});
6079			}
6080			catch(e)
6081			{
6082				console.error(e)
6083			}
6084		}
6085		else
6086		{
6087			console.info('Bad counter id!', idCounter);
6088		}
6089	}
6090})
6091
6092var onCaptchaVerifyinvisible = function(response){
6093	$('.g-recaptcha:last').each(function(){
6094		var id = $(this).attr('data-widgetid');
6095		if(typeof(id) !== 'undefined' && response){
6096			if(!$(this).closest('form').find('.g-recaptcha-response').val())
6097				$(this).closest('form').find('.g-recaptcha-response').val(response)
6098			if($('iframe[src*=recaptcha]').length)
6099			{
6100				$('iframe[src*=recaptcha]').each(function(){
6101					var block = $(this).parent().parent();
6102					if(!block.hasClass('grecaptcha-badge'))
6103						block.css('width', '100%');
6104				})
6105			}
6106			$(this).closest('form').submit();
6107		}
6108	})
6109}
6110
6111var onCaptchaVerifynormal = function(response){
6112	$('.g-recaptcha').each(function(){
6113		var id = $(this).attr('data-widgetid');
6114		if(typeof(id) !== 'undefined'){
6115			if(grecaptcha.getResponse(id) != ''){
6116				$(this).closest('form').find('.recaptcha').valid();
6117			}
6118		}
6119	});
6120}
6121
6122BX.addCustomEvent('onSubmitForm', function(eventdata){
6123	try{
6124		if(!window.renderRecaptchaById || !window.asproRecaptcha || !window.asproRecaptcha.key)
6125		{
6126			eventdata.form.submit();
6127			$(eventdata.form).closest('.form').addClass('sending');
6128			return true;
6129		}
6130		if(window.asproRecaptcha.params.recaptchaSize == 'invisible' && typeof grecaptcha != 'undefined')
6131		{
6132			if($(eventdata.form).find('.g-recaptcha-response').val())
6133			{
6134				eventdata.form.submit();
6135				$(eventdata.form).closest('.form').addClass('sending');
6136			}
6137			else
6138			{
6139				grecaptcha.execute($(eventdata.form).find('.g-recaptcha').data('widgetid'));
6140				return false;
6141			}
6142		}
6143		else
6144		{
6145			eventdata.form.submit();
6146			$(eventdata.form).closest('.form').addClass('sending');
6147		}
6148
6149		return true;
6150	}catch (e){
6151		console.error(e);
6152		return true;
6153	}
6154})
6155
6156/*custom event for sku prices*/
6157
6158/*BX.addCustomEvent('onAsproSkuSetPrice', function(eventdata){
6159	console.log(eventdata);
6160})*/
6161
6162/*BX.addCustomEvent('onAsproSkuSetPriceMatrix', function(eventdata){
6163	console.log(eventdata);
6164})*/

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.