PageSourceSearch

https://vecrus-beauty.com/bitrix/templates/aspro_max/js/main.js?1750763006301154

js vecrus-beauty.com collected 2026-10-08 23:16:46 UTC 301,154 bytes, 8,449 lines download raw bytes

1var basketTimeoutSlide;
2var resizeEventTimer;
3
4var clicked_tab = 0;
5
6if (typeof arAsproOptions === "undefined") {
7  var arAsproOptions = {
8    SITE_DIR: "/",
9  };
10  if ($("body").data("site") !== undefined) arAsproOptions["SITE_DIR"] = $("body").data("site");
11}
12
13function readyDOM(callback) {
14  if (document.readyState !== "loading") callback();
15  else document.addEventListener("DOMContentLoaded", callback);
16}
17
18var typeofExt = function (item) {
19  const _toString = Object.prototype.toString;
20  return _toString.call(item).slice(8, -1).toLowerCase();
21};
22
23function loadScripts(scripts, cb) {
24  function addVersionToScripts(scripts) {
25    const version = "?v=" + arAsproOptions["MODULE_VERSION"];
26    if (Array.isArray(scripts)) {
27      scripts.forEach(function (item, i, arr) {
28        arr[i] += version;
29      });
30    } else if (typeof scripts === "string") {
31      scripts += version;
32    }
33    return scripts;
34  }
35
36  scripts = addVersionToScripts(scripts);
37  BX.loadScript(scripts, function () {
38    if (typeof cb === "function") {
39      cb();
40    }
41  });
42}
43
44function loadJQM(cb) {
45  if (typeof $.fn.jqm === "function") {
46    cb();
47  } else {
48    BX.loadScript(arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/jqModal.js?v=2.2.5", () => cb());
49  }
50}
51
52var InitLazyLoad = function () {};
53
54$(document).on("change", ".uploader input[type=file]", function () {
55  if (!$(this).next().length || !$(this).next().hasClass("resetfile")) {
56    $(
57      '<span class="resetfile"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewB
57ox="0 0 11 11"><path d="M1345.19,376.484l4.66,4.659a0.492,0.492,0,0,1,0,.707,0.5,0.5,0,0,1-.71,0l-4.66-4.659-4.65,4.659a0.5,0.5,0,0,1-.71,0,0.492,0.492,0,0,1,0-.707l4.66-4.659-4.66-4.659a0.492,0.492,0,0,1,0-.707,0.5,0.5,0,0,1,.71,0l4.65,4.659,4.66-4.659a0.5,0.5,0,0,1,.71,0,0.492,0.492,0,0,1,0,.707Z" transform="translate(-1339 -371)"/></svg></span>'
58    ).insertAfter($(this));
59  }
60});
61
62$(document).on("click", ".uploader.files_add input[type=file] + .resetfile", function () {
63  var $input = $(this).prev();
64  $input.val("");
65  $.uniform.update($input);
66  $(this).remove();
67});
68
69$(document).on("click", ".top_block h3", function () {
70  if (window.matchMedia("(max-width: 550px)").matches) {
71    var $this = $(this);
72    var a = $this.siblings("a");
73    if (a.length) {
74      a[0].click();
75    }
76  }
77});
78
79$(document).on("click", ".bx-yandex-view-layout .yandex-map__mobile-opener", function () {
80  if ($(this).hasClass("closer")) {
81    closeYandexMap();
82  } else {
83    openYandexMap(this);
84  }
85});
86
87function openYandexMap(element) {
88  var $this = $(element);
89  if ($this.hasClass("closer")) return;
90  var currentMap = $this.parents(".bx-yandex-view-layout");
91  var mapId = currentMap.find(".bx-yandex-map").attr("id");
92  window.openedYandexMapFrame = mapId;
93  var mapContainer = $('<div data-mapId="' + mapId + '"></div>');
94  if (!$("div[data-mapId=" + mapId + "]").length) {
95    currentMap.after(mapContainer);
96  }
97  var yandexMapFrame = $('<div class="yandex-map__frame"></div>');
98  $("body .wrapper1").append(yandexMapFrame);
99  currentMap.appendTo(yandexMapFrame);
100  currentMap.find(".yandex-map__mobile-opener").addClass("closer");
101  window.map.container.fitToViewport();
102}
103
104function closeYandexMap() {
105  var yandexMapFrame = $(".yandex-map__frame");
106  if (yandexMapFrame.length) {
107    var currentMap = yandexMapFrame.find(".bx-yandex-view-layout");
108    var yandexMapContainer = $("div[data-mapId=" + window.openedYandexMapFrame + "]");
109
110    currentMap.appendTo(yandexMapContainer);
111    yandexMapFrame.remove();
112    currentMap.find(".yandex-map__mobile-opener").removeClass("closer");
113    if (window.map) {
114      window.map.container.fitToViewport();
115    }
116  }
117}
118
119function throttle(f, t) {
120  let throttled, saveThis, saveArgs;
121  const wrapper = function () {
122    if (throttled) {
123      saveThis = this;
124      saveArgs = arguments;
125      return;
126    }
127    throttled = true;
128    f.apply(this, arguments);
129    setTimeout(function () {
130      throttled = false;
131      if (saveArgs) {
132        wrapper.apply(saveThis, saveArgs);
133        saveThis = saveArgs = null;
134      }
135    }, t);
136  };
137  return wrapper;
138}
139
140function debounce(f, t) {
141  return function (args) {
142    var previousCall = this.lastCall;
143    this.lastCall = Date.now();
144    if (previousCall && this.lastCall - previousCall <= t) {
145      clearTimeout(this.lastCallTimer);
146    }
147    this.lastCallTimer = setTimeout(function () {
148      f(args);
149    }, t);
150  };
151}
152
153$.fn.iAppear = function (callback, options) {
154  if (typeof $.fn.iAppear.useObserver === "undefined") {
155    $.fn.iAppear.useObserver = typeof window["IntersectionObserver"] === "function";
156
157    if (!$.fn.iAppear.useObserver && typeof $.fn.appear !== "function") {
158      $.fn.iAppear.queue = [];
159      BX.loadScript(arAsproOptions.SITE_TEMPLATE_PATH + "/vendor/js/jquery.appear.js", function () {
160        if (typeof $.fn.iAppear.queue === "object") {
161          $.fn.iAppear.queue.forEach(function (queueItem) {
162            $(queueItem.items).iAppear(queueItem.callback, queueItem.options);
163          });
164        }
165      });
166
167      return;
168    }
169  }
170
171  if ($.fn.iAppear.useObserver) {
172    var options = $.extend(
173      {
174        root: null,
175        rootMargin: "150px 0px 150px 0px",
176        threshold: 0.0,
177      },
178      options
179    );
180
181    $(this).each(function (i, appearBlock) {
182      var observer = new IntersectionObserver(function (entries, observer) {
183        entries.forEach(function (element) {
184          if (element.intersectionRatio > 0 && !element.target.dataset.iAppeared) {
185            element.target.dataset.iAppeared = true;
186
187            if (typeof callback === "function") {
188              callback.call(element.target);
189            }
190          }
191        });
192      }, options);
193
194      observer.observe(appearBlock);
195    });
196  } else {
197    if (typeof $.fn.appear !== "function") {
198      if ($(this).length) {
199        $.fn.iAppear.queue.push({
200          items: this,
201          callback: callback,
202          options: options,
203        });
204      }
205
206      return;
207    } else {
208      if ($(this).length) {
209        $(this).each(function (i, appearBlock) {
210          $(appearBlock).appear(function () {
211            if (typeof callback === "function") {
212              callback.call(appearBlock);
213            }
214          }, options);
215        });
216      }
217    }
218  }
219};
220
221$(document).on("click", ".flex-control-nav.flex-control-js-click li a:not(.flex-active)", function (e) {
222  var _this = $(this);
223  var itemIndex = _this.data("index") ? _this.data("index") : _this.closest("li").index();
224
225  var block = "";
226  var blocks = _this.closest(".items").find("> .item");
227  var activeBlock = _this.closest(".items").find(".item.active");
228
229  var activeLi = _this.closest(".flex-control-nav").find(".flex-active");
230
231  activeBlock.fadeOut(function () {
232    activeBlock.removeClass("active");
233
234    block = blocks.eq(itemIndex);
235    if (block.length) {
236      block.fadeIn(function () {
237        block.addClass("active");
238      });
239    }
240
241    _this.addClass("flex-active");
242    activeLi.removeClass("flex-active");
243  });
244
245  e.preventDefault();
246});
247
248$(document).on("mouseenter", "#headerfixed .menu-item.wide_menu", function () {
249  var _this = $(this);
250  setTimeout(function () {
251    var dropdownMenu = _this.find(".wrap > .dropdown-menu");
252    var menuOffset = dropdownMenu[0].getBoundingClientRect();
253    var headerOffset = document.getElementById("headerfixed").getBoundingClientRect();
254    var windowHeight = document.documentElement.clientHeight;
255
256    if (menuOffset.height + headerOffset.height > windowHeight) {
257      var maxHeight = windowHeight - headerOffset.height;
258      dropdownMenu.css({
259        "max-height": maxHeight,
260      });
261      dropdownMenu.find(".menu-navigation").css({ "max-height": maxHeight });
262      dropdownMenu.find(".customScrollbar").css({ "max-height": maxHeight });
263      dropdownMenu.find(".menu-wrapper.menu-type-4 > li").css({ "min-height": "auto" });
264    } else {
265      dropdownMenu.css({
266        "max-height": "",
267      });
268      dropdownMenu.find(".menu-navigation").css({ "max-height": "" });
269      dropdownMenu.find(".customScrollbar").css({ "max-height": "" });
270      dropdownMenu.find(".menu-wrapper.menu-type-4 > li").css({ "min-height": "" });
271    }
272  }, 300);
273});
274
275BX.addCustomEvent("onAjaxSuccess", function (data) {
276  if (typeof data === "object" && data !== null) {
277    if (
278      typeof data.BASKET_REFRESHED !== undefined &&
279      data.BASKET_REFRESHED === true &&
280      typeof data.BASKET_DATA === "object" &&
281      data.BASKET_DATA
282    ) {
283      var basketCounts = data.BASKET_DATA.BASKET_ITEMS_COUNT;
284      reloadBasketCounters(basketCounts);
285    }
286  }
287});
288
289BX.addCustomEvent("onHeaderProgressBarChange", function (data) {
290  if (typeof updateProgressBar === "function") {
291    updateProgressBar();
292  }
293});
294
295if (!funcDefined("parseUrlQuery")) {
296  parseUrlQuery = function () {
297    var data = {};
298    if (location.search) {
299      var pair = location.search.substr(1).split("&");
300      for (var i = 0; i < pair.length; i++) {
301        var param = pair[i].split("=");
302        data[param[0]] = param[1];
303      }
304    }
305    return data;
306  };
307}
308
309if (!funcDefined("setLocationSKU")) {
310  function setLocationSKU(ID, urlParam) {
311    if (urlParam === undefined) urlParam = "oid";
312
313    var objUrl = parseUrlQuery(),
314      j = 0,
315      prefix = "",
316      query_string = "",
317      url = "";
318
319    objUrl[urlParam] = ID;
320
321    for (var i in objUrl) {
322      if (parseInt(j) > 0) prefix = "&";
323      query_string = query_string + prefix + i + "=" + objUrl[i];
324      j++;
325    }
326    if (query_string) {
327      url = location.pathname + "?" + query_string + location.hash;
328    }
329    try {
330      //history.pushState(null, null, url);
331      history.replaceState(null, null, url);
332      return;
333    } catch (e) {}
334    location.hash = "#" + url.substr(1);
335  }
336}
337
338if (!funcDefined("ShowOverlay")) {
339  ShowOverlay = function () {
340    $('<div class="jqmOverlay waiting"></div>').appendTo("body");
341  };
342}
343
344if (!funcDefined("HideOverlay")) {
345  HideOverlay = function () {
346    $(".jqmOverlay").detach();
347  };
348}
349
350if (!funcDefined("trimPrice")) {
351  var trimPrice = function trimPrice(s) {
352    s = s.split(" ").join("");
353    s = s.split("&nbsp;").join("");
354    return s;
355  };
356}
357
358if (!funcDefined("pauseYmObserver")) {
359  // pause ya metrika webvisor MutationObserver callback (DOM indexer)
360  // use before insert html with some animation
361  pauseYmObserver = function () {
362    if (
363      typeof MutationObserver === "function" &&
364      typeof MutationObserver.observers === "object" &&
365      typeof MutationObserver.observers.ym === "object"
366    ) {
367      if (typeof pauseYmObserver.cnt === "undefined") {
368        pauseYmObserver.cnt = 0;
369      }
370
371      ++pauseYmObserver.cnt;
372
373      if (!MutationObserver.observers.ym.paused) {
374        MutationObserver.observers.ym.pause();
375      }
376    }
377  };
378}
379
380if (!funcDefined("resumeYmObserver")) {
381  // resume ya metrika webvisor MutationObserver callback
382  // use when animation finished
383  resumeYmObserver = function () {
384    if (
385      typeof MutationObserver === "function" &&
386      typeof MutationObserver.observers === "object" &&
387      typeof MutationObserver.observers.ym === "object"
388    ) {
389      if (typeof pauseYmObserver.cnt === "undefined") {
390        pauseYmObserver.cnt = 1;
391      }
392
393      pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0;
394
395      if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) {
396        MutationObserver.observers.ym.resume();
397      }
398    }
399  };
400}
401
402if (!funcDefined("markProductRemoveBasket")) {
403  var markProductRemoveBasket = function markProductRemoveBasket(id) {
404    $(".in-cart[data-item=" + id + "]").hide();
405    $(".to-cart[data-item=" + id + "]").show();
406    if (
407      $(".to-cart[data-item=" + id + "]")
408        .closest(".counter_wrapp")
409        .find(".counter_block").length
410    ) {
411      $(".to-cart[data-item=" + id + "]")
412        .closest(".button_block")
413        .removeClass("wide");
414    }
415    $(".to-cart[data-item=" + id + "]")
416      .closest(".counter_wrapp")
417      .find(".counter_block")
418      .show();
419    $(".counter_block[data-item=" + id + "]")
420      .closest(".counter_block_inner")
421      .show();
422    $(".counter_block[data-item=" + id + "]").show();
423    $(".in-subscribe[data-item=" + id + "]").hide();
424    $(".to-subscribe[data-item=" + id + "]").show();
425
426    $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .basket_item_add").removeClass("added");
427
428    if ($("#headerfixed .but-cell .type_block").length) {
429      $("#headerfixed .but-cell .type_block span").text(BX.message("MORE_INFO_SKU"));
430      $("#headerfixed .but-cell .type_block .svg-inline-fw").remove();
431    }
432  };
433}
434
435if (!funcDefined("markProductAddBasket")) {
436  var markProductAddBasket = function markProductAddBasket(id) {
437    $(".to-cart[data-item=" + id + "]").hide();
438    $(".to-cart[data-item=" + id + "]")
439      .closest(".counter_wrapp")
440      .find(".counter_block_inner")
441      .hide();
442    $(".to-cart[data-item=" + id + "]")
443      .closest(".counter_wrapp")
444      .find(".counter_block")
445      .hide();
446    $(".to-cart[data-item=" + id + "]")
447      .closest(".button_block")
448      .addClass("wide");
449    $(".in-cart[data-item=" + id + "]").show();
450
451    $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .basket_item_add").addClass("added");
452
453    if ($("#headerfixed .but-cell .type_block").length) {
454      $("#headerfixed .but-cell .type_block").html($(".in-cart[data-item=" + id + "]").html());
455    }
456  };
457}
458
459if (!funcDefined("markProductDelay")) {
460  var markProductDelay = function markProductDelay(id) {
461    $(".in-cart[data-item=" + id + "]").hide();
462    $(".to-cart[data-item=" + id + "]").show();
463    $(".to-cart[data-item=" + id + "]")
464      .closest(".counter_wrapp")
465      .find(".counter_block_inner")
466      .show();
467    $(".to-cart[data-item=" + id + "]")
468      .closest(".counter_wrapp")
469      .find(".counter_block")
470      .show();
471    if (
472      $(".to-cart[data-item=" + id + "]")
473        .closest(".counter_wrapp")
474        .find(".counter_block").length
475    ) {
476      $(".to-cart[data-item=" + id + "]")
477        .closest(".button_block")
478        .removeClass("wide");
479    }
480
481    if ($("#headerfixed .but-cell .type_block").length) {
482      $("#headerfixed .but-cell .type_block span").text(BX.message("MORE_INFO_SKU"));
483      $("#headerfixed .but-cell .type_block .svg-inline-fw").remove();
484    }
485  };
486}
487
488if (!funcDefined("markProductSubscribe")) {
489  var markProductSubscribe = function markProductSubscribe(id) {
490    $(".to-subscribe[data-item=" + id + "]").hide();
491    $(".in-subscribe[data-item=" + id + "]").css("display", "block");
492  };
493}
494
495if (!funcDefined("updateBottomIconsPanel")) {
496  var updateBottomIconsPanel = function updateBottomIconsPanel(options) {
497    if (options && $(".bottom-icons-panel").length) {
498      var bBasketUpdate = "READY" in options || "BASKET_COUNT" in options;
499      var basketCount = "READY" in options ? options.READY.COUNT : "BASKET_COUNT" in options ? options.BASKET_COUNT : 0;
500      var basketTitle =
501        "READY" in options ? options.READY.TITLE : "BASKET_SUMM_TITLE" in options ? options.BASKET_SUMM_TITLE : "";
502
503      //basket
504      if (bBasketUpdate) {
505        if (+basketCount > 0) {
506          $(".bottom-icons-panel .basket.counter-state").removeClass("counter-state--empty");
507        } else {
508          $(".bottom-icons-panel .basket.counter-state").addClass("counter-state--empty");
509        }
510        $(".bottom-icons-panel .basket .counter-state__content-item-value").text(basketCount);
511        $(".bottom-icons-panel .basket")
512          .closest(".bottom-icons-panel__content-link")
513          .attr("title", $("<div/>").html(basketTitle).text());
514      }
515      //
516    }
517  };
518}
519if (!funcDefined("basketFly")) {
520  var basketFly = function basketFly(action, opener) {
521    if (typeof obMaxPredictions === "object") {
522      obMaxPredictions.updateAll();
523    }
524
525    $.post(
526      arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php",
527      "PARAMS=" + $("#basket_form").find("input#fly_basket_params").val(),
528      $.proxy(function (data) {
529        var small = $(".opener .basket_count").hasClass("small"),
530          basket_count = $(data).find(".basket_count").find(".items div").text();
531        $("#basket_line .basket_fly").addClass("loaded").html(data);
532
533        if (action == "refresh") $("li[data-type=AnDelCanBuy]").trigger("click");
534
535        if (typeof opener == "undefined" || $("#basket_line .basket_fly").hasClass("loading")) {
536          if (window.matchMedia("(min-width: 769px)").matches) {
537            if (action == "open") {
538              if (small) {
539                if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
540                  $(".opener .basket_count").click();
541                }
542              } else {
543                $(".opener .basket_count").removeClass("small");
544                $('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass("cur");
545                $('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass("cur");
546
547                $("#basket_line .basket_fly .opener > div:eq(0)").addClass("cur");
548              }
549            } else {
550              if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
551                $(".opener .basket_count").click();
552              }
553            }
554          }
555        } else if (opener === "SHOW") {
556          if (window.matchMedia("(min-width: 769px)").matches) {
557            $(".opener .basket_count").removeClass("small");
558            $('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass("cur");
559            $('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass("cur");
560            $("#basket_line .basket_fly .opener > div:eq(0)").addClass("cur");
561          }
562        }
563      })
564    );
565  };
566}
567
568if (!funcDefined("basketTop")) {
569  var basketTop = function basketTop(action, hoverBlock) {
570    if (action == "reload") {
571      if ($(".basket_hover_block:hover").length) {
572        hoverBlock = $(".basket_hover_block:hover");
573      }
574    }
575
576    if (action == "open") {
577      if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
578        if ($("#headerfixed").hasClass("fixed")) {
579          hoverBlock = $("#headerfixed .basket_hover_block");
580        } else {
581          hoverBlock = $(".top_basket .basket_hover_block");
582        }
583      }
584    }
585
586    if (hoverBlock === undefined) {
587      console.log("Undefined hoverBlock");
588      console.trace();
589      return false;
590    }
591
592    if (action == "close") {
593      if (hoverBlock.length) {
594        hoverBlock.css({
595          opacity: "",
596          visibility: "",
597        });
598        return true;
599      }
600    }
601
602    hoverBlock.removeClass("loaded");
603    var firstTime = hoverBlock.find("div").length ? "false" : "true";
604    var params = $("#basket_form").find("input#fly_basket_params").val();
605    var postData = {
606      firstTime: firstTime,
607    };
608    if (params !== undefined) {
609      postData.PARAMS = params;
610    }
611
612    $.post(
613      arAsproOptions["SITE_DIR"] + "ajax/showBasketHover.php",
614      postData,
615      $.proxy(function (data) {
616        var ob = BX.processHTML(data);
617        // inject
618        $("#headerfixed .basket .basket_hover_block, .top_basket .basket_hover_block").html(ob.HTML);
619        BX.ajax.processScripts(ob.SCRIPT);
620        if (window.matchMedia("(min-width: 992px)").matches) {
621          hoverBlock.addClass("loaded");
622
623          if (action == "open") {
624            if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
625              if ($("#headerfixed").hasClass("fixed")) {
626                hoverBlock = $("#headerfixed .basket + .basket_hover_block");
627              } else {
628                hoverBlock = $(".top_basket .basket_hover_block");
629              }
630
631              hoverBlock.css({
632                opacity: "1",
633                visibility: "visible",
634              });
635
636              setTimeout(function () {
637                hoverBlock.css({
638                  opacity: "",
639                  visibility: "",
640                });
641              }, 2000);
642            }
643          }
644        }
645      })
646    );
647  };
648}
649
650$(document).on("click", "#basket_toolbar_button", function () {
651  if (lastHash) location.hash = "cart";
652});
653$(document).on("click", "#basket_toolbar_button_delayed", function () {
654  if (lastHash) location.hash = "delayed";
655});
656if (location.hash) {
657  var hash = location.hash;
658}
659//work with hash end
660
661$(document).on("click", "#basket_line .basket_fly .opener > div.clicked", function () {
662  if (arAsproOptions["PAGES"]["BASKET_PAGE"]) return;
663  function onOpenFlyBasket(_this) {
664    $("#basket_line .basket_fly .tabs li").removeClass("cur");
665    $("#basket_line .basket_fly .tabs_content li").removeClass("cur");
666    // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
667    if (!$(_this).is(".wish_count.empty")) {
668      $("#basket_line .basket_fly .tabs_content li[item-section=" + $(_this).data("type") + "]").addClass("cur");
669      $("#basket_line .basket_fly .tabs li:eq(" + $(_this).index() + ")").addClass("cur");
670      // $("#basket_line .basket_fly .remove_all_basket."+$(_this).data("type")).addClass("cur");
671    } else {
672      $("#basket_line .basket_fly .tabs li").first().addClass("cur").siblings().removeClass("cur");
673      $("#basket_line .basket_fly .tabs_content li").first().addClass("cur").siblings().removeClass("cur");
674      // $("#basket_line .basket_fly .remove_all_basket").first().addClass("cur");
675    }
676    $("#basket_line .basket_fly .opener > div.clicked").removeClass("small");
677
678    $("#basket_line .basket_fly .opener > div").siblings().removeClass("cur");
679    $("#basket_line .basket_fly .opener > div:eq(" + $(_this).index() + ")").addClass("cur");
680  }
681
682  if (window.matchMedia("(min-width: 769px)").matches) {
683    var _this = this;
684
685    $(_this).siblings().removeClass("cur");
686    $(_this).addClass("cur");
687
688    if (parseInt($("#basket_line .basket_fly").css("right")) < 0) {
689      $("#basket_line .basket_fly")
690        .stop()
691        .addClass("loading")
692        .animate({ right: "0" }, 333, function () {
693          if ($(_this).closest(".basket_fly.loaded").length) {
694            onOpenFlyBasket(_this);
695          } else {
696            $.ajax({
697              url: arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php",
698              type: "post",
699              success: function (html) {
700                $("#basket_line .basket_fly").removeClass("loading").addClass("loaded").html(html);
701                onOpenFlyBasket(_this);
702              },
703            });
704          }
705        });
706      $("#basket_line .basket_fly").addClass("swiped");
707    } else if (
708      $(this).is(".wish_count:not(.empty)") &&
709      !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=DelDelCanBuy]")
710    ) {
711      $("#basket_line .basket_fly .tabs li").removeClass("cur");
712      $("#basket_line .basket_fly .tabs_content li").removeClass("cur");
713      // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
714      $("#basket_line .basket_fly .tabs_content li[item-section=" + $(this).data("type") + "]").addClass("cur");
715      $("#basket_line  .basket_fly .tabs li:eq(" + $(this).index() + ")")
716        .first()
717        .addClass("cur");
718      // $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
719    } else if (
720      $(this).is(".basket_count") &&
721      $("#basket_line .basket_fly .basket_sort ul.tabs li.cur").length &&
722      !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=AnDelCanBuy]")
723    ) {
724      $("#basket_line .basket_fly .tabs li").removeClass("cur");
725      $("#basket_line .basket_fly .tabs_content li").removeClass("cur");
726      // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur");
727      $("#basket_line  .basket_fly .tabs_content li:eq(" + $(this).index() + ")").addClass("cur");
728      $("#basket_line  .basket_fly .tabs li:eq(" + $(this).index() + ")")
729        .first()
730        .addClass("cur");
731      // $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur");
732    } else {
733      $("#basket_line .basket_fly")
734        .stop()
735        .animate({ right: -$("#basket_line .basket_fly").outerWidth() }, 150);
736      $("#basket_line .basket_fly .opener > div.clicked").addClass("small");
737      $("#basket_line .basket_fly").removeClass("swiped");
738      $("#basket_line .basket_fly .opener > div").removeClass("cur");
739    }
740  }
741});
742
743if (!funcDefined("clearViewedProduct")) {
744  function clearViewedProduct() {
745    try {
746      var siteID = arAsproOptions.SITE_ID;
747      var localKey = "MAX_VIEWED_ITEMS_" + siteID;
748      var cookieParams = { path: "/", expires: 30 };
749      if (typeof BX.localStorage !== "undefined") {
750        // remove local storage
751        BX.localStorage.set(localKey, {}, 0);
752      }
753      // remove cookie
754      $.removeCookie(localKey, cookieParams);
755    } catch (e) {
756      console.error(e);
757    }
758  }
759}
760
761if (!funcDefined("setViewedProduct")) {
762  function setViewedProduct(id, arData) {
763    try {
764      // save $.cookie option
765      var bCookieJson = $.cookie.json;
766      $.cookie.json = true;
767
768      var siteID = arAsproOptions.SITE_ID;
769      var localKey = "MAX_VIEWED_ITEMS_" + siteID;
770      var cookieParams = { path: "/", expires: 30 };
771
772      if (typeof BX.localStorage !== "undefined" && typeof id !== "undefined" && typeof arData !== "undefined") {
773        var PRODUCT_ID = typeof arData.PRODUCT_ID !== "undefined" ? arData.PRODUCT_ID : id;
774        var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {};
775        var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {};
776        var count = 0;
777
778        // delete some items (sync cookie & local storage)
779        for (var _id in arViewedLocal) {
780          arViewedLocal[_id].IS_LAST = false;
781          if (typeof arViewedCookie[_id] === "undefined") {
782            delete arViewedLocal[_id];
783          }
784        }
785        for (var _id in arViewedCookie) {
786          if (typeof arViewedLocal[_id] === "undefined") {
787            delete arViewedCookie[_id];
788          }
789        }
790
791        for (var _id in arViewedCookie) {
792          count++;
793        }
794
795        // delete item if other item (offer) of that PRODUCT_ID is exists
796        if (typeof arViewedLocal[PRODUCT_ID] !== "undefined") {
797          if (arViewedLocal[PRODUCT_ID].ID != id) {
798            delete arViewedLocal[PRODUCT_ID];
799            delete arViewedCookie[PRODUCT_ID];
800          }
801        }
802
803        var time = new Date().getTime();
804        arData.ID = id;
805        arData.ACTIVE_FROM = time;
806        arData.IS_LAST = true;
807        arViewedLocal[PRODUCT_ID] = arData;
808        arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID];
809
810        $.cookie(localKey, arViewedCookie, cookieParams);
811        BX.localStorage.set(localKey, arViewedLocal, 2592000); // 30 days
812      }
813    } catch (e) {
814      console.error(e);
815    } finally {
816      // restore $.cookie option
817      $.cookie.json = bCookieJson;
818    }
819  }
820}
821
822if (!funcDefined("initSelects")) {
823  function initSelects(target) {
824    if (!$.fn.ikSelect) return;
825    var iOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false;
826    if (iOS && !$(".wrapper1.iks-on-ios").length) return;
827    if ($("#bx-soa-order").length || $("#bx-soa-order-main").length) return;
828
829    if (!$(".wrapper1.iks-ignore").length) {
830      const $target = $(target).find(
831        ".wrapper1 select:visible:not(.iks-ignore), .jqmWindow select:visible:not(.iks-ignore)"
832      );
833
834      if ($target.length) {
835        // SELECT STYLING
836        $target.ikSelect({
837          syntax:
838            '<div class="ik_select_link"> \
839              <span class="ik_select_link_text"></span> \
840              <div class="trigger"></div> \
841            </div> \
842            <div class="ik_select_dropdown"> \
843              <div class="ik_select_list"> \
844              </div> \
845            </div>',
846          dynamicWidth: true,
847          ddMaxHeight: 112,
848          customClass: "common_select",
849          //equalWidths: true,
850          onShow: function (inst) {
851            inst.$dropdown.css("top", parseFloat(inst.$dropdown.css("top")) - 5 + "px");
852            if (inst.$dropdown.outerWidth() < inst.$link.outerWidth()) {
853              inst.$dropdown.css("width", inst.$link.outerWidth());
854            }
855            if (inst.$dropdown.outerWidth() > inst.$link.outerWidth()) {
856              inst.$dropdown.css("width", inst.$link.outerWidth());
857            }
858            var count = 0,
859              client_height = 0;
860            inst.$dropdown.css("left", inst.$link.offset().left);
861            $(inst.$listInnerUl)
862              .find("li")
863              .each(function () {
864                if (!$(this).hasClass("ik_select_option_disabled")) {
865                  ++count;
866                  client_height += $(this).outerHeight();
867                }
868              });
869            if (client_height < 112) {
870              inst.$listInner.css("height", "auto");
871            } else {
872              inst.$listInner.css("height", "112px");
873            }
874            inst.$link.addClass("opened");
875            inst.$listInner.addClass("scroller scrollblock");
876            if ($(".confirm_region").length) $(".confirm_region").remove();
877          },
878          onHide: function (inst) {
879            inst.$link.removeClass("opened");
880          },
881        });
882        // END OF SELECT STYLING
883
884        var timeout;
885        $(window).on("resize", function () {
886          ignoreResize.push(true);
887          clearTimeout(timeout);
888          timeout = setTimeout(function () {
889            //$('select:visible').ikSelect('redraw');
890            var inst = "";
891            if ((inst = $(".common_select-link.opened + select").ikSelect().data("plugin_ikSelect"))) {
892              inst.$dropdown.css("left", inst.$link.offset().left + "px");
893            }
894          }, 20);
895          ignoreResize.pop();
896        });
897      }
898    }
899  }
900}
901
902if (!funcDefined("CheckTopMenuFullCatalogSubmenu")) {
903  CheckTopMenuFullCatalogSubmenu = function () {
904    if (window.matchMedia("(max-width: 991px)").matches) return;
905
906    if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["MENU_TYPE_VIEW"] != "HOVER") return;
907
908    var $menu = $(".left_block .menu_top_block");
909    if ($menu.length) {
910      var $wrapmenu = $menu.parents(".wrap_menu");
911
912      var wrapMenuWidth = $menu.closest(".wrapper_inner").actual("width");
913      if (!wrapMenuWidth) wrapMenuWidth = $menu.closest(".wraps").actual("width");
914
915      var bCatalogFirst = $menu.hasClass("catalogfirst");
916      var findMenuLi = $(".left_block .menu_top_block:visible li.full");
917      var parentSubmenuWidth = $menu.actual("outerWidth");
918      var wrapMenuLeft = 0;
919      var wrapMenuRight = 0;
920
921      if ($wrapmenu.length) {
922        wrapMenuWidth = $wrapmenu.actual("outerWidth");
923        wrapMenuLeft = $wrapmenu.offset().left;
924        wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
925      }
926
927      if ($(".left_block .catalog_block.menu_top_block").length) {
928        if ($(".left_block .catalog_block.menu_top_block").is(":visible"))
929          findMenuLi = $(".left_block .menu_top_block.catalog_block li.full");
930      }
931      findMenuLi.each(function () {
932        var $this = $(this);
933        var $submenu = $this.find(">.dropdown");
934
935        if ($submenu.length) {
936          // $submenu.css({left: parentSubmenuWidth + 'px', width: (wrapMenuWidth - parentSubmenuWidth) + 'px', 'padding-left': '0px', 'padding-right': '0px', 'opacity': 1});
937          //$submenu.css({ width: wrapMenuWidth - parentSubmenuWidth + "px" });
938
939          if (!isOnceInited && arAsproOptions["THEME"]["MENU_POSITION"] == "TOP") {
940            $this.on("mouseenter", function () {
941              $submenu.css("min-height", $this.closest(".dropdown").actual("outerHeight") + "px");
942            });
943          }
944        }
945      });
946    }
947  };
948}
949
950$.fn.getMaxHeights = function (outer, classNull, minHeight) {
951  var maxHeight = this.map(function (i, e) {
952    var calc_height = 0;
953    $(e).css("height", "");
954
955    if (outer == true) calc_height = $(e).actual("outerHeight");
956    else calc_height = $(e).actual("height");
957
958    return calc_height;
959  }).get();
960  for (var i = 0, c = maxHeight.length; i < c; ++i) {
961    if (maxHeight[i] % 2) --maxHeight[i];
962  }
963  return Math.max.apply(this, maxHeight);
964};
965
966$.fn.equalizeHeights = function (outer, classNull, options) {
967  var maxHeight = [];
968  var items = [];
969
970  for (var i = 0, itemKey = 0; i < this.length; itemKey++) {
971    var item = this[itemKey],
972      _item = $(item),
973      minus_height = 0,
974      calc_height = 0;
975
976    i++;
977
978    if (options.blockNull !== undefined) {
979      if (options.blockNull.class !== undefined) {
980        if (_item.hasClass(options.blockNull.class) || _item.closest("." + options.blockNull.class).length) {
981          continue;
982        }
983      }
984    }
985
986    items.push(this[itemKey]);
987
988    if (classNull !== false) {
989      if (!isMobile) {
990        var nulled = _item.find(classNull);
991        if (nulled.length) {
992          minus_height = parseInt(nulled[0].offsetHeight);
993          //minus_height=parseInt(_item.find(classNull).outerHeight(false));
994          //minus_height=parseInt(_item.find(classNull).actual('outerHeight'));
995        }
996      }
997    }
998
999    if (minus_height) minus_height += 12;
1000
1001    _item.css("height", "");
1002
1003    calc_height = item.offsetHeight - minus_height;
1004
1005    if (options.minHeight !== false) {
1006      if (calc_height < options.minHeight) calc_height += options.minHeight - calc_height;
1007
1008      if (window.matchMedia("(max-width: 520px)").matches) calc_height = 300;
1009
1010      if (window.matchMedia("(max-width: 400px)").matches) calc_height = 200;
1011    }
1012
1013    if (!calc_height) calc_height = 0;
1014
1015    maxHeight.push(calc_height);
1016  }
1017
1018  for (var i = 0, c = maxHeight.length; i < c; ++i) {
1019    if (maxHeight[i] % 2) {
1020      --maxHeight[i];
1021    }
1022  }
1023
1024  var result = $(items).height(Math.max.apply(this, maxHeight));
1025
1026  return result;
1027};
1028
1029$.fn.getFloatWidth = function () {
1030  var width = 0;
1031  if ($(this).length) {
1032    var rect = $(this)[0].getBoundingClientRect();
1033    if (!(width = rect.width)) width = rect.right - rect.left;
1034  }
1035
1036  $(this).data("floatWidth", width);
1037
1038  return width;
1039};
1040
1041function extendDepthObject(target, FromObj) {
1042  var to = Object.assign({}, target);
1043  for (var key in FromObj) {
1044    if (typeof FromObj[key] == "object") {
1045      to[key] = extendDepthObject(to[key], FromObj[key]);
1046    } else {
1047      to[key] = FromObj[key];
1048    }
1049  }
1050
1051  return to;
1052}
1053
1054$.fn.sliceHeight = function (options) {
1055  function _slice(el) {
1056    var arBreakpoints = Object.keys(options.breakpoint);
1057    var resizeOptionsTmp = {};
1058    if (arBreakpoints.length) {
1059      for (var key in arBreakpoints) {
1060        if (window.matchMedia(arBreakpoints[key].toString()).matches) {
1061          resizeOptionsTmp = options.breakpoint[arBreakpoints[key]];
1062        }
1063      }
1064    }
1065
1066    var resizeOptions = extendDepthObject(options, resizeOptionsTmp);
1067
1068    var blockNullClass =
1069      resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined
1070        ? resizeOptions.blockNull.class
1071        : false;
1072    var parent =
1073      typeof resizeOptions.row !== "undefined" && resizeOptions.row.length
1074        ? el.first().parents(resizeOptions.row)
1075        : el.first().parents(".items");
1076    var item = "";
1077
1078    if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) {
1079      if (blockNullClass) {
1080        $(resizeOptions.item).each(function (i, element) {
1081          _element = $(element);
1082          if (!_element.hasClass(blockNullClass)) {
1083            item = _element;
1084          }
1085        });
1086        if (!item)
1087          // if only ignored blocks
1088          return false;
1089      } else {
1090        item = $(resizeOptions.item).first();
1091      }
1092    } else {
1093      if (el.first().hasClass("item")) {
1094        item = el.first();
1095      } else {
1096        item = el.first().parents(".item");
1097      }
1098    }
1099
1100    if (typeof resizeOptions.autoslicecount == "undefined" || resizeOptions.autoslicecount !== false) {
1101      var elsw = parent.getFloatWidth(),
1102        elw = item.getFloatWidth();
1103      if (!elsw) {
1104        elsw = el.first().parents(".row").getFloatWidth();
1105      }
1106      if (!elw) {
1107        if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length)
1108          elw = $(resizeOptions.item + ":eq(1)").getFloatWidth()
1109            ? $(resizeOptions.item + ":eq(1)").getFloatWidth()
1110            : $(resizeOptions.item + ":eq(2)").getFloatWidth();
1111        else elw = $(el[1]).getFloatWidth() ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth();
1112      }
1113      if (elw && resizeOptions.fixWidth) elw -= resizeOptions.fixWidth;
1114
1115      elw = parseInt(elw * 100) / 100;
1116
1117      if (elsw && elw) {
1118        resizeOptions.slice = Math.floor(elsw / elw);
1119      }
1120    }
1121
1122    if (resizeOptions.customSlice) {
1123      //manual slice count
1124      var bSliceNext = false;
1125      if (resizeOptions.length) {
1126        elw =
1127          typeof resizeOptions.item !== "undefined" && resizeOptions.item.length
1128            ? $(resizeOptions.item).last().getFloatWidth()
1129            : el.last().hasClass("item")
1130            ? el.last().getFloatWidth()
1131            : el.last().parents(".item").getFloatWidth();
1132        if (elw) resizeOptions.sliceNext = Math.floor(elsw / elw);
1133
1134        bSliceNext = true;
1135      }
1136    }
1137
1138    elements = [];
1139    if (resizeOptions.classes !== undefined && resizeOptions.classes.length) {
1140      for (var i = 0; i < resizeOptions.classes.length; i++) {
1141        var items = $(resizeOptions.item).find(resizeOptions.classes[i]);
1142        elements.push(items);
1143      }
1144    }
1145    var elIndex = elements.push(el) - 1;
1146
1147    if (resizeOptions.mobile == true) {
1148      if (window.matchMedia("(max-width: 500px)").matches) {
1149        for (var block = 0; block < elements.length; block++) {
1150          var items = $(elements[block]);
1151          items.css({
1152            "line-height": "",
1153            height: "",
1154          });
1155        }
1156        return;
1157      }
1158    }
1159
1160    if (typeof resizeOptions.typeResize == "undefined" || resizeOptions.typeResize == false) {
1161      if (resizeOptions.slice) {
1162        for (var block = 0; block < elements.length; block++) {
1163          if (resizeOptions.currentRow) {
1164            var itemNumber = el.index(resizeOptions.currentItem);
1165            var rowCount = resizeOptions.slice;
1166            var rowNumber = Math.floor(itemNumber / rowCount);
1167
1168            var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount));
1169            var classNull = block == elIndex ? resizeOptions.classNull : false;
1170            items.css({
1171              "line-height": "",
1172              height: "",
1173            });
1174            items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1175          } else {
1176            for (var i = 0; i < elements[block].length; ) {
1177              if (resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i)
1178                //manual slice count
1179                resizeOptions.slice = resizeOptions.sliceNext;
1180
1181              var slice = resizeOptions.slice;
1182              var items = $(elements[block].slice(i, i + slice));
1183              if (resizeOptions.blockNull !== undefined) {
1184                if (resizeOptions.blockNull.class !== undefined) {
1185                  var counts = 0;
1186                  items.each(function (i, item) {
1187                    var _item = $(item);
1188                    if (
1189                      _item.hasClass(resizeOptions.blockNull.class) ||
1190                      _item.closest("." + resizeOptions.blockNull.class).length
1191                    ) {
1192                      counts++;
1193                    }
1194                  });
1195                }
1196              }
1197              if (counts) {
1198                slice -= (resizeOptions.blockNull.width - 1) * counts;
1199              }
1200
1201              items = $(elements[block].slice(i, i + slice));
1202              if (items) {
1203                var classNull = block == elIndex ? resizeOptions.classNull : false;
1204
1205                items.css({
1206                  "line-height": "",
1207                  height: "",
1208                });
1209                items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions);
1210              }
1211              i += slice || 1;
1212            }
1213          }
1214        }
1215      }
1216      if (resizeOptions.lineheight) {
1217        var lineheightAdd = parseInt(resizeOptions.lineheight);
1218        if (isNaN(lineheightAdd)) {
1219          lineheightAdd = 0;
1220        }
1221        el.each(function () {
1222          $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px");
1223        });
1224      }
1225    }
1226  }
1227  var options = $.extend(
1228    {
1229      slice: null,
1230      sliceNext: null,
1231      outer: false,
1232      lineheight: false,
1233      autoslicecount: true,
1234      classNull: false,
1235      minHeight: false,
1236      row: false,
1237      item: false,
1238      typeResize: false,
1239      typeValue: false,
1240      fixWidth: 0,
1241      resize: true,
1242      mobile: false,
1243      customSlice: false,
1244      breakpoint: {},
1245      classes: [],
1246    },
1247    options
1248  );
1249
1250  var el = $(this);
1251
1252  ignoreResize.push(true);
1253  _slice(el);
1254  ignoreResize.pop();
1255
1256  if (options.resize) {
1257    BX.addCustomEvent("onWindowResize", function (eventdata) {
1258      try {
1259        ignoreResize.push(true);
1260        _slice(el);
1261      } catch (e) {
1262      } finally {
1263        ignoreResize.pop();
1264      }
1265    });
1266  } else {
1267    if (!ignoreResize.length) {
1268      // ignoreResize.push(true);
1269      _slice(el);
1270      // ignoreResize.pop();
1271    }
1272  }
1273};
1274
1275$.fn.sliceHeightNoResize = function (options) {
1276  function _slice(el) {
1277    el.each(function () {
1278      $(this).css("line-height", "");
1279      $(this).css("height", "");
1280    });
1281    if (options.mobile == true) {
1282      if (window.matchMedia("(max-width: 550px)").matches) return;
1283    }
1284    if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) {
1285      var elsw =
1286          typeof options.row !== "undefined" && options.row.length
1287            ? el.first().parents(options.row).getFloatWidth()
1288            : el.first().parents(".items").getFloatWidth(),
1289        elw =
1290          typeof options.item !== "undefined" && options.item.length
1291            ? $(options.item).first().getFloatWidth()
1292            : el.first().hasClass("item")
1293            ? el.first().getFloatWidth()
1294            : el.first().parents(".item").getFloatWidth();
1295
1296      if (!elsw) {
1297        elsw = el.first().parents(".row").getFloatWidth();
1298      }
1299      if (elw && options.fixWidth) elw -= options.fixWidth;
1300
1301      if (elsw && elw) {
1302        options.slice = Math.floor(elsw / elw);
1303      }
1304    }
1305    if (options.customSlice) {
1306      //manual slice count
1307      var arBreakpoints = Object.keys(options.breakpoint),
1308        bSliceNext = false;
1309      if (arBreakpoints.length) {
1310        elw =
1311          typeof options.item !== "undefined" && options.item.length
1312            ? $(options.item).last().getFloatWidth()
1313            : el.last().hasClass("item")
1314            ? el.last().getFloatWidth()
1315            : el.last().parents(".item").getFloatWidth();
1316        if (elw) options.sliceNext = Math.floor(elsw / elw);
1317        for (var key in arBreakpoints) {
1318          if (window.matchMedia(arBreakpoints[key].toString()).matches) {
1319            bSliceNext = true;
1320            options.slice = options.breakpoint[arBreakpoints[key]];
1321          }
1322        }
1323      }
1324    }
1325    if (typeof options.typeResize == "undefined" || options.typeResize == false) {
1326      if (options.slice) {
1327        for (var i = 0; i < el.length; i += options.slice) {
1328          if (options.customSlice && options.sliceNext && bSliceNext && i)
1329            //manual slice count
1330            options.slice = options.sliceNext;
1331          $(el.slice(i, i + options.slice)).equalizeHeights(
1332            options.outer,
1333            options.classNull,
1334            options.minHeight,
1335            options.typeResize,
1336            options.typeValue
1337          );
1338        }
1339      }
1340      if (options.lineheight) {
1341        var lineheightAdd = parseInt(options.lineheight);
1342        if (isNaN(lineheightAdd)) {
1343          lineheightAdd = 0;
1344        }
1345        el.each(function () {
1346          $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px");
1347        });
1348      }
1349    }
1350  }
1351  var options = $.extend(
1352    {
1353      slice: null,
1354      sliceNext: null,
1355      outer: false,
1356      lineheight: false,
1357      autoslicecount: true,
1358      classNull: false,
1359      minHeight: false,
1360      row: false,
1361      item: false,
1362      typeResize: false,
1363      typeValue: false,
1364      fixWidth: 0,
1365      resize: true,
1366      mobile: false,
1367      customSlice: false,
1368      breakpoint: {},
1369    },
1370    options
1371  );
1372
1373  var el = $(this);
1374
1375  ignoreResize.push(true);
1376  _slice(el);
1377  ignoreResize.pop();
1378};
1379
1380if (!funcDefined("initHoverBlock")) {
1381  function initHoverBlock(target) {}
1382}
1383if (!funcDefined("setStatusButton")) {
1384  function setStatusButton() {
1385    if (!funcDefined("setItemButtonStatus")) {
1386      setItemButtonStatus = function (data) {
1387        if (data.BASKET) {
1388          for (var i in data.BASKET) {
1389            var id = data.BASKET[i];
1390            if (typeof id === "number" || typeof id === "string") {
1391              $(".to-cart[data-item=" + id + "]").hide();
1392              $(".counter_block[data-item=" + id + "]")
1393                .closest(".counter_block_inner")
1394                .hide();
1395              $(".counter_block[data-item=" + id + "]").hide();
1396              $(".in-cart[data-item=" + id + "]").show();
1397              $(".in-cart[data-item=" + id + "]")
1398                .closest(".button_block")
1399                .addClass("wide");
1400            }
1401          }
1402        }
1403        if (data.SUBSCRIBE) {
1404          for (var i in data.SUBSCRIBE) {
1405            var id = data.SUBSCRIBE[i];
1406            if (typeof id === "number" || typeof id === "string") {
1407              $(".to-subscribe[data-item=" + id + "]").hide();
1408              $(".in-subscribe[data-item=" + id + "]").show();
1409            }
1410          }
1411        }
1412
1413        BX.onCustomEvent("onSetItemButtonStatus", []);
1414      };
1415    }
1416    if (!Object.keys(arStatusBasketAspro).length) {
1417      if (typeof arAsproOptions === "undefined") {
1418        var arAsproOptions = {
1419          SITE_DIR: "/",
1420        };
1421        if ($("body").data("site") !== undefined) arAsproOptions["SITE_DIR"] = $("body").data("site");
1422      }
1423      $.ajax({
1424        url: arAsproOptions["SITE_DIR"] + "ajax/getAjaxBasket.php",
1425        type: "POST",
1426        success: function (data) {
1427          arStatusBasketAspro = data;
1428          setItemButtonStatus(arStatusBasketAspro);
1429        },
1430      });
1431    } else setItemButtonStatus(arStatusBasketAspro);
1432  }
1433}
1434
1435if (!funcDefined("onLoadjqm")) {
1436  var onLoadjqm = function (name, hash, requestData, selector, requestTitle, isButton, thButton) {
1437    hash.w.attr("data-jqm-loaded", "1");
1438
1439    if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
1440      $("body").addClass("jqm-initied");
1441    }
1442    if (window.matchMedia("(min-width: 768px)").matches) {
1443      $("body").addClass("swipeignore");
1444    }
1445
1446    //show password eye
1447    if (hash.w.hasClass("auth_frame")) {
1448      hash.w.find(".form-control:not(.eye-password-ignore) [type=password]").each(function (item) {
1449        $(this).closest(".form-control").addClass("eye-password");
1450      });
1451    }
1452
1453    $.each($(hash.t).get(0).attributes, function (index, attr) {
1454      if (/^data\-autoload\-(.+)$/.test(attr.nodeName)) {
1455        var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1];
1456        var el = $('input[data-sid="' + key.toUpperCase() + '"]');
1457        var value = $(hash.t).data("autoload-" + key);
1458        value = String(value).replace(/%99/g, "\\"); // replace symbol \
1459        el.val(BX.util.htmlspecialcharsback(value)).attr("readonly", "readonly");
1460        el.closest(".form-group").addClass("input-filed");
1461        el.attr("title", el.val());
1462      }
1463    });
1464
1465    //show gift block
1466    if (hash.w.hasClass("send_gift_frame")) {
1467      var imgHtml = (priceHtml = propsHtml = "");
1468      if ($(".offers_img a").length) imgHtml = $(".offers_img a").html();
1469      else if ($(".product-detail-gallery__container .first_sku_picture").length)
1470        imgHtml = "<img src=" + $(".product-detail-gallery__container link.first_sku_picture").attr("href") + " />";
1471      else if ($(".product-detail-gallery__container").length)
1472        imgHtml = "<img src=" + $('.product-detail-gallery__container link[itemprop="image"]').attr("href") + " />";
1473
1474      if ($('.product-container *[itemprop="offers"]').length) {
1475        //show price
1476        if ($(".sku-view").length) {
1477          if ($(".prices_block .price").length)
1478            priceHtml = $(".prices_block .cost.prices").html().replace("id", "data-id");
1479        } else {
1480          var mainContainer = $(hash.t).closest(".product-main");
1481          if (mainContainer.find(".prices_block .js_price_wrapper").length) {
1482            if (mainContainer.find(".prices_block .js_price_wrapper .with_matrix").length) {
1483              priceHtml =
1484                '<div class="with_matrix">' +
1485                mainContainer.find(".prices_block .js_price_wrapper .with_matrix").html() +
1486                "</div>";
1487            } else if (mainContainer.find(".prices_block .with_matrix:visible").length) {
1488              priceHtml =
1489                '<div class="with_matrix">' + mainContainer.find(".prices_block .with_matrix").html() + "</div>";
1490            } else if (mainContainer.find(".prices_block .price_group.min").length) {
1491              priceHtml =
1492                '<div class="with_matrix">' + mainContainer.find(".prices_block .price_group.min").html() + "</div>";
1493            } else {
1494              priceHtml =
1495                '<div class="with_matrix">' + mainContainer.find(".prices_block .js_price_wrapper").html() + "</div>";
1496            }
1497          } else if (mainContainer.find(".prices_block .with_matrix").length)
1498            priceHtml =
1499              '<div class="with_matrix">' + mainContainer.find(".prices_block .with_matrix").html() + "</div>";
1500          else if (mainContainer.find(".prices_block .price_group.min").length)
1501            priceHtml = mainContainer.find(".prices_block .price_group.min").html();
1502          else if (mainContainer.find(".prices_block .price_matrix_wrapper").length)
1503            priceHtml = mainContainer.find(".prices_block .price_matrix_wrapper").html();
1504        }
1505      }
1506
1507      if ($(".buy_block .sku_props").length) {
1508        propsHtml = '<div class="props_item">';
1509        $(".buy_block .sku_props .bx_catalog_item_scu > div").each(function () {
1510          var title = $(this).find(".bx_item_section_name > span").html();
1511          var props = "";
1512          var ikSelect = $(this).find(".ik_select_link_text");
1513          if (ikSelect.length) {
1514            props = ikSelect.text();
1515          } else {
1516            var activeSku = $(this).find("ul li.active");
1517            var isPicture = activeSku.find(" > i");
1518            if (isPicture.length && isPicture.attr("title")) {
1519              var propTitle = isPicture.attr("title").split(":");
1520              if (propTitle.length) {
1521                propTitle = propTitle[1].trim();
1522              } else {
1523                propTitle = isPicture.attr("title");
1524              }
1525              props = propTitle;
1526            } else {
1527              props = activeSku.find(" > span").text();
1528            }
1529          }
1530
1531          propsHtml +=
1532            '<div class="prop_item">' +
1533            "<span>" +
1534            title +
1535            // '<span class="val">' +
1536            // props +
1537            // "</span>" +
1538            "</span>" +
1539            "</div>";
1540        });
1541        propsHtml += "</div>";
1542      }
1543      $(
1544        '<div class="custom_block">' +
1545          '<div class="title">' +
1546          BX.message("POPUP_GIFT_TEXT") +
1547          "</div>" +
1548          '<div class="item_block">' +
1549          '<table class="item_list"><tr>' +
1550          '<td class="image">' +
1551          "<div>" +
1552          imgHtml +
1553          "</div>" +
1554          "</td>" +
1555          '<td class="text">' +
1556          '<div class="name">' +
1557          $("h1").text() +
1558          "</div>" +
1559          priceHtml +
1560          propsHtml +
1561          "</td>" +
1562          "</tr></table>" +
1563          "</div>" +
1564          "</div>"
1565      ).prependTo(hash.w.find(".form_body"));
1566    }
1567
1568    if (
1569      arAsproOptions["THEME"]["REGIONALITY_SEARCH_ROW"] == "Y" &&
1570      (hash.w.hasClass("city_chooser_frame") || hash.w.hasClass("city_chooser_small_frame"))
1571    ) {
1572      hash.w.addClass("small_popup_regions");
1573      hash.w.addClass("no_scroll");
1574    }
1575
1576    if (name == "fast_view" && $(".smart-filter-filter").length) {
1577      var navButtons =
1578        '<div class="navigation-wrapper-fast-view">' +
1579        '<div class="fast-view-nav prev colored_theme_hover_bg" data-fast-nav="prev">' +
1580        '<i class="svg left">' +
1581        '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' +
1582        "</i>" +
1583        "</div>" +
1584        '<div class="fast-view-nav next colored_theme_hover_bg" data-fast-nav="next">' +
1585        '<i class="svg right">' +
1586        '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' +
1587        "</i>" +
1588        "</div>" +
1589        "</div>";
1590
1591      hash.w.closest("#popup_iframe_wrapper").append(navButtons);
1592    }
1593
1594    hash.w.addClass("scrollblock");
1595    hash.w.addClass("show").css({
1596      // 'top': (($(window).height() > hash.w.height()) ? Math.floor(($(window).height() - hash.w.height()) / 2) : 0) + 'px',
1597      // 'margin-left': ($(window).width() > hash.w.outerWidth() ? '-' + hash.w.outerWidth() / 2 + 'px' : '-' + $(window).width() / 2 + 'px'),
1598      opacity: 1,
1599    });
1600
1601    if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) {
1602      let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth + "px";
1603      $("body").css({
1604        "padding-right": scrollbarWidth,
1605        overflow: "hidden",
1606        height: "100vh",
1607      });
1608      hash.w.closest("#popup_iframe_wrapper").css({ "z-index": 3000, display: "flex" });
1609    }
1610
1611    if (hash.c.noOverlay !== undefined && hash.c.noOverlay) {
1612      hash.w.closest("#body_iframe_wrapper").css({ "z-index": 2999, display: "flex" });
1613    }
1614
1615    var eventdata = { action: "loadForm" };
1616    let _this = $(hash.t)[0];
1617    if (thButton) {
1618      _this = thButton;
1619    }
1620    BX.onCustomEvent("onCompleteAction", [eventdata, _this]);
1621
1622    if (typeof requestData == "undefined") {
1623      requestData = "";
1624    }
1625    if (typeof selector == "undefined") {
1626      selector = false;
1627    }
1628
1629    // var width = $("." + name + "_frame").width();
1630    //$('.'+name+'_frame').css('margin-left', '-'+width/2+'px');
1631
1632    if (name == "order-popup-call") {
1633    } else if (name == "order-button") {
1634      $(".order-button_frame")
1635        .find("div[product_name]")
1636        .find("input")
1637        .val(hash.t.title)
1638        .attr("readonly", "readonly")
1639        .css({ overflow: "hidden", "text-overflow": "ellipsis" });
1640    } else if (name == "basket_error") {
1641      $(".basket_error_frame .pop-up-title").text(requestTitle);
1642      $(".basket_error_frame .ajax_text").html(requestData);
1643
1644      if (window.matchMedia("(max-width: 991px)").matches) {
1645        $("body").addClass("all_viewed");
1646      }
1647
1648      initSelects(document);
1649      if (isButton == "Y" && thButton)
1650        $(
1651          "<div class='popup_button_basket_wr'><span class='popup_button_basket big_btn button' data-item=" +
1652            thButton.data("item") +
1653            "><span class='btn btn-default'>" +
1654            BX.message("ERROR_BASKET_BUTTON") +
1655            "</span></span></div>"
1656        ).insertAfter($(".basket_error_frame .ajax_text"));
1657    } else if (name === "fast_view") {
1658      initSelects(document);
1659    }
1660
1661    $("." + name + "_frame").show();
1662  };
1663}
1664
1665if (!funcDefined("onHidejqm")) {
1666  var onHidejqm = function (name, hash) {
1667    if (hash.w.find(".one_click_buy_result_success").is(":visible") && name == "one_click_buy_basket") {
1668      window.location.href = window.location.href;
1669    }
1670
1671    if ($(".xzoom-source").length) $(".xzoom-source").remove();
1672    if ($(".xzoom-preview").length) $(".xzoom-preview").remove();
1673
1674    // hash.w.css('opacity', 0).hide();
1675    hash.w.animate({ opacity: 0 }, 200, function () {
1676      hash.w.hide();
1677      hash.w.empty();
1678      hash.o.remove();
1679      hash.w.removeClass("show");
1680
1681      if (!hash.w.closest("#popup_iframe_wrapper").find(".jqmOverlay").length) {
1682        $("body").css({
1683          "padding-right": "",
1684          overflow: "",
1685          height: "",
1686        });
1687        hash.w.closest("#popup_iframe_wrapper").css({ "z-index": "", display: "" });
1688      }
1689
1690      if (!hash.w.closest("#body_iframe_wrapper").find(".jqmWindow.show").length) {
1691        hash.w.closest("#body_iframe_wrapper").css({ "z-index": "", display: "" });
1692      }
1693
1694      if (window.matchMedia("(max-width: 991px)").matches) {
1695        $("body").removeClass("all_viewed");
1696      }
1697      if (!$(".jqmOverlay:not(.mobp)").length || $(".jqmOverlay.waiting").length) {
1698        $("body").removeClass("jqm-initied");
1699      }
1700
1701      if (window.matchMedia("(min-width: 768px)").matches) {
1702        $("body").removeClass("swipeignore");
1703      }
1704
1705      if (name == "fast_view") {
1706        $(".fast_view_popup").remove();
1707
1708        var navButtons = hash.w.closest("#popup_iframe_wrapper").find(".navigation-wrapper-fast-view");
1709        navButtons.remove();
1710      }
1711    });
1712
1713    // window.b24form = false;
1714
1715    // hide bx calc
1716    let items = document.querySelectorAll(".bx-calendar");
1717    if (items) {
1718      items.forEach((item) => {
1719        item.closest(".popup-window").style.display = "none";
1720      });
1721    }
1722  };
1723}
1724
1725$.fn.jqmEx = function () {
1726  // $(this).each(function(){
1727  var _this = $(this);
1728  var name = _this.data("name");
1729
1730  if (name.length && _this.attr("disabled") != "disabled") {
1731    var extClass = "",
1732      paramsStr = "",
1733      trigger = "";
1734
1735    // call counter
1736    if (typeof $.fn.jqmEx.counter === "undefined") {
1737      $.fn.jqmEx.counter = 0;
1738    } else {
1739      ++$.fn.jqmEx.counter;
1740    }
1741
1742    // trigger attrs and params
1743    $.each(_this.get(0).attributes, function (index, attr) {
1744      var attrName = attr.nodeName;
1745      var attrValue = _this.attr(attrName);
1746      if (attrName !== "onclick") {
1747        trigger += "[" + attrName + '="' + attrValue + '"]';
1748      }
1749      if (/^data\-param\-(.+)$/.test(attrName)) {
1750        var key = attrName.match(/^data\-param\-(.+)$/)[1];
1751        paramsStr += key + "=" + attrValue + "&";
1752      }
1753    });
1754
1755    // popup url
1756    var script = arAsproOptions["SITE_DIR"] + "ajax/form.php";
1757    if (name == "auth") {
1758      script += "?" + paramsStr + "auth=Y";
1759    } else {
1760      script += "?" + paramsStr;
1761    }
1762
1763    // ext frame class
1764    if (_this.closest("#fast_view_item").length) {
1765      extClass = "fast_view_popup";
1766    }
1767
1768    // use overlay?
1769    var noOverlay = _this.data("noOverlay") == "Y";
1770
1771    // unique frame to each trigger
1772    if (noOverlay) {
1773      var frame = $(
1774        '<div class="' +
1775          name +
1776          "_frame " +
1777          extClass +
1778          ' jqmWindow popup" data-popup="' +
1779          $.fn.jqmEx.counter +
1780          '"></div>'
1781      ).appendTo("#body_iframe_wrapper");
1782    } else {
1783      var frame = $(
1784        '<div class="' +
1785          name +
1786          "_frame " +
1787          extClass +
1788          ' jqmWindow popup" data-popup="' +
1789          $.fn.jqmEx.counter +
1790          '"></div>'
1791      ).appendTo("#popup_iframe_wrapper");
1792    }
1793
1794    let overlayClass = "jqmOverlay";
1795    if (_this.data("jqm-overlay-class")) {
1796      overlayClass += " " + _this.data("jqm-overlay-class");
1797    }
1798
1799    loadJQM(() => {
1800      if (frame.attr("data-jqm-loaded") === "1") {
1801        return;
1802      }
1803      frame.jqm({
1804        ajax: script,
1805        trigger: trigger,
1806        noOverlay: noOverlay,
1807        overlayClass: overlayClass,
1808        onLoad: function (hash) {
1809          onLoadjqm(name, hash);
1810        },
1811        onHide: function (hash) {
1812          if (hash.w.hasClass("jqm-lock-close")) {
1813            return false;
1814          }
1815          onHidejqm(name, hash);
1816        },
1817      });
1818      _this.trigger("click");
1819    });
1820  }
1821  // });
1822};
1823
1824window.addEventListener("keydown", function (e) {
1825  if (e.keyCode == 27) {
1826    let jqmPopup = $(".jqm-init.show").last();
1827    if (!jqmPopup.hasClass("jqm-lock-close")) {
1828      jqmPopup.jqmHide();
1829    }
1830
1831    // hide fixed search panel with overlay
1832    if ($(".inline-search-block.show").length) {
1833      $(".inline-search-block").toggleClass("show");
1834      $(".jqmOverlay.search").detach();
1835    }
1836
1837    // hide already visible search results
1838    $(".title-search-result").hide();
1839
1840    // unfocus title.search input
1841    $(".search .search-input").trigger("blur");
1842
1843    $(".mega_fixed_menu").fadeOut(animationTime);
1844  }
1845});
1846
1847if (!funcDefined("scroll_block")) {
1848  function scroll_block(block, clickedItem) {
1849    if (block.length) {
1850      if (clickedItem !== undefined && clickedItem.length) {
1851        clickedItem.trigger("click");
1852      } else {
1853        $(".prices_tab").addClass("active").siblings().removeClass("active");
1854        if ($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length) {
1855          let item = $(".prices_tab .opener").first();
1856          item.find(".opener_icon").addClass("opened");
1857          item.parents("tr").addClass("nb");
1858          item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200);
1859        }
1860      }
1861      let topPos = block.offset().top,
1862        headerOffsetTop = $("#headerfixed").lenght ? $("#headerfixed").outerHeight(true, true) : 0;
1863
1864      let $tabFixed = document.querySelector(".product-item-detail-tabs-container-fixed");
1865      if ($tabFixed) {
1866        topPos -= $tabFixed.offsetHeight;
1867      }
1868      $("html,body").animate({ scrollTop: topPos - headerOffsetTop }, 150);
1869    }
1870  }
1871}
1872
1873if (!funcDefined("jqmEd")) {
1874  var jqmEd = function (name, form_id, open_trigger, requestData, selector, requestTitle, isButton, thButton) {
1875    if (typeof requestData == "undefined") {
1876      requestData = "";
1877    }
1878    if (typeof selector == "undefined") {
1879      selector = false;
1880    }
1881    $("body #popup_iframe_wrapper")
1882      .find("." + name + "_frame")
1883      .remove();
1884    $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame jqmWindow popup"></div>');
1885
1886    loadJQM(() => {
1887      if (typeof open_trigger == "undefined") {
1888        $("." + name + "_frame").jqm({
1889          trigger: "." + name + "_frame.popup",
1890          onHide: function (hash) {
1891            onHidejqm(name, hash);
1892          },
1893          onLoad: function (hash) {
1894            onLoadjqm(name, hash, requestData, selector);
1895          },
1896          ajax:
1897            arAsproOptions["SITE_DIR"] +
1898            "ajax/form.php?form_id=" +
1899            form_id +
1900            (requestData.length ? "&" + requestData : ""),
1901        });
1902      } else {
1903        if (name == "enter") {
1904          $("." + name + "_frame").jqm({
1905            trigger: open_trigger,
1906            onHide: function (hash) {
1907              onHidejqm(name, hash);
1908            },
1909            onLoad: function (hash) {
1910              onLoadjqm(name, hash, requestData, selector);
1911            },
1912            ajax: arAsproOptions["SITE_DIR"] + "ajax/auth.php",
1913          });
1914        } else if (name == "basket_error") {
1915          $("." + name + "_frame").jqm({
1916            trigger: open_trigger,
1917            onHide: function (hash) {
1918              onHidejqm(name, hash);
1919            },
1920            onLoad: function (hash) {
1921              onLoadjqm(name, hash, requestData, selector, requestTitle, isButton, thButton);
1922            },
1923            ajax: arAsproOptions["SITE_DIR"] + "ajax/basket_error.php",
1924          });
1925        } else {
1926          $("." + name + "_frame").jqm({
1927            trigger: open_trigger,
1928            onHide: function (hash) {
1929              onHidejqm(name, hash);
1930            },
1931            onLoad: function (hash) {
1932              onLoadjqm(name, hash, requestData, selector);
1933            },
1934            ajax:
1935              arAsproOptions["SITE_DIR"] +
1936              "ajax/form.php?form_id=" +
1937              form_id +
1938              (requestData.length ? "&" + requestData : ""),
1939          });
1940        }
1941        $(open_trigger).dblclick(function () {
1942          return false;
1943        });
1944      }
1945
1946      $(open_trigger).click();
1947      $(open_trigger).remove();
1948    });
1949    return true;
1950  };
1951}
1952
1953if (!funcDefined("replaceBasketPopup")) {
1954  function replaceBasketPopup(hash) {
1955    if (typeof hash != "undefined") {
1956      hash.w.hide();
1957      hash.o.hide();
1958    }
1959  }
1960}
1961
1962if (!funcDefined("waitLayer")) {
1963  function waitLayer(delay, callback) {
1964    if (typeof dataLayer !== "undefined" && typeof callback === "function") {
1965      callback();
1966    } else {
1967      setTimeout(function () {
1968        waitLayer(delay, callback);
1969      }, delay);
1970    }
1971  }
1972}
1973
1974if (!funcDefined("checkCounters")) {
1975  function checkCounters(name) {
1976    if (typeof name !== "undefined") {
1977      if (
1978        name == "google" &&
1979        arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" &&
1980        arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0
1981      ) {
1982        return true;
1983      } else if (
1984        name == "yandex" &&
1985        arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" &&
1986        arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0
1987      ) {
1988        return true;
1989      } else {
1990        return false;
1991      }
1992    } else if (
1993      (arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0) ||
1994      (arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0)
1995    ) {
1996      return true;
1997    } else {
1998      return false;
1999    }
2000  }
2001}
2002
2003if (!funcDefined("addBasketCounter")) {
2004  function addBasketCounter(id) {
2005    if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") {
2006      var eventdata = { goal: "goal_basket_add", params: { id: id } };
2007      BX.onCustomEvent("onCounterGoals", [eventdata]);
2008    }
2009    if (checkCounters()) {
2010      $.ajax({
2011        url: arAsproOptions["SITE_DIR"] + "ajax/goals.php",
2012        dataType: "json",
2013        type: "POST",
2014        data: { ID: id },
2015        success: function (item) {
2016          if (!!item && !!item.ID) {
2017            let ecommerce = {
2018              items: [
2019                {
2020                  item_name: item.NAME, // Name or ID is required.
2021                  item_id: item.ID,
2022                  price: parseFloat(item.PRICE),
2023                  item_brand: item.BRAND,
2024                  item_category: item.CATEGORY,
2025                  item_list_name: "List Results",
2026                  item_list_id: item.IBLOCK_SECTION_ID,
2027                  affiliation: item.SHOP_NAME,
2028                  index: 1,
2029                  quantity: parseFloat(item.QUANTITY),
2030                },
2031              ],
2032            };
2033            if (arAsproOptions["COUNTERS"]["GA_VERSION"] === "v3") {
2034              ecommerce = {
2035                currencyCode: item.CURRENCY,
2036                add: {
2037                  products: [
2038                    {
2039                      id: item.ID,
2040                      name: item.NAME,
2041                      price: parseFloat(item.PRICE),
2042                      brand: item.BRAND,
2043                      category: item.CATEGORY,
2044                      quantity: parseFloat(item.QUANTITY),
2045                    },
2046                  ],
2047                },
2048              };
2049            }
2050            waitLayer(100, function () {
2051              dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2052              dataLayer.push({
2053                // event: 'add_to_cart',
2054                event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["ADD2BASKET"],
2055                currency: item.CURRENCY,
2056                value: parseFloat(item.PRICE),
2057                ecommerce: ecommerce,
2058              });
2059            });
2060          }
2061        },
2062      });
2063    }
2064  }
2065}
2066
2067if (!funcDefined("purchaseCounter")) {
2068  function purchaseCounter(order_id, type, callback) {
2069    if (checkCounters()) {
2070      $.ajax({
2071        url: arAsproOptions["SITE_DIR"] + "ajax/goals.php",
2072        dataType: "json",
2073        type: "POST",
2074        data: { ORDER_ID: order_id, TYPE: type },
2075        success: function (order) {
2076          var products = [];
2077          const items = [];
2078          if (order.ITEMS) {
2079            for (var i in order.ITEMS) {
2080              products.push({
2081                id: order.ITEMS[i].ID,
2082                sku: order.ITEMS[i].ID,
2083                name: order.ITEMS[i].NAME,
2084                price: order.ITEMS[i].PRICE,
2085                brand: order.ITEMS[i].BRAND,
2086                category: order.ITEMS[i].CATEGORY,
2087                quantity: order.ITEMS[i].QUANTITY,
2088              });
2089              items.push({
2090                item_id: order.ITEMS[i].ID,
2091                item_name: order.ITEMS[i].NAME,
2092                price: parseFloat(order.ITEMS[i].PRICE),
2093                item_brand: order.ITEMS[i].BRAND,
2094                item_category: order.ITEMS[i].CATEGORY,
2095                affiliation: order.SHOP_NAME,
2096                quantity: parseFloat(order.ITEMS[i].QUANTITY),
2097              });
2098            }
2099          }
2100          if (order.ID) {
2101            let ecommerce = {
2102              transaction_id: order.ACCOUNT_NUMBER,
2103              affiliation: order.SHOP_NAME,
2104              value: order.PRICE,
2105              tax: order.TAX_VALUE,
2106              shipping: order.PRICE_DELIVERY,
2107              currency: order.CURRENCY,
2108              items: items,
2109            };
2110            if (arAsproOptions["COUNTERS"]["GA_VERSION"] === "v3") {
2111              ecommerce = {
2112                purchase: {
2113                  actionField: {
2114                    id: order.ACCOUNT_NUMBER,
2115                    shipping: order.PRICE_DELIVERY,
2116                    tax: order.TAX_VALUE,
2117                    list: type,
2118                    revenue: order.PRICE,
2119                  },
2120                  products: products,
2121                },
2122              };
2123            }
2124            waitLayer(100, function () {
2125              dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2126              dataLayer.push({
2127                event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"],
2128                ecommerce: ecommerce,
2129              });
2130
2131              if (typeof callback !== "undefined") {
2132                callback(ecommerce);
2133              }
2134            });
2135          } else {
2136            if (typeof callback !== "undefined") {
2137              callback();
2138            }
2139          }
2140        },
2141        error: function () {
2142          if (typeof callback !== "undefined") {
2143            callback();
2144          }
2145        },
2146      });
2147    }
2148  }
2149}
2150
2151if (!funcDefined("viewItemCounter")) {
2152  function viewItemCounter(id, price_id) {
2153    if (checkCounters()) {
2154      $.ajax({
2155        url: arAsproOptions["SITE_DIR"] + "ajax/goals.php",
2156        dataType: "json",
2157        type: "POST",
2158        data: { PRODUCT_ID: id, PRICE_ID: price_id },
2159        success: function (item) {
2160          if (item.ID) {
2161            let ecommerce = {
2162              items: [
2163                {
2164                  item_name: item.NAME, // Name or ID is required.
2165                  item_id: item.ID,
2166                  price: parseFloat(item.PRICE),
2167                  item_brand: item.BRAND,
2168                  item_category: item.CATEGORY,
2169                  item_list_name: "List Results",
2170                  item_list_id: item.IBLOCK_SECTION_ID,
2171                  affiliation: item.SHOP_NAME,
2172                  index: 1,
2173                  quantity: parseFloat(item.QUANTITY),
2174                },
2175              ],
2176            };
2177            if (arAsproOptions["COUNTERS"]["GA_VERSION"] === "v3") {
2178              ecommerce = {
2179                detail: {
2180                  products: [
2181                    {
2182                      id: item.ID,
2183                      name: item.NAME,
2184                      price: parseFloat(item.PRICE),
2185                      brand: item.BRAND,
2186                      category: item.CATEGORY,
2187                    },
2188                  ],
2189                },
2190              };
2191            }
2192            waitLayer(100, function () {
2193              dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2194              dataLayer.push({
2195                event: "view_item",
2196                currency: item.CURRENCY,
2197                value: parseFloat(item.PRICE),
2198                ecommerce: ecommerce,
2199              });
2200            });
2201          }
2202        },
2203      });
2204    }
2205  }
2206}
2207
2208if (!funcDefined("checkoutCounter")) {
2209  function checkoutCounter(step, option, callback) {
2210    if (checkCounters("google")) {
2211      $.ajax({
2212        url: arAsproOptions["SITE_DIR"] + "ajax/goals.php",
2213        dataType: "json",
2214        type: "POST",
2215        data: { BASKET: "Y" },
2216        success: function (basket) {
2217          var products = [];
2218          const items = [];
2219          let summ = 0;
2220          let currency = "RUB";
2221          if (basket.ITEMS) {
2222            for (var i in basket.ITEMS) {
2223              products.push({
2224                id: basket.ITEMS[i].ID,
2225                name: basket.ITEMS[i].NAME,
2226                price: basket.ITEMS[i].PRICE,
2227                brand: basket.ITEMS[i].BRAND,
2228                category: basket.ITEMS[i].CATEGORY,
2229                quantity: basket.ITEMS[i].QUANTITY,
2230              });
2231              items.push({
2232                item_id: basket.ITEMS[i].ID,
2233                item_name: basket.ITEMS[i].NAME,
2234                price: parseFloat(basket.ITEMS[i].PRICE),
2235                item_brand: basket.ITEMS[i].BRAND,
2236                item_category: basket.ITEMS[i].CATEGORY,
2237                affiliation: basket.SHOP_NAME,
2238                quantity: parseFloat(basket.ITEMS[i].QUANTITY),
2239              });
2240              summ += basket.ITEMS[i].PRICE;
2241              currency = basket.ITEMS[i].CURRENCY;
2242            }
2243          }
2244          if (products) {
2245            let ecommerce = {
2246              items: items,
2247            };
2248            if (arAsproOptions["COUNTERS"]["GA_VERSION"] === "v3") {
2249              ecommerce = {
2250                checkout: {
2251                  actionField: {
2252                    step: step,
2253                    option: option,
2254                  },
2255                  products: products,
2256                },
2257              };
2258            }
2259            waitLayer(100, function () {
2260              dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2261              dataLayer.push({
2262                event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["CHECKOUT_ORDER"],
2263                currency: currency,
2264                value: parseFloat(summ),
2265                ecommerce: ecommerce,
2266              });
2267              if (typeof callback !== "undefined" && typeof callback === "function") {
2268                callback();
2269              }
2270            });
2271          }
2272        },
2273      });
2274    }
2275  }
2276}
2277
2278if (!funcDefined("delFromBasketCounter")) {
2279  function delFromBasketCounter(id, callback) {
2280    if (checkCounters()) {
2281      $.ajax({
2282        url: arAsproOptions["SITE_DIR"] + "ajax/goals.php",
2283        dataType: "json",
2284        type: "POST",
2285        data: { ID: id },
2286        success: function (item) {
2287          if (item.ID) {
2288            let ecommerce = {
2289              items: [
2290                {
2291                  item_name: item.NAME, // Name or ID is required.
2292                  item_id: item.ID,
2293                  price: parseFloat(item.PRICE),
2294                  item_brand: item.BRAND,
2295                  item_category: item.CATEGORY,
2296                  affiliation: item.SHOP_NAME,
2297                  item_list_name: "List Results",
2298                },
2299              ],
2300            };
2301            if (arAsproOptions["COUNTERS"]["GA_VERSION"] === "v3") {
2302              ecommerce = {
2303                remove: {
2304                  products: [
2305                    {
2306                      id: item.ID,
2307                      name: item.NAME,
2308                      category: item.CATEGORY,
2309                    },
2310                  ],
2311                },
2312              };
2313            }
2314            waitLayer(100, function () {
2315              dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
2316              dataLayer.push({
2317                event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["REMOVE_BASKET"],
2318                currency: item.CURRENCY,
2319                value: parseFloat(item.PRICE),
2320                ecommerce: ecommerce,
2321              });
2322              if (typeof callback == "function") {
2323                callback();
2324              }
2325            });
2326          }
2327        },
2328      });
2329    }
2330  }
2331}
2332
2333if (!funcDefined("setHeightCompany")) {
2334  function setHeightCompany() {
2335    $(".md-50.img").height($(".md-50.big").outerHeight() - 35);
2336  }
2337}
2338
2339if (!funcDefined("initSly")) {
2340  function initSly() {}
2341}
2342
2343if (!funcDefined("createTableCompare")) {
2344  function createTableCompare(originalTable, appendDiv, cloneTable) {
2345    try {
2346      var clone = originalTable.clone().removeAttr("id").addClass("clone");
2347      if (cloneTable.length) {
2348        cloneTable.remove();
2349        appendDiv.html("");
2350        appendDiv.html(clone);
2351      } else {
2352        appendDiv.append(clone);
2353      }
2354    } catch (e) {
2355    } finally {
2356    }
2357  }
2358}
2359
2360if (!funcDefined("fillBasketPropsExt")) {
2361  fillBasketPropsExt = function (that, prop_code, basket_prop_div) {
2362    var i = 0,
2363      propCollection = null,
2364      foundValues = false,
2365      basketParams = {},
2366      obBasketProps = null;
2367
2368    obBasketProps = BX(basket_prop_div);
2369    if (!obBasketProps && that.closest(".item").find(".basket_props_block").length && that.data("offers") !== "Y")
2370      obBasketProps = that.closest(".item").find(".basket_props_block")[0];
2371
2372    if (!!obBasketProps) {
2373      propCollection = obBasketProps.getElementsByTagName("select");
2374      if (!!propCollection && !!propCollection.length) {
2375        for (i = 0; i < propCollection.length; i++) {
2376          if (!propCollection[i].disabled) {
2377            switch (propCollection[i].type.toLowerCase()) {
2378              case "select-one":
2379                basketParams[propCollection[i].name] = propCollection[i].value;
2380                foundValues = true;
2381                break;
2382              default:
2383                break;
2384            }
2385          }
2386        }
2387      }
2388      propCollection = obBasketProps.getElementsByTagName("input");
2389      if (!!propCollection && !!propCollection.length) {
2390        for (i = 0; i < propCollection.length; i++) {
2391          if (!propCollecti
2391on[i].disabled) {
2392            switch (propCollection[i].type.toLowerCase()) {
2393              case "hidden":
2394                basketParams[propCollection[i].name] = propCollection[i].value;
2395                foundValues = true;
2396                break;
2397              case "radio":
2398                if (propCollection[i].checked) {
2399                  basketParams[propCollection[i].name] = propCollection[i].value;
2400                  foundValues = true;
2401                }
2402                break;
2403              default:
2404                break;
2405            }
2406          }
2407        }
2408      }
2409    }
2410    if (!foundValues) {
2411      basketParams[prop_code] = [];
2412      basketParams[prop_code][0] = 0;
2413    }
2414    return basketParams;
2415  };
2416}
2417if (!funcDefined("showBasketError")) {
2418  showBasketError = function (mess, title, addButton, th, callback) {
2419    var title_set = title ? title : BX.message("ERROR_BASKET_TITLE"),
2420      isButton = "N",
2421      thButton = "";
2422    if (typeof addButton !== undefined) {
2423      isButton = "Y";
2424    }
2425    if (typeof th !== undefined) {
2426      thButton = th;
2427    }
2428    $("body").append("<span class='add-error-bakset' style='display:none;'></span>");
2429    jqmEd("basket_error", "error-bakset", ".add-error-bakset", mess, this, title_set, isButton, thButton);
2430
2431    if (typeof callback === "function") {
2432      callback();
2433    }
2434  };
2435}
2436
2437CheckTopVisibleMenu = function (that) {
2438  var dropdownMenu = $(".dropdown-menu:visible");
2439  if (that !== undefined) {
2440    dropdownMenu.push(that);
2441  }
2442
2443  if (dropdownMenu.length) {
2444    dropdownMenu.each(function (i, el) {
2445      var dropdownMenuCurrent = $(el);
2446      dropdownMenuCurrent.find("a").css("white-space", "");
2447      dropdownMenuCurrent.css("left", "");
2448      dropdownMenuCurrent.css("right", "");
2449      dropdownMenuCurrent.removeClass("toright");
2450
2451      var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left;
2452
2453      if (typeof dropdownMenuCurrent_left != "undefined") {
2454        var menu = dropdownMenuCurrent.parents(".mega-menu");
2455        if (!menu.length) menu = dropdownMenuCurrent.closest(".logo-row");
2456        var menu_width = menu.outerWidth();
2457        var menu_left = menu.offset().left;
2458        var menu_right = menu_left + menu_width;
2459        var isToRight = dropdownMenuCurrent.parents(".toright").length > 0;
2460        var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents(".dropdown-menu");
2461        var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0;
2462        if (isHasParentdropdownMenuCurrent) {
2463          var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth();
2464          var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left;
2465          var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left;
2466        }
2467
2468        if (parentdropdownMenuCurrent_right + dropdownMenuCurrent.outerWidth() > menu_right) {
2469          dropdownMenuCurrent.find("a").css("white-space", "normal");
2470        }
2471
2472        var dropdownMenuCurrent_width = dropdownMenuCurrent.outerWidth();
2473        var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width;
2474
2475        if (dropdownMenuCurrent_right > menu_right || isToRight) {
2476          var addleft = 0;
2477          addleft = menu_right - dropdownMenuCurrent_right;
2478          if (isHasParentdropdownMenuCurrent || isToRight) {
2479            dropdownMenuCurrent.css("left", "auto");
2480            dropdownMenuCurrent.css("right", "100%");
2481            dropdownMenuCurrent.addClass("toright");
2482          } else {
2483            var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css("left"));
2484            dropdownMenuCurrent.css("left", dropdownMenuCurrent_curLeft + addleft + "px");
2485          }
2486        }
2487      }
2488    });
2489  }
2490};
2491
2492if (!funcDefined("isRealValue")) {
2493  function isRealValue(obj) {
2494    return obj && obj !== "null" && obj !== "undefined";
2495  }
2496}
2497
2498if (!funcDefined("rightScroll")) {
2499  function rightScroll(prop, id) {
2500    var el = BX("prop_" + prop + "_" + id);
2501    if (el) {
2502      var curVal = parseInt(el.style.marginLeft);
2503      if (curVal >= 0) el.style.marginLeft = curVal - 20 + "%";
2504    }
2505  }
2506}
2507
2508if (!funcDefined("leftScroll")) {
2509  function leftScroll(prop, id) {
2510    var el = BX("prop_" + prop + "_" + id);
2511    if (el) {
2512      var curVal = parseInt(el.style.marginLeft);
2513      if (curVal < 0) el.style.marginLeft = curVal + 20 + "%";
2514    }
2515  }
2516}
2517
2518if (!funcDefined("InitOrderCustom")) {
2519  InitOrderCustom = function () {
2520    $(".ps_logo img").wrap('<div class="image"></div>');
2521
2522    $("#bx-soa-order .radio-inline").each(function () {
2523      if ($(this).find("input").attr("checked") == "checked") {
2524        $(this).addClass("checked");
2525      }
2526    });
2527
2528    $("#bx-soa-order .checkbox input[type=checkbox]").each(function () {
2529      if ($(this).attr("checked") == "checked") $(this).parent().addClass("checked");
2530    });
2531
2532    $("#bx-soa-order .bx-authform-starrequired").each(function () {
2533      var html = $(this).html();
2534      $(this)
2535        .closest("label")
2536        .append('<span class="bx-authform-starrequired"> ' + html + "</span>");
2537      $(this).detach();
2538    });
2539    $(".bx_ordercart_coupon").each(function () {
2540      if ($(this).find(".bad").length) $(this).addClass("bad");
2541      else if ($(this).find(".good").length) $(this).addClass("good");
2542    });
2543  };
2544}
2545
2546if (!funcDefined("InitLabelAnimation")) {
2547  InitLabelAnimation = function (className) {
2548    // Fix order labels
2549    if (!$(className).length) {
2550      return;
2551    }
2552    $(className)
2553      .find(".form-group")
2554      .each(function () {
2555        if (
2556          $(this).find("input[type=text], textarea").length &&
2557          !$(this).find(".dropdown-block").length &&
2558          $(this).find("input[type=text], textarea").val() != ""
2559        ) {
2560          $(this).addClass("value_y");
2561        }
2562      });
2563
2564    $(document).on("click", className + " .form-group:not(.bx-soa-pp-field) label", function () {
2565      $(this).parent().find("input, textarea").focus();
2566    });
2567
2568    $(document).on(
2569      "focusout",
2570      className +
2571        " .form-group:not(.bx-soa-pp-field) input, " +
2572        className +
2573        " .form-group:not(.bx-soa-pp-field) textarea",
2574      function () {
2575        var value = $(this).val();
2576        if (
2577          value != "" &&
2578          !$(this).closest(".form-group").find(".dropdown-block").length &&
2579          !$(this).closest(".form-group").find("#profile_change").length
2580        ) {
2581          $(this).closest(".form-group").addClass("value_y");
2582        } else {
2583          $(this).closest(".form-group").removeClass("value_y");
2584        }
2585      }
2586    );
2587
2588    $(document).on(
2589      "focus",
2590      className +
2591        " .form-group:not(.bx-soa-pp-field) input, " +
2592        className +
2593        " .form-group:not(.bx-soa-pp-field) textarea",
2594      function () {
2595        if (
2596          !$(this).closest(".form-group").find(".dropdown-block").length &&
2597          !$(this).closest(".form-group").find("#profile_change").length &&
2598          !$(this).closest(".form-group").find("[name=PERSON_TYPE_OLD]").length
2599        ) {
2600          $(this).closest(".form-group").addClass("value_y");
2601        }
2602      }
2603    );
2604  };
2605}
2606
2607function loadScrollTabs(selector, callback = () => {}) {
2608  $(selector).iAppear(() => {
2609    BX.loadScript([arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/scrollTabs.js?v=1"], function () {
2610        callback();
2611    });
2612  });
2613}
2614
2615checkCaptchaWidth = function () {
2616  $(".captcha-row").each(function () {
2617    var width = $(this).actual("width");
2618    if ($(this).hasClass("b")) {
2619      if (width > 320) {
2620        $(this).removeClass("b");
2621      }
2622    } else {
2623      if (width <= 320) {
2624        $(this).addClass("b");
2625      }
2626    }
2627  });
2628};
2629
2630checkFormWidth = function () {
2631  $(".form .form_left").each(function () {
2632    var form = $(this).parents(".form");
2633    var width = form.actual("width");
2634    if (form.hasClass("b")) {
2635      if (width > 417) {
2636        form.removeClass("b");
2637      }
2638    } else {
2639      if (width <= 417) {
2640        form.addClass("b");
2641      }
2642    }
2643  });
2644};
2645
2646checkFormControlWidth = function () {
2647  $(".form-control").each(function () {
2648    var width = $(this).actual("width");
2649    var labelWidth = $(this).find("label:not(.error) > span").actual("width");
2650    var errorWidth = $(this).find("label.error").actual("width");
2651    if (errorWidth > 0) {
2652      if ($(this).hasClass("h")) {
2653        if (width > labelWidth + errorWidth + 5) {
2654          $(this).removeClass("h");
2655        }
2656      } else {
2657        if (width <= labelWidth + errorWidth + 5) {
2658          $(this).addClass("h");
2659        }
2660      }
2661    } else {
2662      $(this).removeClass("h");
2663    }
2664  });
2665};
2666
2667scrollToTop = function () {
2668  if (arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] !== "NONE") {
2669    var _isScrolling = false;
2670    // Append Button
2671    $("body").append(
2672      $("<a />")
2673        .addClass(
2674          "scroll-to-top " +
2675            arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] +
2676            " " +
2677            arAsproOptions["THEME"]["SCROLLTOTOP_POSITION"]
2678        )
2679        .attr({ href: "#", id: "scrollToTop" })
2680    );
2681
2682    if (arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"]) {
2683      $("#scrollToTop").css("bottom", +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"] + "px");
2684    }
2685
2686    if (arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_RIGHT"]) {
2687      $("#scrollToTop").css("right", +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_RIGHT"] + "px");
2688    }
2689
2690    $("#scrollToTop").click(function (e) {
2691      e.preventDefault();
2692      $("body, html").animate({ scrollTop: 0 }, 500);
2693      return false;
2694    });
2695    // Show/Hide Button on Window Scroll event.
2696    $(window).scroll(function () {
2697      if (!_isScrolling) {
2698        _isScrolling = true;
2699        if (documentScrollTopLast > 150) {
2700          $("#scrollToTop").stop(true, true).addClass("visible");
2701          _isScrolling = false;
2702        } else {
2703          $("#scrollToTop").stop(true, true).removeClass("visible");
2704          _isScrolling = false;
2705        }
2706        checkScrollToTop();
2707      }
2708    });
2709  }
2710};
2711
2712checkScrollToTop = function () {
2713  if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"])
2714    var bottom = +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"];
2715  else var bottom = 55;
2716
2717  var scrollVal = documentScrollTopLast,
2718    windowHeight = document.documentElement.offsetHeight,
2719    footerOffset = 0;
2720  if ($("footer").length) footerOffset = $("footer .footer-inner").offset().top;
2721
2722  if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["SCROLLTOTOP_POSITION"] == "CONTENT") {
2723    warpperWidth = $("body > .wrapper > .wrapper_inner").width();
2724    $("#scrollToTop").css("margin-left", Math.ceil(warpperWidth / 2) + 23);
2725  }
2726
2727  if (scrollVal + windowHeight > footerOffset) {
2728    $("#scrollToTop").css("bottom", Math.round(bottom + scrollVal + windowHeight - footerOffset) + "px");
2729  } else if (parseInt($("#scrollToTop").css("bottom")) > bottom) {
2730    $("#scrollToTop").css("bottom", Math.round(bottom));
2731  }
2732};
2733
2734CheckObjectsSizes = function () {
2735  $(".container iframe,.container object,.container video").each(function () {
2736    var height_attr = $(this).attr("height");
2737    var width_attr = $(this).attr("width");
2738    if (height_attr && width_attr) {
2739      $(this).css("height", ($(this).outerWidth() * height_attr) / width_attr);
2740    }
2741  });
2742};
2743
2744if (!funcDefined("reloadTopBasket")) {
2745  var reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item, sync) {
2746    var obj = {
2747      PARAMS: $("#top_basket_params").val(),
2748      ACTION: action,
2749    };
2750    if (typeof item !== "undefined" && item) {
2751      obj.delete_top_item = "Y";
2752      obj.delete_top_item_id = item.data("id");
2753    }
2754    // $.post( arAsproOptions['SITE_DIR']+"ajax/show_basket_popup.php", obj, $.proxy(function( data ){
2755    $.post(
2756      arAsproOptions["SITE_DIR"] + "ajax/show_basket_actual.php",
2757      obj,
2758      $.proxy(function (data) {
2759        $(basketWindow).html(data);
2760
2761        var eventdata = { action: "loadBasket" };
2762        BX.onCustomEvent("onCompleteAction", [eventdata]);
2763      })
2764    );
2765  };
2766}
2767
2768CheckTabActive = function () {
2769  if (typeof clicked_tab && clicked_tab) {
2770    if (window.matchMedia("(min-width: 768px)").matches) {
2771      clicked_tab--;
2772      $(".nav.nav-tabs li").each(function () {
2773        if ($(this).index() == clicked_tab) $(this).addClass("active");
2774      });
2775      // $('.nav.nav-tabs li:eq('+clicked_tab+')').addClass('active');
2776      $(".catalog_detail .tab-content .tab-pane:eq(" + clicked_tab + ")").addClass("active");
2777      $(".catalog_detail .tab-content .tab-pane .title-tab-heading").next().removeAttr("style");
2778      clicked_tab = 0;
2779    }
2780  }
2781};
2782
2783/* countdown start */
2784if (!funcDefined("initCountdown")) {
2785  var initCountdown = function initCountdown() {
2786    if (typeof $.fn.countdown !== "function") return;
2787    if ($(".view_sale_block").length) {
2788      $(".view_sale_block").each(function () {
2789        var _this = $(this);
2790        if (_this.hasClass("init-if-visible") && !_this.is(":visible")) return;
2791
2792        var activeTo = _this.find(".active_to").text(),
2793          dateTo = new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1"));
2794        if (_this.hasClass("compact"))
2795          _this.find(".countdown").countdown(
2796            {
2797              until: dateTo,
2798              format: "dHMS",
2799              compact: true,
2800              padZeroes: true,
2801              layout:
2802                '{d<}<span class="days item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hn}<div class="text">{hl}</div></span> <span class="minutes item">{mn}<div class="text">{ml}</div></span> <span class="sec item">{sn}<div class="text">{sl}</div></span>',
2803            },
2804            $.countdown.regionalOptions["ru"]
2805          );
2806        else
2807          _this.find(".countdown").countdown(
2808            {
2809              until: dateTo,
2810              format: "dHMS",
2811              padZeroes: true,
2812              layout:
2813                '{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>',
2814            },
2815            $.countdown.regionalOptions["ru"]
2816          );
2817      });
2818    }
2819  };
2820}
2821
2822if (!funcDefined("initCountdownTime")) {
2823  var initCountdownTime = function initCountdownTime(block, time) {
2824    if (typeof $.fn.countdown !== "function") return;
2825    if (time) {
2826      var dateTo = new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1"));
2827      block.find(".countdown").countdown("destroy");
2828      if (block.hasClass("compact"))
2829        block.find(".countdown").countdown(
2830          {
2831            until: dateTo,
2832            format: "dHM",
2833            compact: true,
2834            padZeroes: true,
2835            layout:
2836              '{d<}<span class="days item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours item">{hn}<div class="text">{hl}</div></span> <span class="minutes item">{mn}<div class="text">{ml}</div></span> <span class="sec item">{sn}<div class="text">{sl}</div></span>',
2837          },
2838          $.countdown.regionalOptions["ru"]
2839        );
2840      else
2841        block.find(".countdown").countdown(
2842          {
2843            until: dateTo,
2844            format: "dHMS",
2845            padZeroes: true,
2846            layout:
2847              '{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>',
2848          },
2849          $.countdown.regionalOptions["ru"]
2850        );
2851      block.find(".view_sale_block").show();
2852    } else {
2853      block.find(".view_sale_block").hide();
2854    }
2855  };
2856}
2857/* countdown end */
2858
2859waitCounter = function (idCounter, delay, callback) {
2860  var obCounter = window["yaCounter" + idCounter];
2861  if (typeof obCounter == "object") {
2862    if (typeof callback == "function") callback();
2863  } else {
2864    setTimeout(function () {
2865      waitCounter(idCounter, delay, callback);
2866    }, delay);
2867  }
2868};
2869
2870var isOnceInited = (insertFilter = false);
2871var animationTime = 200;
2872var delayTime = 200;
2873var topMenuEnterTimer = false;
2874var previewMode = window != window.top;
2875var isMobile = window.matchMedia("(max-width:991px)").matches;
2876if (isMobile) document.documentElement.className += " mobile";
2877if (previewMode) document.documentElement.className += " previewMode";
2878
2879if (navigator.userAgent.indexOf("Edge") != -1) document.documentElement.className += " bx-ie-edge";
2880
2881/* filter start */
2882if (!funcDefined("checkVerticalMobileFilter")) {
2883  var checkVerticalMobileFilter = function checkVerticalMobileFilter() {};
2884}
2885/* filter end */
2886
2887// ONE CLICK
2888if (!funcDefined("oneClickBuy")) {
2889  var oneClickBuy = function (elementID, iblockID, that) {
2890    var name = "one_click_buy";
2891    var elementQuantity = 1;
2892    var offerProps = false;
2893    var buy_btn = $(that).closest(".buy_block").find(".to-cart");
2894    var buy_btn2 = $(that).closest("tr").find(".to-cart");
2895    var buy_btn3 = $(that).closest(".item").find(".to-cart");
2896
2897    if (typeof that !== "undefined") {
2898      elementQuantity = $(that).attr("data-quantity");
2899      offerProps = $(that).attr("data-props");
2900    }
2901
2902    if (elementQuantity < 0) {
2903      elementQuantity = 1;
2904    }
2905
2906    var tmp_props = buy_btn.data("props") || buy_btn2.data("props") || buy_btn3.data("props"),
2907      props = "",
2908      part_props = "",
2909      add_props = "N",
2910      fill_prop = {},
2911      iblockid = buy_btn.data("iblockid"),
2912      item = buy_btn.attr("data-item");
2913
2914    if (tmp_props) {
2915      props = tmp_props.split(";");
2916    }
2917    if (buy_btn.data("part_props")) {
2918      part_props = buy_btn.data("part_props");
2919    }
2920    if (buy_btn.data("add_props")) {
2921      add_props = buy_btn.data("add_props");
2922    }
2923
2924    fill_prop = fillBasketPropsExt(buy_btn, "prop", buy_btn.data("bakset_div"));
2925    fill_prop.iblockID = iblockid;
2926    fill_prop.part_props = part_props;
2927    fill_prop.add_props = add_props;
2928    fill_prop.props = JSON.stringify(props);
2929    fill_prop.item = item;
2930    fill_prop.ocb_item = "Y";
2931
2932    // if (!isMobile) {
2933    if (!$(that).hasClass("clicked")) {
2934      $(that).addClass("clicked");
2935      $("body")
2936        .find("." + name + "_frame")
2937        .remove();
2938      $("body")
2939        .find("." + name + "_trigger")
2940        .remove();
2941      $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame popup"></div>');
2942      $("body #popup_iframe_wrapper").append('<div class="' + name + '_trigger"></div>');
2943
2944      loadJQM(() => {
2945        $("." + name + "_frame").jqm({
2946          trigger: "." + name + "_trigger",
2947          onHide: function (hash) {
2948            onHidejqm(name, hash);
2949          },
2950          toTop: false,
2951          onLoad: function (hash) {
2952            onLoadjqm(name, hash, "", false, false, false, that);
2953          },
2954          ajax:
2955            arAsproOptions["SITE_DIR"] +
2956            "ajax/one_click_buy.php?ELEMENT_ID=" +
2957            elementID +
2958            "&IBLOCK_ID=" +
2959            iblockID +
2960            "&ELEMENT_QUANTITY=" +
2961            elementQuantity +
2962            "&OFFER_PROPS=" +
2963            fill_prop.props,
2964        });
2965
2966        $("." + name + "_trigger").click();
2967      });
2968    }
2969  };
2970}
2971
2972if (!funcDefined("oneClickBuyBasket")) {
2973  var oneClickBuyBasket = function () {
2974    const name = "one_click_buy_basket";
2975    if (!$(".fast_order").hasClass("clicked")) {
2976      $(".fast_order").addClass("clicked");
2977      $("body ." + name + "_frame").remove();
2978      $("body ." + name + "_trigger").remove();
2979      $("body #popup_iframe_wrapper").append(
2980        '<div class="' + name + '_frame popup"></div>',
2981        '<div class="' + name + '_trigger"></div>'
2982      );
2983
2984      loadJQM(() => {
2985        $("." + name + "_frame").jqm({
2986          trigger: "." + name + "_trigger",
2987          onHide: function (hash) {
2988            onHidejqm(name, hash);
2989          },
2990          onLoad: function (hash) {
2991            onLoadjqm(name, hash);
2992          },
2993          ajax: arAsproOptions["SITE_DIR"] + "ajax/one_click_buy_basket.php",
2994        });
2995
2996        $("." + name + "_trigger").click();
2997      });
2998    }
2999  };
3000}
3001
3002// TOP MENU ANIMATION
3003$(document).on("click", ".menu_top_block>li .more a", function () {
3004  $this = $(this);
3005  $this.parents(".dropdown").first().find(">.hidden").removeClass("hidden");
3006  $this.parent().addClass("hidden");
3007  setTimeout(function () {
3008    $this.parent().remove();
3009  }, 500);
3010});
3011
3012$(document).on("mouseenter", ".menu_top_block.catalogfirst>li>.dropdown>li.full", function () {
3013  var $submenu = $(this).find(">.dropdown");
3014
3015  if ($submenu.length) {
3016    if (topMenuEnterTimer) {
3017      clearTimeout(topMenuEnterTimer);
3018      topMenuEnterTimer = false;
3019    }
3020  }
3021});
3022
3023$(document).on("mouseenter", ".menu_top_block>li:not(.full)", function () {
3024  var $submenu = $(this).find(">.dropdown");
3025
3026  if ($submenu.length && !$submenu.hasClass("visible")) {
3027    var $menu = $(this).parents(".menu");
3028    var $wrapmenu = $menu.parents(".wrap_menu");
3029    var wrapMenuWidth = $wrapmenu.actual("outerWidth");
3030    var wrapMenuLeft = $wrapmenu.offset().left;
3031    var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
3032    var left = wrapMenuRight - ($(this).offset().left + $submenu.actual("outerWidth"));
3033    if (
3034      window.matchMedia("(min-width: 951px)").matches &&
3035      $(this).hasClass("catalog") &&
3036      ($(".banner_auto").hasClass("catalog_page") || $(".banner_auto").hasClass("front_page"))
3037    ) {
3038      return;
3039    }
3040    if (left < 0) {
3041      $submenu.css({ left: left + "px" });
3042    }
3043    $submenu.stop().slideDown(animationTime, function () {
3044      $submenu.css({ height: "", overflow: "visible" });
3045    });
3046
3047    $(this).on("mouseleave", function () {
3048      var leaveTimer = setTimeout(function () {
3049        $submenu.stop().slideUp(animationTime, function () {
3050          $submenu.css({ left: "" });
3051        });
3052      }, delayTime);
3053
3054      $(this).on("mouseenter", function () {
3055        if (leaveTimer) {
3056          clearTimeout(leaveTimer);
3057          leaveTimer = false;
3058        }
3059      });
3060    });
3061  }
3062});
3063
3064$(document).on("mouseenter", ".menu_top_block>li .dropdown>li", function () {
3065  var $this = $(this);
3066  var $submenu = $this.find(">.dropdown");
3067
3068  if (
3069    $submenu.length &&
3070    ((!$this.parents(".full").length && !$this.hasClass("full")) || $this.parents(".more").length)
3071  ) {
3072    var $menu = $this.parents(".menu");
3073    var $wrapmenu = $menu.parents(".wrap_menu");
3074    var arParentSubmenuForOpacity = [];
3075    topMenuEnterTimer = setTimeout(function () {
3076      var wrapMenuWidth = $wrapmenu.actual("outerWidth");
3077      var wrapMenuLeft = $wrapmenu.offset().left;
3078      var wrapMenuRight = wrapMenuLeft + wrapMenuWidth;
3079      var $parentSubmenu = $this.parent();
3080      var bToLeft = $parentSubmenu.hasClass("toleft") ? true : false;
3081      if (!bToLeft) {
3082        bToLeft = $this.offset().left + $this.actual("outerWidth") + $submenu.actual("outerWidth") > wrapMenuRight;
3083      } else {
3084        bToLeft = $this.offset().left + $this.actual("outerWidth") - $submenu.actual("outerWidth") < wrapMenuLeft;
3085      }
3086
3087      if (bToLeft) {
3088        $this.find(">.dropdown").addClass("toleft").show();
3089      } else {
3090        $this.find(">.dropdown").removeClass("toleft").show();
3091      }
3092      var submenuLeft = $submenu.offset().left;
3093      var submenuRight = submenuLeft + $submenu.actual("outerWidth");
3094
3095      $this.parents(".dropdown").each(function () {
3096        var $this = $(this);
3097        var leftOffset = $this.offset().left;
3098        var rightOffset = leftOffset + $this.actual("outerWidth");
3099        if (
3100          (leftOffset >= submenuLeft && leftOffset < submenuRight - 1) ||
3101          (rightOffset > submenuLeft + 1 && rightOffset <= submenuRight)
3102        ) {
3103          arParentSubmenuForOpacity.push($this);
3104          $this.find(">li>a").css({ opacity: "0.1" });
3105        }
3106      });
3107    }, delayTime);
3108
3109    $this.unbind("mouseleave");
3110    $this.on("mouseleave", function () {
3111      var leaveTimer = setTimeout(function () {
3112        $this.find(".dropdown").removeClass("toleft").hide();
3113        if (arParentSubmenuForOpacity.length) {
3114          for (i in arParentSubmenuForOpacity) {
3115            arParentSubmenuForOpacity[i].find(">li>a").css({ opacity: "" });
3116          }
3117        }
3118      }, delayTime);
3119
3120      $this.unbind("mouseenter");
3121      $this.on("mouseenter", function () {
3122        if (leaveTimer) {
3123          clearTimeout(leaveTimer);
3124          leaveTimer = false;
3125        }
3126      });
3127    });
3128  }
3129});
3130CheckFlexSlider = function () {};
3131
3132InitScrollBar = function (el, initOptions) {};
3133InitCustomScrollBar = function (el) {};
3134
3135/* slider gallery for fancybox */
3136const InitFancyboxThumbnailsGallery = function (instance) {
3137  if (
3138    $(".fancybox-thumbs") &&
3139    $(".fancybox-thumbs__list a").length > 1 &&
3140    !$(".fancybox-thumbs .swiper").length &&
3141    typeof initSwiperSlider === "function"
3142  ) {
3143
3144    // update preview when lazyloaded
3145    instance.Thumbs.$grid.find(".fancybox-thumbs__list a").each(function (i, el) {
3146      $(el).css("background-image", "url('" + encodeURI(instance.group[i].src) + "')");
3147    });
3148
3149    const SLIDER_RESIZE_BREAKPOINT = 600;
3150    const $swiperSlides = $(".fancybox-thumbs__list a");
3151    const $swiperWrapper = $(".fancybox-thumbs__list");
3152    const sliderDirection = window.innerWidth >= SLIDER_RESIZE_BREAKPOINT ? "vertical" : "horizontal";
3153
3154    const options = {
3155      centerInsufficientSlides: true,
3156      direction: sliderDirection,
3157      mousewheelControl: true,
3158      setWrapperSize: true,
3159      slidesPerView: 3,
3160      spaceBetween: 16,
3161      breakpoints: {
3162        400: {
3163          slidesPerView: 5,
3164        },
3165      },
3166    };
3167
3168    if ($swiperSlides.length > 5) {
3169      options.navigation = {
3170        nextEl: ".fancybox-thumbs__wrapper .swiper-button-next",
3171        prevEl: ".fancybox-thumbs__wrapper .swiper-button-prev",
3172      };
3173    }
3174
3175    $(".fancybox-thumbs").wrapInner(
3176      "<div class='fancybox-thumbs__wrapper'><div class='swiper' data-plugin-options='" +
3177        JSON.stringify(options) +
3178        "' /></div>"
3179    );
3180    const $swiperContainerWrapper = $(".fancybox-thumbs__wrapper");
3181
3182    if ($swiperSlides.length > 5) {
3183      $swiperContainerWrapper.append(
3184        "<div class='swiper-button-next'><i class='svg right'><svg xmlns='http://www.w3.org/2000/svg' width='12' height='6.969' viewBox='0 0 12 6.969'><path id='Rounded_Rectangle_702_copy_24' data-name='Rounded Rectangle 702 copy 24' class='cls-1' d='M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z' transform='translate(-350 -395.031)'></path></svg></i></div>"
3185      );
3186      $swiperContainerWrapper.prepend(
3187        "<div class='swiper-button-prev'><i class='svg left'><svg xmlns='http://www.w3.org/2000/svg' width='12' height='6.969' viewBox='0 0 12 6.969'><path id='Rounded_Rectangle_702_copy_24' data-name='Rounded Rectangle 702 copy 24' class='cls-1' d='M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z' transform='translate(-350 -395.031)'></path></svg></i></div>"
3188      );
3189    }
3190    $swiperWrapper.addClass("swiper-wrapper");
3191    $swiperSlides.addClass("swiper-slide");
3192
3193    initSwiperSlider(".fancybox-thumbs .swiper");
3194
3195    const swiper = $(".fancybox-thumbs .swiper").data("swiper");
3196
3197    swiper.slideTo(instance.curPos, 10);
3198    swiper.on("resize", function () {
3199      if (window.innerWidth >= SLIDER_RESIZE_BREAKPOINT && options.direction === "horizontal") {
3200        options.direction = "vertical";
3201        swiper.changeDirection(options.direction, false);
3202        $swiperWrapper.css("width", "auto");
3203        swiper.update();
3204      } else if (window.innerWidth < SLIDER_RESIZE_BREAKPOINT && options.direction === "vertical") {
3205        options.direction = "horizontal";
3206        swiper.changeDirection(options.direction, false);
3207        $swiperWrapper.css("height", "auto");
3208        swiper.update();
3209      }
3210    });
3211  }
3212};
3213
3214fancyBoxOpts = {
3215  padding: [40, 40, 64, 40],
3216  openEffect: "fade",
3217  closeEffect: "fade",
3218  nextEffect: "fade",
3219  prevEffect: "fade",
3220  opacity: true,
3221  tpl: {
3222    closeBtn:
3223      '<span title="' +
3224      BX.message("FANCY_CLOSE") +
3225      '" class="fancybox-item fancybox-close inline svg"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>',
3226    next:
3227      '<a title="' +
3228      BX.message("FANCY_NEXT") +
3229      '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3230    prev:
3231      '<a title="' +
3232      BX.message("FANCY_PREV") +
3233      '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3234  },
3235  btnTpl: {
3236    close:
3237      '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
3238      '<i class="svg"><svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg></i>' +
3239      "</button>",
3240
3241    arrowLeft:
3242      '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
3243      '<div><i class="svg left"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13L0.585787 14.4142C-0.195262 13.6332 -0.195262 12.3668 0.585787 11.5858L2 13ZM11.5858 0.585786C12.3668 -0.195262 13.6332 -0.195262 14.4142 0.585786C15.1953 1.36683 15.1953 2.63317 14.4142 3.41421L11.5858 0.585786ZM14.4142 22.5858C15.1953 23.3668 15.1953 24.6332 14.4142 25.4142C13.6332 26.1953 12.3668 26.1953 11.5858 25.4142L14.4142 22.5858ZM0.585787 11.5858L11.5858 0.585786L14.4142 3.41421L3.41421 14.4142L0.585787 11.5858ZM3.41421 11.5858L14.4142 22.5858L11.5858 25.4142L0.585787 14.4142L3.41421 11.5858Z" fill="#999999"/></svg></i></div>' +
3244      "</button>",
3245
3246    arrowRight:
3247      '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
3248      '<div><i class="svg right"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 13L14.4142 14.4142C15.1953 13.6332 15.1953 12.3668 14.4142 11.5858L13 13ZM3.41421 0.585786C2.63317 -0.195262 1.36683 -0.195262 0.585786 0.585786C-0.195262 1.36683 -0.195262 2.63317 0.585786 3.41421L3.41421 0.585786ZM0.585786 22.5858C-0.195262 23.3668 -0.195262 24.6332 0.585786 25.4142C1.36683 26.1953 2.63317 26.1953 3.41421 25.4142L0.585786 22.5858ZM14.4142 11.5858L3.41421 0.585786L0.585786 3.41421L11.5858 14.4142L14.4142 11.5858ZM11.5858 11.5858L0.585786 22.5858L3.41421 25.4142L14.4142 14.4142L11.5858 11.5858Z" fill="white"/></svg></i></div>' +
3249      "</button>",
3250  },
3251  touch: "enabled",
3252  buttons: ["close"],
3253  thumbs: {
3254    autoStart: true,
3255  },
3256  backFocus: false,
3257  onActivate: function (instance) {
3258    InitFancyboxThumbnailsGallery(instance);
3259  },
3260  beforeShow: function (instance, current) {
3261    if ($(".fancybox-thumbs .swiper").length) {
3262      const swiper = $(".fancybox-thumbs .swiper").data("swiper");
3263
3264      swiper.slideTo(current.index);
3265    }
3266    let bCurrentSrc = typeof current !== "undefined" && current.contentType == "html" && $(current.src).length;
3267
3268    if (bCurrentSrc) {
3269      let $companyBlock = current.src.closest(".company-block");
3270      if ($companyBlock.length) {
3271        var $video_block = $companyBlock.find(".video")[0];
3272        if ($video_block && !$video_block.nextElementSibling) {
3273          $videoContent = $video_block.content.cloneNode(true);
3274          $source = $videoContent.querySelector(".video-block");
3275          $source.setAttribute("src", $source.dataset["src"]);
3276          $video_block.parentNode.insertBefore($videoContent, $video_block.nextSibling);
3277        }
3278
3279        var video_block_frame = $companyBlock.find(".video-block__iframe");
3280        if (video_block_frame.length) {
3281          var data_src_iframe = video_block_frame.attr("data-src");
3282          video_block_frame.attr("src", data_src_iframe);
3283          video_block_frame.attr("allow", "autoplay");
3284        }
3285      }
3286    }
3287  },
3288  afterShow: function (instance, current) {
3289    if ($(".fancybox-overlay").css("opacity") == 0) {
3290      setTimeout(function () {
3291        $(".fancybox-overlay").css("opacity", 1);
3292        $("html").addClass("overflow_html");
3293      }, 200);
3294    }
3295
3296    $(".fancybox-nav").css("opacity", 0);
3297    setTimeout(function () {
3298      $(".fancybox-nav").css("opacity", 1);
3299    }, 150);
3300
3301    if ($(".fancybox-inner .video-block").length) {
3302      // var fancyHeight = $('.fancybox-wrap').height();
3303      // $('.fancybox-inner').height(fancyHeight);
3304      setTimeout(function () {
3305        $(".fancybox-wrap video").resize();
3306        setTimeout(function () {
3307          $(".fancybox-wrap").addClass("show_video");
3308          document.getElementById("company_video").currentTime = 0;
3309          document.getElementById("company_video").play();
3310        }, 300);
3311      }, 150);
3312    } else if ($(".fancybox-wrap iframe").length) {
3313      $(".fancybox-inner").height("100%");
3314    }
3315  },
3316  beforeClose: function () {
3317    $(".fancybox-overlay").fadeOut();
3318    $("html").removeClass("overflow_html");
3319
3320    if ($("#company_video").length) {
3321      document.getElementById("company_video").currentTime = 0;
3322    }
3323
3324    var video_block_frame = $(".company-block .video-block");
3325    if (video_block_frame.length) {
3326      $(".video-block__iframe").attr("src", "");
3327    }
3328  },
3329  onClosed: function () {
3330    if ($(".fancybox-wrap #company_video").length) {
3331      document.getElementById("company_video").pause();
3332    }
3333  },
3334};
3335
3336InitFancyBox = function () {
3337  if (typeof $.fn.fancybox !== "function") {
3338    return;
3339  }
3340
3341  if (!$(".fancy").length) {
3342    return;
3343  }
3344
3345  $(".fancy").fancybox(fancyBoxOpts);
3346};
3347
3348InitFancyBoxVideo = function () {
3349  if (typeof $.fn.fancybox !== "function") {
3350    return;
3351  }
3352
3353  if (!$(".video_link").length) {
3354    return;
3355  }
3356  $(".video_link").fancybox({
3357    type: "iframe",
3358    iframe: {
3359      preload: false,
3360    },
3361    maxWidth: 800,
3362    maxHeight: 600,
3363    fitToView: false,
3364    width: "70%",
3365    height: "70%",
3366    autoSize: false,
3367    closeClick: false,
3368    opacity: true,
3369    tpl: {
3370      closeBtn:
3371        '<span title="' +
3372        BX.message("FANCY_CLOSE") +
3373        '" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>',
3374      next:
3375        '<a title="' +
3376        BX.message("FANCY_NEXT") +
3377        '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3378      prev:
3379        '<a title="' +
3380        BX.message("FANCY_PREV") +
3381        '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3382    },
3383    afterShow: function () {
3384      if ($(".fancybox-overlay").css("opacity") == 0) {
3385        setTimeout(function () {
3386          $(".fancybox-overlay").css("opacity", 1);
3387          $("html").addClass("overflow_html");
3388        }, 200);
3389      }
3390
3391      $(".fancybox-nav").css("opacity", 0);
3392      setTimeout(function () {
3393        $(".fancybox-nav").css("opacity", 1);
3394      }, 150);
3395      if ($(".fancybox-wrap iframe").length) {
3396        $(".fancybox-inner").height("100%");
3397      }
3398    },
3399    beforeClose: function () {
3400      $(".fancybox-overlay").fadeOut();
3401      $("html").removeClass("overflow_html");
3402    },
3403  });
3404};
3405
3406InitStickySideBar = function (el, container_el) {
3407  var block = ".sticky-sidebar",
3408    container_catalog = ".wraps .wrapper_inner .container_inner .main-catalog-wrapper",
3409    container = ".wraps .wrapper_inner .container_inner";
3410  if (typeof el !== "undefined") block = el;
3411
3412  if ($(container_catalog).length) container = container_catalog;
3413
3414  if (typeof container_el !== "undefined") container = container_el;
3415
3416  if ($(block).length && arAsproOptions["THEME"]["STICKY_SIDEBAR"] != "N") {
3417    if (typeof window["stickySidebar"] !== "undefined") {
3418      window["stickySidebar"].destroy();
3419    }
3420
3421    window["stickySidebar"] = new StickySidebar(block, {
3422      topSpacing: 60,
3423      bottomSpacing: 20,
3424      containerSelector: container,
3425      resizeSensor: true,
3426      innerWrapperSelector: ".sticky-sidebar__inner",
3427    });
3428
3429    if ($(".sticky-sidebar .sticky-sidebar__inner .banner img").length) {
3430      $(".sticky-sidebar .sticky-sidebar__inner .banner img")[0].onload = function () {
3431        if (typeof window["stickySidebar"] !== "undefined") {
3432          window["stickySidebar"].updateSticky();
3433        }
3434      };
3435    }
3436  }
3437};
3438
3439InitOwlSlider = function () {
3440  if (typeof $.fn.owlCarousel !== "function") {
3441    return;
3442  }
3443  $(".owl-carousel:not(.owl-loaded):not(.appear-block)").each(function () {
3444    var slider = $(this);
3445    var options;
3446    var svg =
3447      '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>';
3448    var defaults = {
3449      navText: [
3450        '<i class="svg left colored_theme_hover_text">' + svg + "</i>",
3451        '<i class="svg right colored_theme_hover_text">' + svg + "</i>",
3452      ],
3453    };
3454    var config = $.extend({}, defaults, options, slider.data("plugin-options"));
3455
3456    slider.on("initialized.owl.carousel", function (event) {
3457      var eventdata = { slider: event };
3458      BX.onCustomEvent("onSliderInitialized", [eventdata]);
3459      BX.onCustomEvent("onSlide", [eventdata]);
3460
3461      $(event.target).removeClass("loading-state");
3462      $(event.target).find(".owl-item:first").addClass("current");
3463
3464      if ($(event.target).hasClass("catalog_block")) {
3465        if (typeof sliceItemBlockSlide === "function") {
3466          sliceItemBlockSlide();
3467        }
3468      }
3469
3470      if (typeof window["stickySidebar"] !== "undefined") {
3471        window["stickySidebar"].updateSticky();
3472      }
3473    });
3474    // if slider was inited on animated scrolling to block, than need rescroll
3475    if ($("body.scrolling-state").length) {
3476      slider.on("initialized.owl.carousel", function (event) {
3477        setTimeout(function () {
3478          scrollToBlock.rescroll();
3479        }, 100);
3480      });
3481    }
3482
3483    slider.on("change.owl.carousel", function (event) {
3484      // var eventdata = {slider: $(event.target)};
3485      // BX.onCustomEvent('onSlide', [eventdata]);
3486    });
3487
3488    slider.owlCarousel(config);
3489
3490    slider.on("resized.owl.carousel", function (event) {
3491      if (typeof sliceItemBlockSlide === "function") {
3492        sliceItemBlockSlide({ resize: false });
3493      }
3494    });
3495
3496    slider.on("changed.owl.carousel", function (event) {
3497      var $slider = $(event.target);
3498      var sliderData = $slider.data("owl.carousel");
3499      var pluginOptions = $slider.data("pluginOptions");
3500
3501      var eventdata = { slider: $slider, data: event };
3502      BX.onCustomEvent("onSlide", [eventdata]);
3503
3504      if (pluginOptions) {
3505        // click .ajax_load_btn
3506        if ($slider.parent().find(".ajax_load_btn").length) {
3507          if (sliderData._current + 1 + sliderData.settings.items >= sliderData._items.length) {
3508            $slider.parent().find(".ajax_load_btn").trigger("click");
3509          }
3510        }
3511        if (typeofExt(pluginOptions) === "object") {
3512          if ("index" in pluginOptions) {
3513            if ($(".gallery-view_switch").length) {
3514              $(".gallery-view_switch__count-wrapper--big .gallery-view_switch__count-value").text(
3515                event.item.index + 1 + "/" + event.item.count
3516              );
3517            }
3518          }
3519
3520          if ("relatedTo" in $(event.target).data("pluginOptions")) {
3521            var relatedClass = $(event.target).data("pluginOptions").relatedTo,
3522              relatedBlock = $(relatedClass);
3523
3524            if (relatedBlock.length && $(event.target).data("owl.carousel")) {
3525              if (!$(event.target).data("owl.carousel").loop) {
3526                var current = event.item.index;
3527              } else {
3528                var count = event.item.count - 1;
3529                var current = Math.round(event.item.index - event.item.count / 2 - 0.5);
3530
3531                if (current < 0) current = count;
3532
3533                if (current > count) current = 0;
3534              }
3535
3536              relatedBlock.find(".owl-item").removeClass("current").eq(current).addClass("current");
3537
3538              var onscreen = relatedBlock.find(".owl-item.active").length - 1;
3539              var start = relatedBlock.find(".owl-item.active").first().index();
3540              var end = relatedBlock.find(".owl-item.active").last().index();
3541
3542              if (current > end) relatedBlock.data("owl.carousel").to(current, 100, true);
3543
3544              if (current < start) relatedBlock.data("owl.carousel").to(current - onscreen, 100, true);
3545              // $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel])
3546            }
3547          }
3548        }
3549      }
3550    });
3551
3552    slider.on("translated.owl.carousel", function (event) {});
3553
3554    if ("clickTo" in config) {
3555      var relatedClass = config.clickTo,
3556        magnifier = "magnifier" in config;
3557
3558      slider.on("click", ".owl-item", function (e) {
3559        e.preventDefault();
3560        var _this = $(this),
3561          number = _this.index();
3562
3563        if (magnifier) {
3564          if ($(relatedClass).closest(".product-container").find(".zoom_picture").length) {
3565            $(relatedClass)
3566              .closest(".product-container")
3567              .find(".zoom_picture")
3568              .attr("data-large", _this.find(".product-detail-gallery__item").data("big"));
3569            $(relatedClass)
3570              .closest(".product-container")
3571              .find(".zoom_picture")
3572              .attr("xoriginal", _this.find(".product-detail-gallery__item").data("big"));
3573            $(relatedClass)
3574              .closest(".product-container")
3575              .find(".zoom_picture")
3576              .attr("src", _this.find(".product-detail-gallery__item img").attr("src"));
3577          }
3578          _this.siblings("").removeClass("current");
3579          _this.addClass("current");
3580        } else {
3581          $(relatedClass).data("owl.carousel").to(number, 300, true);
3582        }
3583      });
3584    }
3585  });
3586};
3587
3588InitFlexSlider = function () {
3589  //todo need remove
3590};
3591
3592inIframe = function () {
3593  try {
3594    return window.self !== window.top;
3595  } catch (e) {
3596    return true;
3597  }
3598};
3599
3600InitZoomPict = function (el) {
3601  const zoomer = typeof el !== "undefined" ? el : $(".zoom_picture");
3602
3603  if (zoomer.length) {
3604    var options;
3605    const defaults = {
3606      title: false,
3607      scroll: false,
3608      Xoffset: 15,
3609      tint: "#333",
3610      defaultScale: -1,
3611    };
3612
3613    const config = $.extend({}, defaults, options, zoomer.data("plugin-options"));
3614    zoomer.xzoom(config);
3615
3616    // checks if zoomer doesn't have the event listenners
3617    const zoomerEventsListeners = $._data(zoomer.get(0), "events");
3618
3619    if (!zoomerEventsListeners.mouseout && !zoomerEventsListeners.load) {
3620      zoomer.on("mouseleave", function () {
3621        zoomer.data("xzoom").movezoom;
3622        let mObjWidth = parseInt(zoomer.attr("data-xoriginalwidth"));
3623        let mObHeight = parseInt(zoomer.attr("data-xoriginalheight"));
3624        let imgObjWidth = Math.round(zoomer.width());
3625        let imgObjheight = Math.round(zoomer.height());
3626        if (mObjWidth === imgObjWidth && imgObjheight === mObHeight) {
3627          $(".xzoom-preview").addClass("hidden");
3628          $(".xzoom-source > div").addClass("hidden");
3629        } else {
3630          $(".xzoom-preview").removeClass("hidden");
3631          $(".xzoom-source > div").removeClass("hidden");
3632        }
3633      });
3634
3635      zoomer.on("load", function () {
3636        const zoomerParentWidth = Math.round(zoomer.parent().width());
3637        const zoomerHeight = Math.round(zoomer.height());
3638        const zoomerWidth = Math.round(zoomer.width());
3639        const sizeMultiplier = 1.5;
3640
3641        const zoomWidth =
3642          zoomerWidth < zoomerParentWidth / 2 && zoomerHeight > zoomerWidth ? zoomerWidth * sizeMultiplier : "auto";
3643
3644        zoomer.data("xzoom").destroy();
3645        zoomer.removeData("xzoom");
3646        zoomer.width("auto");
3647
3648        config.zoomWidth = zoomWidth;
3649        zoomer.xzoom(config);
3650      });
3651    }
3652  }
3653};
3654
3655InitAppear = function() {
3656  const $nodeListAppearBlock = $(".appear-block");
3657  if ($nodeListAppearBlock.length) {
3658    $nodeListAppearBlock.iAppear(
3659      function () {
3660        const eventdata = {
3661          target: this
3662        };
3663        BX.onCustomEvent("onAppearVideoBlockShow", [eventdata]);
3664
3665        const $nodeAppearBlock = $(this);
3666        $nodeAppearBlock.removeClass("appear-block");
3667        $nodeAppearBlock.find(".appear-block").removeClass("appear-block");
3668
3669        typeof InitOwlSlider === "function" && InitOwlSlider();
3670        typeof initSwiperSlider === "function" && initSwiperSlider();
3671      },
3672      {
3673        rootMargin: "150px 0px 150px 0px",
3674        accX: 0,
3675        accY: 150,
3676      }
3677    );
3678  }
3679}
3680
3681var arBasketAsproCounters = (arStatusBasketAspro = arBasketPrices = {});
3682SetActualBasketFlyCounters = function (sync) {
3683  if (arBasketAsproCounters.DEFAULT == true) {
3684    $.ajax({
3685      url: arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php",
3686      type: "post",
3687      success: function (html) {
3688        $("#basket_line .basket_fly").removeClass("loaded").html(html);
3689
3690        if (typeof sync !== "undefined") {
3691          $.ajax({
3692            type: "GET",
3693            url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
3694            // data:data,
3695            success: function (data) {
3696              if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
3697              $(".js_ajax").html(data);
3698
3699              setBasketStatusBtn(true);
3700            },
3701          });
3702        }
3703      },
3704    });
3705  } else {
3706    // insert currency &#8381; by this hack!: $('<div/>').html(arBasketAsproCounters.READY.TITLE).text()
3707    $(".basket_fly .opener .basket_count .count")
3708      .attr("class", "count" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty_items"))
3709      .find(".items span")
3710      .text(arBasketAsproCounters.READY.COUNT);
3711    $(".basket_fly .opener .basket_count + a").attr("href", arBasketAsproCounters["READY"]["HREF"]);
3712    $(".basket_fly .opener .basket_count")
3713      .attr("title", $("<div/>").html(arBasketAsproCounters.READY.TITLE).text())
3714      .attr(
3715        "class",
3716        "colored_theme_hover_text basket_count small clicked" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty")
3717      );
3718
3719    updateBottomIconsPanel(arBasketAsproCounters);
3720  }
3721};
3722
3723CheckHeaderFixed = function () {
3724  var header = $("header, body.simple_basket_mode #header").first(),
3725    header_fixed = $("#headerfixed, body.simple_basket_mode #header"),
3726    header_simple = $("body.simple_basket_mode #header");
3727
3728  if (header_fixed.length) {
3729    if (header.length) {
3730      var isHeaderFixed = false,
3731        isTabsFixed = false,
3732        headerCanFix = true,
3733        headerFixedHeight = header_fixed.actual("outerHeight"),
3734        headerNormalHeight = header.actual("outerHeight"),
3735        headerDiffHeight = headerNormalHeight - headerFixedHeight,
3736        mobileBtnMenu = $(".btn.btn-responsive-nav"),
3737        headerTop = $("#panel:visible").actual("outerHeight"),
3738        topBlock = $(".TOP_HEADER").first(),
3739        $headerFixedNlo = header_fixed.find("[data-nlo]"),
3740        isNloLoaded = !$headerFixedNlo.length,
3741        OnHeaderFixedScrollHandler;
3742
3743      if (headerDiffHeight <= 0) headerDiffHeight = 0;
3744
3745      if (topBlock.length) headerTop += topBlock.actual("outerHeight");
3746
3747      $(window).scroll(
3748        (OnHeaderFixedScrollHandler = function () {
3749          var tabs_fixed = $(".product-item-detail-tabs-container-fixed");
3750
3751          if (window.matchMedia("(min-width:992px)").matches) {
3752            var scrollTop = documentScrollTopLast,
3753              current_is = $(".search-wrapper .search-input:visible"),
3754              tabs = $(".ordered-block .nav.nav-tabs"),
3755              headerCanFix = !mobileBtnMenu.is(":visible");
3756
3757            if (!isHeaderFixed) {
3758              if (headerCanFix && scrollTop > headerNormalHeight + headerTop) {
3759                if (!isNloLoaded) {
3760                  if (!$headerFixedNlo.hasClass("nlo-loadings")) {
3761                    $headerFixedNlo.addClass("nlo-loadings");
3762                    setTimeout(function () {
3763                      $.ajax({
3764                        data: {
3765                          nlo: $headerFixedNlo.attr("data-nlo"),
3766                        },
3767                        success: function (response) {
3768                          // stop ya metrika webvisor DOM indexer
3769                          pauseYmObserver();
3770
3771                          isNloLoaded = true;
3772                          $headerFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response));
3773                          $headerFixedNlo.remove();
3774
3775                          InitMenuNavigationAim();
3776                          OnHeaderFixedScrollHandler();
3777
3778                          // resume ya metrika webvisor
3779                          // (300ms transition) + (100ms scroll handler)
3780                          setTimeout(resumeYmObserver, 400);
3781                        },
3782                        error: function () {
3783                          $headerFixedNlo.removeClass("nlo-loadings");
3784                        },
3785                      });
3786                    }, 300);
3787                  }
3788                } else {
3789                  isHeaderFixed = true;
3790                  if (header_simple.length) {
3791                    headerSimpleHeight = header_simple.actual("outerHeight");
3792                    header_simple.closest(".header_wrap").css({
3793                      "margin-top": headerSimpleHeight,
3794                    });
3795                  }
3796                  header_fixed.addClass("fixed");
3797
3798                  $("nav.mega-menu.sliced.initied").removeClass("initied");
3799                  CheckTopMenuDotted();
3800                }
3801              }
3802            }
3803            if (isHeaderFixed || !headerCanFix) {
3804              if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) {
3805                isHeaderFixed = false;
3806                header_fixed.removeClass("fixed");
3807                if (header_simple.length) {
3808                  header_simple.closest(".header_wrap").css({ "margin-top": "" });
3809                }
3810              }
3811            }
3812
3813            //fixed tabs
3814            if (tabs_fixed.length && tabs.length) {
3815              var tabs_offset = $(".ordered-block .nav.nav-tabs").offset();
3816              if (scrollTop + headerFixedHeight > tabs_offset.top) {
3817                tabs_fixed.css({
3818                  top: header_fixed.actual("outerHeight"),
3819                });
3820                tabs_fixed.addClass("fixed");
3821
3822                header_fixed.addClass("tabs-fixed");
3823              } else if (tabs_fixed.hasClass("fixed")) {
3824                tabs_fixed.removeAttr("style");
3825                tabs_fixed.removeClass("fixed");
3826
3827                header_fixed.removeClass("tabs-fixed");
3828              }
3829            }
3830          }
3831        })
3832      );
3833    }
3834  }
3835
3836  //mobile fixed
3837  var headerSimple = $("body.simple_basket_mode .wrapper1.mfixed_Y #header");
3838  var mfixed = headerSimple.length ? headerSimple : $(".wrapper1.mfixed_Y #mobileheader");
3839  if (mfixed.length && isMobile) {
3840    var isMHeaderFixed = false,
3841      mheaderCanFix = true,
3842      mheaderFixedHeight = mfixed.actual("outerHeight"),
3843      // mheaderFixedHeight = 0,
3844      mheaderTop = $("#panel:visible").actual("outerHeight"),
3845      mHeaderScrollTop = $(".wrapper1").hasClass("mfixed_view_scroll_top");
3846    $(window).scroll(function () {
3847      var scrollTop = documentScrollTopLast;
3848      if (window.matchMedia("(max-width:991px)").matches) {
3849        if (mHeaderScrollTop) {
3850          if (scrollTop > startScroll) {
3851            if (!$("#mobilePhone.show").length) {
3852              mfixed.removeClass("fixed");
3853              if (headerSimple.length) {
3854                headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3855              }
3856            }
3857          } else if (scrollTop > mheaderFixedHeight + mheaderTop) {
3858            mfixed.addClass("fixed");
3859            if (headerSimple.length) {
3860              headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight });
3861            }
3862          } else if (scrollTop <= mheaderFixedHeight + mheaderTop) {
3863            mfixed.removeClass("fixed");
3864            if (headerSimple.length) {
3865              headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3866            }
3867          }
3868          startScroll = scrollTop;
3869        } else {
3870          if (!isMHeaderFixed) {
3871            if (scrollTop > mheaderFixedHeight + mheaderTop) {
3872              isMHeaderFixed = true;
3873              mfixed.addClass("fixed");
3874              if (headerSimple.length) {
3875                headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight });
3876              }
3877            }
3878          } else if (isMHeaderFixed) {
3879            if (scrollTop <= mheaderFixedHeight + mheaderTop) {
3880              isMHeaderFixed = false;
3881              mfixed.removeClass("fixed");
3882              if (headerSimple.length) {
3883                headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3884              }
3885            }
3886          }
3887        }
3888      } else {
3889        mfixed.removeClass("fixed");
3890        if (headerSimple.length) {
3891          headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3892        }
3893      }
3894    });
3895  }
3896};
3897
3898CheckHeaderFixedMenu = function () {
3899  if (
3900    arAsproOptions["THEME"] &&
3901    arAsproOptions["THEME"]["HEADER_FIXED"] == 2 &&
3902    $("#headerfixed .js-nav").length &&
3903    window.matchMedia("(min-width: 992px)").matches
3904  ) {
3905    $("#headerfixed .js-nav").css("width", "0");
3906    var all_width = 0,
3907      cont_width = $("#headerfixed .maxwidth-theme").actual("width"),
3908      padding_menu =
3909        $("#headerfixed .logo-row.v2 .menu-block").actual("outerWidth") -
3910        $("#headerfixed .logo-row.v2 .menu-block").actual("width");
3911    $("#headerfixed .logo-row.v2 > .inner-table-block").each(function () {
3912      if (!$(this).hasClass("menu-block")) all_width += $(this).actual("outerWidth");
3913    });
3914    $("#headerfixed .js-nav").width(cont_width - all_width - padding_menu);
3915  }
3916};
3917
3918CheckSearchWidth = function () {
3919  if ($(".logo_and_menu-row .search_wrap").length) {
3920    var searchPosition = $(".logo_and_menu-row .search_wrap").position().left,
3921      maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 2;
3922    width = 0;
3923    if ($(".logo_and_menu-row .subtop .search_wrap").length) {
3924      maxWidth = $(".logo_and_menu-row .subtop").width() - 2;
3925      $(".logo_and_menu-row .subtop > .row >div >div")
3926        .each(function () {
3927          if (!$(this).hasClass("search_wrap")) {
3928            var elementWidth = $(this).outerWidth();
3929            if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3930            width = width ? width - elementWidth : maxWidth - elementWidth;
3931          }
3932        })
3933        .promise()
3934        .done(function () {
3935          if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3936            $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3937          else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3938          $(".logo_and_menu-row .search_wrap").css({
3939            opacity: 1,
3940            visibility: "visible",
3941          });
3942        });
3943    } else {
3944      if ($(".logo_and_menu-row .subbottom .search_wrap").length) {
3945        maxWidth = $(".logo_and_menu-row .subbottom").width() - 2;
3946        $(".logo_and_menu-row .subbottom >div")
3947          .each(function () {
3948            if (!$(this).hasClass("search_wrap")) {
3949              var elementWidth = $(this).outerWidth();
3950              if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3951              width = width ? width - elementWidth : maxWidth - elementWidth;
3952            }
3953          })
3954          .promise()
3955          .done(function () {
3956            if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3957              $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3958            else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3959            $(".logo_and_menu-row .search_wrap").css({
3960              opacity: 1,
3961              visibility: "visible",
3962            });
3963          });
3964      } else {
3965        $(".logo_and_menu-row .maxwidth-theme > .row >div >div")
3966          .each(function () {
3967            if (!$(this).hasClass("search_wrap")) {
3968              var elementWidth = $(this).outerWidth();
3969              if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3970              width = width ? width - elementWidth : maxWidth - elementWidth;
3971            }
3972          })
3973          .promise()
3974          .done(function () {
3975            if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3976              $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3977            else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3978            $(".logo_and_menu-row .search_wrap").css({
3979              opacity: 1,
3980              visibility: "visible",
3981            });
3982          });
3983      }
3984    }
3985  }
3986};
3987
3988if (!funcDefined("showItemStoresAmount")) {
3989  var showItemStoresAmount = function () {
3990    let blocks = $(".item-stock .status-amount--stores:not(.status-amount--loaded)");
3991    if (blocks.length) {
3992      let stores = [];
3993      let ids = [];
3994
3995      for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
3996        $(blocks[i]).addClass("status-amount--loaded");
3997
3998        var data = $(blocks[i]).data("param-amount");
3999        if (typeof data === "object" && data) {
4000          ids.push(data.ID);
4001          stores = data.STORES;
4002        }
4003      }
4004
4005      if (ids) {
4006        let data = {
4007          ids: ids,
4008          stores: stores,
4009        };
4010
4011        $.ajax({
4012          url: arAsproOptions.SITE_DIR + "ajax/amount.php",
4013          type: "POST",
4014          data: data,
4015          dataType: "json",
4016          success: function (result) {
4017            if (typeof result === "object" && result && result.success && result.amount) {
4018              for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
4019                var data = $(blocks[i]).data("param-amount");
4020                if (typeof data === "object" && data) {
4021                  if (result.amount[data.ID]) {
4022                    $(blocks[i]).html(result.amount[data.ID]);
4023                  }
4024
4025                  $(blocks[i]).addClass("status-amount--visible");
4026                }
4027              }
4028            }
4029          },
4030        });
4031      }
4032    }
4033  };
4034}
4035
4036lazyLoadPagenBlock = function () {
4037  setTimeout(function () {
4038    if ($(".with-load-block .ajax_load_btn:not(.appear-block)").length) {
4039      $(".with-load-block .ajax_load_btn:not(.appear-block)").iAppear(
4040        function () {
4041          var $this = $(this);
4042          $this.addClass("appear-block").trigger("click");
4043        },
4044        { rootMargin: "200px 0px 200px 0px", accX: 0, accY: 200 }
4045      );
4046    }
4047  }, 200);
4048};
4049
4050scrollPreviewBlock = function () {
4051  if (typeof $.cookie("scroll_block") != "undefined" && $.cookie("scroll_block")) {
4052    var scroll_block = $($.cookie("scroll_block"));
4053    if (scroll_block.length) {
4054      let position = scroll_block.offset().top;
4055      let $fixedHeader = null;
4056      if (($fixedHeader = document.getElementById("headerfixed"))) {
4057        position -= $fixedHeader.clientHeight;
4058      }
4059      $("body, html").animate({ scrollTop: position }, 500);
4060    }
4061    $.cookie("scroll_block", null);
4062  }
4063};
4064
4065scrollToBlock = function (block) {
4066  if ($(block).length) {
4067    var offset = $(block).offset().top;
4068    if (typeof $(block).data("toggle") != "undefined") $(block).click();
4069
4070    if (typeof $(block).data("offset") != "undefined") offset += $(block).data("offset");
4071
4072    $("body, html").animate({ scrollTop: offset }, 500);
4073  }
4074};
4075
4076checkMenuLines = function () {
4077  if ($(".front_page .menu-row .left_border").length || $(".front_page .menu-row .right_border").length) {
4078    var positionMenu = $(".centered .menu-row .mega-menu table").length
4079        ? $(".centered .menu-row .mega-menu table").offset().left
4080        : 0,
4081      varFixLineWidth =
4082        $("body").hasClass("with_decorate") && window.matchMedia("(min-width: 1100px)").matches ? 126 : 7;
4083
4084    $(".menu-row .left_border, .menu-row .right_border").css("width", positionMenu - varFixLineWidth);
4085  }
4086};
4087
4088SetFixedAskBlock = function () {
4089  if ($(".ask_a_question_wrapper").length) {
4090    var offset = $(".ask_a_question_wrapper").offset(),
4091      footer_offset = 0,
4092      block = $(".ask_a_question_wrapper").find(".ask_a_question"),
4093      block_offset = BX.pos(block[0]),
4094      block_height = block_offset.bottom - block_offset.top,
4095      diff_top_scroll = $("#headerfixed").height() + 20;
4096
4097    if ($("footer").length) footer_offset = $("footer").offset().top;
4098
4099    if ($(".banner.CONTENT_BOTTOM").length) footer_offset = $(".banner.CONTENT_BOTTOM").offset().top;
4100
4101    if (block_height + diff_top_scroll + documentScrollTopLast + 130 > footer_offset) {
4102      block.removeClass("fixed").css({ top: "auto", width: "auto", bottom: 0 });
4103      block.parent().css("position", "static");
4104      block.parent().parent().css("position", "static");
4105    } else {
4106      block.parent().removeAttr("style");
4107      block.parent().parent().removeAttr("style");
4108
4109      if (documentScrollTopLast + diff_top_scroll > offset.top) {
4110        var fixed_width = $(".fixed_block_fix").width();
4111        block.addClass("fixed").css({ top: diff_top_scroll, bottom: "auto" });
4112        if (fixed_width) block.css({ width: $(".fixed_block_fix").width() });
4113      } else block.removeClass("fixed").css({ top: 0, width: "auto" });
4114    }
4115  }
4116};
4117
4118MegaMenuFixed = function () {
4119  var animationTime = 150,
4120    $megaFixedNlo = $(".mega_fixed_menu").find("[data-nlo]");
4121
4122  $("header .burger, #headerfixed .burger").on("click", function () {
4123    if ($megaFixedNlo.length) {
4124      if (!$megaFixedNlo.hasClass("nlo-loadings")) {
4125        $megaFixedNlo.addClass("nlo-loadings");
4126        setTimeout(function () {
4127          $.ajax({
4128            data: { nlo: $megaFixedNlo.attr("data-nlo") },
4129            success: function (response) {
4130              $megaFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response));
4131              $megaFixedNlo.remove();
4132            },
4133            error: function () {
4134              $megaFixedNlo.removeClass("nlo-loadings");
4135            },
4136          });
4137        }, 300);
4138      }
4139    }
4140
4141    $(".mega_fixed_menu").fadeIn(animationTime);
4142  });
4143
4144  $(".mega_fixed_menu .svg.svg-close").on("click", function () {
4145    $(this).closest(".mega_fixed_menu").fadeOut(animationTime);
4146    //$('.header_wrap').toggleClass('zindexed');
4147  });
4148
4149  $(".mega_fixed_menu .dropdown-menu .arrow").on("click", function (e) {
4150    e.preventDefault();
4151    e.stopPropagation();
4152    $(this).closest(".dropdown-submenu").find(".dropdown-menu").slideToggle(animationTime);
4153    $(this).closest(".dropdown-submenu").addClass("opened");
4154  });
4155};
4156
4157CheckPopupTop = function () {};
4158
4159AjaxClickLink = function (e) {
4160  var _this = "",
4161    container = $(".js-load-wrapper"),
4162    container_inner = $(".js-load-wrapper").find(".ajax_load"),
4163    dopAction = "";
4164  url = "";
4165  if ("preventDefault" in e) {
4166    e.preventDefault();
4167    _this = $(e.target).hasClass("js-load-link") ? $(e.target) : $(e.target).closest(".js-load-link");
4168  } else {
4169    _this = $(e);
4170    dopAction = "Y";
4171  }
4172
4173  if (container.length) {
4174    var objUrl = parseUrlQuery(),
4175      obGetData = { ajax_get_filter: "Y", control_ajax: "Y" };
4176
4177    obGetData.bitrix_include_areas = "N";
4178
4179    if ("clear_cache" in objUrl) {
4180      if (objUrl.clear_cache == "Y") {
4181        obGetData.clear_cache = "Y";
4182      }
4183    }
4184
4185    if (container_inner.length) {
4186      container_inner.addClass("loading-state");
4187    } else {
4188      container.addClass("loading-state");
4189    }
4190
4191    if (_this.data("url")) {
4192      url = _this.data("url");
4193    }
4194
4195    if (_this.data("click_block") && $(_this.data("click_block")).length) {
4196      if ($(_this.data("click_block")).data("url")) {
4197        url = $(_this.data("click_block")).data("url");
4198      }
4199    }
4200
4201    if (dopAction) {
4202      BX.PopupWindowManager.getCurrentPopup().close();
4203      $(".bx_filter_select_popup ul li .sort_btn").removeClass("current");
4204      _this.addClass("current");
4205      _this.closest(".bx_filter_block").find(".bx_filter_select_text").text(_this.text());
4206    }
4207
4208    $(".bx_filter .bx_sort_filter .bx_filter_select_text").text(_this.text());
4209    $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current").removeClass("current");
4210    $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li")
4211      .eq(_this.parent().index())
4212      .find("span")
4213      .addClass("current");
4214
4215    $.ajax({
4216      url: url,
4217      data: obGetData,
4218      success: function (html) {
4219        container.html(html);
4220
4221        if (container_inner.length) container_inner.removeClass("loading-state");
4222        else container.removeClass("loading-state");
4223
4224        initAnimateLoad();
4225
4226        var eventdata = { action: "jsLoadBlock" };
4227        BX.onCustomEvent("onCompleteAction", [eventdata, _this]);
4228
4229        BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
4230
4231        initSelects(document);
4232        // InitCustomScrollBar();
4233        // InitScrollBar();
4234
4235        if (window.FilterHelper !== undefined) {
4236          FilterHelper.resultDiv = $("#filter-helper");
4237          FilterHelper.show();
4238        }
4239      },
4240    });
4241  }
4242};
4243
4244initCalculatePreview = function (removeAppearAttr) {
4245  $(".calculate-delivery.with_preview:not(.inited)").each(function () {
4246    if (removeAppearAttr) {
4247      $(this).attr("data-i-appeared", "");
4248    }
4249    var $this = $(this);
4250    var $calculateSpan = $this.find("span[data-event=jqm]");
4251    var $preview = $this.find(".calculate-delivery-preview");
4252
4253    $this.addClass("inited");
4254    $this.iAppear(
4255      function () {
4256        if ($calculateSpan.length) {
4257          if (typeof window["calculate-delivery-preview-index"] === "undefined") {
4258            window["calculate-delivery-preview-index"] = 1001;
4259          } else {
4260            ++window["calculate-delivery-preview-index"];
4261          }
4262
4263          var productId = $calculateSpan.attr("data-param-product_id") * 1;
4264          var quantity = $calculateSpan.attr("data-param-quantity") * 1;
4265
4266          if (productId > 0) {
4267            var areaIndexSended = window["calculate-delivery-preview-index"];
4268            $calculateSpan.data({ areaIndex: areaIndexSended });
4269
4270            $.ajax({
4271              url: arAsproOptions["SITE_DIR"] + "ajax/delivery.php",
4272              type: "POST",
4273              data: {
4274                is_preview: "Y",
4275                index: areaIndexSended,
4276                product_id: productId,
4277                quantity: quantity,
4278              },
4279              beforeSend: function () {
4280                $this.addClass("loadings");
4281              },
4282              success: function (response) {
4283                var areaIndex = $calculateSpan.data("areaIndex");
4284                if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) {
4285                  $calculateSpan.hide();
4286                  $preview.html(response);
4287                  if (!$preview.find(".catalog-delivery-preview").length) {
4288                    $preview.empty();
4289                    $calculateSpan.show();
4290                  }
4291                }
4292              },
4293              error: function (xhr, ajaxOptions, thrownError) {},
4294              complete: function () {
4295                var areaIndex = $calculateSpan.data("areaIndex");
4296                if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) {
4297                  $this.removeClass("loadings");
4298                }
4299              },
4300            });
4301          }
4302        }
4303      },
4304      { accX: 0, accY: 0 }
4305    );
4306  });
4307};
4308
4309/* set price item */
4310if (!funcDefined("setPriceItem")) {
4311  var setPriceItem = function setPriceItem(
4312    main_block,
4313    quantity,
4314    rewrite_price,
4315    check_quantity,
4316    is_sku,
4317    show_percent,
4318    percent
4319  ) {
4320    var old_quantity = main_block.find(".to-cart").attr("data-ratio"),
4321      value =
4322        typeof rewrite_price !== "undefined" && rewrite_price
4323          ? rewrite_price
4324          : main_block.find(".to-cart").attr("data-value"),
4325      currency = main_block.find(".to-cart").attr("data-currency"),
4326      total_block =
4327        '<div class="total_summ" style="display:none;"><div>' +
4328        BX.message("TOTAL_SUMM_ITEM") +
4329        "<span></span></div></div>",
4330      price_block = main_block.find(".cost.prices"),
4331      use_percent = typeof show_percent !== "undefined" && show_percent == "Y",
4332      percent_number = typeof percent !== "undefined" && percent,
4333      sku_checked = main_block.find(".has_offer_prop").length ? "Y" : "N",
4334      check = typeof check_quantity !== "undefined" && check_quantity;
4335
4336    if (main_block.find(".wrapp-one-click").length) {
4337      if (!main_block.find(".total_summ").length && !is_sku)
4338        $(total_block).insertAfter(main_block.find(".wrapp-one-click"));
4339    } else if (main_block.find(".buy_block").length) {
4340      if (!main_block.find(".buy_block .total_summ").length && !is_sku)
4341        $(total_block).appendTo(main_block.find(".buy_block"));
4342    } else if (main_block.find(".counter_wrapp").length) {
4343      if (!main_block.find(".total_summ").length && !is_sku)
4344        $(total_block).appendTo(main_block.find(".counter_wrapp:first"));
4345    }
4346    if (main_block.find(".total_summ").length) {
4347      if (value && currency) {
4348        if ((1 == quantity && old_quantity == quantity) || (typeof is_sku !== "undefined" && is_sku && !check)) {
4349          main_block.find(".total_summ").slideUp(50);
4350        } else {
4351          main_block.find(".total_summ span").html(BX.Currency.currencyFormat(value * quantity, currency, true));
4352          if (main_block.find(".total_summ").is(":hidden")) main_block.find(".total_summ").slideDown(100);
4353        }
4354      } else {
4355        main_block.find(".total_summ").slideUp(100);
4356      }
4357    }
4358  };
4359}
4360
4361if (!funcDefined("getCurrentPrice")) {
4362  var getCurrentPrice = function getCurrentPrice(price, currency, print_price) {
4363    var val = "";
4364    var format_value = BX.Currency.currencyFormat(price, currency);
4365    if (print_price.indexOf(format_value) >= 0) {
4366      val = print_price.replace(
4367        format_value,
4368        '<span class="price_value">' + format_value + '</span><span class="price_currency">'
4369      );
4370      val += "</span>";
4371    } else {
4372      val = print_price;
4373    }
4374
4375    return val;
4376  };
4377}
4378
4379if (!funcDefined("initAnimateLoad")) {
4380  var initAnimateLoad = function initAnimateLoad() {
4381    $(".animate-load").click(function () {
4382      if (!jQuery.browser.mobile) {
4383        $(this).parent().addClass("loadings");
4384      }
4385    });
4386  };
4387}
4388
4389if (!funcDefined("showBasketShareBtn")) {
4390  var showBasketShareBtn = function () {
4391    if (arAsproOptions["THEME"]["SHOW_SHARE_BASKET"] === "Y") {
4392      if (!document.querySelector(".basket-checkout-block-btns")) {
4393        var checkout = document.querySelector(".basket-checkout-section-inner");
4394        if (checkout) {
4395          var btns = BX.create({
4396            tag: "div",
4397            attrs: {
4398              class: "basket-checkout-block basket-checkout-block-btns",
4399            },
4400            html: '<div class="basket-checkout-block-btns-wrap"></div>',
4401          });
4402
4403          BX.insertAfter(btns, BX.lastChild(checkout));
4404          var btnsWrap = btns.querySelector(".basket-checkout-block-btns-wrap");
4405
4406          var btnCheckout = checkout.querySelector(".basket-checkout-block-btn");
4407          if (btnCheckout) {
4408            btnsWrap.appendChild(btnCheckout);
4409          }
4410
4411          var btnFastOrder = checkout.querySelector(".fastorder");
4412          if (btnFastOrder) {
4413            btnsWrap.appendChild(btnFastOrder);
4414          }
4415
4416          if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) {
4417            var btnShareBasket = BX.create({
4418              tag: "div",
4419              attrs: {
4420                class: "basket-checkout-block basket-checkout-block-share colored_theme_hover_bg-block",
4421                title: arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"],
4422              },
4423              html:
4424                '<span class="animate-load" data-event="jqm" data-param-form_id="share_basket" data-name="share_basket"><i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-share" xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path data-name="Ellipse 223 copy 8" d="M1613,203a2.967,2.967,0,0,1-1.86-.661l-3.22,2.01a2.689,2.689,0,0,1,0,1.3l3.22,2.01A2.961,2.961,0,0,1,1613,207a3,3,0,1,1-3,3,3.47,3.47,0,0,1,.07-0.651l-3.21-2.01a3,3,0,1,1,0-4.678l3.21-2.01A3.472,3.472,0,0,1,1610,200,3,3,0,1,1,1613,203Zm0,8a1,1,0,1,0-1-1A1,1,0,0,0,1613,211Zm-8-7a1,1,0,1,0,1,1A1,1,0,0,0,1605,204Zm8-5a1,1,0,1,0,1,1A1,1,0,0,0,1613,199Z" transform="translate(-1602 -197)" fill="#B8B8B8"></path></svg></i><span class="title">' +
4425                arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"] +
4426                "</span></span>",
4427            });
4428
4429            btnsWrap.appendChild(btnShareBasket);
4430            initAnimateLoad();
4431          }
4432        }
4433      }
4434    }
4435  };
4436}
4437
4438if (!funcDefined("showBasketHeadingBtn")) {
4439  var showBasketHeadingBtn = function () {
4440    if (document.querySelector(".page-top h1")) {
4441      var topicHeading = document.querySelector(".page-top .topic .topic__heading");
4442      if (topicHeading) {
4443        if (arAsproOptions["THEME"]["SHOW_BASKET_PRINT"] === "Y") {
4444          if (!document.querySelector(".btn_basket_heading--print")) {
4445            var btnPrintBasket = BX.create({
4446              tag: "div",
4447              attrs: {
4448                class: "btn_basket_heading btn_basket_heading--print print-link colored_theme_hover_bg-block",
4449                title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"],
4450              },
4451              html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-print" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
4451ox="0 0 16 16"><path id="Rectangle_665_copy_4" data-name="Rectangle 665 copy 4" class="cls-print" d="M1570,210h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1570,210Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1556 -197)"></path></svg></i>',
4452            });
4453            BX.insertBefore(btnPrintBasket, topicHeading);
4454          }
4455        }
4456
4457        if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) {
4458          // if(arAsproOptions['THEME']['SHOW_SEND_BASKET_2EMAIL'] === 'Y'){
4459          // if(!document.querySelector('.btn_basket_heading--send2email')){
4460          // 	var btnSendBasket2Email = BX.create({
4461          // 		tag: 'div',
4462          // 		attrs: {
4463          // 			class: 'btn_basket_heading btn_basket_heading--with_title btn_basket_heading--send2email colored_theme_hover_bg-block',
4464          // 			title: arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"],
4465          // 		},
4466          // 		html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 0H4H12H13V1V3.125L15.06 4.4125C15.6448 4.77798 16 5.41892 16 6.1085V6.98162C16.0002 6.99325 16.0002 7.00488 16 7.01649V14C16 15.1046 15.1046 16 14 16H2C0.895429 16 -1.43918e-06 15.1046 -1.43918e-06 14V7.01644C-0.000202747 7.00486 -0.000203195 6.99327 -1.43918e-06 6.98167V6.1085C-1.43918e-06 5.41892 0.355238 4.77798 0.940001 4.4125L3 3.125V1V0ZM5 4.2335L5 2H11V7L11 8.23381L9.62943 9.05615L8.64018 8.23178C8.26934 7.92274 7.73066 7.92274 7.35981 8.23178L6.37057 9.05615L5 8.23381V4.2335ZM2 6.1085L3 5.4835V7.03381L2 6.43381V6.1085ZM14 6.1085L13 5.4835V7.03381L14 6.43381V6.1085ZM12.4379 14L8 10.3017L3.56205 14H12.4379ZM14 12.6983V8.76619L11.2567 10.4122L14 12.6983ZM2 8.76619V12.6983L4.74333 10.4122L2 8.76619Z" fill="#B8B8B8"/></svg></i><span class="title">' + arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"] + '</span>',
4467          // 	});
4468          // 	BX.insertBefore(btnSendBasket2Email, topicHeading);
4469          // }
4470          // }
4471
4472          if (arAsproOptions["THEME"]["SHOW_DOWNLOAD_BASKET"] === "Y") {
4473            if (!document.querySelector(".btn_basket_heading--download")) {
4474              var btnDownloadBasket = BX.create({
4475                tag: "div",
4476                attrs: {
4477                  class:
4478                    "btn_basket_heading btn_basket_heading--with_title btn_basket_heading--download colored_theme_hover_bg-block",
4479                  title: arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"],
4480                },
4481                events: {
4482                  click: BX.proxy(function (e) {
4483                    if (!e) {
4484                      e = window.event;
4485                    }
4486
4487                    BX.PreventDefault(e);
4488
4489                    var button = e.target.closest(".btn_basket_heading");
4490                    if (button) {
4491                      if (BX.hasClass(button, "loadings")) {
4492                        return;
4493                      }
4494
4495                      BX.addClass(button, "loadings");
4496                      setTimeout(function () {
4497                        BX.removeClass(button, "loadings");
4498                      }, 2000);
4499                    }
4500
4501                    location.href =
4502                      arAsproOptions["SITE_DIR"] +
4503                      "ajax/download_basket.php?params[type]=" +
4504                      arAsproOptions["THEME"]["BASKET_FILE_DOWNLOAD_TEMPLATE"];
4505                  }, this),
4506                },
4507                html:
4508                  '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 14H14L14 6H11H10V5V2H5V6H7H9V8V10V12H7H5V14ZM13.6716 4L12 2.32843V4H13.6716ZM6 8H7V10H6H5H3H2V8H3H5H6ZM3 6H2H0V8V10V12H2H3V14V16H5H14H16V14V4.32843C16 3.79799 15.7893 3.28929 15.4142 2.91421L13.0858 0.585786C12.7107 0.210714 12.202 0 11.6716 0H5H3V2V6Z" fill="#B8B8B8"/></svg></i><span class="title">' +
4509                  arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"] +
4510                  "</span>",
4511              });
4512              BX.insertBefore(btnDownloadBasket, topicHeading);
4513            }
4514          }
4515        } else {
4516          BX.remove(document.querySelector(".btn_basket_heading--send2email"));
4517          BX.remove(document.querySelector(".btn_basket_heading--download"));
4518        }
4519
4520        var eventdata = { parent: topicHeading };
4521        BX.onCustomEvent("onShowBasketHeadingBtn", [eventdata]);
4522      }
4523    }
4524  };
4525}
4526
4527$(window).on("load", function () {
4528  //check width for menu and search
4529  //CheckSearchWidth();
4530});
4531
4532$(document).ready(function () {
4533  MegaMenuFixed();
4534  // InitScrollBar();
4535
4536  /* ripple effect for buttons */
4537  $.ripple(".btn", {
4538    debug: false, // Turn Ripple.js logging on/off
4539    on: "mouseenter", // The event to trigger a ripple effect
4540
4541    opacity: 0.4, // The opacity of the ripple
4542    color: "auto", // Set the background color. If set to "auto", it will use the text color
4543    multi: true, // Allow multiple ripples per element
4544
4545    duration: 0.6, // The duration of the ripple
4546
4547    easing: "linear", // The CSS3 easing function of the ripple
4548  });
4549  /* ripple end */
4550
4551  //ecommerce order
4552  if (arAsproOptions["PAGES"]["ORDER_PAGE"]) {
4553    var arUrl = parseUrlQuery();
4554    if ("ORDER_ID" in arUrl) {
4555      var _id = arUrl["ORDER_ID"];
4556      if (arAsproOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") {
4557        var eventdata = { goal: "goal_order_success", result: _id };
4558        BX.onCustomEvent("onCounterGoals", [eventdata]);
4559      }
4560      if (checkCounters()) {
4561        if (typeof localStorage !== "undefined") {
4562          var val = localStorage.getItem("gtm_e_" + _id),
4563            d = "";
4564          try {
4565            d = JSON.parse(val);
4566          } catch (e) {
4567            d = val;
4568          }
4569          if (typeof d === "object") {
4570            window.dataLayer = window.dataLayer || [];
4571            dataLayer.push({
4572              event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"],
4573              ecommerce: d,
4574            });
4575          }
4576
4577          if (typeof localStorage !== "undefined") {
4578            localStorage.removeItem("gtm_e_" + _id);
4579          }
4580        }
4581      }
4582    }
4583  }
4584  var bSafary = false;
4585  if (typeof jQuery.browser == "object") bSafary = jQuery.browser.safari;
4586  else if (typeof browser == "object") bSafary = browser.safari;
4587  if (!bSafary) {
4588    CheckTopMenuDotted();
4589    CheckHeaderFixed();
4590    checkMenuLines();
4591  } else {
4592    setTimeout(function () {
4593      $(window).resize(); // need to check resize flexslider & menu
4594      setTimeout(function () {
4595        CheckTopMenuDotted();
4596        CheckHeaderFixed();
4597        checkMenuLines();
4598
4599        setTimeout(function () {
4600          $(window).scroll();
4601        }, 50);
4602      }, 50);
4603    }, 350);
4604  }
4605
4606  showItemStoresAmount();
4607
4608  if (arAsproOptions["THEME"]["USE_DEBUG_GOALS"] === "Y") $.cookie("_ym_debug", 1, { path: "/" });
4609  else $.cookie("_ym_debug", null, { path: "/" });
4610
4611  /* change type2 menu for fixed */
4612  if ($("#headerfixed .js-nav").length) {
4613    setTimeout(function () {
4614      $("#headerfixed .js-nav").addClass("opacity1");
4615    }, 350);
4616  }
4617
4618  // -- scroll after apply option
4619  if ($(".instagram_ajax").length) {
4620    BX.addCustomEvent("onCompleteAction", function (eventdata) {
4621      if (eventdata.action === "instagrammLoaded") scrollPreviewBlock();
4622    });
4623  } else scrollPreviewBlock();
4624
4625  scrollToTop();
4626  checkVerticalMobileFilter();
4627
4628  $("[data-scroll-block]").click(function () {
4629    var _this = $(this);
4630    if (_this.data("scrollBlock")) {
4631      var target = $(_this.data("scrollBlock"));
4632      if (target.length) {
4633        scroll_block(target);
4634      }
4635    }
4636  });
4637
4638  // init calculate delivery with preview
4639  initCalculatePreview();
4640
4641  // fix calendar popup zIndex
4642  BX.addCustomEvent("onPopupShow", function (popup) {
4643    if (
4644      typeof popup !== "undefined" &&
4645      popup &&
4646      popup.zIndexComponent &&
4647      popup.popupContainer &&
4648      popup.popupContainer.querySelector(".bx-calendar")
4649    ) {
4650      popup.zIndexComponent.setZIndex(3000);
4651    }
4652  });
4653
4654  /* city */
4655  $("select.region").on("change", function () {
4656    var val = parseInt($(this).val());
4657    if ($("select.city").length) {
4658      if (val) {
4659        $("select.city option").hide();
4660        $("select.city option").prop("disabled", "disabled");
4661        $("select.city option[data-parent_section=" + val + "]").prop("disabled", "");
4662        $("select.city option:eq(0)").prop("disabled", "");
4663        $("select.city").ikSelect("reset");
4664        $("select.city option[data-parent_section=" + val + "]").show();
4665      } else $("select.city option").prop("disabled", "disabled");
4666      $("select.city option:eq(0)").prop("disabled", "");
4667      $("select.city").ikSelect("reset");
4668    }
4669  });
4670
4671  $("select.city, select.region").on("change", function () {
4672    var _this = $(this),
4673      val = parseInt(_this.val());
4674    if (_this.hasClass("region")) {
4675      $("select.city option:eq(0)").show();
4676      $("select.city").val(0);
4677    }
4678
4679    if ((_this.hasClass("region") && !val) || _this.hasClass("city")) {
4680      $.ajax({
4681        type: "POST",
4682        data: { ID: val },
4683        success: function (html) {
4684          var ob = BX.processHTML(html);
4685          $(".ajax_items")[0].innerHTML = ob.HTML;
4686          BX.ajax.processScripts(ob.SCRIPT);
4687        },
4688      });
4689    }
4690  });
4691
4692  $(document).on("mouseenter", ".section-gallery-wrapper .section-gallery-wrapper__item", function () {
4693    $(this).siblings().removeClass("_active");
4694    $(this).addClass("_active");
4695  });
4696
4697  $(document).on("mouseleave", ".image_wrapper_block", function () {
4698    const $elements = $(this).find(".section-gallery-wrapper .section-gallery-wrapper__item");
4699    if ($elements.length) {
4700      $elements.removeClass("_active");
4701      $($elements[0]).addClass("_active");
4702    }
4703  });
4704
4705  $(document).on("click", ".hint .icon", function (e) {
4706    var tooltipWrapp = $(this).closest(".hint");
4707
4708    if (tooltipWrapp.hasClass("active")) {
4709      tooltipWrapp.removeClass("active").find(".tooltip").slideUp(200);
4710    } else {
4711      tooltipWrapp.addClass("active");
4712      tooltipWrapp.find(".tooltip").slideDown(200);
4713      tooltipWrapp.find(".tooltip_close").click(function (e) {
4714        e.stopPropagation();
4715        tooltipWrapp.removeClass("active").find(".tooltip").slideUp(100);
4716      });
4717    }
4718    e.stopPropagation();
4719  });
4720
4721  /* toggle */
4722  var $this = this,
4723    previewParClosedHeight = 25;
4724
4725  $("section.toggle > label").prepend($("<i />").addClass("fa fa-plus"));
4726  $("section.toggle > label").prepend($("<i />").addClass("fa fa-minus"));
4727  $("section.toggle.active > p").addClass("preview-active");
4728  $("section.toggle.active > div.toggle-content").slideDown(350, function () {});
4729
4730  $("section.toggle > label").click(function (e) {
4731    var parentSection = $(this).parent(),
4732      parentWrapper = $(this).parents("div.toogle"),
4733      previewPar = false,
4734      isAccordion = parentWrapper.hasClass("toogle-accordion");
4735
4736    if (isAccordion && typeof e.originalEvent != "undefined") {
4737      parentWrapper.find("section.toggle.active > label").trigger("click");
4738    }
4739
4740    parentSection.toggleClass("active");
4741
4742    // Preview Paragraph
4743    if (parentSection.find("> p").get(0)) {
4744      previewPar = parentSection.find("> p");
4745      var previewParCurrentHeight = previewPar.css("height");
4746      previewPar.css("height", "auto");
4747      var previewParAnimateHeight = previewPar.css("height");
4748      previewPar.css("height", previewParCurrentHeight);
4749    }
4750
4751    // Content
4752    var toggleContent = parentSection.find("> div.toggle-content");
4753
4754    if (parentSection.hasClass("active")) {
4755      $(previewPar).animate(
4756        {
4757          height: previewParAnimateHeight,
4758        },
4759        350,
4760        function () {
4761          $(this).addClass("preview-active");
4762        }
4763      );
4764      toggleContent.slideDown(350, function () {});
4765    } else {
4766      $(previewPar).animate(
4767        {
4768          height: previewParClosedHeight,
4769        },
4770        350,
4771        function () {
4772          $(this).removeClass("preview-active");
4773        }
4774      );
4775      toggleContent.slideUp(350, function () {});
4776    }
4777  });
4778
4779  if (typeof $.fn.footable == "function") {
4780    $(".tables-responsive .responsive").footable(); //responsive table
4781  }
4782
4783  $("a[rel=tooltip]").tooltip();
4784  $("span[data-toggle=tooltip]").tooltip();
4785
4786  $(document).on("click", ".toggle .more_items", function () {
4787    $(this).closest(".toggle").find(".collapsed").removeClass("collapsed");
4788    $(this).remove();
4789    if (typeof $(this).data("resize") !== "undefined" && $(this).data("resize")) $(window).resize();
4790  });
4791  $(document).on("click", ".toggle_menu .more_items", function () {
4792    $(this).closest(".toggle_menu").find(".collapsed").addClass("clicked_exp");
4793    $(this).remove();
4794  });
4795
4796  /* search sync */
4797  $(document).on("keyup", ".search-input-div input", function (e) {
4798    var inputValue = $(this).val();
4799    $(".search-input-div input:not(:focus").val(inputValue);
4800
4801    if ($(this).closest("#headerfixed").length) {
4802      if (e.keyCode == 13) $(".search form").submit();
4803    }
4804  });
4805  $(document).on("click", ".search-button-div button", function (e) {
4806    if ($(this).closest("#headerfixed").length) $(".search form").submit();
4807  });
4808
4809  $(".inline-search-show, .inline-search-hide").on("click", function (e) {
4810    CloseMobilePhone();
4811    // Closing hint list of items after search input loses focus
4812    if (e.target.closest(".inline-search-hide")) {
4813      if (typeof jsControl === "object" && jsControl && "onFocusLost" in jsControl) {
4814        jsControl.onFocusLost();
4815      }
4816    }
4817    if (typeof $(this).data("type_search") != "undefined" && $(this).data("type_search") == "fixed")
4818      $(".inline-search-block").addClass("fixed");
4819
4820    if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") {
4821      $(".inline-search-block.fixed.big .search-input").focus();
4822    }
4823    if (arAsproOptions["THEME"]["TYPE_SEARCH"] != "fixed") {
4824      $("#title-search-input").focus();
4825    }
4826
4827    $(".inline-search-block").toggleClass("show");
4828    if ($(".top-block").length) {
4829      if ($(".inline-search-block").hasClass("show"))
4830        $(".inline-search-block").css("background", $(".top-block").css("background-color"));
4831      else $(".inline-search-block").css("background", "#fff");
4832    }
4833    if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") {
4834      if ($(".inline-search-block").hasClass("show")) $('<div class="jqmOverlay search"></div>').appendTo("body");
4835      else {
4836        $("#title-search-input").blur();
4837        $(".jqmOverlay").detach();
4838      }
4839    }
4840    // }
4841    // else
4842    // 	location.href = arAsproOptions['PAGES']['CATALOG_PAGE_URL']+'?q';
4843  });
4844
4845  /* close search block */
4846  $("html, body").on("mousedown", function (e) {
4847    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
4848      e.stopPropagation();
4849      var search_target = $(e.target).closest(".title-search-result");
4850      if (
4851        !$(e.target).closest(".inline-search-block").length &&
4852        !$(e.target).closest(".dropdown-select.searchtype").length &&
4853        !$(e.target).hasClass("svg") &&
4854        !search_target.length
4855      ) {
4856        $(".inline-search-block").removeClass("show");
4857        $(".title-search-result").hide();
4858        if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") $(".jqmOverlay.search").detach();
4859      }
4860
4861      if ($("#mobilePhone").length) {
4862        CloseMobilePhone();
4863      }
4864
4865      if ($("#basket_line .basket_fly").length && parseInt($("#basket_line .basket_fly").css("right")) >= 0) {
4866        if (!$(e.target).closest(".basket_wrapp").length) {
4867          $("#basket_line .basket_fly")
4868            .stop()
4869            .animate(
4870              {
4871                right: -$("#basket_line .basket_fly").outerWidth(),
4872              },
4873              150
4874            );
4875          $("#basket_line .basket_fly .opener > div").removeClass("cur");
4876          $("#basket_line .basket_fly").removeClass("swiped");
4877        }
4878      }
4879
4880      if (isMobile) {
4881        if (search_target.length) location.href = search_target.attr("href");
4882      }
4883
4884      if (!$(e.target).closest(".js-info-block").length && !$(e.target).closest(".js-show-info-block").length) {
4885        $(".js-show-info-block").removeClass("opened");
4886        $(".js-info-block").fadeOut();
4887      }
4888
4889      if (!$(e.target).closest(".hint.active").length) {
4890        $(".hint.active .icon").trigger("click");
4891      }
4892
4893      var class_name = $(e.target).attr("class");
4894      if (typeof class_name == "undefined" || class_name.indexOf("tooltip") < 0)
4895        //tooltip link
4896        $(".tooltip-link").tooltip("hide");
4897    }
4898  });
4899
4900  initAnimateLoad();
4901
4902  /* check all opt table items */
4903  $(document).on("change", "input#select_all_items", function () {
4904    var _this = $(this);
4905    var notOfferCount = 0;
4906    var bComplect = _this.closest(".complect_main_wrap").length;
4907    if (bComplect) {
4908      notOfferCount = _this
4909        .closest(".complect_main_wrap")
4910        .find(".catalog-block-view__item .counter_wrapp:not(.ce_cmp_visible) .button_block .to-cart").length;
4911    } else {
4912      notOfferCount = $(
4913        ".table-view__item:not([data-product_type=3]), .table-view-offer-tree .table-view__item[data-product_type=3] .counter_wrapp:not(.ce_cmp_visible)"
4914      ).find(".button_block .to-cart").length;
4915    }
4916    var wishCount = $(
4917      ".table-view__item:not([data-product_type=3]), .table-view-offer-tree .table-view__item[data-product_type=3]"
4918    ).find(".item-icons .wish_item_button .wish_item.to").length;
4919    var allGoodsCount = $(".table-view__item").length;
4920
4921    if (_this.is(":checked")) {
4922      //buy && wish
4923      if (notOfferCount != 0) {
4924        $(".opt_action:not([data-action=compare])").removeClass("no-action");
4925      }
4926
4927      //compare
4928      $(".opt_action[data-action=compare]").removeClass("no-action");
4929
4930      $(".opt_action").addClass("animate-load");
4931      $(".opt_action .text").remove();
4932
4933      //buy
4934      $('<div class="text">(<span>' + notOfferCount + "</span>)</div>").appendTo($(".opt_action[data-action=buy]"));
4935
4936      //wish
4937      $('<div class="text muted">(<span>' + wishCount + "</span>)</div>").appendTo($(".opt_action[data-action=wish]"));
4938
4939      //compare
4940      $('<div class="text muted">(<span>' + allGoodsCount + "</span>)</div>").appendTo(
4941        $(".opt_action[data-action=compare]")
4942      );
4943
4944      $('input[name="chec_item"]').prop("checked", true);
4945    } else {
4946      $(".opt_action").addClass("no-action");
4947      $(".opt_action").removeClass("animate-load");
4948      $(".opt_action .text").remove();
4949
4950      $('input[name="chec_item"]').prop("checked", false);
4951    }
4952
4953    if (_this.closest(".complect_header_block").length && typeof setNewPriceComplect === "function") {
4954      setNewPriceComplect();
4955    }
4956  });
4957
4958  /* check opt table item */
4959  $(document).on("change", "input[name='chec_item']", function () {
4960    var _this = $(this);
4961
4962    var canBuy =
4963      _this.closest(".table-view__item").find(".button_block .to-cart").length ||
4964      _this.closest(".catalog-block-view__item").find(".button_block .to-cart").length;
4965    var isOffer = _this.closest(".main_item_wrapper").attr("data-product_type") == "3" && !canBuy;
4966
4967    if (_this.is(":checked")) {
4968      $(".opt_action").each(function () {
4969        var _this = $(this);
4970
4971        var isBuyAction = _this.attr("data-action") == "buy";
4972        var isFavoriteAction = _this.attr("data-action") == "favorite";
4973
4974        if (isOffer && (isBuyAction || isFavoriteAction)) {
4975          return true;
4976        }
4977
4978        if (isBuyAction && !canBuy) {
4979          return true;
4980        }
4981
4982        if (_this.find(".text").length) {
4983          var count = parseInt(_this.find(".text span").text());
4984          _this.find(".text span").text(++count);
4985        } else {
4986          _this.removeClass("no-action");
4987          _this.addClass("animate-load");
4988          $('<div class="text muted">(<span>1</span>)</div>').appendTo(_this);
4989        }
4990      });
4991    } else {
4992      $(".opt_action").each(function () {
4993        var _this = $(this);
4994
4995        var isBuyAction = _this.attr("data-action") == "buy";
4996        var isFavoriteAction = _this.attr("data-action") == "favorite";
4997
4998        if (isOffer && (isBuyAction || isFavoriteAction)) {
4999          return true;
5000        }
5001
5002        if (isBuyAction && !canBuy) {
5003          return true;
5004        }
5005
5006        if (_this.find(".text").length) {
5007          var count = parseInt(_this.find(".text span").text());
5008          --count;
5009          _this.find(".text span").text(count);
5010
5011          if (!count) {
5012            _this.addClass("no-action");
5013            _this.removeClass("animate-load");
5014            _this.find(".text").remove();
5015          }
5016        }
5017      });
5018    }
5019  });
5020
5021  /* buy|wish|compare opt table items */
5022  $(document).on("click", ".opt_action", function (event) {
5023    var _this = $(this),
5024      action = _this.data("action"),
5025      itemsAll = [],
5026      basketParams = {
5027        type: "multiple",
5028        iblock_id: _this.data("iblock_id"),
5029        action: action,
5030        items: {},
5031      };
5032
5033    if (!_this.hasClass("no-action")) {
5034      $(".opt_action").addClass("no-action");
5035      _this.removeClass("no-action");
5036
5037      $(".table-view__item, .catalog-block-view__item").each(function () {
5038        var _this = $(this);
5039        var canBuy = _this.find(".button_block .to-cart").length;
5040        var add = _this.find('input[name="chec_item"]').is(":checked") && (canBuy || action != "buy");
5041        var addOffer = _this.data("product_type") == "3" && _this.find(".button_block .to-cart").length;
5042        if (add) {
5043          var itemId = addOffer ? _this.find(".button_block .to-cart").data("item") : _this.data("id");
5044          itemsAll.push(_this[0]);
5045          basketParams["items"][itemId] = {};
5046          basketParams["items"][itemId]["id"] = itemId;
5047          basketParams["items"][itemId]["product_type"] = _this.data("product_type");
5048          basketParams["items"][itemId]["quantity"] = _this.find('input[name="quantity"]').val();
5049          if (addOffer) {
5050            basketParams["items"][itemId]["add_offer"] = "Y";
5051          }
5052        }
5053      });
5054
5055      if (basketParams.action !== "buy") {
5056        let itemAction = JItemAction.factory(this, {
5057          bindEvents: false,
5058          changeState: false,
5059          fireGoals: false,
5060        });
5061        itemAction.data = basketParams;
5062        itemAction.onCompleteEvent = () => {
5063          itemAction.showNotice(itemsAll);
5064          itemAction.finalAction();
5065        };
5066
5067        itemAction.fireEvent(event);
5068
5069        $(".opt_action").removeClass("no-action");
5070
5071        return;
5072      }
5073
5074      $.ajax({
5075        type: "POST",
5076        url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5077        data: basketParams,
5078        dataType: "json",
5079        success: function (data) {
5080          if ("STATUS" in data) {
5081            if (data.STATUS !== "OK") {
5082              showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT);
5083            }
5084
5085            //js notice
5086            if (typeof JNoticeSurface !== "undefined") {
5087              switch (action) {
5088                case "buy":
5089                  JNoticeSurface.get().onAdd2cart(itemsAll);
5090                  break;
5091                default:
5092                  console.log("nothing");
5093              }
5094            }
5095            //
5096
5097            if ($(".header-cart.fly").length) {
5098              arBasketAsproCounters.DEFAULT = true;
5099              SetActualBasketFlyCounters(true);
5100            } else {
5101              if ($("#ajax_basket").length) {
5102                reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "N", "", true);
5103              } else {
5104                reloadBasketCounters("", true);
5105              }
5106            }
5107          }
5108          _this.parent().removeClass("loadings");
5109          $(".opt_action").removeClass("no-action");
5110        },
5111      });
5112    }
5113  });
5114
5115  //fix opt checked for back in browser
5116  setTimeout(function () {
5117    if ($('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').length) {
5118      $('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').prop("checked", false);
5119    }
5120  }, 1);
5121
5122  $(document).on("click", '*[data-event="jqm"]', function (e) {
5123    e.preventDefault();
5124    e.stopPropagation();
5125
5126    var _this = $(this);
5127    var name = _this.data("name");
5128    if (previewMode && ((name.length && name == "auth") || window.matchMedia("(max-width:400px)").matches)) {
5129      var script = arAsproOptions["SITE_DIR"] + "form/";
5130      var paramsStr = "";
5131      $.each(_this.get(0).attributes, function (index, attr) {
5132        var attrName = attr.nodeName;
5133        var attrValue = _this.attr(attrName);
5134        if (/^data\-param\-(.+)$/.test(attrName)) {
5135          var key = attrName.match(/^data\-param\-(.+)$/)[1];
5136          paramsStr += key + "=" + attrValue + "&";
5137        }
5138      });
5139
5140      script += "?name=" + name + "&" + paramsStr;
5141
5142      if (_this.attr("href") !== undefined) {
5143        script = _this.attr("href");
5144      }
5145
5146      location.href = script;
5147    } else {
5148      if (!$(this).hasClass("clicked")) {
5149        $(this).addClass("clicked");
5150        $(this).jqmEx();
5151        // $(this).trigger("click");
5152      }
5153    }
5154
5155    return false;
5156  });
5157  // }
5158
5159  BX.addCustomEvent("onCompleteAction", function (eventdata, _this) {
5160    try {
5161      if (eventdata.action === "loadForm") {
5162        $(_this).parent().removeClass("loadings");
5163        $(_this).removeClass("clicked");
5164
5165        if ($(_this).hasClass("one_click_buy_trigger")) {
5166          $(".wrapp_one_click > span").removeClass("clicked");
5167          $(".one_click").removeClass("clicked");
5168        } else if ($(_this).hasClass("one_click_buy_basket_trigger")) {
5169          $(".fast_order").removeClass("clicked");
5170        }
5171      } else if (eventdata.action === "loadBasket") {
5172        $(".basket-link.basket").attr("title", $("<div/>").html(arBasketPrices.BASKET_SUMM_TITLE).text());
5173
5174        if (arBasketPrices.BASKET_COUNT > 0) {
5175          $(".basket-link.basket").addClass("basket-count");
5176          $(".basket-link.basket .count").removeClass("empted");
5177          if ($(".basket-link.basket .prices").length)
5178            $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM);
5179        } else {
5180          $(".basket-link.basket").removeClass("basket-count");
5181          $(".basket-link.basket .count").addClass("empted");
5182          if ($(".basket-link.basket .prices").length)
5183            $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM_TITLE_SMALL);
5184        }
5185        $(".basket-link.basket .count").text(arBasketPrices.BASKET_COUNT);
5186
5187        updateBottomIconsPanel(arBasketPrices);
5188      } else if (eventdata.action === "loadRSS") {
5189      } else if (eventdata.action === "ajaxContentLoaded") {
5190      } else if (eventdata.action === "jsLoadBlock") {
5191        // initCountdown();
5192        setStatusButton();
5193        setTimeout(function () {
5194          InitOwlSlider();
5195        }, 200);
5196        if (typeof initSwiperSlider === "function") {
5197          initSwiperSlider();
5198        }
5199        InitFancyBox();
5200
5201        checkLinkedArticles();
5202        checkLinkedBlocks(".linked-banners-list");
5203        lazyLoadPagenBlock();
5204
5205        if (typeof window["stickySidebar"] !== "undefined") {
5206          window["stickySidebar"].updateSticky();
5207        }
5208      }
5209    } catch (e) {
5210      console.error(e);
5211    }
5212  });
5213
5214  /* slices */
5215  if ($(".banners-small .item.normal-block").length) $(".banners-small .item.normal-block").sliceHeight();
5216  if ($(".teasers .item").length) $(".teasers .item").sliceHeight();
5217  if ($(".wrap-portfolio-front .row.items > div").length)
5218    $(".wrap-portfolio-front .row.items > div").sliceHeight({
5219      row: ".row.items",
5220      item: ".item1",
5221    });
5222
5223  /* bug fix in ff */
5224  $("img").removeAttr("draggable");
5225
5226  $(".title-tab-heading").on("click", function () {
5227    var container = $(this).parent(),
5228      slide_block = $(this).next(),
5229      bReviewTab = container.hasClass("media_review");
5230
5231    clicked_tab = container.index() + 1;
5232
5233    container.siblings().removeClass("active");
5234
5235    $(".nav.nav-tabs li").removeClass("active");
5236
5237    if (container.hasClass("active")) {
5238      if (bReviewTab) {
5239        $("#reviews_content").slideUp(200, function () {
5240          container.removeClass("active");
5241        });
5242      } else {
5243        slide_block.slideUp(200, function () {
5244          container.removeClass("active");
5245        });
5246      }
5247    } else {
5248      container.addClass("active");
5249      if (bReviewTab) {
5250        $("#reviews_content").slideDown();
5251      } else {
5252        if ($(".tabs_section + #reviews_content").length) $(".tabs_section + #reviews_content").slideUp();
5253        slide_block.slideDown();
5254        if (typeof container.attr("id") !== "undefined" && container.attr("id") == "de
5254scr") {
5255          var $gallery = $(".galerys-block");
5256          if ($gallery.length) {
5257            var bTypeBig = $gallery.find(".big_slider").length;
5258            var $slider = bTypeBig ? $gallery.find(".big_slider") : $gallery.find(".small_slider");
5259            var interval = setInterval(function () {
5260              if ($slider.find(".slides .item").attr("style").indexOf("height") === -1) {
5261                $(window).resize();
5262              } else {
5263                clearInterval(interval);
5264              }
5265            }, 100);
5266          }
5267        }
5268      }
5269    }
5270  });
5271
5272  InitOwlSlider();
5273  InitStickySideBar();
5274  InitFancyBox();
5275  InitFancyBoxVideo();
5276
5277  setTimeout(function () {
5278    InitTopestMenuGummi();
5279    isOnceInited = true;
5280    $(".menu.topest").closest(".dotted-flex-1").addClass("dotted-complete");
5281  }, 50);
5282
5283  InitZoomPict();
5284
5285  /* show print */
5286  if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
5287    showBasketHeadingBtn();
5288  } else {
5289    if (arAsproOptions["THEME"]["PRINT_BUTTON"] === "Y") {
5290      setTimeout(function () {
5291        var topicHeading = document.querySelector(".period_wrapper.in-detail-news1 .period_wrapper_inner")
5292          ? document.querySelector(".detail-news1 .period_wrapper .period_wrapper_inner")
5293          : document.querySelector(".page-top .topic .topic__heading")
5294          ? document.querySelector(".page-top .topic .topic__heading")
5295          : null;
5296        if (topicHeading) {
5297          var btnPrint = BX.create({
5298            tag: "div",
5299            attrs: {
5300              class: "print-link colored_theme_hover_bg-block",
5301              title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"],
5302            },
5303            html: '<i class="svg colored_theme_hover_bg-el-svg"><svg class="svg svg-print" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path id="Rectangle_665_copy_4" data-name="Rectangle 665 copy 4" class="cls-print" d="M1570,210h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1570,210Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1556 -197)"></path></svg></i>',
5304          });
5305          BX.insertBefore(btnPrint, topicHeading);
5306        }
5307      }, 150);
5308    }
5309  }
5310
5311  $(document).on("click", ".print-link", function () {
5312    window.print();
5313  });
5314
5315  $(".head-block .item-link").on("click", function () {
5316    var _this = $(this);
5317    _this.siblings().removeClass("active");
5318    _this.addClass("active");
5319  });
5320
5321  $("table.table").each(function () {
5322    var _this = $(this),
5323      first_td = _this.find("thead tr th");
5324    if (!first_td.length) first_td = _this.find("thead tr td");
5325    if (first_td.length) {
5326      var j = 0;
5327      _this.find("tbody tr td").each(function (i) {
5328        if (j > first_td.length - 1) j = 0;
5329        $('<div class="th-mobile">' + first_td[j].textContent + "</div>").appendTo($(this));
5330        j++;
5331      });
5332    }
5333  });
5334
5335  if (window.matchMedia("(min-width: 768px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile");
5336
5337  if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile");
5338
5339  $(document).on("click", ".menu_top_block .v_bottom a", function (e) {
5340    if ($(e.target).hasClass("toggle_block")) e.preventDefault();
5341  });
5342  $(document).on("click", ".menu_top_block .v_bottom a .toggle_block", function (e) {
5343    var _this = $(this),
5344      menu = _this.closest(".has-child").find("> .dropdown"),
5345      bVisibleMeu = menu.is(":visible"),
5346      animate = bVisibleMeu ? "slideUp" : "slideDown";
5347
5348    if (!_this.hasClass("clicked")) {
5349      _this.addClass("clicked");
5350
5351      menu.stop().slideToggle({
5352        duration: 150,
5353        start: function () {
5354          _this.toggleClass("closed");
5355        },
5356        complete: function () {
5357          _this.removeClass("clicked");
5358
5359          if (typeof window["stickySidebar"] !== "undefined") {
5360            window["stickySidebar"].updateSticky();
5361          }
5362        },
5363      });
5364    }
5365
5366    $(this).closest(".has-child").toggleClass("opened");
5367  });
5368
5369  $(document).on("click", ".show_props", function () {
5370    $(this).prev().stop().slideToggle(333);
5371    $(this).find(".char_title").toggleClass("opened");
5372  });
5373
5374  $(".see_more").on("click", function (e) {
5375    e.preventDefault();
5376    var see_more = $(this).is(".see_more") ? $(this) : $(this).parents(".see_more").first();
5377    var see_moreText = see_more.find("> a").length ? see_more.find("> a") : see_more;
5378    var see_moreHiden = see_more.parent().find("> .d");
5379    if (see_more.hasClass("open")) {
5380      see_moreText.text(BX.message("CATALOG_VIEW_MORE"));
5381      see_more.removeClass("open");
5382      see_moreHiden.hide();
5383    } else {
5384      see_moreText.text(BX.message("CATALOG_VIEW_LESS"));
5385      see_more.addClass("open");
5386      see_moreHiden.show();
5387    }
5388    return false;
5389  });
5390
5391  $(".button.faq_button").click(function (e) {
5392    e.preventDefault();
5393    $(this).toggleClass("opened");
5394    $(".faq_ask .form").slideToggle();
5395  });
5396
5397  $(".staff.list .staff_section .staff_section_title a").click(function (e) {
5398    e.preventDefault();
5399    $(this).parents(".staff_section").toggleClass("opened");
5400    $(this).parents(".staff_section").find(".staff_section_items").stop().slideToggle(600);
5401    $(this).parents(".staff_section_title").find(".opener_icon").toggleClass("opened");
5402  });
5403
5404  $(".jobs_wrapp .item .name").click(function (e) {
5405    $(this).closest(".item").toggleClass("opened");
5406    $(this).closest(".item").find(".description_wrapp").stop().slideToggle(600);
5407    $(this).closest(".item").find(".opener_icon").toggleClass("opened");
5408  });
5409
5410  $(".faq.list .item .q a").on("click", function (e) {
5411    e.preventDefault();
5412    $(this).parents(".item").toggleClass("opened");
5413    $(this).parents(".item").find(".a").stop().slideToggle();
5414    $(this).parents(".item").find(".q .opener_icon").toggleClass("opened");
5415  });
5416
5417  $(".opener_icon").click(function (e) {
5418    e.preventDefault();
5419    $(this).parent().find("a").trigger("click");
5420  });
5421
5422  $(".more_block span").on("click", function () {
5423    var content_offset = $(".catalog_detail .tabs_section").offset();
5424    $("html, body").animate({ scrollTop: content_offset.top - 43 }, 400);
5425  });
5426
5427  $(document).on("click", ".counter_block:not(.basket) .plus", function () {
5428    if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) {
5429      if ($(this).parent().data("offers") != "Y") {
5430        var isDetailSKU2 = $(this).parents(".counter_block_wr").length;
5431        input = $(this).parents(".counter_block").find("input[type=text]");
5432        (tmp_ratio = !isDetailSKU2
5433          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5434          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")),
5435          (isDblQuantity = !isDetailSKU2
5436            ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5437            : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")),
5438          (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5439          (max_value = "");
5440        currentValue = input.val();
5441
5442        if (isDblQuantity)
5443          ratio =
5444            Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5445            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5446
5447        curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
5448
5449        curValue += ratio;
5450        if (isDblQuantity) {
5451          curValue =
5452            Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5453            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5454        }
5455
5456        if (parseFloat($(this).data("max")) > 0) {
5457          if (input.val() < $(this).data("max")) {
5458            if (curValue <= $(this).data("max")) input.val(curValue);
5459
5460            input.change();
5461          }
5462        } else {
5463          input.val(curValue);
5464          input.change();
5465        }
5466      }
5467    }
5468  });
5469  $(document).on("click", ".counter_block:not(.basket) .minus", function () {
5470    if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) {
5471      if ($(this).parent().data("offers") != "Y") {
5472        var isDetailSKU2 = $(this).parents(".counter_block_wr").length;
5473        input = $(this).parents(".counter_block").find("input[type=text]");
5474        (tmp_ratio = !isDetailSKU2
5475          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5476          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")),
5477          (isDblQuantity = !isDetailSKU2
5478            ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5479            : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")),
5480          (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5481          (max_value = "");
5482        currentValue = input.val();
5483
5484        if (isDblQuantity)
5485          ratio =
5486            Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5487            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5488
5489        curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
5490
5491        curValue -= ratio;
5492        if (isDblQuantity) {
5493          curValue =
5494            Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5495            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5496        }
5497        const minValue = parseFloat($(this).parents(".counter_block").find(".minus").data("min"));
5498        if (minValue) {
5499          ratio = minValue;
5500        }
5501
5502        if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) {
5503          if (currentValue > ratio) {
5504            if (curValue < ratio) {
5505              input.val(ratio);
5506            } else {
5507              input.val(curValue);
5508            }
5509            input.change();
5510          }
5511        } else {
5512          if (curValue > ratio) {
5513            input.val(curValue);
5514          } else {
5515            if (ratio) {
5516              input.val(ratio);
5517            } else if (currentValue > 1) {
5518              input.val(curValue);
5519            }
5520          }
5521          input.change();
5522        }
5523      }
5524    }
5525  });
5526
5527  $(".counter_block input[type=text]").numeric({ allow: "." });
5528
5529  $(document).on("focus", ".counter_block input[type=text]", function (e) {
5530    $(this).addClass("focus");
5531  });
5532
5533  $(document).on("blur", ".counter_block input[type=text]", function (e) {
5534    $(this).removeClass("focus");
5535  });
5536
5537  var timerInitCalculateDelivery = false;
5538  $(document).on("change", ".counter_block input[type=text]", function (e) {
5539    if (!$(this).parents(".basket_wrapp").length) {
5540      var val = $(this).val(),
5541        tmp_ratio = $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5542          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5543          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio"),
5544        isDblQuantity = $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5545          ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5546          : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio"),
5547        ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10),
5548        diff = val % ratio;
5549
5550      if (isDblQuantity) {
5551        ratio =
5552          Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5553          arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5554        if (
5555          Math.round(diff * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5556            arAsproOptions.JS_ITEM_CLICK.precisionFactor ==
5557          ratio
5558        )
5559          diff = 0;
5560      }
5561
5562      if ($(this).hasClass("focus")) {
5563        intCount =
5564          Math.round(
5565            Math.round((val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / ratio) /
5566              arAsproOptions.JS_ITEM_CLICK.precisionFactor
5567          ) || 1;
5568        val = intCount <= 1 ? ratio : intCount * ratio;
5569        // val -= diff;
5570        val =
5571          Math.round(val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5572      }
5573
5574      if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) {
5575        if (val > parseFloat($(this).parents(".counter_block").find(".plus").data("max"))) {
5576          val = parseFloat($(this).parents(".counter_block").find(".plus").data("max"));
5577          // val -= (val % ratio);
5578        }
5579      }
5580      if (parseFloat($(this).parents(".counter_block").find(".minus").data("min")) > 0) {
5581        if (val < parseFloat($(this).parents(".counter_block").find(".minus").data("min"))) {
5582          val = parseFloat($(this).parents(".counter_block").find(".minus").data("min"));
5583          // val -= (val % ratio);
5584        }
5585      }
5586      if (val < ratio) {
5587        val = ratio;
5588      } else if (!parseFloat(val)) {
5589        val = 1;
5590      }
5591
5592      $(this).parents(".counter_block").parent().parent().find(".to-cart").attr("data-quantity", val);
5593      $(this).parents(".counter_block").parent().parent().parent().find(".one_click").attr("data-quantity", val);
5594      $(this)
5595        .parents(".counter_block")
5596        .parent()
5597        .parent()
5598        .parent()
5599        .parent()
5600        .find(".one_click")
5601        .attr("data-quantity", val); //for offers in list
5602      $(this).parents(".catalog_item_wrapp").find(".inner_wrap.TYPE_1 .one_click").attr("data-quantity", val); //for first type buttons in catalog_block
5603
5604      $(this).val(val);
5605
5606      var $calculate = $(this).closest(".item").length
5607        ? $(this).closest(".item").find(".calculate-delivery")
5608        : $(this).closest(".catalog_detail").find(".calculate-delivery");
5609      if ($calculate.length && !$(this).closest(".buy_services_wrap").length) {
5610        $calculate.each(function () {
5611          var $calculateSpan = $(this).find("span[data-event=jqm]").first();
5612
5613          if ($calculateSpan.length) {
5614            var $clone = $calculateSpan.clone();
5615            $clone.attr("data-param-quantity", val).removeClass("clicked");
5616            $clone.insertAfter($calculateSpan).on("click", function () {
5617              if (!jQuery.browser.mobile) {
5618                $(this).parent().addClass("loadings");
5619              }
5620            });
5621            $calculateSpan.remove();
5622          }
5623
5624          if ($(this).hasClass("with_preview")) {
5625            $(this).removeClass("inited");
5626
5627            if (timerInitCalculateDelivery) {
5628              clearTimeout(timerInitCalculateDelivery);
5629            }
5630
5631            timerInitCalculateDelivery = setTimeout(function () {
5632              initCalculatePreview(true);
5633              timerInitCalculateDelivery = false;
5634            }, 1000);
5635          }
5636        });
5637      }
5638
5639      var eventdata = {
5640        type: "change",
5641        params: { id: $(this), value: val },
5642      };
5643      BX.onCustomEvent("onCounterProductAction", [eventdata]);
5644
5645      if ($(this).closest(".complect-block").length && typeof setNewPriceComplect === "function") {
5646        setNewPriceComplect();
5647      }
5648    }
5649  });
5650
5651  BX.addCustomEvent("onCounterProductAction", function (eventdata) {
5652    if (typeof eventdata != "object") {
5653      eventdata = { type: "undefined" };
5654    }
5655    try {
5656      if (typeof eventdata.type != "undefined") {
5657        if (!eventdata.params.id.closest(".gifts").length) {
5658          // no gift
5659          var obProduct = eventdata.params.id.data("product");
5660          if (eventdata.params.id.closest(".has_offer_prop").length) {
5661            // type1 for offers in element list
5662            if (typeof window["obSkuQuantys"] === "undefined") window["obSkuQuantys"] = {};
5663
5664            window["obSkuQuantys"][eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item")] =
5665              eventdata.params.value;
5666          }
5667
5668          if (typeof window[obProduct] == "object") {
5669            if (obProduct == "offersTree") {
5670              let curOffer = eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item");
5671              if (curOffer && appAspro.sku.obOffers[curOffer]) {
5672                appAspro.sku.setPriceAction(
5673                  appAspro.sku.obOffers[curOffer],
5674                  "",
5675                  "",
5676                  appAspro.sku.obOffers[curOffer].item
5677                );
5678              }
5679            } else window[obProduct].setPriceAction("Y");
5680            if ($(".detail_page").length) {
5681              setNewHeader();
5682            }
5683          } else if (eventdata.params.id.length) {
5684            if (
5685              eventdata.params.id.closest(".main_item_wrapper").length &&
5686              !eventdata.params.id.closest(".services-item__buy").length &&
5687              arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y"
5688            ) {
5689              setPriceItem(eventdata.params.id.closest(".main_item_wrapper"), eventdata.params.value);
5690            }
5691          }
5692          BX.onCustomEvent("onCounterProductActionResize");
5693        }
5694      }
5695    } catch (e) {
5696      console.error(e);
5697    }
5698  });
5699
5700  /* show basket on hover */
5701  $(document).on("mouseenter", ".wrap_icon.top_basket, #headerfixed .basket-link.basket", function () {
5702    const _this = $(this);
5703    const isHeaderFixed = _this.closest("#headerfixed").length;
5704    const hover_block = isHeaderFixed ? _this.next(".basket_hover_block") : _this.find(".basket_hover_block");
5705
5706    if (!hover_block.hasClass("loaded")) {
5707      basketTop("", hover_block);
5708    }
5709  });
5710
5711  /* show basket on click mobile */
5712  $(document).on("click", ".wrap_icon.wrap_basket.top_basket, #headerfixed .basket-link.basket", function (e) {
5713    var _this = $(this);
5714    if (isMobile) {
5715      if (!_this.hasClass("clicked")) {
5716        e.preventDefault();
5717        _this.addClass("clicked");
5718        setTimeout(function () {
5719          _this.removeClass("clicked");
5720        }, 3000);
5721      }
5722    }
5723  });
5724
5725  /* slide cart */
5726  $(document).on("mouseenter", "#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ", function () {
5727    $(this).closest(".basket_normal").find(".popup").addClass("block");
5728    $(this).closest(".basket_normal").find(".basket_popup_wrapp").stop(true, true).slideDown(150);
5729  });
5730  $(document).on("mouseleave", "#basket_line .basket_normal .basket_block ", function () {
5731    var th = $(this);
5732    $(this)
5733      .closest(".basket_normal")
5734      .find(".basket_popup_wrapp")
5735      .stop(true, true)
5736      .slideUp(150, function () {
5737        th.closest(".basket_normal").find(".popup").removeClass("block");
5738      });
5739  });
5740
5741  $(document).on("click", ".popup_button_basket", function () {
5742    var th = $(".to-cart[data-item=" + $(this).data("item") + "]");
5743
5744    var val = th.attr("data-quantity");
5745
5746    if (!val) $val = 1;
5747
5748    var tmp_props = th.data("props"),
5749      props = "",
5750      part_props = "",
5751      add_props = "N",
5752      fill_prop = {},
5753      iblockid = th.data("iblockid"),
5754      offer = th.data("offers"),
5755      rid = "",
5756      basket_props = "",
5757      item = th.attr("data-item");
5758
5759    if (offer != "Y") {
5760      offer = "N";
5761    } else {
5762      basket_props = th.closest(".prices_tab").find(".bx_sku_props input").val();
5763    }
5764    if (tmp_props) {
5765      props = tmp_props.split(";");
5766    }
5767    if (th.data("part_props")) {
5768      part_props = th.data("part_props");
5769    }
5770    if (th.data("add_props")) {
5771      add_props = th.data("add_props");
5772    }
5773    if ($(".rid_item").length) {
5774      rid = $(".rid_item").data("rid");
5775    } else if (th.data("rid")) {
5776      rid = th.data("rid");
5777    }
5778
5779    fill_prop = fillBasketPropsExt(th, "prop", "bx_ajax_text");
5780
5781    fill_prop.quantity = val;
5782    fill_prop.add_item = "Y";
5783    fill_prop.rid = rid;
5784    fill_prop.offers = offer;
5785    fill_prop.iblockID = iblockid;
5786    fill_prop.part_props = part_props;
5787    fill_prop.add_props = add_props;
5788    fill_prop.props = JSON.stringify(props);
5789    fill_prop.item = item;
5790    fill_prop.basket_props = basket_props;
5791
5792    var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product");
5793    var isSku2 = th.closest(".list-offers").length;
5794    var bIsService = th.closest(".buy_services_wrap").length;
5795
5796    if (!bIsService && (isDetail || isSku2)) {
5797      //var allServicesOn = th.closest('.product-container').find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5798      var allServicesOn = [];
5799      if (isSku2) {
5800        allServicesOn = th
5801          .closest(".product-container")
5802          .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5803      } else {
5804        allServicesOn = $(".product-container").find(
5805          '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
5806        );
5807      }
5808      var servicesNeedAdd = [];
5809      allServicesOn.each(function () {
5810        var _this = $(this);
5811        var buttonCart = _this.closest(".services-item").find(".to-cart");
5812
5813        servicesNeedAdd[buttonCart.data("item")] = {};
5814        servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item");
5815        servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity");
5816        servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid");
5817      });
5818      servicesNeedAdd = array_values_js(servicesNeedAdd);
5819      fill_prop.services = servicesNeedAdd;
5820    }
5821
5822    $.ajax({
5823      type: "POST",
5824      url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5825      data: fill_prop,
5826      dataType: "json",
5827      success: function (data) {
5828        $(".basket_error_frame").jqmHide();
5829        if ("STATUS" in data) {
5830          getActualBasket(fill_prop.iblockID);
5831          if (data.STATUS === "OK") {
5832            th.hide();
5833            th.closest(".counter_wrapp").find(".counter_block_inner").hide();
5834            th.closest(".counter_wrapp").find(".counter_block").hide();
5835            th.parents("tr").find(".counter_block_wr .counter_block").hide();
5836            th.closest(".button_block").addClass("wide");
5837            th.parent().find(".in-cart").show();
5838
5839            addBasketCounter(item);
5840
5841            if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
5842
5843            if ($("#basket_line .basket_fly").length) {
5844              if (th.closest(".fast_view_frame").length || window.matchMedia("(max-width: 767px)").matches)
5845                basketFly("open", "N");
5846              else basketFly("open");
5847            }
5848          } else {
5849            showBasketError(BX.message(data.MESSAGE));
5850          }
5851        } else {
5852          showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
5853        }
5854      },
5855    });
5856  });
5857
5858  $(document).on("click", ".to-cart:not(.read_more), .basket_item_add", function (e) {
5859    e.preventDefault();
5860    var th = $(this);
5861    if (!th.hasClass("clicked")) {
5862      th.addClass("clicked");
5863      var val = $(this).attr("data-quantity");
5864      var tmp_props = $(this).data("props"),
5865        props = "",
5866        part_props = "",
5867        add_props = "N",
5868        fill_prop = {},
5869        iblockid = $(this).data("iblockid"),
5870        offer = $(this).data("offers"),
5871        rid = "",
5872        bBannerAction = false,
5873        basket_props = "",
5874        item = $(this).attr("data-item");
5875      if (th.closest(".but-cell").length) {
5876        if ($('.counter_block[data-item="' + item + '"]').length)
5877          val = $('.counter_block[data-item="' + item + '"] input').val();
5878      }
5879
5880      if (th.closest(".banner_buttons.with_actions").length) {
5881        //banner action
5882        var wrapper_btns = th.closest(".wraps_buttons");
5883        item = wrapper_btns.data("id");
5884        bBannerAction = true;
5885      }
5886
5887      if (!val) val = 1;
5888      if (offer != "Y") {
5889        offer = "N";
5890      } else {
5891        basket_props = $(this).closest(".prices_tab").find(".bx_sku_props input").val();
5892      }
5893      if (tmp_props) {
5894        props = tmp_props.split(";");
5895      }
5896      if ($(this).data("part_props")) {
5897        part_props = $(this).data("part_props");
5898      }
5899      if ($(this).data("add_props")) {
5900        add_props = $(this).data("add_props");
5901      }
5902      if ($(".rid_item").length) {
5903        rid = $(".rid_item").data("rid");
5904      } else if ($(this).data("rid")) {
5905        rid = $(this).data("rid");
5906      }
5907
5908      fill_prop = fillBasketPropsExt(th, "prop", th.data("bakset_div"));
5909
5910      fill_prop.quantity = val;
5911      fill_prop.add_item = "Y";
5912      fill_prop.rid = rid;
5913      fill_prop.offers = offer;
5914      fill_prop.iblockID = iblockid;
5915      fill_prop.part_props = part_props;
5916      fill_prop.add_props = add_props;
5917      fill_prop.props = JSON.stringify(props);
5918      fill_prop.item = item;
5919      fill_prop.basket_props = basket_props;
5920
5921      var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product");
5922      var isSku2 = th.closest(".list-offers").length;
5923      var bIsService = th.closest(".buy_services_wrap").length;
5924
5925      if (!bIsService && (isDetail || isSku2)) {
5926        var allServicesOn = [];
5927        if (isSku2) {
5928          allServicesOn = th
5929            .closest(".product-container")
5930            .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5931        } else {
5932          allServicesOn = $(".product-container").find(
5933            '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
5934          );
5935        }
5936        var servicesNeedAdd = [];
5937        allServicesOn.each(function () {
5938          var _this = $(this);
5939          var buttonCart = _this.closest(".services-item").find(".to-cart");
5940          servicesNeedAdd[buttonCart.data("item")] = {};
5941          servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item");
5942          servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity");
5943          servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid");
5944        });
5945        servicesNeedAdd = array_values_js(servicesNeedAdd);
5946        fill_prop.services = servicesNeedAdd;
5947      }
5948
5949      var servicesWrap = $(this).closest(".buy_services_wrap");
5950      if (bIsService) {
5951        var parent_product = servicesWrap.attr("data-parent_product");
5952        fill_prop["prop[BUY_PRODUCT_PROP]"] = parent_product;
5953        fill_prop["prop[ASPRO_BUY_PRODUCT_ID]"] = parent_product;
5954      }
5955
5956      if (bBannerAction) {
5957        if (th.hasClass("added")) {
5958          location.href = th.data("href");
5959          return false;
5960        } else {
5961          th.attr("title", th.data("title2"));
5962          th.toggleClass("added");
5963        }
5964      }
5965
5966      if (th.data("empty_props") == "N") {
5967        var basket_popup_html = $("#" + th.data("bakset_div")).html();
5968        if (!basket_popup_html && th.closest(".item").find(".basket_props_block").length)
5969          basket_popup_html = th.closest(".item").find(".basket_props_block").html();
5970
5971        showBasketError(basket_popup_html, BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th);
5972        BX.addCustomEvent("onCompleteAction", function (e) {
5973          if (!e.ignoreSelf) {
5974            var eventdata = {
5975              action: "loadForm",
5976              ignoreSelf: true,
5977            };
5978            BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
5979          }
5980        });
5981      } else {
5982        $.ajax({
5983          type: "POST",
5984          url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5985          data: fill_prop,
5986          dataType: "json",
5987          success: function (data) {
5988            getActualBasket(fill_prop.iblockID);
5989
5990            var eventdata = { action: "loadForm" };
5991            BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
5992            arStatusBasketAspro = {};
5993
5994            if (data !== null) {
5995              if ("STATUS" in data) {
5996                if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = "";
5997                if (data.STATUS === "OK") {
5998                  // th.hide();
5999                  $(".to-cart[data-item=" + item + "]").hide();
6000                  $(".to-cart[data-item=" + item + "]")
6001                    .closest(".counter_wrapp")
6002                    .find(".counter_block_inner")
6003                    .hide();
6004                  $(".to-cart[data-item=" + item + "]")
6005                    .closest(".counter_wrapp")
6006                    .find(".counter_block")
6007                    .hide();
6008                  $(".to-cart[data-item=" + item + "]")
6009                    .parents("tr")
6010                    .find(".counter_block_wr .counter_block")
6011                    .hide();
6012                  $(".to-cart[data-item=" + item + "]")
6013                    .closest(".button_block")
6014                    .addClass("wide");
6015                  // th.parent().find('.in-cart').show();
6016                  $(".in-cart[data-item=" + item + "]").show();
6017
6018                  addBasketCounter(item);
6019
6020                  //js notice
6021                  $bDontOpenBasket = false;
6022                  if (typeof JNoticeSurface !== "undefined") {
6023                    JNoticeSurface.get().onAdd2cart([th[0]]);
6024                    $bDontOpenBasket = true;
6025                  }
6026                  //
6027
6028                  if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
6029
6030                  if ($("#basket_line .basket_fly").length) {
6031                    if (th.closest(".services_in_basket").length && !window.matchMedia("(max-width: 767px)").matches) {
6032                      basketFly("open", "SHOW"); //need for buy services in basket_fly
6033                    } else if (
6034                      th.closest(".fast_view_frame").length ||
6035                      window.matchMedia("(max-width: 767px)").matches ||
6036                      $("#basket_line .basket_fly.loaded").length
6037                    )
6038                      basketFly("open", "N");
6039                    else {
6040                      if ($bDontOpenBasket) basketFly("open", "N");
6041                      else basketFly("open");
6042                    }
6043                  }
6044
6045                  //need for services on basket_page
6046                  if (th.closest(".services_in_basket_page").length) {
6047                    BX.Sale.BasketComponent.sendRequest("refreshAjax", {
6048                      fullRecalculation: "Y",
6049                      otherParams: {
6050                        param: "N",
6051                      },
6052                    });
6053                  }
6054
6055                  if ($(".top_basket").length) {
6056                    basketTop($bDontOpenBasket ? "" : "open", $(".top_basket").find(".basket_hover_block"));
6057                  }
6058
6059                  if (
6060                    $("#headerfixed .wproducts .ajax_load .btn").length &&
6061                    th.closest(".product-action").length &&
6062                    !th.closest(".js-item-analog").length &&
6063                    th.next(".in-cart").length
6064                  ) {
6065                    var buttonHtml =
6066                      //'<span class="buy_block"><span class="btn btn-default btn-sm slide_offer more type_block">' +
6067                      '<span class="buy_block"><span class="btn btn-default btn-sm more type_block">' +
6068                      th.next(".in-cart").html() +
6069                      "</span></span>";
6070                    $("#headerfixed .wproducts .ajax_load .item-buttons .but-cell").html(buttonHtml);
6071                  }
6072                } else {
6073                  showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT);
6074                }
6075              } else {
6076                showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
6077              }
6078            } else {
6079              // th.hide();
6080              $(".to-cart[data-item=" + item + "]").hide();
6081              $(".to-cart[data-item=" + item + "]")
6082                .closest(".counter_wrapp")
6083                .find(".counter_block_inner")
6084                .hide();
6085              $(".to-cart[data-item=" + item + "]")
6086                .closest(".counter_wrapp")
6087                .find(".counter_block")
6088                .hide();
6089              $(".to-cart[data-item=" + item + "]")
6090                .parents("tr")
6091                .find(".counter_block_wr .counter_block")
6092                .hide();
6093              $(".to-cart[data-item=" + item + "]")
6094                .closest(".button_block")
6095                .addClass("wide");
6096              // th.parent().find('.in-cart').show();
6097              $(".in-cart[data-item=" + item + "]").show();
6098
6099              addBasketCounter(item);
6100
6101              if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
6102
6103              if ($("#basket_line .basket_fly").length) {
6104                if (
6105                  th.closest(".fast_view_frame").length ||
6106                  window.matchMedia("(max-width: 767px)").matches ||
6107                  $("#basket_line .basket_fly.loaded").length
6108                )
6109                  basketFly("open", "N");
6110                else basketFly("open");
6111              }
6112            }
6113          },
6114        });
6115      }
6116    }
6117  });
6118
6119  $(document).on("click", ".to-subscribe", function (e) {
6120    e.preventDefault();
6121    var th = $(this);
6122    if (!th.hasClass("clicked")) {
6123      th.addClass("clicked");
6124      if ($(this).is(".auth")) {
6125        if ($(this).hasClass("nsubsc")) {
6126          $(this).jqmEx();
6127          // $(this).trigger("click");
6128        } else {
6129          location.href = arAsproOptions["SITE_DIR"] + "auth/?backurl=" + location.pathname;
6130        }
6131      } else {
6132        var item = $(this).attr("data-item"),
6133          iblockid = $(this).attr("data-iblockid");
6134        // $(this).hide();
6135        $(".to-subscribe[data-item=" + item + "]").hide();
6136        $(".to-subscribe[data-item=" + item + "]")
6137          .parent()
6138          .find(".in-subscribe")
6139          .show();
6140        $.get(
6141          arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y",
6142          $.proxy(function (data) {
6143            arStatusBasketAspro = {};
6144            getActualBasket(iblockid);
6145          })
6146        );
6147        th.removeClass("clicked");
6148      }
6149    }
6150  });
6151
6152  $(document).on("click", ".in-subscribe", function (e) {
6153    e.preventDefault();
6154    var item = $(this).attr("data-item"),
6155      iblockid = $(this).attr("data-iblockid");
6156    // $(this).hide();
6157    $(".in-subscribe[data-item=" + item + "]").hide();
6158    $(".in-subscribe[data-item=" + item + "]")
6159      .parent()
6160      .find(".to-subscribe")
6161      .removeClass("clicked");
6162    $(".in-subscribe[data-item=" + item + "]")
6163      .parent()
6164      .find(".to-subscribe")
6165      .show();
6166    $.get(
6167      arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y",
6168      $.proxy(function (data) {
6169        getActualBasket(iblockid);
6170        arStatusBasketAspro = {};
6171      })
6172    );
6173  });
6174
6175  $(document).on("click", ".item_main_info .item_slider .flex-direction-nav li span", function (e) {
6176    if ($(".inner_slider .slides_block").length) {
6177      if ($(this).parent().hasClass("flex-nav-next")) $(".inner_slider .slides_block li.current").next().click();
6178      else $(".inner_slider .slides_block li.current").prev().click();
6179    }
6180  });
6181
6182  $(document).on("click", ".tabs>li", function () {
6183    var parent = $(this).parent();
6184    if (!$(this).hasClass("active")) {
6185      var sliderIndex = $(this).index(),
6186        curLiNav = $(this)
6187          .closest(".top_block")
6188          .find(".slider_navigation")
6189          .find(">li:eq(" + sliderIndex + ")"),
6190        curLi = $(this)
6191          .closest(".top_block")
6192          .siblings(".tabs_content")
6193          .find(">li:eq(" + sliderIndex + ")");
6194      $(this).addClass("active").addClass("cur").siblings().removeClass("active").removeClass("cur");
6195      curLi.addClass("cur").siblings().removeClass("cur");
6196      curLiNav.addClass("cur").siblings().removeClass("cur");
6197
6198      if (parent.hasClass("ajax")) {
6199        // front tabs
6200        if (!$(this).hasClass("clicked")) {
6201          $.ajax({
6202            url: arAsproOptions["SITE_DIR"] + "include/mainpage/comp_catalog_ajax.php",
6203            type: "POST",
6204            data: {
6205              AJAX_POST: "Y",
6206              FILTER_HIT_PROP: $(this).data("code"),
6207              AJAX_PARAMS: $(this).closest(".tab_slider_wrapp").find(".request-data").data("value"),
6208              GLOBAL_FILTER: curLi.data("filter"),
6209            },
6210            success: function (html) {
6211              curLi.find(".tabs_slider").html(html);
6212              var container = curLi.closest(".content_wrapper_block");
6213              if (container.length) {
6214                var bNav = curLi.find(".bottom_nav .module-pagination").length > 0;
6215                if (bNav) {
6216                  container.removeClass("without-border");
6217                } else {
6218                  container.addClass("without-borded");
6219                }
6220              }
6221              setTimeout(function () {
6222                curLi.addClass("opacity1");
6223              }, 100);
6224
6225              BX.onCustomEvent("onAjaxResponesTabs", [eventdata]);
6226            },
6227          });
6228          $(this).addClass("clicked");
6229        } else {
6230          var container = curLi.closest(".content_wrapper_block");
6231          if (container.length) {
6232            var bNav = curLi.find(".bottom_nav .module-pagination").length > 0;
6233            if (bNav) {
6234              container.removeClass("without-border");
6235            } else {
6236              container.addClass("without-borded");
6237            }
6238          }
6239        }
6240      }
6241
6242      var eventdata = { index: sliderIndex, target: $(this) };
6243      BX.onCustomEvent("clickedTabsLi", [eventdata]);
6244    }
6245  });
6246
6247  /* search click */
6248  $(".search_block .icon").on("click", function () {
6249    var th = $(this);
6250    if ($(this).hasClass("open")) {
6251      $(this).closest(".center_block").find(".search_middle_block").removeClass("active");
6252      $(this).removeClass("open");
6253      $(this).closest(".center_block").find(".search_middle_block").find(".noborder").hide();
6254    } else {
6255      setTimeout(function () {
6256        th.closest(".center_block").find(".search_middle_block").find(".noborder").show();
6257      }, 100);
6258      $(this).closest(".center_block").find(".search_middle_block").addClass("active");
6259      $(this).addClass("open");
6260    }
6261  });
6262
6263  $(document).on("click", ".no_goods .button", function () {
6264    $(".bx_filter .smartfilter .bx_filter_search_reset").trigger("click");
6265  });
6266
6267  $(document).on("click", ".js-load-link", function (e) {
6268    AjaxClickLink(e);
6269  });
6270
6271  $(document).on("click", ".svg-inline-bottom_nav-icon", function () {
6272    $(this).next().trigger("click");
6273  });
6274  $(document).on("click", ".ajax_load_btn", function () {
6275    var _this = $(this),
6276      url = _this.closest(".container").find(".module-pagination .flex-direction-nav .flex-next").attr("href"),
6277      th = _this.find(".more_text_ajax"),
6278      bottom_nav = _this.closest(".bottom_nav"),
6279      mobileBottomNav = bottom_nav.hasClass("mobile_slider"),
6280      bLoadingState = _this.closest(".animate-load-state").length;
6281
6282    if (!th.hasClass("loading")) {
6283      th.addClass("loading");
6284      if (mobileBottomNav) {
6285        var icon = bottom_nav.find(".svg-inline-bottom_nav-icon");
6286        icon.css("display", "none");
6287      }
6288      if (bLoadingState) _this.addClass("loadings");
6289
6290      var objUrl = parseUrlQuery(),
6291        add_url = "";
6292      obGetData = { ajax_get: "Y", AJAX_REQUEST: "Y" };
6293
6294      if (_this.closest(".wrapper_inner.front").length) {
6295        //index page
6296        var class_block = th.closest(".drag-block").data("class").replace("_drag", "");
6297        class_block = class_block.replace(/\s/g, "");
6298        obGetData.BLOCK = class_block;
6299      }
6300
6301      if (_this.closest(".tab").length) {
6302        //tabs block
6303        var parentTab = th.closest(".tab");
6304        obGetData.FILTER_HIT_PROP = parentTab.data("code");
6305        obGetData.GLOBAL_FILTER = parentTab.data("filter");
6306        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6307      }
6308
6309      if (_this.closest(".content_linked_goods").length) {
6310        //linked_goods block in content
6311        var filterSections = th.closest(".content_linked_goods").attr("data-sections-ids");
6312        obGetData.ajax_section_id = decodeURIComponent(filterSections);
6313
6314        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6315      }
6316
6317      if ("clear_cache" in objUrl) {
6318        if (objUrl.clear_cache == "Y") add_url = "&clear_cache=Y";
6319      }
6320      if (_this.hasClass("ajax")) obGetData.ajax = "y";
6321
6322      if (th.closest(".goods-block.ajax_load")) obGetData.bitrix_include_areas = "N";
6323
6324      if (_this.closest(".nav-data_block").length) {
6325        //need data-block
6326        obGetData.data_block = _this.closest(".nav-data_block").attr("data-block");
6327        obGetData.pagen_data_block = "Y";
6328        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6329      }
6330
6331      $.ajax({
6332        url: url + add_url,
6333        data: obGetData,
6334        success: function (html) {
6335          pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this);
6336        },
6337        error: function (html) {
6338          pasteAjaxPagination(html.responseText, th, bottom_nav, bLoadingState, _this);
6339        },
6340      });
6341    }
6342  });
6343
6344  function pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this) {
6345    var mobileBottomClicked = bottom_nav.hasClass("mobile_slider");
6346    var hasMobileBottomNav = $(html).find(".bottom_nav.mobile_slider");
6347    var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find(".bottom_nav");
6348    var bottomNavHtml = bottomNav.html();
6349    var bottomNavScrollClass = bottomNav.data("scroll-class");
6350    var hasBottomNav = $(html).find(".ajax_load_btn").length;
6351
6352    if (th.closest(".ajax_load").length && !mobileBottomClicked) {
6353      th.removeClass("loading");
6354      if (th.closest(".ajax_load").find(".js_append").length) {
6355        if (_this.closest(".catalog_in_content").length) {
6356          th.closest(".ajax_load").find(".js_append").append($(".inner_wrapper .js_wrapper_items>", html)); //need for brands & landings
6357        } else if (_this.closest(".catalog.search").length) {
6358          th.closest(".ajax_load").find(".js_append").append($(".js_append>", html));
6359        } else {
6360          th.closest(".ajax_load").find(".js_append").append(html);
6361        }
6362        th.closest(".ajax_load").find(".bottom_nav_wrapper").remove();
6363      } else {
6364        if ($(".display_list").length) {
6365          $(".display_list").append(html);
6366          th.closest(".display_list").find(".bottom_nav_wrapper").remove();
6367        } else if ($(".block_list").length) {
6368          $(".block_list").append(html);
6369          touchItemBlock(".catalog_item a");
6370          th.closest(".block_list").find(".bottom_nav_wrapper").remove();
6371        } else if ($(".module_products_list").length) {
6372          $(".module_products_list > tbody").append(html);
6373          th.closest(".module_products_list > tbody").find(".bottom_nav_wrapper").remove();
6374        }
6375      }
6376
6377      setStatusButton();
6378      checkLinkedArticles();
6379      checkLinkedBlocks(".linked-banners-list");
6380
6381      var eventdata = { action: "ajaxContentLoadedTab" };
6382      BX.onCustomEvent("onAjaxSuccess", [eventdata]);
6383      _this.closest(".bottom_nav").html(bottomNavHtml);
6384    } else {
6385      var eventdata = { action: "ajaxContentLoaded" };
6386
6387      if ($(".banners-small.front").length) {
6388        $(".banners-small .items.row").append(html);
6389        $(".bottom_nav").html($(".banners-small .items.row .bottom_nav").html());
6390        $(".banners-small .items.row .bottom_nav").remove();
6391        if (hasBottomNav) {
6392          $(".banners-small .items.row").addClass("has-bottom-nav");
6393        } else {
6394          $(".banners-small .items.row").removeClass("has-bottom-nav");
6395        }
6396      } else {
6397        if (bottom_nav.data("append") !== undefined && bottom_nav.data("parent") !== undefined) {
6398          var target = html;
6399          if (bottom_nav.data("target") !== undefined) {
6400            target = $(html).find(bottom_nav.data("target"));
6401          }
6402          if (mobileBottomClicked || hasMobileBottomNav.length) {
6403            var mobileSliderNav = th.closest(bottom_nav.data("parent")).find(".bottom_nav.mobile_slider");
6404            if (mobileSliderNav.length) {
6405              mobileSliderNav.before(target);
6406            } else {
6407              bottom_nav.before(target);
6408            }
6409          } else {
6410            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).append(target);
6411          }
6412          th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).find(".bottom_nav_wrapper").remove();
6413
6414          if (hasBottomNav) {
6415            if (bottomNavScrollClass !== undefined) {
6416              th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).addClass("has-bottom-nav");
6417            }
6418            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).addClass("has-bottom-nav");
6419          } else {
6420            if (bottomNavScrollClass !== undefined) {
6421              th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).removeClass("has-bottom-nav");
6422            }
6423            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).removeClass("has-bottom-nav");
6424          }
6425
6426          bottom_nav = th.closest(bottom_nav.data("parent")).find(".bottom_nav");
6427          bottom_nav.html(bottomNavHtml);
6428          var icon = bottom_nav.find(".svg-inline-bottom_nav-icon");
6429          icon.css("display", "");
6430
6431          eventdata.container = th.closest(bottom_nav.data("parent"));
6432        } else {
6433          if (th.closest(".item-views").find(".items").length) {
6434            th.closest(".item-views").find(".items").append(html);
6435          } else {
6436            $(html).insertBefore($(".blog .bottom_nav"));
6437          }
6438
6439          bottom_nav.html($(".bottom_nav:hidden").html());
6440          if (hasBottomNav) {
6441            th.closest(".item-views").find(".items").addClass("has-bottom-nav");
6442          } else {
6443            th.closest(".item-views").find(".items").removeClass("has-bottom-nav");
6444          }
6445          _this.closest(".item-views").find(".bottom_nav:hidden").remove();
6446        }
6447      }
6448
6449      eventdata.content = html;
6450      eventdata.container = th;
6451      BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
6452
6453      setTimeout(function () {
6454        $(".banners-small .item.normal-block").sliceHeight({
6455          resize: false,
6456        });
6457        if ($(".item.slice-item").length) {
6458          $(".item.slice-item .title").sliceHeight({ resize: false });
6459          $(".item.slice-item").sliceHeight({ resize: false });
6460        }
6461        th.removeClass("loading");
6462        if (bLoadingState) _this.removeClass("loadings");
6463      }, 100);
6464    }
6465    BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
6466    // initCountdown();
6467  }
6468
6469  // form rating
6470  $(document).on("mouseenter", ".form .votes_block.with-text .item-rating", function () {
6471    var $this = $(this),
6472      index = $this.index(),
6473      ratingValue = $this.data("rating_value"),
6474      ratingMessage = $this.data("message");
6475
6476    $(this).addClass("filed");
6477    $this.siblings().each(function () {
6478      if ($(this).index() <= index) $(this).addClass("filed");
6479      else $(this).removeClass("filed");
6480    });
6481    $this.closest(".votes_block").find(".rating_message").text(ratingMessage);
6482  });
6483
6484  $(document).on("mouseleave", ".form .votes_block.with-text", function () {
6485    var $this = $(this),
6486      index = $this.data("rating"),
6487      ratingMessage = $this.closest(".votes_block").find(".rating_message").data("message");
6488
6489    $this.find(".item-rating").each(function () {
6490      if ($(this).index() < index && index !== undefined) $(this).addClass("filed");
6491      else $(this).removeClass("filed");
6492    });
6493    $this.closest(".votes_block").find(".rating_message").text(ratingMessage);
6494  });
6495
6496  $(document).on("click", ".form .votes_block.with-text .item-rating", function () {
6497    const $this = $(this);
6498    const index = $this.index() + 1;
6499    const ratingMessage = $this.data("message");
6500    const $votesBlock = $this.closest(".votes_block");
6501    const $formControl = $this.closest(".form-control")
6502    const $ratingInput = $formControl.find("input[name=RATING], input[data-sid=RATING]");
6503
6504    if ($votesBlock.length){
6505      $votesBlock.data("rating", index);
6506      $votesBlock.find(".rating_message").data("message", ratingMessage);
6507    }
6508
6509    if ($ratingInput.length) {
6510      $ratingInput.val(index);
6511      $ratingInput.blur();
6512    }
6513});
6514
6515  $(document).on("paste, change, keyup", ".form.blog-comment-fields input[required]", function () {
6516    let value = $(this).val();
6517
6518    if (value.length) {
6519      $(this).closest(".form-group").find("label.error").remove();
6520    }
6521  });
6522
6523  //set cookie for basket link click
6524  $(document).on(
6525    "click",
6526    ".bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]",
6527    function (e) {
6528      $.removeCookie("click_basket", { path: "/" });
6529      $.cookie("click_basket", "Y", { path: "/" });
6530    }
6531  );
6532
6533  $(document).on("click", ".bx_compare .tabs-head li", function () {
6534    var url = $(this).find(".sortbutton").data("href");
6535    BX.showWait(BX("bx_catalog_compare_block"));
6536    $.ajax({
6537      url: url,
6538      data: { ajax_action: "Y" },
6539      success: function (html) {
6540        history.pushState(null, null, url);
6541        $("#bx_catalog_compare_block").html(html);
6542        BX.closeWait();
6543      },
6544    });
6545  });
6546  var hoveredTrs;
6547  $(document).on(
6548    {
6549      mouseover: function (e) {
6550        var _ = $(this);
6551        var tbodyIndex = _.closest("tbody").index() + 1; //+1 for nth-child
6552        var trIndex = _.index() + 1; // +1 for nth-child
6553        hoveredTrs = $(e.delegateTarget)
6554          .find(".data_table_props")
6555          .children(":nth-child(" + tbodyIndex + ")")
6556          .children(":nth-child(" + trIndex + ")")
6557          .addClass("hovered");
6558      },
6559      mouseleave: function (e) {
6560        if (hoveredTrs) hoveredTrs.removeClass("hovered");
6561      },
6562    },
6563    ".bx_compare .data_table_props tbody>tr"
6564  );
6565  $(document).on("click", ".fancy_zoom", function (e) {
6566    e.preventDefault();
6567    var arPict = [],
6568      index = 0;
6569    $(this)
6570      .closest(".product-detail-gallery__container")
6571      .find(".gallery-slider-thumb__container .gallery__item--thumb")
6572      .each(function () {
6573        var obImg = {};
6574        obImg = {
6575          src: $(this).data("big"),
6576          thumb: $(this).find("img").data("src") || $(this).find("img").attr("src"),
6577          // opts: {
6578          //   caption: $(this).find("img").attr("alt"),
6579          // },
6580        };
6581        if ($(this).hasClass("swiper-slide-thumb-active")) {
6582          index = $(this).index();
6583        }
6584        arPict.push(obImg);
6585      });
6586    if (!arPict.length) {
6587      arPict.push({
6588        src: $(this).closest(".product-detail-gallery__container").find(".zoom_picture").data("xoriginal"),
6589      });
6590    }
6591    if (typeof $.fn.fancybox !== "function") {
6592      return;
6593    }
6594    $.fancybox.open(
6595      arPict,
6596      {
6597        tpl: {
6598          closeBtn:
6599            '<span title="' +
6600            BX.message("FANCY_CLOSE") +
6601            '" class="fancybox-item fancybox-close inline svg"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>',
6602          next:
6603            '<a title="' +
6604            BX.message("FANCY_NEXT") +
6605            '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
6606          prev:
6607            '<a title="' +
6608            BX.message("FANCY_PREV") +
6609            '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
6610        },
6611        btnTpl: {
6612          close:
6613            '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
6614            '<i class="svg"><svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><path d="M2 24L24 2M2 2L24 24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg></i>' +
6615            "</button>",
6616
6617          arrowLeft:
6618            '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
6619            '<div><i class="svg left"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13L0.585787 14.4142C-0.195262 13.6332 -0.195262 12.3668 0.585787 11.5858L2 13ZM11.5858 0.585786C12.3668 -0.195262 13.6332 -0.195262 14.4142 0.585786C15.1953 1.36683 15.1953 2.63317 14.4142 3.41421L11.5858 0.585786ZM14.4142 22.5858C15.1953 23.3668 15.1953 24.6332 14.4142 25.4142C13.6332 26.1953 12.3668 26.1953 11.5858 25.4142L14.4142 22.5858ZM0.585787 11.5858L11.5858 0.585786L14.4142 3.41421L3.41421 14.4142L0.585787 11.5858ZM3.41421 11.5858L14.4142 22.5858L11.5858 25.4142L0.585787 14.4142L3.41421 11.5858Z" fill="#999999"/></svg></i></div>' +
6620            "</button>",
6621
6622          arrowRight:
6623            '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
6624            '<div><i class="svg right"><svg width="16" height="26" viewBox="0 0 15 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 13L14.4142 14.4142C15.1953 13.6332 15.1953 12.3668 14.4142 11.5858L13 13ZM3.41421 0.585786C2.63317 -0.195262 1.36683 -0.195262 0.585786 0.585786C-0.195262 1.36683 -0.195262 2.63317 0.585786 3.41421L3.41421 0.585786ZM0.585786 22.5858C-0.195262 23.3668 -0.195262 24.6332 0.585786 25.4142C1.36683 26.1953 2.63317 26.1953 3.41421 25.4142L0.585786 22.5858ZM14.4142 11.5858L3.41421 0.585786L0.585786 3.41421L11.5858 14.4142L14.4142 11.5858ZM11.5858 11.5858L0.585786 22.5858L3.41421 25.4142L14.4142 14.4142L11.5858 11.5858Z" fill="white"/></svg></i></div>' +
6625            "</button>",
6626        },
6627        touch: "enabled",
6628        loop: false,
6629        buttons: [
6630          // "zoom",
6631          //"share",
6632          // "slideShow",
6633          //"fullScreen",
6634          //"download",
6635          // "thumbs",
6636          "close",
6637        ],
6638        thumbs: {
6639          autoStart: true,
6640        },
6641        onActivate: function (instance) {
6642          InitFancyboxThumbnailsGallery(instance);
6643        },
6644        beforeShow: function (instance, current) {
6645          if ($(".fancybox-thumbs .swiper").length) {
6646            const swiper = $(".fancybox-thumbs .swiper").data("swiper");
6647            swiper.slideTo(current.index);
6648          }
6649        },
6650      },
6651      index
6652    );
6653  });
6654
6655  /* tabs */
6656  $(".tabs_section .tabs-head li").on("click", function () {
6657    if (!$(this).is(".current")) {
6658      $(".tabs_section .tabs-head li").removeClass("current");
6659      $(this).addClass("current");
6660      $(".tabs_section ul.tabs_content li").removeClass("current");
6661      if ($(this).attr("id") == "product_reviews_tab") {
6662        $(".shadow.common").hide();
6663        $("#reviews_content").show();
6664      } else {
6665        $(".shadow.common").show();
6666        $("#reviews_content").hide();
6667        $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")").addClass("current");
6668      }
6669    }
6670  });
6671
6672  /* open first section slide */
6673  setTimeout(function () {
6674    $(".jobs_wrapp .item:first .name tr").trigger("click");
6675  }, 300);
6676
6677  $(".choise").on("click", function () {
6678    var _this = $(this);
6679    if (typeof _this.attr("data-block") != "undefined") {
6680      if ($(_this.attr("data-block")).closest(".tab-pane").length) {
6681        $('.ordered-block a[href="#' + $(_this.attr("data-block")).closest(".tab-pane").attr("id") + '"]').click();
6682        _this.data("block", ".ordered-block.tabs-block");
6683        $(_this.data("block")).data("offset", -100);
6684      } else {
6685        $(_this.data("block")).data("offset", -100);
6686      }
6687      scrollToBlock(_this.data("block"));
6688    }
6689  });
6690
6691  $(document).on("click", ".buy_block .slide_offer", function () {
6692    scroll_block($(".js-offers-scroll"));
6693  });
6694  $(".share  > .share_wrapp .text").on("click", function () {
6695    var block = $(this).parent().find(".shares");
6696    if (!block.is(":visible") && !$(this).closest(".share.top").length) $("#content").css("z-index", 3);
6697    block.fadeToggle(100, function () {
6698      if (!block.is(":visible")) $("#content").css("z-index", 2);
6699    });
6700  });
6701  $("html, body").on("mousedown", function (e) {
6702    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
6703      e.stopPropagation();
6704      $("div.shares").fadeOut(100, function () {
6705        $("#content").css("z-index", 2);
6706        $(".price_txt .share_wrapp").removeClass("opened");
6707      });
6708      $(".search_middle_block").removeClass("active_wide");
6709    }
6710  });
6711  $(".share_wrapp")
6712    .find("*")
6713    .on("mousedown", function (e) {
6714      e.stopPropagation();
6715    });
6716
6717  $(".price_txt .share_wrapp .text").click(function () {
6718    $(this).parent().toggleClass("opened");
6719    $(this).parent().find(".shares").fadeToggle();
6720  });
6721
6722  $(document).on("click", ".reviews-collapse-link", function () {
6723    $(".reviews-reply-form").slideToggle();
6724  });
6725
6726  /* accordion action*/
6727  $(".panel-collapse").on("hidden.bs.collapse", function () {
6728    $(this).parent().toggleClass("opened");
6729  });
6730  $(".panel-collapse").on("show.bs.collapse", function () {
6731    $(this).parent().toggleClass("opened");
6732  });
6733
6734  /* accordion */
6735  $(".accordion-head").on("click", function (e) {
6736    e.preventDefault();
6737    if (!$(this).next().hasClass("collapsing")) {
6738      $(this).toggleClass("accordion-open");
6739      $(this).toggleClass("accordion-close");
6740    }
6741  });
6742
6743  /* progress bar */
6744  $("[data-appear-progress-animation]").iAppear(
6745    function () {
6746      var $this = $(this);
6747      var delay = $this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1;
6748      if (delay > 1) $this.css("animation-delay", delay + "ms");
6749      $this.addClass($this.attr("data-appear-animation"));
6750
6751      setTimeout(function () {
6752        $this.animate(
6753          {
6754            width: $this.attr("data-appear-progress-animation"),
6755          },
6756          1500,
6757          "easeOutQuad",
6758          function () {
6759            $this.find(".progress-bar-tooltip").animate(
6760              {
6761                opacity: 1,
6762              },
6763              500,
6764              "easeOutQuad"
6765            );
6766          }
6767        );
6768      }, delay);
6769    },
6770    {
6771      rootMargin: "-50px 0px -50px 0px",
6772      accX: 0,
6773      accY: -50,
6774    }
6775  );
6776
6777  // initCountdown();
6778
6779  /* portfolio item */
6780  if ($(".item.animated-block").length) {
6781    $(".item.animated-block").iAppear(
6782      function () {
6783        var $this = $(this);
6784
6785        $this.addClass($this.data("animation")).addClass("visible");
6786      },
6787      { accX: 0, accY: 150 }
6788    );
6789  }
6790
6791  typeof InitAppear === 'function' && InitAppear();
6792
6793  /* js-load-block appear */
6794  if ($(".js-load-block").length) {
6795    var objUrl = parseUrlQuery();
6796    var bClearCache = false;
6797    if ("clear_cache" in objUrl) {
6798      if (objUrl.clear_cache == "Y") {
6799        bClearCache = true;
6800      }
6801    }
6802
6803    var items = [];
6804    var bIdle = true;
6805    var insertNextBlockContent = function () {
6806      if (bIdle && items.length) {
6807        bIdle = false;
6808        const item = items.pop();
6809
6810        // get content
6811        $.get(item.url).done(function (html) {
6812          item.content = html;
6813          item.content = $.trim(item.content);
6814
6815          // remove /bitrix/js/main/core/core_window.js if it was loaded already
6816          if (item.content.indexOf("/bitrix/js/main/core/core_window.") !== -1 && BX.WindowManager) {
6817            item.content = item.content.replace(
6818              /<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm,
6819              ""
6820            );
6821          }
6822
6823          // remove /bitrix/js/currency/core_currency.js if it was loaded already
6824          if (
6825            item.content.indexOf("/bitrix/js/currency/core_currency.") !== -1 &&
6826            typeof BX.Currency === "object" &&
6827            BX.Currency.defaultFormat
6828          ) {
6829            item.content = item.content.replace(
6830              /<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm,
6831              ""
6832            );
6833          }
6834
6835          // remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already
6836          if (item.content.indexOf("/bitrix/js/main/pageobject/pageobject.") !== -1 && BX.PageObject) {
6837            item.content = item.content.replace(
6838              /<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm,
6839              ""
6840            );
6841          }
6842
6843          // remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need
6844          if (
6845            item.content.indexOf("/bitrix/js/main/polyfill/promise/js/promise.") !== -1 &&
6846            typeof window.Promise !== "undefined" &&
6847            window.Promise.toString().indexOf("[native code]") !== -1
6848          ) {
6849            item.content = item.content.replace(
6850              /<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm,
6851              ""
6852            );
6853          }
6854
6855          if (
6856            typeof MutationObserver === "function" &&
6857            document.querySelector("body").classList.contains("detail_page")
6858          ) {
6859            const observer = new MutationObserver(function (list, observer) {
6860              const $curBlock = list[0].target;
6861              const curBlockBounds = $curBlock.getBoundingClientRect();
6862
6863              if ($curBlock.parentElement.classList.contains("complect-block")) {
6864                $curBlock.parentElement.classList.add("loaded");
6865              }
6866
6867              if (curBlockBounds.top < 0 && curBlockBounds.bottom >= 0) {
6868                const offsetTop = window.scrollY + Math.round($curBlock.offsetHeight) - 100;
6869                window.scrollTo(0, offsetTop);
6870              }
6871
6872              observer.disconnect();
6873            });
6874
6875            observer.observe(item.$context[0], {
6876              childList: true,
6877            });
6878          }
6879
6880          const ob = BX.processHTML(item.content);
6881
6882          // stop ya metrika webvisor DOM indexer
6883          pauseYmObserver();
6884
6885          item.$context.removeAttr("data-file").removeClass("loader_circle");
6886          item.$target.innerHTML = ob.HTML;
6887
6888          BX.ajax.processScripts(ob.SCRIPT);
6889
6890          var eventdata = { action: "jsLoadBlock" };
6891          BX.onCustomEvent("onCompleteAction", [eventdata, item.$context]);
6892
6893          BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
6894
6895          // resume ya metrika webvisor
6896          // 500ms
6897          setTimeout(resumeYmObserver, 500);
6898
6899          bIdle = true;
6900          insertNextBlockContent();
6901        });
6902      }
6903    };
6904
6905    $(".js-load-block").iAppear(
6906      function () {
6907        var $this = $(this);
6908
6909        if ($this.data("file")) {
6910          const add_url = new URL(location.origin + $this.data("file"));
6911
6912          if (bClearCache) add_url.searchParams.set("clear_cache", "Y");
6913          if ($this.data("block")) add_url.searchParams.set("BLOCK", $this.data("block"));
6914          if ($this.data("show_all")) add_url.searchParams.set("SHOW_ALL", "Y");
6915
6916          const $target = $this.data("appendTo")
6917            ? $this.find($this.data("appendTo"))[0]
6918            : $this.find('> div[id*="bx_incl_"]').length
6919            ? $this.find('> div[id*="bx_incl_"]')[0]
6920            : $this[0];
6921
6922          items.unshift({
6923            $target: $target,
6924            $context: $this,
6925            url: add_url,
6926          });
6927          insertNextBlockContent();
6928        }
6929      },
6930      {
6931        rootMargin: isMobile ? "300px 0px 300px 0px" : "150px 0px 150px 0px",
6932        accX: 0,
6933        accY: isMobile ? 300 : 150,
6934      }
6935    );
6936  }
6937
6938  /* show ajax store amount product */
6939  $(document).on("click", ".js-show-info-block", function (e) {
6940    var $this = $(this);
6941
6942    //check on ".cost.prices" need for popup price in mobile
6943    if (window.matchMedia("(max-width: 500px)").matches && !$this.closest(".cost.prices").length) {
6944      return;
6945    }
6946
6947    e.stopPropagation();
6948    $(".js-info-block").fadeOut();
6949
6950    if ($this.hasClass("opened")) {
6951      $(".js-show-info-block").removeClass("opened");
6952    } else {
6953      $(".js-show-info-block").removeClass("opened");
6954      $this.addClass("opened");
6955    }
6956
6957    if (!$this.siblings(".js-info-block").length) {
6958      var dataFields = $this.closest(".sa_block").data("fields");
6959      dataFields = dataFields == "null" || dataFields === undefined ? "" : dataFields;
6960      var dataUserFields = $this.closest(".sa_block").data("user-fields");
6961      dataUserFields = dataUserFields == "null" || dataUserFields === undefined ? "" : dataUserFields;
6962      var objUrl = parseUrlQuery(),
6963        add_url = "";
6964      if ("clear_cache" in objUrl) {
6965        if (objUrl.clear_cache == "Y") add_url += "?clear_cache=Y";
6966      }
6967
6968      var obPostParams = {
6969        ajax: "Y",
6970        ELEMENT_ID: $this.data("id"),
6971        FIELDS: dataFields,
6972        USER_FIELDS: dataUserFields,
6973        STORES: $this.closest(".sa_block").data("stores") || "",
6974      };
6975
6976      $this.addClass("loadings");
6977      $.post(arAsproOptions["SITE_DIR"] + "ajax/productStoreAmountCompact.php" + add_url, obPostParams).done(function (
6978        html
6979      ) {
6980        $this.removeClass("loadings");
6981        $(html).appendTo($this.closest(".sa_block"));
6982
6983        $this
6984          .siblings(".js-info-block")
6985          .find(".more-btn a")
6986          .attr("href", $this.closest(".item_info").find("a").attr("href"));
6987        // InitScrollBar();
6988
6989        var eventdata = { action: "jsShowStores" };
6990        BX.onCustomEvent("onCompleteAction", [eventdata, $this]);
6991      });
6992    } else {
6993      if ($this.hasClass("opened")) {
6994        $this
6995          .siblings(".js-info-block")
6996          .find(".more-btn a")
6997          .attr("href", $this.closest(".item_info").find("a").attr("href"));
6998        $this.siblings(".js-info-block").fadeIn();
6999        // InitScrollBar();
7000      } else {
7001        $this.siblings(".js-info-block").fadeOut();
7002      }
7003    }
7004  });
7005  $(document).on("click", ".js-info-block .svg-inline-close", function () {
7006    $(".js-show-info-block").removeClass("opened");
7007    $(this).closest(".js-info-block").fadeOut();
7008  });
7009
7010  /* adaptive menu start */
7011  $(".menu.adaptive").on("click", function () {
7012    $(this).toggleClass("opened");
7013    if ($(this).hasClass("opened")) {
7014      $(".mobile_menu").toggleClass("opened").slideDown();
7015    } else {
7016      $(".mobile_menu").toggleClass("opened").slideUp();
7017    }
7018  });
7019  $(".mobile_menu .has-child >a").on("click", function (e) {
7020    var parentLi = $(this).parent();
7021    e.preventDefault();
7022    parentLi.toggleClass("opened");
7023    parentLi.find(".dropdown").slideToggle();
7024  });
7025
7026  $(".mobile_menu .search-input-div input").on("keyup", function (e) {
7027    var inputValue = $(this).val();
7028    $(".center_block .stitle_form input").val(inputValue);
7029    if (e.keyCode == 13) {
7030      $(".center_block .stitle_form form").submit();
7031    }
7032  });
7033
7034  $(".center_block .stitle_form input").on("keyup", function (e) {
7035    var inputValue = $(this).val();
7036    $(".mobile_menu .search-input-div input").val(inputValue);
7037    if (e.keyCode == 13) {
7038      $(".center_block .stitle_form form").submit();
7039    }
7040  });
7041
7042  $(".mobile_menu .search-button-div button").on("click", function (e) {
7043    e.preventDefault();
7044    var inputValue = $(this).parents().find("input").val();
7045    $(".center_block .stitle_form input").val(inputValue);
7046    $(".center_block .stitle_form form").submit();
7047  });
7048  /* adaptive menu end */
7049
7050  $(document).on("click", ".mega-menu .dropdown-menu", function (e) {
7051    e.stopPropagation();
7052  });
7053
7054  $(document).on("click", ".mega-menu .dropdown-toggle.more-items", function (e) {
7055    e.preventDefault();
7056  });
7057
7058  $(document).on("mouseenter", "#headerfixed .table-menu .dropdown-menu .dropdown-submenu", function () {
7059    setTimeout(function () {
7060      CheckTopVisibleMenu();
7061    }, 275);
7062  });
7063
7064  $(".mega-menu .search-item .search-icon, .menu-row #title-search .fa-close").on("click", function (e) {
7065    e.preventDefault();
7066    $(".menu-row #title-search").toggleClass("hide");
7067  });
7068
7069  $(".mega-menu ul.nav .search input").on("keyup", function (e) {
7070    var inputValue = $(this).val();
7071    $(".menu-row > .search input").val(inputValue);
7072    if (e.keyCode == 13) {
7073      $(".menu-row > .search form").submit();
7074    }
7075  });
7076
7077  $(".menu-row > .search input").on("keyup", function (e) {
7078    var inputValue = $(this).val();
7079    $(".mega-menu ul.nav .search input").val(inputValue);
7080    if (e.keyCode == 13) {
7081      $(".menu-row > .search form").submit();
7082    }
7083  });
7084
7085  $(".mega-menu ul.nav .search button").on("click", function (e) {
7086    e.preventDefault();
7087    var inputValue = $(this).parents(".search").find("input").val();
7088    $(".menu-and-search .search input").val(inputValue);
7089    $(".menu-row > .search form").submit();
7090  });
7091
7092  $(".btn.btn-add").on("click", function () {
7093    $.ajax({
7094      type: "GET",
7095      url: arAsproOptions["SITE_DIR"] + "ajax/clearBasket.php",
7096      success: function (data) {},
7097    });
7098  });
7099
7100  $(".sort_display a").on("click", function () {
7101    $(this).siblings().removeClass("current");
7102    $(this).addClass("current");
7103  });
7104
7105  /* detail order show payments */
7106  $(".sale-order-detail-payment-options-methods-info-change-link").on("click", function () {
7107    $(this).closest(".sale-order-detail-payment-options-methods-info").addClass("opened").siblings().addClass("opened");
7108  });
7109
7110  /* expand/hide filter values */
7111  $(document).on("click", ".expand_block", function () {
7112    togglePropBlock($(this));
7113  });
7114
7115  /* touch event */
7116  document.addEventListener(
7117    "touchend",
7118    function (event) {
7119      if (!$(event.target).closest(".menu-item").length && !$(event.target).hasClass("menu-item")) {
7120        $(".menu-row .dropdown-menu").css({
7121          display: "none",
7122          opacity: 0,
7123        });
7124        $(".menu-item").removeClass("hover");
7125        $(".bx-breadcrumb-item.drop").removeClass("hover");
7126      }
7127      if (!$(event.target).closest(".menu.topest").length) {
7128        if (window.matchMedia("(max-width: 991px)").matches) {
7129          $(".menu.topest").css({ overflow: "hidden" });
7130        }
7131        $(".menu.topest > li").removeClass("hover");
7132      }
7133      if (!$(event.target).closest(".full.has-child").length) {
7134        $(".menu_top_block.catalog_block li").removeClass("hover");
7135      }
7136      if (!$(event.target).closest(".basket_block").length) {
7137        $(".basket_block .link").removeClass("hover");
7138        $(".basket_block .basket_popup_wrapp").slideUp();
7139      }
7140      if (!$(event.target).closest(".catalog_item").length) {
7141        var tabsContentUnhoverHover = $(".tab:visible").attr("data-unhover") * 1;
7142        $(".tab:visible").stop().animate({ height: tabsContentUnhoverHover }, 100);
7143        $(".tab:visible").find(".catalog_item").removeClass("hover");
7144        $(".tab:visible").find(".catalog_item .buttons_block").stop().fadeOut(233);
7145        if ($(".catalog_block").length) {
7146          $(".catalog_block").find(".catalog_item_wrapp").removeClass("hover");
7147          $(".catalog_block").find(".catalog_item").removeClass("hover");
7148        }
7149      }
7150      //togglePropBlock($(event.target));
7151    },
7152    false
7153  );
7154
7155  touchMenu(".menu-row .menu-item");
7156  touchTopMenu(".menu.topest li");
7157  touchLeftMenu(".menu_top_block:not(.in-search) li.full");
7158  touchBreadcrumbs(".bx-breadcrumb-item.drop");
7159
7160  $(document).on("keyup", ".coupon .input_coupon input", function () {
7161    if ($(this).val().length) {
7162      $(this).removeClass("error");
7163      $(this).closest(".input_coupon").find(".error").remove();
7164    } else {
7165      $(this).addClass("error");
7166      $("<label class='error'>" + BX.message("INPUT_COUPON") + "</label>").insertBefore($(this));
7167    }
7168  });
7169  // showPhoneMask("input[autocomplete=tel]");
7170  BX.addCustomEvent(window, "onAjaxSuccessFilter", function (e) {
7171    setBasketStatusBtn();
7172    checkLinkedArticles();
7173    checkLinkedBlocks(".linked-banners-list");
7174  });
7175
7176  $(document).on("click", ".block_container .items .item.initied", function () {
7177    var _this = $(this),
7178      itemID = _this.data("id"),
7179      animationTime = 200;
7180
7181    _this.closest(".items").fadeOut(animationTime, function () {
7182      _this.closest(".block_container").find(".detail_items").fadeIn(animationTime);
7183      _this
7184        .closest(".block_container")
7185        .find(".detail_items .item[data-id=" + itemID + "]")
7186        .fadeIn(animationTime);
7187
7188      var arCoordinates = _this.data("coordinates").split(",");
7189
7190      if (typeof map !== "undefined") map.setCenter([arCoordinates[0], arCoordinates[1]], 15);
7191    });
7192  });
7193
7194  $(document).on("click", ".block_container .top-close", function () {
7195    var _this = $(this).closest(".block_container").find(".detail_items .item:visible"),
7196      animationTime = 200;
7197    _this.fadeOut(animationTime);
7198    _this
7199      .closest(".block_container")
7200      .find(".detail_items")
7201      .fadeOut(animationTime, function () {
7202        _this.closest(".block_container").find(".items").fadeIn(animationTime);
7203
7204        if (typeof map !== "undefined" && typeof clusterer !== "undefined") {
7205          map.setBounds(clusterer.getBounds(), {
7206            zoomMargin: 40,
7207            // checkZoomRange: true
7208          });
7209        }
7210      });
7211  });
7212
7213  BX.addCustomEvent(window, "onAjaxSuccess", function (e) {
7214    if (e != "OK") {
7215      initSelects(document);
7216      InitOrderCustom();
7217      // showPhoneMask("input[autocomplete=tel]");
7218
7219      if (arAsproOptions["PAGES"]["CATALOG_PAGE"] && $(".catalog_detail").length && !$(".fast_view_frame").length) {
7220        const leftBlock = $(".main-catalog-wrapper > .left_block");
7221        const rightBlock = $(".right_block");
7222
7223        if (!leftBlock.length && rightBlock.hasClass("wide_N")) {
7224          rightBlock.removeClass("wide_N").addClass("wide_Y");
7225        } else if (leftBlock.length && rightBlock.hasClass("wide_Y")) {
7226          rightBlock.removeClass("wide_Y").addClass("wide_N");
7227        }
7228
7229        $(".bx_filter").remove();
7230        InitOwlSlider();
7231      }
7232
7233      if (arAsproOptions["PAGES"]["CATALOG_PAGE"]) {
7234        // initCountdown();
7235
7236        if (typeof window["stickySidebar"] !== "undefined") window["stickySidebar"].updateSticky();
7237      }
7238
7239      if (typeof orderActions === "function") {
7240        orderActions(e);
7241      }
7242
7243      if (e && typeof e === "object" && "action" in e && e.action === "ajaxContentLoadedTab") {
7244        lazyLoadPagenBlock();
7245      }
7246
7247      InitStickySideBar();
7248    }
7249  });
7250
7251  //event for default basket quantity change
7252  BX.addCustomEvent(window, "OnBasketChange", function (e) {
7253    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7254      var summ = 0,
7255        title = "";
7256
7257      if (typeof BX.Sale !== "undefined") {
7258        if (typeof BX.Sale.BasketComponent !== "undefined") {
7259          summ = BX.Sale.BasketComponent.result.allSum;
7260          title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ);
7261        }
7262      } else {
7263        summ = $("#allSum_FORMATED")
7264          .html()
7265          .replace(/&nbsp;/g, " ");
7266        title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ);
7267      }
7268
7269      if ($(".js-basket-block .wrap .prices").length) $(".js-basket-block .wrap .prices").html(summ);
7270      if ($("a.basket-link.basket").length) $("a.basket-link.basket").attr("title", title);
7271      if ($(".basket_fly .opener .basket_count").length) $(".basket_fly .opener .basket_count").attr("title", title);
7272    }
7273  });
7274});
7275
7276if (!funcDefined("setBasketStatusBtn")) {
7277  setBasketStatusBtn = function (type) {
7278    var bSync = typeof type !== undefined;
7279    if (typeof arBasketAspro !== "undefined") {
7280      if ("BASKET" in arBasketAspro) {
7281        // basket items
7282        if (arBasketAspro.BASKET) {
7283          for (var i in arBasketAspro.BASKET) {
7284            $(".to-cart[data-item=" + i + "]").hide();
7285            $(".counter_block[data-item=" + i + "]")
7286              .closest(".counter_block_inner")
7287              .hide();
7288            $(".counter_block[data-item=" + i + "]").hide();
7289            $(".in-cart[data-item=" + i + "]").show();
7290            $(".in-cart[data-item=" + i + "]")
7291              .closest(".button_block")
7292              .addClass("wide");
7293
7294            if ($(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").length) {
7295              $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").addClass("added");
7296              $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").attr(
7297                "title",
7298                $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").data("title2")
7299              );
7300            }
7301          }
7302        }
7303      }
7304
7305      /* services */
7306      if ("SERVICES" in arBasketAspro) {
7307        // services items
7308        $needFillServices = $(".buy_services_wrap[data-parent_product]").length;
7309        if (arBasketAspro.SERVICES && $needFillServices) {
7310          for (var i in arBasketAspro.SERVICES) {
7311            var serviceItem = $(
7312              ".buy_services_wrap[data-parent_product=" +
7313                arBasketAspro.SERVICES[i].link_id +
7314                "] .services-item[data-item_id=" +
7315                arBasketAspro.SERVICES[i].item_id +
7316                "]"
7317            );
7318            serviceItem.find('input[name="buy_switch_services"]').prop("checked", true);
7319            serviceItem.find('.counter_block input[name="quantity"]').val(arBasketAspro.SERVICES[i].quantity);
7320            serviceItem.addClass("services_on");
7321          }
7322        }
7323      }
7324
7325      if ("SUBSCRIBE" in arBasketAspro) {
7326        // subscribe items
7327        if (arBasketAspro.SUBSCRIBE) {
7328          for (var i in arBasketAspro.SUBSCRIBE) {
7329            $(".to-subscribe[data-item=" + i + "]").hide();
7330            $(".in-subscribe[data-item=" + i + "]").show();
7331          }
7332        }
7333      }
7334    }
7335
7336    BX.onCustomEvent("onSetBasketStatusBtn", []);
7337  };
7338}
7339
7340if (!funcDefined("togglePropBlock")) {
7341  togglePropBlock = function (className) {
7342    var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values");
7343    if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) {
7344      if (all_props_block.is(":visible")) {
7345        className.text(BX.message("FILTER_EXPAND_VALUES"));
7346        all_props_block.hide();
7347      } else {
7348        className.text(BX.message("FILTER_HIDE_VALUES"));
7349        all_props_block.show();
7350      }
7351    }
7352  };
7353}
7354
7355if (!funcDefined("showPhoneMask")) {
7356  showPhoneMask = function (className) {
7357    if (typeof appAspro === "object" && appAspro && appAspro.phone) {
7358      appAspro.phone.init($(className));
7359    }
7360  };
7361}
7362
7363if (!funcDefined("getActualBasket")) {
7364  getActualBasket = function (iblockID, type, sync) {
7365    var data = "";
7366    if (typeof iblockID !== "undefined" && iblockID) {
7367      data = { iblockID: iblockID };
7368    }
7369    $.ajax({
7370      type: "GET",
7371      url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
7372      data: data,
7373      success: function (data) {
7374        if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
7375        $(".js_ajax").html(data);
7376
7377        if (typeof sync !== "undefined") {
7378          setBasketStatusBtn(true);
7379        }
7380
7381        if (typeof type !== undefined) {
7382          var eventdata = { action: "loadActualBasket" + type };
7383          BX.onCustomEvent("onCompleteAction", [eventdata]);
7384        }
7385      },
7386    });
7387  };
7388}
7389
7390if (!funcDefined("reloadBasketCounters")) {
7391  reloadBasketCounters = function (count, sync) {
7392    var data = "";
7393    if (count) {
7394      $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text(count);
7395    } else {
7396      $.ajax({
7397        type: "GET",
7398        url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
7399        data: data,
7400        success: function (data) {
7401          if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
7402          $(".js_ajax").html(data);
7403          var countServices =
7404            typeof arBasketAspro.SERVICES !== "undefined" ? Object.keys(arBasketAspro.SERVICES).length : 0;
7405          $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text(
7406            Object.keys(arBasketAspro.BASKET).length + countServices
7407          );
7408          $(".basket-link.delay .count, .wraps_icon_block.delay .count .items > span").text(
7409            arBasketAspro.FAVORITE.COUNT
7410          );
7411          $(".basket-link.compare .count, .wraps_icon_block.compare .count .items > span").text(
7412            arBasketAspro.COMPARE.COUNT
7413          );
7414
7415          if (typeof sync !== "undefined") {
7416            setBasketStatusBtn(true);
7417          }
7418        },
7419      });
7420    }
7421  };
7422}
7423
7424function touchMenu(selector) {
7425  if (isMobile) {
7426    if ($(selector).length) {
7427      $(selector).each(function () {
7428        var th = $(this);
7429        th.on("touchend", function (e) {
7430          var _th = $(e.target).closest(".menu-item");
7431
7432          $(".menu.topest > li").removeClass("hover");
7433          $(".menu_top_block.catalog_block li").removeClass("hover");
7434          $(".bx-breadcrumb-item.drop").removeClass("hover");
7435
7436          if (_th.find(".dropdown-menu").length && !_th.hasClass("hover")) {
7437            e.preventDefault();
7438            e.stopPropagation();
7439            _th.siblings().removeClass("hover");
7440            _th.addClass("hover");
7441            $(".menu-row .dropdown-menu").css({
7442              display: "none",
7443              opacity: 0,
7444            });
7445            if (_th.hasClass("menu-item")) {
7446              _th.closest(".dropdown-menu").css({
7447                display: "block",
7448                opacity: 1,
7449              });
7450            }
7451            if (_th.find("> .wrap > .dropdown-menu")) {
7452              _th.find("> .wrap > .dropdown-menu").css({
7453                display: "block",
7454                opacity: 1,
7455              });
7456            } else if (_th.find("> .dropdown-menu")) {
7457              _th.find("> .dropdown-menu").css({
7458                display: "block",
7459                opacity: 1,
7460              });
7461            }
7462            CheckTopVisibleMenu();
7463          } else {
7464            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7465            if (href && href !== "undefined") location.href = href;
7466          }
7467        });
7468      });
7469    }
7470  } else {
7471    $(selector).off();
7472  }
7473}
7474
7475function touchTopMenu(selector) {
7476  if (isMobile) {
7477    if ($(selector).length) {
7478      $(selector).each(function () {
7479        var th = $(this);
7480        th.on("touchend", function (e) {
7481          var _th = $(e.target).closest("li");
7482
7483          $(".menu-item").removeClass("hover");
7484          $(".menu_top_block.catalog_block li").removeClass("hover");
7485          $(".bx-breadcrumb-item.drop").removeClass("hover");
7486
7487          if (_th.hasClass("more") && !_th.hasClass("hover")) {
7488            e.preventDefault();
7489            e.stopPropagation();
7490            _th.siblings().removeClass("hover");
7491            _th.addClass("hover");
7492            $(".menu.topest").css({ overflow: "visible" });
7493          } else {
7494            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7495            if (href && href !== "undefined") location.href = href;
7496          }
7497        });
7498      });
7499    }
7500  } else {
7501    $(selector).off();
7502  }
7503}
7504
7505function touchLeftMenu(selector) {
7506  if (isMobile) {
7507    if ($(selector).length) {
7508      $(selector).each(function () {
7509        var th = $(this);
7510        th.on("touchend", function (e) {
7511          var _th = $(e.target).closest("li");
7512
7513          $(".menu-item").removeClass("hover");
7514          $(".bx-breadcrumb-item.drop").removeClass("hover");
7515          $(".menu.topest > li").removeClass("hover");
7516
7517          if (_th.hasClass("has-child") && !_th.hasClass("hover")) {
7518            e.preventDefault();
7519            e.stopPropagation();
7520            _th.siblings().removeClass("hover");
7521            _th.addClass("hover");
7522          } else {
7523            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7524            if (href && href !== "undefined") location.href = href;
7525          }
7526        });
7527      });
7528    }
7529  } else {
7530    $(selector).off();
7531  }
7532}
7533
7534function touchBreadcrumbs(selector) {
7535  if (isMobile) {
7536    if ($(selector).length) {
7537      $(selector).each(function () {
7538        var th = $(this);
7539        th.on("touchend", function (e) {
7540          var _th = $(e.target).closest(".bx-breadcrumb-item");
7541
7542          $(".menu-item").removeClass("hover");
7543          $(".menu.topest > li").removeClass("hover");
7544          $(".menu_top_block.catalog_block li").removeClass("hover");
7545
7546          if (!_th.hasClass("hover")) {
7547            e.preventDefault();
7548            e.stopPropagation();
7549            _th.siblings().removeClass("hover");
7550            _th.addClass("hover");
7551          } else {
7552            _th.removeClass("hover");
7553            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7554            if (href && href !== "undefined") location.href = href;
7555          }
7556        });
7557      });
7558    }
7559  } else {
7560    $(selector).off();
7561  }
7562}
7563
7564function touchItemBlock(selector) {}
7565function touchBasket(selector) {
7566  if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
7567    if ($(window).outerWidth() > 600) {
7568      $(document)
7569        .find(selector)
7570        .on("touchend", function (e) {
7571          if ($(this).parent().find(".basket_popup_wrapp").length && !$(this).hasClass("hover")) {
7572            e.preventDefault();
7573            e.stopPropagation();
7574            $(this).addClass("hover");
7575            $(this).parent().find(".basket_popup_wrapp").slideDown();
7576          }
7577        });
7578    } else {
7579      $(selector).off();
7580    }
7581  }
7582}
7583
7584function showTotalSummItem(popup) {
7585  //show total summ
7586  if (
7587    arAsproOptions["THEME"]["SHOW_TOTAL_SUMM_TYPE"] == "ALWAYS" &&
7588    arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y"
7589  ) {
7590    var parent = "body ";
7591    if (typeof popup === "string" && popup == "Y") parent = ".popup ";
7592    $(parent + ".counter_wrapp .counter_block input.text").each(function () {
7593      var _th = $(this);
7594      if (_th.data("product")) {
7595        var obProduct = _th.data("product");
7596        if (typeof window[obProduct] == "object") window[obProduct].setPriceAction("Y");
7597        else setPriceItem(_th.closest(".main_item_wrapper"), _th.val());
7598      } else setPriceItem(_th.closest(".main_item_wrapper"), _th.val());
7599    });
7600  }
7601}
7602
7603function initFull() {
7604  initSelects(document);
7605  initHoverBlock(document);
7606  touchItemBlock(".catalog_item a");
7607  InitOrderCustom();
7608  showTotalSummItem();
7609  basketActions();
7610
7611  if (typeof orderActions === "function") {
7612    orderActions();
7613  }
7614
7615  checkMobileRegion();
7616}
7617
7618checkMobileRegion = function () {
7619  if ($(".confirm_region").length
7619) {
7620    if (!$(".top_mobile_region").length)
7621      $(
7622        '<div class="top_mobile_region"><div class="confirm_wrapper"><div class="confirm_region"></div></div></div>'
7623      ).insertBefore($("#mobileheader"));
7624    $(".top_mobile_region .confirm_region").html($(".confirm_region").html());
7625  }
7626};
7627
7628if (!funcDefined("basketActions")) {
7629  basketActions = function () {
7630    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7631      checkMinPrice();
7632
7633      //remove4Cart
7634      if (typeof BX.Sale !== "undefined" && typeof BX.Sale === "object") {
7635        if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent === "object") {
7636          $(document).on("click", ".basket-item-actions-remove", function () {
7637            var basketID = $(this).closest(".basket-items-list-item-container").data("id");
7638            if (BX.Sale.BasketComponent.items && BX.Sale.BasketComponent.items[basketID]) {
7639              delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID);
7640            }
7641          });
7642        }
7643      }
7644
7645      if (location.hash) {
7646        var hash = location.hash.substring(1);
7647        if ($("#basket_toolbar_button_" + hash).length) $("#basket_toolbar_button_" + hash).trigger("click");
7648
7649        if ($('.basket-items-list-header-filter a[data-filter="' + hash + '"]').length)
7650          $('.basket-items-list-header-filter a[data-filter="' + hash + '"]')[0].click();
7651      }
7652      var svg_cross =
7653        '<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8"><path id="Rounded_Rectangle_568_copy_13" data-name="Rounded Rectangle 568 copy 13" class="cls-1" d="M1615.4,589l2.32,2.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1614,590.4l-2.31,2.315a1,1,0,0,1-1.41,0,0.987,0.987,0,0,1,0-1.4L1612.6,589l-2.32-2.314a0.989,0.989,0,0,1,0-1.4,1,1,0,0,1,1.41,0l2.31,2.315,2.31-2.315a1,1,0,0,1,1.41,0,0.989,0.989,0,0,1,0,1.4Z" transform="translate(-1610 -585)"/></svg>';
7654
7655      $(".bx_sort_container").append(
7656        '<div class="top_control basket_action"><span style="opacity:0;" class="delete_all colored_theme_hover_text remove_all_basket">' +
7657          svg_cross +
7658          BX.message("BASKET_CLEAR_ALL_BUTTON") +
7659          "</span></div>"
7660      );
7661      if ($(".basket-items-list-header-filter").length) {
7662        $(".basket-items-list-header-filter").append(
7663          '<div class="top_control basket_action"><span style="opacity:1;" class="delete_all colored_theme_hover_text remove_all_basket">' +
7664            svg_cross +
7665            BX.message("BASKET_CLEAR_ALL_BUTTON") +
7666            "</span></div>"
7667        );
7668
7669        var cur_index = $(".basket-items-list-header-filter > a.active").index();
7670        //fix delayed
7671        if (cur_index == 3) cur_index = 2;
7672
7673        if ($(".basket-items-list-header-filter > a.active").data("filter") == "all") cur_index = "all";
7674
7675        $(".basket-items-list-header-filter .top_control .delete_all").data("type", cur_index);
7676
7677        $(".basket-items-list-header-filter > a").on("click", function () {
7678          var index = $(this).index();
7679
7680          //fix delayed
7681          if (index == 3) index = 2;
7682
7683          if ($(this).data("filter") == "all") index = "all";
7684
7685          $(".basket-items-list-header-filter .top_control .delete_all").data("type", index);
7686        });
7687      } else {
7688        var cur_index = $(".bx_sort_container a.current").index();
7689        $(".bx_sort_container .top_control .delete_all").data("type", cur_index);
7690        if ($(".bx_ordercart > div:eq(" + cur_index + ") table tbody tr td.item").length)
7691          $(".bx_sort_container .top_control .delete_all").css("opacity", 1);
7692
7693        $(".bx_ordercart .bx_ordercart_coupon #coupon").wrap('<div class="input"></div>');
7694
7695        $(".bx_sort_container > a").on("click", function () {
7696          var index = $(this).index();
7697          $(".bx_sort_container .top_control .delete_all").data("type", index);
7698
7699          if ($(".bx_ordercart > div:eq(" + index + ") table tbody tr td.item").length)
7700            $(".bx_sort_container .top_control .delete_all").css("opacity", 1);
7701          else $(".bx_sort_container .top_control .delete_all").css("opacity", 0);
7702        });
7703      }
7704
7705      $(".basket_print").on("click", function () {
7706        // window.open(location.pathname+"?print=Y",'_blank');
7707        window.print();
7708      });
7709
7710      $(".delete_all").on("click", function () {
7711        if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") {
7712          var eventdata = {
7713            goal: "goal_basket_clear",
7714            params: { type: $(this).data("type") },
7715          };
7716          BX.onCustomEvent("onCounterGoals", [eventdata]);
7717        }
7718        $.post(
7719          arAsproOptions["SITE_DIR"] + "ajax/action_basket.php",
7720          "TYPE=" + $(this).data("type") + "&CLEAR_ALL=Y",
7721          $.proxy(function (data) {
7722            location.reload();
7723          })
7724        );
7725      });
7726
7727      $(".bx_item_list_section .bx_catalog_item").sliceHeight({
7728        row: ".bx_item_list_slide",
7729        item: ".bx_catalog_item",
7730      });
7731
7732      BX.addCustomEvent("onAjaxSuccess", function (e) {
7733        checkMinPrice();
7734
7735        var errorText = $.trim($("#warning_message").text());
7736        $("#basket_items_list .error_text").detach();
7737        if (errorText != "") {
7738          $("#warning_message").hide().text("");
7739          $("#basket_items_list").prepend('<div class="error_text">' + errorText + "</div>");
7740        }
7741
7742        if (typeof e === "object" && e && "BASKET_DATA" in e) {
7743          if ($("#ajax_basket").length) {
7744            reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
7745          }
7746          if ($("#basket_line .basket_fly").length) {
7747            basketFly("open", "N");
7748          }
7749        }
7750        if (checkCounters("google")) {
7751          BX.unbindAll(
7752            BX.Sale.BasketComponent.getEntity(
7753              BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
7754              "basket-checkout-button"
7755            )
7756          );
7757        }
7758      });
7759      if (checkCounters("google")) {
7760        BX.unbindAll(
7761          BX.Sale.BasketComponent.getEntity(
7762            BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
7763            "basket-checkout-button"
7764          )
7765        );
7766      }
7767      $(document).on(
7768        "click",
7769        ".bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout",
7770        function () {
7771          if (checkCounters("google")) {
7772            const gotoOrder = function () {
7773              BX.Sale.BasketComponent.checkOutAction();
7774            };
7775            checkoutCounter(1, "start order", gotoOrder);
7776          }
7777        }
7778      );
7779    }
7780  };
7781}
7782
7783if (!funcDefined("checkMinPrice")) {
7784  checkMinPrice = function () {
7785    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7786      var summ_raw = 0,
7787        summ = 0;
7788      if ($("#allSum_FORMATED").length) {
7789        summ_raw = $("#allSum_FORMATED")
7790          .text()
7791          .replace(/[^0-9\.,]/g, "");
7792        summ = parseFloat(summ_raw);
7793        if ($("#basket_items").length) {
7794          var summ = 0;
7795          $("#basket_items tr").each(function () {
7796            if (typeof $(this).data("item-price") !== "undefined" && $(this).data("item-price"))
7797              summ +=
7798                $(this).data("item-price") *
7799                $(this)
7800                  .find("#QUANTITY_INPUT_" + $(this).attr("id"))
7801                  .val();
7802          });
7803        }
7804        if (!$(".catalog_back").length)
7805          $(".bx_ordercart_order_pay_center").prepend(
7806            '<a href="' +
7807              arAsproOptions["PAGES"]["CATALOG_PAGE_URL"] +
7808              '" class="catalog_back btn btn-default btn-lg white grey">' +
7809              BX.message("BASKET_CONTINUE_BUTTON") +
7810              "</a>"
7811          );
7812      }
7813
7814      if (arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
7815        $(".basket-coupon-section").addClass("smallest");
7816
7817      if (typeof BX.Sale !== "undefined") {
7818        if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent.result !== "undefined")
7819          summ = BX.Sale.BasketComponent.result.allSum;
7820      }
7821
7822      if (arAsproOptions["PRICES"]["MIN_PRICE"]) {
7823        if (arAsproOptions["PRICES"]["MIN_PRICE"] > summ) {
7824          var svgMinPrice =
7825            '<i class="svg  svg-inline-price colored_theme_svg" aria-hidden="true"><svg id="Group_278_copy" data-name="Group 278 copy" xmlns="http://www.w3.org/2000/svg" width="38" height="38" viewBox="0 0 38 38"><path id="Ellipse_305_copy_2" data-name="Ellipse 305 copy 2" class="clswm-1" d="M1851,561a19,19,0,1,1,19-19A19,19,0,0,1,1851,561Zm0-36a17,17,0,1,0,17,17A17,17,0,0,0,1851,525Zm3.97,10.375-0.03.266c-0.01.062-.02,0.127-0.03,0.188l-0.94,7.515h0a2.988,2.988,0,0,1-5.94,0H1848l-0.91-7.525c-0.01-.041-0.01-0.086-0.02-0.128l-0.04-.316h0.01c-0.01-.
7825125-0.04-0.246-0.04-0.375a4,4,0,0,1,8,0c0,0.129-.03.25-0.04,0.375h0.01ZM1851,533a2,2,0,0,0-2,2,1.723,1.723,0,0,0,.06.456L1850,543a1,1,0,0,0,2,0l0.94-7.544A1.723,1.723,0,0,0,1853,535,2,2,0,0,0,1851,533Zm0,14a3,3,0,1,1-3,3A3,3,0,0,1,1851,547Zm0,4a1,1,0,1,0-1-1A1,1,0,0,0,1851,551Z" transform="translate(-1832 -523)"></path>  <path class="clswm-2 op-cls" d="M1853,543l-1,1h-2l-1-1-1-8,1-2,1-1h2l1,1,1,2Zm-1,5,1,1v2l-1,1h-2l-1-1v-2l1-1h2Z" transform="translate(-1832 -523)"></path></svg></i>';
7826          if ($(".oneclickbuy.fast_order").length) $(".oneclickbuy.fast_order").remove();
7827
7828          if ($(".basket-checkout-container").length) {
7829            if (!$(".icon_error_wrapper").length) {
7830              $(".basket-checkout-block.basket-checkout-block-btn").html(
7831                '<div class="icon_error_wrapper"><div class="icon_error_block">' +
7832                  svgMinPrice +
7833                  BX.message("MIN_ORDER_PRICE_TEXT").replace(
7834                    "#PRICE#",
7835                    jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"])
7836                  ) +
7837                  "</div></div>"
7838              );
7839            }
7840          } else {
7841            if (!$(".icon_error_wrapper").length && typeof jsPriceFormat !== "undefined") {
7842              $(".bx_ordercart_order_pay_center").prepend(
7843                '<div class="icon_error_wrapper"><div class="icon_error_block">' +
7844                  svgMinPrice +
7845                  BX.message("MIN_ORDER_PRICE_TEXT").replace(
7846                    "#PRICE#",
7847                    jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"])
7848                  ) +
7849                  "</div></div>"
7850              );
7851            }
7852            if ($(".bx_ordercart_order_pay .checkout").length) $(".bx_ordercart_order_pay .checkout").remove();
7853          }
7854        } else {
7855          if ($(".icon_error_wrapper").length) $(".icon_error_wrapper").remove();
7856
7857          if ($(".basket-checkout-container").length) {
7858            if (
7859              !$(".oneclickbuy.fast_order").length &&
7860              arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" &&
7861              !$(".basket-btn-checkout.disabled").length
7862            )
7863              $(".basket-checkout-section-inner").append(
7864                '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7865                  BX.message("BASKET_QUICK_ORDER_BUTTON") +
7866                  "</span></div>"
7867              );
7868          } else {
7869            if ($(".bx_ordercart_order_pay .checkout").length)
7870              $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1");
7871            else
7872              $(".bx_ordercart_order_pay_center").append(
7873                '<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">' +
7874                  BX.message("BASKET_ORDER_BUTTON") +
7875                  "</a>"
7876              );
7877            if (
7878              !$(".oneclickbuy.fast_order").length &&
7879              arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y"
7880            )
7881              $(".bx_ordercart_order_pay_center").append(
7882                '<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7883                  BX.message("BASKET_QUICK_ORDER_BUTTON") +
7884                  "</span>"
7885              );
7886          }
7887        }
7888      } else {
7889        if ($(".basket-checkout-container").length) {
7890          if (
7891            !$(".oneclickbuy.fast_order").length &&
7892            arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" &&
7893            !$(".basket-btn-checkout.disabled").length
7894          )
7895            $(".basket-checkout-section-inner").append(
7896              '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7897                BX.message("BASKET_QUICK_ORDER_BUTTON") +
7898                "</span></div>"
7899            );
7900        } else {
7901          $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1");
7902          if (!$(".oneclickbuy.fast_order").length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
7903            $(".bx_ordercart_order_pay_center").append(
7904              '<span class="oneclickbuy btn btn-lg fast_order btn-trans
7904parent-border-color" onclick="oneClickBuyBasket()">' +
7905                BX.message("BASKET_QUICK_ORDER_BUTTON") +
7906                "</span>"
7907            );
7908        }
7909      }
7910
7911      showBasketShareBtn();
7912      showBasketHeadingBtn();
7913
7914      $("#basket-root .basket-checkout-container .basket-checkout-section .basket-checkout-block .basket-btn-checkout");
7915      $("#basket-root .basket-checkout-container").addClass("visible");
7916    }
7917  };
7918}
7919
7920var isFrameDataReceived = false;
7921if (typeof window.frameCacheVars !== "undefined") {
7922  BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) {
7923    console.log(response);
7924  });
7925
7926  BX.addCustomEvent("onFrameDataReceivedBefore", function () {
7927    // stop ya metrika webvisor DOM indexer
7928    pauseYmObserver();
7929  });
7930
7931  BX.addCustomEvent("onFrameDataReceived", function (json) {
7932    initFull();
7933
7934    CheckTopMenuDotted();
7935
7936    checkLinkedArticles();
7937    checkLinkedBlocks(".linked-banners-list");
7938
7939    if ($(".logo-row.v2").length) {
7940      $(window).resize(); // need to check resize flexslider & menu
7941      setTimeout(function () {
7942        CheckTopMenuDotted();
7943      }, 100);
7944    }
7945
7946    if (funcDefined("setNewHeader")) {
7947      if (typeof BX === "object" && (BX.message("TYPE_SKU") != "TYPE_1" || BX.message("HAS_SKU_PROPS") != "Y")) {
7948        setNewHeader();
7949      } else {
7950        var objNameWrapper = $(".bx_catalog_item_scu[id]");
7951        if (objNameWrapper.length) {
7952          var id = "ob" + objNameWrapper.attr("id").replace("_skudiv", "");
7953          if (id && window[id] !== undefined) {
7954            var obj = window[id].offers[window[id].offerNum];
7955            if (obj !== undefined) {
7956              setNewHeader(obj);
7957            }
7958          }
7959        }
7960      }
7961    }
7962
7963    typeof InitAppear === 'function' && InitAppear();
7964
7965    // resume ya metrika webvisor
7966    // (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload)
7967    setTimeout(resumeYmObserver, 400);
7968
7969    isFrameDataReceived = true;
7970  });
7971} else {
7972  $(document).ready(initFull);
7973}
7974
7975if (!funcDefined("setHeightBlockSlider")) {
7976  setHeightBlockSlider = function () {
7977    /*$(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item-title" });
7978    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item_info" });
7979    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".catalog_item" });
7980
7981    var sliderWidth = $(document).find(".specials.tab_slider_wrapp").outerWidth();
7982
7983    var iCountTabs = $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").length;
7984
7985    if (iCountTabs <= 1) {
7986      $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").css("height", "");
7987
7988      var itemsButtonsHeight = 0;
7989      if ($(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button").length) {
7990        $(document)
7991          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7992          .css("height", "auto");
7993        itemsButtonsHeight = $(document)
7994          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7995          .height();
7996        $(document)
7997          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7998          .css("height", "");
7999      }
8000      var tabsContentUnhover = $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").height() * 1;
8001      var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
8002      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-unhover", tabsContentUnhover);
8003      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-hover", tabsContentHover);
8004      $(document).find(".specials.tab_slider_wrapp .tabs_content").height(tabsContentUnhover);
8005      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport").height(tabsContentUnhover);
8006    } else {
8007      $(document)
8008        .find(".specials.tab_slider_wrapp .tabs_content > li.cur")
8009        .each(function () {
8010          var _th = $(this);
8011          _th.css("height", "");
8012
8013          var itemsButtonsHeight = 0;
8014          if (_th.find(".tabs_slider li .footer_button").length) {
8015            _th.find(".tabs_slider li .footer_button").css("height", "auto");
8016            itemsButtonsHeight = _th.find(".tabs_slider li .footer_button").height();
8017            _th.find(".tabs_slider li .footer_button").css("height", "");
8018          }
8019
8020          var tabsContentUnhover = _th.height() * 1;
8021          var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
8022          _th.attr("data-unhover", tabsContentUnhover);
8023          _th.attr("data-hover", tabsContentHover);
8024          _th.parent().height(tabsContentUnhover);
8025          _th.find(".flex-viewport").height(tabsContentUnhover);
8026        });
8027    }*/
8028  };
8029}
8030
8031if (!funcDefined("checkTopFilter")) {
8032  checkTopFilter = function () {};
8033}
8034
8035if (!funcDefined("checkStickyFooter")) {
8036  checkStickyFooter = function () {};
8037}
8038
8039if (!funcDefined("checkLinkedArticles")) {
8040  checkLinkedArticles = function () {
8041    try {
8042      if ($(".linked-blog-list.content .item-views").length) {
8043        var mobileRow = $(".linked-blog-list").data("mobile_row"),
8044          desktopRow = $(".linked-blog-list").data("desktop_row"),
8045          parentBlock = $(".ajax_load .js_append"),
8046          widthRow = parentBlock.getFloatWidth(),
8047          elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(),
8048          elementsCount = parentBlock.find("> .item").length,
8049          slice = Math.floor(widthRow / elementWidthRow),
8050          rowInsertCount = Math.floor(elementsCount / slice),
8051          bCalculateRows = false;
8052        if (window.matchMedia("(max-width: 767px)").matches) {
8053          if (!mobileRow && desktopRow) {
8054            mobileRow = desktopRow;
8055          }
8056          if (mobileRow && mobileRow <= rowInsertCount) {
8057            rowInsertCount = slice * mobileRow;
8058            bCalculateRows = true;
8059          }
8060        } else {
8061          if (desktopRow && desktopRow <= rowInsertCount) {
8062            rowInsertCount = slice * desktopRow;
8063            bCalculateRows = true;
8064          }
8065        }
8066        if (!bCalculateRows) {
8067          rowInsertCount = elementsCount;
8068        }
8069
8070        var linkedBlock = ".linked-blog-list";
8071        var blockInItems = parentBlock.find(linkedBlock);
8072        if (blockInItems.length) {
8073          $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8074          setTimeout(function () {
8075            $(blockInItems).addClass("visible");
8076          }, 0);
8077        } else {
8078          var cloneBlock = $(linkedBlock).clone();
8079          var owlBlock = cloneBlock.find(".owl-carousel-wait");
8080          cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8081          owlBlock.removeClass("owl-carousel-wait").addClass("swiper");
8082          setTimeout(function () {
8083            cloneBlock.addClass("visible");
8084            initSwiperSlider();
8085            owlBlock.removeClass("loader_circle");
8086          }, 1);
8087        }
8088      }
8089    } catch (e) {
8090      console.error(e);
8091    }
8092  };
8093}
8094
8095if (!funcDefined("checkLinkedBlocks")) {
8096  checkLinkedBlocks = function (linkedBlock) {
8097    if (!linkedBlock) linkedBlock = ".linked-banners-list";
8098
8099    try {
8100      if ($(linkedBlock + ".content" + " div").length) {
8101        var mobileRow = $(linkedBlock).data("mobile_row"),
8102          desktopRow = $(linkedBlock).data("desktop_row"),
8103          wrapperBlock = $(".ajax_load .js_wrapper_items"),
8104          parentBlock = $(".ajax_load .js_append"),
8105          widthRow = wrapperBlock.getFloatWidth(),
8106          elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(),
8107          elementsCount = parentBlock.find("> .item").length,
8108          slice = Math.floor(widthRow / elementWidthRow),
8109          rowInsertCount = Math.floor(elementsCount / slice),
8110          bCalculateRows = false;
8111        if (window.matchMedia("(max-width: 767px)").matches) {
8112          if (!mobileRow && desktopRow) {
8113            mobileRow = desktopRow;
8114          }
8115          if (mobileRow && mobileRow <= rowInsertCount) {
8116            rowInsertCount = slice * mobileRow;
8117            bCalculateRows = true;
8118          }
8119        } else {
8120          if (desktopRow && desktopRow <= rowInsertCount) {
8121            rowInsertCount = slice * desktopRow;
8122            bCalculateRows = true;
8123          }
8124        }
8125        if (!bCalculateRows) {
8126          rowInsertCount = elementsCount;
8127        }
8128        var blockInItems = parentBlock.find(linkedBlock);
8129        if (blockInItems.length) {
8130          $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8131          setTimeout(function () {
8132            $(blockInItems).addClass("visible");
8133          }, 0);
8134        } else {
8135          var cloneBlock = $(linkedBlock).clone();
8136          var owlBlock = cloneBlock.find(".owl-carousel-wait");
8137          cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8138          owlBlock.removeClass("owl-carousel-wait").addClass("swiper");
8139          setTimeout(function () {
8140            cloneBlock.addClass("visible");
8141            initSwiperSlider();
8142            owlBlock.removeClass("loader_circle");
8143          }, 1);
8144        }
8145      }
8146    } catch (e) {
8147      console.error(e);
8148    }
8149  };
8150}
8151
8152/* EVENTS */
8153var timerResize = false,
8154  ignoreResize = [];
8155$(window).resize(function () {
8156  checkLinkedArticles();
8157  checkLinkedBlocks(".linked-banners-list");
8158
8159  // here immediate functions
8160  if (!ignoreResize.length) {
8161    if (timerResize) {
8162      clearTimeout(timerResize);
8163      timerResize = false;
8164    }
8165    timerResize = setTimeout(function () {
8166      // here delayed functions in event
8167      BX.onCustomEvent("onWindowResize", false);
8168    }, 50);
8169  }
8170});
8171
8172var timerScroll = false,
8173  ignoreScroll = [],
8174  documentScrollTopLast = window.pageYOffset,
8175  startScroll = 0;
8176$(window).scroll(function () {
8177  // here immediate functions
8178  documentScrollTopLast = window.pageYOffset;
8179  SetFixedAskBlock();
8180
8181  if (!ignoreScroll.length) {
8182    if (timerScroll) {
8183      clearTimeout(timerScroll);
8184      timerScroll = false;
8185    }
8186    timerScroll = setTimeout(function () {
8187      // here delayed functions in event
8188      BX.onCustomEvent("onWindowScroll", false);
8189    }, 50);
8190  }
8191});
8192
8193BX.addCustomEvent("onWindowResize", function (eventdata) {
8194  try {
8195    ignoreResize.push(true);
8196
8197    CheckTabActive();
8198    CheckTopMenuFullCatalogSubmenu();
8199
8200    if (window.matchMedia("(min-width:768px)").matches) {
8201      closeYandexMap();
8202    }
8203
8204    if ($("nav.mega-menu.sliced").length) $("nav.mega-menu.sliced").removeClass("initied");
8205    CheckTopMenuDotted();
8206
8207    CheckTopVisibleMenu();
8208
8209    checkScrollToTop();
8210    CheckObjectsSizes();
8211
8212    initSly();
8213
8214    // checkVerticalMobileFilter();
8215    if (typeof checkMobilePhone === "function") {
8216      checkMobilePhone();
8217    }
8218    checkTopFilter();
8219    if (typeof checkMobileFilter === "function") {
8220      checkMobileFilter();
8221    }
8222
8223    if (typeof window["stickySidebar"] !== "undefined") {
8224      if (window.matchMedia("(max-width: 991px)").matches) {
8225        window["stickySidebar"].destroy();
8226      } else {
8227        window["stickySidebar"].bindEvents();
8228      }
8229    }
8230
8231    if ($(".flexslider.wsmooth").length) {
8232      $(".flexslider.wsmooth").each(function () {
8233        $(this).data("flexslider").smoothHeight();
8234      });
8235    }
8236
8237    if (window.matchMedia("(min-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile");
8238
8239    if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile");
8240
8241    if ($("#basket_form").length && $(window).outerWidth() <= 600) {
8242      $("#basket_form .tabs_content.basket > li.cur td").each(function () {
8243        $(this).css("width", "");
8244      });
8245    }
8246
8247    $(".bx_filter_section .bx_filter_select_container").each(function () {
8248      var prop_id = $(this).closest(".bx_filter_parameters_box").attr("property_id");
8249      if ($("#smartFilterDropDown" + prop_id).length) {
8250        $("#smartFilterDropDown" + prop_id).css("max-width", $(this).width());
8251      }
8252    });
8253  } catch (e) {
8254    console.log(e);
8255  } finally {
8256    ignoreResize.pop();
8257  }
8258});
8259
8260BX.addCustomEvent("onWindowScroll", function (eventdata) {
8261  try {
8262    ignoreScroll.push(true);
8263  } catch (e) {
8264  } finally {
8265    ignoreScroll.pop();
8266  }
8267});
8268
8269BX.addCustomEvent("onSlideInit", function (eventdata) {
8270  try {
8271    ignoreResize.push(true);
8272    if (eventdata) {
8273      var slider = eventdata.slider;
8274      if (slider) {
8275        if (slider.hasClass("small-gallery")) $(window).resize();
8276        // add classes .curent & .shown to slide
8277        slider.find(".item").removeClass("current");
8278        var curSlide = slider.find(".item.flex-active-slide"),
8279          curSlideId = curSlide.attr("id"),
8280          nav = slider.find(".flex-direction-nav");
8281
8282        curSlide.addClass("current");
8283
8284        slider.find(".visible").css("opacity", "1");
8285        slider.find(".height0").css("height", "auto");
8286
8287        if (curSlide.hasClass("shown")) {
8288          slider.find(".item.clone[id=" + curSlideId + "_clone]").addClass("shown");
8289        }
8290
8291        curSlide.addClass("shown");
8292      }
8293    }
8294  } catch (e) {
8295  } finally {
8296    ignoreResize.pop();
8297  }
8298});
8299
8300BX.addCustomEvent("onCounterGoals", function (eventdata) {
8301  if (arAsproOptions["THEME"]["YA_GOALS"] == "Y" && arAsproOptions["THEME"]["YA_COUNTER_ID"]) {
8302    var idCounter = arAsproOptions["THEME"]["YA_COUNTER_ID"];
8303    idCounter = parseInt(idCounter);
8304
8305    if (typeof eventdata != "object") eventdata = { goal: "undefined" };
8306
8307    if (typeof eventdata.goal != "string") eventdata.goal = "undefined";
8308
8309    if (idCounter) {
8310      try {
8311        waitCounter(idCounter, 50, function () {
8312          var obCounter = window["yaCounter" + idCounter];
8313          if (typeof obCounter == "object") {
8314            obCounter.reachGoal(eventdata.goal);
8315          }
8316        });
8317      } catch (e) {
8318        console.error(e);
8319      }
8320    } else {
8321      console.info("Bad counter id!", idCounter);
8322    }
8323  }
8324});
8325
8326$(document).on("click", ".catalog_reviews_extended span.dropdown-select__list-link", function () {
8327  var _this = $(this);
8328  var ajaxData = _this.data("review_sort_ajax");
8329  var container = _this.closest(".blog-comments");
8330  containerId = container.attr("id");
8331  if (containerId !== undefined && containerId) {
8332    ajaxData.containerId = containerId;
8333  }
8334  if (ajaxData !== undefined) {
8335    container.addClass("blur");
8336    $.ajax({
8337      type: "post",
8338      data: ajaxData,
8339      success: function (html) {
8340        $("#reviews_sort_continer").html(html);
8341        container.removeClass("blur");
8342      },
8343    });
8344  }
8345});
8346
8347$(document).on("change", ".filter-panel__sort-form input", function () {
8348  const _this = $(this);
8349  const $form = _this.closest("form")[0];
8350  const $container = _this.closest(".blog-comments");
8351  const method = $form.method;
8352  const formData = new FormData($form);
8353
8354  if ($container.length) {
8355    $container.addClass("blur");
8356    formData.append("containerId", $container.attr("id"));
8357  }
8358
8359  $.ajax({
8360    data: formData,
8361    type: method,
8362    processData: false,
8363    contentType: false,
8364    success: function (html) {
8365      $("#reviews_sort_continer").html(html);
8366      $container.removeClass("blur");
8367    },
8368  });
8369});
8370
8371$(document).on("click", ".rating_vote:not(.disable)", function () {
8372  var _this = $(this);
8373  var action = _this.data("action");
8374  var parent = _this.closest(".rating-vote");
8375  var commentId = parent.data("comment_id");
8376  var userId = parent.data("user_id");
8377  var ajaxUrl = parent.data("ajax_url");
8378  $.ajax({
8379    url: ajaxUrl,
8380    dataType: "json",
8381    data: { commentId: commentId, action: action, userId: userId },
8382    success: function (data) {
8383      if (data.LIKE !== undefined) {
8384        _this.siblings(".rating-vote-result.like").text(data.LIKE);
8385      }
8386      if (data.DISLIKE !== undefined) {
8387        _this.siblings(".rating-vote-result.dislike").text(data.DISLIKE);
8388      }
8389      if (data.SET_ACTIVE_LIKE !== undefined) {
8390        parent.find(".rating_vote.plus").toggleClass("active");
8391      }
8392      if (data.SET_ACTIVE_DISLIKE !== undefined) {
8393        parent.find(".rating_vote.minus").toggleClass("active");
8394      }
8395    },
8396  });
8397});
8398
8399function fileInputInit(message, reviews = "N") {
8400  $('input[type=file]:not(".uniform-ignore")').uniform({
8401    fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
8402    fileDefaultHtml: message,
8403  });
8404  $(document).on("change", "input[type=file]", function () {
8405    if ($(this).val()) {
8406      $(this).closest(".uploader").addClass("files_add");
8407    } else {
8408      $(this).closest(".uploader").removeClass("files_add");
8409    }
8410  });
8411  $(".form .add_file").on("click", function () {
8412    var index = $(this).closest(".form-group").find("input[type=file]").length;
8413    let inputFormGroup = $(this).closest(".form-group").find(".input");
8414    if (reviews === "Y") {
8415      inputFormGroup.append(
8416        '<input type="file" class="form-control" tabindex="3" id="comment_images" name="comment_images[]" value=""  />'
8417      );
8418    } else {
8419      inputFormGroup.append(
8420        '<input type="file" id="POPUP_FILE' + index + '" name="FILE_n' + index + '"   class="inputfile" value="" />'
8421      );
8422    }
8423
8424    $('input[type=file]:not(".uniform-ignore")').uniform({
8425      fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
8426      fileDefaultHtml: message,
8427    });
8428  });
8429}
8430
8431function declOfNum(number, titles) {
8432  var cases = [2, 0, 1, 1, 1, 2];
8433  return number + " " + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]];
8434}
8435
8436function array_values_js(input) {
8437  var tmp_arr = new Array(),
8438    cnt = 0;
8439  for (key in input) {
8440    tmp_arr[cnt] = input[key];
8441    cnt++;
8442  }
8443
8444  return tmp_arr;
8445}
8446
8447$(document).on("input", ".bx_filter_parameters_box_container input[type=text], .inputdecimal", function () {
8448  this.value = this.value.replace(/[^\d\.\-]/g, "");
8449});

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.