PageSourceSearch

https://svs93.ru/bitrix/templates/aspro_next/js/main.js?1782225073313619

js svs93.ru collected 2026-10-08 12:20:08 UTC 313,619 bytes, 8,965 lines download raw bytes

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

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.