PageSourceSearch

https://mx-sport36.ru/bitrix/templates/aspro_max/js/main.js

js mx-sport36.ru collected 2026-10-01 12:38:46 UTC 301,132 bytes, 8,441 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    // update preview when lazyloaded
3144
3145    instance.Thumbs.$grid.find(".fancybox-thumbs__list a").each(function (i, el) {
3146      const path = instance.group[i].thumb || instance.group[i].src;
3147
3148      $(el).css("background-image", "url('" + encodeURI(path) + "')");
3149    });
3150    const SLIDER_RESIZE_BREAKPOINT = 600;
3151    const $swiperSlides = $(".fancybox-thumbs__list a");
3152    const $swiperWrapper = $(".fancybox-thumbs__list");
3153    const sliderDirection = window.innerWidth >= SLIDER_RESIZE_BREAKPOINT ? "vertical" : "horizontal";
3154
3155    const options = {
3156      centerInsufficientSlides: true,
3157      direction: sliderDirection,
3158      mousewheelControl: true,
3159      setWrapperSize: true,
3160      slidesPerView: 3,
3161      spaceBetween: 16,
3162      breakpoints: {
3163        400: {
3164          slidesPerView: 5,
3165        },
3166      },
3167    };
3168
3169    if ($swiperSlides.length > 5) {
3170      options.navigation = {
3171        nextEl: ".fancybox-thumbs__wrapper .swiper-button-next",
3172        prevEl: ".fancybox-thumbs__wrapper .swiper-button-prev",
3173      };
3174    }
3175
3176    $(".fancybox-thumbs").wrapInner(
3177      "<div class='fancybox-thumbs__wrapper'><div class='swiper' data-plugin-options='" +
3178        JSON.stringify(options) +
3179        "' /></div>"
3180    );
3181    const $swiperContainerWrapper = $(".fancybox-thumbs__wrapper");
3182
3183    if ($swiperSlides.length > 5) {
3184      $swiperContainerWrapper.append(
3185        "<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>"
3186      );
3187      $swiperContainerWrapper.prepend(
3188        "<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>"
3189      );
3190    }
3191    $swiperWrapper.addClass("swiper-wrapper");
3192    $swiperSlides.addClass("swiper-slide");
3193
3194    initSwiperSlider(".fancybox-thumbs .swiper");
3195
3196    const swiper = $(".fancybox-thumbs .swiper").data("swiper");
3197
3198    swiper.slideTo(instance.curPos, 10);
3199    swiper.on("resize", function () {
3200      if (window.innerWidth >= SLIDER_RESIZE_BREAKPOINT && options.direction === "horizontal") {
3201        options.direction = "vertical";
3202        swiper.changeDirection(options.direction, false);
3203        $swiperWrapper.css("width", "auto");
3204        swiper.update();
3205      } else if (window.innerWidth < SLIDER_RESIZE_BREAKPOINT && options.direction === "vertical") {
3206        options.direction = "horizontal";
3207        swiper.changeDirection(options.direction, false);
3208        $swiperWrapper.css("height", "auto");
3209        swiper.update();
3210      }
3211    });
3212  }
3213};
3214
3215fancyBoxOpts = {
3216  padding: [40, 40, 64, 40],
3217  openEffect: "fade",
3218  closeEffect: "fade",
3219  nextEffect: "fade",
3220  prevEffect: "fade",
3221  opacity: true,
3222  tpl: {
3223    closeBtn:
3224      '<span title="' +
3225      BX.message("FANCY_CLOSE") +
3226      '" 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>',
3227    next:
3228      '<a title="' +
3229      BX.message("FANCY_NEXT") +
3230      '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3231    prev:
3232      '<a title="' +
3233      BX.message("FANCY_PREV") +
3234      '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3235  },
3236  btnTpl: {
3237    close:
3238      '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
3239      '<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>' +
3240      "</button>",
3241
3242    arrowLeft:
3243      '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
3244      '<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>' +
3245      "</button>",
3246
3247    arrowRight:
3248      '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
3249      '<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>' +
3250      "</button>",
3251  },
3252  touch: "enabled",
3253  buttons: ["close"],
3254  thumbs: {
3255    autoStart: true,
3256  },
3257  backFocus: false,
3258  onActivate: function (instance) {
3259    InitFancyboxThumbnailsGallery(instance);
3260  },
3261  beforeShow: function (instance, current) {
3262    if ($(".fancybox-thumbs .swiper").length) {
3263      const swiper = $(".fancybox-thumbs .swiper").data("swiper");
3264
3265      swiper.slideTo(current.index);
3266    }
3267    let bCurrentSrc = typeof current !== "undefined" && current.contentType == "html" && $(current.src).length;
3268
3269    if (bCurrentSrc) {
3270      let $companyBlock = current.src.closest(".company-block");
3271      if ($companyBlock.length) {
3272        var $video_block = $companyBlock.find(".video")[0];
3273        if ($video_block && !$video_block.nextElementSibling) {
3274          $videoContent = $video_block.content.cloneNode(true);
3275          $source = $videoContent.querySelector(".video-block");
3276          $source.setAttribute("src", $source.dataset["src"]);
3277          $video_block.parentNode.insertBefore($videoContent, $video_block.nextSibling);
3278        }
3279
3280        var video_block_frame = $companyBlock.find(".video-block__iframe");
3281        if (video_block_frame.length) {
3282          var data_src_iframe = video_block_frame.attr("data-src");
3283          video_block_frame.attr("src", data_src_iframe);
3284          video_block_frame.attr("allow", "autoplay");
3285        }
3286      }
3287    }
3288  },
3289  afterShow: function (instance, current) {
3290    if ($(".fancybox-overlay").css("opacity") == 0) {
3291      setTimeout(function () {
3292        $(".fancybox-overlay").css("opacity", 1);
3293        $("html").addClass("overflow_html");
3294      }, 200);
3295    }
3296
3297    $(".fancybox-nav").css("opacity", 0);
3298    setTimeout(function () {
3299      $(".fancybox-nav").css("opacity", 1);
3300    }, 150);
3301
3302    if ($(".fancybox-inner .video-block").length) {
3303      // var fancyHeight = $('.fancybox-wrap').height();
3304      // $('.fancybox-inner').height(fancyHeight);
3305      setTimeout(function () {
3306        $(".fancybox-wrap video").resize();
3307        setTimeout(function () {
3308          $(".fancybox-wrap").addClass("show_video");
3309          document.getElementById("company_video").currentTime = 0;
3310          document.getElementById("company_video").play();
3311        }, 300);
3312      }, 150);
3313    } else if ($(".fancybox-wrap iframe").length) {
3314      $(".fancybox-inner").height("100%");
3315    }
3316  },
3317  beforeClose: function () {
3318    $(".fancybox-overlay").fadeOut();
3319    $("html").removeClass("overflow_html");
3320
3321    if ($("#company_video").length) {
3322      document.getElementById("company_video").currentTime = 0;
3323    }
3324
3325    var video_block_frame = $(".company-block .video-block");
3326    if (video_block_frame.length) {
3327      $(".video-block__iframe").attr("src", "");
3328    }
3329  },
3330  onClosed: function () {
3331    if ($(".fancybox-wrap #company_video").length) {
3332      document.getElementById("company_video").pause();
3333    }
3334  },
3335};
3336
3337InitFancyBox = function () {
3338  if (typeof $.fn.fancybox !== "function") {
3339    return;
3340  }
3341
3342  if (!$(".fancy").length) {
3343    return;
3344  }
3345
3346  $(".fancy").fancybox(fancyBoxOpts);
3347};
3348
3349InitFancyBoxVideo = function () {
3350  if (typeof $.fn.fancybox !== "function") {
3351    return;
3352  }
3353
3354  if (!$(".video_link").length) {
3355    return;
3356  }
3357  $(".video_link").fancybox({
3358    type: "iframe",
3359    iframe: {
3360      preload: false,
3361    },
3362    maxWidth: 800,
3363    maxHeight: 600,
3364    fitToView: false,
3365    width: "70%",
3366    height: "70%",
3367    autoSize: false,
3368    closeClick: false,
3369    opacity: true,
3370    tpl: {
3371      closeBtn:
3372        '<span title="' +
3373        BX.message("FANCY_CLOSE") +
3374        '" 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>',
3375      next:
3376        '<a title="' +
3377        BX.message("FANCY_NEXT") +
3378        '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
3379      prev:
3380        '<a title="' +
3381        BX.message("FANCY_PREV") +
3382        '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
3383    },
3384    afterShow: function () {
3385      if ($(".fancybox-overlay").css("opacity") == 0) {
3386        setTimeout(function () {
3387          $(".fancybox-overlay").css("opacity", 1);
3388          $("html").addClass("overflow_html");
3389        }, 200);
3390      }
3391
3392      $(".fancybox-nav").css("opacity", 0);
3393      setTimeout(function () {
3394        $(".fancybox-nav").css("opacity", 1);
3395      }, 150);
3396      if ($(".fancybox-wrap iframe").length) {
3397        $(".fancybox-inner").height("100%");
3398      }
3399    },
3400    beforeClose: function () {
3401      $(".fancybox-overlay").fadeOut();
3402      $("html").removeClass("overflow_html");
3403    },
3404  });
3405};
3406
3407InitStickySideBar = function (el, container_el) {
3408  var block = ".sticky-sidebar",
3409    container_catalog = ".wraps .wrapper_inner .container_inner .main-catalog-wrapper",
3410    container = ".wraps .wrapper_inner .container_inner";
3411  if (typeof el !== "undefined") block = el;
3412
3413  if ($(container_catalog).length) container = container_catalog;
3414
3415  if (typeof container_el !== "undefined") container = container_el;
3416
3417  if ($(block).length && arAsproOptions["THEME"]["STICKY_SIDEBAR"] != "N") {
3418    if (typeof window["stickySidebar"] !== "undefined") {
3419      window["stickySidebar"].destroy();
3420    }
3421
3422    window["stickySidebar"] = new StickySidebar(block, {
3423      topSpacing: 60,
3424      bottomSpacing: 20,
3425      containerSelector: container,
3426      resizeSensor: true,
3427      innerWrapperSelector: ".sticky-sidebar__inner",
3428    });
3429
3430    if ($(".sticky-sidebar .sticky-sidebar__inner .banner img").length) {
3431      $(".sticky-sidebar .sticky-sidebar__inner .banner img")[0].onload = function () {
3432        if (typeof window["stickySidebar"] !== "undefined") {
3433          window["stickySidebar"].updateSticky();
3434        }
3435      };
3436    }
3437  }
3438};
3439
3440InitOwlSlider = function () {
3441  if (typeof $.fn.owlCarousel !== "function") {
3442    return;
3443  }
3444  $(".owl-carousel:not(.owl-loaded):not(.appear-block)").each(function () {
3445    var slider = $(this);
3446    var options;
3447    var svg =
3448      '<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>';
3449    var defaults = {
3450      navText: [
3451        '<i class="svg left colored_theme_hover_text">' + svg + "</i>",
3452        '<i class="svg right colored_theme_hover_text">' + svg + "</i>",
3453      ],
3454    };
3455    var config = $.extend({}, defaults, options, slider.data("plugin-options"));
3456
3457    slider.on("initialized.owl.carousel", function (event) {
3458      var eventdata = { slider: event };
3459      BX.onCustomEvent("onSliderInitialized", [eventdata]);
3460      BX.onCustomEvent("onSlide", [eventdata]);
3461
3462      $(event.target).removeClass("loading-state");
3463      $(event.target).find(".owl-item:first").addClass("current");
3464
3465      if ($(event.target).hasClass("catalog_block")) {
3466        if (typeof sliceItemBlockSlide === "function") {
3467          sliceItemBlockSlide();
3468        }
3469      }
3470
3471      if (typeof window["stickySidebar"] !== "undefined") {
3472        window["stickySidebar"].updateSticky();
3473      }
3474    });
3475    // if slider was inited on animated scrolling to block, than need rescroll
3476    if ($("body.scrolling-state").length) {
3477      slider.on("initialized.owl.carousel", function (event) {
3478        setTimeout(function () {
3479          scrollToBlock.rescroll();
3480        }, 100);
3481      });
3482    }
3483
3484    slider.on("change.owl.carousel", function (event) {
3485      // var eventdata = {slider: $(event.target)};
3486      // BX.onCustomEvent('onSlide', [eventdata]);
3487    });
3488
3489    slider.owlCarousel(config);
3490
3491    slider.on("resized.owl.carousel", function (event) {
3492      if (typeof sliceItemBlockSlide === "function") {
3493        sliceItemBlockSlide({ resize: false });
3494      }
3495    });
3496
3497    slider.on("changed.owl.carousel", function (event) {
3498      var $slider = $(event.target);
3499      var sliderData = $slider.data("owl.carousel");
3500      var pluginOptions = $slider.data("pluginOptions");
3501
3502      var eventdata = { slider: $slider, data: event };
3503      BX.onCustomEvent("onSlide", [eventdata]);
3504
3505      if (pluginOptions) {
3506        // click .ajax_load_btn
3507        if ($slider.parent().find(".ajax_load_btn").length) {
3508          if (sliderData._current + 1 + sliderData.settings.items >= sliderData._items.length) {
3509            $slider.parent().find(".ajax_load_btn").trigger("click");
3510          }
3511        }
3512        if (typeofExt(pluginOptions) === "object") {
3513          if ("index" in pluginOptions) {
3514            if ($(".gallery-view_switch").length) {
3515              $(".gallery-view_switch__count-wrapper--big .gallery-view_switch__count-value").text(
3516                event.item.index + 1 + "/" + event.item.count
3517              );
3518            }
3519          }
3520
3521          if ("relatedTo" in $(event.target).data("pluginOptions")) {
3522            var relatedClass = $(event.target).data("pluginOptions").relatedTo,
3523              relatedBlock = $(relatedClass);
3524
3525            if (relatedBlock.length && $(event.target).data("owl.carousel")) {
3526              if (!$(event.target).data("owl.carousel").loop) {
3527                var current = event.item.index;
3528              } else {
3529                var count = event.item.count - 1;
3530                var current = Math.round(event.item.index - event.item.count / 2 - 0.5);
3531
3532                if (current < 0) current = count;
3533
3534                if (current > count) current = 0;
3535              }
3536
3537              relatedBlock.find(".owl-item").removeClass("current").eq(current).addClass("current");
3538
3539              var onscreen = relatedBlock.find(".owl-item.active").length - 1;
3540              var start = relatedBlock.find(".owl-item.active").first().index();
3541              var end = relatedBlock.find(".owl-item.active").last().index();
3542
3543              if (current > end) relatedBlock.data("owl.carousel").to(current, 100, true);
3544
3545              if (current < start) relatedBlock.data("owl.carousel").to(current - onscreen, 100, true);
3546              // $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel])
3547            }
3548          }
3549        }
3550      }
3551    });
3552
3553    slider.on("translated.owl.carousel", function (event) {});
3554
3555    if ("clickTo" in config) {
3556      var relatedClass = config.clickTo,
3557        magnifier = "magnifier" in config;
3558
3559      slider.on("click", ".owl-item", function (e) {
3560        e.preventDefault();
3561        var _this = $(this),
3562          number = _this.index();
3563
3564        if (magnifier) {
3565          if ($(relatedClass).closest(".product-container").find(".zoom_picture").length) {
3566            $(relatedClass)
3567              .closest(".product-container")
3568              .find(".zoom_picture")
3569              .attr("data-large", _this.find(".product-detail-gallery__item").data("big"));
3570            $(relatedClass)
3571              .closest(".product-container")
3572              .find(".zoom_picture")
3573              .attr("xoriginal", _this.find(".product-detail-gallery__item").data("big"));
3574            $(relatedClass)
3575              .closest(".product-container")
3576              .find(".zoom_picture")
3577              .attr("src", _this.find(".product-detail-gallery__item img").attr("src"));
3578          }
3579          _this.siblings("").removeClass("current");
3580          _this.addClass("current");
3581        } else {
3582          $(relatedClass).data("owl.carousel").to(number, 300, true);
3583        }
3584      });
3585    }
3586  });
3587};
3588
3589InitFlexSlider = function () {
3590  //todo need remove
3591};
3592
3593inIframe = function () {
3594  try {
3595    return window.self !== window.top;
3596  } catch (e) {
3597    return true;
3598  }
3599};
3600
3601InitZoomPict = function (el) {
3602  const zoomer = typeof el !== "undefined" ? el : $(".zoom_picture");
3603
3604  if (zoomer.length) {
3605    var options;
3606    const defaults = {
3607      title: false,
3608      scroll: false,
3609      Xoffset: 15,
3610      tint: "#333",
3611      defaultScale: -1,
3612    };
3613
3614    const config = $.extend({}, defaults, options, zoomer.data("plugin-options"));
3615    zoomer.xzoom(config);
3616
3617    // checks if zoomer doesn't have the event listenners
3618    const zoomerEventsListeners = $._data(zoomer.get(0), "events");
3619
3620    if (!zoomerEventsListeners.mouseout && !zoomerEventsListeners.load) {
3621      zoomer.on("mouseleave", function () {
3622        zoomer.data("xzoom").movezoom;
3623        let mObjWidth = parseInt(zoomer.attr("data-xoriginalwidth"));
3624        let mObHeight = parseInt(zoomer.attr("data-xoriginalheight"));
3625        let imgObjWidth = Math.round(zoomer.width());
3626        let imgObjheight = Math.round(zoomer.height());
3627        if (mObjWidth === imgObjWidth && imgObjheight === mObHeight) {
3628          $(".xzoom-preview").addClass("hidden");
3629          $(".xzoom-source > div").addClass("hidden");
3630        } else {
3631          $(".xzoom-preview").removeClass("hidden");
3632          $(".xzoom-source > div").removeClass("hidden");
3633        }
3634      });
3635
3636      zoomer.on("load", function () {
3637        const zoomerParentWidth = Math.round(zoomer.parent().width());
3638        const zoomerHeight = Math.round(zoomer.height());
3639        const zoomerWidth = Math.round(zoomer.width());
3640        const sizeMultiplier = 1.5;
3641
3642        const zoomWidth =
3643          zoomerWidth < zoomerParentWidth / 2 && zoomerHeight > zoomerWidth ? zoomerWidth * sizeMultiplier : "auto";
3644
3645        zoomer.data("xzoom").destroy();
3646        zoomer.removeData("xzoom");
3647        zoomer.width("auto");
3648
3649        config.zoomWidth = zoomWidth;
3650        zoomer.xzoom(config);
3651      });
3652    }
3653  }
3654};
3655
3656var arBasketAsproCounters = (arStatusBasketAspro = arBasketPrices = {});
3657SetActualBasketFlyCounters = function (sync) {
3658  if (arBasketAsproCounters.DEFAULT == true) {
3659    $.ajax({
3660      url: arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php",
3661      type: "post",
3662      success: function (html) {
3663        $("#basket_line .basket_fly").removeClass("loaded").html(html);
3664
3665        if (typeof sync !== "undefined") {
3666          $.ajax({
3667            type: "GET",
3668            url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
3669            // data:data,
3670            success: function (data) {
3671              if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
3672              $(".js_ajax").html(data);
3673
3674              setBasketStatusBtn(true);
3675            },
3676          });
3677        }
3678      },
3679    });
3680  } else {
3681    // insert currency &#8381; by this hack!: $('<div/>').html(arBasketAsproCounters.READY.TITLE).text()
3682    $(".basket_fly .opener .basket_count .count")
3683      .attr("class", "count" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty_items"))
3684      .find(".items span")
3685      .text(arBasketAsproCounters.READY.COUNT);
3686    $(".basket_fly .opener .basket_count + a").attr("href", arBasketAsproCounters["READY"]["HREF"]);
3687    $(".basket_fly .opener .basket_count")
3688      .attr("title", $("<div/>").html(arBasketAsproCounters.READY.TITLE).text())
3689      .attr(
3690        "class",
3691        "colored_theme_hover_text basket_count small clicked" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty")
3692      );
3693
3694    updateBottomIconsPanel(arBasketAsproCounters);
3695  }
3696};
3697
3698CheckHeaderFixed = function () {
3699  var header = $("header, body.simple_basket_mode #header").first(),
3700    header_fixed = $("#headerfixed, body.simple_basket_mode #header"),
3701    header_simple = $("body.simple_basket_mode #header");
3702
3703  if (header_fixed.length) {
3704    if (header.length) {
3705      var isHeaderFixed = false,
3706        isTabsFixed = false,
3707        headerCanFix = true,
3708        headerFixedHeight = header_fixed.actual("outerHeight"),
3709        headerNormalHeight = header.actual("outerHeight"),
3710        headerDiffHeight = headerNormalHeight - headerFixedHeight,
3711        mobileBtnMenu = $(".btn.btn-responsive-nav"),
3712        headerTop = $("#panel:visible").actual("outerHeight"),
3713        topBlock = $(".TOP_HEADER").first(),
3714        $headerFixedNlo = header_fixed.find("[data-nlo]"),
3715        isNloLoaded = !$headerFixedNlo.length,
3716        OnHeaderFixedScrollHandler;
3717
3718      if (headerDiffHeight <= 0) headerDiffHeight = 0;
3719
3720      if (topBlock.length) headerTop += topBlock.actual("outerHeight");
3721
3722      $(window).scroll(
3723        (OnHeaderFixedScrollHandler = function () {
3724          var tabs_fixed = $(".product-item-detail-tabs-container-fixed");
3725
3726          if (window.matchMedia("(min-width:992px)").matches) {
3727            var scrollTop = documentScrollTopLast,
3728              current_is = $(".search-wrapper .search-input:visible"),
3729              tabs = $(".ordered-block .nav.nav-tabs"),
3730              headerCanFix = !mobileBtnMenu.is(":visible");
3731
3732            if (!isHeaderFixed) {
3733              if (headerCanFix && scrollTop > headerNormalHeight + headerTop) {
3734                if (!isNloLoaded) {
3735                  if (!$headerFixedNlo.hasClass("nlo-loadings")) {
3736                    $headerFixedNlo.addClass("nlo-loadings");
3737                    setTimeout(function () {
3738                      $.ajax({
3739                        data: {
3740                          nlo: $headerFixedNlo.attr("data-nlo"),
3741                        },
3742                        success: function (response) {
3743                          // stop ya metrika webvisor DOM indexer
3744                          pauseYmObserver();
3745
3746                          isNloLoaded = true;
3747                          $headerFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response));
3748                          $headerFixedNlo.remove();
3749
3750                          InitMenuNavigationAim();
3751                          OnHeaderFixedScrollHandler();
3752
3753                          // resume ya metrika webvisor
3754                          // (300ms transition) + (100ms scroll handler)
3755                          setTimeout(resumeYmObserver, 400);
3756                        },
3757                        error: function () {
3758                          $headerFixedNlo.removeClass("nlo-loadings");
3759                        },
3760                      });
3761                    }, 300);
3762                  }
3763                } else {
3764                  isHeaderFixed = true;
3765                  if (header_simple.length) {
3766                    headerSimpleHeight = header_simple.actual("outerHeight");
3767                    header_simple.closest(".header_wrap").css({
3768                      "margin-top": headerSimpleHeight,
3769                    });
3770                  }
3771                  header_fixed.addClass("fixed");
3772
3773                  $("nav.mega-menu.sliced.initied").removeClass("initied");
3774                  CheckTopMenuDotted();
3775                }
3776              }
3777            }
3778            if (isHeaderFixed || !headerCanFix) {
3779              if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) {
3780                isHeaderFixed = false;
3781                header_fixed.removeClass("fixed");
3782                if (header_simple.length) {
3783                  header_simple.closest(".header_wrap").css({ "margin-top": "" });
3784                }
3785              }
3786            }
3787
3788            //fixed tabs
3789            if (tabs_fixed.length && tabs.length) {
3790              var tabs_offset = $(".ordered-block .nav.nav-tabs").offset();
3791              if (scrollTop + headerFixedHeight > tabs_offset.top) {
3792                tabs_fixed.css({
3793                  top: header_fixed.actual("outerHeight"),
3794                });
3795                tabs_fixed.addClass("fixed");
3796
3797                header_fixed.addClass("tabs-fixed");
3798              } else if (tabs_fixed.hasClass("fixed")) {
3799                tabs_fixed.removeAttr("style");
3800                tabs_fixed.removeClass("fixed");
3801
3802                header_fixed.removeClass("tabs-fixed");
3803              }
3804            }
3805          }
3806        })
3807      );
3808    }
3809  }
3810
3811  //mobile fixed
3812  var headerSimple = $("body.simple_basket_mode .wrapper1.mfixed_Y #header");
3813  var mfixed = headerSimple.length ? headerSimple : $(".wrapper1.mfixed_Y #mobileheader");
3814  if (mfixed.length && isMobile) {
3815    var isMHeaderFixed = false,
3816      mheaderCanFix = true,
3817      mheaderFixedHeight = mfixed.actual("outerHeight"),
3818      // mheaderFixedHeight = 0,
3819      mheaderTop = $("#panel:visible").actual("outerHeight"),
3820      mHeaderScrollTop = $(".wrapper1").hasClass("mfixed_view_scroll_top");
3821    $(window).scroll(function () {
3822      var scrollTop = documentScrollTopLast;
3823      if (window.matchMedia("(max-width:991px)").matches) {
3824        if (mHeaderScrollTop) {
3825          if (scrollTop > startScroll) {
3826            if (!$("#mobilePhone.show").length) {
3827              mfixed.removeClass("fixed");
3828              if (headerSimple.length) {
3829                headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3830              }
3831            }
3832          } else if (scrollTop > mheaderFixedHeight + mheaderTop) {
3833            mfixed.addClass("fixed");
3834            if (headerSimple.length) {
3835              headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight });
3836            }
3837          } else if (scrollTop <= mheaderFixedHeight + mheaderTop) {
3838            mfixed.removeClass("fixed");
3839            if (headerSimple.length) {
3840              headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3841            }
3842          }
3843          startScroll = scrollTop;
3844        } else {
3845          if (!isMHeaderFixed) {
3846            if (scrollTop > mheaderFixedHeight + mheaderTop) {
3847              isMHeaderFixed = true;
3848              mfixed.addClass("fixed");
3849              if (headerSimple.length) {
3850                headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight });
3851              }
3852            }
3853          } else if (isMHeaderFixed) {
3854            if (scrollTop <= mheaderFixedHeight + mheaderTop) {
3855              isMHeaderFixed = false;
3856              mfixed.removeClass("fixed");
3857              if (headerSimple.length) {
3858                headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3859              }
3860            }
3861          }
3862        }
3863      } else {
3864        mfixed.removeClass("fixed");
3865        if (headerSimple.length) {
3866          headerSimple.closest(".header_wrap").css({ "margin-top": "" });
3867        }
3868      }
3869    });
3870  }
3871};
3872
3873CheckHeaderFixedMenu = function () {
3874  if (
3875    arAsproOptions["THEME"] &&
3876    arAsproOptions["THEME"]["HEADER_FIXED"] == 2 &&
3877    $("#headerfixed .js-nav").length &&
3878    window.matchMedia("(min-width: 992px)").matches
3879  ) {
3880    $("#headerfixed .js-nav").css("width", "0");
3881    var all_width = 0,
3882      cont_width = $("#headerfixed .maxwidth-theme").actual("width"),
3883      padding_menu =
3884        $("#headerfixed .logo-row.v2 .menu-block").actual("outerWidth") -
3885        $("#headerfixed .logo-row.v2 .menu-block").actual("width");
3886    $("#headerfixed .logo-row.v2 > .inner-table-block").each(function () {
3887      if (!$(this).hasClass("menu-block")) all_width += $(this).actual("outerWidth");
3888    });
3889    $("#headerfixed .js-nav").width(cont_width - all_width - padding_menu);
3890  }
3891};
3892
3893CheckSearchWidth = function () {
3894  if ($(".logo_and_menu-row .search_wrap").length) {
3895    var searchPosition = $(".logo_and_menu-row .search_wrap").position().left,
3896      maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 2;
3897    width = 0;
3898    if ($(".logo_and_menu-row .subtop .search_wrap").length) {
3899      maxWidth = $(".logo_and_menu-row .subtop").width() - 2;
3900      $(".logo_and_menu-row .subtop > .row >div >div")
3901        .each(function () {
3902          if (!$(this).hasClass("search_wrap")) {
3903            var elementWidth = $(this).outerWidth();
3904            if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3905            width = width ? width - elementWidth : maxWidth - elementWidth;
3906          }
3907        })
3908        .promise()
3909        .done(function () {
3910          if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3911            $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3912          else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3913          $(".logo_and_menu-row .search_wrap").css({
3914            opacity: 1,
3915            visibility: "visible",
3916          });
3917        });
3918    } else {
3919      if ($(".logo_and_menu-row .subbottom .search_wrap").length) {
3920        maxWidth = $(".logo_and_menu-row .subbottom").width() - 2;
3921        $(".logo_and_menu-row .subbottom >div")
3922          .each(function () {
3923            if (!$(this).hasClass("search_wrap")) {
3924              var elementWidth = $(this).outerWidth();
3925              if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3926              width = width ? width - elementWidth : maxWidth - elementWidth;
3927            }
3928          })
3929          .promise()
3930          .done(function () {
3931            if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3932              $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3933            else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3934            $(".logo_and_menu-row .search_wrap").css({
3935              opacity: 1,
3936              visibility: "visible",
3937            });
3938          });
3939      } else {
3940        $(".logo_and_menu-row .maxwidth-theme > .row >div >div")
3941          .each(function () {
3942            if (!$(this).hasClass("search_wrap")) {
3943              var elementWidth = $(this).outerWidth();
3944              if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0;
3945              width = width ? width - elementWidth : maxWidth - elementWidth;
3946            }
3947          })
3948          .promise()
3949          .done(function () {
3950            if ($(".logo_and_menu-row .search_wrap.wide_search").length)
3951              $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width);
3952            else $(".logo_and_menu-row .search_wrap").outerWidth(width);
3953            $(".logo_and_menu-row .search_wrap").css({
3954              opacity: 1,
3955              visibility: "visible",
3956            });
3957          });
3958      }
3959    }
3960  }
3961};
3962
3963if (!funcDefined("showItemStoresAmount")) {
3964  var showItemStoresAmount = function () {
3965    let blocks = $(".item-stock .status-amount--stores:not(.status-amount--loaded)");
3966    if (blocks.length) {
3967      let stores = [];
3968      let ids = [];
3969
3970      for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
3971        $(blocks[i]).addClass("status-amount--loaded");
3972
3973        var data = $(blocks[i]).data("param-amount");
3974        if (typeof data === "object" && data) {
3975          ids.push(data.ID);
3976          stores = data.STORES;
3977        }
3978      }
3979
3980      if (ids) {
3981        let data = {
3982          ids: ids,
3983          stores: stores,
3984        };
3985
3986        $.ajax({
3987          url: arAsproOptions.SITE_DIR + "ajax/amount.php",
3988          type: "POST",
3989          data: data,
3990          dataType: "json",
3991          success: function (result) {
3992            if (typeof result === "object" && result && result.success && result.amount) {
3993              for (let i = 0, cnt = blocks.length; i < cnt; ++i) {
3994                var data = $(blocks[i]).data("param-amount");
3995                if (typeof data === "object" && data) {
3996                  if (result.amount[data.ID]) {
3997                    $(blocks[i]).html(result.amount[data.ID]);
3998                  }
3999
4000                  $(blocks[i]).addClass("status-amount--visible");
4001                }
4002              }
4003            }
4004          },
4005        });
4006      }
4007    }
4008  };
4009}
4010
4011lazyLoadPagenBlock = function () {
4012  setTimeout(function () {
4013    if ($(".with-load-block .ajax_load_btn:not(.appear-block)").length) {
4014      $(".with-load-block .ajax_load_btn:not(.appear-block)").iAppear(
4015        function () {
4016          var $this = $(this);
4017          $this.addClass("appear-block").trigger("click");
4018        },
4019        { rootMargin: "200px 0px 200px 0px", accX: 0, accY: 200 }
4020      );
4021    }
4022  }, 200);
4023};
4024
4025scrollPreviewBlock = function () {
4026  if (typeof $.cookie("scroll_block") != "undefined" && $.cookie("scroll_block")) {
4027    var scroll_block = $($.cookie("scroll_block"));
4028    if (scroll_block.length) {
4029      let position = scroll_block.offset().top;
4030      let $fixedHeader = null;
4031      if (($fixedHeader = document.getElementById("headerfixed"))) {
4032        position -= $fixedHeader.clientHeight;
4033      }
4034      $("body, html").animate({ scrollTop: position }, 500);
4035    }
4036    $.cookie("scroll_block", null);
4037  }
4038};
4039
4040scrollToBlock = function (block) {
4041  if ($(block).length) {
4042    var offset = $(block).offset().top;
4043    if (typeof $(block).data("toggle") != "undefined") $(block).click();
4044
4045    if (typeof $(block).data("offset") != "undefined") offset += $(block).data("offset");
4046
4047    $("body, html").animate({ scrollTop: offset }, 500);
4048  }
4049};
4050
4051checkMenuLines = function () {
4052  if ($(".front_page .menu-row .left_border").length || $(".front_page .menu-row .right_border").length) {
4053    var positionMenu = $(".centered .menu-row .mega-menu table").length
4054        ? $(".centered .menu-row .mega-menu table").offset().left
4055        : 0,
4056      varFixLineWidth =
4057        $("body").hasClass("with_decorate") && window.matchMedia("(min-width: 1100px)").matches ? 126 : 7;
4058
4059    $(".menu-row .left_border, .menu-row .right_border").css("width", positionMenu - varFixLineWidth);
4060  }
4061};
4062
4063SetFixedAskBlock = function () {
4064  if ($(".ask_a_question_wrapper").length) {
4065    var offset = $(".ask_a_question_wrapper").offset(),
4066      footer_offset = 0,
4067      block = $(".ask_a_question_wrapper").find(".ask_a_question"),
4068      block_offset = BX.pos(block[0]),
4069      block_height = block_offset.bottom - block_offset.top,
4070      diff_top_scroll = $("#headerfixed").height() + 20;
4071
4072    if ($("footer").length) footer_offset = $("footer").offset().top;
4073
4074    if ($(".banner.CONTENT_BOTTOM").length) footer_offset = $(".banner.CONTENT_BOTTOM").offset().top;
4075
4076    if (block_height + diff_top_scroll + documentScrollTopLast + 130 > footer_offset) {
4077      block.removeClass("fixed").css({ top: "auto", width: "auto", bottom: 0 });
4078      block.parent().css("position", "static");
4079      block.parent().parent().css("position", "static");
4080    } else {
4081      block.parent().removeAttr("style");
4082      block.parent().parent().removeAttr("style");
4083
4084      if (documentScrollTopLast + diff_top_scroll > offset.top) {
4085        var fixed_width = $(".fixed_block_fix").width();
4086        block.addClass("fixed").css({ top: diff_top_scroll, bottom: "auto" });
4087        if (fixed_width) block.css({ width: $(".fixed_block_fix").width() });
4088      } else block.removeClass("fixed").css({ top: 0, width: "auto" });
4089    }
4090  }
4091};
4092
4093MegaMenuFixed = function () {
4094  var animationTime = 150,
4095    $megaFixedNlo = $(".mega_fixed_menu").find("[data-nlo]");
4096
4097  $("header .burger, #headerfixed .burger").on("click", function () {
4098    if ($megaFixedNlo.length) {
4099      if (!$megaFixedNlo.hasClass("nlo-loadings")) {
4100        $megaFixedNlo.addClass("nlo-loadings");
4101        setTimeout(function () {
4102          $.ajax({
4103            data: { nlo: $megaFixedNlo.attr("data-nlo") },
4104            success: function (response) {
4105              $megaFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response));
4106              $megaFixedNlo.remove();
4107            },
4108            error: function () {
4109              $megaFixedNlo.removeClass("nlo-loadings");
4110            },
4111          });
4112        }, 300);
4113      }
4114    }
4115
4116    $(".mega_fixed_menu").fadeIn(animationTime);
4117  });
4118
4119  $(".mega_fixed_menu .svg.svg-close").on("click", function () {
4120    $(this).closest(".mega_fixed_menu").fadeOut(animationTime);
4121    //$('.header_wrap').toggleClass('zindexed');
4122  });
4123
4124  $(".mega_fixed_menu .dropdown-menu .arrow").on("click", function (e) {
4125    e.preventDefault();
4126    e.stopPropagation();
4127    $(this).closest(".dropdown-submenu").find(".dropdown-menu").slideToggle(animationTime);
4128    $(this).closest(".dropdown-submenu").addClass("opened");
4129  });
4130};
4131
4132CheckPopupTop = function () {};
4133
4134AjaxClickLink = function (e) {
4135  var _this = "",
4136    container = $(".js-load-wrapper"),
4137    container_inner = $(".js-load-wrapper").find(".ajax_load"),
4138    dopAction = "";
4139  url = "";
4140  if ("preventDefault" in e) {
4141    e.preventDefault();
4142    _this = $(e.target).hasClass("js-load-link") ? $(e.target) : $(e.target).closest(".js-load-link");
4143  } else {
4144    _this = $(e);
4145    dopAction = "Y";
4146  }
4147
4148  if (container.length) {
4149    var objUrl = parseUrlQuery(),
4150      obGetData = { ajax_get_filter: "Y", control_ajax: "Y" };
4151
4152    obGetData.bitrix_include_areas = "N";
4153
4154    if ("clear_cache" in objUrl) {
4155      if (objUrl.clear_cache == "Y") {
4156        obGetData.clear_cache = "Y";
4157      }
4158    }
4159
4160    if (container_inner.length) {
4161      container_inner.addClass("loading-state");
4162    } else {
4163      container.addClass("loading-state");
4164    }
4165
4166    if (_this.data("url")) {
4167      url = _this.data("url");
4168    }
4169
4170    if (_this.data("click_block") && $(_this.data("click_block")).length) {
4171      if ($(_this.data("click_block")).data("url")) {
4172        url = $(_this.data("click_block")).data("url");
4173      }
4174    }
4175
4176    if (dopAction) {
4177      BX.PopupWindowManager.getCurrentPopup().close();
4178      $(".bx_filter_select_popup ul li .sort_btn").removeClass("current");
4179      _this.addClass("current");
4180      _this.closest(".bx_filter_block").find(".bx_filter_select_text").text(_this.text());
4181    }
4182
4183    $(".bx_filter .bx_sort_filter .bx_filter_select_text").text(_this.text());
4184    $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current").removeClass("current");
4185    $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li")
4186      .eq(_this.parent().index())
4187      .find("span")
4188      .addClass("current");
4189
4190    $.ajax({
4191      url: url,
4192      data: obGetData,
4193      success: function (html) {
4194        container.html(html);
4195
4196        if (container_inner.length) container_inner.removeClass("loading-state");
4197        else container.removeClass("loading-state");
4198
4199        initAnimateLoad();
4200
4201        var eventdata = { action: "jsLoadBlock" };
4202        BX.onCustomEvent("onCompleteAction", [eventdata, _this]);
4203
4204        BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
4205
4206        initSelects(document);
4207        // InitCustomScrollBar();
4208        // InitScrollBar();
4209
4210        if (window.FilterHelper !== undefined) {
4211          FilterHelper.resultDiv = $("#filter-helper");
4212          FilterHelper.show();
4213        }
4214      },
4215    });
4216  }
4217};
4218
4219initCalculatePreview = function (removeAppearAttr) {
4220  $(".calculate-delivery.with_preview:not(.inited)").each(function () {
4221    if (removeAppearAttr) {
4222      $(this).attr("data-i-appeared", "");
4223    }
4224    var $this = $(this);
4225    var $calculateSpan = $this.find("span[data-event=jqm]");
4226    var $preview = $this.find(".calculate-delivery-preview");
4227
4228    $this.addClass("inited");
4229    $this.iAppear(
4230      function () {
4231        if ($calculateSpan.length) {
4232          if (typeof window["calculate-delivery-preview-index"] === "undefined") {
4233            window["calculate-delivery-preview-index"] = 1001;
4234          } else {
4235            ++window["calculate-delivery-preview-index"];
4236          }
4237
4238          var productId = $calculateSpan.attr("data-param-product_id") * 1;
4239          var quantity = $calculateSpan.attr("data-param-quantity") * 1;
4240
4241          if (productId > 0) {
4242            var areaIndexSended = window["calculate-delivery-preview-index"];
4243            $calculateSpan.data({ areaIndex: areaIndexSended });
4244
4245            $.ajax({
4246              url: arAsproOptions["SITE_DIR"] + "ajax/delivery.php",
4247              type: "POST",
4248              data: {
4249                is_preview: "Y",
4250                index: areaIndexSended,
4251                product_id: productId,
4252                quantity: quantity,
4253              },
4254              beforeSend: function () {
4255                $this.addClass("loadings");
4256              },
4257              success: function (response) {
4258                var areaIndex = $calculateSpan.data("areaIndex");
4259                if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) {
4260                  $calculateSpan.hide();
4261                  $preview.html(response);
4262                  if (!$preview.find(".catalog-delivery-preview").length) {
4263                    $preview.empty();
4264                    $calculateSpan.show();
4265                  }
4266                }
4267              },
4268              error: function (xhr, ajaxOptions, thrownError) {},
4269              complete: function () {
4270                var areaIndex = $calculateSpan.data("areaIndex");
4271                if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) {
4272                  $this.removeClass("loadings");
4273                }
4274              },
4275            });
4276          }
4277        }
4278      },
4279      { accX: 0, accY: 0 }
4280    );
4281  });
4282};
4283
4284/* set price item */
4285if (!funcDefined("setPriceItem")) {
4286  var setPriceItem = function setPriceItem(
4287    main_block,
4288    quantity,
4289    rewrite_price,
4290    check_quantity,
4291    is_sku,
4292    show_percent,
4293    percent
4294  ) {
4295    var old_quantity = main_block.find(".to-cart").attr("data-ratio"),
4296      value =
4297        typeof rewrite_price !== "undefined" && rewrite_price
4298          ? rewrite_price
4299          : main_block.find(".to-cart").attr("data-value"),
4300      currency = main_block.find(".to-cart").attr("data-currency"),
4301      total_block =
4302        '<div class="total_summ" style="display:none;"><div>' +
4303        BX.message("TOTAL_SUMM_ITEM") +
4304        "<span></span></div></div>",
4305      price_block = main_block.find(".cost.prices"),
4306      use_percent = typeof show_percent !== "undefined" && show_percent == "Y",
4307      percent_number = typeof percent !== "undefined" && percent,
4308      sku_checked = main_block.find(".has_offer_prop").length ? "Y" : "N",
4309      check = typeof check_quantity !== "undefined" && check_quantity;
4310
4311    if (main_block.find(".wrapp-one-click").length) {
4312      if (!main_block.find(".total_summ").length && !is_sku)
4313        $(total_block).insertAfter(main_block.find(".wrapp-one-click"));
4314    } else if (main_block.find(".buy_block").length) {
4315      if (!main_block.find(".buy_block .total_summ").length && !is_sku)
4316        $(total_block).appendTo(main_block.find(".buy_block"));
4317    } else if (main_block.find(".counter_wrapp").length) {
4318      if (!main_block.find(".total_summ").length && !is_sku)
4319        $(total_block).appendTo(main_block.find(".counter_wrapp:first"));
4320    }
4321    if (main_block.find(".total_summ").length) {
4322      if (value && currency) {
4323        if ((1 == quantity && old_quantity == quantity) || (typeof is_sku !== "undefined" && is_sku && !check)) {
4324          main_block.find(".total_summ").slideUp(50);
4325        } else {
4326          main_block.find(".total_summ span").html(BX.Currency.currencyFormat(value * quantity, currency, true));
4327          if (main_block.find(".total_summ").is(":hidden")) main_block.find(".total_summ").slideDown(100);
4328        }
4329      } else {
4330        main_block.find(".total_summ").slideUp(100);
4331      }
4332    }
4333  };
4334}
4335
4336if (!funcDefined("getCurrentPrice")) {
4337  var getCurrentPrice = function getCurrentPrice(price, currency, print_price) {
4338    var val = "";
4339    var format_value = BX.Currency.currencyFormat(price, currency);
4340    if (print_price.indexOf(format_value) >= 0) {
4341      val = print_price.replace(
4342        format_value,
4343        '<span class="price_value">' + format_value + '</span><span class="price_currency">'
4344      );
4345      val += "</span>";
4346    } else {
4347      val = print_price;
4348    }
4349
4350    return val;
4351  };
4352}
4353
4354if (!funcDefined("initAnimateLoad")) {
4355  var initAnimateLoad = function initAnimateLoad() {
4356    $(".animate-load").click(function () {
4357      if (!jQuery.browser.mobile) {
4358        $(this).parent().addClass("loadings");
4359      }
4360    });
4361  };
4362}
4363
4364if (!funcDefined("showBasketShareBtn")) {
4365  var showBasketShareBtn = function () {
4366    if (arAsproOptions["THEME"]["SHOW_SHARE_BASKET"] === "Y") {
4367      if (!document.querySelector(".basket-checkout-block-btns")) {
4368        var checkout = document.querySelector(".basket-checkout-section-inner");
4369        if (checkout) {
4370          var btns = BX.create({
4371            tag: "div",
4372            attrs: {
4373              class: "basket-checkout-block basket-checkout-block-btns",
4374            },
4375            html: '<div class="basket-checkout-block-btns-wrap"></div>',
4376          });
4377
4378          BX.insertAfter(btns, BX.lastChild(checkout));
4379          var btnsWrap = btns.querySelector(".basket-checkout-block-btns-wrap");
4380
4381          var btnCheckout = checkout.querySelector(".basket-checkout-block-btn");
4382          if (btnCheckout) {
4383            btnsWrap.appendChild(btnCheckout);
4384          }
4385
4386          var btnFastOrder = checkout.querySelector(".fastorder");
4387          if (btnFastOrder) {
4388            btnsWrap.appendChild(btnFastOrder);
4389          }
4390
4391          if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) {
4392            var btnShareBasket = BX.create({
4393              tag: "div",
4394              attrs: {
4395                class: "basket-checkout-block basket-checkout-block-share colored_theme_hover_bg-block",
4396                title: arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"],
4397              },
4398              html:
4399                '<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">' +
4400                arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"] +
4401                "</span></span>",
4402            });
4403
4404            btnsWrap.appendChild(btnShareBasket);
4405            initAnimateLoad();
4406          }
4407        }
4408      }
4409    }
4410  };
4411}
4412
4413if (!funcDefined("showBasketHeadingBtn")) {
4414  var showBasketHeadingBtn = function () {
4415    if (document.querySelector(".page-top h1")) {
4416      var topicHeading = document.querySelector(".page-top .topic .topic__heading");
4417      if (topicHeading) {
4418        if (arAsproOptions["THEME"]["SHOW_BASKET_PRINT"] === "Y") {
4419          if (!document.querySelector(".btn_basket_heading--print")) {
4420            var btnPrintBasket = BX.create({
4421              tag: "div",
4422              attrs: {
4423                class: "btn_basket_heading btn_basket_heading--print print-link colored_theme_hover_bg-block",
4424                title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"],
4425              },
4426              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
4426ox="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>',
4427            });
4428            BX.insertBefore(btnPrintBasket, topicHeading);
4429          }
4430        }
4431
4432        if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) {
4433          // if(arAsproOptions['THEME']['SHOW_SEND_BASKET_2EMAIL'] === 'Y'){
4434          // if(!document.querySelector('.btn_basket_heading--send2email')){
4435          // 	var btnSendBasket2Email = BX.create({
4436          // 		tag: 'div',
4437          // 		attrs: {
4438          // 			class: 'btn_basket_heading btn_basket_heading--with_title btn_basket_heading--send2email colored_theme_hover_bg-block',
4439          // 			title: arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"],
4440          // 		},
4441          // 		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>',
4442          // 	});
4443          // 	BX.insertBefore(btnSendBasket2Email, topicHeading);
4444          // }
4445          // }
4446
4447          if (arAsproOptions["THEME"]["SHOW_DOWNLOAD_BASKET"] === "Y") {
4448            if (!document.querySelector(".btn_basket_heading--download")) {
4449              var btnDownloadBasket = BX.create({
4450                tag: "div",
4451                attrs: {
4452                  class:
4453                    "btn_basket_heading btn_basket_heading--with_title btn_basket_heading--download colored_theme_hover_bg-block",
4454                  title: arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"],
4455                },
4456                events: {
4457                  click: BX.proxy(function (e) {
4458                    if (!e) {
4459                      e = window.event;
4460                    }
4461
4462                    BX.PreventDefault(e);
4463
4464                    var button = e.target.closest(".btn_basket_heading");
4465                    if (button) {
4466                      if (BX.hasClass(button, "loadings")) {
4467                        return;
4468                      }
4469
4470                      BX.addClass(button, "loadings");
4471                      setTimeout(function () {
4472                        BX.removeClass(button, "loadings");
4473                      }, 2000);
4474                    }
4475
4476                    location.href =
4477                      arAsproOptions["SITE_DIR"] +
4478                      "ajax/download_basket.php?params[type]=" +
4479                      arAsproOptions["THEME"]["BASKET_FILE_DOWNLOAD_TEMPLATE"];
4480                  }, this),
4481                },
4482                html:
4483                  '<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">' +
4484                  arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"] +
4485                  "</span>",
4486              });
4487              BX.insertBefore(btnDownloadBasket, topicHeading);
4488            }
4489          }
4490        } else {
4491          BX.remove(document.querySelector(".btn_basket_heading--send2email"));
4492          BX.remove(document.querySelector(".btn_basket_heading--download"));
4493        }
4494
4495        var eventdata = { parent: topicHeading };
4496        BX.onCustomEvent("onShowBasketHeadingBtn", [eventdata]);
4497      }
4498    }
4499  };
4500}
4501
4502$(window).on("load", function () {
4503  //check width for menu and search
4504  //CheckSearchWidth();
4505});
4506
4507$(document).ready(function () {
4508  MegaMenuFixed();
4509  // InitScrollBar();
4510
4511  /* ripple effect for buttons */
4512  $.ripple(".btn", {
4513    debug: false, // Turn Ripple.js logging on/off
4514    on: "mouseenter", // The event to trigger a ripple effect
4515
4516    opacity: 0.4, // The opacity of the ripple
4517    color: "auto", // Set the background color. If set to "auto", it will use the text color
4518    multi: true, // Allow multiple ripples per element
4519
4520    duration: 0.6, // The duration of the ripple
4521
4522    easing: "linear", // The CSS3 easing function of the ripple
4523  });
4524  /* ripple end */
4525
4526  //ecommerce order
4527  if (arAsproOptions["PAGES"]["ORDER_PAGE"]) {
4528    var arUrl = parseUrlQuery();
4529    if ("ORDER_ID" in arUrl) {
4530      var _id = arUrl["ORDER_ID"];
4531      if (arAsproOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") {
4532        var eventdata = { goal: "goal_order_success", result: _id };
4533        BX.onCustomEvent("onCounterGoals", [eventdata]);
4534      }
4535      if (checkCounters()) {
4536        if (typeof localStorage !== "undefined") {
4537          var val = localStorage.getItem("gtm_e_" + _id),
4538            d = "";
4539          try {
4540            d = JSON.parse(val);
4541          } catch (e) {
4542            d = val;
4543          }
4544          if (typeof d === "object") {
4545            window.dataLayer = window.dataLayer || [];
4546            dataLayer.push({
4547              event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"],
4548              ecommerce: d,
4549            });
4550          }
4551
4552          if (typeof localStorage !== "undefined") {
4553            localStorage.removeItem("gtm_e_" + _id);
4554          }
4555        }
4556      }
4557    }
4558  }
4559  var bSafary = false;
4560  if (typeof jQuery.browser == "object") bSafary = jQuery.browser.safari;
4561  else if (typeof browser == "object") bSafary = browser.safari;
4562  if (!bSafary) {
4563    CheckTopMenuDotted();
4564    CheckHeaderFixed();
4565    checkMenuLines();
4566  } else {
4567    setTimeout(function () {
4568      $(window).resize(); // need to check resize flexslider & menu
4569      setTimeout(function () {
4570        CheckTopMenuDotted();
4571        CheckHeaderFixed();
4572        checkMenuLines();
4573
4574        setTimeout(function () {
4575          $(window).scroll();
4576        }, 50);
4577      }, 50);
4578    }, 350);
4579  }
4580
4581  showItemStoresAmount();
4582
4583  if (arAsproOptions["THEME"]["USE_DEBUG_GOALS"] === "Y") $.cookie("_ym_debug", 1, { path: "/" });
4584  else $.cookie("_ym_debug", null, { path: "/" });
4585
4586  /* change type2 menu for fixed */
4587  if ($("#headerfixed .js-nav").length) {
4588    setTimeout(function () {
4589      $("#headerfixed .js-nav").addClass("opacity1");
4590    }, 350);
4591  }
4592
4593  // -- scroll after apply option
4594  if ($(".instagram_ajax").length) {
4595    BX.addCustomEvent("onCompleteAction", function (eventdata) {
4596      if (eventdata.action === "instagrammLoaded") scrollPreviewBlock();
4597    });
4598  } else scrollPreviewBlock();
4599
4600  scrollToTop();
4601  checkVerticalMobileFilter();
4602
4603  $("[data-scroll-block]").click(function () {
4604    var _this = $(this);
4605    if (_this.data("scrollBlock")) {
4606      var target = $(_this.data("scrollBlock"));
4607      if (target.length) {
4608        scroll_block(target);
4609      }
4610    }
4611  });
4612
4613  // init calculate delivery with preview
4614  initCalculatePreview();
4615
4616  // fix calendar popup zIndex
4617  BX.addCustomEvent("onPopupShow", function (popup) {
4618    if (
4619      typeof popup !== "undefined" &&
4620      popup &&
4621      popup.zIndexComponent &&
4622      popup.popupContainer &&
4623      popup.popupContainer.querySelector(".bx-calendar")
4624    ) {
4625      popup.zIndexComponent.setZIndex(3000);
4626    }
4627  });
4628
4629  /* city */
4630  $("select.region").on("change", function () {
4631    var val = parseInt($(this).val());
4632    if ($("select.city").length) {
4633      if (val) {
4634        $("select.city option").hide();
4635        $("select.city option").prop("disabled", "disabled");
4636        $("select.city option[data-parent_section=" + val + "]").prop("disabled", "");
4637        $("select.city option:eq(0)").prop("disabled", "");
4638        $("select.city").ikSelect("reset");
4639        $("select.city option[data-parent_section=" + val + "]").show();
4640      } else $("select.city option").prop("disabled", "disabled");
4641      $("select.city option:eq(0)").prop("disabled", "");
4642      $("select.city").ikSelect("reset");
4643    }
4644  });
4645
4646  $("select.city, select.region").on("change", function () {
4647    var _this = $(this),
4648      val = parseInt(_this.val());
4649    if (_this.hasClass("region")) {
4650      $("select.city option:eq(0)").show();
4651      $("select.city").val(0);
4652    }
4653
4654    if ((_this.hasClass("region") && !val) || _this.hasClass("city")) {
4655      $.ajax({
4656        type: "POST",
4657        data: { ID: val },
4658        success: function (html) {
4659          var ob = BX.processHTML(html);
4660          $(".ajax_items")[0].innerHTML = ob.HTML;
4661          BX.ajax.processScripts(ob.SCRIPT);
4662        },
4663      });
4664    }
4665  });
4666
4667  $(document).on("mouseenter", ".section-gallery-wrapper .section-gallery-wrapper__item", function () {
4668    $(this).siblings().removeClass("_active");
4669    $(this).addClass("_active");
4670  });
4671
4672  $(document).on("mouseleave", ".image_wrapper_block", function () {
4673    const $elements = $(this).find(".section-gallery-wrapper .section-gallery-wrapper__item");
4674    if ($elements.length) {
4675      $elements.removeClass("_active");
4676      $($elements[0]).addClass("_active");
4677    }
4678  });
4679
4680  $(document).on("click", ".hint .icon", function (e) {
4681    var tooltipWrapp = $(this).closest(".hint");
4682
4683    if (tooltipWrapp.hasClass("active")) {
4684      tooltipWrapp.removeClass("active").find(".tooltip").slideUp(200);
4685    } else {
4686      tooltipWrapp.addClass("active");
4687      tooltipWrapp.find(".tooltip").slideDown(200);
4688      tooltipWrapp.find(".tooltip_close").click(function (e) {
4689        e.stopPropagation();
4690        tooltipWrapp.removeClass("active").find(".tooltip").slideUp(100);
4691      });
4692    }
4693    e.stopPropagation();
4694  });
4695
4696  /* toggle */
4697  var $this = this,
4698    previewParClosedHeight = 25;
4699
4700  $("section.toggle > label").prepend($("<i />").addClass("fa fa-plus"));
4701  $("section.toggle > label").prepend($("<i />").addClass("fa fa-minus"));
4702  $("section.toggle.active > p").addClass("preview-active");
4703  $("section.toggle.active > div.toggle-content").slideDown(350, function () {});
4704
4705  $("section.toggle > label").click(function (e) {
4706    var parentSection = $(this).parent(),
4707      parentWrapper = $(this).parents("div.toogle"),
4708      previewPar = false,
4709      isAccordion = parentWrapper.hasClass("toogle-accordion");
4710
4711    if (isAccordion && typeof e.originalEvent != "undefined") {
4712      parentWrapper.find("section.toggle.active > label").trigger("click");
4713    }
4714
4715    parentSection.toggleClass("active");
4716
4717    // Preview Paragraph
4718    if (parentSection.find("> p").get(0)) {
4719      previewPar = parentSection.find("> p");
4720      var previewParCurrentHeight = previewPar.css("height");
4721      previewPar.css("height", "auto");
4722      var previewParAnimateHeight = previewPar.css("height");
4723      previewPar.css("height", previewParCurrentHeight);
4724    }
4725
4726    // Content
4727    var toggleContent = parentSection.find("> div.toggle-content");
4728
4729    if (parentSection.hasClass("active")) {
4730      $(previewPar).animate(
4731        {
4732          height: previewParAnimateHeight,
4733        },
4734        350,
4735        function () {
4736          $(this).addClass("preview-active");
4737        }
4738      );
4739      toggleContent.slideDown(350, function () {});
4740    } else {
4741      $(previewPar).animate(
4742        {
4743          height: previewParClosedHeight,
4744        },
4745        350,
4746        function () {
4747          $(this).removeClass("preview-active");
4748        }
4749      );
4750      toggleContent.slideUp(350, function () {});
4751    }
4752  });
4753
4754  if (typeof $.fn.footable == "function") {
4755    $(".tables-responsive .responsive").footable(); //responsive table
4756  }
4757
4758  $("a[rel=tooltip]").tooltip();
4759  $("span[data-toggle=tooltip]").tooltip();
4760
4761  $(document).on("click", ".toggle .more_items", function () {
4762    $(this).closest(".toggle").find(".collapsed").removeClass("collapsed");
4763    $(this).remove();
4764    if (typeof $(this).data("resize") !== "undefined" && $(this).data("resize")) $(window).resize();
4765  });
4766  $(document).on("click", ".toggle_menu .more_items", function () {
4767    $(this).closest(".toggle_menu").find(".collapsed").addClass("clicked_exp");
4768    $(this).remove();
4769  });
4770
4771  /* search sync */
4772  $(document).on("keyup", ".search-input-div input", function (e) {
4773    var inputValue = $(this).val();
4774    $(".search-input-div input:not(:focus").val(inputValue);
4775
4776    if ($(this).closest("#headerfixed").length) {
4777      if (e.keyCode == 13) $(".search form").submit();
4778    }
4779  });
4780  $(document).on("click", ".search-button-div button", function (e) {
4781    if ($(this).closest("#headerfixed").length) $(".search form").submit();
4782  });
4783
4784  $(".inline-search-show, .inline-search-hide").on("click", function (e) {
4785    CloseMobilePhone();
4786    // Closing hint list of items after search input loses focus
4787    if (e.target.closest(".inline-search-hide")) {
4788      if (typeof jsControl === "object" && jsControl && "onFocusLost" in jsControl) {
4789        jsControl.onFocusLost();
4790      }
4791    }
4792    if (typeof $(this).data("type_search") != "undefined" && $(this).data("type_search") == "fixed")
4793      $(".inline-search-block").addClass("fixed");
4794
4795    if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") {
4796      $(".inline-search-block.fixed.big .search-input").focus();
4797    }
4798    if (arAsproOptions["THEME"]["TYPE_SEARCH"] != "fixed") {
4799      $("#title-search-input").focus();
4800    }
4801
4802    $(".inline-search-block").toggleClass("show");
4803    if ($(".top-block").length) {
4804      if ($(".inline-search-block").hasClass("show"))
4805        $(".inline-search-block").css("background", $(".top-block").css("background-color"));
4806      else $(".inline-search-block").css("background", "#fff");
4807    }
4808    if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") {
4809      if ($(".inline-search-block").hasClass("show")) $('<div class="jqmOverlay search"></div>').appendTo("body");
4810      else {
4811        $("#title-search-input").blur();
4812        $(".jqmOverlay").detach();
4813      }
4814    }
4815    // }
4816    // else
4817    // 	location.href = arAsproOptions['PAGES']['CATALOG_PAGE_URL']+'?q';
4818  });
4819
4820  /* close search block */
4821  $("html, body").on("mousedown", function (e) {
4822    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
4823      e.stopPropagation();
4824      var search_target = $(e.target).closest(".title-search-result");
4825      if (
4826        !$(e.target).closest(".inline-search-block").length &&
4827        !$(e.target).closest(".dropdown-select.searchtype").length &&
4828        !$(e.target).hasClass("svg") &&
4829        !search_target.length
4830      ) {
4831        $(".inline-search-block").removeClass("show");
4832        $(".title-search-result").hide();
4833        if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") $(".jqmOverlay.search").detach();
4834      }
4835
4836      if ($("#mobilePhone").length) {
4837        CloseMobilePhone();
4838      }
4839
4840      if ($("#basket_line .basket_fly").length && parseInt($("#basket_line .basket_fly").css("right")) >= 0) {
4841        if (!$(e.target).closest(".basket_wrapp").length) {
4842          $("#basket_line .basket_fly")
4843            .stop()
4844            .animate(
4845              {
4846                right: -$("#basket_line .basket_fly").outerWidth(),
4847              },
4848              150
4849            );
4850          $("#basket_line .basket_fly .opener > div").removeClass("cur");
4851          $("#basket_line .basket_fly").removeClass("swiped");
4852        }
4853      }
4854
4855      if (isMobile) {
4856        if (search_target.length) location.href = search_target.attr("href");
4857      }
4858
4859      if (!$(e.target).closest(".js-info-block").length && !$(e.target).closest(".js-show-info-block").length) {
4860        $(".js-show-info-block").removeClass("opened");
4861        $(".js-info-block").fadeOut();
4862      }
4863
4864      if (!$(e.target).closest(".hint.active").length) {
4865        $(".hint.active .icon").trigger("click");
4866      }
4867
4868      var class_name = $(e.target).attr("class");
4869      if (typeof class_name == "undefined" || class_name.indexOf("tooltip") < 0)
4870        //tooltip link
4871        $(".tooltip-link").tooltip("hide");
4872    }
4873  });
4874
4875  initAnimateLoad();
4876
4877  /* check all opt table items */
4878  $(document).on("change", "input#select_all_items", function () {
4879    var _this = $(this);
4880    var notOfferCount = 0;
4881    var bComplect = _this.closest(".complect_main_wrap").length;
4882    if (bComplect) {
4883      notOfferCount = _this
4884        .closest(".complect_main_wrap")
4885        .find(".catalog-block-view__item .counter_wrapp:not(.ce_cmp_visible) .button_block .to-cart").length;
4886    } else {
4887      notOfferCount = $(
4888        ".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)"
4889      ).find(".button_block .to-cart").length;
4890    }
4891    var wishCount = $(
4892      ".table-view__item:not([data-product_type=3]), .table-view-offer-tree .table-view__item[data-product_type=3]"
4893    ).find(".item-icons .wish_item_button .wish_item.to").length;
4894    var allGoodsCount = $(".table-view__item").length;
4895
4896    if (_this.is(":checked")) {
4897      //buy && wish
4898      if (notOfferCount != 0) {
4899        $(".opt_action:not([data-action=compare])").removeClass("no-action");
4900      }
4901
4902      //compare
4903      $(".opt_action[data-action=compare]").removeClass("no-action");
4904
4905      $(".opt_action").addClass("animate-load");
4906      $(".opt_action .text").remove();
4907
4908      //buy
4909      $('<div class="text">(<span>' + notOfferCount + "</span>)</div>").appendTo($(".opt_action[data-action=buy]"));
4910
4911      //wish
4912      $('<div class="text muted">(<span>' + wishCount + "</span>)</div>").appendTo($(".opt_action[data-action=wish]"));
4913
4914      //compare
4915      $('<div class="text muted">(<span>' + allGoodsCount + "</span>)</div>").appendTo(
4916        $(".opt_action[data-action=compare]")
4917      );
4918
4919      $('input[name="chec_item"]').prop("checked", true);
4920    } else {
4921      $(".opt_action").addClass("no-action");
4922      $(".opt_action").removeClass("animate-load");
4923      $(".opt_action .text").remove();
4924
4925      $('input[name="chec_item"]').prop("checked", false);
4926    }
4927
4928    if (_this.closest(".complect_header_block").length && typeof setNewPriceComplect === "function") {
4929      setNewPriceComplect();
4930    }
4931  });
4932
4933  /* check opt table item */
4934  $(document).on("change", "input[name='chec_item']", function () {
4935    var _this = $(this);
4936
4937    var canBuy =
4938      _this.closest(".table-view__item").find(".button_block .to-cart").length ||
4939      _this.closest(".catalog-block-view__item").find(".button_block .to-cart").length;
4940    var isOffer = _this.closest(".main_item_wrapper").attr("data-product_type") == "3" && !canBuy;
4941
4942    if (_this.is(":checked")) {
4943      $(".opt_action").each(function () {
4944        var _this = $(this);
4945
4946        var isBuyAction = _this.attr("data-action") == "buy";
4947        var isFavoriteAction = _this.attr("data-action") == "favorite";
4948
4949        if (isOffer && (isBuyAction || isFavoriteAction)) {
4950          return true;
4951        }
4952
4953        if (isBuyAction && !canBuy) {
4954          return true;
4955        }
4956
4957        if (_this.find(".text").length) {
4958          var count = parseInt(_this.find(".text span").text());
4959          _this.find(".text span").text(++count);
4960        } else {
4961          _this.removeClass("no-action");
4962          _this.addClass("animate-load");
4963          $('<div class="text muted">(<span>1</span>)</div>').appendTo(_this);
4964        }
4965      });
4966    } else {
4967      $(".opt_action").each(function () {
4968        var _this = $(this);
4969
4970        var isBuyAction = _this.attr("data-action") == "buy";
4971        var isFavoriteAction = _this.attr("data-action") == "favorite";
4972
4973        if (isOffer && (isBuyAction || isFavoriteAction)) {
4974          return true;
4975        }
4976
4977        if (isBuyAction && !canBuy) {
4978          return true;
4979        }
4980
4981        if (_this.find(".text").length) {
4982          var count = parseInt(_this.find(".text span").text());
4983          --count;
4984          _this.find(".text span").text(count);
4985
4986          if (!count) {
4987            _this.addClass("no-action");
4988            _this.removeClass("animate-load");
4989            _this.find(".text").remove();
4990          }
4991        }
4992      });
4993    }
4994  });
4995
4996  /* buy|wish|compare opt table items */
4997  $(document).on("click", ".opt_action", function (event) {
4998    var _this = $(this),
4999      action = _this.data("action"),
5000      itemsAll = [],
5001      basketParams = {
5002        type: "multiple",
5003        iblock_id: _this.data("iblock_id"),
5004        action: action,
5005        items: {},
5006      };
5007
5008    if (!_this.hasClass("no-action")) {
5009      $(".opt_action").addClass("no-action");
5010      _this.removeClass("no-action");
5011
5012      $(".table-view__item, .catalog-block-view__item").each(function () {
5013        var _this = $(this);
5014        var canBuy = _this.find(".button_block .to-cart").length;
5015        var add = _this.find('input[name="chec_item"]').is(":checked") && (canBuy || action != "buy");
5016        var addOffer = _this.data("product_type") == "3" && _this.find(".button_block .to-cart").length;
5017        if (add) {
5018          var itemId = addOffer ? _this.find(".button_block .to-cart").data("item") : _this.data("id");
5019          itemsAll.push(_this[0]);
5020          basketParams["items"][itemId] = {};
5021          basketParams["items"][itemId]["id"] = itemId;
5022          basketParams["items"][itemId]["product_type"] = _this.data("product_type");
5023          basketParams["items"][itemId]["quantity"] = _this.find('input[name="quantity"]').val();
5024          if (addOffer) {
5025            basketParams["items"][itemId]["add_offer"] = "Y";
5026          }
5027        }
5028      });
5029
5030      if (basketParams.action !== "buy") {
5031        let itemAction = JItemAction.factory(this, {
5032          bindEvents: false,
5033          changeState: false,
5034          fireGoals: false,
5035        });
5036        itemAction.data = basketParams;
5037        itemAction.onCompleteEvent = () => {
5038          itemAction.showNotice(itemsAll);
5039          itemAction.finalAction();
5040        };
5041
5042        itemAction.fireEvent(event);
5043
5044        $(".opt_action").removeClass("no-action");
5045
5046        return;
5047      }
5048
5049      $.ajax({
5050        type: "POST",
5051        url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5052        data: basketParams,
5053        dataType: "json",
5054        success: function (data) {
5055          if ("STATUS" in data) {
5056            if (data.STATUS !== "OK") {
5057              showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT);
5058            }
5059
5060            //js notice
5061            if (typeof JNoticeSurface !== "undefined") {
5062              switch (action) {
5063                case "buy":
5064                  JNoticeSurface.get().onAdd2cart(itemsAll);
5065                  break;
5066                default:
5067                  console.log("nothing");
5068              }
5069            }
5070            //
5071
5072            if ($(".header-cart.fly").length) {
5073              arBasketAsproCounters.DEFAULT = true;
5074              SetActualBasketFlyCounters(true);
5075            } else {
5076              if ($("#ajax_basket").length) {
5077                reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "N", "", true);
5078              } else {
5079                reloadBasketCounters("", true);
5080              }
5081            }
5082          }
5083          _this.parent().removeClass("loadings");
5084          $(".opt_action").removeClass("no-action");
5085        },
5086      });
5087    }
5088  });
5089
5090  //fix opt checked for back in browser
5091  setTimeout(function () {
5092    if ($('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').length) {
5093      $('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').prop("checked", false);
5094    }
5095  }, 1);
5096
5097  $(document).on("click", '*[data-event="jqm"]', function (e) {
5098    e.preventDefault();
5099    e.stopPropagation();
5100
5101    var _this = $(this);
5102    var name = _this.data("name");
5103    if (previewMode && ((name.length && name == "auth") || window.matchMedia("(max-width:400px)").matches)) {
5104      var script = arAsproOptions["SITE_DIR"] + "form/";
5105      var paramsStr = "";
5106      $.each(_this.get(0).attributes, function (index, attr) {
5107        var attrName = attr.nodeName;
5108        var attrValue = _this.attr(attrName);
5109        if (/^data\-param\-(.+)$/.test(attrName)) {
5110          var key = attrName.match(/^data\-param\-(.+)$/)[1];
5111          paramsStr += key + "=" + attrValue + "&";
5112        }
5113      });
5114
5115      script += "?name=" + name + "&" + paramsStr;
5116
5117      if (_this.attr("href") !== undefined) {
5118        script = _this.attr("href");
5119      }
5120
5121      location.href = script;
5122    } else {
5123      if (!$(this).hasClass("clicked")) {
5124        $(this).addClass("clicked");
5125        $(this).jqmEx();
5126        // $(this).trigger("click");
5127      }
5128    }
5129
5130    return false;
5131  });
5132  // }
5133
5134  BX.addCustomEvent("onCompleteAction", function (eventdata, _this) {
5135    try {
5136      if (eventdata.action === "loadForm") {
5137        $(_this).parent().removeClass("loadings");
5138        $(_this).removeClass("clicked");
5139
5140        if ($(_this).hasClass("one_click_buy_trigger")) {
5141          $(".wrapp_one_click > span").removeClass("clicked");
5142          $(".one_click").removeClass("clicked");
5143        } else if ($(_this).hasClass("one_click_buy_basket_trigger")) {
5144          $(".fast_order").removeClass("clicked");
5145        }
5146      } else if (eventdata.action === "loadBasket") {
5147        $(".basket-link.basket").attr("title", $("<div/>").html(arBasketPrices.BASKET_SUMM_TITLE).text());
5148
5149        if (arBasketPrices.BASKET_COUNT > 0) {
5150          $(".basket-link.basket").addClass("basket-count");
5151          $(".basket-link.basket .count").removeClass("empted");
5152          if ($(".basket-link.basket .prices").length)
5153            $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM);
5154        } else {
5155          $(".basket-link.basket").removeClass("basket-count");
5156          $(".basket-link.basket .count").addClass("empted");
5157          if ($(".basket-link.basket .prices").length)
5158            $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM_TITLE_SMALL);
5159        }
5160        $(".basket-link.basket .count").text(arBasketPrices.BASKET_COUNT);
5161
5162        updateBottomIconsPanel(arBasketPrices);
5163      } else if (eventdata.action === "loadRSS") {
5164      } else if (eventdata.action === "ajaxContentLoaded") {
5165      } else if (eventdata.action === "jsLoadBlock") {
5166        // initCountdown();
5167        setStatusButton();
5168        setTimeout(function () {
5169          InitOwlSlider();
5170        }, 200);
5171        if (typeof initSwiperSlider === "function") {
5172          initSwiperSlider();
5173        }
5174        InitFancyBox();
5175
5176        checkLinkedArticles();
5177        checkLinkedBlocks(".linked-banners-list");
5178        lazyLoadPagenBlock();
5179
5180        if (typeof window["stickySidebar"] !== "undefined") {
5181          window["stickySidebar"].updateSticky();
5182        }
5183      }
5184    } catch (e) {
5185      console.error(e);
5186    }
5187  });
5188
5189  /* slices */
5190  if ($(".banners-small .item.normal-block").length) $(".banners-small .item.normal-block").sliceHeight();
5191  if ($(".teasers .item").length) $(".teasers .item").sliceHeight();
5192  if ($(".wrap-portfolio-front .row.items > div").length)
5193    $(".wrap-portfolio-front .row.items > div").sliceHeight({
5194      row: ".row.items",
5195      item: ".item1",
5196    });
5197
5198  /* bug fix in ff */
5199  $("img").removeAttr("draggable");
5200
5201  $(".title-tab-heading").on("click", function () {
5202    var container = $(this).parent(),
5203      slide_block = $(this).next(),
5204      bReviewTab = container.hasClass("media_review");
5205
5206    clicked_tab = container.index() + 1;
5207
5208    container.siblings().removeClass("active");
5209
5210    $(".nav.nav-tabs li").removeClass("active");
5211
5212    if (container.hasClass("active")) {
5213      if (bReviewTab) {
5214        $("#reviews_content").slideUp(200, function () {
5215          container.removeClass("active");
5216        });
5217      } else {
5218        slide_block.slideUp(200, function () {
5219          container.removeClass("active");
5220        });
5221      }
5222    } else {
5223      container.addClass("active");
5224      if (bReviewTab) {
5225        $("#reviews_content").slideDown();
5226      } else {
5227        if ($(".tabs_section + #reviews_content").length) $(".tabs_section + #reviews_content").slideUp();
5228        slide_block.slideDown();
5229        if (typeof container.attr("id") !== "undefined" && container.attr("id") == "de
5229scr") {
5230          var $gallery = $(".galerys-block");
5231          if ($gallery.length) {
5232            var bTypeBig = $gallery.find(".big_slider").length;
5233            var $slider = bTypeBig ? $gallery.find(".big_slider") : $gallery.find(".small_slider");
5234            var interval = setInterval(function () {
5235              if ($slider.find(".slides .item").attr("style").indexOf("height") === -1) {
5236                $(window).resize();
5237              } else {
5238                clearInterval(interval);
5239              }
5240            }, 100);
5241          }
5242        }
5243      }
5244    }
5245  });
5246
5247  InitOwlSlider();
5248  InitStickySideBar();
5249  InitFancyBox();
5250  InitFancyBoxVideo();
5251
5252  setTimeout(function () {
5253    InitTopestMenuGummi();
5254    isOnceInited = true;
5255    $(".menu.topest").closest(".dotted-flex-1").addClass("dotted-complete");
5256  }, 50);
5257
5258  InitZoomPict();
5259
5260  /* show print */
5261  if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
5262    showBasketHeadingBtn();
5263  } else {
5264    if (arAsproOptions["THEME"]["PRINT_BUTTON"] === "Y") {
5265      setTimeout(function () {
5266        var topicHeading = document.querySelector(".period_wrapper.in-detail-news1 .period_wrapper_inner")
5267          ? document.querySelector(".detail-news1 .period_wrapper .period_wrapper_inner")
5268          : document.querySelector(".page-top .topic .topic__heading")
5269          ? document.querySelector(".page-top .topic .topic__heading")
5270          : null;
5271        if (topicHeading) {
5272          var btnPrint = BX.create({
5273            tag: "div",
5274            attrs: {
5275              class: "print-link colored_theme_hover_bg-block",
5276              title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"],
5277            },
5278            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>',
5279          });
5280          BX.insertBefore(btnPrint, topicHeading);
5281        }
5282      }, 150);
5283    }
5284  }
5285
5286  $(document).on("click", ".print-link", function () {
5287    window.print();
5288  });
5289
5290  $(".head-block .item-link").on("click", function () {
5291    var _this = $(this);
5292    _this.siblings().removeClass("active");
5293    _this.addClass("active");
5294  });
5295
5296  $("table.table").each(function () {
5297    var _this = $(this),
5298      first_td = _this.find("thead tr th");
5299    if (!first_td.length) first_td = _this.find("thead tr td");
5300    if (first_td.length) {
5301      var j = 0;
5302      _this.find("tbody tr td").each(function (i) {
5303        if (j > first_td.length - 1) j = 0;
5304        $('<div class="th-mobile">' + first_td[j].textContent + "</div>").appendTo($(this));
5305        j++;
5306      });
5307    }
5308  });
5309
5310  if (window.matchMedia("(min-width: 768px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile");
5311
5312  if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile");
5313
5314  $(document).on("click", ".menu_top_block .v_bottom a", function (e) {
5315    if ($(e.target).hasClass("toggle_block")) e.preventDefault();
5316  });
5317  $(document).on("click", ".menu_top_block .v_bottom a .toggle_block", function (e) {
5318    var _this = $(this),
5319      menu = _this.closest(".has-child").find("> .dropdown"),
5320      bVisibleMeu = menu.is(":visible"),
5321      animate = bVisibleMeu ? "slideUp" : "slideDown";
5322
5323    if (!_this.hasClass("clicked")) {
5324      _this.addClass("clicked");
5325
5326      menu.stop().slideToggle({
5327        duration: 150,
5328        start: function () {
5329          _this.toggleClass("closed");
5330        },
5331        complete: function () {
5332          _this.removeClass("clicked");
5333
5334          if (typeof window["stickySidebar"] !== "undefined") {
5335            window["stickySidebar"].updateSticky();
5336          }
5337        },
5338      });
5339    }
5340
5341    $(this).closest(".has-child").toggleClass("opened");
5342  });
5343
5344  $(document).on("click", ".show_props", function () {
5345    $(this).prev().stop().slideToggle(333);
5346    $(this).find(".char_title").toggleClass("opened");
5347  });
5348
5349  $(".see_more").on("click", function (e) {
5350    e.preventDefault();
5351    var see_more = $(this).is(".see_more") ? $(this) : $(this).parents(".see_more").first();
5352    var see_moreText = see_more.find("> a").length ? see_more.find("> a") : see_more;
5353    var see_moreHiden = see_more.parent().find("> .d");
5354    if (see_more.hasClass("open")) {
5355      see_moreText.text(BX.message("CATALOG_VIEW_MORE"));
5356      see_more.removeClass("open");
5357      see_moreHiden.hide();
5358    } else {
5359      see_moreText.text(BX.message("CATALOG_VIEW_LESS"));
5360      see_more.addClass("open");
5361      see_moreHiden.show();
5362    }
5363    return false;
5364  });
5365
5366  $(".button.faq_button").click(function (e) {
5367    e.preventDefault();
5368    $(this).toggleClass("opened");
5369    $(".faq_ask .form").slideToggle();
5370  });
5371
5372  $(".staff.list .staff_section .staff_section_title a").click(function (e) {
5373    e.preventDefault();
5374    $(this).parents(".staff_section").toggleClass("opened");
5375    $(this).parents(".staff_section").find(".staff_section_items").stop().slideToggle(600);
5376    $(this).parents(".staff_section_title").find(".opener_icon").toggleClass("opened");
5377  });
5378
5379  $(".jobs_wrapp .item .name").click(function (e) {
5380    $(this).closest(".item").toggleClass("opened");
5381    $(this).closest(".item").find(".description_wrapp").stop().slideToggle(600);
5382    $(this).closest(".item").find(".opener_icon").toggleClass("opened");
5383  });
5384
5385  $(".faq.list .item .q a").on("click", function (e) {
5386    e.preventDefault();
5387    $(this).parents(".item").toggleClass("opened");
5388    $(this).parents(".item").find(".a").stop().slideToggle();
5389    $(this).parents(".item").find(".q .opener_icon").toggleClass("opened");
5390  });
5391
5392  $(".opener_icon").click(function (e) {
5393    e.preventDefault();
5394    $(this).parent().find("a").trigger("click");
5395  });
5396
5397  $(".more_block span").on("click", function () {
5398    var content_offset = $(".catalog_detail .tabs_section").offset();
5399    $("html, body").animate({ scrollTop: content_offset.top - 43 }, 400);
5400  });
5401
5402  $(document).on("click", ".counter_block:not(.basket) .plus", function () {
5403    if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) {
5404      if ($(this).parent().data("offers") != "Y") {
5405        var isDetailSKU2 = $(this).parents(".counter_block_wr").length;
5406        input = $(this).parents(".counter_block").find("input[type=text]");
5407        (tmp_ratio = !isDetailSKU2
5408          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5409          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")),
5410          (isDblQuantity = !isDetailSKU2
5411            ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5412            : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")),
5413          (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5414          (max_value = "");
5415        currentValue = input.val();
5416
5417        if (isDblQuantity)
5418          ratio =
5419            Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5420            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5421
5422        curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
5423
5424        curValue += ratio;
5425        if (isDblQuantity) {
5426          curValue =
5427            Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5428            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5429        }
5430
5431        if (parseFloat($(this).data("max")) > 0) {
5432          if (input.val() < $(this).data("max")) {
5433            if (curValue <= $(this).data("max")) input.val(curValue);
5434
5435            input.change();
5436          }
5437        } else {
5438          input.val(curValue);
5439          input.change();
5440        }
5441      }
5442    }
5443  });
5444  $(document).on("click", ".counter_block:not(.basket) .minus", function () {
5445    if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) {
5446      if ($(this).parent().data("offers") != "Y") {
5447        var isDetailSKU2 = $(this).parents(".counter_block_wr").length;
5448        input = $(this).parents(".counter_block").find("input[type=text]");
5449        (tmp_ratio = !isDetailSKU2
5450          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5451          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")),
5452          (isDblQuantity = !isDetailSKU2
5453            ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5454            : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")),
5455          (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)),
5456          (max_value = "");
5457        currentValue = input.val();
5458
5459        if (isDblQuantity)
5460          ratio =
5461            Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5462            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5463
5464        curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10);
5465
5466        curValue -= ratio;
5467        if (isDblQuantity) {
5468          curValue =
5469            Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5470            arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5471        }
5472        const minValue = parseFloat($(this).parents(".counter_block").find(".minus").data("min"));
5473        if (minValue) {
5474          ratio = minValue;
5475        }
5476
5477        if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) {
5478          if (currentValue > ratio) {
5479            if (curValue < ratio) {
5480              input.val(ratio);
5481            } else {
5482              input.val(curValue);
5483            }
5484            input.change();
5485          }
5486        } else {
5487          if (curValue > ratio) {
5488            input.val(curValue);
5489          } else {
5490            if (ratio) {
5491              input.val(ratio);
5492            } else if (currentValue > 1) {
5493              input.val(curValue);
5494            }
5495          }
5496          input.change();
5497        }
5498      }
5499    }
5500  });
5501
5502  $(".counter_block input[type=text]").numeric({ allow: "." });
5503
5504  $(document).on("focus", ".counter_block input[type=text]", function (e) {
5505    $(this).addClass("focus");
5506  });
5507
5508  $(document).on("blur", ".counter_block input[type=text]", function (e) {
5509    $(this).removeClass("focus");
5510  });
5511
5512  var timerInitCalculateDelivery = false;
5513  $(document).on("change", ".counter_block input[type=text]", function (e) {
5514    if (!$(this).parents(".basket_wrapp").length) {
5515      var val = $(this).val(),
5516        tmp_ratio = $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5517          ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio")
5518          : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio"),
5519        isDblQuantity = $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5520          ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio")
5521          : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio"),
5522        ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10),
5523        diff = val % ratio;
5524
5525      if (isDblQuantity) {
5526        ratio =
5527          Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5528          arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5529        if (
5530          Math.round(diff * arAsproOptions.JS_ITEM_CLICK.precisionFactor) /
5531            arAsproOptions.JS_ITEM_CLICK.precisionFactor ==
5532          ratio
5533        )
5534          diff = 0;
5535      }
5536
5537      if ($(this).hasClass("focus")) {
5538        intCount =
5539          Math.round(
5540            Math.round((val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / ratio) /
5541              arAsproOptions.JS_ITEM_CLICK.precisionFactor
5542          ) || 1;
5543        val = intCount <= 1 ? ratio : intCount * ratio;
5544        // val -= diff;
5545        val =
5546          Math.round(val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor;
5547      }
5548
5549      if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) {
5550        if (val > parseFloat($(this).parents(".counter_block").find(".plus").data("max"))) {
5551          val = parseFloat($(this).parents(".counter_block").find(".plus").data("max"));
5552          // val -= (val % ratio);
5553        }
5554      }
5555      if (parseFloat($(this).parents(".counter_block").find(".minus").data("min")) > 0) {
5556        if (val < parseFloat($(this).parents(".counter_block").find(".minus").data("min"))) {
5557          val = parseFloat($(this).parents(".counter_block").find(".minus").data("min"));
5558          // val -= (val % ratio);
5559        }
5560      }
5561      if (val < ratio) {
5562        val = ratio;
5563      } else if (!parseFloat(val)) {
5564        val = 1;
5565      }
5566
5567      $(this).parents(".counter_block").parent().parent().find(".to-cart").attr("data-quantity", val);
5568      $(this).parents(".counter_block").parent().parent().parent().find(".one_click").attr("data-quantity", val);
5569      $(this)
5570        .parents(".counter_block")
5571        .parent()
5572        .parent()
5573        .parent()
5574        .parent()
5575        .find(".one_click")
5576        .attr("data-quantity", val); //for offers in list
5577      $(this).parents(".catalog_item_wrapp").find(".inner_wrap.TYPE_1 .one_click").attr("data-quantity", val); //for first type buttons in catalog_block
5578
5579      $(this).val(val);
5580
5581      var $calculate = $(this).closest(".item").length
5582        ? $(this).closest(".item").find(".calculate-delivery")
5583        : $(this).closest(".catalog_detail").find(".calculate-delivery");
5584      if ($calculate.length && !$(this).closest(".buy_services_wrap").length) {
5585        $calculate.each(function () {
5586          var $calculateSpan = $(this).find("span[data-event=jqm]").first();
5587
5588          if ($calculateSpan.length) {
5589            var $clone = $calculateSpan.clone();
5590            $clone.attr("data-param-quantity", val).removeClass("clicked");
5591            $clone.insertAfter($calculateSpan).on("click", function () {
5592              if (!jQuery.browser.mobile) {
5593                $(this).parent().addClass("loadings");
5594              }
5595            });
5596            $calculateSpan.remove();
5597          }
5598
5599          if ($(this).hasClass("with_preview")) {
5600            $(this).removeClass("inited");
5601
5602            if (timerInitCalculateDelivery) {
5603              clearTimeout(timerInitCalculateDelivery);
5604            }
5605
5606            timerInitCalculateDelivery = setTimeout(function () {
5607              initCalculatePreview(true);
5608              timerInitCalculateDelivery = false;
5609            }, 1000);
5610          }
5611        });
5612      }
5613
5614      var eventdata = {
5615        type: "change",
5616        params: { id: $(this), value: val },
5617      };
5618      BX.onCustomEvent("onCounterProductAction", [eventdata]);
5619
5620      if ($(this).closest(".complect-block").length && typeof setNewPriceComplect === "function") {
5621        setNewPriceComplect();
5622      }
5623    }
5624  });
5625
5626  BX.addCustomEvent("onCounterProductAction", function (eventdata) {
5627    if (typeof eventdata != "object") {
5628      eventdata = { type: "undefined" };
5629    }
5630    try {
5631      if (typeof eventdata.type != "undefined") {
5632        if (!eventdata.params.id.closest(".gifts").length) {
5633          // no gift
5634          var obProduct = eventdata.params.id.data("product");
5635          if (eventdata.params.id.closest(".has_offer_prop").length) {
5636            // type1 for offers in element list
5637            if (typeof window["obSkuQuantys"] === "undefined") window["obSkuQuantys"] = {};
5638
5639            window["obSkuQuantys"][eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item")] =
5640              eventdata.params.value;
5641          }
5642
5643          if (typeof window[obProduct] == "object") {
5644            if (obProduct == "offersTree") {
5645              let curOffer = eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item");
5646              if (curOffer && appAspro.sku.obOffers[curOffer]) {
5647                appAspro.sku.setPriceAction(
5648                  appAspro.sku.obOffers[curOffer],
5649                  "",
5650                  "",
5651                  appAspro.sku.obOffers[curOffer].item
5652                );
5653              }
5654            } else window[obProduct].setPriceAction("Y");
5655            if ($(".detail_page").length) {
5656              setNewHeader();
5657            }
5658          } else if (eventdata.params.id.length) {
5659            if (
5660              eventdata.params.id.closest(".main_item_wrapper").length &&
5661              !eventdata.params.id.closest(".services-item__buy").length &&
5662              arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y"
5663            ) {
5664              setPriceItem(eventdata.params.id.closest(".main_item_wrapper"), eventdata.params.value);
5665            }
5666          }
5667          BX.onCustomEvent("onCounterProductActionResize");
5668        }
5669      }
5670    } catch (e) {
5671      console.error(e);
5672    }
5673  });
5674
5675  /* show basket on hover */
5676  $(document).on("mouseenter", ".wrap_icon.top_basket, #headerfixed .basket-link.basket", function () {
5677    const _this = $(this);
5678    const isHeaderFixed = _this.closest("#headerfixed").length;
5679    const hover_block = isHeaderFixed ? _this.next(".basket_hover_block") : _this.find(".basket_hover_block");
5680
5681    if (!hover_block.hasClass("loaded")) {
5682      basketTop("", hover_block);
5683    }
5684  });
5685
5686  /* show basket on click mobile */
5687  $(document).on("click", ".wrap_icon.wrap_basket.top_basket, #headerfixed .basket-link.basket", function (e) {
5688    var _this = $(this);
5689    if (isMobile) {
5690      if (!_this.hasClass("clicked")) {
5691        e.preventDefault();
5692        _this.addClass("clicked");
5693        setTimeout(function () {
5694          _this.removeClass("clicked");
5695        }, 3000);
5696      }
5697    }
5698  });
5699
5700  /* slide cart */
5701  $(document).on("mouseenter", "#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ", function () {
5702    $(this).closest(".basket_normal").find(".popup").addClass("block");
5703    $(this).closest(".basket_normal").find(".basket_popup_wrapp").stop(true, true).slideDown(150);
5704  });
5705  $(document).on("mouseleave", "#basket_line .basket_normal .basket_block ", function () {
5706    var th = $(this);
5707    $(this)
5708      .closest(".basket_normal")
5709      .find(".basket_popup_wrapp")
5710      .stop(true, true)
5711      .slideUp(150, function () {
5712        th.closest(".basket_normal").find(".popup").removeClass("block");
5713      });
5714  });
5715
5716  $(document).on("click", ".popup_button_basket", function () {
5717    var th = $(".to-cart[data-item=" + $(this).data("item") + "]");
5718
5719    var val = th.attr("data-quantity");
5720
5721    if (!val) $val = 1;
5722
5723    var tmp_props = th.data("props"),
5724      props = "",
5725      part_props = "",
5726      add_props = "N",
5727      fill_prop = {},
5728      iblockid = th.data("iblockid"),
5729      offer = th.data("offers"),
5730      rid = "",
5731      basket_props = "",
5732      item = th.attr("data-item");
5733
5734    if (offer != "Y") {
5735      offer = "N";
5736    } else {
5737      basket_props = th.closest(".prices_tab").find(".bx_sku_props input").val();
5738    }
5739    if (tmp_props) {
5740      props = tmp_props.split(";");
5741    }
5742    if (th.data("part_props")) {
5743      part_props = th.data("part_props");
5744    }
5745    if (th.data("add_props")) {
5746      add_props = th.data("add_props");
5747    }
5748    if ($(".rid_item").length) {
5749      rid = $(".rid_item").data("rid");
5750    } else if (th.data("rid")) {
5751      rid = th.data("rid");
5752    }
5753
5754    fill_prop = fillBasketPropsExt(th, "prop", "bx_ajax_text");
5755
5756    fill_prop.quantity = val;
5757    fill_prop.add_item = "Y";
5758    fill_prop.rid = rid;
5759    fill_prop.offers = offer;
5760    fill_prop.iblockID = iblockid;
5761    fill_prop.part_props = part_props;
5762    fill_prop.add_props = add_props;
5763    fill_prop.props = JSON.stringify(props);
5764    fill_prop.item = item;
5765    fill_prop.basket_props = basket_props;
5766
5767    var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product");
5768    var isSku2 = th.closest(".list-offers").length;
5769    var bIsService = th.closest(".buy_services_wrap").length;
5770
5771    if (!bIsService && (isDetail || isSku2)) {
5772      //var allServicesOn = th.closest('.product-container').find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5773      var allServicesOn = [];
5774      if (isSku2) {
5775        allServicesOn = th
5776          .closest(".product-container")
5777          .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5778      } else {
5779        allServicesOn = $(".product-container").find(
5780          '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
5781        );
5782      }
5783      var servicesNeedAdd = [];
5784      allServicesOn.each(function () {
5785        var _this = $(this);
5786        var buttonCart = _this.closest(".services-item").find(".to-cart");
5787
5788        servicesNeedAdd[buttonCart.data("item")] = {};
5789        servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item");
5790        servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity");
5791        servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid");
5792      });
5793      servicesNeedAdd = array_values_js(servicesNeedAdd);
5794      fill_prop.services = servicesNeedAdd;
5795    }
5796
5797    $.ajax({
5798      type: "POST",
5799      url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5800      data: fill_prop,
5801      dataType: "json",
5802      success: function (data) {
5803        $(".basket_error_frame").jqmHide();
5804        if ("STATUS" in data) {
5805          getActualBasket(fill_prop.iblockID);
5806          if (data.STATUS === "OK") {
5807            th.hide();
5808            th.closest(".counter_wrapp").find(".counter_block_inner").hide();
5809            th.closest(".counter_wrapp").find(".counter_block").hide();
5810            th.parents("tr").find(".counter_block_wr .counter_block").hide();
5811            th.closest(".button_block").addClass("wide");
5812            th.parent().find(".in-cart").show();
5813
5814            addBasketCounter(item);
5815
5816            if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
5817
5818            if ($("#basket_line .basket_fly").length) {
5819              if (th.closest(".fast_view_frame").length || window.matchMedia("(max-width: 767px)").matches)
5820                basketFly("open", "N");
5821              else basketFly("open");
5822            }
5823          } else {
5824            showBasketError(BX.message(data.MESSAGE));
5825          }
5826        } else {
5827          showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
5828        }
5829      },
5830    });
5831  });
5832
5833  $(document).on("click", ".to-cart:not(.read_more), .basket_item_add", function (e) {
5834    e.preventDefault();
5835    var th = $(this);
5836    if (!th.hasClass("clicked")) {
5837      th.addClass("clicked");
5838      var val = $(this).attr("data-quantity");
5839      var tmp_props = $(this).data("props"),
5840        props = "",
5841        part_props = "",
5842        add_props = "N",
5843        fill_prop = {},
5844        iblockid = $(this).data("iblockid"),
5845        offer = $(this).data("offers"),
5846        rid = "",
5847        bBannerAction = false,
5848        basket_props = "",
5849        item = $(this).attr("data-item");
5850      if (th.closest(".but-cell").length) {
5851        if ($('.counter_block[data-item="' + item + '"]').length)
5852          val = $('.counter_block[data-item="' + item + '"] input').val();
5853      }
5854
5855      if (th.closest(".banner_buttons.with_actions").length) {
5856        //banner action
5857        var wrapper_btns = th.closest(".wraps_buttons");
5858        item = wrapper_btns.data("id");
5859        bBannerAction = true;
5860      }
5861
5862      if (!val) val = 1;
5863      if (offer != "Y") {
5864        offer = "N";
5865      } else {
5866        basket_props = $(this).closest(".prices_tab").find(".bx_sku_props input").val();
5867      }
5868      if (tmp_props) {
5869        props = tmp_props.split(";");
5870      }
5871      if ($(this).data("part_props")) {
5872        part_props = $(this).data("part_props");
5873      }
5874      if ($(this).data("add_props")) {
5875        add_props = $(this).data("add_props");
5876      }
5877      if ($(".rid_item").length) {
5878        rid = $(".rid_item").data("rid");
5879      } else if ($(this).data("rid")) {
5880        rid = $(this).data("rid");
5881      }
5882
5883      fill_prop = fillBasketPropsExt(th, "prop", th.data("bakset_div"));
5884
5885      fill_prop.quantity = val;
5886      fill_prop.add_item = "Y";
5887      fill_prop.rid = rid;
5888      fill_prop.offers = offer;
5889      fill_prop.iblockID = iblockid;
5890      fill_prop.part_props = part_props;
5891      fill_prop.add_props = add_props;
5892      fill_prop.props = JSON.stringify(props);
5893      fill_prop.item = item;
5894      fill_prop.basket_props = basket_props;
5895
5896      var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product");
5897      var isSku2 = th.closest(".list-offers").length;
5898      var bIsService = th.closest(".buy_services_wrap").length;
5899
5900      if (!bIsService && (isDetail || isSku2)) {
5901        var allServicesOn = [];
5902        if (isSku2) {
5903          allServicesOn = th
5904            .closest(".product-container")
5905            .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked');
5906        } else {
5907          allServicesOn = $(".product-container").find(
5908            '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked'
5909          );
5910        }
5911        var servicesNeedAdd = [];
5912        allServicesOn.each(function () {
5913          var _this = $(this);
5914          var buttonCart = _this.closest(".services-item").find(".to-cart");
5915          servicesNeedAdd[buttonCart.data("item")] = {};
5916          servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item");
5917          servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity");
5918          servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid");
5919        });
5920        servicesNeedAdd = array_values_js(servicesNeedAdd);
5921        fill_prop.services = servicesNeedAdd;
5922      }
5923
5924      var servicesWrap = $(this).closest(".buy_services_wrap");
5925      if (bIsService) {
5926        var parent_product = servicesWrap.attr("data-parent_product");
5927        fill_prop["prop[BUY_PRODUCT_PROP]"] = parent_product;
5928        fill_prop["prop[ASPRO_BUY_PRODUCT_ID]"] = parent_product;
5929      }
5930
5931      if (bBannerAction) {
5932        if (th.hasClass("added")) {
5933          location.href = th.data("href");
5934          return false;
5935        } else {
5936          th.attr("title", th.data("title2"));
5937          th.toggleClass("added");
5938        }
5939      }
5940
5941      if (th.data("empty_props") == "N") {
5942        var basket_popup_html = $("#" + th.data("bakset_div")).html();
5943        if (!basket_popup_html && th.closest(".item").find(".basket_props_block").length)
5944          basket_popup_html = th.closest(".item").find(".basket_props_block").html();
5945
5946        showBasketError(basket_popup_html, BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th);
5947        BX.addCustomEvent("onCompleteAction", function (e) {
5948          if (!e.ignoreSelf) {
5949            var eventdata = {
5950              action: "loadForm",
5951              ignoreSelf: true,
5952            };
5953            BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
5954          }
5955        });
5956      } else {
5957        $.ajax({
5958          type: "POST",
5959          url: arAsproOptions["SITE_DIR"] + "ajax/item.php",
5960          data: fill_prop,
5961          dataType: "json",
5962          success: function (data) {
5963            getActualBasket(fill_prop.iblockID);
5964
5965            var eventdata = { action: "loadForm" };
5966            BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
5967            arStatusBasketAspro = {};
5968
5969            if (data !== null) {
5970              if ("STATUS" in data) {
5971                if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = "";
5972                if (data.STATUS === "OK") {
5973                  // th.hide();
5974                  $(".to-cart[data-item=" + item + "]").hide();
5975                  $(".to-cart[data-item=" + item + "]")
5976                    .closest(".counter_wrapp")
5977                    .find(".counter_block_inner")
5978                    .hide();
5979                  $(".to-cart[data-item=" + item + "]")
5980                    .closest(".counter_wrapp")
5981                    .find(".counter_block")
5982                    .hide();
5983                  $(".to-cart[data-item=" + item + "]")
5984                    .parents("tr")
5985                    .find(".counter_block_wr .counter_block")
5986                    .hide();
5987                  $(".to-cart[data-item=" + item + "]")
5988                    .closest(".button_block")
5989                    .addClass("wide");
5990                  // th.parent().find('.in-cart').show();
5991                  $(".in-cart[data-item=" + item + "]").show();
5992
5993                  addBasketCounter(item);
5994
5995                  //js notice
5996                  $bDontOpenBasket = false;
5997                  if (typeof JNoticeSurface !== "undefined") {
5998                    JNoticeSurface.get().onAdd2cart([th[0]]);
5999                    $bDontOpenBasket = true;
6000                  }
6001                  //
6002
6003                  if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
6004
6005                  if ($("#basket_line .basket_fly").length) {
6006                    if (th.closest(".services_in_basket").length && !window.matchMedia("(max-width: 767px)").matches) {
6007                      basketFly("open", "SHOW"); //need for buy services in basket_fly
6008                    } else if (
6009                      th.closest(".fast_view_frame").length ||
6010                      window.matchMedia("(max-width: 767px)").matches ||
6011                      $("#basket_line .basket_fly.loaded").length
6012                    )
6013                      basketFly("open", "N");
6014                    else {
6015                      if ($bDontOpenBasket) basketFly("open", "N");
6016                      else basketFly("open");
6017                    }
6018                  }
6019
6020                  //need for services on basket_page
6021                  if (th.closest(".services_in_basket_page").length) {
6022                    BX.Sale.BasketComponent.sendRequest("refreshAjax", {
6023                      fullRecalculation: "Y",
6024                      otherParams: {
6025                        param: "N",
6026                      },
6027                    });
6028                  }
6029
6030                  if ($(".top_basket").length) {
6031                    basketTop($bDontOpenBasket ? "" : "open", $(".top_basket").find(".basket_hover_block"));
6032                  }
6033
6034                  if (
6035                    $("#headerfixed .wproducts .ajax_load .btn").length &&
6036                    th.closest(".product-action").length &&
6037                    !th.closest(".js-item-analog").length &&
6038                    th.next(".in-cart").length
6039                  ) {
6040                    var buttonHtml =
6041                      //'<span class="buy_block"><span class="btn btn-default btn-sm slide_offer more type_block">' +
6042                      '<span class="buy_block"><span class="btn btn-default btn-sm more type_block">' +
6043                      th.next(".in-cart").html() +
6044                      "</span></span>";
6045                    $("#headerfixed .wproducts .ajax_load .item-buttons .but-cell").html(buttonHtml);
6046                  }
6047                } else {
6048                  showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT);
6049                }
6050              } else {
6051                showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR"));
6052              }
6053            } else {
6054              // th.hide();
6055              $(".to-cart[data-item=" + item + "]").hide();
6056              $(".to-cart[data-item=" + item + "]")
6057                .closest(".counter_wrapp")
6058                .find(".counter_block_inner")
6059                .hide();
6060              $(".to-cart[data-item=" + item + "]")
6061                .closest(".counter_wrapp")
6062                .find(".counter_block")
6063                .hide();
6064              $(".to-cart[data-item=" + item + "]")
6065                .parents("tr")
6066                .find(".counter_block_wr .counter_block")
6067                .hide();
6068              $(".to-cart[data-item=" + item + "]")
6069                .closest(".button_block")
6070                .addClass("wide");
6071              // th.parent().find('.in-cart').show();
6072              $(".in-cart[data-item=" + item + "]").show();
6073
6074              addBasketCounter(item);
6075
6076              if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
6077
6078              if ($("#basket_line .basket_fly").length) {
6079                if (
6080                  th.closest(".fast_view_frame").length ||
6081                  window.matchMedia("(max-width: 767px)").matches ||
6082                  $("#basket_line .basket_fly.loaded").length
6083                )
6084                  basketFly("open", "N");
6085                else basketFly("open");
6086              }
6087            }
6088          },
6089        });
6090      }
6091    }
6092  });
6093
6094  $(document).on("click", ".to-subscribe", function (e) {
6095    e.preventDefault();
6096    var th = $(this);
6097    if (!th.hasClass("clicked")) {
6098      th.addClass("clicked");
6099      if ($(this).is(".auth")) {
6100        if ($(this).hasClass("nsubsc")) {
6101          $(this).jqmEx();
6102          // $(this).trigger("click");
6103        } else {
6104          location.href = arAsproOptions["SITE_DIR"] + "auth/?backurl=" + location.pathname;
6105        }
6106      } else {
6107        var item = $(this).attr("data-item"),
6108          iblockid = $(this).attr("data-iblockid");
6109        // $(this).hide();
6110        $(".to-subscribe[data-item=" + item + "]").hide();
6111        $(".to-subscribe[data-item=" + item + "]")
6112          .parent()
6113          .find(".in-subscribe")
6114          .show();
6115        $.get(
6116          arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y",
6117          $.proxy(function (data) {
6118            arStatusBasketAspro = {};
6119            getActualBasket(iblockid);
6120          })
6121        );
6122        th.removeClass("clicked");
6123      }
6124    }
6125  });
6126
6127  $(document).on("click", ".in-subscribe", function (e) {
6128    e.preventDefault();
6129    var item = $(this).attr("data-item"),
6130      iblockid = $(this).attr("data-iblockid");
6131    // $(this).hide();
6132    $(".in-subscribe[data-item=" + item + "]").hide();
6133    $(".in-subscribe[data-item=" + item + "]")
6134      .parent()
6135      .find(".to-subscribe")
6136      .removeClass("clicked");
6137    $(".in-subscribe[data-item=" + item + "]")
6138      .parent()
6139      .find(".to-subscribe")
6140      .show();
6141    $.get(
6142      arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y",
6143      $.proxy(function (data) {
6144        getActualBasket(iblockid);
6145        arStatusBasketAspro = {};
6146      })
6147    );
6148  });
6149
6150  $(document).on("click", ".item_main_info .item_slider .flex-direction-nav li span", function (e) {
6151    if ($(".inner_slider .slides_block").length) {
6152      if ($(this).parent().hasClass("flex-nav-next")) $(".inner_slider .slides_block li.current").next().click();
6153      else $(".inner_slider .slides_block li.current").prev().click();
6154    }
6155  });
6156
6157  $(document).on("click", ".tabs>li", function () {
6158    var parent = $(this).parent();
6159    if (!$(this).hasClass("active")) {
6160      var sliderIndex = $(this).index(),
6161        curLiNav = $(this)
6162          .closest(".top_block")
6163          .find(".slider_navigation")
6164          .find(">li:eq(" + sliderIndex + ")"),
6165        curLi = $(this)
6166          .closest(".top_block")
6167          .siblings(".tabs_content")
6168          .find(">li:eq(" + sliderIndex + ")");
6169      $(this).addClass("active").addClass("cur").siblings().removeClass("active").removeClass("cur");
6170      curLi.addClass("cur").siblings().removeClass("cur");
6171      curLiNav.addClass("cur").siblings().removeClass("cur");
6172
6173      if (parent.hasClass("ajax")) {
6174        // front tabs
6175        if (!$(this).hasClass("clicked")) {
6176          $.ajax({
6177            url: arAsproOptions["SITE_DIR"] + "include/mainpage/comp_catalog_ajax.php",
6178            type: "POST",
6179            data: {
6180              AJAX_POST: "Y",
6181              FILTER_HIT_PROP: $(this).data("code"),
6182              AJAX_PARAMS: $(this).closest(".tab_slider_wrapp").find(".request-data").data("value"),
6183              GLOBAL_FILTER: curLi.data("filter"),
6184            },
6185            success: function (html) {
6186              curLi.find(".tabs_slider").html(html);
6187              var container = curLi.closest(".content_wrapper_block");
6188              if (container.length) {
6189                var bNav = curLi.find(".bottom_nav .module-pagination").length > 0;
6190                if (bNav) {
6191                  container.removeClass("without-border");
6192                } else {
6193                  container.addClass("without-borded");
6194                }
6195              }
6196              setTimeout(function () {
6197                curLi.addClass("opacity1");
6198              }, 100);
6199
6200              BX.onCustomEvent("onAjaxResponesTabs", [eventdata]);
6201            },
6202          });
6203          $(this).addClass("clicked");
6204        } else {
6205          var container = curLi.closest(".content_wrapper_block");
6206          if (container.length) {
6207            var bNav = curLi.find(".bottom_nav .module-pagination").length > 0;
6208            if (bNav) {
6209              container.removeClass("without-border");
6210            } else {
6211              container.addClass("without-borded");
6212            }
6213          }
6214        }
6215      }
6216
6217      var eventdata = { index: sliderIndex, target: $(this) };
6218      BX.onCustomEvent("clickedTabsLi", [eventdata]);
6219    }
6220  });
6221
6222  /* search click */
6223  $(".search_block .icon").on("click", function () {
6224    var th = $(this);
6225    if ($(this).hasClass("open")) {
6226      $(this).closest(".center_block").find(".search_middle_block").removeClass("active");
6227      $(this).removeClass("open");
6228      $(this).closest(".center_block").find(".search_middle_block").find(".noborder").hide();
6229    } else {
6230      setTimeout(function () {
6231        th.closest(".center_block").find(".search_middle_block").find(".noborder").show();
6232      }, 100);
6233      $(this).closest(".center_block").find(".search_middle_block").addClass("active");
6234      $(this).addClass("open");
6235    }
6236  });
6237
6238  $(document).on("click", ".no_goods .button", function () {
6239    $(".bx_filter .smartfilter .bx_filter_search_reset").trigger("click");
6240  });
6241
6242  $(document).on("click", ".js-load-link", function (e) {
6243    AjaxClickLink(e);
6244  });
6245
6246  $(document).on("click", ".svg-inline-bottom_nav-icon", function () {
6247    $(this).next().trigger("click");
6248  });
6249  $(document).on("click", ".ajax_load_btn", function () {
6250    var _this = $(this),
6251      url = _this.closest(".container").find(".module-pagination .flex-direction-nav .flex-next").attr("href"),
6252      th = _this.find(".more_text_ajax"),
6253      bottom_nav = _this.closest(".bottom_nav"),
6254      mobileBottomNav = bottom_nav.hasClass("mobile_slider"),
6255      bLoadingState = _this.closest(".animate-load-state").length;
6256
6257    if (!th.hasClass("loading")) {
6258      th.addClass("loading");
6259      if (mobileBottomNav) {
6260        var icon = bottom_nav.find(".svg-inline-bottom_nav-icon");
6261        icon.css("display", "none");
6262      }
6263      if (bLoadingState) _this.addClass("loadings");
6264
6265      var objUrl = parseUrlQuery(),
6266        add_url = "";
6267      obGetData = { ajax_get: "Y", AJAX_REQUEST: "Y" };
6268
6269      if (_this.closest(".wrapper_inner.front").length) {
6270        //index page
6271        var class_block = th.closest(".drag-block").data("class").replace("_drag", "");
6272        class_block = class_block.replace(/\s/g, "");
6273        obGetData.BLOCK = class_block;
6274      }
6275
6276      if (_this.closest(".tab").length) {
6277        //tabs block
6278        var parentTab = th.closest(".tab");
6279        obGetData.FILTER_HIT_PROP = parentTab.data("code");
6280        obGetData.GLOBAL_FILTER = parentTab.data("filter");
6281        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6282      }
6283
6284      if (_this.closest(".content_linked_goods").length) {
6285        //linked_goods block in content
6286        var filterSections = th.closest(".content_linked_goods").attr("data-sections-ids");
6287        obGetData.ajax_section_id = decodeURIComponent(filterSections);
6288
6289        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6290      }
6291
6292      if ("clear_cache" in objUrl) {
6293        if (objUrl.clear_cache == "Y") add_url = "&clear_cache=Y";
6294      }
6295      if (_this.hasClass("ajax")) obGetData.ajax = "y";
6296
6297      if (th.closest(".goods-block.ajax_load")) obGetData.bitrix_include_areas = "N";
6298
6299      if (_this.closest(".nav-data_block").length) {
6300        //need data-block
6301        obGetData.data_block = _this.closest(".nav-data_block").attr("data-block");
6302        obGetData.pagen_data_block = "Y";
6303        url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href");
6304      }
6305
6306      $.ajax({
6307        url: url + add_url,
6308        data: obGetData,
6309        success: function (html) {
6310          pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this);
6311        },
6312        error: function (html) {
6313          pasteAjaxPagination(html.responseText, th, bottom_nav, bLoadingState, _this);
6314        },
6315      });
6316    }
6317  });
6318
6319  function pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this) {
6320    var mobileBottomClicked = bottom_nav.hasClass("mobile_slider");
6321    var hasMobileBottomNav = $(html).find(".bottom_nav.mobile_slider");
6322    var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find(".bottom_nav");
6323    var bottomNavHtml = bottomNav.html();
6324    var bottomNavScrollClass = bottomNav.data("scroll-class");
6325    var hasBottomNav = $(html).find(".ajax_load_btn").length;
6326
6327    if (th.closest(".ajax_load").length && !mobileBottomClicked) {
6328      th.removeClass("loading");
6329      if (th.closest(".ajax_load").find(".js_append").length) {
6330        if (_this.closest(".catalog_in_content").length) {
6331          th.closest(".ajax_load").find(".js_append").append($(".inner_wrapper .js_wrapper_items>", html)); //need for brands & landings
6332        } else if (_this.closest(".catalog.search").length) {
6333          th.closest(".ajax_load").find(".js_append").append($(".js_append>", html));
6334        } else {
6335          th.closest(".ajax_load").find(".js_append").append(html);
6336        }
6337        th.closest(".ajax_load").find(".bottom_nav_wrapper").remove();
6338      } else {
6339        if ($(".display_list").length) {
6340          $(".display_list").append(html);
6341          th.closest(".display_list").find(".bottom_nav_wrapper").remove();
6342        } else if ($(".block_list").length) {
6343          $(".block_list").append(html);
6344          touchItemBlock(".catalog_item a");
6345          th.closest(".block_list").find(".bottom_nav_wrapper").remove();
6346        } else if ($(".module_products_list").length) {
6347          $(".module_products_list > tbody").append(html);
6348          th.closest(".module_products_list > tbody").find(".bottom_nav_wrapper").remove();
6349        }
6350      }
6351
6352      setStatusButton();
6353      checkLinkedArticles();
6354      checkLinkedBlocks(".linked-banners-list");
6355
6356      var eventdata = { action: "ajaxContentLoadedTab" };
6357      BX.onCustomEvent("onAjaxSuccess", [eventdata]);
6358      _this.closest(".bottom_nav").html(bottomNavHtml);
6359    } else {
6360      var eventdata = { action: "ajaxContentLoaded" };
6361
6362      if ($(".banners-small.front").length) {
6363        $(".banners-small .items.row").append(html);
6364        $(".bottom_nav").html($(".banners-small .items.row .bottom_nav").html());
6365        $(".banners-small .items.row .bottom_nav").remove();
6366        if (hasBottomNav) {
6367          $(".banners-small .items.row").addClass("has-bottom-nav");
6368        } else {
6369          $(".banners-small .items.row").removeClass("has-bottom-nav");
6370        }
6371      } else {
6372        if (bottom_nav.data("append") !== undefined && bottom_nav.data("parent") !== undefined) {
6373          var target = html;
6374          if (bottom_nav.data("target") !== undefined) {
6375            target = $(html).find(bottom_nav.data("target"));
6376          }
6377          if (mobileBottomClicked || hasMobileBottomNav.length) {
6378            var mobileSliderNav = th.closest(bottom_nav.data("parent")).find(".bottom_nav.mobile_slider");
6379            if (mobileSliderNav.length) {
6380              mobileSliderNav.before(target);
6381            } else {
6382              bottom_nav.before(target);
6383            }
6384          } else {
6385            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).append(target);
6386          }
6387          th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).find(".bottom_nav_wrapper").remove();
6388
6389          if (hasBottomNav) {
6390            if (bottomNavScrollClass !== undefined) {
6391              th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).addClass("has-bottom-nav");
6392            }
6393            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).addClass("has-bottom-nav");
6394          } else {
6395            if (bottomNavScrollClass !== undefined) {
6396              th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).removeClass("has-bottom-nav");
6397            }
6398            th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).removeClass("has-bottom-nav");
6399          }
6400
6401          bottom_nav = th.closest(bottom_nav.data("parent")).find(".bottom_nav");
6402          bottom_nav.html(bottomNavHtml);
6403          var icon = bottom_nav.find(".svg-inline-bottom_nav-icon");
6404          icon.css("display", "");
6405
6406          eventdata.container = th.closest(bottom_nav.data("parent"));
6407        } else {
6408          if (th.closest(".item-views").find(".items").length) {
6409            th.closest(".item-views").find(".items").append(html);
6410          } else {
6411            $(html).insertBefore($(".blog .bottom_nav"));
6412          }
6413
6414          bottom_nav.html($(".bottom_nav:hidden").html());
6415          if (hasBottomNav) {
6416            th.closest(".item-views").find(".items").addClass("has-bottom-nav");
6417          } else {
6418            th.closest(".item-views").find(".items").removeClass("has-bottom-nav");
6419          }
6420          _this.closest(".item-views").find(".bottom_nav:hidden").remove();
6421        }
6422      }
6423
6424      eventdata.content = html;
6425      eventdata.container = th;
6426      BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]);
6427
6428      setTimeout(function () {
6429        $(".banners-small .item.normal-block").sliceHeight({
6430          resize: false,
6431        });
6432        if ($(".item.slice-item").length) {
6433          $(".item.slice-item .title").sliceHeight({ resize: false });
6434          $(".item.slice-item").sliceHeight({ resize: false });
6435        }
6436        th.removeClass("loading");
6437        if (bLoadingState) _this.removeClass("loadings");
6438      }, 100);
6439    }
6440    BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
6441    // initCountdown();
6442  }
6443
6444  // form rating
6445  $(document).on("mouseenter", ".form .votes_block.with-text .item-rating", function () {
6446    var $this = $(this),
6447      index = $this.index(),
6448      ratingValue = $this.data("rating_value"),
6449      ratingMessage = $this.data("message");
6450
6451    $(this).addClass("filed");
6452    $this.siblings().each(function () {
6453      if ($(this).index() <= index) $(this).addClass("filed");
6454      else $(this).removeClass("filed");
6455    });
6456    $this.closest(".votes_block").find(".rating_message").text(ratingMessage);
6457  });
6458
6459  $(document).on("mouseleave", ".form .votes_block.with-text", function () {
6460    var $this = $(this),
6461      index = $this.data("rating"),
6462      ratingMessage = $this.closest(".votes_block").find(".rating_message").data("message");
6463
6464    $this.find(".item-rating").each(function () {
6465      if ($(this).index() < index && index !== undefined) $(this).addClass("filed");
6466      else $(this).removeClass("filed");
6467    });
6468    $this.closest(".votes_block").find(".rating_message").text(ratingMessage);
6469  });
6470
6471  $(document).on("click", ".form .votes_block.with-text .item-rating", function () {
6472    var $this = $(this),
6473      rating = $this.closest(".votes_block").data("rating"),
6474      index = $this.index() + 1,
6475      ratingMessage = $this.data("message");
6476
6477    $this.closest(".votes_block").data("rating", index);
6478    if ($this.closest(".form-control").find("input[name=RATING]").length) {
6479      $this.closest(".form-control").find("input[name=RATING]").val(index);
6480    } else {
6481      $this.closest(".form-control").find("input[data-sid=RATING]").val(index);
6482    }
6483    $this.closest(".votes_block").find(".rating_message").data("message", ratingMessage);
6484
6485    $this.closest(".form").find(".error").remove();
6486  });
6487
6488  $(document).on("paste, change, keyup", ".form.blog-comment-fields input[required]", function () {
6489    let value = $(this).val();
6490
6491    if (value.length) {
6492      $(this).closest(".form-group").find("label.error").remove();
6493    }
6494  });
6495
6496  //set cookie for basket link click
6497  $(document).on(
6498    "click",
6499    ".bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]",
6500    function (e) {
6501      $.removeCookie("click_basket", { path: "/" });
6502      $.cookie("click_basket", "Y", { path: "/" });
6503    }
6504  );
6505
6506  $(document).on("click", ".bx_compare .tabs-head li", function () {
6507    var url = $(this).find(".sortbutton").data("href");
6508    BX.showWait(BX("bx_catalog_compare_block"));
6509    $.ajax({
6510      url: url,
6511      data: { ajax_action: "Y" },
6512      success: function (html) {
6513        history.pushState(null, null, url);
6514        $("#bx_catalog_compare_block").html(html);
6515        BX.closeWait();
6516      },
6517    });
6518  });
6519  var hoveredTrs;
6520  $(document).on(
6521    {
6522      mouseover: function (e) {
6523        var _ = $(this);
6524        var tbodyIndex = _.closest("tbody").index() + 1; //+1 for nth-child
6525        var trIndex = _.index() + 1; // +1 for nth-child
6526        hoveredTrs = $(e.delegateTarget)
6527          .find(".data_table_props")
6528          .children(":nth-child(" + tbodyIndex + ")")
6529          .children(":nth-child(" + trIndex + ")")
6530          .addClass("hovered");
6531      },
6532      mouseleave: function (e) {
6533        if (hoveredTrs) hoveredTrs.removeClass("hovered");
6534      },
6535    },
6536    ".bx_compare .data_table_props tbody>tr"
6537  );
6538  $(document).on("click", ".fancy_zoom", function (e) {
6539    e.preventDefault();
6540    var arPict = [],
6541      index = 0;
6542    $(this)
6543      .closest(".product-detail-gallery__container")
6544      .find(".gallery-slider-thumb__container .gallery__item--thumb")
6545      .each(function () {
6546        var obImg = {};
6547        obImg = {
6548          src: $(this).data("big"),
6549          thumb: $(this).find("img").data("src") || $(this).find("img").attr("src"),
6550          // opts: {
6551          //   caption: $(this).find("img").attr("alt"),
6552          // },
6553        };
6554        if ($(this).hasClass("swiper-slide-thumb-active")) {
6555          index = $(this).index();
6556        }
6557        arPict.push(obImg);
6558      });
6559    if (!arPict.length) {
6560      arPict.push({
6561        src: $(this).closest(".product-detail-gallery__container").find(".zoom_picture").data("xoriginal"),
6562      });
6563    }
6564    if (typeof $.fn.fancybox !== "function") {
6565      return;
6566    }
6567    $.fancybox.open(
6568      arPict,
6569      {
6570        tpl: {
6571          closeBtn:
6572            '<span title="' +
6573            BX.message("FANCY_CLOSE") +
6574            '" 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>',
6575          next:
6576            '<a title="' +
6577            BX.message("FANCY_NEXT") +
6578            '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
6579          prev:
6580            '<a title="' +
6581            BX.message("FANCY_PREV") +
6582            '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',
6583        },
6584        btnTpl: {
6585          close:
6586            '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
6587            '<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>' +
6588            "</button>",
6589
6590          arrowLeft:
6591            '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
6592            '<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>' +
6593            "</button>",
6594
6595          arrowRight:
6596            '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
6597            '<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>' +
6598            "</button>",
6599        },
6600        touch: "enabled",
6601        loop: false,
6602        buttons: [
6603          // "zoom",
6604          //"share",
6605          // "slideShow",
6606          //"fullScreen",
6607          //"download",
6608          // "thumbs",
6609          "close",
6610        ],
6611        thumbs: {
6612          autoStart: true,
6613        },
6614        onActivate: function (instance) {
6615          InitFancyboxThumbnailsGallery(instance);
6616        },
6617        beforeShow: function (instance, current) {
6618          if ($(".fancybox-thumbs .swiper").length) {
6619            const swiper = $(".fancybox-thumbs .swiper").data("swiper");
6620            swiper.slideTo(current.index);
6621          }
6622        },
6623      },
6624      index
6625    );
6626  });
6627
6628  /* tabs */
6629  $(".tabs_section .tabs-head li").on("click", function () {
6630    if (!$(this).is(".current")) {
6631      $(".tabs_section .tabs-head li").removeClass("current");
6632      $(this).addClass("current");
6633      $(".tabs_section ul.tabs_content li").removeClass("current");
6634      if ($(this).attr("id") == "product_reviews_tab") {
6635        $(".shadow.common").hide();
6636        $("#reviews_content").show();
6637      } else {
6638        $(".shadow.common").show();
6639        $("#reviews_content").hide();
6640        $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")").addClass("current");
6641      }
6642    }
6643  });
6644
6645  /* open first section slide */
6646  setTimeout(function () {
6647    $(".jobs_wrapp .item:first .name tr").trigger("click");
6648  }, 300);
6649
6650  $(".choise").on("click", function () {
6651    var _this = $(this);
6652    if (typeof _this.attr("data-block") != "undefined") {
6653      if ($(_this.attr("data-block")).closest(".tab-pane").length) {
6654        $('.ordered-block a[href="#' + $(_this.attr("data-block")).closest(".tab-pane").attr("id") + '"]').click();
6655        _this.data("block", ".ordered-block.tabs-block");
6656        $(_this.data("block")).data("offset", -100);
6657      } else {
6658        $(_this.data("block")).data("offset", -100);
6659      }
6660      scrollToBlock(_this.data("block"));
6661    }
6662  });
6663
6664  $(document).on("click", ".buy_block .slide_offer", function () {
6665    scroll_block($(".js-offers-scroll"));
6666  });
6667  $(".share  > .share_wrapp .text").on("click", function () {
6668    var block = $(this).parent().find(".shares");
6669    if (!block.is(":visible") && !$(this).closest(".share.top").length) $("#content").css("z-index", 3);
6670    block.fadeToggle(100, function () {
6671      if (!block.is(":visible")) $("#content").css("z-index", 2);
6672    });
6673  });
6674  $("html, body").on("mousedown", function (e) {
6675    if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) {
6676      e.stopPropagation();
6677      $("div.shares").fadeOut(100, function () {
6678        $("#content").css("z-index", 2);
6679        $(".price_txt .share_wrapp").removeClass("opened");
6680      });
6681      $(".search_middle_block").removeClass("active_wide");
6682    }
6683  });
6684  $(".share_wrapp")
6685    .find("*")
6686    .on("mousedown", function (e) {
6687      e.stopPropagation();
6688    });
6689
6690  $(".price_txt .share_wrapp .text").click(function () {
6691    $(this).parent().toggleClass("opened");
6692    $(this).parent().find(".shares").fadeToggle();
6693  });
6694
6695  $(document).on("click", ".reviews-collapse-link", function () {
6696    $(".reviews-reply-form").slideToggle();
6697  });
6698
6699  /* accordion action*/
6700  $(".panel-collapse").on("hidden.bs.collapse", function () {
6701    $(this).parent().toggleClass("opened");
6702  });
6703  $(".panel-collapse").on("show.bs.collapse", function () {
6704    $(this).parent().toggleClass("opened");
6705  });
6706
6707  /* accordion */
6708  $(".accordion-head").on("click", function (e) {
6709    e.preventDefault();
6710    if (!$(this).next().hasClass("collapsing")) {
6711      $(this).toggleClass("accordion-open");
6712      $(this).toggleClass("accordion-close");
6713    }
6714  });
6715
6716  /* progress bar */
6717  $("[data-appear-progress-animation]").iAppear(
6718    function () {
6719      var $this = $(this);
6720      var delay = $this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1;
6721      if (delay > 1) $this.css("animation-delay", delay + "ms");
6722      $this.addClass($this.attr("data-appear-animation"));
6723
6724      setTimeout(function () {
6725        $this.animate(
6726          {
6727            width: $this.attr("data-appear-progress-animation"),
6728          },
6729          1500,
6730          "easeOutQuad",
6731          function () {
6732            $this.find(".progress-bar-tooltip").animate(
6733              {
6734                opacity: 1,
6735              },
6736              500,
6737              "easeOutQuad"
6738            );
6739          }
6740        );
6741      }, delay);
6742    },
6743    {
6744      rootMargin: "-50px 0px -50px 0px",
6745      accX: 0,
6746      accY: -50,
6747    }
6748  );
6749
6750  // initCountdown();
6751
6752  /* portfolio item */
6753  if ($(".item.animated-block").length) {
6754    $(".item.animated-block").iAppear(
6755      function () {
6756        var $this = $(this);
6757
6758        $this.addClass($this.data("animation")).addClass("visible");
6759      },
6760      { accX: 0, accY: 150 }
6761    );
6762  }
6763
6764  if ($(".appear-block").length) {
6765    $(".appear-block").iAppear(
6766      function () {
6767        const eventdata = { target: this };
6768        BX.onCustomEvent("onAppearVideoBlockShow", [eventdata]);
6769        var $this = $(this);
6770        $this.removeClass("appear-block");
6771        $this.find(".appear-block").removeClass("appear-block");
6772        InitOwlSlider();
6773        if (typeof initSwiperSlider === "function") {
6774          initSwiperSlider();
6775        }
6776      },
6777      {
6778        rootMargin: "150px 0px 150px 0px",
6779        accX: 0,
6780        accY: 150,
6781      }
6782    );
6783  }
6784
6785  /* js-load-block appear */
6786  if ($(".js-load-block").length) {
6787    var objUrl = parseUrlQuery();
6788    var bClearCache = false;
6789    if ("clear_cache" in objUrl) {
6790      if (objUrl.clear_cache == "Y") {
6791        bClearCache = true;
6792      }
6793    }
6794
6795    var items = [];
6796    var bIdle = true;
6797    var insertNextBlockContent = function () {
6798      if (bIdle && items.length) {
6799        bIdle = false;
6800        const item = items.pop();
6801
6802        // get content
6803        $.get(item.url).done(function (html) {
6804          item.content = html;
6805          item.content = $.trim(item.content);
6806
6807          // remove /bitrix/js/main/core/core_window.js if it was loaded already
6808          if (item.content.indexOf("/bitrix/js/main/core/core_window.") !== -1 && BX.WindowManager) {
6809            item.content = item.content.replace(
6810              /<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm,
6811              ""
6812            );
6813          }
6814
6815          // remove /bitrix/js/currency/core_currency.js if it was loaded already
6816          if (
6817            item.content.indexOf("/bitrix/js/currency/core_currency.") !== -1 &&
6818            typeof BX.Currency === "object" &&
6819            BX.Currency.defaultFormat
6820          ) {
6821            item.content = item.content.replace(
6822              /<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm,
6823              ""
6824            );
6825          }
6826
6827          // remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already
6828          if (item.content.indexOf("/bitrix/js/main/pageobject/pageobject.") !== -1 && BX.PageObject) {
6829            item.content = item.content.replace(
6830              /<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm,
6831              ""
6832            );
6833          }
6834
6835          // remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need
6836          if (
6837            item.content.indexOf("/bitrix/js/main/polyfill/promise/js/promise.") !== -1 &&
6838            typeof window.Promise !== "undefined" &&
6839            window.Promise.toString().indexOf("[native code]") !== -1
6840          ) {
6841            item.content = item.content.replace(
6842              /<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm,
6843              ""
6844            );
6845          }
6846
6847          if (
6848            typeof MutationObserver === "function" &&
6849            document.querySelector("body").classList.contains("detail_page")
6850          ) {
6851            const observer = new MutationObserver(function (list, observer) {
6852              const $curBlock = list[0].target;
6853              const curBlockBounds = $curBlock.getBoundingClientRect();
6854
6855              if ($curBlock.parentElement.classList.contains("complect-block")) {
6856                $curBlock.parentElement.classList.add("loaded");
6857              }
6858
6859              if (curBlockBounds.top < 0 && curBlockBounds.bottom >= 0) {
6860                const offsetTop = window.scrollY + Math.round($curBlock.offsetHeight) - 100;
6861                window.scrollTo(0, offsetTop);
6862              }
6863
6864              observer.disconnect();
6865            });
6866
6867            observer.observe(item.$context[0], {
6868              childList: true,
6869            });
6870          }
6871
6872          const ob = BX.processHTML(item.content);
6873
6874          // stop ya metrika webvisor DOM indexer
6875          pauseYmObserver();
6876
6877          item.$context.removeAttr("data-file").removeClass("loader_circle");
6878          item.$target.innerHTML = ob.HTML;
6879
6880          BX.ajax.processScripts(ob.SCRIPT);
6881
6882          var eventdata = { action: "jsLoadBlock" };
6883          BX.onCustomEvent("onCompleteAction", [eventdata, item.$context]);
6884
6885          BX.onCustomEvent("onHeaderProgressBarChange", [{}]);
6886
6887          // resume ya metrika webvisor
6888          // 500ms
6889          setTimeout(resumeYmObserver, 500);
6890
6891          bIdle = true;
6892          insertNextBlockContent();
6893        });
6894      }
6895    };
6896
6897    $(".js-load-block").iAppear(
6898      function () {
6899        var $this = $(this);
6900
6901        if ($this.data("file")) {
6902          const add_url = new URL(location.origin + $this.data("file"));
6903
6904          if (bClearCache) add_url.searchParams.set("clear_cache", "Y");
6905          if ($this.data("block")) add_url.searchParams.set("BLOCK", $this.data("block"));
6906          if ($this.data("show_all")) add_url.searchParams.set("SHOW_ALL", "Y");
6907
6908          const $target = $this.data("appendTo")
6909            ? $this.find($this.data("appendTo"))[0]
6910            : $this.find('> div[id*="bx_incl_"]').length
6911            ? $this.find('> div[id*="bx_incl_"]')[0]
6912            : $this[0];
6913
6914          items.unshift({
6915            $target: $target,
6916            $context: $this,
6917            url: add_url,
6918          });
6919          insertNextBlockContent();
6920        }
6921      },
6922      {
6923        rootMargin: isMobile ? "300px 0px 300px 0px" : "150px 0px 150px 0px",
6924        accX: 0,
6925        accY: isMobile ? 300 : 150,
6926      }
6927    );
6928  }
6929
6930  /* show ajax store amount product */
6931  $(document).on("click", ".js-show-info-block", function (e) {
6932    var $this = $(this);
6933
6934    //check on ".cost.prices" need for popup price in mobile
6935    if (window.matchMedia("(max-width: 500px)").matches && !$this.closest(".cost.prices").length) {
6936      return;
6937    }
6938
6939    e.stopPropagation();
6940    $(".js-info-block").fadeOut();
6941
6942    if ($this.hasClass("opened")) {
6943      $(".js-show-info-block").removeClass("opened");
6944    } else {
6945      $(".js-show-info-block").removeClass("opened");
6946      $this.addClass("opened");
6947    }
6948
6949    if (!$this.siblings(".js-info-block").length) {
6950      var dataFields = $this.closest(".sa_block").data("fields");
6951      dataFields = dataFields == "null" || dataFields === undefined ? "" : dataFields;
6952      var dataUserFields = $this.closest(".sa_block").data("user-fields");
6953      dataUserFields = dataUserFields == "null" || dataUserFields === undefined ? "" : dataUserFields;
6954      var objUrl = parseUrlQuery(),
6955        add_url = "";
6956      if ("clear_cache" in objUrl) {
6957        if (objUrl.clear_cache == "Y") add_url += "?clear_cache=Y";
6958      }
6959
6960      var obPostParams = {
6961        ajax: "Y",
6962        ELEMENT_ID: $this.data("id"),
6963        FIELDS: dataFields,
6964        USER_FIELDS: dataUserFields,
6965        STORES: $this.closest(".sa_block").data("stores") || "",
6966      };
6967
6968      $this.addClass("loadings");
6969      $.post(arAsproOptions["SITE_DIR"] + "ajax/productStoreAmountCompact.php" + add_url, obPostParams).done(function (
6970        html
6971      ) {
6972        $this.removeClass("loadings");
6973        $(html).appendTo($this.closest(".sa_block"));
6974
6975        $this
6976          .siblings(".js-info-block")
6977          .find(".more-btn a")
6978          .attr("href", $this.closest(".item_info").find("a").attr("href"));
6979        // InitScrollBar();
6980
6981        var eventdata = { action: "jsShowStores" };
6982        BX.onCustomEvent("onCompleteAction", [eventdata, $this]);
6983      });
6984    } else {
6985      if ($this.hasClass("opened")) {
6986        $this
6987          .siblings(".js-info-block")
6988          .find(".more-btn a")
6989          .attr("href", $this.closest(".item_info").find("a").attr("href"));
6990        $this.siblings(".js-info-block").fadeIn();
6991        // InitScrollBar();
6992      } else {
6993        $this.siblings(".js-info-block").fadeOut();
6994      }
6995    }
6996  });
6997  $(document).on("click", ".js-info-block .svg-inline-close", function () {
6998    $(".js-show-info-block").removeClass("opened");
6999    $(this).closest(".js-info-block").fadeOut();
7000  });
7001
7002  /* adaptive menu start */
7003  $(".menu.adaptive").on("click", function () {
7004    $(this).toggleClass("opened");
7005    if ($(this).hasClass("opened")) {
7006      $(".mobile_menu").toggleClass("opened").slideDown();
7007    } else {
7008      $(".mobile_menu").toggleClass("opened").slideUp();
7009    }
7010  });
7011  $(".mobile_menu .has-child >a").on("click", function (e) {
7012    var parentLi = $(this).parent();
7013    e.preventDefault();
7014    parentLi.toggleClass("opened");
7015    parentLi.find(".dropdown").slideToggle();
7016  });
7017
7018  $(".mobile_menu .search-input-div input").on("keyup", function (e) {
7019    var inputValue = $(this).val();
7020    $(".center_block .stitle_form input").val(inputValue);
7021    if (e.keyCode == 13) {
7022      $(".center_block .stitle_form form").submit();
7023    }
7024  });
7025
7026  $(".center_block .stitle_form input").on("keyup", function (e) {
7027    var inputValue = $(this).val();
7028    $(".mobile_menu .search-input-div input").val(inputValue);
7029    if (e.keyCode == 13) {
7030      $(".center_block .stitle_form form").submit();
7031    }
7032  });
7033
7034  $(".mobile_menu .search-button-div button").on("click", function (e) {
7035    e.preventDefault();
7036    var inputValue = $(this).parents().find("input").val();
7037    $(".center_block .stitle_form input").val(inputValue);
7038    $(".center_block .stitle_form form").submit();
7039  });
7040  /* adaptive menu end */
7041
7042  $(document).on("click", ".mega-menu .dropdown-menu", function (e) {
7043    e.stopPropagation();
7044  });
7045
7046  $(document).on("click", ".mega-menu .dropdown-toggle.more-items", function (e) {
7047    e.preventDefault();
7048  });
7049
7050  $(document).on("mouseenter", "#headerfixed .table-menu .dropdown-menu .dropdown-submenu", function () {
7051    setTimeout(function () {
7052      CheckTopVisibleMenu();
7053    }, 275);
7054  });
7055
7056  $(".mega-menu .search-item .search-icon, .menu-row #title-search .fa-close").on("click", function (e) {
7057    e.preventDefault();
7058    $(".menu-row #title-search").toggleClass("hide");
7059  });
7060
7061  $(".mega-menu ul.nav .search input").on("keyup", function (e) {
7062    var inputValue = $(this).val();
7063    $(".menu-row > .search input").val(inputValue);
7064    if (e.keyCode == 13) {
7065      $(".menu-row > .search form").submit();
7066    }
7067  });
7068
7069  $(".menu-row > .search input").on("keyup", function (e) {
7070    var inputValue = $(this).val();
7071    $(".mega-menu ul.nav .search input").val(inputValue);
7072    if (e.keyCode == 13) {
7073      $(".menu-row > .search form").submit();
7074    }
7075  });
7076
7077  $(".mega-menu ul.nav .search button").on("click", function (e) {
7078    e.preventDefault();
7079    var inputValue = $(this).parents(".search").find("input").val();
7080    $(".menu-and-search .search input").val(inputValue);
7081    $(".menu-row > .search form").submit();
7082  });
7083
7084  $(".btn.btn-add").on("click", function () {
7085    $.ajax({
7086      type: "GET",
7087      url: arAsproOptions["SITE_DIR"] + "ajax/clearBasket.php",
7088      success: function (data) {},
7089    });
7090  });
7091
7092  $(".sort_display a").on("click", function () {
7093    $(this).siblings().removeClass("current");
7094    $(this).addClass("current");
7095  });
7096
7097  /* detail order show payments */
7098  $(".sale-order-detail-payment-options-methods-info-change-link").on("click", function () {
7099    $(this).closest(".sale-order-detail-payment-options-methods-info").addClass("opened").siblings().addClass("opened");
7100  });
7101
7102  /* expand/hide filter values */
7103  $(document).on("click", ".expand_block", function () {
7104    togglePropBlock($(this));
7105  });
7106
7107  /* touch event */
7108  document.addEventListener(
7109    "touchend",
7110    function (event) {
7111      if (!$(event.target).closest(".menu-item").length && !$(event.target).hasClass("menu-item")) {
7112        $(".menu-row .dropdown-menu").css({
7113          display: "none",
7114          opacity: 0,
7115        });
7116        $(".menu-item").removeClass("hover");
7117        $(".bx-breadcrumb-item.drop").removeClass("hover");
7118      }
7119      if (!$(event.target).closest(".menu.topest").length) {
7120        if (window.matchMedia("(max-width: 991px)").matches) {
7121          $(".menu.topest").css({ overflow: "hidden" });
7122        }
7123        $(".menu.topest > li").removeClass("hover");
7124      }
7125      if (!$(event.target).closest(".full.has-child").length) {
7126        $(".menu_top_block.catalog_block li").removeClass("hover");
7127      }
7128      if (!$(event.target).closest(".basket_block").length) {
7129        $(".basket_block .link").removeClass("hover");
7130        $(".basket_block .basket_popup_wrapp").slideUp();
7131      }
7132      if (!$(event.target).closest(".catalog_item").length) {
7133        var tabsContentUnhoverHover = $(".tab:visible").attr("data-unhover") * 1;
7134        $(".tab:visible").stop().animate({ height: tabsContentUnhoverHover }, 100);
7135        $(".tab:visible").find(".catalog_item").removeClass("hover");
7136        $(".tab:visible").find(".catalog_item .buttons_block").stop().fadeOut(233);
7137        if ($(".catalog_block").length) {
7138          $(".catalog_block").find(".catalog_item_wrapp").removeClass("hover");
7139          $(".catalog_block").find(".catalog_item").removeClass("hover");
7140        }
7141      }
7142      //togglePropBlock($(event.target));
7143    },
7144    false
7145  );
7146
7147  touchMenu(".menu-row .menu-item");
7148  touchTopMenu(".menu.topest li");
7149  touchLeftMenu(".menu_top_block:not(.in-search) li.full");
7150  touchBreadcrumbs(".bx-breadcrumb-item.drop");
7151
7152  $(document).on("keyup", ".coupon .input_coupon input", function () {
7153    if ($(this).val().length) {
7154      $(this).removeClass("error");
7155      $(this).closest(".input_coupon").find(".error").remove();
7156    } else {
7157      $(this).addClass("error");
7158      $("<label class='error'>" + BX.message("INPUT_COUPON") + "</label>").insertBefore($(this));
7159    }
7160  });
7161  // showPhoneMask("input[autocomplete=tel]");
7162  BX.addCustomEvent(window, "onAjaxSuccessFilter", function (e) {
7163    setBasketStatusBtn();
7164    checkLinkedArticles();
7165    checkLinkedBlocks(".linked-banners-list");
7166  });
7167
7168  $(document).on("click", ".block_container .items .item.initied", function () {
7169    var _this = $(this),
7170      itemID = _this.data("id"),
7171      animationTime = 200;
7172
7173    _this.closest(".items").fadeOut(animationTime, function () {
7174      _this.closest(".block_container").find(".detail_items").fadeIn(animationTime);
7175      _this
7176        .closest(".block_container")
7177        .find(".detail_items .item[data-id=" + itemID + "]")
7178        .fadeIn(animationTime);
7179
7180      var arCoordinates = _this.data("coordinates").split(",");
7181
7182      if (typeof map !== "undefined") map.setCenter([arCoordinates[0], arCoordinates[1]], 15);
7183    });
7184  });
7185
7186  $(document).on("click", ".block_container .top-close", function () {
7187    var _this = $(this).closest(".block_container").find(".detail_items .item:visible"),
7188      animationTime = 200;
7189    _this.fadeOut(animationTime);
7190    _this
7191      .closest(".block_container")
7192      .find(".detail_items")
7193      .fadeOut(animationTime, function () {
7194        _this.closest(".block_container").find(".items").fadeIn(animationTime);
7195
7196        if (typeof map !== "undefined" && typeof clusterer !== "undefined") {
7197          map.setBounds(clusterer.getBounds(), {
7198            zoomMargin: 40,
7199            // checkZoomRange: true
7200          });
7201        }
7202      });
7203  });
7204
7205  BX.addCustomEvent(window, "onAjaxSuccess", function (e) {
7206    if (e != "OK") {
7207      initSelects(document);
7208      InitOrderCustom();
7209      // showPhoneMask("input[autocomplete=tel]");
7210
7211      if (arAsproOptions["PAGES"]["CATALOG_PAGE"] && $(".catalog_detail").length && !$(".fast_view_frame").length) {
7212        const leftBlock = $(".main-catalog-wrapper > .left_block");
7213        const rightBlock = $(".right_block");
7214
7215        if (!leftBlock.length && rightBlock.hasClass("wide_N")) {
7216          rightBlock.removeClass("wide_N").addClass("wide_Y");
7217        } else if (leftBlock.length && rightBlock.hasClass("wide_Y")) {
7218          rightBlock.removeClass("wide_Y").addClass("wide_N");
7219        }
7220
7221        $(".bx_filter").remove();
7222        InitOwlSlider();
7223      }
7224
7225      if (arAsproOptions["PAGES"]["CATALOG_PAGE"]) {
7226        // initCountdown();
7227
7228        if (typeof window["stickySidebar"] !== "undefined") window["stickySidebar"].updateSticky();
7229      }
7230
7231      if (typeof orderActions === "function") {
7232        orderActions(e);
7233      }
7234
7235      if (e && typeof e === "object" && "action" in e && e.action === "ajaxContentLoadedTab") {
7236        lazyLoadPagenBlock();
7237      }
7238
7239      InitStickySideBar();
7240    }
7241  });
7242
7243  //event for default basket quantity change
7244  BX.addCustomEvent(window, "OnBasketChange", function (e) {
7245    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7246      var summ = 0,
7247        title = "";
7248
7249      if (typeof BX.Sale !== "undefined") {
7250        if (typeof BX.Sale.BasketComponent !== "undefined") {
7251          summ = BX.Sale.BasketComponent.result.allSum;
7252          title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ);
7253        }
7254      } else {
7255        summ = $("#allSum_FORMATED")
7256          .html()
7257          .replace(/&nbsp;/g, " ");
7258        title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ);
7259      }
7260
7261      if ($(".js-basket-block .wrap .prices").length) $(".js-basket-block .wrap .prices").html(summ);
7262      if ($("a.basket-link.basket").length) $("a.basket-link.basket").attr("title", title);
7263      if ($(".basket_fly .opener .basket_count").length) $(".basket_fly .opener .basket_count").attr("title", title);
7264    }
7265  });
7266});
7267
7268if (!funcDefined("setBasketStatusBtn")) {
7269  setBasketStatusBtn = function (type) {
7270    var bSync = typeof type !== undefined;
7271    if (typeof arBasketAspro !== "undefined") {
7272      if ("BASKET" in arBasketAspro) {
7273        // basket items
7274        if (arBasketAspro.BASKET) {
7275          for (var i in arBasketAspro.BASKET) {
7276            $(".to-cart[data-item=" + i + "]").hide();
7277            $(".counter_block[data-item=" + i + "]")
7278              .closest(".counter_block_inner")
7279              .hide();
7280            $(".counter_block[data-item=" + i + "]").hide();
7281            $(".in-cart[data-item=" + i + "]").show();
7282            $(".in-cart[data-item=" + i + "]")
7283              .closest(".button_block")
7284              .addClass("wide");
7285
7286            if ($(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").length) {
7287              $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").addClass("added");
7288              $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").attr(
7289                "title",
7290                $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").data("title2")
7291              );
7292            }
7293          }
7294        }
7295      }
7296
7297      /* services */
7298      if ("SERVICES" in arBasketAspro) {
7299        // services items
7300        $needFillServices = $(".buy_services_wrap[data-parent_product]").length;
7301        if (arBasketAspro.SERVICES && $needFillServices) {
7302          for (var i in arBasketAspro.SERVICES) {
7303            var serviceItem = $(
7304              ".buy_services_wrap[data-parent_product=" +
7305                arBasketAspro.SERVICES[i].link_id +
7306                "] .services-item[data-item_id=" +
7307                arBasketAspro.SERVICES[i].item_id +
7308                "]"
7309            );
7310            serviceItem.find('input[name="buy_switch_services"]').prop("checked", true);
7311            serviceItem.find('.counter_block input[name="quantity"]').val(arBasketAspro.SERVICES[i].quantity);
7312            serviceItem.addClass("services_on");
7313          }
7314        }
7315      }
7316
7317      if ("SUBSCRIBE" in arBasketAspro) {
7318        // subscribe items
7319        if (arBasketAspro.SUBSCRIBE) {
7320          for (var i in arBasketAspro.SUBSCRIBE) {
7321            $(".to-subscribe[data-item=" + i + "]").hide();
7322            $(".in-subscribe[data-item=" + i + "]").show();
7323          }
7324        }
7325      }
7326    }
7327
7328    BX.onCustomEvent("onSetBasketStatusBtn", []);
7329  };
7330}
7331
7332if (!funcDefined("togglePropBlock")) {
7333  togglePropBlock = function (className) {
7334    var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values");
7335    if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) {
7336      if (all_props_block.is(":visible")) {
7337        className.text(BX.message("FILTER_EXPAND_VALUES"));
7338        all_props_block.hide();
7339      } else {
7340        className.text(BX.message("FILTER_HIDE_VALUES"));
7341        all_props_block.show();
7342      }
7343    }
7344  };
7345}
7346
7347if (!funcDefined("showPhoneMask")) {
7348  showPhoneMask = function (className) {
7349    console.log("showPhoneMask");
7350    if (typeof appAspro === "object" && appAspro && appAspro.phone) {
7351      appAspro.phone.init($(className));
7352    }
7353    // $(className).inputmask("mask", { mask: arAsproOptions["THEME"]["PHONE_MASK"], showMaskOnHover: false });
7354  };
7355}
7356
7357if (!funcDefined("getActualBasket")) {
7358  getActualBasket = function (iblockID, type, sync) {
7359    var data = "";
7360    if (typeof iblockID !== "undefined" && iblockID) {
7361      data = { iblockID: iblockID };
7362    }
7363    $.ajax({
7364      type: "GET",
7365      url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
7366      data: data,
7367      success: function (data) {
7368        if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
7369        $(".js_ajax").html(data);
7370
7371        if (typeof sync !== "undefined") {
7372          setBasketStatusBtn(true);
7373        }
7374
7375        if (typeof type !== undefined) {
7376          var eventdata = { action: "loadActualBasket" + type };
7377          BX.onCustomEvent("onCompleteAction", [eventdata]);
7378        }
7379      },
7380    });
7381  };
7382}
7383
7384if (!funcDefined("reloadBasketCounters")) {
7385  reloadBasketCounters = function (count, sync) {
7386    var data = "";
7387    if (count) {
7388      $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text(count);
7389    } else {
7390      $.ajax({
7391        type: "GET",
7392        url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php",
7393        data: data,
7394        success: function (data) {
7395          if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>');
7396          $(".js_ajax").html(data);
7397          var countServices =
7398            typeof arBasketAspro.SERVICES !== "undefined" ? Object.keys(arBasketAspro.SERVICES).length : 0;
7399          $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text(
7400            Object.keys(arBasketAspro.BASKET).length + countServices
7401          );
7402          $(".basket-link.delay .count, .wraps_icon_block.delay .count .items > span").text(
7403            arBasketAspro.FAVORITE.COUNT
7404          );
7405          $(".basket-link.compare .count, .wraps_icon_block.compare .count .items > span").text(
7406            arBasketAspro.COMPARE.COUNT
7407          );
7408
7409          if (typeof sync !== "undefined") {
7410            setBasketStatusBtn(true);
7411          }
7412        },
7413      });
7414    }
7415  };
7416}
7417
7418function touchMenu(selector) {
7419  if (isMobile) {
7420    if ($(selector).length) {
7421      $(selector).each(function () {
7422        var th = $(this);
7423        th.on("touchend", function (e) {
7424          var _th = $(e.target).closest(".menu-item");
7425
7426          $(".menu.topest > li").removeClass("hover");
7427          $(".menu_top_block.catalog_block li").removeClass("hover");
7428          $(".bx-breadcrumb-item.drop").removeClass("hover");
7429
7430          if (_th.find(".dropdown-menu").length && !_th.hasClass("hover")) {
7431            e.preventDefault();
7432            e.stopPropagation();
7433            _th.siblings().removeClass("hover");
7434            _th.addClass("hover");
7435            $(".menu-row .dropdown-menu").css({
7436              display: "none",
7437              opacity: 0,
7438            });
7439            if (_th.hasClass("menu-item")) {
7440              _th.closest(".dropdown-menu").css({
7441                display: "block",
7442                opacity: 1,
7443              });
7444            }
7445            if (_th.find("> .wrap > .dropdown-menu")) {
7446              _th.find("> .wrap > .dropdown-menu").css({
7447                display: "block",
7448                opacity: 1,
7449              });
7450            } else if (_th.find("> .dropdown-menu")) {
7451              _th.find("> .dropdown-menu").css({
7452                display: "block",
7453                opacity: 1,
7454              });
7455            }
7456            CheckTopVisibleMenu();
7457          } else {
7458            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7459            if (href && href !== "undefined") location.href = href;
7460          }
7461        });
7462      });
7463    }
7464  } else {
7465    $(selector).off();
7466  }
7467}
7468
7469function touchTopMenu(selector) {
7470  if (isMobile) {
7471    if ($(selector).length) {
7472      $(selector).each(function () {
7473        var th = $(this);
7474        th.on("touchend", function (e) {
7475          var _th = $(e.target).closest("li");
7476
7477          $(".menu-item").removeClass("hover");
7478          $(".menu_top_block.catalog_block li").removeClass("hover");
7479          $(".bx-breadcrumb-item.drop").removeClass("hover");
7480
7481          if (_th.hasClass("more") && !_th.hasClass("hover")) {
7482            e.preventDefault();
7483            e.stopPropagation();
7484            _th.siblings().removeClass("hover");
7485            _th.addClass("hover");
7486            $(".menu.topest").css({ overflow: "visible" });
7487          } else {
7488            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7489            if (href && href !== "undefined") location.href = href;
7490          }
7491        });
7492      });
7493    }
7494  } else {
7495    $(selector).off();
7496  }
7497}
7498
7499function touchLeftMenu(selector) {
7500  if (isMobile) {
7501    if ($(selector).length) {
7502      $(selector).each(function () {
7503        var th = $(this);
7504        th.on("touchend", function (e) {
7505          var _th = $(e.target).closest("li");
7506
7507          $(".menu-item").removeClass("hover");
7508          $(".bx-breadcrumb-item.drop").removeClass("hover");
7509          $(".menu.topest > li").removeClass("hover");
7510
7511          if (_th.hasClass("has-child") && !_th.hasClass("hover")) {
7512            e.preventDefault();
7513            e.stopPropagation();
7514            _th.siblings().removeClass("hover");
7515            _th.addClass("hover");
7516          } else {
7517            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7518            if (href && href !== "undefined") location.href = href;
7519          }
7520        });
7521      });
7522    }
7523  } else {
7524    $(selector).off();
7525  }
7526}
7527
7528function touchBreadcrumbs(selector) {
7529  if (isMobile) {
7530    if ($(selector).length) {
7531      $(selector).each(function () {
7532        var th = $(this);
7533        th.on("touchend", function (e) {
7534          var _th = $(e.target).closest(".bx-breadcrumb-item");
7535
7536          $(".menu-item").removeClass("hover");
7537          $(".menu.topest > li").removeClass("hover");
7538          $(".menu_top_block.catalog_block li").removeClass("hover");
7539
7540          if (!_th.hasClass("hover")) {
7541            e.preventDefault();
7542            e.stopPropagation();
7543            _th.siblings().removeClass("hover");
7544            _th.addClass("hover");
7545          } else {
7546            _th.removeClass("hover");
7547            var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href");
7548            if (href && href !== "undefined") location.href = href;
7549          }
7550        });
7551      });
7552    }
7553  } else {
7554    $(selector).off();
7555  }
7556}
7557
7558function touchItemBlock(selector) {}
7559function touchBasket(selector) {
7560  if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") {
7561    if ($(window).outerWidth() > 600) {
7562      $(document)
7563        .find(selector)
7564        .on("touchend", function (e) {
7565          if ($(this).parent().find(".basket_popup_wrapp").length && !$(this).hasClass("hover")) {
7566            e.preventDefault();
7567            e.stopPropagation();
7568            $(this).addClass("hover");
7569            $(this).parent().find(".basket_popup_wrapp").slideDown();
7570          }
7571        });
7572    } else {
7573      $(selector).off();
7574    }
7575  }
7576}
7577
7578function showTotalSummItem(popup) {
7579  //show total summ
7580  if (
7581    arAsproOptions["THEME"]["SHOW_TOTAL_SUMM_TYPE"] == "ALWAYS" &&
7582    arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y"
7583  ) {
7584    var parent = "body ";
7585    if (typeof popup === "string" && popup == "Y") parent = ".popup ";
7586    $(parent + ".counter_wrapp .counter_block input.text").each(function () {
7587      var _th = $(this);
7588      if (_th.data("product")) {
7589        var obProduct = _th.data("product");
7590        if (typeof window[obProduct] == "object") window[obProduct].setPriceAction("Y");
7591        else setPriceItem(_th.closest(".main_item_wrapper"), _th.val());
7592      } else setPriceItem(_th.closest(".main_item_wrapper"), _th.val());
7593    });
7594  }
7595}
7596
7597function initFull() {
7598  initSelects(document);
7599  initHoverBlock(document);
7600  touchItemBlock(".catalog_item a");
7601  InitOrderCustom();
7602  showTotalSummItem();
7603  basketActions();
7604
7605  if (typeof ord
7605erActions === "function") {
7606    orderActions();
7607  }
7608
7609  checkMobileRegion();
7610}
7611
7612checkMobileRegion = function () {
7613  if ($(".confirm_region").length) {
7614    if (!$(".top_mobile_region").length)
7615      $(
7616        '<div class="top_mobile_region"><div class="confirm_wrapper"><div class="confirm_region"></div></div></div>'
7617      ).insertBefore($("#mobileheader"));
7618    $(".top_mobile_region .confirm_region").html($(".confirm_region").html());
7619  }
7620};
7621
7622if (!funcDefined("basketActions")) {
7623  basketActions = function () {
7624    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7625      checkMinPrice();
7626
7627      //remove4Cart
7628      if (typeof BX.Sale !== "undefined" && typeof BX.Sale === "object") {
7629        if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent === "object") {
7630          $(document).on("click", ".basket-item-actions-remove", function () {
7631            var basketID = $(this).closest(".basket-items-list-item-container").data("id");
7632            if (BX.Sale.BasketComponent.items && BX.Sale.BasketComponent.items[basketID]) {
7633              delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID);
7634            }
7635          });
7636        }
7637      }
7638
7639      if (location.hash) {
7640        var hash = location.hash.substring(1);
7641        if ($("#basket_toolbar_button_" + hash).length) $("#basket_toolbar_button_" + hash).trigger("click");
7642
7643        if ($('.basket-items-list-header-filter a[data-filter="' + hash + '"]').length)
7644          $('.basket-items-list-header-filter a[data-filter="' + hash + '"]')[0].click();
7645      }
7646      var svg_cross =
7647        '<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>';
7648
7649      $(".bx_sort_container").append(
7650        '<div class="top_control basket_action"><span style="opacity:0;" class="delete_all colored_theme_hover_text remove_all_basket">' +
7651          svg_cross +
7652          BX.message("BASKET_CLEAR_ALL_BUTTON") +
7653          "</span></div>"
7654      );
7655      if ($(".basket-items-list-header-filter").length) {
7656        $(".basket-items-list-header-filter").append(
7657          '<div class="top_control basket_action"><span style="opacity:1;" class="delete_all colored_theme_hover_text remove_all_basket">' +
7658            svg_cross +
7659            BX.message("BASKET_CLEAR_ALL_BUTTON") +
7660            "</span></div>"
7661        );
7662
7663        var cur_index = $(".basket-items-list-header-filter > a.active").index();
7664        //fix delayed
7665        if (cur_index == 3) cur_index = 2;
7666
7667        if ($(".basket-items-list-header-filter > a.active").data("filter") == "all") cur_index = "all";
7668
7669        $(".basket-items-list-header-filter .top_control .delete_all").data("type", cur_index);
7670
7671        $(".basket-items-list-header-filter > a").on("click", function () {
7672          var index = $(this).index();
7673
7674          //fix delayed
7675          if (index == 3) index = 2;
7676
7677          if ($(this).data("filter") == "all") index = "all";
7678
7679          $(".basket-items-list-header-filter .top_control .delete_all").data("type", index);
7680        });
7681      } else {
7682        var cur_index = $(".bx_sort_container a.current").index();
7683        $(".bx_sort_container .top_control .delete_all").data("type", cur_index);
7684        if ($(".bx_ordercart > div:eq(" + cur_index + ") table tbody tr td.item").length)
7685          $(".bx_sort_container .top_control .delete_all").css("opacity", 1);
7686
7687        $(".bx_ordercart .bx_ordercart_coupon #coupon").wrap('<div class="input"></div>');
7688
7689        $(".bx_sort_container > a").on("click", function () {
7690          var index = $(this).index();
7691          $(".bx_sort_container .top_control .delete_all").data("type", index);
7692
7693          if ($(".bx_ordercart > div:eq(" + index + ") table tbody tr td.item").length)
7694            $(".bx_sort_container .top_control .delete_all").css("opacity", 1);
7695          else $(".bx_sort_container .top_control .delete_all").css("opacity", 0);
7696        });
7697      }
7698
7699      $(".basket_print").on("click", function () {
7700        // window.open(location.pathname+"?print=Y",'_blank');
7701        window.print();
7702      });
7703
7704      $(".delete_all").on("click", function () {
7705        if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") {
7706          var eventdata = {
7707            goal: "goal_basket_clear",
7708            params: { type: $(this).data("type") },
7709          };
7710          BX.onCustomEvent("onCounterGoals", [eventdata]);
7711        }
7712        $.post(
7713          arAsproOptions["SITE_DIR"] + "ajax/action_basket.php",
7714          "TYPE=" + $(this).data("type") + "&CLEAR_ALL=Y",
7715          $.proxy(function (data) {
7716            location.reload();
7717          })
7718        );
7719      });
7720
7721      $(".bx_item_list_section .bx_catalog_item").sliceHeight({
7722        row: ".bx_item_list_slide",
7723        item: ".bx_catalog_item",
7724      });
7725
7726      BX.addCustomEvent("onAjaxSuccess", function (e) {
7727        checkMinPrice();
7728
7729        var errorText = $.trim($("#warning_message").text());
7730        $("#basket_items_list .error_text").detach();
7731        if (errorText != "") {
7732          $("#warning_message").hide().text("");
7733          $("#basket_items_list").prepend('<div class="error_text">' + errorText + "</div>");
7734        }
7735
7736        if (typeof e === "object" && e && "BASKET_DATA" in e) {
7737          if ($("#ajax_basket").length) {
7738            reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y");
7739          }
7740          if ($("#basket_line .basket_fly").length) {
7741            basketFly("open", "N");
7742          }
7743        }
7744        if (checkCounters("google")) {
7745          BX.unbindAll(
7746            BX.Sale.BasketComponent.getEntity(
7747              BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
7748              "basket-checkout-button"
7749            )
7750          );
7751        }
7752      });
7753      if (checkCounters("google")) {
7754        BX.unbindAll(
7755          BX.Sale.BasketComponent.getEntity(
7756            BX.Sale.BasketComponent.getCacheNode(BX.Sale.BasketComponent.ids.basketRoot),
7757            "basket-checkout-button"
7758          )
7759        );
7760      }
7761      $(document).on(
7762        "click",
7763        ".bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout",
7764        function () {
7765          if (checkCounters("google")) {
7766            const gotoOrder = function () {
7767              BX.Sale.BasketComponent.checkOutAction();
7768            };
7769            checkoutCounter(1, "start order", gotoOrder);
7770          }
7771        }
7772      );
7773    }
7774  };
7775}
7776
7777if (!funcDefined("checkMinPrice")) {
7778  checkMinPrice = function () {
7779    if (arAsproOptions["PAGES"]["BASKET_PAGE"]) {
7780      var summ_raw = 0,
7781        summ = 0;
7782      if ($("#allSum_FORMATED").length) {
7783        summ_raw = $("#allSum_FORMATED")
7784          .text()
7785          .replace(/[^0-9\.,]/g, "");
7786        summ = parseFloat(summ_raw);
7787        if ($("#basket_items").length) {
7788          var summ = 0;
7789          $("#basket_items tr").each(function () {
7790            if (typeof $(this).data("item-price") !== "undefined" && $(this).data("item-price"))
7791              summ +=
7792                $(this).data("item-price") *
7793                $(this)
7794                  .find("#QUANTITY_INPUT_" + $(this).attr("id"))
7795                  .val();
7796          });
7797        }
7798        if (!$(".catalog_back").length)
7799          $(".bx_ordercart_order_pay_center").prepend(
7800            '<a href="' +
7801              arAsproOptions["PAGES"]["CATALOG_PAGE_URL"] +
7802              '" class="catalog_back btn btn-default btn-lg white grey">' +
7803              BX.message("BASKET_CONTINUE_BUTTON") +
7804              "</a>"
7805          );
7806      }
7807
7808      if (arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
7809        $(".basket-coupon-section").addClass("smallest");
7810
7811      if (typeof BX.Sale !== "undefined") {
7812        if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent.result !== "undefined")
7813          summ = BX.Sale.BasketComponent.result.allSum;
7814      }
7815
7816      if (arAsproOptions["PRICES"]["MIN_PRICE"]) {
7817        if (arAsproOptions["PRICES"]["MIN_PRICE"] > summ) {
7818          var svgMinPrice =
7819            '<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-.
7819125-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>';
7820          if ($(".oneclickbuy.fast_order").length) $(".oneclickbuy.fast_order").remove();
7821
7822          if ($(".basket-checkout-container").length) {
7823            if (!$(".icon_error_wrapper").length) {
7824              $(".basket-checkout-block.basket-checkout-block-btn").html(
7825                '<div class="icon_error_wrapper"><div class="icon_error_block">' +
7826                  svgMinPrice +
7827                  BX.message("MIN_ORDER_PRICE_TEXT").replace(
7828                    "#PRICE#",
7829                    jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"])
7830                  ) +
7831                  "</div></div>"
7832              );
7833            }
7834          } else {
7835            if (!$(".icon_error_wrapper").length && typeof jsPriceFormat !== "undefined") {
7836              $(".bx_ordercart_order_pay_center").prepend(
7837                '<div class="icon_error_wrapper"><div class="icon_error_block">' +
7838                  svgMinPrice +
7839                  BX.message("MIN_ORDER_PRICE_TEXT").replace(
7840                    "#PRICE#",
7841                    jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"])
7842                  ) +
7843                  "</div></div>"
7844              );
7845            }
7846            if ($(".bx_ordercart_order_pay .checkout").length) $(".bx_ordercart_order_pay .checkout").remove();
7847          }
7848        } else {
7849          if ($(".icon_error_wrapper").length) $(".icon_error_wrapper").remove();
7850
7851          if ($(".basket-checkout-container").length) {
7852            if (
7853              !$(".oneclickbuy.fast_order").length &&
7854              arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" &&
7855              !$(".basket-btn-checkout.disabled").length
7856            )
7857              $(".basket-checkout-section-inner").append(
7858                '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7859                  BX.message("BASKET_QUICK_ORDER_BUTTON") +
7860                  "</span></div>"
7861              );
7862          } else {
7863            if ($(".bx_ordercart_order_pay .checkout").length)
7864              $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1");
7865            else
7866              $(".bx_ordercart_order_pay_center").append(
7867                '<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">' +
7868                  BX.message("BASKET_ORDER_BUTTON") +
7869                  "</a>"
7870              );
7871            if (
7872              !$(".oneclickbuy.fast_order").length &&
7873              arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y"
7874            )
7875              $(".bx_ordercart_order_pay_center").append(
7876                '<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7877                  BX.message("BASKET_QUICK_ORDER_BUTTON") +
7878                  "</span>"
7879              );
7880          }
7881        }
7882      } else {
7883        if ($(".basket-checkout-container").length) {
7884          if (
7885            !$(".oneclickbuy.fast_order").length &&
7886            arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" &&
7887            !$(".basket-btn-checkout.disabled").length
7888          )
7889            $(".basket-checkout-section-inner").append(
7890              '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' +
7891                BX.message("BASKET_QUICK_ORDER_BUTTON") +
7892                "</span></div>"
7893            );
7894        } else {
7895          $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1");
7896          if (!$(".oneclickbuy.fast_order").length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y")
7897            $(".bx_ordercart_order_pay_center").append(
7898              '<span class="oneclickbuy btn btn-lg fast_order btn-trans
7898parent-border-color" onclick="oneClickBuyBasket()">' +
7899                BX.message("BASKET_QUICK_ORDER_BUTTON") +
7900                "</span>"
7901            );
7902        }
7903      }
7904
7905      showBasketShareBtn();
7906      showBasketHeadingBtn();
7907
7908      $("#basket-root .basket-checkout-container .basket-checkout-section .basket-checkout-block .basket-btn-checkout");
7909      $("#basket-root .basket-checkout-container").addClass("visible");
7910    }
7911  };
7912}
7913
7914var isFrameDataReceived = false;
7915if (typeof window.frameCacheVars !== "undefined") {
7916  BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) {
7917    console.log(response);
7918  });
7919
7920  BX.addCustomEvent("onFrameDataReceivedBefore", function () {
7921    // stop ya metrika webvisor DOM indexer
7922    pauseYmObserver();
7923  });
7924
7925  BX.addCustomEvent("onFrameDataReceived", function (json) {
7926    initFull();
7927
7928    CheckTopMenuDotted();
7929
7930    checkLinkedArticles();
7931    checkLinkedBlocks(".linked-banners-list");
7932
7933    if ($(".logo-row.v2").length) {
7934      $(window).resize(); // need to check resize flexslider & menu
7935      setTimeout(function () {
7936        CheckTopMenuDotted();
7937      }, 100);
7938    }
7939
7940    if (funcDefined("setNewHeader")) {
7941      if (typeof BX === "object" && (BX.message("TYPE_SKU") != "TYPE_1" || BX.message("HAS_SKU_PROPS") != "Y")) {
7942        setNewHeader();
7943      } else {
7944        var objNameWrapper = $(".bx_catalog_item_scu[id]");
7945        if (objNameWrapper.length) {
7946          var id = "ob" + objNameWrapper.attr("id").replace("_skudiv", "");
7947          if (id && window[id] !== undefined) {
7948            var obj = window[id].offers[window[id].offerNum];
7949            if (obj !== undefined) {
7950              setNewHeader(obj);
7951            }
7952          }
7953        }
7954      }
7955    }
7956
7957    // resume ya metrika webvisor
7958    // (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload)
7959    setTimeout(resumeYmObserver, 400);
7960
7961    isFrameDataReceived = true;
7962  });
7963} else {
7964  $(document).ready(initFull);
7965}
7966
7967if (!funcDefined("setHeightBlockSlider")) {
7968  setHeightBlockSlider = function () {
7969    /*$(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item-title" });
7970    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item_info" });
7971    $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".catalog_item" });
7972
7973    var sliderWidth = $(document).find(".specials.tab_slider_wrapp").outerWidth();
7974
7975    var iCountTabs = $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").length;
7976
7977    if (iCountTabs <= 1) {
7978      $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").css("height", "");
7979
7980      var itemsButtonsHeight = 0;
7981      if ($(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button").length) {
7982        $(document)
7983          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7984          .css("height", "auto");
7985        itemsButtonsHeight = $(document)
7986          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7987          .height();
7988        $(document)
7989          .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button")
7990          .css("height", "");
7991      }
7992      var tabsContentUnhover = $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").height() * 1;
7993      var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
7994      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-unhover", tabsContentUnhover);
7995      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-hover", tabsContentHover);
7996      $(document).find(".specials.tab_slider_wrapp .tabs_content").height(tabsContentUnhover);
7997      $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport").height(tabsContentUnhover);
7998    } else {
7999      $(document)
8000        .find(".specials.tab_slider_wrapp .tabs_content > li.cur")
8001        .each(function () {
8002          var _th = $(this);
8003          _th.css("height", "");
8004
8005          var itemsButtonsHeight = 0;
8006          if (_th.find(".tabs_slider li .footer_button").length) {
8007            _th.find(".tabs_slider li .footer_button").css("height", "auto");
8008            itemsButtonsHeight = _th.find(".tabs_slider li .footer_button").height();
8009            _th.find(".tabs_slider li .footer_button").css("height", "");
8010          }
8011
8012          var tabsContentUnhover = _th.height() * 1;
8013          var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50;
8014          _th.attr("data-unhover", tabsContentUnhover);
8015          _th.attr("data-hover", tabsContentHover);
8016          _th.parent().height(tabsContentUnhover);
8017          _th.find(".flex-viewport").height(tabsContentUnhover);
8018        });
8019    }*/
8020  };
8021}
8022
8023if (!funcDefined("checkTopFilter")) {
8024  checkTopFilter = function () {};
8025}
8026
8027if (!funcDefined("checkStickyFooter")) {
8028  checkStickyFooter = function () {};
8029}
8030
8031if (!funcDefined("checkLinkedArticles")) {
8032  checkLinkedArticles = function () {
8033    try {
8034      if ($(".linked-blog-list.content .item-views").length) {
8035        var mobileRow = $(".linked-blog-list").data("mobile_row"),
8036          desktopRow = $(".linked-blog-list").data("desktop_row"),
8037          parentBlock = $(".ajax_load .js_append"),
8038          widthRow = parentBlock.getFloatWidth(),
8039          elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(),
8040          elementsCount = parentBlock.find("> .item").length,
8041          slice = Math.floor(widthRow / elementWidthRow),
8042          rowInsertCount = Math.floor(elementsCount / slice),
8043          bCalculateRows = false;
8044        if (window.matchMedia("(max-width: 767px)").matches) {
8045          if (!mobileRow && desktopRow) {
8046            mobileRow = desktopRow;
8047          }
8048          if (mobileRow && mobileRow <= rowInsertCount) {
8049            rowInsertCount = slice * mobileRow;
8050            bCalculateRows = true;
8051          }
8052        } else {
8053          if (desktopRow && desktopRow <= rowInsertCount) {
8054            rowInsertCount = slice * desktopRow;
8055            bCalculateRows = true;
8056          }
8057        }
8058        if (!bCalculateRows) {
8059          rowInsertCount = elementsCount;
8060        }
8061
8062        var linkedBlock = ".linked-blog-list";
8063        var blockInItems = parentBlock.find(linkedBlock);
8064        if (blockInItems.length) {
8065          $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8066          setTimeout(function () {
8067            $(blockInItems).addClass("visible");
8068          }, 0);
8069        } else {
8070          var cloneBlock = $(linkedBlock).clone();
8071          var owlBlock = cloneBlock.find(".owl-carousel-wait");
8072          cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8073          owlBlock.removeClass("owl-carousel-wait").addClass("swiper");
8074          setTimeout(function () {
8075            cloneBlock.addClass("visible");
8076            initSwiperSlider();
8077            owlBlock.removeClass("loader_circle");
8078          }, 1);
8079        }
8080      }
8081    } catch (e) {
8082      console.error(e);
8083    }
8084  };
8085}
8086
8087if (!funcDefined("checkLinkedBlocks")) {
8088  checkLinkedBlocks = function (linkedBlock) {
8089    if (!linkedBlock) linkedBlock = ".linked-banners-list";
8090
8091    try {
8092      if ($(linkedBlock + ".content" + " div").length) {
8093        var mobileRow = $(linkedBlock).data("mobile_row"),
8094          desktopRow = $(linkedBlock).data("desktop_row"),
8095          wrapperBlock = $(".ajax_load .js_wrapper_items"),
8096          parentBlock = $(".ajax_load .js_append"),
8097          widthRow = wrapperBlock.getFloatWidth(),
8098          elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(),
8099          elementsCount = parentBlock.find("> .item").length,
8100          slice = Math.floor(widthRow / elementWidthRow),
8101          rowInsertCount = Math.floor(elementsCount / slice),
8102          bCalculateRows = false;
8103        if (window.matchMedia("(max-width: 767px)").matches) {
8104          if (!mobileRow && desktopRow) {
8105            mobileRow = desktopRow;
8106          }
8107          if (mobileRow && mobileRow <= rowInsertCount) {
8108            rowInsertCount = slice * mobileRow;
8109            bCalculateRows = true;
8110          }
8111        } else {
8112          if (desktopRow && desktopRow <= rowInsertCount) {
8113            rowInsertCount = slice * desktopRow;
8114            bCalculateRows = true;
8115          }
8116        }
8117        if (!bCalculateRows) {
8118          rowInsertCount = elementsCount;
8119        }
8120        var blockInItems = parentBlock.find(linkedBlock);
8121        if (blockInItems.length) {
8122          $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8123          setTimeout(function () {
8124            $(blockInItems).addClass("visible");
8125          }, 0);
8126        } else {
8127          var cloneBlock = $(linkedBlock).clone();
8128          var owlBlock = cloneBlock.find(".owl-carousel-wait");
8129          cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")"));
8130          owlBlock.removeClass("owl-carousel-wait").addClass("swiper");
8131          setTimeout(function () {
8132            cloneBlock.addClass("visible");
8133            initSwiperSlider();
8134            owlBlock.removeClass("loader_circle");
8135          }, 1);
8136        }
8137      }
8138    } catch (e) {
8139      console.error(e);
8140    }
8141  };
8142}
8143
8144/* EVENTS */
8145var timerResize = false,
8146  ignoreResize = [];
8147$(window).resize(function () {
8148  checkLinkedArticles();
8149  checkLinkedBlocks(".linked-banners-list");
8150
8151  // here immediate functions
8152  if (!ignoreResize.length) {
8153    if (timerResize) {
8154      clearTimeout(timerResize);
8155      timerResize = false;
8156    }
8157    timerResize = setTimeout(function () {
8158      // here delayed functions in event
8159      BX.onCustomEvent("onWindowResize", false);
8160    }, 50);
8161  }
8162});
8163
8164var timerScroll = false,
8165  ignoreScroll = [],
8166  documentScrollTopLast = window.pageYOffset,
8167  startScroll = 0;
8168$(window).scroll(function () {
8169  // here immediate functions
8170  documentScrollTopLast = window.pageYOffset;
8171  SetFixedAskBlock();
8172
8173  if (!ignoreScroll.length) {
8174    if (timerScroll) {
8175      clearTimeout(timerScroll);
8176      timerScroll = false;
8177    }
8178    timerScroll = setTimeout(function () {
8179      // here delayed functions in event
8180      BX.onCustomEvent("onWindowScroll", false);
8181    }, 50);
8182  }
8183});
8184
8185BX.addCustomEvent("onWindowResize", function (eventdata) {
8186  try {
8187    ignoreResize.push(true);
8188
8189    CheckTabActive();
8190    CheckTopMenuFullCatalogSubmenu();
8191
8192    if (window.matchMedia("(min-width:768px)").matches) {
8193      closeYandexMap();
8194    }
8195
8196    if ($("nav.mega-menu.sliced").length) $("nav.mega-menu.sliced").removeClass("initied");
8197    CheckTopMenuDotted();
8198
8199    CheckTopVisibleMenu();
8200
8201    checkScrollToTop();
8202    CheckObjectsSizes();
8203
8204    initSly();
8205
8206    // checkVerticalMobileFilter();
8207    if (typeof checkMobilePhone === "function") {
8208      checkMobilePhone();
8209    }
8210    checkTopFilter();
8211    if (typeof checkMobileFilter === "function") {
8212      checkMobileFilter();
8213    }
8214
8215    if (typeof window["stickySidebar"] !== "undefined") {
8216      if (window.matchMedia("(max-width: 991px)").matches) {
8217        window["stickySidebar"].destroy();
8218      } else {
8219        window["stickySidebar"].bindEvents();
8220      }
8221    }
8222
8223    if ($(".flexslider.wsmooth").length) {
8224      $(".flexslider.wsmooth").each(function () {
8225        $(this).data("flexslider").smoothHeight();
8226      });
8227    }
8228
8229    if (window.matchMedia("(min-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile");
8230
8231    if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile");
8232
8233    if ($("#basket_form").length && $(window).outerWidth() <= 600) {
8234      $("#basket_form .tabs_content.basket > li.cur td").each(function () {
8235        $(this).css("width", "");
8236      });
8237    }
8238
8239    $(".bx_filter_section .bx_filter_select_container").each(function () {
8240      var prop_id = $(this).closest(".bx_filter_parameters_box").attr("property_id");
8241      if ($("#smartFilterDropDown" + prop_id).length) {
8242        $("#smartFilterDropDown" + prop_id).css("max-width", $(this).width());
8243      }
8244    });
8245  } catch (e) {
8246    console.log(e);
8247  } finally {
8248    ignoreResize.pop();
8249  }
8250});
8251
8252BX.addCustomEvent("onWindowScroll", function (eventdata) {
8253  try {
8254    ignoreScroll.push(true);
8255  } catch (e) {
8256  } finally {
8257    ignoreScroll.pop();
8258  }
8259});
8260
8261BX.addCustomEvent("onSlideInit", function (eventdata) {
8262  try {
8263    ignoreResize.push(true);
8264    if (eventdata) {
8265      var slider = eventdata.slider;
8266      if (slider) {
8267        if (slider.hasClass("small-gallery")) $(window).resize();
8268        // add classes .curent & .shown to slide
8269        slider.find(".item").removeClass("current");
8270        var curSlide = slider.find(".item.flex-active-slide"),
8271          curSlideId = curSlide.attr("id"),
8272          nav = slider.find(".flex-direction-nav");
8273
8274        curSlide.addClass("current");
8275
8276        slider.find(".visible").css("opacity", "1");
8277        slider.find(".height0").css("height", "auto");
8278
8279        if (curSlide.hasClass("shown")) {
8280          slider.find(".item.clone[id=" + curSlideId + "_clone]").addClass("shown");
8281        }
8282
8283        curSlide.addClass("shown");
8284      }
8285    }
8286  } catch (e) {
8287  } finally {
8288    ignoreResize.pop();
8289  }
8290});
8291
8292BX.addCustomEvent("onCounterGoals", function (eventdata) {
8293  if (arAsproOptions["THEME"]["YA_GOALS"] == "Y" && arAsproOptions["THEME"]["YA_COUNTER_ID"]) {
8294    var idCounter = arAsproOptions["THEME"]["YA_COUNTER_ID"];
8295    idCounter = parseInt(idCounter);
8296
8297    if (typeof eventdata != "object") eventdata = { goal: "undefined" };
8298
8299    if (typeof eventdata.goal != "string") eventdata.goal = "undefined";
8300
8301    if (idCounter) {
8302      try {
8303        waitCounter(idCounter, 50, function () {
8304          var obCounter = window["yaCounter" + idCounter];
8305          if (typeof obCounter == "object") {
8306            obCounter.reachGoal(eventdata.goal);
8307          }
8308        });
8309      } catch (e) {
8310        console.error(e);
8311      }
8312    } else {
8313      console.info("Bad counter id!", idCounter);
8314    }
8315  }
8316});
8317
8318$(document).on("click", ".catalog_reviews_extended span.dropdown-select__list-link", function () {
8319  var _this = $(this);
8320  var ajaxData = _this.data("review_sort_ajax");
8321  var container = _this.closest(".blog-comments");
8322  containerId = container.attr("id");
8323  if (containerId !== undefined && containerId) {
8324    ajaxData.containerId = containerId;
8325  }
8326  if (ajaxData !== undefined) {
8327    container.addClass("blur");
8328    $.ajax({
8329      type: "post",
8330      data: ajaxData,
8331      success: function (html) {
8332        $("#reviews_sort_continer").html(html);
8333        container.removeClass("blur");
8334      },
8335    });
8336  }
8337});
8338
8339$(document).on("change", ".filter-panel__sort-form input", function () {
8340  const _this = $(this);
8341  const $form = _this.closest("form")[0];
8342  const $container = _this.closest(".blog-comments");
8343  const method = $form.method;
8344  const formData = new FormData($form);
8345
8346  if ($container.length) {
8347    $container.addClass("blur");
8348    formData.append("containerId", $container.attr("id"));
8349  }
8350
8351  $.ajax({
8352    data: formData,
8353    type: method,
8354    processData: false,
8355    contentType: false,
8356    success: function (html) {
8357      $("#reviews_sort_continer").html(html);
8358      $container.removeClass("blur");
8359    },
8360  });
8361});
8362
8363$(document).on("click", ".rating_vote:not(.disable)", function () {
8364  var _this = $(this);
8365  var action = _this.data("action");
8366  var parent = _this.closest(".rating-vote");
8367  var commentId = parent.data("comment_id");
8368  var userId = parent.data("user_id");
8369  var ajaxUrl = parent.data("ajax_url");
8370  $.ajax({
8371    url: ajaxUrl,
8372    dataType: "json",
8373    data: { commentId: commentId, action: action, userId: userId },
8374    success: function (data) {
8375      if (data.LIKE !== undefined) {
8376        _this.siblings(".rating-vote-result.like").text(data.LIKE);
8377      }
8378      if (data.DISLIKE !== undefined) {
8379        _this.siblings(".rating-vote-result.dislike").text(data.DISLIKE);
8380      }
8381      if (data.SET_ACTIVE_LIKE !== undefined) {
8382        parent.find(".rating_vote.plus").toggleClass("active");
8383      }
8384      if (data.SET_ACTIVE_DISLIKE !== undefined) {
8385        parent.find(".rating_vote.minus").toggleClass("active");
8386      }
8387    },
8388  });
8389});
8390
8391function fileInputInit(message, reviews = "N") {
8392  $('input[type=file]:not(".uniform-ignore")').uniform({
8393    fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
8394    fileDefaultHtml: message,
8395  });
8396  $(document).on("change", "input[type=file]", function () {
8397    if ($(this).val()) {
8398      $(this).closest(".uploader").addClass("files_add");
8399    } else {
8400      $(this).closest(".uploader").removeClass("files_add");
8401    }
8402  });
8403  $(".form .add_file").on("click", function () {
8404    var index = $(this).closest(".form-group").find("input[type=file]").length;
8405    let inputFormGroup = $(this).closest(".form-group").find(".input");
8406    if (reviews === "Y") {
8407      inputFormGroup.append(
8408        '<input type="file" class="form-control" tabindex="3" id="comment_images" name="comment_images[]" value=""  />'
8409      );
8410    } else {
8411      inputFormGroup.append(
8412        '<input type="file" id="POPUP_FILE' + index + '" name="FILE_n' + index + '"   class="inputfile" value="" />'
8413      );
8414    }
8415
8416    $('input[type=file]:not(".uniform-ignore")').uniform({
8417      fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"),
8418      fileDefaultHtml: message,
8419    });
8420  });
8421}
8422
8423function declOfNum(number, titles) {
8424  var cases = [2, 0, 1, 1, 1, 2];
8425  return number + " " + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]];
8426}
8427
8428function array_values_js(input) {
8429  var tmp_arr = new Array(),
8430    cnt = 0;
8431  for (key in input) {
8432    tmp_arr[cnt] = input[key];
8433    cnt++;
8434  }
8435
8436  return tmp_arr;
8437}
8438
8439$(document).on("input", ".bx_filter_parameters_box_container input[type=text], .inputdecimal", function () {
8440  this.value = this.value.replace(/[^\d\.\-]/g, "");
8441});

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.