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