PageSourceSearch

https://vidau.tv/bitrix/templates/aspro_next_main/js/main.js?1626871580223951

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

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.