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