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 18InitLazyLoad = function () {}; 19 20$(document).on("change", ".uploader input[type=file]", function () { 21 if (!$(this).next().length || !$(this).next().hasClass("resetfile")) { 22 $( 23 '<span class="resetfile"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="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>' 24 ).insertAfter($(this)); 25 } 26}); 27 28$(document).on("click", ".uploader.files_add input[type=file] + .resetfile", function () { 29 var $input = $(this).prev(); 30 $input.val(""); 31 $.uniform.update($input); 32 $(this).remove(); 33}); 34 35$(document).on("click", ".top_block h3", function () { 36 if (window.matchMedia("(max-width: 550px)").matches) { 37 var $this = $(this); 38 var a = $this.siblings("a"); 39 if (a.length) { 40 a[0].click(); 41 } 42 } 43}); 44 45$(document).on("click", ".bx-yandex-view-layout .yandex-map__mobile-opener", function () { 46 if ($(this).hasClass("closer")) { 47 closeYandexMap(); 48 } else { 49 openYandexMap(this); 50 } 51}); 52 53function openYandexMap(element) { 54 var $this = $(element); 55 if ($this.hasClass("closer")) return; 56 var currentMap = $this.parents(".bx-yandex-view-layout"); 57 var mapId = currentMap.find(".bx-yandex-map").attr("id"); 58 window.openedYandexMapFrame = mapId;
59 var mapContainer = $('<div data-mapId="' + mapId + '"></div>'); 60 if (!$("div[data-mapId=" + mapId + "]").length) { 61 currentMap.after(mapContainer); 62 } 63 var yandexMapFrame = $('<div class="yandex-map__frame"></div>'); 64 $("body .wrapper1").append(yandexMapFrame); 65 currentMap.appendTo(yandexMapFrame); 66 currentMap.find(".yandex-map__mobile-opener").addClass("closer"); 67 window.map.container.fitToViewport(); 68} 69 70function closeYandexMap() { 71 var yandexMapFrame = $(".yandex-map__frame"); 72 if (yandexMapFrame.length) { 73 var currentMap = yandexMapFrame.find(".bx-yandex-view-layout"); 74 var yandexMapContainer = $("div[data-mapId=" + window.openedYandexMapFrame + "]"); 75 76 currentMap.appendTo(yandexMapContainer); 77 yandexMapFrame.remove(); 78 currentMap.find(".yandex-map__mobile-opener").removeClass("closer"); 79 if (window.map) { 80 window.map.container.fitToViewport(); 81 } 82 } 83} 84 85function throttle(f, t) { 86 let throttled, saveThis, saveArgs; 87 const wrapper = function () { 88 if (throttled) { 89 saveThis = this; 90 saveArgs = arguments; 91 return; 92 } 93 throttled = true; 94 f.apply(this, arguments); 95 setTimeout(function () { 96 throttled = false; 97 if (saveArgs) { 98 wrapper.apply(saveThis, saveArgs); 99 saveThis = saveArgs = null; 100 } 101 }, t); 102 }; 103 return wrapper; 104} 105 106function debounce(f, t) { 107 return function (args) { 108 var previousCall = this.lastCall; 109 this.lastCall = Date.now(); 110 if (previousCall && this.lastCall - previousCall <= t) { 111 clearTimeout(this.lastCallTimer); 112 } 113 this.lastCallTimer = setTimeout(function () { 114 f(args); 115 }, t); 116 }; 117} 118 119$(document).on("click", ".flex-control-nav.flex-control-js-click li a:not(.flex-active)", function (e) { 120 var _this = $(this); 121 var itemIndex = _this.data("index") ? _this.data("index") : _this.closest("li").index(); 122 123 var block = ""; 124 var blocks = _this.closest(".items").find("> .item"); 125 var activeBlock = _this.closest(".items").find(".item.active"); 126 127 var activeLi = _this.closest(".flex-control-nav").find(".flex-active"); 128 129 activeBlock.fadeOut(function () { 130 activeBlock.removeClass("active"); 131 132 block = blocks.eq(itemIndex); 133 if (block.length) { 134 block.fadeIn(function () { 135 block.addClass("active"); 136 }); 137 } 138 139 _this.addClass("flex-active"); 140 activeLi.removeClass("flex-active"); 141 }); 142 143 e.preventDefault(); 144}); 145 146$(document).on("mouseenter", "#headerfixed .menu-item.wide_menu", function () { 147 var _this = $(this); 148 setTimeout(function () { 149 var dropdownMenu = _this.find(".wrap > .dropdown-menu"); 150 var menuOffset = dropdownMenu[0].getBoundingClientRect(); 151 var headerOffset = document.getElementById("headerfixed").getBoundingClientRect(); 152 var windowHeight = document.documentElement.clientHeight; 153 154 if (menuOffset.height + headerOffset.height > windowHeight) { 155 var maxHeight = windowHeight - headerOffset.height; 156 dropdownMenu.css({ 157 "max-height": maxHeight, 158 }); 159 dropdownMenu.find(".menu-navigation").css({ "max-height": maxHeight }); 160 dropdownMenu.find(".customScrollbar").css({ "max-height": maxHeight }); 161 dropdownMenu.find(".menu-wrapper.menu-type-4 > li").css({ "min-height": "auto" }); 162 } else { 163 dropdownMenu.css({ 164 "max-height": "", 165 }); 166 dropdownMenu.find(".menu-navigation").css({ "max-height": "" }); 167 dropdownMenu.find(".customScrollbar").css({ "max-height": "" }); 168 dropdownMenu.find(".menu-wrapper.menu-type-4 > li").css({ "min-height": "" }); 169 } 170 }, 300); 171}); 172 173BX.addCustomEvent("onAjaxSuccess", function (data) { 174 if (typeof data === "object" && data !== null) { 175 if (typeof data.BASKET_REFRESHED !== undefined && data.BASKET_REFRESHED === true) { 176 var basketCounts = data.BASKET_DATA.BASKET_ITEMS_COUNT; 177 reloadBasketCounters(basketCounts); 178 } 179 } 180}); 181 182if (!funcDefined("parseUrlQuery")) { 183 parseUrlQuery = function () { 184 var data = {}; 185 if (location.search) { 186 var pair = location.search.substr(1).split("&"); 187 for (var i = 0; i < pair.length; i++) { 188 var param = pair[i].split("="); 189 data[param[0]] = param[1]; 190 } 191 } 192 return data; 193 }; 194} 195 196if (!funcDefined("setLocationSKU")) { 197 function setLocationSKU(ID, urlParam) { 198 if (urlParam === undefined) urlParam = "oid"; 199 200 var objUrl = parseUrlQuery(), 201 j = 0, 202 prefix = "", 203 query_string = "", 204 url = ""; 205 206 objUrl[urlParam] = ID; 207 208 for (var i in objUrl) { 209 if (parseInt(j) > 0) prefix = "&"; 210 query_string = query_string + prefix + i + "=" + objUrl[i]; 211 j++; 212 } 213 if (query_string) { 214 url = location.pathname + "?" + query_string + location.hash; 215 } 216 try { 217 //history.pushState(null, null, url); 218 history.replaceState(null, null, url); 219 return; 220 } catch (e) {} 221 location.hash = "#" + url.substr(1); 222 } 223} 224 225if (!funcDefined("ShowOverlay")) { 226 ShowOverlay = function () { 227 $('<div class="jqmOverlay waiting"></div>').appendTo("body"); 228 }; 229} 230 231if (!funcDefined("HideOverlay")) { 232 HideOverlay = function () { 233 $(".jqmOverlay").detach(); 234 }; 235} 236 237if (!funcDefined("trimPrice")) { 238 var trimPrice = function trimPrice(s) { 239 s = s.split(" ").join(""); 240 s = s.split(" ").join(""); 241 return s; 242 }; 243} 244 245if (!funcDefined("pauseYmObserver")) { 246 // pause ya metrika webvisor MutationObserver callback (DOM indexer) 247 // use before insert html with some animation 248 pauseYmObserver = function () { 249 if ( 250 typeof MutationObserver === "function" && 251 typeof MutationObserver.observers === "object" && 252 typeof MutationObserver.observers.ym === "object" 253 ) { 254 if (typeof pauseYmObserver.cnt === "undefined") { 255 pauseYmObserver.cnt = 0; 256 } 257 258 ++pauseYmObserver.cnt; 259 260 if (!MutationObserver.observers.ym.paused) { 261 MutationObserver.observers.ym.pause(); 262 } 263 } 264 }; 265} 266 267if (!funcDefined("resumeYmObserver")) { 268 // resume ya metrika webvisor MutationObserver callback 269 // use when animation finished 270 resumeYmObserver = function () { 271 if ( 272 typeof MutationObserver === "function" && 273 typeof MutationObserver.observers === "object" && 274 typeof MutationObserver.observers.ym === "object" 275 ) { 276 if (typeof pauseYmObserver.cnt === "undefined") { 277 pauseYmObserver.cnt = 1; 278 } 279 280 pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0; 281 282 if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) { 283 MutationObserver.observers.ym.resume(); 284 } 285 } 286 }; 287} 288 289if (!funcDefined("markProductRemoveBasket")) { 290 var markProductRemoveBasket = function markProductRemoveBasket(id) { 291 $(".in-cart[data-item=" + id + "]").hide(); 292 $(".to-cart[data-item=" + id + "]").show(); 293 $(".to-cart[data-item=" + id + "]") 294 .closest(".button_block") 295 .removeClass("wide"); 296 $(".to-cart[data-item=" + id + "]") 297 .closest(".counter_wrapp") 298 .find(".counter_block") 299 .show(); 300 $(".counter_block[data-item=" + id + "]") 301 .closest(".counter_block_inner") 302 .show(); 303 $(".counter_block[data-item=" + id + "]").show(); 304 $(".in-subscribe[data-item=" + id + "]").hide(); 305 $(".to-subscribe[data-item=" + id + "]").show(); 306 //$('.wish_item[data-item='+id+']').removeClass("added"); 307 $(".wish_item[data-item=" + id + "] .value:not(.added)").show(); 308 $(".wish_item[data-item=" + id + "] .value.added").hide(); 309 $(".wish_item.to[data-item=" + id + "]").show(); 310 $(".wish_item.in[data-item=" + id + "]").hide(); 311 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .basket_item_add").removeClass("added"); 312 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .wish_item_add").removeClass("added"); 313 314 if ($("#headerfixed .but-cell .type_block").length) { 315 $("#headerfixed .but-cell .type_block span").text(BX.message("MORE_INFO_SKU")); 316 $("#headerfixed .but-cell .type_block .svg-inline-fw").remove(); 317 } 318 }; 319} 320 321if (!funcDefined("markProductAddBasket")) { 322 var markProductAddBasket = function markProductAddBasket(id) { 323 $(".to-cart[data-item=" + id + "]").hide(); 324 $(".to-cart[data-item=" + id + "]") 325 .closest(".counter_wrapp") 326 .find(".counter_block_inner") 327 .hide(); 328 $(".to-cart[data-item=" + id + "]") 329 .closest(".counter_wrapp") 330 .find(".counter_block") 331 .hide(); 332 $(".to-cart[data-item=" + id + "]") 333 .closest(".button_block") 334 .addClass("wide"); 335 $(".in-cart[data-item=" + id + "]").show(); 336 //$('.wish_item[data-item='+id+']').removeClass("added"); 337 $(".wish_item[data-item=" + id + "] .value:not(.added)").show(); 338 $(".wish_item[data-item=" + id + "] .value.added").hide(); 339 340 $(".wish_item.to[data-item=" + id + "]").show(); 341 $(".wish_item.in[data-item=" + id + "]").hide(); 342 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .basket_item_add").addClass("added"); 343 344 if ($("#headerfixed .but-cell .type_block").length) { 345 $("#headerfixed .but-cell .type_block").html($(".in-cart[data-item=" + id + "]").html()); 346 } 347 }; 348} 349 350if (!funcDefined("markProductDelay")) {
351 var markProductDelay = function markProductDelay(id) { 352 $(".in-cart[data-item=" + id + "]").hide(); 353 $(".to-cart[data-item=" + id + "]").show(); 354 $(".to-cart[data-item=" + id + "]") 355 .closest(".counter_wrapp") 356 .find(".counter_block_inner") 357 .show(); 358 $(".to-cart[data-item=" + id + "]") 359 .closest(".counter_wrapp") 360 .find(".counter_block") 361 .show(); 362 $(".to-cart[data-item=" + id + "]") 363 .closest(".button_block") 364 .removeClass("wide"); 365 //$('.wish_item[data-item='+id+']').addClass("added"); 366 $(".wish_item[data-item=" + id + "] .value:not(.added)").hide(); 367 $(".wish_item[data-item=" + id + "] .value.added").css("display", "block"); 368 369 $(".wish_item.to[data-item=" + id + "]").hide(); 370 $(".wish_item.in[data-item=" + id + "]").show(); 371 372 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + id + "] .wish_item_add").addClass("added"); 373 374 if ($("#headerfixed .but-cell .type_block").length) { 375 $("#headerfixed .but-cell .type_block span").text(BX.message("MORE_INFO_SKU")); 376 $("#headerfixed .but-cell .type_block .svg-inline-fw").remove(); 377 } 378 }; 379} 380 381if (!funcDefined("markProductSubscribe")) { 382 var markProductSubscribe = function markProductSubscribe(id) { 383 $(".to-subscribe[data-item=" + id + "]").hide(); 384 $(".in-subscribe[data-item=" + id + "]").css("display", "block"); 385 }; 386} 387 388if (!funcDefined("updateBottomIconsPanel")) { 389 var updateBottomIconsPanel = function updateBottomIconsPanel(options) { 390 if (options && $(".bottom-icons-panel").length) { 391 var bBasketUpdate = "READY" in options || "BASKET_COUNT" in options; 392 var basketCount = "READY" in options ? options.READY.COUNT : "BASKET_COUNT" in options ? options.BASKET_COUNT : 0; 393 var basketTitle = 394 "READY" in options ? options.READY.TITLE : "BASKET_SUMM_TITLE" in options ? options.BASKET_SUMM_TITLE : ""; 395 var bDelayUpdate = "DELAY" in options || "DELAY_COUNT" in options; 396 var delayCount = "DELAY" in options ? options.DELAY.COUNT : "DELAY_COUNT" in options ? options.DELAY_COUNT : 0; 397 var delayTitle = 398 "DELAY" in options ? options.DELAY.TITLE : "DELAY_SUMM_TITLE" in options ? options.DELAY_SUMM_TITLE : ""; 399 var bCompareUpdate = "COMPARE" in options; 400 var compareCount = 401 "COMPARE" in options 402 ? typeof options.COMPARE === "object" && "COUNT" in options.COMPARE 403 ? options.COMPARE.COUNT 404 : Object.keys(options.COMPARE).length 405 : 0; 406 407 //basket 408 if (bBasketUpdate) { 409 if (+basketCount > 0) { 410 $(".bottom-icons-panel .basket.counter-state").removeClass("counter-state--empty"); 411 } else { 412 $(".bottom-icons-panel .basket.counter-state").addClass("counter-state--empty"); 413 } 414 $(".bottom-icons-panel .basket .counter-state__content-item-value").text(basketCount); 415 $(".bottom-icons-panel .basket") 416 .closest(".bottom-icons-panel__content-link") 417 .attr("title", $("<div/>").html(basketTitle).text()); 418 } 419 // 420 421 //delay 422 if (bDelayUpdate && bBasketUpdate) { 423 if (+delayCount > 0) { 424 $(".bottom-icons-panel .delay.counter-state").removeClass("counter-state--empty"); 425 } else { 426 $(".bottom-icons-panel .delay.counter-state").addClass("counter-state--empty"); 427 } 428 $(".bottom-icons-panel .delay .counter-state__content-item-value").text(delayCount); 429 $(".bottom-icons-panel .delay") 430 .closest(".bottom-icons-panel__content-link") 431 .attr("title", $("<div/>").html(delayTitle).text()); 432 } 433 // 434 435 //compare 436 if (bCompareUpdate) { 437 if (compareCount > 0) { 438 $(".bottom-icons-panel .compare.counter-state").removeClass("counter-state--empty"); 439 } else { 440 $(".bottom-icons-panel .compare.counter-state").addClass("counter-state--empty"); 441 } 442 $(".bottom-icons-panel .compare .counter-state__content-item-value").text(compareCount); 443 } 444 } 445 }; 446} 447if (!funcDefined("basketFly")) { 448 var basketFly = function basketFly(action, opener) { 449 if (typeof obMaxPredictions === "object") { 450 obMaxPredictions.updateAll(); 451 } 452 453 /*if(arAsproOptions['PAGES']['BASKET_PAGE']) 454 return;*/ 455 $.post( 456 arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php", 457 "PARAMS=" + $("#basket_form").find("input#fly_basket_params").val(), 458 $.proxy(function (data) { 459 var small = $(".opener .basket_count").hasClass("small"), 460 basket_count = $(data).find(".basket_count").find(".items div").text(); 461 $("#basket_line .basket_fly").addClass("loaded").html(data); 462 463 if (action == "refresh") $("li[data-type=AnDelCanBuy]").trigger("click"); 464 465 if (typeof opener == "undefined" || $("#basket_line .basket_fly").hasClass("loading")) { 466 if (window.matchMedia("(min-width: 769px)").matches) { 467 if (action == "open") { 468 if (small) { 469 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 470 $(".opener .basket_count").click(); 471 } 472 } else { 473 $(".opener .basket_count").removeClass("small"); 474 $('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass("cur"); 475 $('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass("cur"); 476 477 $("#basket_line .basket_fly .opener > div:eq(0)").addClass("cur"); 478 } 479 } else if (action == "wish") { 480 if (small) { 481 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") $(".opener .wish_count").click(); 482 } else { 483 $(".opener .wish_count").removeClass("small"); 484 $('.tabs_content.basket li[item-section="DelDelCanBuy"]').addClass("cur"); 485 $('#basket_line ul.tabs li[item-section="DelDelCanBuy"]').addClass("cur"); 486 } 487 } else { 488 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 489 $(".opener .basket_count").click(); 490 } 491 } 492 } 493 } else if (opener === "SHOW") { 494 if (window.matchMedia("(min-width: 769px)").matches) { 495 $(".opener .basket_count").removeClass("small"); 496 $('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass("cur"); 497 $('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass("cur"); 498 $("#basket_line .basket_fly .opener > div:eq(0)").addClass("cur"); 499 } 500 } 501 }) 502 ); 503 }; 504} 505 506if (!funcDefined("basketTop")) { 507 var basketTop = function basketTop(action, hoverBlock) { 508 if (action == "reload") { 509 if ($(".basket_hover_block:hover").length) { 510 hoverBlock = $(".basket_hover_block:hover"); 511 } 512 } 513 514 if (action == "open") { 515 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 516 if ($("#headerfixed").hasClass("fixed")) { 517 hoverBlock = $("#headerfixed .basket_hover_block"); 518 } else { 519 hoverBlock = $(".top_basket .basket_hover_block"); 520 } 521 } 522 } 523 524 if (hoverBlock === undefined) { 525 console.log("Undefined hoverBlock"); 526 console.trace(); 527 return false;
528 } 529 530 if (action == "close") { 531 if (hoverBlock.length) { 532 hoverBlock.css({ 533 opacity: "", 534 visibility: "", 535 }); 536 return true; 537 } 538 } 539 540 hoverBlock.removeClass("loaded"); 541 var firstTime = hoverBlock.find("div").length ? "false" : "true"; 542 var params = $("#basket_form").find("input#fly_basket_params").val(); 543 var postData = { 544 firstTime: firstTime, 545 }; 546 if (params !== undefined) { 547 postData.PARAMS = params; 548 } 549 550 $.post( 551 arAsproOptions["SITE_DIR"] + "ajax/showBasketHover.php", 552 postData, 553 $.proxy(function (data) { 554 var ob = BX.processHTML(data); 555 556 // inject 557 $("#headerfixed .basket_hover_block, .top_basket .basket_hover_block").html(ob.HTML); 558 BX.ajax.processScripts(ob.SCRIPT); 559 560 if (window.matchMedia("(min-width: 992px)").matches) { 561 hoverBlock.addClass("loaded"); 562 563 if (action == "open") { 564 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 565 if ($("#headerfixed").hasClass("fixed")) { 566 hoverBlock = $("#headerfixed .basket_hover_block"); 567 } else { 568 hoverBlock = $(".top_basket .basket_hover_block"); 569 } 570 571 hoverBlock.css({ 572 opacity: "1", 573 visibility: "visible", 574 }); 575 576 setTimeout(function () { 577 hoverBlock.css({ 578 opacity: "", 579 visibility: "", 580 }); 581 }, 2000); 582 } 583 } 584 } 585 }) 586 ); 587 }; 588} 589 590//work with hash start 591var lastHash = location.hash; 592if ("onhashchange" in window) { 593 $(window).bind("hashchange", function () { 594 var newHash = location.hash; 595 if (newHash == "#delayed") { 596 if ($("#basket_toolbar_button_delayed").length) $("#basket_toolbar_button_delayed").trigger("click"); 597 } else { 598 if ($("#basket_toolbar_button").length) $("#basket_toolbar_button").trigger("click"); 599 } 600 // Do something 601 var diff = compareHash(newHash, lastHash); 602 // alert("Difference between old and new hash:\n"+diff[0]+"\n\n"+diff[1]); 603 //At the end of the func: 604 lastHash = newHash; 605 606 if (lastHash) { 607 if ("scrollRestoration" in history) { 608 history.scrollRestoration = "manual"; 609 } 610 if ($('.ordered-block .tabs .nav a[href="' + lastHash + '"]').length) { 611 $('.ordered-block .tabs .nav a[href="' + lastHash + '"]').trigger("click"); 612 var content_offset = $(".ordered-block .tabs").offset(); 613 $("html, body").animate({ scrollTop: content_offset.top - 90 }, 400); 614 } 615 } 616 }); 617 618 function compareHash(current, previous) { 619 for (var i = 0, len = Math.min(current.length, previous.length); i < len; i++) { 620 if (current.charAt(0) != previous.charAt(0)) break; 621 } 622 current = current.substr(i); 623 previous = previous.substr(i); 624 for (var i = 0, len = Math.min(current.length, previous.length); i < len; i++) { 625 if (current.substr(-1) != previous.substr(-1)) break; 626 } 627 628 //Array: Current = New hash, previous = old hash 629 return [current, previous]; 630 } 631} 632 633$(document).on("click", "#basket_toolbar_button", function () { 634 if (lastHash) location.hash = "cart"; 635}); 636$(document).on("click", "#basket_toolbar_button_delayed", function () { 637 if (lastHash) location.hash = "delayed"; 638}); 639if (location.hash) { 640 var hash = location.hash; 641} 642//work with hash end 643 644$(document).on("click", "#basket_line .basket_fly .opener > div.clicked", function () { 645 if (arAsproOptions["PAGES"]["BASKET_PAGE"]) return; 646 function onOpenFlyBasket(_this) { 647 $("#basket_line .basket_fly .tabs li").removeClass("cur"); 648 $("#basket_line .basket_fly .tabs_content li").removeClass("cur"); 649 // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur"); 650 if (!$(_this).is(".wish_count.empty")) { 651 $("#basket_line .basket_fly .tabs_content li[item-section=" + $(_this).data("type") + "]").addClass("cur"); 652 $("#basket_line .basket_fly .tabs li:eq(" + $(_this).index() + ")").addClass("cur"); 653 // $("#basket_line .basket_fly .remove_all_basket."+$(_this).data("type")).addClass("cur"); 654 } else { 655 $("#basket_line .basket_fly .tabs li").first().addClass("cur").siblings().removeClass("cur"); 656 $("#basket_line .basket_fly .tabs_content li").first().addClass("cur").siblings().removeClass("cur"); 657 // $("#basket_line .basket_fly .remove_all_basket").first().addClass("cur"); 658 } 659 $("#basket_line .basket_fly .opener > div.clicked").removeClass("small"); 660 661 $("#basket_line .basket_fly .opener > div").siblings().removeClass("cur"); 662 $("#basket_line .basket_fly .opener > div:eq(" + $(_this).index() + ")").addClass("cur"); 663 } 664 665 if (window.matchMedia("(min-width: 769px)").matches) { 666 var _this = this; 667 668 $(_this).siblings().removeClass("cur"); 669 $(_this).addClass("cur"); 670 671 if (parseInt($("#basket_line .basket_fly").css("right")) < 0) { 672 $("#basket_line .basket_fly") 673 .stop() 674 .addClass("loading") 675 .animate({ right: "0" }, 333, function () { 676 if ($(_this).closest(".basket_fly.loaded").length) { 677 onOpenFlyBasket(_this); 678 } else { 679 $.ajax({ 680 url: arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php", 681 type: "post", 682 success: function (html) { 683 $("#basket_line .basket_fly").removeClass("loading").addClass("loaded").html(html); 684 onOpenFlyBasket(_this); 685 }, 686 }); 687 } 688 }); 689 $("#basket_line .basket_fly").addClass("swiped"); 690 } else if ( 691 $(this).is(".wish_count:not(.empty)") && 692 !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=DelDelCanBuy]") 693 ) { 694 $("#basket_line .basket_fly .tabs li").removeClass("cur"); 695 $("#basket_line .basket_fly .tabs_content li").removeClass("cur"); 696 // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur"); 697 $("#basket_line .basket_fly .tabs_content li[item-section=" + $(this).data("type") + "]").addClass("cur"); 698 $("#basket_line .basket_fly .tabs li:eq(" + $(this).index() + ")") 699 .first() 700 .addClass("cur"); 701 // $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur"); 702 } else if ( 703 $(this).is(".basket_count") && 704 $("#basket_line .basket_fly .basket_sort ul.tabs li.cur").length && 705 !$("#basket_line .basket_fly .basket_sort ul.tabs li.cur").is("[item-section=AnDelCanBuy]") 706 ) { 707 $("#basket_line .basket_fly .tabs li").removeClass("cur"); 708 $("#basket_line .basket_fly .tabs_content li").removeClass("cur"); 709 // $("#basket_line .basket_fly .remove_all_basket").removeClass("cur"); 710 $("#basket_line .basket_fly .tabs_content li:eq(" + $(this).index() + ")").addClass("cur"); 711 $("#basket_line .basket_fly .tabs li:eq(" + $(this).index() + ")") 712 .first() 713 .addClass("cur"); 714 // $("#basket_line .basket_fly .remove_all_basket."+$(this).data("type")).first().addClass("cur"); 715 } else { 716 $("#basket_line .basket_fly") 717 .stop() 718 .animate({ right: -$("#basket_line .basket_fly").outerWidth() }, 150); 719 $("#basket_line .basket_fly .opener > div.clicked").addClass("small"); 720 $("#basket_line .basket_fly").removeClass("swiped"); 721 $("#basket_line .basket_fly .opener > div").removeClass("cur"); 722 } 723 } 724}); 725 726if (!funcDefined("clearViewedProduct")) { 727 function clearViewedProduct() { 728 try { 729 var siteID = arAsproOptions.SITE_ID; 730 var localKey = "MAX_VIEWED_ITEMS_" + siteID; 731 var cookieParams = { path: "/", expires: 30 }; 732 if (typeof BX.localStorage !== "undefined") { 733 // remove local storage 734 BX.localStorage.set(localKey, {}, 0); 735 } 736 // remove cookie 737 $.removeCookie(localKey, cookieParams); 738 } catch (e) { 739 console.error(e); 740 } 741 } 742} 743
744if (!funcDefined("setViewedProduct")) { 745 function setViewedProduct(id, arData) { 746 try { 747 // save $.cookie option 748 var bCookieJson = $.cookie.json; 749 $.cookie.json = true; 750 751 var siteID = arAsproOptions.SITE_ID; 752 var localKey = "MAX_VIEWED_ITEMS_" + siteID; 753 var cookieParams = { path: "/", expires: 30 }; 754 755 if (typeof BX.localStorage !== "undefined" && typeof id !== "undefined" && typeof arData !== "undefined") { 756 var PRODUCT_ID = typeof arData.PRODUCT_ID !== "undefined" ? arData.PRODUCT_ID : id; 757 var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {}; 758 var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {}; 759 var count = 0; 760 761 // delete some items (sync cookie & local storage) 762 for (var _id in arViewedLocal) { 763 arViewedLocal[_id].IS_LAST = false; 764 if (typeof arViewedCookie[_id] === "undefined") { 765 delete arViewedLocal[_id]; 766 } 767 } 768 for (var _id in arViewedCookie) { 769 if (typeof arViewedLocal[_id] === "undefined") { 770 delete arViewedCookie[_id]; 771 } 772 } 773 774 for (var _id in arViewedCookie) { 775 count++; 776 } 777 778 // delete item if other item (offer) of that PRODUCT_ID is exists 779 if (typeof arViewedLocal[PRODUCT_ID] !== "undefined") { 780 if (arViewedLocal[PRODUCT_ID].ID != id) { 781 delete arViewedLocal[PRODUCT_ID]; 782 delete arViewedCookie[PRODUCT_ID]; 783 } 784 } 785 786 var time = new Date().getTime(); 787 arData.ID = id; 788 arData.ACTIVE_FROM = time; 789 arData.IS_LAST = true; 790 arViewedLocal[PRODUCT_ID] = arData; 791 arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID]; 792 793 $.cookie(localKey, arViewedCookie, cookieParams); 794 BX.localStorage.set(localKey, arViewedLocal, 2592000); // 30 days 795 } 796 } catch (e) { 797 console.error(e); 798 } finally { 799 // restore $.cookie option 800 $.cookie.json = bCookieJson; 801 } 802 } 803} 804 805if (!funcDefined("initSelects")) { 806 function initSelects(target) { 807 var iOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false; 808 if (iOS) return; 809 if ($("#bx-soa-order").length) return; 810 // SELECT STYLING 811 $(target) 812 .find(".wrapper1 select:visible") 813 .ikSelect({ 814 syntax: 815 '<div class="ik_select_link"> \ 816 <span class="ik_select_link_text"></span> \ 817 <div class="trigger"></div> \ 818 </div> \ 819 <div class="ik_select_dropdown"> \ 820 <div class="ik_select_list"> \ 821 </div> \ 822 </div>', 823 dynamicWidth: true, 824 ddMaxHeight: 112, 825 customClass: "common_select", 826 //equalWidths: true, 827 onShow: function (inst) { 828 inst.$dropdown.css("top", parseFloat(inst.$dropdown.css("top")) - 5 + "px"); 829 if (inst.$dropdown.outerWidth() < inst.$link.outerWidth()) { 830 inst.$dropdown.css("width", inst.$link.outerWidth()); 831 } 832 if (inst.$dropdown.outerWidth() > inst.$link.outerWidth()) { 833 inst.$dropdown.css("width", inst.$link.outerWidth()); 834 } 835 var count = 0, 836 client_height = 0; 837 inst.$dropdown.css("left", inst.$link.offset().left); 838 $(inst.$listInnerUl) 839 .find("li") 840 .each(function () { 841 if (!$(this).hasClass("ik_select_option_disabled")) { 842 ++count; 843 client_height += $(this).outerHeight(); 844 } 845 }); 846 if (client_height < 112) { 847 inst.$listInner.css("height", "auto"); 848 } else { 849 inst.$listInner.css("height", "112px"); 850 } 851 inst.$link.addClass("opened"); 852 inst.$listInner.addClass("scroller scrollblock"); 853 if ($(".confirm_region").length) $(".confirm_region").remove(); 854 }, 855 onHide: function (inst) { 856 inst.$link.removeClass("opened"); 857 }, 858 }); 859 // END OF SELECT STYLING 860 861 var timeout; 862 $(window).on("resize", function () { 863 ignoreResize.push(true); 864 clearTimeout(timeout); 865 timeout = setTimeout(function () { 866 //$('select:visible').ikSelect('redraw'); 867 var inst = ""; 868 if ((inst = $(".common_select-link.opened + select").ikSelect().data("plugin_ikSelect"))) { 869 inst.$dropdown.css("left", inst.$link.offset().left + "px"); 870 } 871 }, 20); 872 ignoreResize.pop(); 873 }); 874 } 875} 876 877if (!funcDefined("CheckTopMenuFullCatalogSubmenu")) { 878 CheckTopMenuFullCatalogSubmenu = function () { 879 if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["MENU_TYPE_VIEW"] != "HOVER") return; 880 881 var $menu = $(".left_block .menu_top_block"); 882 if ($menu.length) { 883 var $wrapmenu = $menu.parents(".wrap_menu"); 884 885 var wrapMenuWidth = $menu.closest(".wrapper_inner").actual("width"); 886 if (!wrapMenuWidth) wrapMenuWidth = $menu.closest(".wraps").actual("width"); 887 888 var bCatalogFirst = $menu.hasClass("catalogfirst"); 889 var findMenuLi = $(".left_block .menu_top_block:visible li.full"); 890 var parentSubmenuWidth = $menu.actual("outerWidth"); 891 var wrapMenuLeft = 0; 892 var wrapMenuRight = 0; 893 894 if ($wrapmenu.length) { 895 wrapMenuWidth = $wrapmenu.actual("outerWidth"); 896 wrapMenuLeft = $wrapmenu.offset().left; 897 wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 898 } 899 900 if ($(".left_block .catalog_block.menu_top_block").length) { 901 if ($(".left_block .catalog_block.menu_top_block").is(":visible")) 902 findMenuLi = $(".left_block .menu_top_block.catalog_block li.full"); 903 } 904 findMenuLi.each(function () { 905 var $this = $(this); 906 var $submenu = $this.find(">.dropdown"); 907 908 if ($submenu.length) { 909 // $submenu.css({left: parentSubmenuWidth + 'px', width: (wrapMenuWidth - parentSubmenuWidth) + 'px', 'padding-left': '0px', 'padding-right': '0px', 'opacity': 1}); 910 $submenu.css({ width: wrapMenuWidth - parentSubmenuWidth + "px" }); 911 912 if (!isOnceInited && arAsproOptions["THEME"]["MENU_POSITION"] == "TOP") { 913 $this.on("mouseenter", function () { 914 $submenu.css("min-height", $this.closest(".dropdown").actual("outerHeight") + "px"); 915 }); 916 } 917 } 918 }); 919 } 920 }; 921} 922 923$.fn.getMaxHeights = function (outer, classNull, minHeight) { 924 var maxHeight = this.map(function (i, e) { 925 var calc_height = 0; 926 $(e).css("height", ""); 927 928 if (outer == true) calc_height = $(e).actual("outerHeight"); 929 else calc_height = $(e).actual("height"); 930 931 return calc_height; 932 }).get(); 933 for (var i = 0, c = maxHeight.length; i < c; ++i) { 934 if (maxHeight[i] % 2) --maxHeight[i]; 935 } 936 return Math.max.apply(this, maxHeight); 937}; 938 939$.fn.equalizeHeights = function (outer, classNull, options) { 940 var maxHeight = []; 941 var items = []; 942 943 for (var i = 0, itemKey = 0; i < this.length; itemKey++) { 944 var item = this[itemKey], 945 _item = $(item), 946 minus_height = 0, 947 calc_height = 0; 948 949 i++; 950 951 if (options.blockNull !== undefined) { 952 if (options.blockNull.class !== undefined) { 953 if (_item.hasClass(options.blockNull.class) || _item.closest("." + options.blockNull.class).length) { 954 continue; 955 } 956 } 957 } 958 959 items.push(this[itemKey]); 960 961 if (classNull !== false) { 962 if (!isMobile) { 963 var nulled = _item.find(classNull); 964 if (nulled.length) { 965 minus_height = parseInt(nulled[0].offsetHeight); 966 //minus_height=parseInt(_item.find(classNull).outerHeight(false)); 967 //minus_height=parseInt(_item.find(classNull).actual('outerHeight')); 968 } 969 } 970 } 971 972 if (minus_height) minus_height += 12; 973 974 _item.css("height", ""); 975 976 calc_height = item.offsetHeight - minus_height; 977 978 if (options.minHeight !== false) { 979 if (calc_height < options.minHeight) calc_height += options.minHeight - calc_height; 980 981 if (window.matchMedia("(max-width: 520px)").matches) calc_height = 300; 982 983 if (window.matchMedia("(max-width: 400px)").matches) calc_height = 200; 984 } 985
986 if (!calc_height) calc_height = 0; 987 988 maxHeight.push(calc_height); 989 } 990 991 for (var i = 0, c = maxHeight.length; i < c; ++i) { 992 if (maxHeight[i] % 2) { 993 --maxHeight[i]; 994 } 995 } 996 997 var result = $(items).height(Math.max.apply(this, maxHeight)); 998 999 return result; 1000}; 1001 1002$.fn.getFloatWidth = function () { 1003 var width = 0; 1004 if ($(this).length) { 1005 var rect = $(this)[0].getBoundingClientRect(); 1006 if (!(width = rect.width)) width = rect.right - rect.left; 1007 } 1008 1009 $(this).data("floatWidth", width); 1010 1011 return width; 1012}; 1013 1014function extendDepthObject(target, FromObj) { 1015 var to = Object.assign({}, target); 1016 for (var key in FromObj) { 1017 if (typeof FromObj[key] == "object") { 1018 to[key] = extendDepthObject(to[key], FromObj[key]); 1019 } else { 1020 to[key] = FromObj[key]; 1021 } 1022 } 1023 1024 return to; 1025} 1026 1027$.fn.sliceHeight = function (options) { 1028 function _slice(el) { 1029 var arBreakpoints = Object.keys(options.breakpoint); 1030 var resizeOptionsTmp = {}; 1031 if (arBreakpoints.length) { 1032 for (var key in arBreakpoints) { 1033 if (window.matchMedia(arBreakpoints[key].toString()).matches) { 1034 resizeOptionsTmp = options.breakpoint[arBreakpoints[key]]; 1035 } 1036 } 1037 } 1038 1039 var resizeOptions = extendDepthObject(options, resizeOptionsTmp); 1040 1041 var blockNullClass = 1042 resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined 1043 ? resizeOptions.blockNull.class 1044 : false; 1045 var parent = 1046 typeof resizeOptions.row !== "undefined" && resizeOptions.row.length 1047 ? el.first().parents(resizeOptions.row) 1048 : el.first().parents(".items"); 1049 var item = ""; 1050 1051 if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) { 1052 if (blockNullClass) { 1053 $(resizeOptions.item).each(function (i, element) { 1054 _element = $(element); 1055 if (!_element.hasClass(blockNullClass)) { 1056 item = _element; 1057 } 1058 }); 1059 if (!item) 1060 // if only ignored blocks 1061 return false; 1062 } else { 1063 item = $(resizeOptions.item).first(); 1064 } 1065 } else { 1066 if (el.first().hasClass("item")) { 1067 item = el.first(); 1068 } else { 1069 item = el.first().parents(".item"); 1070 } 1071 } 1072 1073 if (typeof resizeOptions.autoslicecount == "undefined" || resizeOptions.autoslicecount !== false) { 1074 var elsw = parent.getFloatWidth(), 1075 elw = item.getFloatWidth(); 1076 if (!elsw) { 1077 elsw = el.first().parents(".row").getFloatWidth(); 1078 } 1079 if (!elw) { 1080 if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) 1081 elw = $(resizeOptions.item + ":eq(1)").getFloatWidth() 1082 ? $(resizeOptions.item + ":eq(1)").getFloatWidth() 1083 : $(resizeOptions.item + ":eq(2)").getFloatWidth(); 1084 else elw = $(el[1]).getFloatWidth() ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth(); 1085 } 1086 if (elw && resizeOptions.fixWidth) elw -= resizeOptions.fixWidth; 1087 1088 elw = parseInt(elw * 100) / 100; 1089 1090 if (elsw && elw) { 1091 resizeOptions.slice = Math.floor(elsw / elw); 1092 } 1093 } 1094 1095 if (resizeOptions.customSlice) { 1096 //manual slice count 1097 var bSliceNext = false; 1098 if (resizeOptions.length) { 1099 elw = 1100 typeof resizeOptions.item !== "undefined" && resizeOptions.item.length 1101 ? $(resizeOptions.item).last().getFloatWidth() 1102 : el.last().hasClass("item") 1103 ? el.last().getFloatWidth() 1104 : el.last().parents(".item").getFloatWidth(); 1105 if (elw) resizeOptions.sliceNext = Math.floor(elsw / elw); 1106 1107 bSliceNext = true; 1108 } 1109 } 1110 1111 elements = []; 1112 if (resizeOptions.classes !== undefined && resizeOptions.classes.length) { 1113 for (var i = 0; i < resizeOptions.classes.length; i++) { 1114 var items = $(resizeOptions.item).find(resizeOptions.classes[i]); 1115 elements.push(items); 1116 } 1117 } 1118 var elIndex = elements.push(el) - 1; 1119 1120 if (resizeOptions.mobile == true) { 1121 if (window.matchMedia("(max-width: 500px)").matches) { 1122 for (var block = 0; block < elements.length; block++) { 1123 var items = $(elements[block]); 1124 items.css({ 1125 "line-height": "", 1126 height: "", 1127 }); 1128 } 1129 return; 1130 } 1131 } 1132 1133 if (typeof resizeOptions.typeResize == "undefined" || resizeOptions.typeResize == false) { 1134 if (resizeOptions.slice) { 1135 for (var block = 0; block < elements.length; block++) { 1136 if (resizeOptions.currentRow) { 1137 var itemNumber = el.index(resizeOptions.currentItem); 1138 var rowCount = resizeOptions.slice; 1139 var rowNumber = Math.floor(itemNumber / rowCount); 1140 1141 var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount)); 1142 var classNull = block == elIndex ? resizeOptions.classNull : false;
1143 items.css({ 1144 "line-height": "", 1145 height: "", 1146 }); 1147 items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions); 1148 } else { 1149 for (var i = 0; i < elements[block].length; ) { 1150 if (resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i) 1151 //manual slice count 1152 resizeOptions.slice = resizeOptions.sliceNext; 1153 1154 var slice = resizeOptions.slice; 1155 var items = $(elements[block].slice(i, i + slice)); 1156 if (resizeOptions.blockNull !== undefined) { 1157 if (resizeOptions.blockNull.class !== undefined) { 1158 var counts = 0; 1159 items.each(function (i, item) { 1160 var _item = $(item); 1161 if ( 1162 _item.hasClass(resizeOptions.blockNull.class) || 1163 _item.closest("." + resizeOptions.blockNull.class).length 1164 ) { 1165 counts++; 1166 } 1167 }); 1168 } 1169 } 1170 if (counts) { 1171 slice -= (resizeOptions.blockNull.width - 1) * counts; 1172 } 1173 1174 items = $(elements[block].slice(i, i + slice)); 1175 if (items) { 1176 var classNull = block == elIndex ? resizeOptions.classNull : false; 1177 1178 items.css({ 1179 "line-height": "", 1180 height: "", 1181 }); 1182 items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions); 1183 } 1184 i += slice || 1; 1185 } 1186 } 1187 } 1188 } 1189 if (resizeOptions.lineheight) { 1190 var lineheightAdd = parseInt(resizeOptions.lineheight); 1191 if (isNaN(lineheightAdd)) { 1192 lineheightAdd = 0; 1193 } 1194 el.each(function () { 1195 $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); 1196 }); 1197 } 1198 } 1199 } 1200 var options = $.extend( 1201 { 1202 slice: null, 1203 sliceNext: null, 1204 outer: false, 1205 lineheight: false, 1206 autoslicecount: true, 1207 classNull: false, 1208 minHeight: false, 1209 row: false, 1210 item: false, 1211 typeResize: false, 1212 typeValue: false, 1213 fixWidth: 0, 1214 resize: true, 1215 mobile: false, 1216 customSlice: false, 1217 breakpoint: {}, 1218 classes: [], 1219 }, 1220 options 1221 ); 1222 1223 var el = $(this); 1224 1225 ignoreResize.push(true); 1226 _slice(el); 1227 ignoreResize.pop(); 1228 1229 if (options.resize) { 1230 BX.addCustomEvent("onWindowResize", function (eventdata) { 1231 try { 1232 ignoreResize.push(true); 1233 _slice(el); 1234 } catch (e) { 1235 } finally { 1236 ignoreResize.pop(); 1237 } 1238 }); 1239 } else { 1240 if (!ignoreResize.length) { 1241 // ignoreResize.push(true); 1242 _slice(el); 1243 // ignoreResize.pop(); 1244 } 1245 } 1246}; 1247 1248$.fn.sliceHeightNoResize = function (options) { 1249 function _slice(el) { 1250 el.each(function () { 1251 $(this).css("line-height", ""); 1252 $(this).css("height", ""); 1253 }); 1254 if (options.mobile == true) { 1255 if (window.matchMedia("(max-width: 550px)").matches) return; 1256 } 1257 if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) { 1258 var elsw = 1259 typeof options.row !== "undefined" && options.row.length 1260 ? el.first().parents(options.row).getFloatWidth() 1261 : el.first().parents(".items").getFloatWidth(), 1262 elw = 1263 typeof options.item !== "undefined" && options.item.length 1264 ? $(options.item).first().getFloatWidth() 1265 : el.first().hasClass("item") 1266 ? el.first().getFloatWidth() 1267 : el.first().parents(".item").getFloatWidth(); 1268 1269 if (!elsw) { 1270 elsw = el.first().parents(".row").getFloatWidth(); 1271 } 1272 if (elw && options.fixWidth) elw -= options.fixWidth; 1273 1274 if (elsw && elw) { 1275 options.slice = Math.floor(elsw / elw); 1276 } 1277 } 1278 if (options.customSlice) { 1279 //manual slice count 1280 var arBreakpoints = Object.keys(options.breakpoint),
1281 bSliceNext = false; 1282 if (arBreakpoints.length) { 1283 elw = 1284 typeof options.item !== "undefined" && options.item.length 1285 ? $(options.item).last().getFloatWidth() 1286 : el.last().hasClass("item") 1287 ? el.last().getFloatWidth() 1288 : el.last().parents(".item").getFloatWidth(); 1289 if (elw) options.sliceNext = Math.floor(elsw / elw); 1290 for (var key in arBreakpoints) { 1291 if (window.matchMedia(arBreakpoints[key].toString()).matches) { 1292 bSliceNext = true; 1293 options.slice = options.breakpoint[arBreakpoints[key]]; 1294 } 1295 } 1296 } 1297 } 1298 if (typeof options.typeResize == "undefined" || options.typeResize == false) { 1299 if (options.slice) { 1300 for (var i = 0; i < el.length; i += options.slice) { 1301 if (options.customSlice && options.sliceNext && bSliceNext && i) 1302 //manual slice count 1303 options.slice = options.sliceNext; 1304 $(el.slice(i, i + options.slice)).equalizeHeights( 1305 options.outer, 1306 options.classNull, 1307 options.minHeight, 1308 options.typeResize, 1309 options.typeValue 1310 ); 1311 } 1312 } 1313 if (options.lineheight) { 1314 var lineheightAdd = parseInt(options.lineheight); 1315 if (isNaN(lineheightAdd)) { 1316 lineheightAdd = 0; 1317 } 1318 el.each(function () { 1319 $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); 1320 }); 1321 } 1322 } 1323 } 1324 var options = $.extend( 1325 { 1326 slice: null, 1327 sliceNext: null, 1328 outer: false, 1329 lineheight: false, 1330 autoslicecount: true, 1331 classNull: false, 1332 minHeight: false, 1333 row: false, 1334 item: false, 1335 typeResize: false, 1336 typeValue: false, 1337 fixWidth: 0, 1338 resize: true, 1339 mobile: false, 1340 customSlice: false, 1341 breakpoint: {}, 1342 }, 1343 options 1344 ); 1345 1346 var el = $(this); 1347 1348 ignoreResize.push(true); 1349 _slice(el); 1350 ignoreResize.pop(); 1351}; 1352 1353if (!funcDefined("initHoverBlock")) { 1354 function initHoverBlock(target) { 1355 /*$(target).find('.catalog_item.item_wrap').on('mouseenter', function(){ 1356 $(this).addClass('hover'); 1357 }) 1358 $(target).find('.catalog_item.item_wrap').on('mouseleave', function(){ 1359 $(this).removeClass('hover'); 1360 })*/ 1361 } 1362} 1363if (!funcDefined("setStatusButton")) { 1364 function setStatusButton() { 1365 if (!funcDefined("setItemButtonStatus")) { 1366 setItemButtonStatus = function (data) { 1367 if (data.BASKET) { 1368 for (var i in data.BASKET) { 1369 var id = data.BASKET[i]; 1370 if (typeof id === "number" || typeof id === "string") { 1371 $(".to-cart[data-item=" + id + "]").hide(); 1372 $(".counter_block[data-item=" + id + "]") 1373 .closest(".counter_block_inner") 1374 .hide(); 1375 $(".counter_block[data-item=" + id + "]").hide(); 1376 $(".in-cart[data-item=" + id + "]").show(); 1377 $(".in-cart[data-item=" + id + "]") 1378 .closest(".button_block") 1379 .addClass("wide"); 1380 } 1381 } 1382 } 1383 if (data.DELAY) { 1384 for (var i in data.DELAY) { 1385 var id = data.DELAY[i]; 1386 if (typeof id === "number" || typeof id === "string") { 1387 $(".wish_item.to[data-item=" + id + "]").hide(); 1388 $(".wish_item.in[data-item=" + id + "]").show(); 1389 if ($(".wish_item[data-item=" + id + "]").find(".value.added").length) { 1390 //$('.wish_item[data-item='+id+']').addClass("added"); 1391 $(".wish_item[data-item=" + id + "]") 1392 .find(".value") 1393 .hide(); 1394 $(".wish_item[data-item=" + id + "]") 1395 .find(".value.added") 1396 .show(); 1397 } 1398 } 1399 } 1400 } 1401 if (data.SUBSCRIBE) { 1402 for (var i in data.SUBSCRIBE) { 1403 var id = data.SUBSCRIBE[i]; 1404 if (typeof id === "number" || typeof id === "string") { 1405 $(".to-subscribe[data-item=" + id + "]").hide(); 1406 $(".in-subscribe[data-item=" + id + "]").show(); 1407 } 1408 } 1409 } 1410 if (data.COMPARE) { 1411 for (var i in data.COMPARE) { 1412 var id = data.COMPARE[i]; 1413 if (typeof id === "number" || typeof id === "string") { 1414 $(".compare_item.to[data-item=" + id + "]").hide(); 1415 $(".compare_item.in[data-item=" + id + "]").show(); 1416 if ($(".compare_item[data-item=" + id + "]").find(".value.added").length) { 1417 $(".compare_item[data-item=" + id + "]") 1418 .find(".value") 1419 .hide(); 1420 $(".compare_item[data-item=" + id + "]") 1421 .find(".value.added") 1422 .show(); 1423 } 1424 } 1425 } 1426 } 1427 }; 1428 } 1429 if (!Object.keys(arStatusBasketAspro).length) { 1430 if (typeof arAsproOptions === "undefined") { 1431 var arAsproOptions = { 1432 SITE_DIR: "/", 1433 }; 1434 if ($("body").data("site") !== undefined) arAsproOptions["SITE_DIR"] = $("body").data("site"); 1435 } 1436 $.ajax({ 1437 url: arAsproOptions["SITE_DIR"] + "ajax/getAjaxBasket.php", 1438 type: "POST", 1439 success: function (data) { 1440 arStatusBasketAspro = data; 1441 setItemButtonStatus(arStatusBasketAspro); 1442 }, 1443 }); 1444 } else setItemButtonStatus(arStatusBasketAspro); 1445 } 1446} 1447 1448if (!funcDefined("onLoadjqm")) { 1449 var onLoadjqm = function (name, hash, requestData, selector, requestTitle, isButton, thButton) { 1450 if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) { 1451 $("body").addClass("jqm-initied"); 1452 } 1453 if (window.matchMedia("(min-width: 768px)").matches) { 1454 $("body").addClass("swipeignore"); 1455 } 1456 1457 if (typeof $(hash.t).data("ls") !== " undefined" && $(hash.t).data("ls")) { 1458 var ls = $(hash.t).data("ls"), 1459 ls_timeout = 0, 1460 v = ""; 1461 1462 if ($(hash.t).data("ls_timeout")) ls_timeout = $(hash.t).data("ls_timeout"); 1463 1464 ls_timeout = ls_timeout ? Date.now() + ls_timeout * 1000 : ""; 1465 1466 if (typeof localStorage !== "undefined") {
1467 var val = localStorage.getItem(ls); 1468 try { 1469 v = JSON.parse(val); 1470 } catch (e) { 1471 v = val; 1472 } 1473 if (v != null) { 1474 localStorage.removeItem(ls); 1475 } 1476 v = {}; 1477 v["VALUE"] = "Y"; 1478 v["TIMESTAMP"] = ls_timeout; // default: seconds for 1 day 1479 1480 localStorage.setItem(ls, JSON.stringify(v)); 1481 } else { 1482 var val = $.cookie(ls); 1483 if (!val) $.cookie(ls, "Y", { expires: ls_timeout }); // default: seconds for 1 day 1484 } 1485 1486 var dopClasses = hash.w.find(".marketing-popup").data("classes"); 1487 if (dopClasses) { 1488 hash.w.addClass(dopClasses); 1489 } 1490 } 1491 1492 $.each($(hash.t).get(0).attributes, function (index, attr) { 1493 if (/^data\-autoload\-(.+)$/.test(attr.nodeName)) { 1494 var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1]; 1495 var el = $('input[data-sid="' + key.toUpperCase() + '"]'); 1496 el.val(BX.util.htmlspecialcharsback($(hash.t).data("autoload-" + key))).attr("readonly", "readonly"); 1497 el.closest(".form-group").addClass("input-filed"); 1498 el.attr("title", el.val()); 1499 } 1500 }); 1501 1502 //show gift block 1503 if (hash.w.hasClass("send_gift_frame")) { 1504 var imgHtml = (priceHtml = propsHtml = ""); 1505 if ($(".offers_img a").length) imgHtml = $(".offers_img a").html(); 1506 else if ($(".product-detail-gallery__container .first_sku_picture").length) 1507 imgHtml = "<img src=" + $(".product-detail-gallery__container link.first_sku_picture").attr("href") + " />"; 1508 else if ($(".product-detail-gallery__container").length) 1509 imgHtml = "<img src=" + $('.product-detail-gallery__container link[itemprop="image"]').attr("href") + " />"; 1510 1511 if ($('.product-container *[itemprop="offers"]').length) { 1512 //show price 1513 if ($(".sku-view").length) { 1514 if ($(".prices_block .price").length) 1515 priceHtml = $(".prices_block .cost.prices").html().replace("id", "data-id"); 1516 } else { 1517 if ($(".prices_block .js_price_wrapper").length) 1518 priceHtml = '<div class="with_matrix">' + $(".prices_block .js_price_wrapper").html() + "</div>"; 1519 else if ($(".prices_block .with_matrix").length) 1520 priceHtml = '<div class="with_matrix">' + $(".prices_block .with_matrix").html() + "</div>"; 1521 else if ($(".prices_block .price_group.min").length) priceHtml = $(".prices_block .price_group.min").html(); 1522 else if ($(".prices_block .price_matrix_wrapper").length) 1523 priceHtml = $(".prices_block .price_matrix_wrapper").html(); 1524 } 1525 } 1526 1527 if ($(".buy_block .sku_props").length) { 1528 propsHtml = '<div class="props_item">'; 1529 $(".buy_block .sku_props .bx_catalog_item_scu > div").each(function () { 1530 var title = $(this).find(".bx_item_section_name > span").html(); 1531 var props = ""; 1532 var ikSelect = $(this).find(".ik_select_link_text"); 1533 if (ikSelect.length) { 1534 props = ikSelect.text(); 1535 } else { 1536 var activeSku = $(this).find("ul li.active"); 1537 var isPicture = activeSku.find(" > i"); 1538 if (isPicture.length && isPicture.attr("title")) { 1539 var propTitle = isPicture.attr("title").split(":"); 1540 if (propTitle.length) { 1541 propTitle = propTitle[1].trim(); 1542 } else { 1543 propTitle = isPicture.attr("title"); 1544 } 1545 props = propTitle; 1546 } else { 1547 props = activeSku.find(" > span").text(); 1548 } 1549 } 1550 1551 propsHtml += 1552 '<div class="prop_item">' + 1553 "<span>" + 1554 title + 1555 '<span class="val">' + 1556 props + 1557 "</span>" + 1558 "</span>" + 1559 "</div>"; 1560 }); 1561 propsHtml += "</div>"; 1562 } 1563 $( 1564 '<div class="custom_block">' + 1565 '<div class="title">' + 1566 BX.message("POPUP_GIFT_TEXT") + 1567 "</div>" + 1568 '<div class="item_block">' + 1569 '<table class="item_list"><tr>' + 1570 '<td class="image">' + 1571 "<div>" + 1572 imgHtml + 1573 "</div>" + 1574 "</td>" + 1575 '<td class="text">' + 1576 '<div class="name">' + 1577 $("h1").text() + 1578 "</div>" + 1579 priceHtml + 1580 propsHtml + 1581 "</td>" + 1582 "</tr></table>" + 1583 "</div>" + 1584 "</div>" 1585 ).prependTo(hash.w.find(".form_body")); 1586 } 1587 1588 if ( 1589 arAsproOptions["THEME"]["REGIONALITY_SEARCH_ROW"] == "Y" && 1590 (hash.w.hasClass("city_chooser_frame ") || hash.w.hasClass("city_chooser_small_frame")) 1591 ) {
1592 hash.w.addClass("small_popup_regions"); 1593 hash.w.addClass("no_scroll"); 1594 } 1595 1596 /*if (hash.w.hasClass("city_chooser_frame ") || hash.w.hasClass("city_chooser_small_frame ")) { 1597 $(".popup_regions .items .items_block").mCustomScrollbar({ 1598 mouseWheel: { 1599 scrollAmount: 150, 1600 preventDefault: true, 1601 }, 1602 }); 1603 }*/ 1604 1605 if (name == "fast_view" && $(".smart-filter-filter").length) { 1606 var navButtons = 1607 '<div class="navigation-wrapper-fast-view">' + 1608 '<div class="fast-view-nav prev colored_theme_hover_bg" data-fast-nav="prev">' + 1609 '<i class="svg left">' + 1610 '<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>' + 1611 "</i>" + 1612 "</div>" + 1613 '<div class="fast-view-nav next colored_theme_hover_bg" data-fast-nav="next">' + 1614 '<i class="svg right">' + 1615 '<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>' + 1616 "</i>" + 1617 "</div>" + 1618 "</div>"; 1619 1620 hash.w.closest("#popup_iframe_wrapper").append(navButtons); 1621 } 1622 1623 hash.w.addClass("scrollblock"); 1624 hash.w.addClass("show").css({ 1625 // 'top': (($(window).height() > hash.w.height()) ? Math.floor(($(window).height() - hash.w.height()) / 2) : 0) + 'px', 1626 // 'margin-left': ($(window).width() > hash.w.outerWidth() ? '-' + hash.w.outerWidth() / 2 + 'px' : '-' + $(window).width() / 2 + 'px'), 1627 opacity: 1, 1628 }); 1629 1630 /*if (!hash.w.hasClass("no_custom_scroll")) { 1631 hash.w.mCustomScrollbar({ 1632 mouseWheel: { 1633 scrollAmount: 150, 1634 preventDefault: true, 1635 }, 1636 }); 1637 }*/ 1638 1639 if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) { 1640 $("body").css({ overflow: "hidden", height: "100vh" }); 1641 hash.w.closest("#popup_iframe_wrapper").css({ "z-index": 3000, display: "flex" }); 1642 } 1643 1644 var eventdata = { action: "loadForm" }; 1645 BX.onCustomEvent("onCompleteAction", [eventdata, $(hash.t)[0]]); 1646 1647 if (typeof requestData == "undefined") { 1648 requestData = ""; 1649 } 1650 if (typeof selector == "undefined") { 1651 selector = false; 1652 } 1653 1654 var width = $("." + name + "_frame").width(); 1655 //$('.'+name+'_frame').css('margin-left', '-'+width/2+'px'); 1656 1657 if (name == "order-popup-call") { 1658 } else if (name == "order-button") { 1659 $(".order-button_frame") 1660 .find("div[product_name]") 1661 .find("input") 1662 .val(hash.t.title) 1663 .attr("readonly", "readonly") 1664 .css({ overflow: "hidden", "text-overflow": "ellipsis" }); 1665 } else if (name == "basket_error") { 1666 $(".basket_error_frame .pop-up-title").text(requestTitle); 1667 $(".basket_error_frame .ajax_text").html(requestData); 1668 1669 if (window.matchMedia("(max-width: 991px)").matches) { 1670 $("body").addClass("all_viewed"); 1671 } 1672 1673 initSelects(document); 1674 if (isButton == "Y" && thButton) 1675 $( 1676 "<div class='popup_button_basket_wr'><span class='popup_button_basket big_btn button' data-item=" + 1677 thButton.data("item") + 1678 "><span class='btn btn-default'>" + 1679 BX.message("ERROR_BASKET_BUTTON") + 1680 "</span></span></div>" 1681 ).insertAfter($(".basket_error_frame .ajax_text")); 1682 } 1683 1684 $("." + name + "_frame").show(); 1685 }; 1686} 1687 1688if (!funcDefined("onHidejqm")) { 1689 var onHidejqm = function (name, hash) { 1690 if (hash.w.find(".one_click_buy_result_success").is(":visible") && name == "one_click_buy_basket") { 1691 window.location.href = window.location.href; 1692 } 1693 1694 if ($(".xzoom-source").length) $(".xzoom-source").remove(); 1695 if ($(".xzoom-preview").length) $(".xzoom-preview").remove(); 1696 1697 // hash.w.css('opacity', 0).hide(); 1698 hash.w.animate({ opacity: 0 }, 200, function () { 1699 // hash.w.removeClass("scroll-init").mCustomScrollbar("destroy"); 1700 hash.w.hide(); 1701 hash.w.empty(); 1702 hash.o.remove(); 1703 hash.w.removeClass("show"); 1704 1705 $("body").css({ overflow: "", height: "" }); 1706 1707 if (!hash.w.closest("#popup_iframe_wrapper").find(".jqmOverlay").length) { 1708 hash.w.closest("#popup_iframe_wrapper").css({ "z-index": "", display: "" }); 1709 } 1710 1711 if (window.matchMedia("(max-width: 991px)").matches) { 1712 $("body").removeClass("all_viewed"); 1713 } 1714 if (!$(".jqmOverlay:not(.mobp)").length || $(".jqmOverlay.waiting").length) { 1715 $("body").removeClass("jqm-initied"); 1716 } 1717 1718 if (window.matchMedia("(min-width: 768px)").matches) { 1719 $("body").removeClass("swipeignore"); 1720 } 1721 1722 if (name == "fast_view") { 1723 $(".fast_view_popup").remove(); 1724 1725 var navButtons = hash.w.closest("#popup_iframe_wrapper").find(".navigation-wrapper-fast-view"); 1726 navButtons.remove(); 1727 } 1728 }); 1729 1730 window.b24form = false;
1731 }; 1732} 1733 1734$.fn.jqmEx = function () { 1735 // $(this).each(function(){ 1736 var _this = $(this); 1737 var name = _this.data("name"); 1738 1739 if (name.length && _this.attr("disabled") != "disabled") { 1740 var extClass = "", 1741 paramsStr = "", 1742 trigger = "", 1743 arTriggerAttrs = {}; 1744 1745 // call counter 1746 if (typeof $.fn.jqmEx.counter === "undefined") { 1747 $.fn.jqmEx.counter = 0; 1748 } else { 1749 ++$.fn.jqmEx.counter; 1750 } 1751 1752 // trigger attrs and params 1753 $.each(_this.get(0).attributes, function (index, attr) { 1754 var attrName = attr.nodeName; 1755 var attrValue = _this.attr(attrName); 1756 if (attrName !== "onclick") { 1757 trigger += "[" + attrName + '="' + attrValue + '"]'; 1758 arTriggerAttrs[attrName] = attrValue; 1759 } 1760 if (/^data\-param\-(.+)$/.test(attrName)) { 1761 var key = attrName.match(/^data\-param\-(.+)$/)[1]; 1762 paramsStr += key + "=" + attrValue + "&"; 1763 } 1764 }); 1765 var triggerAttrs = JSON.stringify(arTriggerAttrs); 1766 var encTriggerAttrs = encodeURIComponent(triggerAttrs); 1767 1768 // popup url 1769 var script = arAsproOptions["SITE_DIR"] + "ajax/form.php"; 1770 if (name == "auth") { 1771 script += "?" + paramsStr + "auth=Y"; 1772 } else { 1773 script += "?" + paramsStr + "data-trigger=" + encTriggerAttrs; 1774 } 1775 1776 // ext frame class 1777 if (_this.closest("#fast_view_item").length) { 1778 extClass = "fast_view_popup"; 1779 } 1780 1781 // use overlay? 1782 var noOverlay = _this.data("noOverlay") == "Y"; 1783 1784 // unique frame to each trigger 1785 if (noOverlay) { 1786 var frame = $( 1787 '<div class="' + 1788 name + 1789 "_frame " + 1790 extClass + 1791 ' jqmWindow popup" data-popup="' + 1792 $.fn.jqmEx.counter + 1793 '" data-trigger="' + 1794 encTriggerAttrs + 1795 '"></div>' 1796 ).appendTo("body"); 1797 } else { 1798 var frame = $( 1799 '<div class="' + 1800 name + 1801 "_frame " + 1802 extClass + 1803 ' jqmWindow popup" data-popup="' + 1804 $.fn.jqmEx.counter + 1805 '" data-trigger="' + 1806 encTriggerAttrs + 1807 '"></div>' 1808 ).appendTo("#popup_iframe_wrapper"); 1809 } 1810 1811 frame.jqm({ 1812 ajax: script, 1813 trigger: trigger, 1814 noOverlay: noOverlay, 1815 onLoad: function (hash) { 1816 onLoadjqm(name, hash); 1817 }, 1818 onHide: function (hash) { 1819 onHidejqm(name, hash); 1820 }, 1821 }); 1822 } 1823 // }); 1824}; 1825 1826window.addEventListener("keydown", function (e) { 1827 if (e.keyCode == 27) { 1828 $(".jqm-init.show").last().jqmHide(); 1829 1830 if ($(".inline-search-block.show").length) { 1831 $(".inline-search-block").toggleClass("show"); 1832 $(".jqmOverlay.search").detach(); 1833 } 1834 1835 $(".mega_fixed_menu").fadeOut(animationTime); 1836 } 1837}); 1838 1839if (!funcDefined("scroll_block")) { 1840 function scroll_block(block, clickedItem) { 1841 if (block.length) { 1842 if (clickedItem !== undefined && clickedItem.length) { 1843 clickedItem.trigger("click"); 1844 } else { 1845 $(".prices_tab").addClass("active").siblings().removeClass("active"); 1846 if ($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length) { 1847 var item = $(".prices_tab .opener").first(); 1848 item.find(".opener_icon").addClass("opened"); 1849 item.parents("tr").addClass("nb"); 1850 item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200); 1851 } 1852 } 1853 var topPos = block.offset().top, 1854 headerH = $("header").outerHeight(true, true); 1855 1856 $("html,body").animate({ scrollTop: topPos - 88 }, 150); 1857 } 1858 } 1859} 1860 1861if (!funcDefined("jqmEd")) { 1862 var jqmEd = function (name, form_id, open_trigger, requestData, selector, requestTitle, isButton, thButton) { 1863 if (typeof requestData == "undefined") { 1864 requestData = ""; 1865 } 1866 if (typeof selector == "undefined") { 1867 selector = false; 1868 } 1869 $("body #popup_iframe_wrapper") 1870 .find("." + name + "_frame") 1871 .remove(); 1872 $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame jqmWindow popup"></div>'); 1873 if (typeof open_trigger == "undefined") { 1874 $("." + name + "_frame").jqm({ 1875 trigger: "." + name + "_frame.popup",
1876 onHide: function (hash) { 1877 onHidejqm(name, hash); 1878 }, 1879 onLoad: function (hash) { 1880 onLoadjqm(name, hash, requestData, selector); 1881 }, 1882 ajax: 1883 arAsproOptions["SITE_DIR"] + 1884 "ajax/form.php?form_id=" + 1885 form_id + 1886 (requestData.length ? "&" + requestData : ""), 1887 }); 1888 } else { 1889 if (name == "enter") { 1890 $("." + name + "_frame").jqm({ 1891 trigger: open_trigger, 1892 onHide: function (hash) { 1893 onHidejqm(name, hash); 1894 }, 1895 onLoad: function (hash) { 1896 onLoadjqm(name, hash, requestData, selector); 1897 }, 1898 ajax: arAsproOptions["SITE_DIR"] + "ajax/auth.php", 1899 }); 1900 } else if (name == "basket_error") { 1901 $("." + name + "_frame").jqm({ 1902 trigger: open_trigger, 1903 onHide: function (hash) { 1904 onHidejqm(name, hash); 1905 }, 1906 onLoad: function (hash) { 1907 onLoadjqm(name, hash, requestData, selector, requestTitle, isButton, thButton); 1908 }, 1909 ajax: arAsproOptions["SITE_DIR"] + "ajax/basket_error.php", 1910 }); 1911 } else { 1912 $("." + name + "_frame").jqm({ 1913 trigger: open_trigger, 1914 onHide: function (hash) { 1915 onHidejqm(name, hash); 1916 }, 1917 onLoad: function (hash) { 1918 onLoadjqm(name, hash, requestData, selector); 1919 }, 1920 ajax: 1921 arAsproOptions["SITE_DIR"] + 1922 "ajax/form.php?form_id=" + 1923 form_id + 1924 (requestData.length ? "&" + requestData : ""), 1925 }); 1926 } 1927 $(open_trigger).dblclick(function () { 1928 return false; 1929 }); 1930 } 1931 return true; 1932 }; 1933} 1934 1935if (!funcDefined("replaceBasketPopup")) { 1936 function replaceBasketPopup(hash) { 1937 if (typeof hash != "undefined") { 1938 hash.w.hide(); 1939 hash.o.hide(); 1940 } 1941 } 1942} 1943 1944if (!funcDefined("waitLayer")) { 1945 function waitLayer(delay, callback) { 1946 if (typeof dataLayer !== "undefined" && typeof callback === "function") { 1947 callback(); 1948 } else { 1949 setTimeout(function () { 1950 waitLayer(delay, callback); 1951 }, delay); 1952 } 1953 } 1954} 1955 1956if (!funcDefined("checkCounters")) { 1957 function checkCounters(name) { 1958 if (typeof name !== "undefined") { 1959 if ( 1960 name == "google" && 1961 arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && 1962 arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0 1963 ) { 1964 return true; 1965 } else if ( 1966 name == "yandex" && 1967 arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && 1968 arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0 1969 ) { 1970 return true; 1971 } else { 1972 return false; 1973 } 1974 } else if ( 1975 (arAsproOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["YANDEX_COUNTER"] > 0) || 1976 (arAsproOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arAsproOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0) 1977 ) { 1978 return true; 1979 } else { 1980 return false; 1981 } 1982 } 1983} 1984 1985if (!funcDefined("addBasketCounter")) { 1986 function addBasketCounter(id) { 1987 if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 1988 var eventdata = { goal: "goal_basket_add", params: { id: id } }; 1989 BX.onCustomEvent("onCounterGoals", [eventdata]); 1990 } 1991 if (checkCounters()) { 1992 $.ajax({ 1993 url: arAsproOptions["SITE_DIR"] + "ajax/goals.php", 1994 dataType: "json", 1995 type: "POST", 1996 data: { ID: id }, 1997 success: function (item) { 1998 if (!!item && !!item.ID) { 1999 waitLayer(100, function () { 2000 dataLayer.push({ 2001 event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["ADD2BASKET"], 2002 ecommerce: { 2003 currencyCode: item.CURRENCY, 2004 add: { 2005 products: [ 2006 { 2007 id: item.ID, 2008 name: item.NAME, 2009 price: item.PRICE, 2010 brand: item.BRAND, 2011 category: item.CATEGORY, 2012 quantity: item.QUANTITY, 2013 }, 2014 ], 2015 }, 2016 }, 2017 }); 2018 }); 2019 } 2020 }, 2021 }); 2022 } 2023 } 2024} 2025 2026if (!funcDefined("purchaseCounter")) { 2027 function purchaseCounter(order_id, type, callback) { 2028 if (checkCounters()) { 2029 $.ajax({ 2030 url: arAsproOptions["SITE_DIR"] + "ajax/goals.php", 2031 dataType: "json", 2032 type: "POST", 2033 data: { ORDER_ID: order_id, TYPE: type }, 2034 success: function (order) { 2035 var products = []; 2036 if (order.ITEMS) { 2037 for (var i in order.ITEMS) { 2038 products.push({ 2039 id: order.ITEMS[i].ID, 2040 sku: order.ITEMS[i].ID, 2041 name: order.ITEMS[i].NAME, 2042 price: order.ITEMS[i].PRICE, 2043 brand: order.ITEMS[i].BRAND, 2044 category: order.ITEMS[i].CATEGORY, 2045 quantity: order.ITEMS[i].QUANTITY, 2046 }); 2047 } 2048 } 2049 if (order.ID) { 2050 waitLayer(100, function () { 2051 dataLayer.push({ 2052 event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"], 2053 ecommerce: (d = { 2054 purchase: { 2055 actionField: { 2056 id: order.ACCOUNT_NUMBER, 2057 shipping: order.PRICE_DELIVERY, 2058 tax: order.TAX_VALUE, 2059 list: type, 2060 revenue: order.PRICE, 2061 }, 2062 products: products, 2063 }, 2064 }), 2065 }); 2066 2067 if (typeof callback !== "undefined") { 2068 callback(d); 2069 } 2070 }); 2071 } else { 2072 if (typeof callback !== "undefined") { 2073 callback(); 2074 } 2075 } 2076 }, 2077 error: function () { 2078 if (typeof callback !== "undefined") { 2079 callback(); 2080 } 2081 }, 2082 }); 2083 } 2084 } 2085} 2086 2087if (!funcDefined("viewItemCounter")) { 2088 function viewItemCounter(id, price_id) { 2089 if (checkCounters()) { 2090 $.ajax({ 2091 url: arAsproOptions["SITE_DIR"] + "ajax/goals.php", 2092 dataType: "json", 2093 type: "POST", 2094 data: { PRODUCT_ID: id, PRICE_ID: price_id }, 2095 success: function (item) { 2096 if (item.ID) { 2097 waitLayer(100, function () { 2098 dataLayer.push({ 2099 //"event": "", 2100 ecommerce: { 2101 detail: { 2102 products: [ 2103 { 2104 id: item.ID, 2105 name: item.NAME, 2106 price: item.PRICE, 2107 brand: item.BRAND, 2108 category: item.CATEGORY, 2109 }, 2110 ], 2111 }, 2112 }, 2113 }); 2114 }); 2115 } 2116 }, 2117 }); 2118 } 2119 } 2120} 2121 2122if (!funcDefined("checkoutCounter")) { 2123 function checkoutCounter(step, option, callback) { 2124 if (checkCounters("google")) { 2125 $.ajax({ 2126 url: arAsproOptions["SITE_DIR"] + "ajax/goals.php", 2127 dataType: "json", 2128 type: "POST", 2129 data: { BASKET: "Y" }, 2130 success: function (basket) { 2131 var products = []; 2132 if (basket.ITEMS) { 2133 for (var i in basket.ITEMS) { 2134 products.push({ 2135 id: basket.ITEMS[i].ID, 2136 name: basket.ITEMS[i].NAME, 2137 price: basket.ITEMS[i].PRICE, 2138 brand: basket.ITEMS[i].BRAND, 2139 category: basket.ITEMS[i].CATEGORY, 2140 quantity: basket.ITEMS[i].QUANTITY, 2141 }); 2142 } 2143 } 2144 if (products) { 2145 waitLayer(100, function () { 2146 dataLayer.push({ 2147 event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["CHECKOUT_ORDER"], 2148 ecommerce: { 2149 checkout: { 2150 actionField: { 2151 step: step, 2152 option: option, 2153 }, 2154 products: products, 2155 }, 2156 }, 2157 /*"eventCallback": function() { 2158 if((typeof callback !== 'undefined') && (typeof callback === 'function')){ 2159 callback(); 2160 } 2161 }*/ 2162 }); 2163 }); 2164 } 2165 }, 2166 }); 2167 } 2168 } 2169} 2170 2171if (!funcDefined("delFromBasketCounter")) { 2172 function delFromBasketCounter(id, callback) { 2173 if (checkCounters()) { 2174 $.ajax({ 2175 url: arAsproOptions["SITE_DIR"] + "ajax/goals.php", 2176 dataType: "json", 2177 type: "POST", 2178 data: { ID: id }, 2179 success: function (item) { 2180 if (item.ID) { 2181 waitLayer(100, function () { 2182 dataLayer.push({ 2183 event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["REMOVE_BASKET"], 2184 ecommerce: { 2185 remove: { 2186 products: [ 2187 { 2188 id: item.ID, 2189 name: item.NAME, 2190 category: item.CATEGORY, 2191 }, 2192 ], 2193 }, 2194 }, 2195 }); 2196 if (typeof callback == "function") { 2197 callback(); 2198 } 2199 }); 2200 } 2201 }, 2202 }); 2203 } 2204 } 2205} 2206 2207if (!funcDefined("setHeightCompany")) { 2208 function setHeightCompany() { 2209 $(".md-50.img").height($(".md-50.big").outerHeight() - 35); 2210 } 2211} 2212 2213if (!funcDefined("initSly")) { 2214 function initSly() { 2215 /*var $frame = $(document).find('.frame'); 2216 var $slidee = $frame.children('ul').eq(0); 2217 var $wrap = $frame.parent(); 2218 2219 if(arAsproOptions["PAGES"]["CATALOG_PAGE"] && $frame.length){ 2220 $frame.sly({ 2221 horizontal: 1, 2222 itemNav: 'basic', 2223 smart: 1, 2224 mouseDragging: 0, 2225 touchDragging: 0, 2226 releaseSwing: 0, 2227 startAt: 0, 2228 scrollBar: $wrap.find('.scrollbar'), 2229 scrollBy: 1, 2230 speed: 300, 2231 elasticBounds: 0, 2232 easing: 'swing', 2233 dragHandle: 1, 2234 dynamicHandle: 1, 2235 clickBar: 1, 2236 2237 // Buttons 2238 forward: $wrap.find('.forward'), 2239 backward: $wrap.find('.backward'), 2240 }); 2241 $frame.sly('reload'); 2242 }*/ 2243 } 2244} 2245 2246if (!funcDefined("createTableCompare")) { 2247 function createTableCompare(originalTable, appendDiv, cloneTable) { 2248 try { 2249 var clone = originalTable.clone().removeAttr("id").addClass("clone"); 2250 if (cloneTable.length) { 2251 cloneTable.remove(); 2252 appendDiv.html(""); 2253 appendDiv.html(clone); 2254 } else { 2255 appendDiv.append(clone); 2256 } 2257 } catch (e) { 2258 } finally { 2259 } 2260 } 2261} 2262 2263if (!funcDefined("fillBasketPropsExt")) { 2264 fillBasketPropsExt = function (that, prop_code, basket_prop_div) { 2265 var i = 0, 2266 propCollection = null, 2267 foundValues = false, 2268 basketParams = {}, 2269 obBasketProps = null; 2270 2271 obBasketProps = BX(basket_prop_div); 2272 if (!obBasketProps && that.closest(".item").find(".basket_props_block").length && that.data("offers") !== "Y") 2273 obBasketProps = that.closest(".item").find(".basket_props_block")[0]; 2274 2275 if (!!obBasketProps) { 2276 propCollection = obBasketProps.getElementsByTagName("select"); 2277 if (!!propCollection && !!propCollection.length) { 2278 for (i = 0; i < propCollection.length; i++) { 2279 if (!propCollection[i].disabled) { 2280 switch (propCollection[i].type.toLowerCase()) { 2281 case "select-one": 2282 basketParams[propCollection[i].name] = propCollection[i].value; 2283 foundValues = true; 2284 break; 2285 default: 2286 break; 2287 } 2288 } 2289 } 2290 } 2291 propCollection = obBasketProps.getElementsByTagName("input"); 2292 if (!!propCollection && !!propCollection.length) { 2293 for (i = 0; i < propCollection.length; i++) { 2294 if (!propCollection[i].disabled) { 2295 switch (propCollection[i].type.toLowerCase()) { 2296 case "hidden": 2297 basketParams[propCollection[i].name] = propCollection[i].value; 2298 foundValues = true; 2299 break; 2300 case "radio": 2301 if (propCollection[i].checked) { 2302 basketParams[propCollection[i].name] = propCollection[i].value; 2303 foundValues = true; 2304 } 2305 break; 2306 default: 2307 break; 2308 } 2309 } 2310 } 2311 } 2312 } 2313 if (!foundValues) { 2314 basketParams[prop_code] = []; 2315 basketParams[prop_code][0] = 0; 2316 } 2317 return basketParams; 2318 }; 2319} 2320if (!funcDefined("showBasketError")) { 2321 showBasketError = function (mess, title, addButton, th, callback) { 2322 var title_set = title ? title : BX.message("ERROR_BASKET_TITLE"), 2323 isButton = "N", 2324 thButton = ""; 2325 if (typeof addButton !== undefined) { 2326 isButton = "Y"; 2327 } 2328 if (typeof th !== undefined) { 2329 thButton = th; 2330 } 2331 $("body").append("<span class='add-error-bakset' style='display:none;'></span>"); 2332 jqmEd("basket_error", "error-bakset", ".add-error-bakset", mess, this, title_set, isButton, thButton); 2333 $("body .add-error-bakset").click(); 2334 $("body .add-error-bakset").remove(); 2335 2336 if (typeof callback === "function") { 2337 callback(); 2338 } 2339 }; 2340} 2341 2342CheckTopVisibleMenu = function (that) { 2343 var dropdownMenu = $(".dropdown-menu:visible"); 2344 if (that !== undefined) { 2345 dropdownMenu.push(that); 2346 } 2347 2348 if (dropdownMenu.length) { 2349 dropdownMenu.each(function (i, el) { 2350 var dropdownMenuCurrent = $(el); 2351 dropdownMenuCurrent.find("a").css("white-space", ""); 2352 dropdownMenuCurrent.css("left", ""); 2353 dropdownMenuCurrent.css("right", ""); 2354 dropdownMenuCurrent.removeClass("toright"); 2355 2356 var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left; 2357 2358 if (typeof dropdownMenuCurrent_left != "undefined") { 2359 var menu = dropdownMenuCurrent.parents(".mega-menu"); 2360 if (!menu.length) menu = dropdownMenuCurrent.closest(".logo-row"); 2361 var menu_width = menu.outerWidth(); 2362 var menu_left = menu.offset().left; 2363 var menu_right = menu_left + menu_width; 2364 var isToRight = dropdownMenuCurrent.parents(".toright").length > 0; 2365 var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents(".dropdown-menu"); 2366 var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0; 2367 if (isHasParentdropdownMenuCurrent) { 2368 var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth(); 2369 var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left; 2370 var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left; 2371 } 2372 2373 if (parentdropdownMenuCurrent_right + dropdownMenuCurrent.outerWidth() > menu_right) { 2374 dropdownMenuCurrent.find("a").css("white-space", "normal"); 2375 } 2376 2377 var dropdownMenuCurrent_width = dropdownMenuCurrent.outerWidth(); 2378 var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width; 2379 2380 if (dropdownMenuCurrent_right > menu_right || isToRight) { 2381 var addleft = 0; 2382 addleft = menu_right - dropdownMenuCurrent_right; 2383 if (isHasParentdropdownMenuCurrent || isToRight) { 2384 dropdownMenuCurrent.css("left", "auto"); 2385 dropdownMenuCurrent.css("right", "100%"); 2386 dropdownMenuCurrent.addClass("toright"); 2387 } else { 2388 var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css("left")); 2389 dropdownMenuCurrent.css("left", dropdownMenuCurrent_curLeft + addleft + "px"); 2390 } 2391 } 2392 } 2393 }); 2394 } 2395}; 2396 2397if (!funcDefined("isRealValue")) { 2398 function isRealValue(obj) { 2399 return obj && obj !== "null" && obj !== "undefined"; 2400 } 2401} 2402 2403if (!funcDefined("rightScroll")) { 2404 function rightScroll(prop, id) { 2405 var el = BX("prop_" + prop + "_" + id); 2406 if (el) { 2407 var curVal = parseInt(el.style.marginLeft); 2408 if (curVal >= 0) el.style.marginLeft = curVal - 20 + "%"; 2409 } 2410 } 2411} 2412 2413if (!funcDefined("leftScroll")) { 2414
2414 function leftScroll(prop, id) { 2415 var el = BX("prop_" + prop + "_" + id); 2416 if (el) { 2417 var curVal = parseInt(el.style.marginLeft); 2418 if (curVal < 0) el.style.marginLeft = curVal + 20 + "%"; 2419 } 2420 } 2421} 2422 2423if (!funcDefined("InitOrderCustom")) { 2424 InitOrderCustom = function () { 2425 $(".ps_logo img").wrap('<div class="image"></div>'); 2426 2427 $("#bx-soa-order .radio-inline").each(function () { 2428 if ($(this).find("input").attr("checked") == "checked") { 2429 $(this).addClass("checked"); 2430 } 2431 }); 2432 2433 $("#bx-soa-order .checkbox input[type=checkbox]").each(function () { 2434 if ($(this).attr("checked") == "checked") $(this).parent().addClass("checked"); 2435 }); 2436 2437 $("#bx-soa-order .bx-authform-starrequired").each(function () { 2438 var html = $(this).html(); 2439 $(this) 2440 .closest("label") 2441 .append('<span class="bx-authform-starrequired"> ' + html + "</span>"); 2442 $(this).detach(); 2443 }); 2444 $(".bx_ordercart_coupon").each(function () { 2445 if ($(this).find(".bad").length) $(this).addClass("bad"); 2446 else if ($(this).find(".good").length) $(this).addClass("good"); 2447 }); 2448 /*if (typeof(propsMap) !== 'undefined') { 2449 $(propsMap).on('click', function () { 2450 var value = $('#orderDescription').val(); 2451 if ($('#orderDescription')) { 2452 if (value != '') { 2453 $('#orderDescription').closest('.form-group').addClass('value_y'); 2454 } 2455 } 2456 }); 2457 }*/ 2458 }; 2459} 2460 2461if (!funcDefined("InitLabelAnimation")) { 2462 InitLabelAnimation = function (className) { 2463 // Fix order labels 2464 if (!$(className).length) { 2465 return; 2466 } 2467 $(className) 2468 .find(".form-group") 2469 .each(function () { 2470 if ( 2471 $(this).find("input[type=text], textarea").length && 2472 !$(this).find(".dropdown-block").length && 2473 $(this).find("input[type=text], textarea").val() != "" 2474 ) { 2475 $(this).addClass("value_y"); 2476 } 2477 }); 2478 2479 $(document).on("click", className + " .form-group:not(.bx-soa-pp-field) label", function () { 2480 $(this).parent().find("input, textarea").focus(); 2481 }); 2482 2483 $(document).on( 2484 "focusout", 2485 className + 2486 " .form-group:not(.bx-soa-pp-field) input, " + 2487 className + 2488 " .form-group:not(.bx-soa-pp-field) textarea", 2489 function () { 2490 var value = $(this).val(); 2491 if ( 2492 value != "" && 2493 !$(this).closest(".form-group").find(".dropdown-block").length && 2494 !$(this).closest(".form-group").find("#profile_change").length 2495 ) { 2496 $(this).closest(".form-group").addClass("value_y"); 2497 } else { 2498 $(this).closest(".form-group").removeClass("value_y"); 2499 } 2500 } 2501 ); 2502 2503 $(document).on( 2504 "focus", 2505 className + 2506 " .form-group:not(.bx-soa-pp-field) input, " + 2507 className + 2508 " .form-group:not(.bx-soa-pp-field) textarea", 2509 function () { 2510 if ( 2511 !$(this).closest(".form-group").find(".dropdown-block").length && 2512 !$(this).closest(".form-group").find("#profile_change").length && 2513 !$(this).closest(".form-group").find("[name=PERSON_TYPE_OLD]").length 2514 ) { 2515 $(this).closest(".form-group").addClass("value_y"); 2516 } 2517 } 2518 ); 2519 }; 2520} 2521 2522checkPopupWidth = function () { 2523 $(".popup.show").each(function () { 2524 var width_form = $(this).actual("width"); 2525 $(this).css({ 2526 "margin-left": $(window).width() > width_form ? "-" + width_form / 2 + "px" : "-" + $(window).width() / 2 + "px", 2527 }); 2528 }); 2529}; 2530 2531checkCaptchaWidth = function () { 2532 $(".captcha-row").each(function () { 2533 var width = $(this).actual("width"); 2534 if ($(this).hasClass("b")) { 2535 if (width > 320) { 2536 $(this).removeClass("b"); 2537 } 2538 } else { 2539 if (width <= 320) { 2540 $(this).addClass("b"); 2541 } 2542 } 2543 }); 2544}; 2545 2546checkFormWidth = function () { 2547 $(".form .form_left").each(function () { 2548 var form = $(this).parents(".form"); 2549 var width = form.actual("width"); 2550 if (form.hasClass("b")) { 2551 if (width > 417) { 2552 form.removeClass("b"); 2553 } 2554 } else { 2555 if (width <= 417) { 2556 form.addClass("b"); 2557 } 2558 } 2559 }); 2560}; 2561 2562checkFormControlWidth = function () { 2563 $(".form-control").each(function () { 2564 var width = $(this).actual("width"); 2565 var labelWidth = $(this).find("label:not(.error) > span").actual("width"); 2566 var errorWidth = $(this).find("label.error").actual("width"); 2567 if (errorWidth > 0) { 2568 if ($(this).hasClass("h")) { 2569 if (width > labelWidth + errorWidth + 5) { 2570 $(this).removeClass("h"); 2571 } 2572 } else { 2573 if (width <= labelWidth + errorWidth + 5) { 2574 $(this).addClass("h"); 2575 } 2576 } 2577 } else { 2578 $(this).removeClass("h"); 2579 } 2580 }); 2581}; 2582 2583scrollToTop = function () { 2584 if (arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] !== "NONE") { 2585 var _isScrolling = false;
2586 // Append Button 2587 $("body").append( 2588 $("<a />") 2589 .addClass( 2590 "scroll-to-top " + 2591 arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] + 2592 " " + 2593 arAsproOptions["THEME"]["SCROLLTOTOP_POSITION"] 2594 ) 2595 .attr({ href: "#", id: "scrollToTop" }) 2596 ); 2597 2598 if (arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"]) { 2599 $("#scrollToTop").css("bottom", +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"] + "px"); 2600 } 2601 2602 if (arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_RIGHT"]) { 2603 $("#scrollToTop").css("right", +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_RIGHT"] + "px"); 2604 } 2605 2606 $("#scrollToTop").click(function (e) { 2607 e.preventDefault(); 2608 $("body, html").animate({ scrollTop: 0 }, 500); 2609 return false; 2610 }); 2611 // Show/Hide Button on Window Scroll event. 2612 $(window).scroll(function () { 2613 if (!_isScrolling) { 2614 _isScrolling = true; 2615 if ($(window).scrollTop() > 150) { 2616 $("#scrollToTop").stop(true, true).addClass("visible"); 2617 _isScrolling = false; 2618 } else { 2619 $("#scrollToTop").stop(true, true).removeClass("visible"); 2620 _isScrolling = false; 2621 } 2622 checkScrollToTop(); 2623 } 2624 }); 2625 } 2626}; 2627 2628checkScrollToTop = function () { 2629 if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"]) 2630 var bottom = +arAsproOptions["THEME"]["SCROLLTOTOP_POSITION_BOTTOM"]; 2631 else var bottom = 55; 2632 2633 var scrollVal = $(window).scrollTop(), 2634 windowHeight = $(window).height(), 2635 footerOffset = 0; 2636 if ($("footer").length) footerOffset = $("footer .footer-inner").offset().top; 2637 2638 if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["SCROLLTOTOP_POSITION"] == "CONTENT") { 2639 warpperWidth = $("body > .wrapper > .wrapper_inner").width(); 2640 $("#scrollToTop").css("margin-left", Math.ceil(warpperWidth / 2) + 23); 2641 } 2642 2643 if (scrollVal + windowHeight > footerOffset) { 2644 $("#scrollToTop").css("bottom", Math.round(bottom + scrollVal + windowHeight - footerOffset) + "px"); 2645 } else if (parseInt($("#scrollToTop").css("bottom")) > bottom) { 2646 $("#scrollToTop").css("bottom", Math.round(bottom)); 2647 } 2648}; 2649 2650CheckObjectsSizes = function () { 2651 $(".container iframe,.container object,.container video").each(function () { 2652 var height_attr = $(this).attr("height"); 2653 var width_attr = $(this).attr("width"); 2654 if (height_attr && width_attr) { 2655 $(this).css("height", ($(this).outerWidth() * height_attr) / width_attr); 2656 } 2657 }); 2658}; 2659 2660if (!funcDefined("reloadTopBasket")) { 2661 var reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item, sync) { 2662 var obj = { 2663 PARAMS: $("#top_basket_params").val(), 2664 ACTION: action, 2665 }; 2666 if (typeof item !== "undefined" && item) { 2667 obj.delete_top_item = "Y"; 2668 obj.delete_top_item_id = item.data("id"); 2669 } 2670 // $.post( arAsproOptions['SITE_DIR']+"ajax/show_basket_popup.php", obj, $.proxy(function( data ){ 2671 $.post( 2672 arAsproOptions["SITE_DIR"] + "ajax/show_basket_actual.php", 2673 obj, 2674 $.proxy(function (data) { 2675 $(basketWindow).html(data); 2676 2677 //getActualBasket('', '', sync); 2678 2679 getActualBasket("", "Compare", sync); //need for actual compare count when do opt action 2680 2681 var eventdata = { action: "loadBasket" }; 2682 BX.onCustomEvent("onCompleteAction", [eventdata]); 2683 2684 /*if(arAsproOptions['THEME']['SHOW_BASKET_ONADDTOCART'] !== 'N'){ 2685 if($(window).outerWidth() > 520){ 2686 if(slideDown=="Y") 2687 $(basketWindow).find('.basket_popup_wrapp').stop(true,true).slideDown(speed); 2688 clearTimeout(basketTimeoutSlide); 2689 basketTimeoutSlide = setTimeout(function() { 2690 var _this = $('#basket_line').find('.basket_popup_wrapp'); 2691 if (_this.is(':hover')) { 2692 _this.show(); 2693 }else{ 2694 $('#basket_line').find('.basket_popup_wrapp').slideUp(speed); 2695 } 2696 },delay); 2697 } 2698 }*/ 2699 }) 2700 ); 2701 }; 2702} 2703 2704CheckTabActive = function () { 2705 if (typeof clicked_tab && clicked_tab) { 2706 if (window.matchMedia("(min-width: 768px)").matches) { 2707 clicked_tab--; 2708 $(".nav.nav-tabs li").each(function () { 2709 if ($(this).index() == clicked_tab) $(this).addClass("active"); 2710 }); 2711 // $('.nav.nav-tabs li:eq('+clicked_tab+')').addClass('active'); 2712 $(".catalog_detail .tab-content .tab-pane:eq(" + clicked_tab
2712+ ")").addClass("active"); 2713 $(".catalog_detail .tab-content .tab-pane .title-tab-heading").next().removeAttr("style"); 2714 clicked_tab = 0; 2715 } 2716 } 2717}; 2718 2719/*countdown start*/ 2720if (!funcDefined("initCountdown")) { 2721 var initCountdown = function initCountdown() { 2722 if ($(".view_sale_block").length) { 2723 $(".view_sale_block").each(function () { 2724 var _this = $(this); 2725 if (_this.hasClass("init-if-visible") && !_this.is(":visible")) return; 2726 2727 var activeTo = _this.find(".active_to").text(), 2728 dateTo = new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); 2729 if (_this.hasClass("compact")) 2730 _this.find(".countdown").countdown( 2731 { 2732 until: dateTo, 2733 format: "dHMS", 2734 compact: true, 2735 padZeroes: true, 2736 layout: 2737 '{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>', 2738 }, 2739 $.countdown.regionalOptions["ru"] 2740 ); 2741 else 2742 _this.find(".countdown").countdown( 2743 { 2744 until: dateTo, 2745 format: "dHMS", 2746 padZeroes: true, 2747 layout: 2748 '{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>', 2749 }, 2750 $.countdown.regionalOptions["ru"] 2751 ); 2752 }); 2753 } 2754 }; 2755} 2756 2757if (!funcDefined("initCountdownTime")) { 2758 var initCountdownTime = function initCountdownTime(block, time) { 2759 if (time) { 2760 var dateTo = new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); 2761 block.find(".countdown").countdown("destroy"); 2762 if (block.hasClass("compact")) 2763 block.find(".countdown").countdown( 2764 { 2765 until: dateTo, 2766 format: "dHM", 2767 compact: true, 2768 padZeroes: true, 2769 layout: 2770 '{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>', 2771 }, 2772 $.countdown.regionalOptions["ru"] 2773 ); 2774 else 2775 block.find(".countdown").countdown( 2776 { 2777 until: dateTo, 2778 format: "dHMS", 2779 padZeroes: true, 2780 layout: 2781 '{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>', 2782 }, 2783 $.countdown.regionalOptions["ru"] 2784 ); 2785 block.find(".view_sale_block").show(); 2786 } else { 2787 block.find(".view_sale_block").hide(); 2788 } 2789 }; 2790} 2791/*countdown end*/ 2792 2793waitCounter = function (idCounter, delay, callback) { 2794 var obCounter = window["yaCounter" + idCounter]; 2795 if (typeof obCounter == "object") { 2796 if (typeof callback == "function") callback(); 2797 } else { 2798 setTimeout(function () { 2799 waitCounter(idCounter, delay, callback); 2800 }, delay); 2801 } 2802}; 2803 2804var isOnceInited = (insertFilter = false); 2805var animationTime = 200; 2806var delayTime = 200; 2807var topMenuEnterTimer = false; 2808var previewMode = window != window.top; 2809var isMobile = 2810 ((jQuery.browser.mobile || previewMode) && window.matchMedia("(max-width:767px)").matches) || 2811 window.matchMedia("(max-width:400px)").matches; 2812 2813if (isMobile) document.documentElement.className += " mobile"; 2814if (previewMode) document.documentElement.className += " previewMode"; 2815 2816if (navigator.userAgent.indexOf("Edge") != -1) document.documentElement.className += " bx-ie-edge"; 2817 2818/*filter start*/ 2819if (!funcDefined("checkVerticalMobileFilter")) { 2820 var checkVerticalMobileFilter = function checkVerticalMobileFilter() { 2821 /*if($('.right_block1.catalog.vertical').length && !$('.left_block.filter_aja
2821x').length) 2822 { 2823 if(typeof window['trackBarOptions'] !== 'undefined') 2824 { 2825 window['trackBarValues'] = {} 2826 for(key in window['trackBarOptions']) 2827 { 2828 window['trackBarValues'][key] = { 2829 'leftPercent': window['trackBar' + key].leftPercent, 2830 'leftValue': window['trackBar' + key].minInput.value, 2831 'rightPercent': window['trackBar' + key].rightPercent, 2832 'rightValue': window['trackBar' + key].maxInput.value, 2833 } 2834 } 2835 } 2836 2837 if(window.matchMedia('(max-width: 991px)').matches) 2838 { 2839 if(!insertFilter) 2840 { 2841 $('.js_filter .bx_filter.bx_filter_vertical').html($('.left_block .bx_filter.bx_filter_vertical').html()); 2842 $('.left_block .bx_filter.bx_filter_vertical .bx_filter_section').remove(); 2843 insertFilter=true; 2844 } 2845 } 2846 else 2847 { 2848 if(insertFilter) 2849 { 2850 $('.left_block .bx_filter.bx_filter_vertical').html($('.js_filter .bx_filter.bx_filter_vertical').html()); 2851 $('.js_filter .bx_filter.bx_filter_vertical .bx_filter_section').remove(); 2852 insertFilter=false; 2853 } 2854 } 2855 2856 if(typeof window['trackBarOptions'] !== 'undefined') 2857 { 2858 for(key in window['trackBarOptions']) 2859 { 2860 window['trackBarOptions'][key].leftPercent = window['trackBarValues'][key].leftPercent; 2861 window['trackBarOptions'][key].rightPercent = window['trackBarValues'][key].rightPercent; 2862 window['trackBarOptions'][key].curMinPrice = window['trackBarValues'][key].leftValue; 2863 window['trackBarOptions'][key].curMaxPrice = window['trackBarValues'][key].rightValue; 2864 window['trackBar' + key] = new BX.Iblock.SmartFilter(window['trackBarOptions'][key]); 2865 window['trackBar' + key].minInput.value = window['trackBarValues'][key].leftValue; 2866 window['trackBar' + key].maxInput.value = window['trackBarValues'][key].rightValue; 2867 } 2868 } 2869 } 2870 else if($('.visible_mobile_filter').length) 2871 { 2872 var posTopBlock = BX.pos($('.detail.partners')[0]), 2873 posBlock = $('.ajax_load').position(); 2874 // $('.visible_mobile_filter').css('top', posBottomBlock.top-posTopBlock.top); 2875 $('.visible_mobile_filter').css('top', posBlock.top); 2876 2877 }*/ 2878 }; 2879} 2880/*filter end*/ 2881 2882// ONE CLICK 2883if (!funcDefined("oneClickBuy")) { 2884 var oneClickBuy = function (elementID, iblockID, that) { 2885 var name = "one_click_buy"; 2886 var elementQuantity = 1; 2887 var offerProps = false; 2888 var buy_btn = $(that).closest(".buy_block").find(".to-cart"); 2889 var buy_btn2 = $(that).closest("tr").find(".to-cart"); 2890 2891 if (typeof that !== "undefined") { 2892 elementQuantity = $(that).attr("data-quantity"); 2893 offerProps = $(that).attr("data-props"); 2894 } 2895 2896 if (elementQuantity < 0) { 2897 elementQuantity = 1; 2898 } 2899 2900 var tmp_props = buy_btn.data("props"), 2901 tmp_props2 = buy_btn2.data("props"), 2902 props = "", 2903 part_props = "", 2904 add_props = "N", 2905 fill_prop = {}, 2906 iblockid = buy_btn.data("iblockid"), 2907 item = buy_btn.attr("data-item"); 2908 2909 if (tmp_props) { 2910 props = tmp_props.split(";"); 2911 } else if (tmp_props2) { 2912 props = tmp_props2.split(";"); 2913 } 2914 if (buy_btn.data("part_props")) { 2915 part_props = buy_btn.data("part_props"); 2916 } 2917 if (buy_btn.data("add_props")) { 2918 add_props = buy_btn.data("add_props"); 2919 } 2920 2921 fill_prop = fillBasketPropsExt(buy_btn, "prop", buy_btn.data("bakset_div")); 2922 fill_prop.iblockID = iblockid; 2923 fill_prop.part_props = part_props; 2924 fill_prop.add_props = add_props; 2925 fill_prop.props = JSON.stringify(props); 2926 fill_prop.item = item; 2927 fill_prop.ocb_item = "Y"; 2928 2929 if (!isMobile) { 2930 if (!$(that).hasClass("clicked")) { 2931 $(that).addClass("clicked"); 2932 $("body") 2933 .find("." + name + "_frame") 2934 .remove(); 2935 $("body") 2936 .find("." + name + "_trigger") 2937 .remove(); 2938 $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame popup"></div>'); 2939 $("body #popup_iframe_wrapper").append('<div class="' + name + '_trigger"></div>'); 2940 $("." + name + "_frame").jqm({ 2941 trigger: "." + name + "_trigger", 2942 onHide: function (hash) { 2943 onHidejqm(name, hash); 2944 }, 2945 toTop: false,
2946 onLoad: function (hash) { 2947 onLoadjqm(name, hash); 2948 }, 2949 ajax: 2950 arAsproOptions["SITE_DIR"] + 2951 "ajax/one_click_buy.php?ELEMENT_ID=" + 2952 elementID + 2953 "&IBLOCK_ID=" + 2954 iblockID + 2955 "&ELEMENT_QUANTITY=" + 2956 elementQuantity + 2957 "&OFFER_PROPS=" + 2958 fill_prop.props, 2959 }); 2960 $("." + name + "_trigger").click(); 2961 } 2962 } else { 2963 var script = arAsproOptions["SITE_DIR"] + "form/"; 2964 script += 2965 "?name=" + 2966 name + 2967 "&form_id=ocb&path=" + 2968 window.location.pathname + 2969 "&ELEMENT_ID=" + 2970 elementID + 2971 "&IBLOCK_ID=" + 2972 iblockID + 2973 "&ELEMENT_QUANTITY=" + 2974 elementQuantity + 2975 "&OFFER_PROPS=" + 2976 fill_prop.props; 2977 location.href = script; 2978 } 2979 }; 2980} 2981 2982if (!funcDefined("oneClickBuyBasket")) { 2983 var oneClickBuyBasket = function () { 2984 name = "one_click_buy_basket"; 2985 if (!isMobile) { 2986 if (!$(".fast_order").hasClass("clicked")) { 2987 $(".fast_order").addClass("clicked"); 2988 $("body") 2989 .find("." + name + "_frame") 2990 .remove(); 2991 $("body") 2992 .find("." + name + "_trigger") 2993 .remove(); 2994 $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame popup"></div>'); 2995 $("body #popup_iframe_wrapper").append('<div class="' + name + '_trigger"></div>'); 2996 $("." + name + "_frame").jqm({ 2997 trigger: "." + name + "_trigger", 2998 onHide: function (hash) { 2999 onHidejqm(name, hash); 3000 }, 3001 onLoad: function (hash) { 3002 onLoadjqm(name, hash); 3003 }, 3004 ajax: arAsproOptions["SITE_DIR"] + "ajax/one_click_buy_basket.php", 3005 }); 3006 $("." + name + "_trigger").click(); 3007 } 3008 } else { 3009 var script = arAsproOptions["SITE_DIR"] + "form/"; 3010 script += "?name=" + name + "&form_id=ocb&path=" + window.location.pathname + "&buy_basket=y"; 3011 location.href = script; 3012 } 3013 }; 3014} 3015 3016// TOP MENU ANIMATION 3017$(document).on("click", ".menu_top_block>li .more a", function () { 3018 $this = $(this); 3019 $this.parents(".dropdown").first().find(">.hidden").removeClass("hidden"); 3020 $this.parent().addClass("hidden"); 3021 setTimeout(function () { 3022 $this.parent().remove(); 3023 }, 500); 3024}); 3025 3026$(document).on("mouseenter", ".menu_top_block.catalogfirst>li>.dropdown>li.full", function () { 3027 var $submenu = $(this).find(">.dropdown"); 3028 3029 if ($submenu.length) { 3030 if (topMenuEnterTimer) { 3031 clearTimeout(topMenuEnterTimer); 3032 topMenuEnterTimer = false; 3033 } 3034 } 3035}); 3036 3037$(document).on("mouseenter", ".menu_top_block>li:not(.full)", function () { 3038 var $submenu = $(this).find(">.dropdown"); 3039 3040 if ($submenu.length && !$submenu.hasClass("visible")) { 3041 var $menu = $(this).parents(".menu"); 3042 var $wrapmenu = $menu.parents(".wrap_menu"); 3043 var wrapMenuWidth = $wrapmenu.actual("outerWidth"); 3044 var wrapMenuLeft = $wrapmenu.offset().left; 3045 var wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 3046 var left = wrapMenuRight - ($(this).offset().left + $submenu.actual("outerWidth")); 3047 if ( 3048 window.matchMedia("(min-width: 951px)").matches && 3049 $(this).hasClass("catalog") && 3050 ($(".banner_auto").hasClass("catalog_page") || $(".banner_auto").hasClass("front_page")) 3051 ) { 3052 return; 3053 } 3054 if (left < 0) { 3055 $submenu.css({ left: left + "px" }); 3056 } 3057 $submenu.stop().slideDown(animationTime, function () { 3058 $submenu.css({ height: "", overflow: "visible" }); 3059 }); 3060 3061 $(this).on("mouseleave", function () { 3062 var leaveTimer = setTimeout(function () { 3063 $submenu.stop().slideUp(animationTime, function () { 3064 $submenu.css({ left: "" }); 3065 }); 3066 }, delayTime); 3067 3068 $(this).on("mouseenter", function () { 3069 if (leaveTimer) { 3070 clearTimeout(leaveTimer); 3071 leaveTimer = false; 3072 } 3073 }); 3074 }); 3075 } 3076}); 3077 3078$(document).on("mouseenter", ".menu_top_block>li .dropdown>li", function () { 3079 var $this = $(this); 3080 var $submenu = $this.find(">.dropdown"); 3081 3082 if ( 3083 $submenu.length && 3084 ((!$this.parents(".full").length && !$this.hasClass("full")) || $this.parents(".more").length) 3085 ) { 3086 var $menu = $this.parents(".menu"); 3087 var $wrapmenu = $menu.parents(".wrap_menu"); 3088 var arParentSubmenuForOpacity = []; 3089 topMenuEnterTimer = setTimeout(function () { 3090 var wrapMenuWidth = $wrapmenu.actual("outerWidth"); 3091 var wrapMenuLeft = $wrapmenu.offset().left; 3092 var wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 3093 var $parentSubmenu = $this.parent(); 3094 var bToLeft = $parentSubmenu.hasClass("toleft") ? true : false;
3095 if (!bToLeft) { 3096 bToLeft = $this.offset().left + $this.actual("outerWidth") + $submenu.actual("outerWidth") > wrapMenuRight; 3097 } else { 3098 bToLeft = $this.offset().left + $this.actual("outerWidth") - $submenu.actual("outerWidth") < wrapMenuLeft; 3099 } 3100 3101 if (bToLeft) { 3102 $this.find(">.dropdown").addClass("toleft").show(); 3103 } else { 3104 $this.find(">.dropdown").removeClass("toleft").show(); 3105 } 3106 var submenuLeft = $submenu.offset().left; 3107 var submenuRight = submenuLeft + $submenu.actual("outerWidth"); 3108 3109 $this.parents(".dropdown").each(function () { 3110 var $this = $(this); 3111 var leftOffset = $this.offset().left; 3112 var rightOffset = leftOffset + $this.actual("outerWidth"); 3113 if ( 3114 (leftOffset >= submenuLeft && leftOffset < submenuRight - 1) || 3115 (rightOffset > submenuLeft + 1 && rightOffset <= submenuRight) 3116 ) { 3117 arParentSubmenuForOpacity.push($this); 3118 $this.find(">li>a").css({ opacity: "0.1" }); 3119 } 3120 }); 3121 }, delayTime); 3122 3123 $this.unbind("mouseleave"); 3124 $this.on("mouseleave", function () { 3125 var leaveTimer = setTimeout(function () { 3126 $this.find(".dropdown").removeClass("toleft").hide(); 3127 if (arParentSubmenuForOpacity.length) { 3128 for (i in arParentSubmenuForOpacity) { 3129 arParentSubmenuForOpacity[i].find(">li>a").css({ opacity: "" }); 3130 } 3131 } 3132 }, delayTime); 3133 3134 $this.unbind("mouseenter"); 3135 $this.on("mouseenter", function () { 3136 if (leaveTimer) { 3137 clearTimeout(leaveTimer); 3138 leaveTimer = false; 3139 } 3140 }); 3141 }); 3142 } 3143}); 3144 3145/*hover animate*/ 3146//breadcrumbs 3147$(document).on("mouseenter", ".breadcrumbs .breadcrumbs__item, .hover-block .hover-block__item", function () { 3148 var _this = $(this), 3149 menu = _this.find("> .breadcrumbs__dropdown-wrapper, > .hover-block__item-wrapper"); 3150 3151 menu.velocity("stop").velocity("transition.slideUpIn", { 3152 duration: 300, 3153 delay: 100, 3154 }); 3155 3156 _this.one("mouseleave", function () { 3157 menu.velocity("stop").velocity("fadeOut", { 3158 duration: 100, 3159 // delay: 0 3160 }); 3161 }); 3162}); 3163 3164//top menu 3165$(document).on("mouseenter", ".menu .mega-menu table td, .menu-row .mega-menu table td", function () { 3166 var _this = $(this), 3167 menu = _this.find("> .wrap > .dropdown-menu"); 3168 3169 if (!_this.hasClass("wide_menu")) { 3170 menu.show(); 3171 CheckTopVisibleMenu(); 3172 } 3173 3174 var bDarkness = $(".wrapper1.dark-hover-overlay").length > 0; 3175 3176 menu.velocity("stop"); 3177 3178 if (menu.css("opacity") != 0) { 3179 menu.css("opacity", "1"); 3180 if (bDarkness) { 3181 $(".shadow-block").css("opacity", "1"); 3182 } 3183 } else { 3184 // menu.velocity('stop').velocity('transition.perspectiveDownIn', { 3185 // menu.velocity('stop').velocity('transition.slideUpBigIn', { 3186 // menu.velocity('transition.expandIn', { 3187 menu.velocity("fadeIn", { 3188 begin: function (elements) { 3189 InitMenuNavigationAim(); 3190 CheckTopVisibleMenu(); 3191 }, 3192 duration: 150, 3193 delay: 250, 3194 complete: function () { 3195 if (bDarkness) { 3196 $("body").addClass("menu-hovered"); 3197 if (!$(".shadow-block").length) $('<div class="shadow-block"></div>').appendTo($("body")); 3198 $(".shadow-block").velocity("stop").velocity("fadeIn", 200); 3199 } 3200 3201 var bannerMenu = $(".dropdown-menu.with_right_block .owl-carousel-hover"); 3202 if (bannerMenu.length) { 3203 bannerMenu.removeClass("owl-carousel-hover").addClass("owl-carousel"); 3204 setTimeout(function () { 3205 InitOwlSlider(); 3206 bannerMenu.removeClass("loader_circle"); 3207 }, 1); 3208 } 3209 }, 3210 }); 3211 } 3212 3213 _this.one("mouseleave", function () { 3214 menu.velocity("stop").velocity("fadeOut", { 3215 duration: 50, 3216 delay: 300, 3217 complete: function () { 3218 if (bDarkness) { 3219 $(".shadow-block") 3220 .velocity("stop") 3221 .velocity("fadeOut", { 3222 duration: 200, 3223 // delay: 100, 3224 complete: function () { 3225 $("body").removeClass("menu-hovered"); 3226 }, 3227 }); 3228 } 3229 }, 3230 }); 3231 }); 3232}); 3233/**/ 3234 3235$(document).on("mouseenter", ".menu-item:not(.wide_menu) .dropdown-menu .dropdown-submenu", function () { 3236 var _this = $(this), 3237 menu = _this.find("> .dropdown-menu"); 3238 3239 menu.velocity("stop"); 3240 3241 if (menu.css("opacity") != 0) { 3242 menu.css("opacity", "1"); 3243 } else { 3244 menu.velocity("transition.fadeIn", { 3245 begin: function (element) { 3246 $(element).css("display", "block"); 3247 CheckTopVisibleMenu(); 3248 }, 3249 duration: 300, 3250 delay: 250, 3251 }); 3252 } 3253 3254 _this.one("mouseleave", function () { 3255 menu.velocity("stop").velocity("fadeOut", { 3256 duration: 150, 3257 delay: 300, 3258 }); 3259 }); 3260}); 3261 3262/*register custom velocity animate*/ 3263if (typeof $.Velocity !== undefined && "RegisterEffect" in $.Velocity) { 3264 var effects = { 3265 "transition.slideDownFullIn": { 3266 defaultDuration: 900, 3267 calls: [[{ opacity: [1, 0], translateY: [0, "-100%"], translateZ: 0 }]], 3268 }, 3269 "transition.slideDownFullOut": { 3270 defaultDuration: 900, 3271 calls: [[{ opacity: [0.4, 1], translateY: ["-100%", 0], translateZ: 0 }]], 3272 }, 3273 }; 3274 3275 for (var effectName in effects) { 3276 if (effects.hasOwnProperty(effectName)) { 3277 $.Velocity.RegisterEffect(effectName, effects[effectName]); 3278 } 3279 } 3280} 3281/**/ 3282 3283getGridSize = function (counts, slider) { 3284 var counts_item = 1; 3285 //wide 3286 if (window.matchMedia("(min-width: 1200px)").matches) { 3287 counts_item = counts[0]; 3288 if (typeof slider.data("lg_count") !== "undefined" && slider.data("lg_count") && $(".front.wide_page").length) 3289 counts_item = slider.data("lg_count"); 3290 } 3291 3292 //large 3293 if (window.matchMedia("(max-width: 1200px)").matches) { 3294 counts_item = counts[1]; 3295 } 3296 3297 //middle 3298 if (window.matchMedia("(max-width: 992px)").matches) { 3299 counts_item = counts[2]; 3300 } 3301 3302 //small 3303 if (counts[3]) { 3304 if (window.matchMedia("(max-width: 600px)").matches) { 3305 counts_item = counts[3]; 3306 } 3307 } 3308 3309 //exsmall 3310 if (counts[4]) { 3311 if (window.matchMedia("(max-width: 400px)").matches) { 3312 counts_item = counts[4]; 3313 } 3314 } 3315 return counts_item; 3316}; 3317
3318CheckFlexSlider = function () { 3319 $(".flexslider:not(.thmb)").each(function () { 3320 var slider = $(this); 3321 if (typeof slider.data("flexslider") != "undefined") { 3322 if ("vars" in slider.data("flexslider")) { 3323 slider.resize(); 3324 3325 var counts = slider.data("flexslider").vars.counts; 3326 if (typeof counts != "undefined" && slider.is(":visible")) { 3327 var cnt = getGridSize(counts, slider); 3328 var to0 = 3329 cnt != slider.data("flexslider").vars.minItems || 3330 cnt != slider.data("flexslider").vars.maxItems || 3331 cnt != slider.data("flexslider").vars.move; 3332 if (to0) { 3333 slider.data("flexslider").vars.minItems = cnt; 3334 slider.data("flexslider").vars.maxItems = cnt; 3335 slider.data("flexslider").vars.move = cnt; 3336 slider.flexslider(0); 3337 slider.resize(); 3338 slider.resize(); // twise! 3339 } 3340 } 3341 } 3342 } 3343 }); 3344}; 3345 3346$.fn.mCustomScrollbarDeferred = function (config) { 3347 $(this).addClass("scroll-init"); 3348 3349 if ($(this).hasClass("destroyed")) { 3350 return; 3351 } 3352 3353 $(this).hover( 3354 function (e) { 3355 var $this = $(this); 3356 if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed") && !$(this).hasClass("mobile-scroll")) { 3357 $this.data( 3358 "scrollTimer", 3359 setTimeout(function () { 3360 $this.mCustomScrollbar(config); 3361 $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); 3362 }, 200) 3363 ); 3364 } 3365 }, 3366 function (e) { 3367 clearTimeout($(this).data("scrollTimer")); 3368 } 3369 ); 3370 3371 $(this).on("touchstart touchmove", function (e) { 3372 var $this = $(this); 3373 if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed") && !$(this).hasClass("mobile-scroll")) { 3374 $this.mCustomScrollbar(config); 3375 } 3376 3377 var $scrollContainer = $this.find(">.mCustomScrollBox>.mCSB_container"); 3378 if ($scrollContainer.length) { 3379 var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; 3380 3381 var newTouch = new Touch({ 3382 identifier: 42, 3383 target: $scrollContainer[0], 3384 clientX: touch.clientX, 3385 clientY: touch.clientY, 3386 screenX: touch.screenX, 3387 screenY: touch.screenY, 3388 pageX: touch.pageX, 3389 pageY: touch.pageY, 3390 radiusX: 1, 3391 radiusY: 1, 3392 }); 3393 3394 var newEvent = new TouchEvent(e.type, { 3395 cancelable: true, 3396 bubbles: false, 3397 composed: true, 3398 touches: [newTouch], 3399 targetTouches: [newTouch], 3400 changedTouches: [newTouch], 3401 }); 3402 3403 $scrollContainer[0].dispatchEvent(newEvent); 3404 } 3405 }); 3406 3407 $(this).on("touchend", function (e) { 3408 $(this).off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); 3409 }); 3410 3411 if ($.event.special.mousewheel) { 3412 $(this).on("mousewheel", function (e) { 3413 var $this = $(this); 3414 if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed") && !$(this).hasClass("mobile-scroll")) { 3415 $this.mCustomScrollbar(config); 3416 $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); 3417 } 3418 }); 3419 } 3420}; 3421 3422InitScrollBar = function (el, initOptions) { 3423 var block; 3424 if (typeof el === "undefined") { 3425 block = $(".srollbar-custom:not(.mobile-scroll):not(.scroll-init)"); 3426 } else { 3427 block = el.filter(":not(.scroll-init)"); 3428 } 3429 3430 if (block.length) { 3431 block.addClass("scroll-init"); 3432 3433 var options, 3434 defaults = { 3435 mouseWheel: { 3436 scrollAmount: 150, 3437 preventDefault: true, 3438 }, 3439 }; 3440 var config = $.extend({}, defaults, options, block.data("plugin-options"), initOptions); 3441 3442 config.callbacks = { 3443 onScroll: function () { 3444 if ($(this).find(".mCSB_buttonLeft").hasClass("disabled")) 3445 $(this).find(".mCSB_buttonLeft").removeClass("disabled"); 3446 if ($(this).find(".mCSB_buttonRight").hasClass("disabled")) 3447 $(this).find(".mCSB_buttonRight").removeClass("disabled"); 3448 }, 3449 onTotalScrollBack: function () { 3450 $(this).find(".mCSB_buttonLeft").addClass("disabled"); 3451 }, 3452 onTotalScroll: function () { 3453 $(this).find(".mCSB_buttonRight").addClass("disabled"); 3454 }, 3455 onInit: function () { 3456 $(this).find(".mCSB_buttonLeft").addClass("disabled"); 3457 }, 3458 }; 3459 3460 block.filter(":not(.scroll-deferred)").mCustomScrollbar(config); 3461 block.filter(".scroll-deferred").mCustomScrollbarDeferred(config); 3462 } 3463}; 3464 3465InitCustomScrollBar = function (el) { 3466 var block; 3467 if (typeof el === "undefined") { 3468 block = $(".scrollbar:not(.mobile-scroll):not(.scroll-init)"); 3469 } else { 3470 block = el.filter(":not(.scroll-init)"); 3471 } 3472 3473 if (block.length) { 3474 block.addClass("scroll-init"); 3475 3476 var options, 3477 defaults = { 3478 effect: "fadeIn", 3479 effectTime: 300, 3480 threshold: 0, 3481 // threshold: 30 3482 }; 3483 3484 var config = $.extend({}, defaults, options, block.data("plugin-options")); 3485 3486 block.filter(":not(.scroll-deferred)").mCustomScrollbar(config); 3487 block.filter(".scroll-deferred").mCustomScrollbarDeferred(config); 3488 } 3489}; 3490 3491InitFancyBox = function () { 3492 if (typeof $.fn.fancybox !== "function") { 3493 return; 3494 } 3495 3496 if (!$(".fancy").length) { 3497 return; 3498 } 3499 $(".fancy").fancybox({ 3500 padding: [40, 40, 64, 40], 3501 openEffect: "fade", 3502 closeEffect: "fade", 3503 nextEffect: "fade", 3504 prevEffect: "fade", 3505 opacity: true, 3506 tpl: { 3507 closeBtn: 3508 '<span title="' + 3509 BX.message("FANCY_CLOSE") + 3510 '" 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>', 3511 next: 3512 '<a title="' + 3513 BX.message("FANCY_NEXT") + 3514 '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', 3515 prev: 3516 '<a title="' + 3517 BX.message("FANCY_PREV") + 3518 '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', 3519 }, 3520 touch: "enabled", 3521 buttons: [ 3522 // "zoom", 3523 //"share", 3524 // "slideShow", 3525 //"fullScreen", 3526 //"download", 3527 // "thumbs", 3528 "close", 3529 ], 3530 backFocus: false, 3531 beforeShow: function (event) { 3532 if (!$(".cd-modal-bg").hasClass("is-visible")) { 3533 BX.loadScript(arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/aspro_animate_open_fancy.js", function () { 3534 var scaleValue = retrieveScale($(".cd-modal-bg")); 3535 3536 $(".cd-modal-bg") 3537 .show() 3538 .addClass("is-visible") 3539 .one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function () { 3540 animateLayer($(".cd-modal-bg"), scaleValue, true); 3541 }); 3542 }); 3543 } 3544 var video_block = $(".company-block source.video-block"); 3545 if (video_block.length) { 3546 if (video_block.attr("src") == "#") { 3547 var video_block_wrapper = video_block.closest("video"); 3548 var video_block_clone = video_block_wrapper.clone(); 3549 3550 video_block_clone.find("source").attr("src", video_block_clone.find("source").data("src")); 3551 video_block.attr("src", video_block.data("src")); 3552 video_block_clone.insertAfter(video_block_wrapper); 3553 video_block_clone.siblings("video").remove(); 3554 } 3555 } 3556 var video_block_frame = $(".company-block #company_video_iframe"); 3557 if (video_block_frame.length) { 3558 var data_src_iframe = video_block_frame.attr("data-src"); 3559 video_block_frame.attr("src", data_src_iframe); 3560 video_block_frame.attr("allow", "autoplay"); 3561 } 3562 // $('.detail .galery .overlay_form').hide(); 3563 }, 3564 afterShow: function () { 3565 if ($(".fancybox-overlay").css("opacity") == 0) { 3566 setTimeout(function () { 3567 $(".fancybox-overlay").css("opacity", 1); 3568 $("html").addClass("overflow_html"); 3569 }, 200); 3570 } 3571 3572 $(".fancybox-nav").css("opacity", 0); 3573 setTimeout(function () { 3574 $(".fancybox-nav").css("opacity", 1); 3575 }, 150); 3576 if ($(".fancybox-inner #company_video").length) { 3577 // var fancyHeight = $('.fancybox-wrap').height(); 3578 // $('.fancybox-inner').height(fancyHeight); 3579 setTimeout(function () { 3580 $(".fancybox-wrap video").resize(); 3581 setTimeout(function () { 3582 $(".fancybox-wrap").addClass("show_video"); 3583 document.getElementById("company_video").currentTime = 0; 3584 document.getElementById("company_video").play(); 3585 }, 300); 3586 }, 150); 3587 } else if ($(".fancybox-wrap iframe").length) { 3588 $(".fancybox-inner").height("100%"); 3589 } 3590 }, 3591 beforeClose: function () { 3592 BX.loadScript(arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/aspro_animate_open_fancy.js", function () { 3593 closeModal(); 3594 $(".fancybox-overlay").fadeOut(); 3595 if ($("#company_video").length) { 3596 document.getElementById("company_video").currentTime = 0; 3597 } 3598 $("html").removeClass("overflow_html"); 3599 var video_block_frame = $(".company-block .video-block"); 3600 if (video_block_frame.length) { 3601 $("#company_video_iframe").attr("src", ""); 3602 } 3603 }); 3604 }, 3605 onClosed: function () { 3606 if ($(".fancybox-wrap #company_video").length) { 3607 document.getElementById("company_video").pause(); 3608 } 3609 }, 3610 }); 3611}; 3612 3613InitFancyBoxVideo = function () { 3614 if (typeof $.fn.fancybox !== "function") { 3615 return; 3616 } 3617 3618 if (!$(".video_link").length) { 3619 return; 3620 } 3621 $(".video_link").fancybox({ 3622 type: "iframe", 3623 maxWidth: 800, 3624 maxHeight: 600, 3625 fitToView: false, 3626 width: "70%", 3627 height: "70%", 3628 autoSize: false, 3629 closeClick: false, 3630 opacity: true, 3631 tpl: { 3632 closeBtn: 3633 '<span title="' + 3634 BX.message("FANCY_CLOSE") + 3635 '" 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>', 3636 next: 3637 '<a title="' + 3638 BX.message("FANCY_NEXT") + 3639 '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', 3640 prev: 3641 '<a title="' + 3642 BX.message("FANCY_PREV") + 3643 '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', 3644 }, 3645 beforeShow: function (event) { 3646 if (!$(".cd-modal-bg").hasClass("is-visible")) { 3647 BX.loadScript(arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/aspro_animate_open_fancy.js", function () { 3648 var scaleValue = retrieveScale($(".cd-modal-bg")); 3649 3650 $(".cd-modal-bg") 3651 .show() 3652 .addClass("is-visible") 3653 .one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function () { 3654 animateLayer($(".cd-modal-bg"), scaleValue, true); 3655 }); 3656 }); 3657 } 3658 }, 3659 afterShow: function () { 3660 if ($(".fancybox-overlay").css("opacity") == 0) { 3661 setTimeout(function () { 3662 $(".fancybox-overlay").css("opacity", 1); 3663 $("html").addClass("overflow_html"); 3664 }, 200); 3665 } 3666 3667 $(".fancybox-nav").css("opacity", 0); 3668 setTimeout(function () { 3669 $(".fancybox-nav").css("opacity", 1); 3670 }, 150); 3671 if ($(".fancybox-wrap iframe").length) { 3672 $(".fancybox-inner").height("100%"); 3673 } 3674 }, 3675 beforeClose: function () { 3676 BX.loadScript(arAsproOptions["SITE_TEMPLATE_PATH"] + "/js/aspro_animate_open_fancy.js", function () { 3677 closeModal(); 3678 $(".fancybox-overlay").fadeOut(); 3679 $("html").removeClass("overflow_html"); 3680 }); 3681 }, 3682 }); 3683}; 3684 3685InitStickySideBar = function (el, container_el) { 3686 var block = ".sticky-sidebar",
3687 container_catalog = ".wraps .wrapper_inner .container_inner .main-catalog-wrapper", 3688 container = ".wraps .wrapper_inner .container_inner"; 3689 if (typeof el !== "undefined") block = el; 3690 3691 if ($(container_catalog).length) container = container_catalog; 3692 3693 if (typeof container_el !== "undefined") container = container_el; 3694 3695 if ($(block).length && arAsproOptions["THEME"]["STICKY_SIDEBAR"] != "N") { 3696 if (typeof window["stickySidebar"] !== "undefined") { 3697 window["stickySidebar"].destroy(); 3698 } 3699 3700 window["stickySidebar"] = new StickySidebar(block, { 3701 topSpacing: 60, 3702 bottomSpacing: 20, 3703 containerSelector: container, 3704 resizeSensor: true, 3705 innerWrapperSelector: ".sticky-sidebar__inner", 3706 }); 3707 3708 if ($(".sticky-sidebar .sticky-sidebar__inner .banner img").length) { 3709 $(".sticky-sidebar .sticky-sidebar__inner .banner img").load(function () { 3710 if (typeof window["stickySidebar"] !== "undefined") { 3711 window["stickySidebar"].updateSticky(); 3712 } 3713 }); 3714 } 3715 } 3716}; 3717 3718InitOwlSlider = function () { 3719 if (typeof $.fn.owlCarousel !== "function") { 3720 return; 3721 } 3722 $(".owl-carousel:not(.owl-loaded):not(.appear-block)").each(function () { 3723 var slider = $(this); 3724 var options; 3725 var svg = 3726 '<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>'; 3727 var defaults = { 3728 navText: [ 3729 '<i class="svg left colored_theme_hover_text">' + svg + "</i>", 3730 '<i class="svg right colored_theme_hover_text">' + svg + "</i>", 3731 ], 3732 }; 3733 var config = $.extend({}, defaults, options, slider.data("plugin-options")); 3734 3735 slider.on("initialized.owl.carousel", function (event) { 3736 var eventdata = { slider: event }; 3737 BX.onCustomEvent("onSliderInitialized", [eventdata]); 3738 3739 $(event.target).removeClass("loading-state"); 3740 $(event.target).find(".owl-item:first").addClass("current"); 3741 3742 if ($(event.target).hasClass("catalog_block")) { 3743 if (typeof sliceItemBlockSlide === "function") { 3744 sliceItemBlockSlide(); 3745 } 3746 } 3747 3748 if (typeof window["stickySidebar"] !== "undefined") { 3749 window["stickySidebar"].updateSticky(); 3750 } 3751 }); 3752 slider.owlCarousel(config); 3753 3754 slider.on("change.owl.carousel", function (event) { 3755 var eventdata = { slider: event }; 3756 BX.onCustomEvent("onSlideChange", [eventdata]); 3757 }); 3758 slider.on("resized.owl.carousel", function (event) { 3759 if (typeof sliceItemBlockSlide === "function") { 3760 sliceItemBlockSlide({ resize: false }); 3761 } 3762 }); 3763 3764 slider.on("changed.owl.carousel", function (event) { 3765 var eventdata = { slider: event }; 3766 BX.onCustomEvent("onSlideChanged", [eventdata]); 3767 3768 if ($(event.target).data("pluginOptions")) { 3769 if ("index" in $(event.target).data("pluginOptions")) { 3770 if ($(".switch-item-block").length) { 3771 $(".switch-item-block__count-wrapper--big .switch-item-block__count-value").text( 3772 event.item.index + 1 + "/" + event.item.count 3773 ); 3774 } 3775 } 3776 3777 if ("relatedTo" in $(event.target).data("pluginOptions")) { 3778 var relatedClass = $(event.target).data("pluginOptions").relatedTo, 3779 relatedBlock = $(relatedClass); 3780 3781 if (relatedBlock.length && $(event.target).data("owl.carousel")) { 3782 if (!$(event.target).data("owl.carousel").loop) { 3783 var current = event.item.index; 3784 } else { 3785 var count = event.item.count - 1; 3786 var current = Math.round(event.item.index - event.item.count / 2 - 0.5); 3787 3788 if (current < 0) current = count; 3789 3790 if (current > count) current = 0; 3791 } 3792 3793 relatedBlock.find(".owl-item").removeClass("current").eq(current).addClass("current"); 3794 3795 var onscreen = relatedBlock.find(".owl-item.active").length - 1; 3796 var start = relatedBlock.find(".owl-item.active").first().index(); 3797 var end = relatedBlock.find(".owl-item.active").last().index(); 3798 3799 if (current > end) relatedBlock.data("owl.carousel").to(current, 100, true); 3800 3801 if (current < start) relatedBlock.data("owl.carousel").to(current - onscreen, 100, true); 3802 // $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel]) 3803 } 3804 } 3805 } 3806 }); 3807 3808 slider.on("translated.owl.carousel", function (event) {}); 3809 3810 if ("clickTo" in config) { 3811 var relatedClass = config.clickTo, 3812 magnifier = "magnifier" in config; 3813 3814 slider.on("click", ".owl-item", function (e) { 3815 e.preventDefault(); 3816 var _this = $(this), 3817 number = _this.index(); 3818 3819 if (magnifier) { 3820 const $parent = $(relatedClass).closest(".product-container"); 3821 if ($parent.find(".zoom_picture").length) { 3822 const $zoomImg = $parent.find(".zoom_picture"); 3823 $zoomImg.attr("data-large", _this.find(".product-detail-gallery__item").data("big")); 3824 $zoomImg.attr("xoriginal", _this.find(".product-detail-gallery__item").data("big")); 3825 $zoomImg.attr("src", _this.find(".product-detail-gallery__item img").attr("src")); 3826 $parent 3827 .find(".product-detail-gallery__link") 3828 .attr("href", _this.find(".product-detail-gallery__item img").attr("src")); 3829 } 3830 _this.siblings("").removeClass("current"); 3831 _this.addClass("current"); 3832 } else { 3833 $(relatedClass).data("owl.carousel").to(number, 300, true); 3834 } 3835 }); 3836 } 3837 }); 3838}; 3839 3840InitFlexSlider = function () { 3841 if (typeof $.fn.flexslider !== "function") { 3842 return; 3843 } 3844 $(".flexslider:not(.thmb):not(.flexslider-init):not(.appear-block)").each(function () { 3845 var slider = $(this); 3846 var options; 3847 var defaults = { 3848 animationLoop: false, 3849 controlNav: false, 3850 keyboard: false, 3851 pauseOnAction: false, 3852 pauseInvisible: false, 3853 directionNav: true,
3854 useCSS: false, 3855 animation: "slide", 3856 }; 3857 var config = $.extend({}, defaults, options, slider.data("plugin-options")); 3858 if (!slider.parent().hasClass("top_slider_wrapp") && slider.is(":visible")) { 3859 if (typeof config.counts != "undefined" && config.direction !== "vertical") { 3860 config.maxItems = getGridSize(config.counts, slider); 3861 config.minItems = getGridSize(config.counts, slider); 3862 config.itemWidth = 200; 3863 } 3864 if (typeof config.move == "undefined") config.move = 1; 3865 3866 config.start = function (slider) { 3867 var eventdata = { slider: slider }; 3868 BX.onCustomEvent("onSlideInit", [eventdata]); 3869 }; 3870 3871 config.after = function (slider) { 3872 var eventdata = { slider: slider }; 3873 BX.onCustomEvent("onSlideComplete", [eventdata]); 3874 }; 3875 3876 config.end = function (slider) { 3877 var eventdata = { slider: slider }; 3878 BX.onCustomEvent("onSlideEnd", [eventdata]); 3879 }; 3880 slider.flexslider(config).addClass("flexslider-init"); 3881 if (config.controlNav) slider.addClass("flexslider-control-nav"); 3882 if (config.directionNav) slider.addClass("flexslider-direction-nav"); 3883 } 3884 }); 3885}; 3886 3887InitFlexSliderByClass = function ($class) { 3888 if ($class.hasClass("flexslider-init")) return; 3889 var slider = $class; 3890 var options; 3891 var defaults = { 3892 animationLoop: false, 3893 controlNav: false, 3894 keyboard: false, 3895 pauseOnAction: false, 3896 pauseInvisible: false, 3897 directionNav: true, 3898 useCSS: false, 3899 animation: "slide", 3900 }; 3901 var config = $.extend({}, defaults, options, slider.data("plugin-options")); 3902 if (!slider.parent().hasClass("top_slider_wrapp") && slider.is(":visible")) { 3903 if (typeof config.counts != "undefined" && config.direction !== "vertical") { 3904 config.maxItems = getGridSize(config.counts, slider); 3905 config.minItems = getGridSize(config.counts, slider); 3906 config.itemWidth = 200; 3907 } 3908 if (typeof config.move == "undefined") config.move = 1; 3909 3910 config.start = function (slider) { 3911 var eventdata = { slider: slider }; 3912 BX.onCustomEvent("onSlideInit", [eventdata]); 3913 }; 3914 3915 config.after = function (slider) { 3916 var eventdata = { slider: slider }; 3917 BX.onCustomEvent("onSlideComplete", [eventdata]); 3918 }; 3919 3920 config.end = function (slider) { 3921 var eventdata = { slider: slider }; 3922 BX.onCustomEvent("onSlideEnd", [eventdata]); 3923 }; 3924 3925 slider.flexslider(config).addClass("flexslider-init"); 3926 if (config.controlNav) slider.addClass("flexslider-control-nav"); 3927 if (config.directionNav) slider.addClass("flexslider-direction-nav"); 3928 } 3929}; 3930 3931inIframe = function () { 3932 try { 3933 return window.self !== window.top; 3934 } catch (e) { 3935 return true; 3936 } 3937}; 3938 3939InitZoomPict = function (el) { 3940 var block = $(".zoom_picture"); 3941 if (typeof el !== "undefined") block = el; 3942 if (block.length) { 3943 var zoomer = block, 3944 options, 3945 defaults = { 3946 // zoomWidth: 600, 3947 // zoomHeight: 600, 3948 // adaptive: false, 3949 title: true, 3950 scroll: false, 3951 Xoffset: 15, 3952 tint: "#333", 3953 defaultScale: -1, 3954 }; 3955 var config = $.extend({}, defaults, options, zoomer.data("plugin-options")); 3956 zoomer.xzoom(config); 3957 3958 block.on("mouseleave", function () { 3959 block.data("xzoom").movezoom(event); 3960 }); 3961 } 3962}; 3963 3964var arBasketAsproCounters = (arStatusBasketAspro = arBasketPrices = {}); 3965SetActualBasketFlyCounters = function (sync) { 3966 if (arBasketAsproCounters.DEFAULT == true) { 3967 $.ajax({ 3968 url: arAsproOptions["SITE_DIR"] + "ajax/basket_fly.php", 3969 type: "post", 3970 success: function (html) { 3971 $("#basket_line .basket_fly").removeClass("loaded").html(html); 3972 3973 if (typeof sync !== "undefined") { 3974 $.ajax({ 3975 type: "GET", 3976 url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php", 3977 // data:data, 3978 success: function (data) { 3979 if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>'); 3980 $(".js_ajax").html(data); 3981 3982 setBasketStatusBtn(true); 3983 }, 3984 }); 3985 } 3986 }, 3987 }); 3988 } else { 3989 // insert currency ₽ by this hack!: $('<div/>').html(arBasketAsproCounters.READY.TITLE).text() 3990 $(".basket_fly .opener .basket_count .count") 3991 .attr("class", "count" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty_items"))
3992 .find(".items span") 3993 .text(arBasketAsproCounters.READY.COUNT); 3994 $(".basket_fly .opener .basket_count + a").attr("href", arBasketAsproCounters["READY"]["HREF"]); 3995 $(".basket_fly .opener .basket_count") 3996 .attr("title", $("<div/>").html(arBasketAsproCounters.READY.TITLE).text()) 3997 .attr( 3998 "class", 3999 "colored_theme_hover_text basket_count small clicked" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty") 4000 ); 4001 4002 $(".basket_fly .opener .wish_count .count") 4003 .attr("class", "count" + (arBasketAsproCounters.DELAY.COUNT > 0 ? "" : " empty_items")) 4004 .find(".items span") 4005 .text(arBasketAsproCounters.DELAY.COUNT); 4006 $(".basket_fly .opener .wish_count + a").attr("href", arBasketAsproCounters.DELAY.HREF); 4007 $(".basket_fly .opener .wish_count") 4008 .attr("title", $("<div/>").html(arBasketAsproCounters.DELAY.TITLE).text()) 4009 .attr( 4010 "class", 4011 "colored_theme_hover_text wish_count small clicked" + (arBasketAsproCounters.DELAY.COUNT > 0 ? "" : " empty") 4012 ); 4013 4014 $(".basket_fly .opener .compare_count .wraps_icon_block").attr( 4015 "class", 4016 "wraps_icon_block compare" + (arBasketAsproCounters.COMPARE.COUNT > 0 ? "" : " empty_block") 4017 ); 4018 $(".basket_fly .opener .compare_count .count") 4019 .attr("class", "count" + (arBasketAsproCounters.COMPARE.COUNT > 0 ? "" : " empty_items")) 4020 .find(".items span") 4021 .text(arBasketAsproCounters.COMPARE.COUNT); 4022 $(".basket_fly .opener .compare_count + a").attr("href", arBasketAsproCounters.COMPARE.HREF); 4023 4024 updateBottomIconsPanel(arBasketAsproCounters); 4025 } 4026}; 4027 4028CheckHeaderFixed = function () { 4029 var header = $("header, body.simple_basket_mode #header").first(), 4030 header_fixed = $("#headerfixed, body.simple_basket_mode #header"), 4031 header_simple = $("body.simple_basket_mode #header"); 4032 4033 if (header_fixed.length) { 4034 if (header.length) { 4035 var isHeaderFixed = false, 4036 isTabsFixed = false, 4037 headerCanFix = true, 4038 headerFixedHeight = header_fixed.actual("outerHeight"), 4039 headerNormalHeight = header.actual("outerHeight"), 4040 headerDiffHeight = headerNormalHeight - headerFixedHeight, 4041 mobileBtnMenu = $(".btn.btn-responsive-nav"), 4042 headerTop = $("#panel:visible").actual("outerHeight"), 4043 topBlock = $(".TOP_HEADER").first(), 4044 $headerFixedNlo = header_fixed.find("[data-nlo]"), 4045 isNloLoaded = !$headerFixedNlo.length, 4046 OnHeaderFixedScrollHandler; 4047 4048 if (headerDiffHeight <= 0) headerDiffHeight = 0; 4049 4050 if (topBlock.length) headerTop += topBlock.actual("outerHeight"); 4051 4052 $(window).scroll( 4053 (OnHeaderFixedScrollHandler = function () { 4054 var tabs_fixed = $(".product-item-detail-tabs-container-fixed"); 4055 4056 if (window.matchMedia("(min-width:992px)").matches) { 4057 var scrollTop = $(window).scrollTop(), 4058 current_is = $(".search-wrapper .search-input:visible"), 4059 tabs = $(".ordered-block .nav.nav-tabs"), 4060 headerCanFix = !mobileBtnMenu.is(":visible"); /* && !$('.dropdown-menu:visible').length*/ 4061 4062 if (!isHeaderFixed) { 4063 if (headerCanFix && scrollTop > headerNormalHeight + headerTop) { 4064 if (!isNloLoaded) { 4065 if (!$headerFixedNlo.hasClass("nlo-loadings")) { 4066 $headerFixedNlo.addClass("nlo-loadings"); 4067 setTimeout(function () { 4068 $.ajax({ 4069 data: { nlo: $headerFixedNlo.attr("data-nlo") }, 4070 success: function (response) { 4071 // stop ya metrika webvisor DOM indexer 4072 pauseYmObserver(); 4073 4074 isNloLoaded = true; 4075 $headerFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response)); 4076 $headerFixedNlo.remove(); 4077 4078 InitMenuNavigationAim(); 4079 OnHeaderFixedScrollHandler(); 4080 4081 // init custom scroll 4082 /*$("#headerfixed .mega-menu table td.wide_menu .customScrollbar").mCustomScrollbarDeferred({ 4083 mouseWheel: { 4084 scrollAmount: 150, 4085 preventDefault: true, 4086 }, 4087 });*/ 4088 4089 // resume ya metrika webvisor 4090 // (300ms transition) + (100ms scroll handler) 4091 setTimeout(resumeYmObserver, 400); 4092 }, 4093 error: function () { 4094 $headerFixedNlo.removeClass("nlo-loadings"); 4095 }, 4096 }); 4097 }, 300); 4098 } 4099 } else { 4100 isHeaderFixed = true; 4101 if (header_simple.length) { 4102 headerSimpleHeight = header_simple.actual("outerHeight"); 4103 header_simple.closest(".header_wrap").css({ "margin-top": headerSimpleHeight }); 4104 } 4105 header_fixed.addClass("fixed"); 4106 4107 $("nav.mega-menu.sliced.initied").removeClass("initied"); 4108 CheckTopMenuDotted(); 4109 } 4110 } 4111 } 4112 if (isHeaderFixed || !headerCanFix) { 4113 if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) { 4114 isHeaderFixed = false;
4115 header_fixed.removeClass("fixed"); 4116 if (header_simple.length) { 4117 header_simple.closest(".header_wrap").css({ "margin-top": "" }); 4118 } 4119 } 4120 } 4121 4122 //fixed tabs 4123 if (tabs_fixed.length && tabs.length) { 4124 var tabs_offset = $(".ordered-block .nav.nav-tabs").offset(); 4125 if (scrollTop + headerFixedHeight > tabs_offset.top) { 4126 tabs_fixed.css({ top: header_fixed.actual("outerHeight") + 1 }); 4127 tabs_fixed.addClass("fixed"); 4128 4129 header_fixed.addClass("tabs-fixed"); 4130 } else if (tabs_fixed.hasClass("fixed")) { 4131 tabs_fixed.removeAttr("style"); 4132 tabs_fixed.removeClass("fixed"); 4133 4134 header_fixed.removeClass("tabs-fixed"); 4135 } 4136 } 4137 } 4138 }) 4139 ); 4140 } 4141 } 4142 4143 //mobile fixed 4144 var headerSimple = $("body.simple_basket_mode .wrapper1.mfixed_Y #header"); 4145 var mfixed = headerSimple.length ? headerSimple : $(".wrapper1.mfixed_Y #mobileheader"); 4146 if (mfixed.length && isMobile) { 4147 var isMHeaderFixed = false, 4148 mheaderCanFix = true, 4149 mheaderFixedHeight = mfixed.actual("outerHeight"), 4150 // mheaderFixedHeight = 0, 4151 mheaderTop = $("#panel:visible").actual("outerHeight"), 4152 mHeaderScrollTop = $(".wrapper1").hasClass("mfixed_view_scroll_top"); 4153 $(window).scroll(function () { 4154 var scrollTop = $(window).scrollTop(); 4155 if (window.matchMedia("(max-width:991px)").matches) { 4156 if (mHeaderScrollTop) { 4157 if (scrollTop > startScroll) { 4158 if (!$("#mobilePhone.show").length) { 4159 mfixed.removeClass("fixed"); 4160 if (headerSimple.length) { 4161 headerSimple.closest(".header_wrap").css({ "margin-top": "" }); 4162 } 4163 } 4164 } else if (scrollTop > mheaderFixedHeight + mheaderTop) { 4165 mfixed.addClass("fixed"); 4166 if (headerSimple.length) { 4167 headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight }); 4168 } 4169 } else if (scrollTop <= mheaderFixedHeight + mheaderTop) { 4170 mfixed.removeClass("fixed"); 4171 if (headerSimple.length) { 4172 headerSimple.closest(".header_wrap").css({ "margin-top": "" }); 4173 } 4174 } 4175 startScroll = scrollTop; 4176 } else { 4177 if (!isMHeaderFixed) { 4178 if (scrollTop > mheaderFixedHeight + mheaderTop) { 4179 isMHeaderFixed = true; 4180 mfixed.addClass("fixed"); 4181 if (headerSimple.length) { 4182 headerSimple.closest(".header_wrap").css({ "margin-top": mheaderFixedHeight }); 4183 } 4184 } 4185 } else if (isMHeaderFixed) { 4186 if (scrollTop <= mheaderFixedHeight + mheaderTop) { 4187 isMHeaderFixed = false; 4188 mfixed.removeClass("fixed"); 4189 if (headerSimple.length) { 4190 headerSimple.closest(".header_wrap").css({ "margin-top": "" }); 4191 } 4192 } 4193 } 4194 } 4195 } else { 4196 mfixed.removeClass("fixed"); 4197 if (headerSimple.length) { 4198 headerSimple.closest(".header_wrap").css({ "margin-top": "" }); 4199 } 4200 } 4201 }); 4202 } 4203}; 4204 4205CheckHeaderFixedMenu = function () { 4206 if ( 4207 arAsproOptions["THEME"] && 4208 arAsproOptions["THEME"]["HEADER_FIXED"] == 2 && 4209 $("#headerfixed .js-nav").length && 4210 window.matchMedia("(min-width: 992px)").matches 4211 ) { 4212 $("#headerfixed .js-nav").css("width", "0"); 4213 var all_width = 0, 4214 cont_width = $("#headerfixed .maxwidth-theme").actual("width"), 4215 padding_menu = 4216 $("#headerfixed .logo-row.v2 .menu-block").actual("outerWidth") - 4217 $("#headerfixed .logo-row.v2 .menu-block").actual("width"); 4218 $("#headerfixed .logo-row.v2 > .inner-table-block").each(function () { 4219 if (!$(this).hasClass("menu-block")) all_width += $(this).actual("outerWidth"); 4220 }); 4221 $("#headerfixed .js-nav").width(cont_width - all_width - padding_menu); 4222 } 4223}; 4224 4225CheckSearchWidth = function () { 4226 if ($(".logo_and_menu-row .search_wrap").length) { 4227 var searchPosition = $(".logo_and_menu-row .search_wrap").position().left, 4228 maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 2; 4229 width = 0; 4230 if ($(".logo_and_menu-row .subtop .search_wrap").length) { 4231 maxWidth = $(".logo_and_menu-row .subtop").width() - 2; 4232 $(".logo_and_menu-row .subtop > .row >div >div") 4233 .each(function () { 4234 if (!$(this).hasClass("search_wrap")) { 4235 var elementWidth = $(this).outerWidth(); 4236 if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0; 4237 width = width ? width - elementWidth : maxWidth - elementWidth; 4238 } 4239 }) 4240 .promise() 4241 .done(function () { 4242 if ($(".logo_and_menu-row .search_wrap.wide_search").length) 4243 $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width); 4244 else $(".logo_and_menu-row .search_wrap").outerWidth(width); 4245 $(".logo_and_menu-row .search_wrap").css({ opacity: 1, visibility: "visible" }); 4246 }); 4247 } else {
4248 if ($(".logo_and_menu-row .subbottom .search_wrap").length) { 4249 maxWidth = $(".logo_and_menu-row .subbottom").width() - 2; 4250 $(".logo_and_menu-row .subbottom >div") 4251 .each(function () { 4252 if (!$(this).hasClass("search_wrap")) { 4253 var elementWidth = $(this).outerWidth(); 4254 if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0; 4255 width = width ? width - elementWidth : maxWidth - elementWidth; 4256 } 4257 }) 4258 .promise() 4259 .done(function () { 4260 if ($(".logo_and_menu-row .search_wrap.wide_search").length) 4261 $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width); 4262 else $(".logo_and_menu-row .search_wrap").outerWidth(width); 4263 $(".logo_and_menu-row .search_wrap").css({ opacity: 1, visibility: "visible" }); 4264 }); 4265 } else { 4266 $(".logo_and_menu-row .maxwidth-theme > .row >div >div") 4267 .each(function () { 4268 if (!$(this).hasClass("search_wrap")) { 4269 var elementWidth = $(this).outerWidth(); 4270 if (!$(this).is(":visible") || !$(this).height()) elementWidth = 0; 4271 width = width ? width - elementWidth : maxWidth - elementWidth; 4272 } 4273 }) 4274 .promise() 4275 .done(function () { 4276 if ($(".logo_and_menu-row .search_wrap.wide_search").length) 4277 $(".logo_and_menu-row .search_wrap .search-block").outerWidth(width); 4278 else $(".logo_and_menu-row .search_wrap").outerWidth(width); 4279 $(".logo_and_menu-row .search_wrap").css({ opacity: 1, visibility: "visible" }); 4280 }); 4281 } 4282 } 4283 } 4284}; 4285 4286lazyLoadPagenBlock = function () { 4287 setTimeout(function () { 4288 if ($(".with-load-block .ajax_load_btn:not(.appear-block)").length) { 4289 $(".with-load-block .ajax_load_btn:not(.appear-block)").appear( 4290 function () { 4291 var $this = $(this); 4292 $this.addClass("appear-block").trigger("click"); 4293 }, 4294 { accX: 0, accY: 200 } 4295 ); 4296 } 4297 }, 200); 4298}; 4299 4300scrollPreviewBlock = function () { 4301 if (typeof $.cookie("scroll_block") != "undefined" && $.cookie("scroll_block")) { 4302 var scroll_block = $($.cookie("scroll_block")); 4303 if (scroll_block.length) { 4304 $("body, html").animate({ scrollTop: scroll_block.offset().top }, 500); 4305 } 4306 $.cookie("scroll_block", null); 4307 } 4308}; 4309 4310scrollToBlock = function (block) { 4311 if ($(block).length) { 4312 var offset = $(block).offset().top; 4313 if (typeof $(block).data("toggle") != "undefined") $(block).click(); 4314 4315 if (typeof $(block).data("offset") != "undefined") offset += $(block).data("offset"); 4316 4317 $("body, html").animate({ scrollTop: offset }, 500); 4318 } 4319}; 4320 4321checkMenuLines = function () { 4322 if ($(".front_page .menu-row .left_border").length || $(".front_page .menu-row .right_border").length) { 4323 var positionMenu = $(".centered .menu-row .mega-menu table").length 4324 ? $(".centered .menu-row .mega-menu table").offset().left 4325 : 0, 4326 varFixLineWidth = 4327 $("body").hasClass("with_decorate") && window.matchMedia("(min-width: 1100px)").matches ? 126 : 7; 4328 4329 $(".menu-row .left_border, .menu-row .right_border").css("width", positionMenu - varFixLineWidth); 4330 } 4331}; 4332 4333SetFixedAskBlock = function () { 4334 if ($(".ask_a_question_wrapper").length) { 4335 var offset = $(".ask_a_question_wrapper").offset(), 4336 footer_offset = 0, 4337 block = $(".ask_a_question_wrapper").find(".ask_a_question"), 4338 block_offset = BX.pos(block[0]), 4339 block_height = block_offset.bottom - block_offset.top, 4340 diff_top_scroll = $("#headerfixed").height() + 20; 4341 4342 if ($("footer").length) footer_offset = $("footer").offset().top; 4343 4344 if ($(".banner.CONTENT_BOTTOM").length) footer_offset = $(".banner.CONTENT_BOTTOM").offset().top; 4345 4346 /* removed for ISSUE NEXT-414 4347 if(block_height+130 > block.closest('.fixed_wrapper').height()) 4348 block.addClass('nonfixed'); 4349 else 4350 block.removeClass('nonfixed'); 4351 */ 4352 4353 if (block_height + diff_top_scroll + documentScrollTopLast + 130 > footer_offset) { 4354 block.removeClass("fixed").css({ top: "auto", width: "auto", bottom: 0 }); 4355 block.parent().css("position", "static"); 4356 block.parent().parent().css("position", "static"); 4357 } else { 4358 block.parent().removeAttr("style"); 4359 block.parent().parent().removeAttr("style"); 4360 4361 if (documentScrollTopLast + diff_top_scroll > offset.top) { 4362 var fixed_width = $(".fixed_block_fix").width(); 4363 block.addClass("fixed").css({ top: diff_top_scroll, bottom: "auto" }); 4364 if (fixed_width) block.css({ width: $(".fixed_block_fix").width() }); 4365 } else block.removeClass("fixed").css({ top: 0, width: "auto" }); 4366 } 4367 } 4368}; 4369 4370MegaMenuFixed = function () { 4371 var animationTime = 150, 4372 $megaFixedNlo = $(".mega_fixed_menu").find("[data-nlo]"); 4373 4374 $("header .burger, #headerfixed .burger").on("click", function () { 4375 if ($megaFixedNlo.length) { 4376 if (!$megaFixedNlo.hasClass("nlo-loadings")) { 4377 $megaFixedNlo.addClass("nlo-loadings"); 4378 setTimeout(function () { 4379 $.ajax({ 4380 data: { nlo: $megaFixedNlo.attr("data-nlo") }, 4381 success: function (response) { 4382 $megaFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response)); 4383 $megaFixedNlo.remove(); 4384 }, 4385 error: function () { 4386 $megaFixedNlo.removeClass("nlo-loadings"); 4387 }, 4388 }); 4389 }, 300); 4390 } 4391 } 4392 4393 $(".mega_fixed_menu").fadeIn(animationTime); 4394 //$('.header_wrap').toggleClass('zindexed'); 4395 /*$(".mega_fixed_menu").mCustomScrollbarDeferred({ 4396 mouseWheel: { 4397 scrollAmount: 150, 4398 preventDefault: true, 4399 }, 4400 });*/ 4401 }); 4402 4403 $(".mega_fixed_menu .svg.svg-close").on("click", function () { 4404 $(this).closest(".mega_fixed_menu").fadeOut(animationTime); 4405 //$('.header_wrap').toggleClass('zindexed'); 4406 }); 4407 4408 $(".mega_fixed_menu .dropdown-menu .arrow").on("click", function (e) { 4409 e.preventDefault(); 4410 e.stopPropagation(); 4411 $(this).closest(".dropdown-submenu").find(".dropdown-menu").slideToggle(animationTime); 4412 $(this).closest(".dropdown-submenu").addClass("opened"); 4413 }); 4414}; 4415 4416CheckPopupTop = function () { 4417 // var popup = $('.jqmWindow.show:last'); 4418 // if(!popup.length) 4419 // popup = $('.jqmWindow.show'); 4420 // if(!popup.length) 4421 // popup = $('.jqm-init.show'); 4422 // if(popup.length){ 4423 // var documentScollTop = $(document).scrollTop(); 4424 // var windowHeight = $(window).height(); 4425 // var popupTop = parseInt(popup.css('top')); 4426 // var popupHeight = popup.height(); 4427 // if(windowHeight >= popupHeight){ 4428 // // center 4429 // popupTop = (windowHeight - popupHeight) / 2; 4430 // } 4431 // else{ 4432 // if(documentScollTop > documentScrollTopLast){ 4433 // // up 4434 // popupTop -= documentScollTop - documentScrollTopLast; 4435 // } 4436 // else if(documentScollTop < documentScrollTopLast){ 4437 // // down 4438 // popupTop += documentScrollTopLast - documentScollTop; 4439 // } 4440 // if(popupTop + popupHeight < windowHeight){ 4441 // // bottom 4442 // popupTop = windowHeight - popupHeight; 4443 // } 4444 // else if(popupTop > 0){ 4445 // // top 4446 // popupTop = 0; 4447 // } 4448 // } 4449 // popup.css('top', popupTop + 'px'); 4450 // } 4451}; 4452 4453AjaxClickLink = function (e) { 4454 var _this = "", 4455 container = $(".js-load-wrapper"), 4456 container_inner = $(".js-load-wrapper").find(".ajax_load"), 4457 dopAction = ""; 4458 url = ""; 4459 if ("preventDefault" in e) { 4460 e.preventDefault();
4461 _this = $(e.target).hasClass("js-load-link") ? $(e.target) : $(e.target).closest(".js-load-link"); 4462 } else { 4463 _this = $(e); 4464 dopAction = "Y"; 4465 } 4466 4467 if (container.length) { 4468 var objUrl = parseUrlQuery(), 4469 obGetData = { ajax_get_filter: "Y", control_ajax: "Y" }; 4470 4471 obGetData.bitrix_include_areas = "N"; 4472 4473 if ("clear_cache" in objUrl) { 4474 if (objUrl.clear_cache == "Y") { 4475 obGetData.clear_cache = "Y"; 4476 } 4477 } 4478 4479 if (container_inner.length) { 4480 container_inner.addClass("loading-state"); 4481 } else { 4482 container.addClass("loading-state"); 4483 } 4484 4485 if (_this.data("url")) { 4486 url = _this.data("url"); 4487 } 4488 4489 if (_this.data("click_block") && $(_this.data("click_block")).length) { 4490 if ($(_this.data("click_block")).data("url")) { 4491 url = $(_this.data("click_block")).data("url"); 4492 } 4493 } 4494 4495 if (dopAction) { 4496 BX.PopupWindowManager.getCurrentPopup().close(); 4497 $(".bx_filter_select_popup ul li .sort_btn").removeClass("current"); 4498 _this.addClass("current"); 4499 _this.closest(".bx_filter_block").find(".bx_filter_select_text").text(_this.text()); 4500 } 4501 4502 $(".bx_filter .bx_sort_filter .bx_filter_select_text").text(_this.text()); 4503 $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current").removeClass("current"); 4504 $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li") 4505 .eq(_this.parent().index()) 4506 .find("span") 4507 .addClass("current"); 4508 4509 $.ajax({ 4510 url: url, 4511 data: obGetData, 4512 success: function (html) { 4513 container.html(html); 4514 4515 if (container_inner.length) container_inner.removeClass("loading-state"); 4516 else container.removeClass("loading-state"); 4517 4518 initAnimateLoad(); 4519 4520 var eventdata = { action: "jsLoadBlock" }; 4521 BX.onCustomEvent("onCompleteAction", [eventdata, _this]); 4522 4523 initSelects(document); 4524 InitCustomScrollBar(); 4525 InitScrollBar(); 4526 4527 if (window.FilterHelper !== undefined) { 4528 FilterHelper.resultDiv = $("#filter-helper"); 4529 FilterHelper.show(); 4530 } 4531 }, 4532 }); 4533 } 4534}; 4535 4536initCalculatePreview = function () { 4537 $(".calculate-delivery.with_preview:not(.inited)").each(function () { 4538 var $this = $(this); 4539 var $calculateSpan = $this.find("span[data-event=jqm]"); 4540 var $preview = $this.find(".calculate-delivery-preview"); 4541 4542 $this.addClass("inited"); 4543 $this.appear( 4544 function () { 4545 if ($calculateSpan.length) { 4546 if (typeof window["calculate-delivery-preview-index"] === "undefined") { 4547 window["calculate-delivery-preview-index"] = 1001; 4548 } else { 4549 ++window["calculate-delivery-preview-index"]; 4550 } 4551 4552 var productId = $calculateSpan.attr("data-param-product_id") * 1; 4553 var quantity = $calculateSpan.attr("data-param-quantity") * 1; 4554 4555 if (productId > 0) { 4556 var areaIndexSended = window["calculate-delivery-preview-index"]; 4557 $calculateSpan.data({ areaIndex: areaIndexSended }); 4558 4559 $.ajax({ 4560 url: arAsproOptions["SITE_DIR"] + "ajax/delivery.php", 4561 type: "POST", 4562 data: { 4563 is_preview: "Y", 4564 index: areaIndexSended, 4565 product_id: productId, 4566 quantity: quantity, 4567 }, 4568 beforeSend: function () { 4569 $this.addClass("loadings"); 4570 }, 4571 success: function (response) { 4572 var areaIndex = $calculateSpan.data("areaIndex"); 4573 if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) { 4574 $calculateSpan.hide(); 4575 $preview.html(response); 4576 if (!$preview.find(".catalog-delivery-preview").length) { 4577 $preview.empty(); 4578 $calculateSpan.show(); 4579 } 4580 } 4581 }, 4582 error: function (xhr, ajaxOptions, thrownError) {}, 4583 complete: function () { 4584 var areaIndex = $calculateSpan.data("areaIndex"); 4585 if (typeof areaIndex !== "undefined" && areaIndex == areaIndexSended) { 4586 $this.removeClass("loadings"); 4587 } 4588 }, 4589 }); 4590 } 4591 } 4592 }, 4593 { accX: 0, accY: 0 } 4594 ); 4595 }); 4596}; 4597 4598/*set price item*/ 4599if (!funcDefined("setPriceItem")) { 4600 var setPriceItem = function setPriceItem( 4601 main_block, 4602 quantity, 4603 rewrite_price, 4604 check_quantity, 4605 is_sku, 4606 show_percent, 4607 percent 4608 ) { 4609 var old_quantity = main_block.find(".to-cart").attr("data-ratio"), 4610 value = 4611 typeof rewrite_price !== "undefined" && rewrite_price 4612 ? rewrite_price 4613 : main_block.find(".to-cart").attr("data-value"), 4614 currency = main_block.find(".to-cart").attr("data-currency"), 4615 total_block = 4616 '<div class="total_summ" style="display:none;"><div>' +
4617 BX.message("TOTAL_SUMM_ITEM") + 4618 "<span></span></div></div>", 4619 price_block = main_block.find(".cost.prices"), 4620 use_percent = typeof show_percent !== "undefined" && show_percent == "Y", 4621 percent_number = typeof percent !== "undefined" && percent, 4622 sku_checked = main_block.find(".has_offer_prop").length ? "Y" : "N", 4623 check = typeof check_quantity !== "undefined" && check_quantity; 4624 4625 if (main_block.find(".counter_wrapp + .wrapp-one-click").length) { 4626 if (!main_block.find(".wrapp-one-click .total_summ").length && !is_sku) 4627 $(total_block).appendTo(main_block.find(".counter_wrapp + .wrapp-one-click")); 4628 } else if (main_block.find(".buy_block").length) { 4629 if (!main_block.find(".buy_block .total_summ").length && !is_sku) 4630 $(total_block).appendTo(main_block.find(".buy_block")); 4631 } else if (main_block.find(".counter_wrapp").length) { 4632 if (!main_block.find(".counter_wrapp .total_summ").length && !is_sku) 4633 $(total_block).appendTo(main_block.find(".counter_wrapp:first")); 4634 } 4635 if (main_block.find(".total_summ").length) { 4636 if (value && currency) { 4637 if ((1 == quantity && old_quantity == quantity) || (typeof is_sku !== "undefined" && is_sku && !check)) { 4638 main_block.find(".total_summ").slideUp(50); 4639 } else { 4640 main_block.find(".total_summ span").html(BX.Currency.currencyFormat(value * quantity, currency, true)); 4641 if (main_block.find(".total_summ").is(":hidden") /* || sku_checked == 'Y'*/) 4642 main_block.find(".total_summ").slideDown(100); 4643 } 4644 } else { 4645 main_block.find(".total_summ").slideUp(100); 4646 } 4647 } 4648 }; 4649} 4650 4651if (!funcDefined("getCurrentPrice")) { 4652 var getCurrentPrice = function getCurrentPrice(price, currency, print_price) { 4653 var val = ""; 4654 var format_value = BX.Currency.currencyFormat(price, currency); 4655 if (print_price.indexOf(format_value) >= 0) { 4656 val = print_price.replace( 4657 format_value, 4658 '<span class="price_value">' + format_value + '</span><span class="price_currency">' 4659 ); 4660 val += "</span>"; 4661 } else { 4662 val = print_price; 4663 } 4664 4665 return val; 4666 }; 4667} 4668 4669if (!funcDefined("initAnimateLoad")) { 4670 var initAnimateLoad = function initAnimateLoad() { 4671 $(".animate-load").click(function () { 4672 if (!jQuery.browser.mobile) { 4673 $(this).parent().addClass("loadings"); 4674 } 4675 }); 4676 }; 4677} 4678 4679if (!funcDefined("showBasketShareBtn")) { 4680 var showBasketShareBtn = function () { 4681 if (arAsproOptions["THEME"]["SHOW_SHARE_BASKET"] === "Y") { 4682 if (!document.querySelector(".basket-checkout-block-btns")) { 4683 var checkout = document.querySelector(".basket-checkout-section-inner"); 4684 if (checkout) { 4685 var btns = BX.create({ 4686 tag: "div", 4687 attrs: { 4688 class: "basket-checkout-block basket-checkout-block-btns", 4689 }, 4690 html: '<div class="basket-checkout-block-btns-wrap"></div>', 4691 }); 4692 4693 BX.insertAfter(btns, BX.lastChild(checkout)); 4694 var btnsWrap = btns.querySelector(".basket-checkout-block-btns-wrap"); 4695 4696 var btnCheckout = checkout.querySelector(".basket-checkout-block-btn"); 4697 if (btnCheckout) { 4698 btnsWrap.appendChild(btnCheckout); 4699 } 4700 4701 var btnFastOrder = checkout.querySelector(".fastorder"); 4702 if (btnFastOrder) { 4703 btnsWrap.appendChild(btnFastOrder); 4704 } 4705 4706 if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) { 4707 var btnShareBasket = BX.create({ 4708 tag: "div", 4709 attrs: { 4710 class: "basket-checkout-block basket-checkout-block-share colored_theme_hover_bg-block", 4711 title: arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"], 4712 }, 4713 html: 4714 '<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" viewB
4714ox="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">' + 4715 arAsproOptions["THEME"]["EXPRESSION_FOR_SHARE_BASKET"] + 4716 "</span></span>", 4717 }); 4718 4719 btnsWrap.appendChild(btnShareBasket); 4720 initAnimateLoad(); 4721 } 4722 } 4723 } 4724 } 4725 }; 4726} 4727 4728if (!funcDefined("showBasketHeadingBtn")) { 4729 var showBasketHeadingBtn = function () { 4730 if (document.querySelector(".page-top h1")) { 4731 var topicHeading = document.querySelector(".page-top .topic .topic__heading"); 4732 if (topicHeading) { 4733 if (arAsproOptions["THEME"]["SHOW_BASKET_PRINT"] === "Y") { 4734 if (!document.querySelector(".btn_basket_heading--print")) { 4735 var btnPrintBasket = BX.create({ 4736 tag: "div", 4737 attrs: { 4738 class: "btn_basket_heading btn_basket_heading--print print-link colored_theme_hover_bg-block", 4739 title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"], 4740 }, 4741 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>', 4742 }); 4743 BX.insertBefore(btnPrintBasket, topicHeading); 4744 } 4745 } 4746 4747 if ($(".basket-btn-checkout").length && !$(".basket-btn-checkout").hasClass("disabled")) { 4748 // if(arAsproOptions['THEME']['SHOW_SEND_BASKET_2EMAIL'] === 'Y'){ 4749 // if(!document.querySelector('.btn_basket_heading--send2email')){ 4750 // var btnSendBasket2Email = BX.create({ 4751 // tag: 'div', 4752 // attrs: { 4753 // class: 'btn_basket_heading btn_basket_heading--with_title btn_basket_heading--send2email colored_theme_hover_bg-block', 4754 // title: arAsproOptions['THEME']["EXPRESSION_FOR_SEND_BASKET_2EMAIL"], 4755 // }, 4756 // 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>', 4757 // }); 4758 // BX.insertBefore(btnSendBasket2Email, topicHeading); 4759 // } 4760 // } 4761 4762 if (arAsproOptions["THEME"]["SHOW_DOWNLOAD_BASKET"] === "Y") { 4763 if (!document.querySelector(".btn_basket_heading--download")) { 4764 var btnDownloadBasket = BX.create({ 4765 tag: "div", 4766 attrs: { 4767 class: 4768 "btn_basket_heading btn_basket_heading--with_title btn_basket_heading--download colored_theme_hover_bg-block", 4769 title: arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"], 4770 }, 4771 events: { 4772 click: BX.proxy(function (e) { 4773 if (!e) { 4774 e = window.event; 4775 } 4776 4777 BX.PreventDefault(e); 4778 4779 var button = e.target.closest(".btn_basket_heading"); 4780 if (button) { 4781 if (BX.hasClass(button, "loadings")) { 4782 return; 4783 } 4784 4785 BX.addClass(button, "loadings"); 4786 setTimeout(function () { 4787 BX.removeClass(button, "loadings"); 4788 }, 2000); 4789 } 4790 4791 location.href = 4792 "/ajax/download_basket.php?params[type]=" + 4793 arAsproOptions["THEME"]["BASKET_FILE_DOWNLOAD_TEMPLATE"]; 4794 }, this), 4795 }, 4796 html: 4797 '<i class="svg colored_theme_hover_bg-el-svg">
4797<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">' + 4798 arAsproOptions["THEME"]["EXPRESSION_FOR_DOWNLOAD_BASKET"] + 4799 "</span>", 4800 }); 4801 BX.insertBefore(btnDownloadBasket, topicHeading); 4802 } 4803 } 4804 } else { 4805 BX.remove(document.querySelector(".btn_basket_heading--send2email")); 4806 BX.remove(document.querySelector(".btn_basket_heading--download")); 4807 } 4808 } 4809 } 4810 }; 4811} 4812 4813$(window).on("load", function () { 4814 //check width for menu and search 4815 CheckSearchWidth(); 4816}); 4817 4818$(document).ready(function () { 4819 MegaMenuFixed(); 4820 InitScrollBar(); 4821 4822 /*ripple effect for buttons*/ 4823 $.ripple(".btn", { 4824 debug: false, // Turn Ripple.js logging on/off 4825 on: "mouseenter", // The event to trigger a ripple effect 4826 4827 opacity: 0.4, // The opacity of the ripple 4828 color: "auto", // Set the background color. If set to "auto", it will use the text color 4829 multi: true, // Allow multiple ripples per element 4830 4831 duration: 0.6, // The duration of the ripple 4832 4833 easing: "linear", // The CSS3 easing function of the ripple 4834 }); 4835 /**/ 4836 4837 //ecommerce order 4838 if (arAsproOptions["PAGES"]["ORDER_PAGE"]) { 4839 var arUrl = parseUrlQuery(); 4840 if ("ORDER_ID" in arUrl) { 4841 var _id = arUrl["ORDER_ID"]; 4842 if (arAsproOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") { 4843 var eventdata = { goal: "goal_order_success", result: _id }; 4844 BX.onCustomEvent("onCounterGoals", [eventdata]); 4845 } 4846 if (checkCounters()) { 4847 if (typeof localStorage !== "undefined") { 4848 var val = localStorage.getItem("gtm_e_" + _id), 4849 d = ""; 4850 try { 4851 d = JSON.parse(val); 4852 } catch (e) { 4853 d = val; 4854 } 4855 if (typeof d === "object") { 4856 window.dataLayer = window.dataLayer || []; 4857 dataLayer.push({ event: arAsproOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"], ecommerce: d }); 4858 } 4859 4860 if (typeof localStorage !== "undefined") { 4861 localStorage.removeItem("gtm_e_" + _id); 4862 } 4863 } 4864 } 4865 } 4866 } 4867 var bSafary = false; 4868 if (typeof jQuery.browser == "object") bSafary = jQuery.browser.safari; 4869 else if (typeof browser == "object") bSafary = browser.safari; 4870 if (!bSafary) { 4871 CheckTopMenuPadding(); 4872 CheckTopMenuOncePadding(); 4873 CheckTopMenuDotted(); 4874 CheckHeaderFixed(); 4875 checkMenuLines(); 4876 //setTimeout(function() {$(window).resize();}, 150); // need to check resize flexslider & menu 4877 //setTimeout(function() {$(window).scroll();}, 250); // need to check position fixed ask block 4878 } else { 4879 setTimeout(function () { 4880 $(window).resize(); // need to check resize flexslider & menu 4881 setTimeout(function () { 4882 CheckTopMenuPadding(); 4883 CheckTopMenuOncePadding(); 4884 CheckTopMenuDotted(); 4885 CheckHeaderFixed(); 4886 checkMenuLines(); 4887 4888 setTimeout(function () { 4889 $(window).scroll(); 4890 }, 50); 4891 }, 50); 4892 }, 350); 4893 } 4894 4895 /*for filter scrol in mobile*/ 4896 if (window.matchMedia("(max-width: 767px)").matches) { 4897 $(".bx_filter .scrollbar").addClass("mobile-scroll").removeClass("scroll-init"); 4898 $(".bx_filter .srollbar-custom").addClass("mobile-scroll").removeClass("scroll-init"); 4899 $(".bx_filter .bx_filter_section form .bx_filter_parameters").addClass("mobile-scroll").removeClass("scroll-init"); 4900 if ($(".bx_filter .mobile-scroll.scrollbar").length) 4901 $(".bx_filter .mobile-scroll.scrollbar").mCustomScrollbar("destroy"); 4902 if ($(".bx_filter .mobile-scroll.srollbar-custom").length) 4903 $(".bx_filter .mobile-scroll.srollbar-custom").mCustomScrollbar("destroy"); 4904 } 4905 /**/ 4906 4907 if (arAsproOptions["THEME"]["USE_DEBUG_GOALS"] === "Y") $.cookie("_ym_debug", 1, { path: "/" });
4908 else $.cookie("_ym_debug", null, { path: "/" }); 4909 4910 /* change type2 menu for fixed */ 4911 if ($("#headerfixed .js-nav").length) { 4912 if (arAsproOptions["THEME"]["HEADER_FIXED"] == 2) CheckHeaderFixedMenu(); 4913 4914 setTimeout(function () { 4915 $("#headerfixed .js-nav").addClass("opacity1"); 4916 }, 350); 4917 } 4918 4919 // -- scroll after apply option 4920 if ($(".instagram_ajax").length) { 4921 BX.addCustomEvent("onCompleteAction", function (eventdata) { 4922 if (eventdata.action === "instagrammLoaded") scrollPreviewBlock(); 4923 }); 4924 } else scrollPreviewBlock(); 4925 4926 scrollToTop(); 4927 checkVerticalMobileFilter(); 4928 4929 $("[data-scroll-block]").click(function () { 4930 var _this = $(this); 4931 if (_this.data("scrollBlock")) { 4932 var target = $(_this.data("scrollBlock")); 4933 if (target.length) { 4934 scroll_block(target); 4935 } 4936 } 4937 }); 4938 4939 $.extend($.validator.messages, { 4940 required: BX.message("JS_REQUIRED"), 4941 email: BX.message("JS_FORMAT"), 4942 equalTo: BX.message("JS_PASSWORD_COPY"), 4943 minlength: BX.message("JS_PASSWORD_LENGTH"), 4944 remote: BX.message("JS_ERROR"), 4945 }); 4946 4947 $.validator.addMethod( 4948 "regexp", 4949 function (value, element, regexp) { 4950 var re = new RegExp(regexp); 4951 return this.optional(element) || re.test(value); 4952 }, 4953 BX.message("JS_FORMAT") 4954 ); 4955 4956 $.validator.addMethod( 4957 "filesize", 4958 function (value, element, param) { 4959 return this.optional(element) || element.files[0].size <= param; 4960 }, 4961 BX.message("JS_FILE_SIZE") 4962 ); 4963 4964 $.validator.addMethod( 4965 "date", 4966 function (value, element, param) { 4967 var status = false; 4968 if (!value || value.length <= 0) { 4969 status = false; 4970 } else { 4971 // html5 date allways yyyy-mm-dd 4972 var re = new RegExp("^([0-9]{4})(.)([0-9]{2})(.)([0-9]{2})$"); 4973 var matches = re.exec(value); 4974 if (matches) { 4975 var composedDate = new Date(matches[1], matches[3] - 1, matches[5]); 4976 status = 4977 composedDate.getMonth() == matches[3] - 1 && 4978 composedDate.getDate() == matches[5] && 4979 composedDate.getFullYear() == matches[1]; 4980 } else { 4981 // firefox 4982 var re = new RegExp("^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4})$"); 4983 var matches = re.exec(value); 4984 if (matches) { 4985 var composedDate = new Date(matches[5], matches[3] - 1, matches[1]); 4986 status = 4987 composedDate.getMonth() == matches[3] - 1 && 4988 composedDate.getDate() == matches[1] && 4989 composedDate.getFullYear() == matches[5]; 4990 } 4991 } 4992 } 4993 return status; 4994 }, 4995 BX.message("JS_DATE") 4996 ); 4997 4998 $.validator.addMethod( 4999 "extension", 5000 function (value, element, param) { 5001 param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif"; 5002 return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); 5003 }, 5004 BX.message("JS_FILE_EXT") 5005 ); 5006 5007 $.validator.addMethod( 5008 "captcha", 5009 function (value, element, params) { 5010 return $.validator.methods.remote.call(this, value, element, { 5011 url: arAsproOptions["SITE_DIR"] + "ajax/check-captcha.php", 5012 type: "post", 5013 data: { 5014 captcha_word: value, 5015 captcha_sid: function () { 5016 return $(element).closest("form").find('input[name="captcha_sid"]').val(); 5017 }, 5018 }, 5019 }); 5020 }, 5021 BX.message("JS_ERROR") 5022 ); 5023 5024 $.validator.addMethod( 5025 "recaptcha", 5026 function (value, element, param) { 5027 var id = $(element).closest("form").find(".g-recaptcha").attr("data-widgetid"); 5028 if (typeof id !== "undefined") { 5029 return grecaptcha.getResponse(id) != ""; 5030 } else { 5031 return true; 5032 } 5033 }, 5034 BX.message("JS_RECAPTCHA_ERROR") 5035 ); 5036 5037 $.validator.addClassRules({ 5038 /*phone: { 5039 regexp: arAsproOptions["THEME"]["VALIDATE_PHONE_MASK"], 5040 },*/ 5041 confirm_password: { 5042 equalTo: 'input[name="REGISTER[PASSWORD]"]', 5043 minlength: 6, 5044 }, 5045 password: { 5046 minlength: 6, 5047 }, 5048 inputfile: { 5049 extension: arAsproOptions["THEME"]["VALIDATE_FILE_EXT"], 5050 filesize: 5000000, 5051 }, 5052 captcha: { 5053 captcha: "", 5054 }, 5055 recaptcha: { 5056 recaptcha: "", 5057 }, 5058 }); 5059 5060 if (arAsproOptions["THEME"]["PHONE_MASK"]) { 5061 $("input.phone").inputmask("mask", { mask: arAsproOptions["THEME"]["PHONE_MASK"] }); 5062 } 5063 5064 // init calculate delivery with preview 5065 initCalculatePreview(); 5066 5067 /*city*/ 5068 $("select.region").on("change", function () { 5069 var val = parseInt($(this).val()); 5070 if ($("select.city").length) { 5071 if (val) { 5072 $("select.city option").hide(); 5073 $("select.city option").prop("disabled", "disabled"); 5074 $("select.city option[data-parent_section=" + val + "]").prop("disabled", ""); 5075 $("select.city option:eq(0)").prop("disabled", ""); 5076 $("select.city").ikSelect("reset"); 5077 $("select.city option[data-parent_section=" + val + "]").show(); 5078 } else $("select.city option").prop("disabled", "disabled"); 5079 $("select.city option:eq(0)").prop("disabled", ""); 5080 $("select.city").ikSelect("reset"); 5081 } 5082 }); 5083 5084 $("select.city, select.region").on("change", function () { 5085 var _this = $(this), 5086 val = parseInt(_this.val()); 5087 if (_this.hasClass("region")) { 5088 $("select.city option:eq(0)").show(); 5089 $("select.city").val(0); 5090 } 5091 5092 if ((_this.hasClass("region") && !val) || _this.hasClass("city")) { 5093 $.ajax({ 5094 type: "POST", 5095 data: { ID: val }, 5096 }).success(function (html) { 5097 var ob = BX.processHTML(html); 5098 $(".ajax_items")[0].innerHTML = ob.HTML; 5099 BX.ajax.processScripts(ob.SCRIPT); 5100 }); 5101 } 5102 }); 5103 5104 $(document).on("mouseenter", ".section-gallery-wrapper .section-gallery-wrapper__item", function () { 5105 $(this).siblings().removeClass("_active"); 5106 $(this).addClass("_active"); 5107 }); 5108 5109 $(document).on("click", ".hint .icon", function (e) {
5110 var tooltipWrapp = $(this).closest(".hint"); 5111 5112 if (tooltipWrapp.hasClass("active")) { 5113 tooltipWrapp.removeClass("active").find(".tooltip").slideUp(200); 5114 } else { 5115 tooltipWrapp.addClass("active"); 5116 tooltipWrapp.find(".tooltip").slideDown(200); 5117 tooltipWrapp.find(".tooltip_close").click(function (e) { 5118 e.stopPropagation(); 5119 tooltipWrapp.removeClass("active").find(".tooltip").slideUp(100); 5120 }); 5121 } 5122 e.stopPropagation(); 5123 }); 5124 5125 $(".mobile_regions .city_item").on("click", function (e) { 5126 e.preventDefault(); 5127 var _this = $(this); 5128 $.removeCookie("current_region"); 5129 $.cookie("current_region", _this.data("id"), { path: "/", domain: arAsproOptions["SITE_ADDRESS"] }); 5130 location.href = _this.attr("href"); 5131 }); 5132 5133 /* toggle */ 5134 var $this = this, 5135 previewParClosedHeight = 25; 5136 5137 $("section.toggle > label").prepend($("<i />").addClass("fa fa-plus")); 5138 $("section.toggle > label").prepend($("<i />").addClass("fa fa-minus")); 5139 $("section.toggle.active > p").addClass("preview-active"); 5140 $("section.toggle.active > div.toggle-content").slideDown(350, function () {}); 5141 5142 $("section.toggle > label").click(function (e) { 5143 var parentSection = $(this).parent(), 5144 parentWrapper = $(this).parents("div.toogle"), 5145 previewPar = false, 5146 isAccordion = parentWrapper.hasClass("toogle-accordion"); 5147 5148 if (isAccordion && typeof e.originalEvent != "undefined") { 5149 parentWrapper.find("section.toggle.active > label").trigger("click"); 5150 } 5151 5152 parentSection.toggleClass("active"); 5153 5154 // Preview Paragraph 5155 if (parentSection.find("> p").get(0)) { 5156 previewPar = parentSection.find("> p"); 5157 var previewParCurrentHeight = previewPar.css("height"); 5158 previewPar.css("height", "auto"); 5159 var previewParAnimateHeight = previewPar.css("height"); 5160 previewPar.css("height", previewParCurrentHeight); 5161 } 5162 5163 // Content 5164 var toggleContent = parentSection.find("> div.toggle-content"); 5165 5166 if (parentSection.hasClass("active")) { 5167 $(previewPar).animate( 5168 { 5169 height: previewParAnimateHeight, 5170 }, 5171 350, 5172 function () { 5173 $(this).addClass("preview-active"); 5174 } 5175 ); 5176 toggleContent.slideDown(350, function () {}); 5177 } else { 5178 $(previewPar).animate( 5179 { 5180 height: previewParClosedHeight, 5181 }, 5182 350, 5183 function () { 5184 $(this).removeClass("preview-active"); 5185 } 5186 ); 5187 toggleContent.slideUp(350, function () {}); 5188 } 5189 }); 5190 5191 if (typeof $.fn.footable == "function") { 5192 $(".tables-responsive .responsive").footable(); //responsive table 5193 } 5194 5195 $("a[rel=tooltip]").tooltip(); 5196 $("span[data-toggle=tooltip]").tooltip(); 5197 5198 $(".toggle .more_items").on("click", function () { 5199 $(this).closest(".toggle").find(".collapsed").css("display", "inline-block").removeClass("collapsed"); 5200 $(this).remove(); 5201 if (typeof $(this).data("resize") !== "undefined" && $(this).data("resize")) $(window).resize(); 5202 }); 5203 $(".toggle_menu .more_items").on("click", function () { 5204 $(this).closest(".toggle_menu").find(".collapsed").addClass("clicked_exp"); 5205 $(this).remove(); 5206 }); 5207 5208 /* search sync */ 5209 $(document).on("keyup", ".search-input-div input", function (e) { 5210 var inputValue = $(this).val(); 5211 $(".search-input-div input:not(:focus").val(inputValue); 5212 5213 if ($(this).closest("#headerfixed").length) { 5214 if (e.keyCode == 13) $(".search form").submit(); 5215 } 5216 }); 5217 $(document).on("click", ".search-button-div button", function (e) { 5218 if ($(this).closest("#headerfixed").length) $(".search form").submit(); 5219 }); 5220 5221 $(".inline-search-show, .inline-search-hide").on("click", function (e) { 5222 CloseMobilePhone(); 5223 // if(window.matchMedia('(min-width: 600px)').matches) 5224 // { 5225 if (typeof $(this).data("type_search") != "undefined" && $(this).data("type_search") == "fixed") 5226 $(".inline-search-block").addClass("fixed"); 5227 5228 if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") { 5229 /*setTimeout(function(){ 5230 $('.inline-search-block.fixed.big .search-input').focus(); 5231 }, 200);*/ 5232 $(".inline-search-block.fixed.big .search-input").focus(); 5233 } 5234 if (arAsproOptions["THEME"]["TYPE_SEARCH"] != "fixed") { 5235 $("#title-search-input").focus(); 5236 } 5237 5238 $(".inline-search-block").toggleClass("show"); 5239 if ($(".top-block").length) { 5240 if ($(".inline-search-block").hasClass("show")) 5241 $(".inline-search-block").css("background", $(".top-block").css("background-color")); 5242 else $(".inline-search-block").css("background", "#fff"); 5243 } 5244 if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") {
5245 if ($(".inline-search-block").hasClass("show")) $('<div class="jqmOverlay search"></div>').appendTo("body"); 5246 else { 5247 $("#title-search-input").blur(); 5248 $(".jqmOverlay").detach(); 5249 } 5250 } 5251 // } 5252 // else 5253 // location.href = arAsproOptions['PAGES']['CATALOG_PAGE_URL']+'?q'; 5254 }); 5255 5256 /* close search block */ 5257 $("html, body").on("mousedown", function (e) { 5258 if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) { 5259 e.stopPropagation(); 5260 var search_target = $(e.target).closest(".title-search-result"); 5261 if (!$(e.target).hasClass("inline-search-block") && !$(e.target).hasClass("svg") && !search_target.length) { 5262 $(".inline-search-block").removeClass("show"); 5263 $(".title-search-result").hide(); 5264 if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") $(".jqmOverlay.search").detach(); 5265 } 5266 5267 if ($("#mobilePhone").length) { 5268 CloseMobilePhone(); 5269 } 5270 5271 if ($("#basket_line .basket_fly").length && parseInt($("#basket_line .basket_fly").css("right")) >= 0) { 5272 if (!$(e.target).closest(".basket_wrapp").length) { 5273 $("#basket_line .basket_fly") 5274 .stop() 5275 .animate({ right: -$("#basket_line .basket_fly").outerWidth() }, 150); 5276 $("#basket_line .basket_fly .opener > div").removeClass("cur"); 5277 $("#basket_line .basket_fly").removeClass("swiped"); 5278 } 5279 } 5280 5281 if (isMobile) { 5282 if (search_target.length) location.href = search_target.attr("href"); 5283 } 5284 5285 if (!$(e.target).closest(".js-info-block").length && !$(e.target).closest(".js-show-info-block").length) { 5286 $(".js-show-info-block").removeClass("opened"); 5287 $(".js-info-block").fadeOut(); 5288 } 5289 5290 if (!$(e.target).closest(".hint.active").length) { 5291 $(".hint.active .icon").trigger("click"); 5292 } 5293 5294 var class_name = $(e.target).attr("class"); 5295 if (typeof class_name == "undefined" || class_name.indexOf("tooltip") < 0) 5296 //tooltip link 5297 $(".tooltip-link").tooltip("hide"); 5298 } 5299 }); 5300 $(".inline-search-block") 5301 .find("*") 5302 .on("mousedown", function (e) { 5303 e.stopPropagation(); 5304 }); 5305 5306 initAnimateLoad(); 5307 5308 /*check all opt table items*/ 5309 $(document).on("change", "input#select_all_items", function () { 5310 var _this = $(this); 5311 var notOfferCount = 0; 5312 var bComplect = _this.closest(".complect_main_wrap").length; 5313 if (bComplect) { 5314 notOfferCount = _this 5315 .closest(".complect_main_wrap") 5316 .find(".catalog-block-view__item .counter_wrapp:not(.ce_cmp_visible) .button_block .to-cart").length; 5317 } else { 5318 notOfferCount = $(".table-view__item:not([data-product_type=3])").find(".button_block .to-cart").length; 5319 } 5320 var wishCount = $(".table-view__item:not([data-product_type=3])").find( 5321 ".item-icons .wish_item_button .wish_item.to" 5322 ).length; 5323 var allGoodsCount = $(".table-view__item").length; 5324 5325 if (_this.is(":checked")) { 5326 //buy && wish 5327 if (notOfferCount != 0) { 5328 $(".opt_action:not([data-action=compare])").removeClass("no-action"); 5329 } 5330 5331 //compare 5332 $(".opt_action[data-action=compare]").removeClass("no-action"); 5333 5334 $(".opt_action").addClass("animate-load"); 5335 $(".opt_action .text").remove(); 5336 5337 //buy 5338 $('<div class="text">(<span>' + notOfferCount + "</span>)</div>").appendTo($(".opt_action[data-action=buy]")); 5339 5340 //wish 5341 $('<div class="text muted">(<span>' + wishCount + "</span>)</div>").appendTo($(".opt_action[data-action=wish]")); 5342 5343 //compare 5344 $('<div class="text muted">(<span>' + allGoodsCount + "</span>)</div>").appendTo( 5345 $(".opt_action[data-action=compare]") 5346 ); 5347 5348 $('input[name="chec_item"]').prop("checked", "checked"); 5349 } else { 5350 $(".opt_action").addClass("no-action"); 5351 $(".opt_action").removeClass("animate-load"); 5352 $(".opt_action .text").remove(); 5353 5354 $('input[name="chec_item"]').removeAttr("checked"); 5355 } 5356 5357 if (_this.closest(".complect_header_block").length && typeof setNewPriceComplect === "function") { 5358 setNewPriceComplect(); 5359 } 5360 }); 5361 5362 /*check opt table item*/ 5363 $(document).on("change", "input[name='chec_item']", function () { 5364 var _this = $(this); 5365 5366 var canBuy = 5367 _this.closest(".table-view__item").find(".button_block .to-cart").length || 5368 _this.closest(".catalog-block-view__item").find(".button_block .to-cart").length; 5369 var isOffer = _this.closest(".main_item_wrapper").attr("data-product_type") == "3"; 5370 5371 if (_this.is(":checked")) { 5372 $(".opt_action").each(function () { 5373 var _this = $(this); 5374 5375 var isBuyAction = _this.attr("data-action") == "buy"; 5376 var isWishAction = _this.attr("data-action") == "wish"; 5377 5378 if (isOffer && (isBuyAction || isWishAction)) { 5379 return true; 5380 } 5381 5382 if (isBuyAction && !canBuy) { 5383 return true; 5384 } 5385 5386 if (_this.find(".text").length) { 5387 var count = parseInt(_this.find(".text span").text()); 5388 _this.find(".text span").text(++count); 5389 } else { 5390 _this.removeClass("no-action"); 5391 _this.addClass("animate-load"); 5392 $('<div class="text muted">(<span>1</span>)</div>').appendTo(_this); 5393 } 5394 }); 5395 } else { 5396 $(".opt_action").each(function () { 5397 var _this = $(this); 5398 5399 var isBuyAction = _this.attr("data-action") == "buy"; 5400 var isWishAction = _this.attr("data-action") == "wish"; 5401 5402 if (isOffer && (isBuyAction || isWishAction)) { 5403 return true; 5404 } 5405 5406 if (isBuyAction && !canBuy) { 5407 return true; 5408 } 5409 5410 if (_this.find(".text").length) { 5411 var count = parseInt(_this.find(".text span").text()); 5412 --count; 5413 _this.find(".text span").text(count); 5414 5415 if (!count) { 5416 _this.addClass("no-action"); 5417 _this.removeClass("animate-load"); 5418 _this.find(".text").remove(); 5419 } 5420 } 5421 }); 5422 } 5423 }); 5424 5425 /*buy|wish|compare opt table items*/ 5426 $(document).on("click", ".opt_action", function () { 5427 var _this = $(this), 5428 action = _this.data("action"), 5429 basketParams = { 5430 type: "multiple", 5431 iblock_id: _this.data("iblock_id"), 5432 action: action, 5433 items: {}, 5434 }; 5435 5436 if (!_this.hasClass("no-action")) { 5437 $(".opt_action").addClass("no-action"); 5438 _this.removeClass("no-action"); 5439 5440 $(".table-view__item, .catalog-block-view__item").each(function () { 5441 var _this = $(this); 5442 var canBuy = _this.find(".button_block .to-cart").length; 5443 var add = _this.find('input[name="chec_item"]').is(":checked") && (canBuy || action != "buy"); 5444 var addOffer = _this.data("product_type") == "3" && _this.find(".button_block .to-cart").length; 5445 if (add) { 5446 var itemId = addOffer ? _this.find(".button_block .to-cart").data("item") : _this.data("id"); 5447 basketParams["items"][itemId] = {}; 5448 basketParams["items"][itemId]["id"] = itemId; 5449 basketParams["items"][itemId]["product_type"] = _this.data("product_type"); 5450 basketParams["items"][itemId]["quantity"] = _this.find('input[name="quantity"]').val(); 5451 if (addOffer) { 5452 basketParams["items"][itemId]["add_offer"] = "Y"; 5453 } 5454 } 5455 }); 5456 $.ajax({ 5457 type: "POST", 5458 url: arAsproOptions["SITE_DIR"] + "ajax/item.php", 5459 data: basketParams, 5460 dataType: "json", 5461 success: function (data) { 5462 if ("STATUS" in data) { 5463 if (data.STATUS !== "OK") { 5464 showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT); 5465 } 5466 if ($(".header-cart.fly").length) { 5467 arBasketAsproCounters.DEFAULT = true; 5468 SetActualBasketFlyCounters(true); 5469 } else { 5470 if ($("#ajax_basket").length) { 5471 reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "N", "", true); 5472 } else { 5473 reloadBasketCounters("", true); 5474 } 5475 } 5476 } 5477 _this.parent().removeClass("loadings"); 5478 $(".opt_action").removeClass("no-action"); 5479 }, 5480 }); 5481 } 5482 }); 5483 5484 //fix opt checked for back in browser 5485 setTimeout(function () { 5486 if ($('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').length) { 5487 $('.with-opt-buy input[name="chec_item"], .with-opt-buy input[name="select_all_items"]').prop("checked", false); 5488 } 5489 }, 1); 5490 5491 /*check mobile device*/ 5492 if (isMobile) { 5493 $(document).on("click", '*[data-event="jqm"]', function (e) { 5494 e.preventDefault(); 5495 e.stopPropagation(); 5496 var _this = $(this); 5497 var name = _this.data("name"); 5498 5499 if ( 5500 window.matchMedia("(min-width:768px)").matches || 5501 (typeof _this.data("no-mobile") !== "undefinde" && _this.data("no-mobile") == "Y") 5502 ) { 5503 if (!$(this).hasClass("clicked")) { 5504 $(this).addClass("clicked"); 5505 $(this).jqmEx(); 5506 $(this).trigger("click"); 5507 } 5508 return false;
5509 } else if (name.length) { 5510 var script = arAsproOptions["SITE_DIR"] + "form/"; 5511 var paramsStr = ""; 5512 var arTriggerAttrs = {}; 5513 $.each(_this.get(0).attributes, function (index, attr) { 5514 var attrName = attr.nodeName; 5515 var attrValue = _this.attr(attrName); 5516 arTriggerAttrs[attrName] = attrValue; 5517 if (/^data\-param\-(.+)$/.test(attrName)) { 5518 var key = attrName.match(/^data\-param\-(.+)$/)[1]; 5519 paramsStr += key + "=" + attrValue + "&"; 5520 } 5521 }); 5522 5523 var triggerAttrs = JSON.stringify(arTriggerAttrs); 5524 var encTriggerAttrs = encodeURIComponent(triggerAttrs); 5525 script += "?name=" + name + "&" + paramsStr + "data-trigger=" + encTriggerAttrs; 5526 5527 if (previewMode && _this.attr("href") !== undefined) { 5528 script = _this.attr("href"); 5529 } 5530 5531 location.href = script; 5532 } 5533 }); 5534 5535 $(".fancybox").removeClass("fancybox"); 5536 } else { 5537 $(document).on("click", '*[data-event="jqm"]', function (e) { 5538 e.preventDefault(); 5539 e.stopPropagation(); 5540 5541 var _this = $(this); 5542 var name = _this.data("name"); 5543 if (previewMode && ((name.length && name == "auth") || window.matchMedia("(max-width:400px)").matches)) { 5544 var script = arAsproOptions["SITE_DIR"] + "form/"; 5545 var paramsStr = ""; 5546 var arTriggerAttrs = {}; 5547 $.each(_this.get(0).attributes, function (index, attr) { 5548 var attrName = attr.nodeName; 5549 var attrValue = _this.attr(attrName); 5550 arTriggerAttrs[attrName] = attrValue;
5551 if (/^data\-param\-(.+)$/.test(attrName)) { 5552 var key = attrName.match(/^data\-param\-(.+)$/)[1]; 5553 paramsStr += key + "=" + attrValue + "&"; 5554 } 5555 }); 5556 5557 var triggerAttrs = JSON.stringify(arTriggerAttrs); 5558 var encTriggerAttrs = encodeURIComponent(triggerAttrs); 5559 script += "?name=" + name + "&" + paramsStr + "data-trigger=" + encTriggerAttrs; 5560 5561 if (_this.attr("href") !== undefined) { 5562 script = _this.attr("href"); 5563 } 5564 5565 location.href = script; 5566 } else { 5567 if (!$(this).hasClass("clicked")) { 5568 $(this).addClass("clicked"); 5569 $(this).jqmEx(); 5570 $(this).trigger("click"); 5571 } 5572 } 5573 5574 return false; 5575 }); 5576 } 5577 5578 BX.addCustomEvent("onCompleteAction", function (eventdata, _this) { 5579 try { 5580 if (eventdata.action === "loadForm") { 5581 $(_this).parent().removeClass("loadings"); 5582 $(_this).removeClass("clicked"); 5583 5584 if ($(_this).hasClass("one_click_buy_trigger")) { 5585 $(".wrapp_one_click > span").removeClass("clicked"); 5586 $(".one_click").removeClass("clicked"); 5587 } else if ($(_this).hasClass("one_click_buy_basket_trigger")) { 5588 $(".fast_order").removeClass("clicked"); 5589 } 5590 } else if (eventdata.action === "loadBasket") { 5591 $(".basket-link.basket").attr("title", $("<div/>").html(arBasketPrices.BASKET_SUMM_TITLE).text()); 5592 $(".basket-link.delay").attr("title", $("<div/>").html(arBasketPrices.DELAY_SUMM_TITLE).text()); 5593 5594 if (arBasketPrices.BASKET_COUNT > 0) { 5595 $(".basket-link.basket").addClass("basket-count"); 5596 $(".basket-link.basket .count").removeClass("empted"); 5597 if ($(".basket-link.basket .prices").length) 5598 $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM); 5599 } else { 5600 $(".basket-link.basket").removeClass("basket-count"); 5601 $(".basket-link.basket .count").addClass("empted"); 5602 if ($(".basket-link.basket .prices").length) 5603 $(".basket-link.basket .prices").html(arBasketPrices.BASKET_SUMM_TITLE_SMALL); 5604 } 5605 $(".basket-link.basket .count").text(arBasketPrices.BASKET_COUNT); 5606 if (arBasketPrices.DELAY_COUNT > 0) { 5607 $(".basket-link.delay").addClass("basket-count"); 5608 $(".basket-link.delay .count").removeClass("empted"); 5609 } else { 5610 $(".basket-link.delay").removeClass("basket-count"); 5611 $(".basket-link.delay .count").addClass("empted"); 5612 } 5613 $(".basket-link.delay .count").text(arBasketPrices.DELAY_COUNT); 5614 5615 updateBottomIconsPanel(arBasketPrices); 5616 } else if (eventdata.action === "loadActualBasketCompare") { 5617 var compare_count = Object.keys(arBasketAspro.COMPARE).length; 5618 if (compare_count > 0) { 5619 $(".basket-link.compare").addClass("basket-count"); 5620 $(".basket-link.compare .count").removeClass("empted"); 5621 if ($("#compare_fly").length) $("#compare_fly").removeClass("empty_block"); 5622 } else { 5623 $(".basket-link.compare").removeClass("basket-count"); 5624 $(".basket-link.compare .count").addClass("empted"); 5625 if ($("#compare_fly").length) $("#compare_fly").addClass("empty_block"); 5626 } 5627 $(".basket-link.compare .count").text(compare_count); 5628 5629 updateBottomIconsPanel(arBasketAspro); 5630 } else if (eventdata.action === "loadRSS") { 5631 } else if (eventdata.action === "ajaxContentLoaded") { 5632 } else if (eventdata.action === "jsLoadBlock") { 5633 initCountdown(); 5634 setStatusButton(); 5635 InitFlexSlider(); 5636 setTimeout(function () { 5637 InitOwlSlider(); 5638 }, 200); 5639 InitFancyBox(); 5640 5641 checkLinkedArticles(); 5642 checkLinkedBlocks(".linked-banners-list"); 5643 lazyLoadPagenBlock(); 5644 5645 if (typeof window["stickySidebar"] !== "undefined") { 5646 window["stickySidebar"].updateSticky(); 5647 } 5648 } 5649 } catch (e) { 5650 console.error(e); 5651 } 5652 }); 5653 5654 /*slices*/ 5655 if ($(".banners-small .item.normal-block").length) $(".banners-small .item.normal-block").sliceHeight(); 5656 if ($(".teasers .item").length) $(".teasers .item").sliceHeight(); 5657 if ($(".wrap-portfolio-front .row.items > div").length) 5658 $(".wrap-portfolio-front .row.items > div").sliceHeight({ row: ".row.items", item: ".item1" }); 5659 5660 /* bug fix in ff*/ 5661 $("img").removeAttr("draggable"); 5662 5663 $(".title-tab-heading").on("click", function () { 5664 var container = $(this).parent(), 5665 slide_block = $(this).next(), 5666 bReviewTab = container.hasClass("media_review"); 5667 5668 clicked_tab = container.index() + 1; 5669 5670 container.siblings().removeClass("active"); 5671 5672 $(".nav.nav-tabs li").removeClass("active"); 5673 5674 if (container.hasClass("active")) { 5675 if (bReviewTab) { 5676 $("#reviews_content").slideUp(200, function () { 5677 container.removeClass("active"); 5678 }); 5679 } else {
5680 slide_block.slideUp(200, function () { 5681 container.removeClass("active"); 5682 }); 5683 } 5684 } else { 5685 container.addClass("active"); 5686 if (bReviewTab) { 5687 $("#reviews_content").slideDown(); 5688 } else { 5689 if ($(".tabs_section + #reviews_content").length) $(".tabs_section + #reviews_content").slideUp(); 5690 slide_block.slideDown(); 5691 if (typeof container.attr("id") !== "undefined" && container.attr("id") == "descr") { 5692 var $gallery = $(".galerys-block"); 5693 if ($gallery.length) { 5694 var bTypeBig = $gallery.find(".big_slider").length; 5695 var $slider = bTypeBig ? $gallery.find(".big_slider") : $gallery.find(".small_slider"); 5696 InitFlexSlider(); 5697 var interval = setInterval(function () { 5698 if ($slider.find(".slides .item").attr("style").indexOf("height") === -1) { 5699 $(window).resize(); 5700 } else { 5701 clearInterval(interval); 5702 } 5703 }, 100); 5704 } 5705 } 5706 } 5707 } 5708 }); 5709 5710 InitFlexSlider(); 5711 InitOwlSlider(); 5712 InitStickySideBar(); 5713 InitFancyBox(); 5714 InitFancyBoxVideo(); 5715 5716 setTimeout(function () { 5717 InitTopestMenuGummi(); 5718 isOnceInited = true; 5719 }, 50); 5720 5721 InitZoomPict(); 5722 5723 $(document).on("click", ".captcha_reload", function (e) { 5724 var captcha = $(this).parents(".captcha-row"); 5725 e.preventDefault(); 5726 $.ajax({ 5727 url: arAsproOptions["SITE_DIR"] + "ajax/captcha.php", 5728 }).done(function (text) { 5729 captcha.find("input[name=captcha_sid],input[name=captcha_code]").val(text); 5730 captcha.find("img").attr("src", "/bitrix/tools/captcha.php?captcha_sid=" + text); 5731 captcha.find("input[name=captcha_word]").val("").removeClass("error"); 5732 captcha.find(".captcha_input").removeClass("error").find(".error").remove(); 5733 }); 5734 }); 5735 5736 /* show print */ 5737 if (arAsproOptions["PAGES"]["BASKET_PAGE"]) { 5738 showBasketHeadingBtn(); 5739 } else { 5740 if (arAsproOptions["THEME"]["PRINT_BUTTON"] === "Y") { 5741 setTimeout(function () { 5742 var topicHeading = document.querySelector(".period_wrapper.in-detail-news1 .period_wrapper_inner") 5743 ? document.querySelector(".detail-news1 .period_wrapper .period_wrapper_inner") 5744 : document.querySelector(".page-top .topic .topic__heading") 5745 ? document.querySelector(".page-top .topic .topic__heading") 5746 : null; 5747 if (topicHeading) { 5748 var btnPrint = BX.create({ 5749 tag: "div", 5750 attrs: { 5751 class: "print-link colored_theme_hover_bg-block", 5752 title: arAsproOptions["THEME"]["EXPRESSION_FOR_PRINT_PAGE"], 5753 }, 5754 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>', 5755 }); 5756 BX.insertBefore(btnPrint, topicHeading); 5757 } 5758 }, 150); 5759 } 5760 } 5761 5762 $(document).on("click", ".print-link", function () { 5763 window.print(); 5764 }); 5765 5766 $(".head-block .item-link").on("click", function () { 5767 var _this = $(this); 5768 _this.siblings().removeClass("active"); 5769 _this.addClass("active"); 5770 }); 5771 5772 $("table.table").each(function () { 5773 var _this = $(this), 5774 first_td = _this.find("thead tr th"); 5775 if (!first_td.length) first_td = _this.find("thead tr td"); 5776 if (first_td.length) { 5777 var j = 0; 5778 _this.find("tbody tr td").each(function (i) { 5779 if (j > first_td.length - 1) j = 0; 5780 $('<div class="th-mobile">' + first_td[j].textContent + "</div>").appendTo($(this)); 5781 j++; 5782 }); 5783 } 5784 }); 5785 5786 if (window.matchMedia("(min-width: 768px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile"); 5787 5788 if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile"); 5789 5790 $(".menu_top_block .v_bottom a").on("click", function (e) { 5791 if ($(e.target).hasClass("toggle_block")) e.preventDefault(); 5792 }); 5793 $(".menu_top_block .v_bottom a .toggle_block").click(function (e) { 5794 var _this = $(this), 5795 menu = _this.closest(".has-child").find("> .dropdown"), 5796 bVisibleMeu = menu.is(":visible"), 5797 animate = bVisibleMeu ? "slideUp" : "slideDown"; 5798 5799 if (!_this.hasClass("clicked")) { 5800 _this.addClass("clicked"); 5801 5802 menu.velocity("stop").velocity(animate, { 5803 duration: 150, 5804 // delay: 250, 5805 begin: function () { 5806 _this.toggleClass("closed"); 5807 }, 5808 complete: function () { 5809 _this.removeClass("clicked"); 5810 5811 if (typeof window["stickySidebar"] !== "undefined") window["stickySidebar"].updateSticky(); 5812 }, 5813 }); 5814 } 5815 5816 $(this).closest(".has-child").toggleClass("opened"); 5817 }); 5818 5819 $(document).on("click", ".show_props", function () { 5820 $(this).prev().stop().slideToggle(333); 5821 $(this).find(".char_title").toggleClass("opened"); 5822 }); 5823 5824 $(".see_more").on("click", function (e) { 5825 e.preventDefault(); 5826 var see_more = $(this).is(".see_more") ? $(this) : $(this).parents(".see_more").first(); 5827 var see_moreText = see_more.find("> a").length ? see_more.find("> a") : see_more; 5828 var see_moreHiden = see_more.parent().find("> .d"); 5829 if (see_more.hasClass("open")) { 5830 see_moreText.text(BX.message("CATALOG_VIEW_MORE")); 5831 see_more.removeClass("open"); 5832 see_moreHiden.hide(); 5833 } else { 5834 see_moreText.text(BX.message("CATALOG_VIEW_LESS")); 5835 see_more.addClass("open"); 5836 see_moreHiden.show(); 5837 } 5838 return false;
5839 }); 5840 5841 $(".button.faq_button").click(function (e) { 5842 e.preventDefault(); 5843 $(this).toggleClass("opened"); 5844 $(".faq_ask .form").slideToggle(); 5845 }); 5846 5847 $(".staff.list .staff_section .staff_section_title a").click(function (e) { 5848 e.preventDefault(); 5849 $(this).parents(".staff_section").toggleClass("opened"); 5850 $(this).parents(".staff_section").find(".staff_section_items").stop().slideToggle(600); 5851 $(this).parents(".staff_section_title").find(".opener_icon").toggleClass("opened"); 5852 }); 5853 5854 $(".jobs_wrapp .item .name").click(function (e) { 5855 $(this).closest(".item").toggleClass("opened"); 5856 $(this).closest(".item").find(".description_wrapp").stop().slideToggle(600); 5857 $(this).closest(".item").find(".opener_icon").toggleClass("opened"); 5858 }); 5859 5860 $(".faq.list .item .q a").on("click", function (e) { 5861 e.preventDefault(); 5862 $(this).parents(".item").toggleClass("opened"); 5863 $(this).parents(".item").find(".a").stop().slideToggle(); 5864 $(this).parents(".item").find(".q .opener_icon").toggleClass("opened"); 5865 }); 5866 5867 $(".opener_icon").click(function (e) { 5868 e.preventDefault(); 5869 $(this).parent().find("a").trigger("click"); 5870 }); 5871 5872 $(".dotdot").dotdotdot(); 5873 5874 $(".more_block span").on("click", function () { 5875 var content_offset = $(".catalog_detail .tabs_section").offset(); 5876 $("html, body").animate({ scrollTop: content_offset.top - 43 }, 400); 5877 }); 5878 5879 $(document).on("click", ".counter_block:not(.basket) .plus", function () { 5880 if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) { 5881 if ($(this).parent().data("offers") != "Y") { 5882 var isDetailSKU2 = $(this).parents(".counter_block_wr").length; 5883 input = $(this).parents(".counter_block").find("input[type=text]"); 5884 (tmp_ratio = !isDetailSKU2 5885 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 5886 : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")), 5887 (isDblQuantity = !isDetailSKU2 5888 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 5889 : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")), 5890 (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)), 5891 (max_value = ""); 5892 currentValue = input.val(); 5893 5894 if (isDblQuantity) 5895 ratio = 5896 Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 5897 arAsproOptions.JS_ITEM_CLICK.precisionFactor; 5898 5899 curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10); 5900 5901 curValue += ratio; 5902 if (isDblQuantity) { 5903 curValue = 5904 Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 5905 arAsproOptions.JS_ITEM_CLICK.precisionFactor; 5906 } 5907 5908 if (parseFloat($(this).data("max")) > 0) { 5909 if (input.val() < $(this).data("max")) { 5910 if (curValue <= $(this).data("max")) input.val(curValue); 5911 5912 input.change(); 5913 } 5914 } else { 5915 input.val(curValue); 5916 input.change(); 5917 } 5918 } 5919 } 5920 }); 5921 $(document).on("click", ".counter_block:not(.basket) .minus", function () { 5922 if (!$(this).parents(".basket_wrapp").length || $(this).parents(".services_in_basket").length) { 5923 if ($(this).parent().data("offers") != "Y") { 5924 var isDetailSKU2 = $(this).parents(".counter_block_wr").length; 5925 input = $(this).parents(".counter_block").find("input[type=text]"); 5926 (tmp_ratio = !isDetailSKU2 5927 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 5928 : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio")), 5929 (isDblQuantity = !isDetailSKU2 5930 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 5931 : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio")), 5932 (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)), 5933 (max_value = ""); 5934 currentValue = input.val(); 5935 5936 if (isDblQuantity) 5937 ratio = 5938 Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 5939 arAsproOptions.JS_ITEM_CLICK.precisionFactor; 5940 5941 curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10); 5942 5943 curValue -= ratio; 5944 if (isDblQuantity) { 5945 curValue = 5946 Math.round(curValue * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 5947 arAsproOptions.JS_ITEM_CLICK.precisionFactor; 5948 } 5949 const minValue = parseFloat($(this).parents(".counter_block").find(".minus").data("min")); 5950 if (minValue) { 5951 ratio = minValue; 5952 } 5953 5954 if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) { 5955 if (currentValue > ratio) { 5956 if (curValue < ratio) { 5957 input.val(ratio); 5958 } else { 5959 input.val(curValue); 5960 } 5961 input.change(); 5962 } 5963 } else { 5964 if (curValue > ratio) { 5965 input.val(curValue); 5966 } else { 5967 if (ratio) { 5968 input.val(ratio); 5969 } else if (currentValue > 1) { 5970 input.val(curValue); 5971 } 5972 } 5973 input.change(); 5974 } 5975 } 5976 } 5977 }); 5978 5979 $(".counter_block input[type=text]").numeric({ allow: "." }); 5980 5981 $(document).on("focus", ".counter_block input[type=text]", function (e) { 5982 $(this).addClass("focus"); 5983 }); 5984 5985 $(document).on("blur", ".counter_block input[type=text]", function (e) { 5986 $(this).removeClass("focus"); 5987 }); 5988 5989 var timerInitCalculateDelivery = false;
5990 $(document).on("change", ".counter_block input[type=text]", function (e) { 5991 if (!$(this).parents(".basket_wrapp").length) { 5992 var val = $(this).val(), 5993 tmp_ratio = $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 5994 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 5995 : $(this).parents("tr").first().find("td.buy .to-cart").data("ratio"), 5996 isDblQuantity = $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 5997 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 5998 : $(this).parents("tr").first().find("td.buy .to-cart").data("float_ratio"), 5999 ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10), 6000 diff = val % ratio; 6001 6002 if (isDblQuantity) { 6003 ratio = 6004 Math.round(ratio * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 6005 arAsproOptions.JS_ITEM_CLICK.precisionFactor; 6006 if ( 6007 Math.round(diff * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / 6008 arAsproOptions.JS_ITEM_CLICK.precisionFactor == 6009 ratio 6010 ) 6011 diff = 0; 6012 } 6013 6014 if ($(this).hasClass("focus")) { 6015 intCount = 6016 Math.round( 6017 Math.round((val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / ratio) / 6018 arAsproOptions.JS_ITEM_CLICK.precisionFactor 6019 ) || 1; 6020 val = intCount <= 1 ? ratio : intCount * ratio; 6021 // val -= diff; 6022 val = 6023 Math.round(val * arAsproOptions.JS_ITEM_CLICK.precisionFactor) / arAsproOptions.JS_ITEM_CLICK.precisionFactor; 6024 } 6025 6026 if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) { 6027 if (val > parseFloat($(this).parents(".counter_block").find(".plus").data("max"))) { 6028 val = parseFloat($(this).parents(".counter_block").find(".plus").data("max")); 6029 // val -= (val % ratio); 6030 } 6031 } 6032 if (parseFloat($(this).parents(".counter_block").find(".minus").data("min")) > 0) { 6033 if (val < parseFloat($(this).parents(".counter_block").find(".minus").data("min"))) { 6034 val = parseFloat($(this).parents(".counter_block").find(".minus").data("min")); 6035 // val -= (val % ratio); 6036 } 6037 } 6038 if (val < ratio) { 6039 val = ratio; 6040 } else if (!parseFloat(val)) { 6041 val = 1; 6042 } 6043 6044 $(this).parents(".counter_block").parent().parent().find(".to-cart").attr("data-quantity", val); 6045 $(this).parents(".counter_block").parent().parent().parent().find(".one_click").attr("data-quantity", val); 6046 $(this) 6047 .parents(".counter_block") 6048 .parent() 6049 .parent() 6050 .parent() 6051 .parent() 6052 .find(".one_click") 6053 .attr("data-quantity", val); //for offers in list 6054 $(this).parents(".catalog_item_wrapp").find(".inner_wrap.TYPE_1 .one_click").attr("data-quantity", val); //for first type buttons in catalog_block 6055 6056 $(this).val(val); 6057 6058 var $calculate = $(this).closest(".item").length 6059 ? $(this).closest(".item").find(".calculate-delivery") 6060 : $(this).closest(".catalog_detail").find(".calculate-delivery"); 6061 if ($calculate.length) { 6062 $calculate.each(function () { 6063 var $calculateSpan = $(this).find("span[data-event=jqm]").first(); 6064 6065 if ($calculateSpan.length) { 6066 var $clone = $calculateSpan.clone(); 6067 $clone.attr("data-param-quantity", val).removeClass("clicked"); 6068 $clone.insertAfter($calculateSpan).on("click", function () { 6069 if (!jQuery.browser.mobile) { 6070 $(this).parent().addClass("loadings"); 6071 } 6072 }); 6073 $calculateSpan.remove(); 6074 } 6075 6076 if ($(this).hasClass("with_preview")) { 6077 $(this).removeClass("inited"); 6078 6079 if (timerInitCalculateDelivery) { 6080 clearTimeout(timerInitCalculateDelivery); 6081 } 6082 6083 timerInitCalculateDelivery = setTimeout(function () { 6084 initCalculatePreview(); 6085 timerInitCalculateDelivery = false;
6086 }, 1000); 6087 } 6088 }); 6089 } 6090 6091 var eventdata = { type: "change", params: { id: $(this), value: val } }; 6092 BX.onCustomEvent("onCounterProductAction", [eventdata]); 6093 6094 if ($(this).closest(".complect-block").length && typeof setNewPriceComplect === "function") { 6095 setNewPriceComplect(); 6096 } 6097 } 6098 }); 6099 6100 BX.addCustomEvent("onCounterProductAction", function (eventdata) { 6101 if (typeof eventdata != "object") { 6102 eventdata = { type: "undefined" }; 6103 } 6104 try { 6105 if (typeof eventdata.type != "undefined") { 6106 if (!eventdata.params.id.closest(".gifts").length) { 6107 // no gift 6108 var obProduct = eventdata.params.id.data("product"); 6109 if (eventdata.params.id.closest(".has_offer_prop").length) { 6110 // type1 for offers in element list 6111 if (typeof window["obSkuQuantys"] === "undefined") window["obSkuQuantys"] = {}; 6112 6113 // if(typeof window['obOffers'] === 'undefined') 6114 window["obSkuQuantys"][eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item")] = 6115 eventdata.params.value; 6116 } 6117 if (typeof window[obProduct] == "object") { 6118 if (obProduct == "obOffers") setPriceAction("", "", "Y"); 6119 else window[obProduct].setPriceAction("Y"); 6120 if ($(".detail_page").length) { 6121 setNewHeader(); 6122 } 6123 } else if (eventdata.params.id.length) { 6124 if ( 6125 eventdata.params.id.closest(".main_item_wrapper").length && 6126 arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y" 6127 ) { 6128 setPriceItem(eventdata.params.id.closest(".main_item_wrapper"), eventdata.params.value); 6129 } 6130 } 6131 BX.onCustomEvent("onCounterProductActionResize"); 6132 } 6133 } 6134 } catch (e) { 6135 console.error(e); 6136 } 6137 }); 6138 6139 /*show basket on hover */ 6140 $(document).on("mouseenter", ".wrap_icon.top_basket, #headerfixed .basket-link.basket", function () { 6141 var _this = $(this); 6142 var parent = _this.closest("header, #headerfixed"); 6143 var hover_block = parent.find(".basket_hover_block"); 6144 6145 if (!hover_block.hasClass("loaded")) { 6146 basketTop("", hover_block); 6147 } 6148 }); 6149 6150 /*show basket on click mobile */ 6151 $(document).on("click", ".wrap_icon.wrap_basket.top_basket, #headerfixed .basket-link.basket", function (e) { 6152 var _this = $(this); 6153 if (isMobile) { 6154 if (!_this.hasClass("clicked")) { 6155 e.preventDefault(); 6156 _this.addClass("clicked"); 6157 setTimeout(function () { 6158 _this.removeClass("clicked"); 6159 }, 3000); 6160 } 6161 } 6162 }); 6163 6164 /*slide cart*/ 6165 $(document).on("mouseenter", "#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ", function () { 6166 $(this).closest(".basket_normal").find(".popup").addClass("block"); 6167 $(this).closest(".basket_normal").find(".basket_popup_wrapp").stop(true, true).slideDown(150); 6168 }); 6169 $(document).on("mouseleave", "#basket_line .basket_normal .basket_block ", function () { 6170 var th = $(this); 6171 $(this) 6172 .closest(".basket_normal") 6173 .find(".basket_popup_wrapp") 6174 .stop(true, true) 6175 .slideUp(150, function () { 6176 th.closest(".basket_normal").find(".popup").removeClass("block"); 6177 }); 6178 }); 6179 6180 $(document).on("click", ".popup_button_basket", function () { 6181 var th = $(".to-cart[data-item=" + $(this).data("item") + "]"); 6182 6183 var val = th.attr("data-quantity"); 6184 6185 if (!val) $val = 1; 6186 6187 var tmp_props = th.data("props"), 6188 props = "", 6189 part_props = "", 6190 add_props = "N", 6191 fill_prop = {}, 6192 iblockid = th.data("iblockid"), 6193 offer = th.data("offers"), 6194 rid = "", 6195 basket_props = "", 6196 item = th.attr("data-item"); 6197 6198 if (offer != "Y") { 6199 offer = "N"; 6200 } else { 6201 basket_props = th.closest(".prices_tab").find(".bx_sku_props input").val(); 6202 } 6203 if (tmp_props) { 6204 props = tmp_props.split(";"); 6205 } 6206 if (th.data("part_props")) { 6207 part_props = th.data("part_props"); 6208 } 6209 if (th.data("add_props")) { 6210 add_props = th.data("add_props"); 6211 } 6212 if ($(".rid_item").length) { 6213 rid = $(".rid_item").data("rid"); 6214 } else if (th.data("rid")) { 6215 rid = th.data("rid"); 6216 } 6217 6218 fill_prop = fillBasketPropsExt(th, "prop", "bx_ajax_text"); 6219 6220 fill_prop.quantity = val; 6221 fill_prop.add_item = "Y"; 6222 fill_prop.rid = rid; 6223 fill_prop.offers = offer; 6224 fill_prop.iblockID = iblockid; 6225 fill_prop.part_props = part_props; 6226 fill_prop.add_props = add_props; 6227 fill_prop.props = JSON.stringify(props); 6228 fill_prop.item = item; 6229 fill_prop.basket_props = basket_props; 6230 6231 var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product"); 6232 var isSku2 = th.closest(".list-offers").length; 6233 var bIsService = th.closest(".buy_services_wrap").length; 6234 6235 if (!bIsService && (isDetail || isSku2)) { 6236 //var allServicesOn = th.closest('.product-container').find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked'); 6237 var allServicesOn = []; 6238 if (isSku2) { 6239 allServicesOn = th 6240 .closest(".product-container") 6241 .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked'); 6242 } else { 6243 allServicesOn = $(".product-container").find( 6244 '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked' 6245 ); 6246 } 6247 var servicesNeedAdd = []; 6248 allServicesOn.each(function () { 6249 var _this = $(this); 6250 var buttonCart = _this.closest(".services-item").find(".to-cart"); 6251 6252 servicesNeedAdd[buttonCart.data("item")] = {}; 6253 servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item"); 6254 servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity"); 6255 servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid"); 6256 }); 6257 servicesNeedAdd = array_values_js(servicesNeedAdd); 6258 fill_prop.services = servicesNeedAdd; 6259 } 6260 6261 $.ajax({ 6262 type: "POST", 6263 url: arAsproOptions["SITE_DIR"] + "ajax/item.php", 6264 data: fill_prop, 6265 dataType: "json", 6266 success: function (data) { 6267 $(".basket_error_frame").jqmHide(); 6268 if ("STATUS" in data) { 6269 getActualBasket(fill_prop.iblockID); 6270 if (data.STATUS === "OK") { 6271 th.hide(); 6272 th.closest(".counter_wrapp").find(".counter_block_inner").hide(); 6273 th.closest(".counter_wrapp").find(".counter_block").hide(); 6274 th.parents("tr").find(".counter_block_wr .counter_block").hide(); 6275 th.closest(".button_block").addClass("wide"); 6276 th.parent().find(".in-cart").show(); 6277 6278 addBasketCounter(item); 6279 //$('.wish_item[data-item='+item+']').removeClass("added"); 6280 $(".wish_item[data-item=" + item + "]") 6281 .find(".value") 6282 .show(); 6283 $(".wish_item[data-item=" + item + "]") 6284 .find(".value.added") 6285 .hide(); 6286 6287 if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y"); 6288 6289 if ($("#basket_line .basket_fly").length) { 6290 if (th.closest(".fast_view_frame").length || window.matchMedia("(max-width: 767px)").matches) 6291 basketFly("open", "N"); 6292 else basketFly("open"); 6293 } 6294 } else { 6295 showBasketError(BX.message(data.MESSAGE)); 6296 } 6297 } else { 6298 showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR")); 6299 } 6300 }, 6301 }); 6302 }); 6303 6304 $(document).on("click", ".to-cart:not(.read_more), .basket_item_add", function (e) { 6305 e.preventDefault(); 6306 var th = $(this); 6307 if (!th.hasClass("clicked")) { 6308 th.addClass("clicked"); 6309 var val = $(this).attr("data-quantity"); 6310 var tmp_props = $(this).data("props"), 6311 props = "", 6312 part_props = "", 6313 add_props = "N", 6314 fill_prop = {}, 6315 iblockid = $(this).data("iblockid"), 6316 offer = $(this).data("offers"), 6317 rid = "", 6318 bBannerAction = false, 6319 basket_props = "", 6320 item = $(this).attr("data-item"); 6321 if (th.closest(".but-cell").length) { 6322 if ($('.counter_block[data-item="' + item + '"]').length) 6323 val = $('.counter_block[data-item="' + item + '"] input').val(); 6324 } 6325 6326 if (th.closest(".banner_buttons.with_actions").length) { 6327 //banner action 6328 var wrapper_btns = th.closest(".wraps_buttons"); 6329 item = wrapper_btns.data("id"); 6330 bBannerAction = true; 6331 } 6332 6333 if (!val) val = 1; 6334 if (offer != "Y") { 6335 offer = "N"; 6336 } else { 6337 basket_props = $(this).closest(".prices_tab").find(".bx_sku_props input").val(); 6338 } 6339 if (tmp_props) { 6340 props = tmp_props.split(";"); 6341 } 6342 if ($(this).data("part_props")) { 6343 part_props = $(this).data("part_props"); 6344 } 6345 if ($(this).data("add_props")) { 6346 add_props = $(this).data("add_props"); 6347 } 6348 if ($(".rid_item").length) { 6349 rid = $(".rid_item").data("rid"); 6350 } else if ($(this).data("rid")) { 6351 rid = $(this).data("rid"); 6352 } 6353 6354 fill_prop = fillBasketPropsExt(th, "prop", th.data("bakset_div")); 6355 6356 fill_prop.quantity = val; 6357 fill_prop.add_item = "Y"; 6358 fill_prop.rid = rid; 6359 fill_prop.offers = offer; 6360 fill_prop.iblockID = iblockid; 6361 fill_prop.part_props = part_props; 6362 fill_prop.add_props = add_props; 6363 fill_prop.props = JSON.stringify(props); 6364 fill_prop.item = item; 6365 fill_prop.basket_props = basket_props; 6366 6367 var isDetail = th.closest(".product-action").length || th.closest("#headerfixed.with-product"); 6368 var isSku2 = th.closest(".list-offers").length; 6369 var bIsService = th.closest(".buy_services_wrap").length; 6370 6371 if (!bIsService && (isDetail || isSku2)) { 6372 //var allServicesOn = th.closest('.product-container').find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked'); 6373 var allServicesOn = []; 6374 if (isSku2) { 6375 allServicesOn = th 6376 .closest(".product-container") 6377 .find('.buy_services_wrap .services-item [name="buy_switch_services"]:checked'); 6378 } else { 6379 allServicesOn = $(".product-container").find( 6380 '.buy_services_wrap[data-parent_product="' + item + '"] .services-item [name="buy_switch_services"]:checked' 6381 ); 6382 } 6383 var servicesNeedAdd = []; 6384 allServicesOn.each(function () { 6385 var _this = $(this); 6386 var buttonCart = _this.closest(".services-item").find(".to-cart"); 6387 6388 servicesNeedAdd[buttonCart.data("item")] = {}; 6389 servicesNeedAdd[buttonCart.data("item")]["id"] = buttonCart.data("item"); 6390 servicesNeedAdd[buttonCart.data("item")]["quantity"] = buttonCart.attr("data-quantity"); 6391 servicesNeedAdd[buttonCart.data("item")]["iblock_id"] = buttonCart.data("iblockid"); 6392 }); 6393 servicesNeedAdd = array_values_js(servicesNeedAdd); 6394 fill_prop.services = servicesNeedAdd; 6395 } 6396 6397 var servicesWrap = $(this).closest(".buy_services_wrap"); 6398 if (bIsService) { 6399 var parent_product = servicesWrap.attr("data-parent_product"); 6400 fill_prop["prop[BUY_PRODUCT_PROP]"] = parent_product; 6401 fill_prop["prop[ASPRO_BUY_PRODUCT_ID]"] = parent_product; 6402 } 6403 6404 if (bBannerAction) { 6405 if (th.hasClass("added")) { 6406 location.href = th.data("href"); 6407 return false;
6408 } else { 6409 th.attr("title", th.data("title2")); 6410 th.toggleClass("added"); 6411 } 6412 6413 if (wrapper_btns.find(".wish_item_add").length) wrapper_btns.find(".wish_item_add").removeClass("added"); 6414 } 6415 6416 if (th.data("empty_props") == "N" /* && fill_prop.part_props != 'Y'*/) { 6417 var basket_popup_html = $("#" + th.data("bakset_div")).html(); 6418 if (!basket_popup_html && th.closest(".item").find(".basket_props_block").length) 6419 basket_popup_html = th.closest(".item").find(".basket_props_block").html(); 6420 6421 showBasketError(basket_popup_html, BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th); 6422 BX.addCustomEvent("onCompleteAction", function (e) { 6423 if (!e.ignoreSelf) { 6424 var eventdata = { action: "loadForm", ignoreSelf: true }; 6425 BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]); 6426 } 6427 }); 6428 } else { 6429 $.ajax({ 6430 type: "POST", 6431 url: arAsproOptions["SITE_DIR"] + "ajax/item.php", 6432 data: fill_prop, 6433 dataType: "json", 6434 success: function (data) { 6435 getActualBasket(fill_prop.iblockID); 6436 6437 var eventdata = { action: "loadForm" }; 6438 BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]); 6439 arStatusBasketAspro = {}; 6440 6441 if (data !== null) { 6442 if ("STATUS" in data) { 6443 if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = ""; 6444 if (data.STATUS === "OK") { 6445 // th.hide(); 6446 $(".to-cart[data-item=" + item + "]").hide(); 6447 $(".to-cart[data-item=" + item + "]") 6448 .closest(".counter_wrapp") 6449 .find(".counter_block_inner") 6450 .hide(); 6451 $(".to-cart[data-item=" + item + "]") 6452 .closest(".counter_wrapp") 6453 .find(".counter_block") 6454 .hide(); 6455 $(".to-cart[data-item=" + item + "]") 6456 .parents("tr") 6457 .find(".counter_block_wr .counter_block") 6458 .hide(); 6459 $(".to-cart[data-item=" + item + "]") 6460 .closest(".button_block") 6461 .addClass("wide"); 6462 // th.parent().find('.in-cart').show(); 6463 $(".in-cart[data-item=" + item + "]").show(); 6464 6465 addBasketCounter(item); 6466 //$('.wish_item[data-item='+item+']').removeClass("added"); 6467 $(".wish_item[data-item=" + item + "]") 6468 .find(".value") 6469 .show(); 6470 $(".wish_item[data-item=" + item + "]") 6471 .find(".value.added") 6472 .hide(); 6473 $(".wish_item.to[data-item=" + item + "]").show(); 6474 $(".wish_item.in[data-item=" + item + "]").hide(); 6475 6476 if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y"); 6477 6478 if ($("#basket_line .basket_fly").length) { 6479 if (th.closest(".services_in_basket").length && !window.matchMedia("(max-width: 767px)").matches) { 6480 basketFly("open", "SHOW"); //need for buy services in basket_fly 6481 } else if ( 6482 th.closest(".fast_view_frame").length || 6483 window.matchMedia("(max-width: 767px)").matches || 6484 $("#basket_line .basket_fly.loaded").length 6485 ) 6486 basketFly("open", "N"); 6487 else { 6488 basketFly("open"); 6489 } 6490 } 6491 6492 //need for services on basket_page 6493 if (th.closest(".services_in_basket_page").length) { 6494 BX.Sale.BasketComponent.sendRequest("refreshAjax", { 6495 fullRecalculation: "Y", 6496 otherParams: { 6497 param: "N", 6498 }, 6499 }); 6500 } 6501 6502 if ($(".top_basket").length) { 6503 basketTop("open", $(".top_basket").find(".basket_hover_block")); 6504 } 6505 6506 if ( 6507 $("#headerfixed .wproducts .ajax_load .btn").length && 6508 th.closest(".product-action").length && 6509 th.next(".in-cart").length 6510 ) { 6511 var buttonHtml = 6512 '<span class="buy_block"><span class="btn btn-default btn-sm slide_offer more type_block">' + 6513 th.next(".in-cart").html() + 6514 "</span></span>"; 6515 $("#headerfixed .wproducts .ajax_load .item-buttons .but-cell").html(buttonHtml); 6516 } 6517 } else { 6518 showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT); 6519 } 6520 } else { 6521 showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR")); 6522 } 6523 } else { 6524 // th.hide(); 6525 $(".to-cart[data-item=" + item + "]").hide(); 6526 $(".to-cart[data-item=" + item + "]") 6527 .closest(".counter_wrapp") 6528 .find(".counter_block_inner") 6529 .hide(); 6530 $(".to-cart[data-item=" + item + "]") 6531 .closest(".counter_wrapp") 6532 .find(".counter_block") 6533 .hide(); 6534 $(".to-cart[data-item=" + item + "]") 6535 .parents("tr") 6536 .find(".counter_block_wr .counter_block") 6537 .hide(); 6538 $(".to-cart[data-item=" + item + "]") 6539 .closest(".button_block") 6540 .addClass("wide"); 6541 // th.parent().find('.in-cart').show(); 6542 $(".in-cart[data-item=" + item + "]").show(); 6543 6544 addBasketCounter(item); 6545 //$('.wish_item[data-item='+item+']').removeClass("added"); 6546 $(".wish_item[data-item=" + item + "]") 6547 .find(".value") 6548 .show(); 6549 $(".wish_item[data-item=" + item + "]") 6550 .find(".value.added") 6551 .hide(); 6552 6553 if ($("#ajax_basket").length) reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y"); 6554 6555 if ($("#basket_line .basket_fly").length) { 6556 if ( 6557 th.closest(".fast_view_frame").length || 6558 window.matchMedia("(max-width: 767px)").matches || 6559 $("#basket_line .basket_fly.loaded").length 6560 ) 6561 basketFly("open", "N"); 6562 else basketFly("open"); 6563 } 6564 } 6565 }, 6566 }); 6567 } 6568 } 6569 }); 6570 6571 $(document).on("click", ".to-subscribe", function (e) { 6572 e.preventDefault(); 6573 var th = $(this); 6574 if (!th.hasClass("clicked")) { 6575 th.addClass("clicked"); 6576 if ($(this).is(".auth")) { 6577 if ($(this).hasClass("nsubsc")) { 6578 $(this).jqmEx(); 6579 $(this).trigger("click"); 6580 } else { 6581 location.href = arAsproOptions["SITE_DIR"] + "auth/?backurl=" + location.pathname; 6582 } 6583 } else { 6584 var item = $(this).attr("data-item"), 6585 iblockid = $(this).attr("data-iblockid"); 6586 // $(this).hide(); 6587 $(".to-subscribe[data-item=" + item + "]").hide(); 6588 $(".to-subscribe[data-item=" + item + "]") 6589 .parent()
6590 .find(".in-subscribe") 6591 .show(); 6592 $.get( 6593 arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y", 6594 $.proxy(function (data) { 6595 arStatusBasketAspro = {}; 6596 getActualBasket(iblockid); 6597 }) 6598 ); 6599 th.removeClass("clicked"); 6600 } 6601 } 6602 }); 6603 6604 $(document).on("click", ".in-subscribe", function (e) { 6605 e.preventDefault(); 6606 var item = $(this).attr("data-item"), 6607 iblockid = $(this).attr("data-iblockid"); 6608 // $(this).hide(); 6609 $(".in-subscribe[data-item=" + item + "]").hide(); 6610 $(".in-subscribe[data-item=" + item + "]") 6611 .parent() 6612 .find(".to-subscribe") 6613 .removeClass("clicked"); 6614 $(".in-subscribe[data-item=" + item + "]") 6615 .parent() 6616 .find(".to-subscribe") 6617 .show(); 6618 $.get( 6619 arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y", 6620 $.proxy(function (data) { 6621 getActualBasket(iblockid); 6622 arStatusBasketAspro = {}; 6623 }) 6624 ); 6625 }); 6626 6627 $(document).on("click", ".wish_item, .wish_item_add", function (e) { 6628 e.preventDefault(); 6629 var val = $(this).attr("data-quantity"), 6630 _this = $(this), 6631 offer = $(this).data("offers"), 6632 iblockid = $(this).data("iblock"),
6633 tmp_props = $(this).data("props"), 6634 props = "", 6635 bBannerAction = false, 6636 item = $(this).attr("data-item"), 6637 item2 = $(this).attr("data-item"); 6638 6639 if (_this.closest(".banner_buttons.with_actions").length) { 6640 //banner action 6641 var wrapper_btns = _this.closest(".wraps_buttons"); 6642 item = item2 = wrapper_btns.data("id"); 6643 bBannerAction = true; 6644 } 6645 6646 if (!_this.hasClass("clicked")) { 6647 _this.addClass("clicked"); 6648 if (!val) val = 1; 6649 if (offer != "Y") offer = "N"; 6650 if (tmp_props) { 6651 props = tmp_props.split(";"); 6652 } 6653 if (!$(this).hasClass("text")) { 6654 if ($(this).hasClass("added")) { 6655 if (!bBannerAction) { 6656 $(this).hide(); 6657 $(this).closest(".wish_item_button").find(".to").show(); 6658 } 6659 $(".like_icons").each(function () { 6660 if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) { 6661 $(this) 6662 .find('.wish_item.text[data-item="' + item + '"]') 6663 .removeClass("added"); 6664 $(this) 6665 .find('.wish_item.text[data-item="' + item + '"]') 6666 .find(".value") 6667 .show(); 6668 $(this) 6669 .find('.wish_item.text[data-item="' + item + '"]') 6670 .find(".value.added") 6671 .hide(); 6672 } 6673 if ($(this).find(".wish_item_button").length) { 6674 /*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').removeClass('added'); 6675 $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').show(); 6676 $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').hide();*/ 6677 $(this) 6678 .find(".wish_item_button") 6679 .find('.wish_item[data-item="' + item + '"].to') 6680 .show(); 6681 $(this) 6682 .find(".wish_item_button") 6683 .find('.wish_item[data-item="' + item + '"].in') 6684 .hide(); 6685 } 6686 }); 6687 } else { 6688 if (!bBannerAction) { 6689 $(this).hide(); 6690 $(this).closest(".wish_item_button").find(".in").addClass("added").show(); 6691 } 6692 6693 $(".like_icons").each(function () { 6694 if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) { 6695 $(this) 6696 .find('.wish_item.text[data-item="' + item + '"]') 6697 .addClass("added"); 6698 $(this) 6699 .find('.wish_item.text[data-item="' + item + '"]') 6700 .find(".value") 6701 .hide(); 6702 $(this) 6703 .find('.wish_item.text[data-item="' + item + '"]') 6704 .find(".value.added") 6705 .css({ display: "block" }); 6706 } 6707 if ($(this).find(".wish_item_button").length) { 6708 /*$(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').addClass('added'); 6709 $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value').hide(); 6710 $(this).find('.wish_item_button').find('.wish_item[data-item="'+item+'"]').find('.value.added').show();*/ 6711 $(this) 6712 .find(".wish_item_button") 6713 .find('.wish_item[data-item="' + item + '"].to') 6714 .hide(); 6715 $(this) 6716 .find(".wish_item_button") 6717 .find('.wish_item[data-item="' + item + '"].in') 6718 .show(); 6719 } 6720 }); 6721 } 6722 } else { 6723 if (!$(this).hasClass("added")) { 6724 $(".wish_item[data-item=" + item + "]").addClass("added"); 6725 $(".wish_item[data-item=" + item + "]") 6726 .find(".value") 6727 .hide(); 6728 $(".wish_item[data-item=" + item + "]") 6729 .find(".value.added") 6730 .css("display", "block"); 6731 6732 $(".wish_item.to[data-item=" + item + "]").hide(); 6733 $(".wish_item.in[data-item=" + item + "]").show(); 6734 6735 $(".like_icons").each(function () { 6736 if ($(this).find(".wish_item_button").length) { 6737 $(this) 6738 .find(".wish_item_button") 6739 .find('.wish_item[data-item="' + item + '"]') 6740 .addClass("added"); 6741 $(this) 6742 .find(".wish_item_button") 6743 .find('.wish_item[data-item="' + item + '"]') 6744 .find(".value") 6745 .hide(); 6746 $(this) 6747 .find(".wish_item_button") 6748 .find('.wish_item[data-item="' + item + '"]') 6749 .find(".value.added") 6750 .show(); 6751 } 6752 }); 6753 } else { 6754 $(".wish_item[data-item=" + item + "]").removeClass("added"); 6755 $(".wish_item[data-item=" + item + "]") 6756 .find(".value") 6757 .show(); 6758 $(".wish_item[data-item=" + item + "]") 6759 .find(".value.added") 6760 .hide(); 6761 6762 $(".wish_item.to[data-item=" + item + "]").show(); 6763 $(".wish_item.in[data-item=" + item + "]").hide(); 6764 6765 $(".like_icons").each(function () { 6766 if ($(this).find(".wish_item_button").length) { 6767 $(this) 6768 .find(".wish_item_button") 6769 .find('.wish_item[data-item="' + item + '"]') 6770 .removeClass("added"); 6771 $(this) 6772 .find(".wish_item_button") 6773 .find('.wish_item[data-item="' + item + '"]') 6774 .find(".value") 6775 .show(); 6776 $(this) 6777 .find(".wish_item_button") 6778 .find('.wish_item[data-item="' + item + '"]') 6779 .find(".value.added") 6780 .hide(); 6781 } 6782 }); 6783 } 6784 } 6785 6786 $(".in-cart[data-item=" + item + "]").hide(); 6787 $(".to-cart[data-item=" + item + "]").removeClass("clicked"); 6788 $(".to-cart[data-item=" + item + "]") 6789 .parent() 6790 .removeClass("wide"); 6791 if ( 6792 !$(".counter_block[data-item=" + item + "]") 6793 .closest(".counter_wrapp") 6794 .find(".to-order").length 6795 ) { 6796 $(".to-cart[data-item=" + item + "]").show(); 6797 $(".counter_block[data-item=" + item + "]") 6798 .closest(".counter_block_inner") 6799 .show(); 6800 $(".counter_block[data-item=" + item + "]").show(); 6801 } 6802 6803 if (bBannerAction) { 6804 _this.toggleClass("added"); 6805 6806 if (_this.hasClass("added")) _this.attr("title", _this.data("title2")); 6807 else _this.attr("title", _this.data("title")); 6808 6809 if (wrapper_btns.find(".basket_item_add").length) wrapper_btns.find(".basket_item_add").removeClass("added"); 6810 } 6811 6812 if (!$(this).closest(".module-cart").size()) { 6813 $.ajax({ 6814 type: "GET", 6815 url: arAsproOptions["SITE_DIR"] + "ajax/item.php", 6816 data: 6817 "item=" + 6818 item2 + 6819 "&quantity=" + 6820 val + 6821 "&wish_item=Y" + 6822 "&offers=" + 6823 offer + 6824 "&iblockID=" + 6825 iblockid + 6826 "&props=" + 6827 JSON.stringify(props), 6828 dataType: "json", 6829 success: function (data) { 6830 getActualBasket(iblockid); 6831 arStatusBasketAspro = {}; 6832 if (data !== null) { 6833 if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = ""; 6834 if ("STATUS" in data) { 6835 if (data.STATUS === "OK") { 6836 if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 6837 var eventdata = { goal: "goal_wish_add", params: { id: item2 } }; 6838 BX.onCustomEvent("onCounterGoals", [eventdata]); 6839 } 6840 if ($("#ajax_basket").length) reloadTopBasket("wish", $("#ajax_basket"), 200, 5000, "N"); 6841 6842 if ($("#basket_line .basket_fly").length) { 6843 if ( 6844 _this.closest(".fast_view_frame").length || 6845 window.matchMedia("(max-width: 767px)").matches || 6846 $("#basket_line .basket_fly.loaded").length 6847 ) 6848 basketFly("wish", "N"); 6849 else basketFly("wish"); 6850 } 6851 } else { 6852 showBasketError( 6853 BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT, 6854 BX.message("ERROR_ADD_DELAY_ITEM") 6855 ); 6856 } 6857 } else { 6858 showBasketError( 6859 BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT, 6860 BX.message("ERROR_ADD_DELAY_ITEM") 6861 ); 6862 } 6863 } else { 6864 if ($("#ajax_basket").length) reloadTopBasket("wish", $("#ajax_basket"), 200, 5000, "N"); 6865 6866 if ($("#basket_line .basket_fly").length) { 6867 if ( 6868 _this.closest(".fast_view_frame").length || 6869 window.matchMedia("(max-width: 767px)").matches || 6870 $("#basket_line .basket_fly.loaded").length 6871 ) 6872 basketFly("wish", "N"); 6873 else basketFly("wish"); 6874 } 6875 } 6876 _this.removeClass("clicked"); 6877 }, 6878 }); 6879 } 6880 } 6881 }); 6882 6883 $(document).on("click", ".item_main_info .item_slider .flex-direction-nav li span", function (e) { 6884 if ($(".inner_slider .slides_block").length) { 6885 if ($(this).parent().hasClass("flex-nav-next")) $(".inner_slider .slides_block li.current").next().click(); 6886 else $(".inner_slider .slides_block li.current").prev().click(); 6887 } 6888 }); 6889 6890 $(document).on("click", ".compare_item, .compare_item_add", function (e) { 6891 e.preventDefault(); 6892 var item = $(this).attr("data-item"); 6893 var iblockID = $(this).attr("data-iblock"),
6894 bBannerAction = false, 6895 th = $(this); 6896 6897 if (th.closest(".banner_buttons.with_actions").length) { 6898 //banner action 6899 var wrapper_btns = th.closest(".wraps_buttons"); 6900 item = wrapper_btns.data("id"); 6901 iblockID = wrapper_btns.data("iblockid"); 6902 bBannerAction = true; 6903 6904 th.toggleClass("added"); 6905 6906 if (th.hasClass("added")) th.attr("title", th.data("title2")); 6907 else th.attr("title", th.data("title")); 6908 } 6909 6910 if (!th.hasClass("clicked")) { 6911 th.addClass("clicked"); 6912 if (!$(this).hasClass("text")) { 6913 if ($(this).hasClass("added")) { 6914 if (!bBannerAction) { 6915 $(this).hide(); 6916 $(this).closest(".compare_item_button").find(".to").show(); 6917 } 6918 6919 /*sync other button*/ 6920 $(".like_icons").each(function () { 6921 if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) { 6922 $(this) 6923 .find('.compare_item.text[data-item="' + item + '"]') 6924 .removeClass("added"); 6925 $(this) 6926 .find('.compare_item.text[data-item="' + item + '"]') 6927 .find(".value") 6928 .show(); 6929 $(this) 6930 .find('.compare_item.text[data-item="' + item + '"]') 6931 .find(".value.added") 6932 .hide(); 6933 } 6934 if ($(this).find(".compare_item_button").length) { 6935 /*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').removeClass('added'); 6936 $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').show(); 6937 $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').hide();*/ 6938 $(this) 6939 .find(".compare_item_button") 6940 .find('.compare_item[data-item="' + item + '"].in') 6941 .hide(); 6942 $(this) 6943 .find(".compare_item_button") 6944 .find('.compare_item[data-item="' + item + '"].to') 6945 .show(); 6946 } 6947 }); 6948 } else { 6949 if (!bBannerAction) { 6950 $(this).hide(); 6951 $(this).closest(".compare_item_button").find(".in").show(); 6952 } 6953 6954 /*sync other button*/ 6955 $(".like_icons").each(function () { 6956 if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) { 6957 $(this) 6958 .find('.compare_item.text[data-item="' + item + '"]') 6959 .addClass("added"); 6960 $(this) 6961 .find('.compare_item.text[data-item="' + item + '"]') 6962 .find(".value") 6963 .hide(); 6964 $(this) 6965 .find('.compare_item.text[data-item="' + item + '"]') 6966 .find(".value.added") 6967 .css({ display: "block" }); 6968 } 6969 if ($(this).find(".compare_item_button").length) { 6970 /*$(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').addClass('added'); 6971 $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value.added').show(); 6972 $(this).find('.compare_item_button').find('.compare_item[data-item="'+item+'"]').find('.value').hide();*/ 6973 $(this) 6974 .find(".compare_item_button") 6975 .find('.compare_item[data-item="' + item + '"].to') 6976 .hide(); 6977 $(this) 6978 .find(".compare_item_button") 6979 .find('.compare_item[data-item="' + item + '"].in') 6980 .show(); 6981 } 6982 }); 6983 } 6984 } else { 6985 if (!$(this).hasClass("added")) { 6986 $(".compare_item[data-item=" + item + "]").addClass("added"); 6987 $(".compare_item[data-item=" + item + "]") 6988 .find(".value") 6989 .hide(); 6990 $(".compare_item[data-item=" + item + "]") 6991 .find(".value.added") 6992 .css("display", "block"); 6993 6994 /*sync other button*/ 6995 $(".like_icons").each(function () { 6996 if ($(this).find(".compare_item_button").length) { 6997 $(this) 6998 .find(".compare_item_button") 6999 .find('.compare_item[data-item="' + item + '"]') 7000 .addClass("added"); 7001 $(this) 7002 .find(".compare_item_button") 7003 .find('.compare_item[data-item="' + item + '"]') 7004 .find(".value.added") 7005 .show(); 7006 $(this) 7007 .find(".compare_item_button") 7008 .find('.compare_item[data-item="' + item + '"]') 7009 .find(".value") 7010 .hide(); 7011 } 7012 }); 7013 } else { 7014 $(".compare_item[data-item=" + item + "]").removeClass("added"); 7015 $(".compare_item[data-item=" + item + "]") 7016 .find(".value") 7017 .show(); 7018 $(".compare_item[data-item=" + item + "]") 7019 .find(".value.added") 7020 .hide(); 7021 7022 /*sync other button*/ 7023 $(".like_icons").each(function () { 7024 if ($(this).find(".compare_item_button").length) { 7025 $(this) 7026 .find(".compare_item_button") 7027 .find('.compare_item[data-item="' + item + '"]') 7028 .removeClass("added"); 7029 $(this) 7030 .find(".compare_item_button") 7031 .find('.compare_item[data-item="' + item + '"]') 7032 .find(".value") 7033 .show(); 7034 $(this) 7035 .find(".compare_item_button") 7036 .find('.compare_item[data-item="' + item + '"]') 7037 .find(".value.added") 7038 .hide(); 7039 } 7040 }); 7041 } 7042 } 7043 7044 $.get( 7045 arAsproOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&compare_item=Y&iblock_id=" + iblockID, 7046 $.proxy(function (data) { 7047 getActualBasket(iblockID, "Compare"); 7048 arStatusBasketAspro = {}; 7049 if ($("#compare_fly").length) { 7050 jsAjaxUtil.InsertDataToNode( 7051 arAsproOptions["SITE_DIR"] + "ajax/show_compare_preview_fly.php", 7052 "compare_fly", 7053 false 7054 ); 7055 } 7056 th.removeClass("clicked"); 7057 }) 7058 ); 7059 } 7060 }); 7061 7062 /* 7063 $(".fancybox").fancybox({ 7064 backFocus: false, 7065 }); 7066 */ 7067 7068 $(document).on("click", ".tabs>li", function () { 7069 var parent = $(this).parent(); 7070 if (!$(this).hasClass("active")) { 7071 var sliderIndex = $(this).index(), 7072 curLiNav = $(this) 7073 .closest(".top_block") 7074 .find(".slider_navigation") 7075 .find(">li:eq(" + sliderIndex + ")"), 7076 curLi = $(this) 7077 .closest(".top_block") 7078 .siblings(".tabs_content") 7079 .find(">li:eq(" + sliderIndex + ")"); 7080 $(this).addClass("active").addClass("cur").siblings().removeClass("active").removeClass("cur"); 7081 curLi.addClass("cur").siblings().removeClass("cur"); 7082 curLiNav.addClass("cur").siblings().removeClass("cur"); 7083 7084 if (parent.hasClass("ajax")) { 7085 // front tabs 7086 if (!$(this).hasClass("clicked")) { 7087 $.ajax({ 7088 url: arAsproOptions["SITE_DIR"] + "include/mainpage/comp_catalog_ajax.php", 7089 type: "POST", 7090 data: { 7091 AJAX_POST: "Y",
7092 FILTER_HIT_PROP: $(this).data("code"), 7093 AJAX_PARAMS: $(this).closest(".tab_slider_wrapp").find(".request-data").data("value"), 7094 GLOBAL_FILTER: curLi.data("filter"), 7095 }, 7096 }).success(function (html) { 7097 curLi.find(".tabs_slider").html(html); 7098 var container = curLi.closest(".content_wrapper_block"); 7099 if (container.length) { 7100 var bNav = curLi.find(".bottom_nav .module-pagination").length > 0; 7101 if (bNav) { 7102 container.removeClass("without-border"); 7103 } else { 7104 container.addClass("without-borded"); 7105 } 7106 } 7107 setTimeout(function () { 7108 curLi.addClass("opacity1"); 7109 }, 100); 7110 7111 /*equal height*/ 7112 // curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible .item-title').sliceHeight({item:'.catalog_item:visible', mobile: true}); 7113 // curLi.find('.catalog_block .catalog_item_wrapp .catalog_item .item_info:visible').sliceHeight({item:'.catalog_item:visible', mobile: true}); 7114 // curLi.find('.catalog_block .catalog_item_wrapp .catalog_item:visible').sliceHeight({classNull: '.footer_button', item:'.catalog_item:visible', mobile: true}); 7115 7116 initCountdown(); 7117 }); 7118 $(this).addClass("clicked"); 7119 } else { 7120 var container = curLi.closest(".content_wrapper_block"); 7121 if (container.length) { 7122 var bNav = curLi.find(".bottom_nav .module-pagination").length > 0; 7123 if (bNav) { 7124 container.removeClass("without-border"); 7125 } else { 7126 container.addClass("without-borded"); 7127 } 7128 } 7129 /*$('.cur .catalog_block .catalog_item_wrapp.catalog_item:not(.big):visible').sliceHeight({ 7130 classNull: '.footer_button', 7131 item:'.cur .catalog_block .catalog_item_wrapp.catalog_item:not(.big):visible', 7132 classes: [ 7133 '.item_info .item-title', 7134 '.item_info .sa_block', 7135 '.item_info .cost.prices', 7136 ], 7137 mobile: true, 7138 });*/ 7139 } 7140 } 7141 7142 var eventdata = { index: sliderIndex, target: $(this) }; 7143 BX.onCustomEvent("clickedTabsLi", [eventdata]); 7144 } 7145 }); 7146 7147 /*search click*/ 7148 $(".search_block .icon").on("click", function () { 7149 var th = $(this); 7150 if ($(this).hasClass("open")) { 7151 $(this).closest(".center_block").find(".search_middle_block").removeClass("active"); 7152 $(this).removeClass("open"); 7153 $(this).closest(".center_block").find(".search_middle_block").find(".noborder").hide(); 7154 } else { 7155 setTimeout(function () { 7156 th.closest(".center_block").find(".search_middle_block").find(".noborder").show(); 7157 }, 100); 7158 $(this).closest(".center_block").find(".search_middle_block").addClass("active"); 7159 $(this).addClass("open"); 7160 } 7161 }); 7162 7163 $(document).on("click", ".no_goods .button", function () { 7164 $(".bx_filter .smartfilter .bx_filter_search_reset").trigger("click"); 7165 }); 7166 7167 $(document).on("click", ".js-load-link", function (e) { 7168 AjaxClickLink(e); 7169 }); 7170 7171 $(document).on("click", ".svg-inline-bottom_nav-icon", function () { 7172 $(this).next().trigger("click"); 7173 }); 7174 $(document).on("click", ".ajax_load_btn", function () { 7175 var _this = $(this), 7176 url = _this.closest(".container").find(".module-pagination .flex-direction-nav .flex-next").attr("href"), 7177 th = _this.find(".more_text_ajax"), 7178 bottom_nav = _this.closest(".bottom_nav"), 7179 mobileBottomNav = bottom_nav.hasClass("mobile_slider"), 7180 bLoadingState = _this.closest(".animate-load-state").length; 7181 7182 if (!th.hasClass("loading")) { 7183 th.addClass("loading"); 7184 if (mobileBottomNav) { 7185 var icon = bottom_nav.find(".svg-inline-bottom_nav-icon"); 7186 icon.css("display", "none"); 7187 } 7188 if (bLoadingState) _this.addClass("loadings"); 7189 7190 var objUrl = parseUrlQuery(), 7191 add_url = ""; 7192 obGetData = { ajax_get: "Y", AJAX_REQUEST: "Y" }; 7193 7194 if (_this.closest(".wrapper_inner.front").length) { 7195 //index page 7196 var class_block = th.closest(".drag-block").data("class").replace("_drag", ""); 7197 class_block = class_block.replace(/\s/g, ""); 7198 obGetData.BLOCK = class_block; 7199 } 7200 7201 if (_this.closest(".tab").length) { 7202 //tabs block 7203 var parentTab = th.closest(".tab"); 7204 obGetData.FILTER_HIT_PROP = parentTab.data("code"); 7205 obGetData.GLOBAL_FILTER = parentTab.data("filter"); 7206 url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href"); 7207 } 7208 7209 if (_this.closest(".content_linked_goods").length) { 7210 //linked_goods block in content 7211 var filterSections = th.closest(".content_linked_goods").attr("data-sections-ids"); 7212 obGetData.ajax_section_id = decodeURIComponent(filterSections); 7213 7214 url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href"); 7215 } 7216 7217 if ("clear_cache" in objUrl) { 7218 if (objUrl.clear_cache == "Y") add_url = "&clear_cache=Y"; 7219 } 7220 if (_this.hasClass("ajax")) obGetData.ajax = "y"; 7221
7222 if (th.closest(".goods-block.ajax_load")) obGetData.bitrix_include_areas = "N"; 7223 7224 if (_this.closest(".nav-data_block").length) { 7225 //need data-block 7226 obGetData.data_block = _this.closest(".nav-data_block").attr("data-block"); 7227 obGetData.pagen_data_block = "Y"; 7228 url = _this.closest(".bottom_nav").find(".module-pagination .flex-direction-nav .flex-next").attr("href"); 7229 } 7230 7231 $.ajax({ 7232 url: url + add_url, 7233 data: obGetData, 7234 success: function (html) { 7235 pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this); 7236 }, 7237 error: function (html) { 7238 pasteAjaxPagination(html.responseText, th, bottom_nav, bLoadingState, _this); 7239 }, 7240 }); 7241 } 7242 }); 7243 7244 function pasteAjaxPagination(html, th, bottom_nav, bLoadingState, _this) { 7245 var mobileBottomClicked = bottom_nav.hasClass("mobile_slider"); 7246 var hasMobileBottomNav = $(html).find(".bottom_nav.mobile_slider"); 7247 var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find(".bottom_nav"); 7248 var bottomNavHtml = bottomNav.html(); 7249 var bottomNavScrollClass = bottomNav.data("scroll-class"); 7250 var hasBottomNav = $(html).find(".ajax_load_btn").length; 7251 7252 if (th.closest(".ajax_load").length && !mobileBottomClicked) { 7253 th.removeClass("loading"); 7254 if (th.closest(".ajax_load").find(".js_append").length) { 7255 if (_this.closest(".catalog_in_content").length) { 7256 th.closest(".ajax_load").find(".js_append").append($(".inner_wrapper .js_wrapper_items>", html)); //need for brands & landings 7257 } else { 7258 th.closest(".ajax_load").find(".js_append").append(html); 7259 } 7260 th.closest(".ajax_load").find(".bottom_nav_wrapper").remove(); 7261 } else { 7262 if ($(".display_list").length) { 7263 $(".display_list").append(html); 7264 th.closest(".display_list").find(".bottom_nav_wrapper").remove(); 7265 } else if ($(".block_list").length) { 7266 $(".block_list").append(html); 7267 touchItemBlock(".catalog_item a"); 7268 th.closest(".block_list").find(".bottom_nav_wrapper").remove(); 7269 } else if ($(".module_products_list").length) { 7270 $(".module_products_list > tbody").append(html); 7271 th.closest(".module_products_list > tbody").find(".bottom_nav_wrapper").remove(); 7272 } 7273 } 7274 7275 setStatusButton(); 7276 checkLinkedArticles(); 7277 checkLinkedBlocks(".linked-banners-list"); 7278 7279 var eventdata = { action: "ajaxContentLoadedTab" }; 7280 BX.onCustomEvent("onAjaxSuccess", [eventdata]); 7281 _this.closest(".bottom_nav").html(bottomNavHtml); 7282 } else { 7283 var eventdata = { action: "ajaxContentLoaded" }; 7284 7285 if ($(".banners-small.front").length) { 7286 $(".banners-small .items.row").append(html); 7287 $(".bottom_nav").html($(".banners-small .items.row .bottom_nav").html()); 7288 $(".banners-small .items.row .bottom_nav").remove(); 7289 if (hasBottomNav) { 7290 $(".banners-small .items.row").addClass("has-bottom-nav"); 7291 } else { 7292 $(".banners-small .items.row").removeClass("has-bottom-nav"); 7293 } 7294 } else { 7295 if (bottom_nav.data("append") !== undefined && bottom_nav.data("parent") !== undefined) { 7296 var target = html; 7297 if (bottom_nav.data("target") !== undefined) { 7298 target = $(html).find(bottom_nav.data("target")); 7299 } 7300 if (mobileBottomClicked || hasMobileBottomNav.length) { 7301 var mobileSliderNav = th.closest(bottom_nav.data("parent")).find(".bottom_nav.mobile_slider"); 7302 if (mobileSliderNav.length) { 7303 mobileSliderNav.before(target); 7304 } else { 7305 bottom_nav.before(target); 7306 } 7307 } else { 7308 th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).append(target); 7309 } 7310 th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).find(".bottom_nav_wrapper").remove(); 7311 7312 if (hasBottomNav) { 7313 if (bottomNavScrollClass !== undefined) { 7314 th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).addClass("has-bottom-nav"); 7315 } 7316 th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).addClass("has-bottom-nav"); 7317 } else { 7318 if (bottomNavScrollClass !== undefined) { 7319 th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).removeClass("has-bottom-nav"); 7320 } 7321 th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).removeClass("has-bottom-nav"); 7322 } 7323 7324 bottom_nav = th.closest(bottom_nav.data("parent")).find(".bottom_nav"); 7325 bottom_nav.html(bottomNavHtml); 7326 var icon = bottom_nav.find(".svg-inline-bottom_nav-icon"); 7327 icon.css("display", ""); 7328 7329 eventdata.container = th.closest(bottom_nav.data("parent")); 7330 } else { 7331 if (th.closest(".item-views").find(".items").length) { 7332 th.closest(".item-views").find(".items").append(html); 7333 } else { 7334 $(html).insertBefore($(".blog .bottom_nav")); 7335 } 7336 7337 bottom_nav.html($(".bottom_nav:hidden").html()); 7338 if (hasBottomNav) { 7339 th.closest(".item-views").find(".items").addClass("has-bottom-nav"); 7340 } else { 7341 th.closest(".item-views").find(".items").removeClass("has-bottom-nav"); 7342 } 7343 _this.closest(".item-views").find(".bottom_nav:hidden").remove(); 7344 } 7345 } 7346 7347 eventdata.content = html; 7348 eventdata.container = th; 7349 BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]); 7350 7351 setTimeout(function () { 7352 $(".banners-small .item.normal-block").sliceHeight({ resize: false }); 7353 if ($(".item.slice-item").length) { 7354 $(".item.slice-item .title").sliceHeight({ resize: false }); 7355 $(".item.slice-item").sliceHeight({ resize: false }); 7356 } 7357 th.removeClass("loading"); 7358 if (bLoadingState) _this.removeClass("loadings"); 7359 }, 100); 7360 }
7361 initCountdown(); 7362 } 7363 7364 // form rating 7365 $(document).on("mouseenter", ".form .votes_block.with-text .item-rating", function () { 7366 var $this = $(this), 7367 index = $this.index(), 7368 ratingValue = $this.data("rating_value"), 7369 ratingMessage = $this.data("message"); 7370 7371 $(this).addClass("filed"); 7372 $this.siblings().each(function () { 7373 if ($(this).index() <= index) $(this).addClass("filed"); 7374 else $(this).removeClass("filed"); 7375 }); 7376 $this.closest(".votes_block").find(".rating_message").text(ratingMessage); 7377 }); 7378 7379 $(document).on("mouseleave", ".form .votes_block.with-text", function () { 7380 var $this = $(this), 7381 index = $this.data("rating"), 7382 ratingMessage = $this.closest(".votes_block").find(".rating_message").data("message"); 7383 7384 $this.find(".item-rating").each(function () { 7385 if ($(this).index() < index && index !== undefined) $(this).addClass("filed"); 7386 else $(this).removeClass("filed"); 7387 }); 7388 $this.closest(".votes_block").find(".rating_message").text(ratingMessage); 7389 }); 7390 7391 $(document).on("click", ".form .votes_block.with-text .item-rating", function () { 7392 var $this = $(this), 7393 rating = $this.closest(".votes_block").data("rating"), 7394 index = $this.index() + 1, 7395 ratingMessage = $this.data("message"); 7396 7397 $this.closest(".votes_block").data("rating", index); 7398 if ($this.closest(".form-control").find("input[name=RATING]").length) { 7399 $this.closest(".form-control").find("input[name=RATING]").val(index); 7400 } else { 7401 $this.closest(".form-control").find("input[data-sid=RATING]").val(index); 7402 } 7403 $this.closest(".votes_block").find(".rating_message").data("message", ratingMessage); 7404 }); 7405 7406 //set cookie for basket link click 7407 $(document).on( 7408 "click", 7409 ".bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]", 7410 function (e) { 7411 $.removeCookie("click_basket", { path: "/" }); 7412 $.cookie("click_basket", "Y", { path: "/" }); 7413 } 7414 ); 7415 7416 $(document).on("click", ".bx_compare .tabs-head li", function () { 7417 var url = $(this).find(".sortbutton").data("href"); 7418 BX.showWait(BX("bx_catalog_compare_block")); 7419 $.ajax({ 7420 url: url, 7421 data: { ajax_action: "Y" }, 7422 success: function (html) { 7423 history.pushState(null, null, url); 7424 $("#bx_catalog_compare_block").html(html); 7425 BX.closeWait(); 7426 }, 7427 }); 7428 }); 7429 var hoveredTrs; 7430 $(document).on( 7431 { 7432 mouseover: function (e) { 7433 var _ = $(this); 7434 var tbodyIndex = _.closest("tbody").index() + 1; //+1 for nth-child 7435 var trIndex = _.index() + 1; // +1 for nth-child 7436 hoveredTrs = $(e.delegateTarget) 7437 .find(".data_table_props") 7438 .children(":nth-child(" + tbodyIndex + ")") 7439 .children(":nth-child(" + trIndex + ")") 7440 .addClass("hovered"); 7441 }, 7442 mouseleave: function (e) { 7443 if (hoveredTrs) hoveredTrs.removeClass("hovered"); 7444 }, 7445 }, 7446 ".bx_compare .data_table_props tbody>tr" 7447 ); 7448 $(document).on("click", ".fancy_zoom", function (e) { 7449 e.preventDefault(); 7450 var arPict = [], 7451 index = 0; 7452 $(this) 7453 .closest(".product-detail-gallery__container") 7454 .find(".product-detail-gallery__thmb-container .product-detail-gallery__item") 7455 .each(function () { 7456 var obImg = {}; 7457 obImg = { 7458 src: $(this).data("big"), 7459 // opts: { 7460 // caption: $(this).find("img").attr("alt"), 7461 // }, 7462 }; 7463 if ($(this).parent().hasClass("current")) { 7464 index = $(this).parent().index(); 7465 } 7466 arPict.push(obImg); 7467 }); 7468 if (!arPict.length) { 7469 arPict.push({ 7470 src: $(this).closest(".product-detail-gallery__container").find(".zoom_picture").data("xoriginal"), 7471 }); 7472 } 7473 if (typeof $.fn.fancybox !== "function") { 7474 return; 7475 } 7476 $.fancybox.open( 7477 arPict, 7478 { 7479 loop: false, 7480 buttons: [ 7481 // "zoom", 7482 //"share", 7483 // "slideShow", 7484 //"fullScreen", 7485 //"download", 7486 // "thumbs", 7487 "close", 7488 ], 7489 }, 7490 index 7491 ); 7492 }); 7493 7494 /*tabs*/ 7495 $(".tabs_section .tabs-head li").on("click", function () { 7496 if (!$(this).is(".current")) { 7497 $(".tabs_section .tabs-head li").removeClass("current"); 7498 $(this).addClass("current"); 7499 $(".tabs_section ul.tabs_content li").removeClass("current"); 7500 if ($(this).attr("id") == "product_reviews_tab") { 7501 $(".shadow.common").hide(); 7502 $("#reviews_content").show(); 7503 } else { 7504 $(".shadow.common").show(); 7505 $("#reviews_content").hide(); 7506 $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")").addClass("current"); 7507 } 7508 } 7509 }); 7510 7511 /*open first section slide*/ 7512 setTimeout(function () { 7513 $(".jobs_wrapp .item:first .name tr").trigger("click"); 7514 }, 300); 7515 7516 $(".choise").on("click", function () { 7517 var _this = $(this); 7518 if (typeof _this.attr("data-block") != "undefined") { 7519 if ($(_this.attr("data-block")).closest(".tab-pane").length) { 7520 $('.ordered-block a[href="#' + $(_this.attr("data-block")).closest(".tab-pane").attr("id") + '"]').click(); 7521 _this.data("block", ".ordered-block.tabs-block"); 7522 $(_this.data("block")).data("offset", -100); 7523 } else { 7524 $(_this.data("block")).data("offset", -100); 7525 } 7526 scrollToBlock(_this.data("block")); 7527 } 7528 }); 7529 7530 $(document).on("click", ".buy_block .slide_offer", function () { 7531 scroll_block($(".js-offers-scroll")); 7532 }); 7533 $(".share > .share_wrapp .text").on("click", function () { 7534 var block = $(this).parent().find(".shares"); 7535 if (!block.is(":visible") && !$(this).closest(".share.top").length) $("#content").css("z-index", 3); 7536 block.fadeToggle(100, function () { 7537 if (!block.is(":visible")) $("#content").css("z-index", 2); 7538 }); 7539 }); 7540 $("html, body").on("mousedown", function (e) { 7541 if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) { 7542 e.stopPropagation(); 7543 $("div.shares").fadeOut(100, function () { 7544 $("#content").css("z-index", 2); 7545 $(".price_txt .share_wrapp").removeClass("opened"); 7546 }); 7547 $(".search_middle_block").removeClass("active_wide"); 7548 } 7549 }); 7550 $(".share_wrapp") 7551 .find("*") 7552 .on("mousedown", function (e) { 7553 e.stopPropagation(); 7554 }); 7555 7556 $(".price_txt .share_wrapp .text").click(function () { 7557 $(this).parent().toggleClass("opened"); 7558 $(this).parent().find(".shares").fadeToggle(); 7559 }); 7560 7561 $(document).on("click", ".reviews-collapse-link", function () { 7562 $(".reviews-reply-form").slideToggle(); 7563 }); 7564 7565 /* accordion action*/ 7566 $(".panel-collapse").on("hidden.bs.collapse", function () { 7567 $(this).parent().toggleClass("opened"); 7568 }); 7569 $(".panel-collapse").on("show.bs.collapse", function () { 7570 $(this).parent().toggleClass("opened"); 7571 }); 7572 7573 /* accordion */ 7574 $(".accordion-head").on("click", function (e) { 7575 e.preventDefault(); 7576 if (!$(this).next().hasClass("collapsing")) { 7577 $(this).toggleClass("accordion-open"); 7578 $(this).toggleClass("accordion-close"); 7579 } 7580 }); 7581 7582 /* progress bar */ 7583 $("[data-appear-progress-animation]").each(function () { 7584 var $this = $(this); 7585 $this.appear( 7586 function () {
7587 var delay = $this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1; 7588 if (delay > 1) $this.css("animation-delay", delay + "ms"); 7589 $this.addClass($this.attr("data-appear-animation")); 7590 7591 setTimeout(function () { 7592 $this.animate( 7593 { 7594 width: $this.attr("data-appear-progress-animation"), 7595 }, 7596 1500, 7597 "easeOutQuad", 7598 function () { 7599 $this.find(".progress-bar-tooltip").animate( 7600 { 7601 opacity: 1, 7602 }, 7603 500, 7604 "easeOutQuad" 7605 ); 7606 } 7607 ); 7608 }, delay); 7609 }, 7610 { accX: 0, accY: -50 } 7611 ); 7612 }); 7613 7614 initCountdown(); 7615 7616 /* portfolio item */ 7617 if ($(".item.animated-block").length) { 7618 $(".item.animated-block").appear( 7619 function () { 7620 var $this = $(this); 7621 7622 $this.addClass($this.data("animation")).addClass("visible"); 7623 }, 7624 { accX: 0, accY: 150 } 7625 ); 7626 } 7627 7628 /* flexslider appear */ 7629 if ($(".appear-block").length) { 7630 $(".appear-block").appear( 7631 function () { 7632 var $this = $(this); 7633 $this.removeClass("appear-block"); 7634 7635 CheckFlexSlider(); 7636 InitFlexSlider(); 7637 InitOwlSlider(); 7638 }, 7639 { accX: 0, accY: 150 } 7640 ); 7641 } 7642 7643 /* js-load-block appear */ 7644 if ($(".js-load-block").length) { 7645 var objUrl = parseUrlQuery(); 7646 var bClearCache = false; 7647 if ("clear_cache" in objUrl) { 7648 if (objUrl.clear_cache == "Y") { 7649 bClearCache = true; 7650 } 7651 } 7652 7653 var items = []; 7654 var bIdle = true; 7655 var insertNextBlockContent = function () { 7656 if (bIdle) { 7657 if (items.length) { 7658 bIdle = false; 7659 var item = items.pop(); 7660 7661 item.content = $.trim(item.content); 7662 7663 // remove /bitrix/js/main/core/core_window.js if it was loaded already 7664 if (item.content.indexOf("/bitrix/js/main/core/core_window.") !== -1 && BX.WindowManager) { 7665 item.content = item.content.replace( 7666 /<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm, 7667 "" 7668 ); 7669 } 7670 7671 // remove /bitrix/js/currency/core_currency.js if it was loaded already 7672 if ( 7673 item.content.indexOf("/bitrix/js/currency/core_currency.") !== -1 && 7674 typeof BX.Currency === "object" && 7675 BX.Currency.defaultFormat 7676 ) { 7677 item.content = item.content.replace( 7678 /<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm, 7679 "" 7680 ); 7681 } 7682 7683 // remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already 7684 if (item.content.indexOf("/bitrix/js/main/pageobject/pageobject.") !== -1 && BX.PageObject) { 7685 item.content = item.content.replace( 7686 /<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm, 7687 "" 7688 ); 7689 } 7690 7691 // remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need 7692 if ( 7693 item.content.indexOf("/bitrix/js/main/polyfill/promise/js/promise.") !== -1 && 7694 typeof window.Promise !== "undefined" && 7695 window.Promise.toString().indexOf("[native code]") !== -1 7696 ) { 7697 item.content = item.content.replace( 7698 /<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm, 7699 "" 7700 ); 7701 } 7702 7703 var ob = BX.processHTML(item.content); 7704 7705 // stop ya metrika webvisor DOM indexer 7706 pauseYmObserver(); 7707 7708 item.block.removeAttr("data-file").removeClass("loader_circle"); 7709 7710 if (item.block.data("appendTo")) { 7711 item.block.find(item.block.data("appendTo"))[0].innerHTML = ob.HTML; 7712 } else { 7713 if (item.block.find('> div[id*="bx_incl_"]').length) { 7714 item.block.find('> div[id*="bx_incl_"]')[0].innerHTML = ob.HTML; 7715 } else { 7716 item.block[0].innerHTML = ob.HTML; 7717 } 7718 } 7719 7720 BX.ajax.processScripts(ob.SCRIPT); 7721 7722 var eventdata = { action: "jsLoadBlock" }; 7723 BX.onCustomEvent("onCompleteAction", [eventdata, item.block]); 7724 7725 // resume ya metrika webvisor 7726 // 500ms 7727 setTimeout(resumeYmObserver, 500); 7728 7729 bIdle = true; 7730 insertNextBlockContent(); 7731 } 7732 } 7733 }; 7734 7735 $(".js-load-block").appear( 7736 function () { 7737 var $this = $(this); 7738 7739 if ($this.data("file")) { 7740 var add_url = bClearCache ? "?clear_cache=Y" : ""; 7741 if ($this.data("block")) { 7742 if ($this.data("file").indexOf("?") !== -1) { 7743 if (bClearCache) { 7744 add_url = add_url.slice(1); 7745 } 7746 add_url += "&BLOCK=" + $this.data("block"); 7747 } else { 7748 add_url += (bClearCache ? "&" : "?") + "BLOCK=" + $this.data("block"); 7749 } 7750 } 7751 7752 // get content 7753 $.get($this.data("file") + add_url).done(function (html) { 7754 items.push({ 7755 block: $this, 7756 content: html, 7757 }); 7758 7759 if (items.length == 1) { 7760 setTimeout(insertNextBlockContent, 100); 7761 } 7762 }); 7763 } 7764 }, 7765 { accX: 0, accY: isMobile ? 300 : 150 } 7766 ); 7767 } 7768 7769 /*show ajax store amount product*/ 7770 $(document).on("click", ".js-show-info-block", function (e) { 7771 if (window.matchMedia("(max-width: 500px)").matches) { 7772 return; 7773 } 7774 var $this = $(this); 7775 e.stopPropagation(); 7776 $(".js-info-block").fadeOut(); 7777 7778 if ($this.hasClass("opened")) { 7779 $(".js-show-info-block").removeClass("opened"); 7780 } else { 7781 $(".js-show-info-block").removeClass("opened"); 7782 $this.addClass("opened"); 7783 } 7784 7785 if (!$this.siblings(".js-info-block").length) { 7786 var dataFields = $this.closest(".sa_block").data("fields"); 7787 dataFields = dataFields == "null" || dataFields === undefined ? "" : dataFields; 7788 var dataUserFields = $this.closest(".sa_block").data("user-fields"); 7789 dataUserFields = dataUserFields == "null" || dataUserFields === undefined ? "" : dataUserFields; 7790 var objUrl = parseUrlQuery(), 7791 add_url = ""; 7792 if ("clear_cache" in objUrl) { 7793 if (objUrl.clear_cache == "Y") add_url += "?clear_cache=Y"; 7794 } 7795 7796 var obPostParams = { 7797 ajax: "Y", 7798 ELEMENT_ID: $this.data("id"), 7799 FIELDS: dataFields, 7800 USER_FIELDS: dataUserFields, 7801 STORES: $this.closest(".sa_block").data("stores") || "", 7802 }; 7803 7804 $this.addClass("loadings"); 7805 $.post(arAsproOptions["SITE_DIR"] + "ajax/productStoreAmountCompact.php" + add_url, obPostParams).done(function ( 7806 html 7807 ) { 7808 $this.removeClass("loadings"); 7809 $(html).appendTo($this.closest(".sa_block")); 7810 7811 $this 7812 .siblings(".js-info-block") 7813 .find(".more-btn a") 7814 .attr("href", $this.closest(".item_info").find("a").attr("href")); 7815 InitScrollBar(); 7816 7817 var eventdata = { action: "jsShowStores" }; 7818 BX.onCustomEvent("onCompleteAction", [eventdata, $this]); 7819 }); 7820 } else { 7821 if ($this.hasClass("opened")) { 7822 $this 7823 .siblings(".js-info-block") 7824 .find(".more-btn a") 7825 .attr("href", $this.closest(".item_info").find("a").attr("href")); 7826 $this.siblings(".js-info-block").fadeIn(); 7827 InitScrollBar(); 7828 } else { 7829 $this.siblings(".js-info-block").fadeOut(); 7830 } 7831 } 7832 }); 7833 $(document).on("click", ".js-info-block .svg-inline-close", function () { 7834 $(".js-show-info-block").removeClass("opened");
7835 $(this).closest(".js-info-block").fadeOut(); 7836 }); 7837 /**/ 7838 7839 /*adaptive menu start*/ 7840 $(".menu.adaptive").on("click", function () { 7841 $(this).toggleClass("opened"); 7842 if ($(this).hasClass("opened")) { 7843 $(".mobile_menu").toggleClass("opened").slideDown(); 7844 } else { 7845 $(".mobile_menu").toggleClass("opened").slideUp(); 7846 } 7847 }); 7848 $(".mobile_menu .has-child >a").on("click", function (e) { 7849 var parentLi = $(this).parent(); 7850 e.preventDefault(); 7851 parentLi.toggleClass("opened"); 7852 parentLi.find(".dropdown").slideToggle(); 7853 }); 7854 7855 $(".mobile_menu .search-input-div input").on("keyup", function (e) { 7856 var inputValue = $(this).val(); 7857 $(".center_block .stitle_form input").val(inputValue); 7858 if (e.keyCode == 13) { 7859 $(".center_block .stitle_form form").submit(); 7860 } 7861 }); 7862 7863 $(".center_block .stitle_form input").on("keyup", function (e) { 7864 var inputValue = $(this).val(); 7865 $(".mobile_menu .search-input-div input").val(inputValue); 7866 if (e.keyCode == 13) { 7867 $(".center_block .stitle_form form").submit(); 7868 } 7869 }); 7870 7871 $(".mobile_menu .search-button-div button").on("click", function (e) { 7872 e.preventDefault(); 7873 var inputValue = $(this).parents().find("input").val(); 7874 $(".center_block .stitle_form input").val(inputValue); 7875 $(".center_block .stitle_form form").submit(); 7876 }); 7877 /*adaptive menu end*/ 7878 7879 $(document).on("click", ".mega-menu .dropdown-menu", function (e) { 7880 e.stopPropagation(); 7881 }); 7882 7883 $(document).on("click", ".mega-menu .dropdown-toggle.more-items", function (e) { 7884 e.preventDefault(); 7885 }); 7886 7887 $(document).on( 7888 "mouseenter", 7889 ".table-menu .dropdown,.table-menu .dropdown-submenu,.table-menu .dropdown-toggle", 7890 function () { 7891 // setTimeout( 7892 // function() { 7893 // CheckTopVisibleMenu(); 7894 // }, 275); 7895 } 7896 ); 7897 $(document).on("mouseenter", "#headerfixed .table-menu .dropdown-menu .dropdown-submenu", function () { 7898 setTimeout(function () { 7899 CheckTopVisibleMenu(); 7900 }, 275); 7901 }); 7902 7903 $(".mega-menu .search-item .search-icon, .menu-row #title-search .fa-close").on("click", function (e) { 7904 e.preventDefault(); 7905 $(".menu-row #title-search").toggleClass("hide"); 7906 }); 7907 7908 $(".mega-menu ul.nav .search input").on("keyup", function (e) { 7909 var inputValue = $(this).val(); 7910 $(".menu-row > .search input").val(inputValue); 7911 if (e.keyCode == 13) { 7912 $(".menu-row > .search form").submit(); 7913 } 7914 }); 7915 7916 $(".menu-row > .search input").on("keyup", function (e) { 7917 var inputValue = $(this).val(); 7918 $(".mega-menu ul.nav .search input").val(inputValue); 7919 if (e.keyCode == 13) { 7920 $(".menu-row > .search form").submit(); 7921 } 7922 }); 7923 7924 $(".mega-menu ul.nav .search button").on("click", function (e) { 7925 e.preventDefault(); 7926 var inputValue = $(this).parents(".search").find("input").val(); 7927 $(".menu-and-search .search input").val(inputValue); 7928 $(".menu-row > .search form").submit(); 7929 }); 7930 7931 $(".btn.btn-add").on("click", function () { 7932 $.ajax({ 7933 type: "GET", 7934 url: arAsproOptions["SITE_DIR"] + "ajax/clearBasket.php", 7935 success: function (data) {}, 7936 }); 7937 }); 7938 7939 $(".sort_display a").on("click", function () { 7940 $(this).siblings().removeClass("current"); 7941 $(this).addClass("current"); 7942 }); 7943 7944 /*detail order show payments*/ 7945 $(".sale-order-detail-payment-options-methods-info-change-link").on("click", function () { 7946 $(this).closest(".sale-order-detail-payment-options-methods-info").addClass("opened").siblings().addClass("opened"); 7947 }); 7948 7949 /*expand/hide filter values*/ 7950 $(document).on("click", ".expand_block", function () { 7951 togglePropBlock($(this)); 7952 }); 7953 7954 /*touch event*/ 7955 document.addEventListener( 7956 "touchend", 7957 function (event) { 7958 if (!$(event.target).closest(".menu-item").length && !$(event.target).hasClass("menu-item")) { 7959 $(".menu-row .dropdown-menu").css({ display: "none", opacity: 0 }); 7960 $(".menu-item").removeClass("hover"); 7961 $(".bx-breadcrumb-item.drop").removeClass("hover"); 7962 } 7963 if (!$(event.target).closest(".menu.topest").length) { 7964 $(".menu.topest").css({ overflow: "hidden" }); 7965 $(".menu.topest > li").removeClass("hover"); 7966 } 7967 if (!$(event.target).closest(".full.has-child").length) { 7968 $(".menu_top_block.catalog_block li").removeClass("hover"); 7969 } 7970 if (!$(event.target).closest(".basket_block").length) { 7971 $(".basket_block .link").removeClass("hover");
7972 $(".basket_block .basket_popup_wrapp").slideUp(); 7973 } 7974 if (!$(event.target).closest(".catalog_item").length) { 7975 var tabsContentUnhoverHover = $(".tab:visible").attr("data-unhover") * 1; 7976 $(".tab:visible").stop().animate({ height: tabsContentUnhoverHover }, 100); 7977 $(".tab:visible").find(".catalog_item").removeClass("hover"); 7978 $(".tab:visible").find(".catalog_item .buttons_block").stop().fadeOut(233); 7979 if ($(".catalog_block").length) { 7980 $(".catalog_block").find(".catalog_item_wrapp").removeClass("hover"); 7981 $(".catalog_block").find(".catalog_item").removeClass("hover"); 7982 } 7983 } 7984 //togglePropBlock($(event.target)); 7985 }, 7986 false 7987 ); 7988 7989 touchMenu(".menu-row .menu-item"); 7990 touchTopMenu(".menu.topest li"); 7991 touchLeftMenu(".menu_top_block:not(.in-search) li.full"); 7992 touchBreadcrumbs(".bx-breadcrumb-item.drop"); 7993 7994 $(document).on("keyup", ".coupon .input_coupon input", function () { 7995 if ($(this).val().length) { 7996 $(this).removeClass("error"); 7997 $(this).closest(".input_coupon").find(".error").remove(); 7998 } else { 7999 $(this).addClass("error"); 8000 $("<label class='error'>" + BX.message("INPUT_COUPON") + "</label>").insertBefore($(this)); 8001 } 8002 }); 8003 showPhoneMask("input[autocomplete=tel]"); 8004 BX.addCustomEvent(window, "onAjaxSuccessFilter", function (e) { 8005 setBasketStatusBtn(); 8006 checkLinkedArticles(); 8007 checkLinkedBlocks(".linked-banners-list"); 8008 }); 8009 8010 $(document).on("click", ".block_container .items .item.initied", function () { 8011 var _this = $(this), 8012 itemID = _this.data("id"), 8013 animationTime = 200; 8014 8015 _this.closest(".items").fadeOut(animationTime, function () { 8016 _this.closest(".block_container").find(".detail_items").fadeIn(animationTime); 8017 _this 8018 .closest(".block_container") 8019 .find(".detail_items .item[data-id=" + itemID + "]") 8020 .fadeIn(animationTime); 8021 8022 var arCoordinates = _this.data("coordinates").split(","); 8023 8024 if (typeof map !== "undefined") map.setCenter([arCoordinates[0], arCoordinates[1]], 15); 8025 }); 8026 }); 8027 8028 $(document).on("click", ".block_container .top-close", function () { 8029 var _this = $(this).closest(".block_container").find(".detail_items .item:visible"), 8030 animationTime = 200; 8031 _this.fadeOut(animationTime); 8032 _this 8033 .closest(".block_container") 8034 .find(".detail_items") 8035 .fadeOut(animationTime, function () { 8036 _this.closest(".block_container").find(".items").fadeIn(animationTime); 8037 8038 if (typeof map !== "undefined" && typeof clusterer !== "undefined") { 8039 map.setBounds(clusterer.getBounds(), { 8040 zoomMargin: 40, 8041 // checkZoomRange: true 8042 }); 8043 } 8044 }); 8045 }); 8046 8047 BX.addCustomEvent(window, "onAjaxSuccess", function (e) { 8048 if (e != "OK") { 8049 initSelects(document); 8050 InitOrderCustom(); 8051 showPhoneMask("input[autocomplete=tel]"); 8052 8053 /*scroll in mobile for filter*/ 8054 if ($(".bx_filter").length) { 8055 if (window.matchMedia("(min-width: 768px)").matches) { 8056 // min-width: 768px 8057 $(".bx_filter .scrollbar").removeClass("mobile-scroll"); 8058 $(".bx_filter .srollbar-custom").removeClass("mobile-scroll"); 8059 $(".bx_filter .bx_filter_section form .bx_filter_parameters").removeClass("mobile-scroll"); 8060 InitScrollBar(); 8061 InitCustomScrollBar(); 8062 } else { 8063 // max-width: 767px 8064 $(".bx_filter .scrollbar").addClass("mobile-scroll").removeClass("scroll-init"); 8065 $(".bx_filter .srollbar-custom").addClass("mobile-scroll").removeClass("scroll-init"); 8066 $(".bx_filter .bx_filter_section form .bx_filter_parameters") 8067 .addClass("mobile-scroll") 8068 .removeClass("scroll-init"); 8069 if ($(".bx_filter .mobile-scroll.scrollbar").length) 8070 $(".bx_filter .mobile-scroll.scrollbar").mCustomScrollbar("destroy"); 8071 if ($(".bx_filter .mobile-scroll.srollbar-custom").length) 8072 $(".bx_filter .mobile-scroll.srollbar-custom").mCustomScrollbar("destroy"); 8073 } 8074 } 8075 /*end*/ 8076 8077 if ($(".catalog_detail").length && !$(".fast_view_frame").length) { 8078 $(".bx_filter").remove(); 8079 InitFlexSlider(); 8080 InitOwlSlider(); 8081 } 8082 8083 if (arAsproOptions["PAGES"]["CATALOG_PAGE"]) { 8084 initCountdown(); 8085 8086 if (typeof window["stickySidebar"] !== "undefined") window["stickySidebar"].updateSticky(); 8087 } 8088 8089 if (arAsproOptions["PAGES"]["ORDER_PAGE"]) { 8090 orderActions(e); 8091 } 8092 8093 if (e && typeof e === "object" && "action" in e && e.action === "ajaxContentLoadedTab") { 8094 lazyLoadPagenBlock(); 8095 } 8096 8097 InitStickySideBar(); 8098 } 8099 }); 8100 8101 //event for default basket quantity change 8102 BX.addCustomEvent(window, "OnBasketChange", function (e) { 8103 if (arAsproOptions["PAGES"]["BASKET_PAGE"]) { 8104 var summ = 0, 8105 title = ""; 8106 8107 if (typeof BX.Sale !== "undefined") { 8108 if (typeof BX.Sale.BasketComponent !== "undefined") { 8109 summ = BX.Sale.BasketComponent.result.allSum; 8110 title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ); 8111 } 8112 } else { 8113 summ = $("#allSum_FORMATED") 8114 .html() 8115 .replace(/ /g, " "); 8116 title = BX.message("JS_BASKET_COUNT_TITLE").replace("SUMM", summ); 8117 } 8118 8119 if ($(".js-basket-block .wrap .prices").length) $(".js-basket-block .wrap .prices").html(summ); 8120 if ($("a.basket-link.basket").length) $("a.basket-link.basket").attr("title", title); 8121 if ($(".basket_fly .opener .basket_count").length) $(".basket_fly .opener .basket_count").attr("title", title); 8122 } 8123 }); 8124}); 8125 8126if (!funcDefined("setBasketStatusBtn")) { 8127 setBasketStatusBtn = function (type) { 8128 var bSync = typeof type !== undefined; 8129 if (typeof arBasketAspro !== "undefined") { 8130 if ("BASKET" in arBasketAspro) { 8131 // basket items 8132 if (arBasketAspro.BASKET) { 8133 for (var i in arBasketAspro.BASKET) { 8134 $(".to-cart[data-item=" + i + "]").hide(); 8135 $(".counter_block[data-item=" + i + "]") 8136 .closest(".counter_block_inner") 8137 .hide(); 8138 $(".counter_block[data-item=" + i + "]").hide(); 8139 $(".in-cart[data-item=" + i + "]").show(); 8140 $(".in-cart[data-item=" + i + "]") 8141 .closest(".button_block") 8142 .addClass("wide"); 8143 8144 $(".wish_item.to[data-item=" + i + "]").show(); 8145 $(".wish_item.in[data-item=" + i + "]").hide(); 8146 8147 if ($(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").length) { 8148 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").addClass("added"); 8149 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").attr( 8150 "title", 8151 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .basket_item_add").data("title2") 8152 ); 8153 } 8154 } 8155 } 8156 } 8157 8158 /*services*/ 8159 if ("SERVICES" in arBasketAspro) { 8160 // services items 8161 $needFillServices = $(".buy_services_wrap[data-parent_product]").length; 8162 if (arBasketAspro.SERVICES && $needFillServices) { 8163 for (var i in arBasketAspro.SERVICES) { 8164 var serviceItem = $( 8165 ".buy_services_wrap[data-parent_product=" + 8166 arBasketAspro.SERVICES[i].link_id + 8167 "] .services-item[data-item_id=" + 8168 arBasketAspro.SERVICES[i].item_id + 8169 "]" 8170 ); 8171 serviceItem.find('input[name="buy_switch_services"]').prop("checked", true); 8172 serviceItem.find('.counter_block input[name="quantity"]').val(arBasketAspro.SERVICES[i].quantity); 8173 serviceItem.addClass("services_on"); 8174 } 8175 } 8176 } 8177 /**/ 8178 8179 if ("DELAY" in arBasketAspro) { 8180 // delay items 8181 if (arBasketAspro.DELAY) { 8182 for (var i in arBasketAspro.DELAY) { 8183 $(".wish_item.to[data-item=" + i + "]").hide(); 8184 $(".wish_item.in[data-item=" + i + "]").show(); 8185 if ($(".wish_item[data-item=" + i + "]").find(".value.added").length) { 8186 //$('.wish_item[data-item='+i+']').addClass("added"); 8187 $(".wish_item[data-item=" + i + "]") 8188 .find(".value") 8189 .hide(); 8190 $(".wish_item[data-item=" + i + "]") 8191 .find(".value.added") 8192 .css("display", "block"); 8193 } 8194 8195 $(".in-cart[data-item=" + i + "]").hide(); 8196 $(".to-cart[data-item=" + i + "]").show(); 8197 $(".to-cart[data-item=" + i + "]") 8198 .closest(".counter_wrapp") 8199 .find(".counter_block_inner") 8200 .show(); 8201 $(".to-cart[data-item=" + i + "]") 8202 .closest(".counter_wrapp") 8203 .find(".counter_block") 8204 .show(); 8205 $(".to-cart[data-item=" + i + "]") 8206 .closest(".button_block") 8207 .removeClass("wide"); 8208 8209 if ($(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .wish_item_add").length) { 8210 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .wish_item_add").addClass("added"); 8211 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .wish_item_add").attr( 8212 "title", 8213 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .wish_item_add").data("title2") 8214 ); 8215 } 8216 } 8217 } 8218 } 8219 8220 if ("SUBSCRIBE" in arBasketAspro) { 8221 // subscribe items 8222 if (arBasketAspro.SUBSCRIBE) { 8223 for (var i in arBasketAspro.SUBSCRIBE) { 8224 $(".to-subscribe[data-item=" + i + "]").hide(); 8225 $(".in-subscribe[data-item=" + i + "]").show(); 8226 } 8227 } 8228 } 8229 8230 if ("COMPARE" in arBasketAspro) { 8231 // compare items 8232 if (arBasketAspro.COMPARE) { 8233 for (var i in arBasketAspro.COMPARE) { 8234 $(".compare_item.to[data-item=" + i + "]").hide(); 8235 $(".compare_item.in[data-item=" + i + "]").show(); 8236 if ($(".compare_item[data-item=" + i + "]").find(".value.added").length) { 8237 //$('.compare_item[data-item='+i+']').addClass("added"); 8238 $(".compare_item[data-item=" + i + "]") 8239 .find(".value") 8240 .hide(); 8241 $(".compare_item[data-item=" + i + "]") 8242 .find(".value.added") 8243 .css("display", "block"); 8244 } 8245 8246 if ($(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .compare_item_add").length) { 8247 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .compare_item_add").addClass("added"); 8248 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .compare_item_add").attr( 8249 "title", 8250 $(".banner_buttons.with_actions .wraps_buttons[data-id=" + i + "] .compare_item_add").data("title2") 8251 ); 8252 } 8253 } 8254 } 8255 } 8256 } 8257 }; 8258} 8259 8260if (!funcDefined("togglePropBlock")) { 8261 togglePropBlock = function (className) { 8262 var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values"); 8263 if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) { 8264 if (all_props_block.is(":visible")) { 8265 className.text(BX.message("FILTER_EXPAND_VALUES")); 8266 all_props_block.hide(); 8267 } else { 8268 className.text(BX.message("FILTER_HIDE_VALUES")); 8269 all_props_block.show(); 8270 } 8271 } 8272 }; 8273} 8274 8275if (!funcDefined("showPhoneMask")) { 8276 showPhoneMask = function (className) { 8277 $(className).inputmask("mask", { mask: arAsproOptions["THEME"]["PHONE_MASK"], showMaskOnHover: false }); 8278 }; 8279} 8280 8281if (!funcDefined("getActualBasket")) { 8282 getActualBasket = function (iblockID, type, sync) { 8283 var data = ""; 8284 if (typeof iblockID !== "undefined" && iblockID) { 8285 data = { iblockID: iblockID }; 8286 } 8287 $.ajax({ 8288 type: "GET", 8289 url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php", 8290 data: data, 8291 success: function (data) { 8292 if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>'); 8293 $(".js_ajax").html(data); 8294 8295 if (typeof sync !== "undefined") { 8296 setBasketStatusBtn(true); 8297 } 8298 8299 if (typeof type !== undefined) { 8300 var eventdata = { action: "loadActualBasket" + type }; 8301 BX.onCustomEvent("onCompleteAction", [eventdata]); 8302 } 8303 }, 8304 }); 8305 }; 8306} 8307 8308if (!funcDefined("reloadBasketCounters")) { 8309 reloadBasketCounters = function (count, sync) { 8310 var data = ""; 8311 if (count) { 8312 $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text(count); 8313 } else { 8314 $.ajax({ 8315 type: "GET", 8316 url: arAsproOptions["SITE_DIR"] + "ajax/actualBasket.php", 8317 data: data, 8318 success: function (data) { 8319 if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>'); 8320 $(".js_ajax").html(data); 8321 var countServices = 8322 typeof arBasketAspro.SERVICES !== "undefined" ? Object.keys(arBasketAspro.SERVICES).length : 0; 8323 $(".basket-link.basket .count, .wraps_icon_block.basket .count .items > span").text( 8324 Object.keys(arBasketAspro.BASKET).length + countServices 8325 ); 8326 $(".basket-link.delay .count, .wraps_icon_block.delay .count .items > span").text( 8327 Object.keys(arBasketAspro.DELAY).length 8328 ); 8329 $(".basket-link.compare .count, .wraps_icon_block.compare .count .items > span").text( 8330 Object.keys(arBasketAspro.COMPARE).length 8331 ); 8332 8333 if (typeof sync !== "undefined") { 8334 setBasketStatusBtn(true); 8335 } 8336 }, 8337 }); 8338 } 8339 }; 8340} 8341 8342function touchMenu(selector) { 8343 if (isMobile) { 8344 if ($(selector).length) { 8345 $(selector).each(function () { 8346 var th = $(this); 8347 th.on("touchend", function (e) { 8348 var _th = $(e.target).closest(".menu-item"); 8349 8350 $(".menu.topest > li").removeClass("hover"); 8351 $(".menu_top_block.catalog_block li").removeClass("hover"); 8352 $(".bx-breadcrumb-item.drop").removeClass("hover"); 8353 8354 if (_th.find(".dropdown-menu").length && !_th.hasClass("hover")) { 8355 e.preventDefault(); 8356 e.stopPropagation(); 8357 _th.siblings().removeClass("hover"); 8358 _th.addClass("hover"); 8359 $(".menu-row .dropdown-menu").css({ display: "none", opacity: 0 }); 8360 if (_th.hasClass("menu-item")) { 8361 _th.closest(".dropdown-menu").css({ display: "block", opacity: 1 }); 8362 } 8363 if (_th.find("> .wrap > .dropdown-menu")) { 8364 _th.find("> .wrap > .dropdown-menu").css({ display: "block", opacity: 1 }); 8365 } else if (_th.find("> .dropdown-menu")) { 8366 _th.find("> .dropdown-menu").css({ display: "block", opacity: 1 }); 8367 } 8368 CheckTopVisibleMenu(); 8369 } else { 8370 var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href"); 8371 if (href && href !== "undefined") location.href = href; 8372 } 8373 }); 8374 }); 8375 } 8376 } else { 8377 $(selector).off(); 8378 } 8379} 8380 8381function touchTopMenu(selector) { 8382 if (isMobile) { 8383 if ($(selector).length) { 8384 $(selector).each(function () { 8385 var th = $(this); 8386 th.on("touchend", function (e) { 8387 var _th = $(e.target).closest("li"); 8388 8389 $(".menu-item").removeClass("hover"); 8390 $(".menu_top_block.catalog_block li").removeClass("hover"); 8391 $(".bx-breadcrumb-item.drop").removeClass("hover"); 8392 8393 if (_th.hasClass("more") && !_th.hasClass("hover")) { 8394 e.preventDefault(); 8395 e.stopPropagation(); 8396 _th.siblings().removeClass("hover"); 8397 _th.addClass("hover"); 8398 $(".menu.topest").css({ overflow: "visible" }); 8399 } else { 8400 var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr(
8400"href"); 8401 if (href && href !== "undefined") location.href = href; 8402 } 8403 }); 8404 }); 8405 } 8406 } else { 8407 $(selector).off(); 8408 } 8409} 8410 8411function touchLeftMenu(selector) { 8412 if (isMobile) { 8413 if ($(selector).length) { 8414 $(selector).each(function () { 8415 var th = $(this); 8416 th.on("touchend", function (e) { 8417 var _th = $(e.target).closest("li"); 8418 8419 $(".menu-item").removeClass("hover"); 8420 $(".bx-breadcrumb-item.drop").removeClass("hover"); 8421 $(".menu.topest > li").removeClass("hover"); 8422 8423 if (_th.hasClass("has-child") && !_th.hasClass("hover")) { 8424 e.preventDefault(); 8425 e.stopPropagation(); 8426 _th.siblings().removeClass("hover"); 8427 _th.addClass("hover"); 8428 } else { 8429 var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href"); 8430 if (href && href !== "undefined") location.href = href; 8431 } 8432 }); 8433 }); 8434 } 8435 } else { 8436 $(selector).off(); 8437 } 8438} 8439 8440function touchBreadcrumbs(selector) { 8441 if (isMobile) { 8442 if ($(selector).length) { 8443 $(selector).each(function () { 8444 var th = $(this); 8445 th.on("touchend", function (e) { 8446 var _th = $(e.target).closest(".bx-breadcrumb-item"); 8447 8448 $(".menu-item").removeClass("hover"); 8449 $(".menu.topest > li").removeClass("hover"); 8450 $(".menu_top_block.catalog_block li").removeClass("hover"); 8451 8452 if (!_th.hasClass("hover")) { 8453 e.preventDefault(); 8454 e.stopPropagation(); 8455 _th.siblings().removeClass("hover"); 8456 _th.addClass("hover"); 8457 } else { 8458 _th.removeClass("hover"); 8459 var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href"); 8460 if (href && href !== "undefined") location.href = href; 8461 } 8462 }); 8463 }); 8464 } 8465 } else { 8466 $(selector).off(); 8467 } 8468} 8469 8470function touchItemBlock(selector) { 8471 /*if(isMobile){ 8472 if($(selector).length) 8473 { 8474 $(selector).each(function(){ 8475 var th=$(this), 8476 item=th.closest('.catalog_item'); 8477 th.on('touchend', function(e) { 8478 if (!item.hasClass('hover')) { 8479 e.preventDefault(); 8480 // e.stopPropagation(); 8481 item.siblings().removeClass('hover'); 8482 item.siblings().blur(); 8483 item.closest('.catalog_block').find('.catalog_item').removeClass('hover'); 8484 item.addClass('hover'); 8485 item.addClass('touch'); 8486 8487 var tabsContentHover = th.closest('.tab').attr('data-hover') * 1, 8488 tabsContentUnhoverHover = th.closest('.tab').attr('data-unhover') * 1; 8489 8490 th.closest('.tab').stop().animate({'height': tabsContentUnhoverHover}, 100); 8491 th.closest('.catalog_item').siblings().find('.buttons_block').stop().fadeOut(233) 8492 8493 th.closest('.tab').fadeTo(100, 1); 8494 th.closest('.tab').stop().css({'height': tabsContentHover}); 8495 th.closest('.catalog_item').find('.buttons_block').fadeIn(450, 'easeOutCirc'); 8496 } 8497 }) 8498 }) 8499 } 8500 }else{ 8501 $(selector).off(); 8502 }*/ 8503} 8504function touchBasket(selector) { 8505 if (arAsproOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 8506 if ($(window).outerWidth() > 600) { 8507 $(document) 8508 .find(selector) 8509 .on("touchend", function (e) { 8510 if ($(this).parent().find(".basket_popup_wrapp").length && !$(this).hasClass("hover")) { 8511 e.preventDefault(); 8512 e.stopPropagation(); 8513 $(this).addClass("hover"); 8514 $(this).parent().find(".basket_popup_wrapp").slideDown(); 8515 } 8516 }); 8517 } else { 8518 $(selector).off(); 8519 } 8520 } 8521} 8522 8523function showTotalSummItem(popup) { 8524 //show total summ 8525 if ( 8526 arAsproOptions["THEME"]["SHOW_TOTAL_SUMM_TYPE"] == "ALWAYS" && 8527 arAsproOptions["THEME"]["SHOW_TOTAL_SUMM"] == "Y" 8528 ) { 8529 var parent = "body "; 8530 if (typeof popup === "string" && popup == "Y") parent = ".popup "; 8531 $(parent + ".counter_wrapp .counter_block input.text").each(function () { 8532 var _th = $(this); 8533 if (_th.data("product")) { 8534 var obProduct = _th.data("product"); 8535 if (typeof window[obProduct] == "object") window[obProduct].setPriceAction("Y"); 8536 else setPriceItem(_th.closest(".main_item_wrapper"), _th.val()); 8537 } else setPriceItem(_th.closest(".main_item_wrapper"), _th.val()); 8538 }); 8539 } 8540} 8541 8542function initFull() { 8543 initSelects(document); 8544 initHoverBlock(document); 8545 touchItemBlock(".catalog_item a"); 8546 InitOrderCustom(); 8547 showTotalSummItem(); 8548 basketActions(); 8549 orderActions(); 8550 8551 checkMobileRegion(); 8552} 8553 8554checkMobileRegion = function () { 8555 if ($(".confirm_region").length) { 8556 if (!$(".top_mobile_region").length) 8557 $( 8558 '<div class="top_mobile_region"><div class="confirm_wrapper"><div class="confirm_region"></div></div></div>' 8559 ).insertBefore($("#mobileheader")); 8560 $(".top_mobile_region .confirm_region").html($(".confirm_region").html()); 8561 8562 /*$('.top_mobile_region .close_popup').click(function(){ 8563 $(this).remove(); 8564 $('.confirm_region').remove(); 8565 })*/ 8566 } 8567}; 8568if (!funcDefined("orderActions")) { 8569 orderActions = function (e) { 8570 if (arAsproOptions["PAGES"]["ORDER_PAGE"]) { 8571 //phone 8572 if ($("#bx-soa-order input[autocomplete=tel]").length) { 8573 // get property phone 8574 for (var i = 0; i < BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties.length; ++i) { 8575 if (BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i].IS_PHONE == "Y") { 8576 var arPropertyPhone = BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i]; 8577 } 8578 } 8579 8580 // validate input type=tel 8581 if ( 8582 typeof BX.Sale.OrderAjaxComponent !== "undefined" && 8583 typeof BX.Sale.OrderAjaxComponent === "object" && 8584 typeof arPropertyPhone == "object" && 8585 arPropertyPhone 8586 ) { 8587 BX.Sale.OrderAjaxComponent.validatePhone = function (input, arProperty, fieldName) { 8588 if (!input || !arProperty) return []; 8589 8590 var value = input.value, 8591 errors = [], 8592 name = BX.util.htmlspecialchars(arProperty.NAME), 8593 field = BX.message("SOA_FIELD") + ' "' + name + '"', 8594 re; 8595 8596 if (arProperty.REQUIRED == "Y" && value.length == 0) { 8597 errors.push(field + " " + BX.message("SOA_REQUIRED")); 8598 } 8599 8600 if (arProperty.IS_PHONE == "Y" && value.length > 0) { 8601 function regexpPhone(value, element, regexp) { 8602 var re = new RegExp(regexp); 8603 return re.test(value); 8604 } 8605
8606 var validPhone = regexpPhone($(input).val(), $(input), arAsproOptions["THEME"]["VALIDATE_PHONE_MASK"]); 8607 8608 if (!validPhone) { 8609 errors.push(field + " " + BX.message("JS_FORMAT_ORDER")); 8610 } 8611 } 8612 8613 return errors; 8614 }; 8615 8616 BX.Sale.OrderAjaxComponent.getValidationDataPhone = function (arProperty, propContainer) { 8617 var data = {}, 8618 inputs; 8619 switch (arProperty.TYPE) { 8620 case "STRING": 8621 data.action = "blur"; 8622 data.func = BX.delegate(function (input, fieldName) { 8623 return this.validatePhone(input, arProperty, fieldName); 8624 }, this); 8625 8626 inputs = propContainer.querySelectorAll("input[type=tel]"); 8627 if ($(inputs).length) { 8628 data.inputs = inputs; 8629 break; 8630 } 8631 } 8632 8633 return data; 8634 }; 8635 8636 BX.Sale.OrderAjaxComponent.bindValidationPhone = function (id, propContainer) { 8637 if (!this.validation.properties || !this.validation.properties[id]) return; 8638 8639 var arProperty = this.validation.properties[id], 8640 data = this.getValidationDataPhone(arProperty, propContainer), 8641 i, 8642 k; 8643 8644 if (data && data.inputs && data.action) { 8645 for (i = 0; i < $(data.inputs).length; i++) { 8646 if (BX.type.isElementNode(data.inputs[i])) { 8647 BX.bind( 8648 data.inputs[i], 8649 data.action, 8650 BX.delegate(function () { 8651 this.isValidProperty(data); 8652 }, this) 8653 ); 8654 } else { 8655 for (k = 0; k < $(data.inputs[i]).length; k++) 8656 BX.bind( 8657 data.inputs[i][k], 8658 data.action, 8659 BX.delegate(function () { 8660 this.isValidProperty(data); 8661 }, this) 8662 ); 8663 } 8664 } 8665 } 8666 }; 8667 8668 BX.Sale.OrderAjaxComponent.isValidPropertiesBlock = function (excludeLocation) { 8669 if (!this.options.propertyValidation) return []; 8670 8671 var props = this.orderBlockNode.querySelectorAll(".bx-soa-customer-field[data-property-id-row]"), 8672 propsErrors = [], 8673 id, 8674 propContainer, 8675 arProperty, 8676 data, 8677 i; 8678 8679 for (i = 0; i < props.length; i++) { 8680 id = props[i].getAttribute("data-property-id-row"); 8681 8682 if (!!excludeLocation && this.locations[id]) continue; 8683 8684 propContainer = props[i].querySelector(".soa-property-container"); 8685 if (propContainer) { 8686 arProperty = this.validation.properties[id]; 8687 data = this.getValidationData(arProperty, propContainer); 8688 dataPhone = this.getValidationDataPhone(arProperty, propContainer); 8689 data = $.extend({}, data, dataPhone); 8690 8691 propsErrors = propsErrors.concat(this.isValidProperty(data, true)); 8692 } 8693 } 8694 8695 return propsErrors; 8696 }; 8697 8698 // create input type=tel 8699 var input = $("input[autocomplete=tel]"), 8700 inputHTML = input[0].outerHTML, 8701 value = input.val(), 8702 newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="' + value + '"'); 8703 8704 if ($(input).length < 2) { 8705 input.hide(); 8706 $(newInput).insertAfter(input); 8707 } 8708 showPhoneMask("input[autocomplete=tel][type=tel]"); 8709 8710 // change value input type=text when change input type=tel 8711 $("input[autocomplete=tel][type=tel]").on("blur", function () { 8712 var $this = $(this); 8713 8714 var value = $this.val(); 8715 $this.parent().find("input[autocomplete=tel][type=text]").val(value); 8716 }); 8717 8718 BX.Sale.OrderAjaxComponent.bindValidationPhone(arPropertyPhone.ID, $("input[autocomplete=tel]").parent()[0]); 8719 } 8720 } 8721 8722 if ($(".bx-soa-cart-total").length) { 8723 if (!$(".change_basket").length) 8724 $(".bx-soa-cart-total").prepend( 8725 '<div class="change_basket">
8725' + 8726 BX.message("BASKET_CHANGE_TITLE") + 8727 '<a href="' + 8728 arAsproOptions["SITE_DIR"] + 8729 'basket/" class="change_link">' + 8730 BX.message("BASKET_CHANGE_LINK") + 8731 "</a></div>" 8732 ); 8733 8734 if (typeof BX.Sale.OrderAjaxComponent == "object") { 8735 if (arAsproOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") { 8736 if (typeof BX.Sale.OrderAjaxComponent.reachgoalbegin === "undefined") { 8737 BX.Sale.OrderAjaxComponent.reachgoalbegin = true; 8738 var eventdata = { goal: "goal_order_begin" }; 8739 BX.onCustomEvent("onCounterGoals", [eventdata]); 8740 } 8741 } 8742 8743 if (BX.Sale.OrderAjaxComponent.hasOwnProperty("params")) { 8744 $(".bx-soa-cart-total .change_link").attr("href", BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET); 8745 if (arAsproOptions["PRICES"]["MIN_PRICE"]) { 8746 if (arAsproOptions["PRICES"]["MIN_PRICE"] > Number(BX.Sale.OrderAjaxComponent.result.TOTAL.ORDER_PRICE)) { 8747 $('<div class="fademask_ext"></div>').appendTo($("body")); 8748 location.href = BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET; 8749 } 8750 } 8751 } 8752 8753 // update oreder auth form 8754 if ($("#bx-soa-auth").length && !$("#bx-soa-auth .redisigned").length) { 8755 // update input USER_LOGIN 8756 if ($('input[name="USER_LOGIN"]').length) { 8757 var $label = $('input[name="USER_LOGIN"]') 8758 .closest(".bx-authform-formgroup-container") 8759 .find(".bx-authform-label-container"); 8760 if (!$label.find(".bx-authform-starrequired").length) { 8761 $label.html($label.html() + '<span class="bx-authform-starrequired"> *</span>'); 8762 } 8763 } 8764 8765 // update input USER_PASSWORD 8766 if ($('input[name="USER_PASSWORD"]').length) { 8767 var $label = $('input[name="USER_PASSWORD"]') 8768 .closest(".bx-authform-formgroup-container") 8769 .find(".bx-authform-label-container"); 8770 if (!$label.find(".bx-authform-starrequired").length) { 8771 $label.html($label.html() + '<span class="bx-authform-starrequired"> *</span>'); 8772 } 8773 } 8774 8775 if ($('input[name="USER_REMEMBER"]').length) { 8776 var $label = $('input[name="USER_REMEMBER"]') 8777 .attr("id", "ORDER_AUTH_USER_REMEMBER") 8778 .closest("label") 8779 .attr("for", "ORDER_AUTH_USER_REMEMBER"); 8780 var html = $('input[name="USER_REMEMBER"]') 8781 .attr("id", "ORDER_AUTH_USER_REMEMBER") 8782 .wrap('<div id="trem_"></div>') 8783 .parent() 8784 .html(); 8785 $("#trem_").remove(); 8786 $label.html($label.text()); 8787 $(html).insertBefore($label).closest(".bx-authform-formgroup-container").addClass("filter"); 8788 var html = $("#bx-soa-auth .bx-authform>a") 8789 .addClass("pull-right") 8790 .addClass("forgot") 8791 .wrap('<div id="trem_"></div>') 8792 .parent() 8793 .html(); 8794 $("#trem_").remove(); 8795 $(html).insertAfter($label.closest(".checkbox")); 8796 } 8797 8798 $("#bx-soa-auth .bx-soa-reg-block .btn") 8799 .removeClass("btn-default") 8800 .removeClass("btn-lg") 8801 .addClass("transparent") 8802 .addClass("btn-lg") 8803 .text(BX.message("ORDER_REGISTER_BUTTON")); 8804 8805 $("#bx-soa-auth").append('<div class="redisigned hidden></div>'); 8806 } 8807 8808 // update oreder register form 8809 if ($(".bx-soa-section-content.reg").length && !$(".bx-soa-section-content.reg .redisigned").length) { 8810 var bRebindRegSubmit = false; 8811 8812 if (arAsproOptions.THEME.LOGIN_EQUAL_EMAIL === "Y") { 8813 bRebindRegSubmit = true; 8814 8815 // update input NEW_LOGIN 8816 if ($('input[name="NEW_LOGIN"]').length) { 8817 $('input[name="NEW_LOGIN"]').closest(".bx-authform-formgroup-container").hide(); 8818 } 8819 } 8820 8821 if (arAsproOptions.THEME.PERSONAL_ONEFIO === "Y") { 8822 bRebindRegSubmit = true; 8823 8824 // update input NEW_NAME 8825 if ($('input[name="NEW_NAME"]').length) { 8826 $('input[name="NEW_NAME"]') 8827 .closest(".bx-authform-formgroup-container") 8828 .find(".bx-authform-label-container") 8829 .html(BX.message("ORDER_FIO_LABEL") + '<span class="bx-authform-starrequired"> *</span>'); 8830 } 8831 8832 // update input NEW_LAST_NAME 8833 if ($('input[name="NEW_LAST_NAME"]').length) { 8834 $('input[name="NEW_LAST_NAME"]').closest(".bx-authform-formgroup-container").hide(); 8835 $('input[name="NEW_LAST_NAME"]').val(" "); 8836 } 8837 } 8838 8839 if (bRebindRegSubmit) { 8840 // bind new handler for submit button 8841 var $regSubmit = $("#do_register~input[type=submit]"); 8842 if ($regSubmit.length) { 8843 BX.unbindAll($regSubmit[0]); 8844 $(document).on("click", "#do_register~input[type=submit]", function (e) { 8845 e.preventDefault(); 8846 e.stopImmediatePropagation(); 8847 8848 if (arAsproOptions.THEME.LOGIN_EQUAL_EMAIL === "Y") { 8849 var email = BX.findChild(BX("bx-soa-auth"), { attribute: { name: "NEW_EMAIL" } }, true, false); 8850 var login = BX.findChild(BX("bx-soa-auth"), { attribute: { name: "NEW_LOGIN" } }, true, false); 8851 8852 if (login && email) { 8853 login.value = email.value; 8854 } 8855 } 8856 8857 BX("do_register").value = "Y"; 8858 BX.Sale.OrderAjaxComponent.sendRequest("showAuthForm"); 8859 }); 8860 } 8861 } 8862 8863 // update captcha 8864 var $captcha = $(".bx-soa-section-content.reg").find(".bx-captcha"); 8865 if ($captcha.length) { 8866 $captcha.addClass("captcha_image"); 8867 $captcha.append('<div class="captcha_reload"></div>'); 8868 $captcha 8869 .closest(".bx-authform-formgroup-container") 8870 .addClass("captcha-row")
8871 .find("input[name=captcha_word]") 8872 .closest(".bx-authform-input-container") 8873 .addClass("captcha_input"); 8874 } 8875 8876 // update input NEW_NAME && NEW_LAST_NAME 8877 if ( 8878 $("input[name=NEW_NAME]").length && 8879 $("input[name=NEW_LAST_NAME]").length && 8880 arAsproOptions.THEME.PERSONAL_ONEFIO !== "Y" 8881 ) { 8882 if (!$("input[name=NEW_NAME]").closest(".bx-authform-formgroup-container.col-md-6").length) { 8883 $("input[name=NEW_NAME],input[name=NEW_LAST_NAME]") 8884 .closest(".bx-authform-formgroup-container") 8885 .addClass("col-md-6"); 8886 var html = $("input[name=NEW_LAST_NAME]") 8887 .closest(".bx-authform-formgroup-container") 8888 .wrap('<div id="trem_"></div>') 8889 .parent() 8890 .html(); 8891 $("#trem_").remove(); 8892 $(html).insertAfter( 8893 $("input[name=NEW_NAME]").closest(".bx-authform-formgroup-container").wrap('<div class="row"></div>') 8894 ); 8895 } 8896 } 8897 8898 // update input NEW_EMAIL && PHONE_NUMBER 8899 if ($("input[name=NEW_EMAIL]").length && $("input[name=PHONE_NUMBER]").length) { 8900 if (!$("input[name=PHONE_NUMBER]").closest(".bx-authform-formgroup-container.col
8900-md-6").length) { 8901 $("input[name=NEW_EMAIL],input[name=PHONE_NUMBER]") 8902 .closest(".bx-authform-formgroup-container") 8903 .addClass("col-md-6"); 8904 var html = $("input[name=PHONE_NUMBER]") 8905 .closest(".bx-authform-formgroup-container") 8906 .wrap('<div id="trem_"></div>') 8907 .parent() 8908 .html(); 8909 $("#trem_").remove(); 8910 $(html).insertAfter( 8911 $("input[name=NEW_EMAIL]").closest(".bx-authform-formgroup-container").wrap('<div class="row"></div>') 8912 ); 8913 } 8914 } 8915 8916 // update input NEW_PASSWORD && NEW_PASSWORD_CONFIRM 8917 if ($("input[name=NEW_PASSWORD]").length && $("input[name=NEW_PASSWORD_CONFIRM]").length) { 8918 if (!$("input[name=NEW_PASSWORD]").closest(".bx-authform-formgroup-container.col-md-6").length) { 8919 $("input[name=NEW_PASSWORD],input[name=NEW_PASSWORD_CONFIRM]") 8920 .closest(".bx-authform-formgroup-container") 8921 .addClass("col-md-6"); 8922 var html = $("input[name=NEW_PASSWORD_CONFIRM]") 8923 .closest(".bx-authform-formgroup-container") 8924 .wrap('<div id="trem_"></div>') 8925 .parent() 8926 .html(); 8927 $("#trem_").remove(); 8928 $(html).insertAfter( 8929 $("input[name=NEW_PASSWORD]") 8930 .closest(".bx-authform-formgroup-container") 8931 .wrap('<div class="row"></div>') 8932 ); 8933 } 8934 } 8935 8936 // update input PHONE_NUMBER 8937 if ($("input[name=PHONE_NUMBER]").length) { 8938 var input = $("input[name=PHONE_NUMBER]"), 8939 inputHTML = input[0].outerHTML, 8940 value = input.val(), 8941 newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="' + value + '"'); 8942 8943 if ($(input).length < 2) { 8944 input.hide(); 8945 $(newInput).insertAfter(input); 8946 8947 showPhoneMask("input[name=PHONE_NUMBER][type=tel]"); 8948 8949 $("input[name=PHONE_NUMBER][type=tel]").on("blur", function () { 8950 var $this = $(this); 8951 var value = $this.val(); 8952 $this.parent().find("input[name=PHONE_NUMBER][type=text]").val(value); 8953 }); 8954 8955 var $label = $("input[name=PHONE_NUMBER][type=tel]") 8956 .closest(".bx-authform-formgroup-container") 8957 .find(".bx-authform-label-container"); 8958 $label.html( 8959 BX.message("ORDER_PHONE_LABEL") + 8960 ($label.find(".bx-authform-starrequired").length 8961 ? '<span class="bx-authform-starrequired"> *</span>' 8962 : "") 8963 ); 8964 } 8965 } 8966 8967 $(".bx-soa-section-content.reg").append('<div class="redisigned hidden></div>'); 8968 } 8969 8970 var asproShowLicence = arAsproOptions["THEME"]["SHOW_LICENCE"] == "Y"; 8971 var asproShowOffer = arAsproOptions["THEME"]["SHOW_OFFER"] == "Y"; 8972 8973 if ($(".bx-soa-cart-total-line-total").length && (asproShowLicence || asproShowOffer)) { 8974 if (typeof e === "undefined") { 8975 BX.Sale.OrderAjaxComponent.state_licence = 8976 arAsproOptions["THEME"]["LICENCE_CHECKED"] == "Y" ? "checked" : ""; 8977 BX.Sale.OrderAjaxComponent.state_offer = arAsproOptions["THEME"]["OFFER_CHECKED"] == "Y" ? "checked" : ""; 8978 } 8979 8980 if ( 8981 (!$(".licence_block.filter").length && asproShowLicence) || 8982 (!$(".offer_block.filter").length && asproShowOffer) 8983 ) { 8984 $('<div class="form"><div class="license_order_wrap"></div></div>').insertBefore($("#bx-soa-orderSave")); 8985 8986 if (!$(".licence_block.filter").length && asproShowLicence) 8987 $( 8988 '<div class="licence_block filter label_block onoff"><label data-for="licenses_order" class="hidden error">' + 8989 BX.message("JS_REQUIRED_LICENSES") + 8990 '</label><input type="checkbox" name="licenses_order" required ' + 8991 BX.Sale.OrderAjaxComponent.state_licence + 8992 ' value="Y"><label data-for="licenses_order" class="license">' + 8993 BX.message("LICENSES_TEXT") + 8994 "</label></div>" 8995 ).appendTo($(".license_order_wrap")); 8996 8997 if (!$(".offer_block.filter").length && asproShowOffer) 8998 $( 8999 '<div class="offer_block filter label_block onoff"><label data-for="offer_order" class="hidden error">' + 9000 BX.message("JS_REQUIRED_OFFER") + 9001 '</label><input type="checkbox" name="offer_order" required ' + 9002 BX.Sale.OrderAjaxComponent.state_offer + 9003 ' value="Y"><label data-for="offer_order" class="offer_pub">' + 9004 BX.message("OFFER_TEXT") + 9005 "</label></div>" 9006 ).appendTo($(".license_order_wrap")); 9007 9008 if (asproShowLicence) { 9009 $(document).on("click", ".bx-soa .licence_block label.license", function () { 9010 var id = $(this).data("for"); 9011 $(".bx-soa .licence_block label.error").addClass("hidden"); 9012 if (!$("input[name=" + id + "]").prop("checked")) { 9013 $("input[name=" + id + "]").prop("checked", "checked"); 9014 BX.Sale.OrderAjaxComponent.state_licence = "checked"; 9015 } else { 9016 $("input[name=" + id + "]").prop("checked", ""); 9017 BX.Sale.OrderAjaxComponent.state_licence = ""; 9018 } 9019 }); 9020 } 9021 9022 if (asproShowOffer) { 9023 $(document).on("click", ".bx-soa .offer_block label.offer_pub", function () { 9024 var id = $(this).data("for"); 9025 $(".bx-soa .offer_block label.error").addClass("hidden"); 9026 if (!$("input[name=" + id + "]").prop("checked")) { 9027 $("input[name=" + id + "]").prop("checked", "checked"); 9028 BX.Sale.OrderAjaxComponent.state_offer = "checked"; 9029 } else { 9030 $("input[name=" + id + "]").prop("checked", ""); 9031 BX.Sale.OrderAjaxComponent.state_offer = ""; 9032 } 9033 }); 9034 } 9035 9036 $(document).on("click", ".lic_condition a", function () { 9037 if (BX.hasClass(BX("bx-soa-order"), "orderform--v1")) { 9038 if (BX.Sale.OrderAjaxComponent.isValidForm()) { 9039 BX.Sale.OrderAjaxComponent.animateScrollTo($(".licence_block, .offer_block")[0], 800, 50); 9040 } 9041 } else { 9042 var iCountErrors = BX.Sale.OrderAjaxComponent.isValidPropertiesBlock().length; 9043 if (!BX.Sale.OrderAjaxComponent.activeSectionId || !iCountErrors) { 9044 BX.Sale.OrderAjaxComponent.animateScrollTo($(".licence_block, .offer_block")[0], 800, 50); 9045 } 9046 } 9047 }); 9048 } 9049 9050 $("#bx-soa-orderSave, .bx-soa-cart-total-button-container").addClass("lic_condition"); 9051 9052 if ( 9053 typeof BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction === "undefined" && 9054 typeof BX.Sale.OrderAjaxComponent.clickOrderSaveAction !== "undefined" 9055 ) { 9056 BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction = BX.Sale.OrderAjaxComponent.clickOrderSaveAction; 9057 BX.Sale.OrderAjaxComponent.clickOrderSaveAction = function (event) { 9058 if ( 9059 ($('input[name="licenses_order"]').prop("checked") || !asproShowLicence) && 9060 ($('input[name="offer_order"]').prop("checked") || !asproShowOffer) 9061 ) { 9062 $(".bx-soa .licence_block label.error").addClass("hidden"); 9063 $(".bx-soa .offer_block label.error").addClass("hidden"); 9064 9065 if (BX.Sale.OrderAjaxComponent.isValidForm()) { 9066 if (typeof BX.Sale.OrderAjaxComponent.allowOrderSave == "function") 9067 BX.Sale.OrderAjaxComponent.allowOrderSave(); 9068 if (typeof BX.Sale.OrderAjaxComponent.doSaveAction == "function") 9069 BX.Sale.OrderAjaxComponent.doSaveAction(); 9070 else BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction(event); 9071 } 9072 } else { 9073 if (!$('input[name="licenses_order"]').prop("checked")) 9074 $(".bx-soa .licence_block label.error").removeClass("hidden"); 9075 9076 if (!$('input[name="offer_order"]').prop("checked")) 9077 $(".bx-soa .offer_block label.error").removeClass("hidden"); 9078 } 9079 }; 9080 if (BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox")) { 9081 if (typeof browser == "object") { 9082 if ("msie" in browser && browser.msie) 9083 $(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox")).remove(); 9084 else BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox").remove(); 9085 } 9086 } 9087 BX.unbindAll(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector("a.btn-order-save")); 9088 BX.unbindAll(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector("a.btn-order-save")); 9089 BX.unbindAll(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector("a")); 9090 BX.bind( 9091 BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector("a.btn-order-save"), 9092 "click", 9093 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 9094 ); 9095 BX.bind( 9096 BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector("a.btn-order-save"), 9097 "click", 9098 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 9099 ); 9100 BX.bind( 9101 BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector("a"), 9102 "click", 9103 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 9104 ); 9105 } 9106 } 9107 9108 // fix hide total block 9109 $(window).scroll(); 9110 9111 if (checkCounters() && typeof BX.Sale.OrderAjaxComponent.oldSaveOrder === "undefined") { 9112 var saveFunc = 9113 typeof BX.Sale.OrderAjaxComponent.saveOrder !== "undefined" ? "saveOrder" : "saveOrderWithJson"; 9114 if (typeof BX.Sale.OrderAjaxComponent[saveFunc] !== "undefined") { 9115 BX.Sale.OrderAjaxComponent.oldSaveOrder = BX.Sale.OrderAjaxComponent[saveFunc]; 9116 BX.Sale.OrderAjaxComponent[saveFunc] = function (result) { 9117 var res = BX.parseJSON(result); 9118 if (res && res.order) { 9119 if (!res.order.SHOW_AUTH) { 9120 if ( 9121 res.order.REDIRECT_URL && 9122 res.order.REDIRECT_URL.length && 9123 (!res.order.ERROR || BX.util.object_keys(res.order.ERROR).length < 1) 9124 ) { 9125 if ( 9126 (arMatch = res.order.REDIRECT_URL.match(/ORDER_ID\=[^&=]*/g)) && 9127 arMatch.length && 9128 (_id = arMatch[0].replace(/ORDER_ID\=/g, "", arMatch[0])) 9129 ) { 9130 $.ajax({ 9131 url: arAsproOptions["SITE_DIR"] + "ajax/check_order.php", 9132 dataType: "json", 9133 type: "POST", 9134 data: { ID: _id }, 9135 success: function (id) { 9136 if (parseInt(id)) { 9137 purchaseCounter(parseInt(id), BX.message("FULL_ORDER"), function (d) { 9138 if (typeof localStorage !== "undefined" && typeof d === "object") { 9139 localStorage.setItem("gtm_e_" + _id, JSON.stringify(d)); 9140 } 9141 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9142 }); 9143 } else { 9144 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9145 } 9146 }, 9147 error: function () { 9148 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9149 }, 9150 }); 9151 } else { 9152 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9153 } 9154 } else { 9155 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9156 } 9157 } else { 9158 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9159 } 9160 } else { 9161 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 9162 } 9163 }; 9164 } 9165 } 9166 9167 if ($("#bx-soa-order-form .captcha-row").length) { 9168 if ( 9169 window.asproRecaptcha && 9170 window.asproRecaptcha.key && 9171 window.asproRecaptcha.params.recaptchaSize == "invisible" 9172 ) { 9173 $("#bx-soa-order-form .captcha-row").addClass("invisible"); 9174 if (asproRecaptcha.params.recaptchaLogoShow === "n") { 9175 $("#bx-soa-order-form .captcha-row").addClass("logo_captcha_n"); 9176 } 9177 } 9178 } 9179
9180 if ($("#bx-soa-order-form .captcha-row.invisible").length) { 9181 if ( 9182 typeof BX.Sale.OrderAjaxComponent.oldSendRequest === "undefined" && 9183 typeof BX.Sale.OrderAjaxComponent.sendRequest !== "undefined" 9184 ) { 9185 var tmpAction, tmpActionData; 9186 BX.Sale.OrderAjaxComponent.oldSendRequest = BX.Sale.OrderAjaxComponent.sendRequest; 9187 BX.Sale.OrderAjaxComponent.sendRequest = function (action, actionData) { 9188 var bSend = true; 9189 9190 if ($("#bx-soa-order-form .captcha-row.invisible").length) { 9191 if (window.renderRecaptchaById && window.asproRecaptcha && window.asproRecaptcha.key) { 9192 if (window.asproRecaptcha.params.recaptchaSize == "invisible") { 9193 var form = BX("bx-soa-order-form"); 9194 if ($(form).find(".g-recaptcha").length) { 9195 if ($(form).find(".g-recaptcha-response").val()) { 9196 bSend = true; 9197 } else { 9198 if (typeof grecaptcha != "undefined") { 9199 grecaptcha.execute($(form).find(".g-recaptcha").data("widgetid"));
9200 bSend = false; 9201 } else { 9202 bSend = false; 9203 } 9204 } 9205 } 9206 } 9207 } 9208 } 9209 9210 if (bSend) { 9211 BX.Sale.OrderAjaxComponent.oldSendRequest(action, actionData); 9212 } else { 9213 tmpAction = action; 9214 tmpActionData = actionData; 9215 } 9216 }; 9217 9218 $(document).on("submit", "#bx-soa-order-form", function (e) { 9219 e.preventDefault(); 9220 9221 if (typeof tmpAction !== "undefined" || typeof tmpActionData !== "undefined") { 9222 BX.Sale.OrderAjaxComponent.sendRequest(tmpAction, tmpActionData); 9223 tmpAction = undefined; 9224 tmpActionData = undefined; 9225 } 9226 }); 9227 } 9228 } 9229 } 9230 9231 $(".bx-ui-sls-quick-locations.quick-locations").on("click", function () { 9232 $(this).siblings().removeClass("active"); 9233 $(this).addClass("active"); 9234 }); 9235 } 9236 } 9237 }; 9238} 9239 9240if (!funcDefined("basketActions")) { 9241 basketActions = function () { 9242 if (arAsproOptions["PAGES"]["BASKET_PAGE"]) { 9243 checkMinPrice(); 9244 9245 //remove4Cart 9246 if (typeof BX.Sale !== "undefined" && typeof BX.Sale === "object") { 9247 if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent === "object") { 9248 $(document).on("click", ".basket-item-actions-remove", function () { 9249 var basketID = $(this).closest(".basket-items-list-item-container").data("id"); 9250 delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID); 9251 }); 9252 } 9253 } 9254 9255 if (location.hash) { 9256 var hash = location.hash.substring(1); 9257 if ($("#basket_toolbar_button_" + hash).length) $("#basket_toolbar_button_" + hash).trigger("click"); 9258 9259 if ($('.basket-items-list-header-filter a[data-filter="' + hash + '"]').length) 9260 $('.basket-items-list-header-filter a[data-filter="' + hash + '"]')[0].click(); 9261 } 9262 var svg_cross = 9263 '<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>'; 9264 9265 $(".bx_sort_container").append( 9266 '<div class="top_control basket_action"><span style="opacity:0;" class="delete_all colored_theme_hover_text remove_all_basket">' + 9267 svg_cross + 9268 BX.message("BASKET_CLEAR_ALL_BUTTON") + 9269 "</span></div>" 9270 ); 9271 if ($(".basket-items-list-header-filter").length) { 9272 $(".basket-items-list-header-filter").append( 9273 '<div class="top_control basket_action"><span style="opacity:1;" class="delete_all colored_theme_hover_text remove_all_basket">' + 9274 svg_cross + 9275 BX.message("BASKET_CLEAR_ALL_BUTTON") + 9276 "</span></div>" 9277 ); 9278 9279 var cur_index = $(".basket-items-list-header-filter > a.active").index(); 9280 //fix delayed 9281 if (cur_index == 3) cur_index = 2; 9282 9283 if ($(".basket-items-list-header-filter > a.active").data("filter") == "all") cur_index = "all"; 9284 9285 $(".basket-items-list-header-filter .top_control .delete_all").data("type", cur_index); 9286 9287 $(".basket-items-list-header-filter > a").on("click", function () { 9288 var index = $(this).index(); 9289 9290 //fix delayed 9291 if (index == 3) index = 2; 9292 9293 if ($(this).data("filter") == "all") index = "all"; 9294 9295 $(".basket-items-list-header-filter .top_control .delete_all").data("type", index); 9296 }); 9297 } else { 9298 var cur_index = $(".bx_sort_container a.current").index(); 9299 $(".bx_sort_container .top_control .delete_all").data("type", cur_index); 9300 if ($(".bx_ordercart > div:eq(" + cur_index + ") table tbody tr td.item").length) 9301 $(".bx_sort_container .top_control .delete_all").css("opacity", 1); 9302 9303 $(".bx_ordercart .bx_ordercart_coupon #coupon").wrap('<div class="input"></div>'); 9304 9305 $(".bx_sort_container > a").on("click", function () { 9306 var index = $(this).index(); 9307 $(".bx_sort_container .top_control .delete_all").data("type", index); 9308 9309 if ($(".bx_ordercart > div:eq(" + index + ") table tbody tr td.item").length) 9310 $(".bx_sort_container .top_control .delete_all").css("opacity", 1); 9311 else $(".bx_sort_container .top_control .delete_all").css("opacity", 0); 9312 }); 9313 } 9314 9315 $(".basket_print").on("click", function () { 9316 // window.open(location.pathname+"?print=Y",'_blank'); 9317 window.print(); 9318 }); 9319 9320 $(".delete_all").on("click", function () { 9321 if (arAsproOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 9322 var eventdata = { goal: "goal_basket_clear", params: { type: $(this).data("type") } }; 9323 BX.onCustomEvent("onCounterGoals", [eventdata]); 9324 } 9325 $.post( 9326 arAsproOptions["SITE_DIR"] + "ajax/action_basket.php", 9327 "TYPE=" + $(this).data("type") + "&CLEAR_ALL=Y", 9328 $.proxy(function (data) { 9329 location.reload(); 9330 }) 9331 ); 9332 }); 9333 9334 $(".bx_item_list_section .bx_catalog_item").sliceHeight({ row: ".bx_item_list_slide", item: ".bx_catalog_item" }); 9335 9336 BX.addCustomEvent("onAjaxSuccess", function (e) { 9337 checkMinPrice(); 9338 9339 var errorText = $.trim($("#warning_message").text()); 9340 $("#basket_items_list .error_text").detach(); 9341 if (errorText != "") { 9342 $("#warning_message").hide().text(""); 9343 $("#basket_items_list").prepend('<div class="error_text">' + errorText + "</div>"); 9344 } 9345 9346 if (typeof e === "object" && "BASKET_DATA" in e) { 9347 if ($("#ajax_basket").length) { 9348 reloadTopBasket("add", $("#ajax_basket"), 200, 5000, "Y"); 9349 } 9350 if ($("#basket_line .basket_fly").length) { 9351 basketFly("open", "N"); 9352 } 9353 } 9354 }); 9355 $(document).on( 9356 "click", 9357 ".bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout", 9358 function () { 9359 if (checkCounters("google")) { 9360 checkoutCounter(1, "start order"); 9361 } 9362 } 9363 ); 9364 } 9365 }; 9366} 9367 9368if (!funcDefined("checkMinPrice")) { 9369 checkMinPrice = function () { 9370 if (arAsproOptions["PAGES"]["BASKET_PAGE"]) { 9371 var summ_raw = 0, 9372 summ = 0; 9373 if ($("#allSum_FORMATED").length) { 9374 summ_raw = $("#allSum_FORMATED") 9375 .text() 9376 .replace(/[^0-9\.,]/g, ""); 9377 summ = parseFloat(summ_raw); 9378 if ($("#basket_items").length) { 9379 var summ = 0; 9380 $("#basket_items tr").each(function () { 9381 if (typeof $(this).data("item-price") !== "undefined" && $(this).data("item-price")) 9382 summ += 9383 $(this).data("item-price") * 9384 $(this) 9385 .find("#QUANTITY_INPUT_" + $(this).attr("id")) 9386 .val(); 9387 }); 9388 } 9389 if (!$(".catalog_back").length) 9390 $(".bx_ordercart_order_pay_center").prepend( 9391 '<a href="' + 9392 arAsproOptions["PAGES"]["CATALOG_PAGE_URL"] + 9393 '" class="catalog_back btn btn-default btn-lg white grey">' + 9394 BX.message("BASKET_CONTINUE_BUTTON") + 9395 "</a>" 9396 ); 9397 } 9398 9399 if (arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y") 9400 $(".basket-coupon-section").addClass("smallest"); 9401 9402 if (typeof BX.Sale !== "undefined") { 9403 if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent.result !== "undefined") 9404 summ = BX.Sale.BasketComponent.result.allSum; 9405 } 9406 9407 if (arAsproOptions["PRICES"]["MIN_PRICE"]) { 9408 if (arAsproOptions["PRICES"]["MIN_PRICE"] > summ) { 9409 var svgMinPrice = 9410 '<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-.
9410125-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>'; 9411 if ($(".oneclickbuy.fast_order").length) $(".oneclickbuy.fast_order").remove(); 9412 9413 if ($(".basket-checkout-container").length) { 9414 if (!$(".icon_error_wrapper").length) { 9415 $(".basket-checkout-block.basket-checkout-block-btn").html( 9416 '<div class="icon_error_wrapper"><div class="icon_error_block">' + 9417 svgMinPrice + 9418 BX.message("MIN_ORDER_PRICE_TEXT").replace( 9419 "#PRICE#", 9420 jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"]) 9421 ) + 9422 "</div></div>" 9423 ); 9424 } 9425 } else { 9426 if (!$(".icon_error_wrapper").length && typeof jsPriceFormat !== "undefined") { 9427 $(".bx_ordercart_order_pay_center").prepend( 9428 '<div class="icon_error_wrapper"><div class="icon_error_block">' + 9429 svgMinPrice + 9430 BX.message("MIN_ORDER_PRICE_TEXT").replace( 9431 "#PRICE#", 9432 jsPriceFormat(arAsproOptions["PRICES"]["MIN_PRICE"]) 9433 ) + 9434 "</div></div>" 9435 ); 9436 } 9437 if ($(".bx_ordercart_order_pay .checkout").length) $(".bx_ordercart_order_pay .checkout").remove(); 9438 } 9439 } else { 9440 if ($(".icon_error_wrapper").length) $(".icon_error_wrapper").remove(); 9441 9442 if ($(".basket-checkout-container").length) { 9443 if ( 9444 !$(".oneclickbuy.fast_order").length && 9445 arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && 9446 !$(".basket-btn-checkout.disabled").length 9447 ) 9448 $(".basket-checkout-section-inner").append( 9449 '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' + 9450 BX.message("BASKET_QUICK_ORDER_BUTTON") + 9451 "</span></div>" 9452 ); 9453 } else { 9454 if ($(".bx_ordercart_order_pay .checkout").length) 9455 $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1"); 9456 else 9457 $(".bx_ordercart_order_pay_center").append( 9458 '<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">' + 9459 BX.message("BASKET_ORDER_BUTTON") + 9460 "</a>" 9461 ); 9462 if ( 9463 !$(".oneclickbuy.fast_order").length && 9464 arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" 9465 ) 9466 $(".bx_ordercart_order_pay_center").append( 9467 '<span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' + 9468 BX.message("BASKET_QUICK_ORDER_BUTTON") + 9469 "</span>" 9470 ); 9471 } 9472 } 9473 } else { 9474 if ($(".basket-checkout-container").length) { 9475 if ( 9476 !$(".oneclickbuy.fast_order").length && 9477 arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && 9478 !$(".basket-btn-checkout.disabled").length 9479 ) 9480 $(".basket-checkout-section-inner").append( 9481 '<div class="fastorder"><span class="oneclickbuy btn btn-lg fast_order btn-transparent-border-color" onclick="oneClickBuyBasket()">' + 9482 BX.message("BASKET_QUICK_ORDER_BUTTON") + 9483 "</span></div>" 9484 ); 9485 } else { 9486 $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1"); 9487 if (!$(".oneclickbuy.fast_order").length && arAsproOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y") 9488 $(".bx_ordercart_order_pay_center").append( 9489 '<span class="oneclickbuy btn btn-lg fast_order btn-trans
9489parent-border-color" onclick="oneClickBuyBasket()">' + 9490 BX.message("BASKET_QUICK_ORDER_BUTTON") + 9491 "</span>" 9492 ); 9493 } 9494 } 9495 9496 showBasketShareBtn(); 9497 showBasketHeadingBtn(); 9498 9499 $("#basket-root .basket-checkout-container .basket-checkout-section .basket-checkout-block .basket-btn-checkout"); 9500 $("#basket-root .basket-checkout-container").addClass("visible"); 9501 } 9502 }; 9503} 9504 9505var isFrameDataReceived = false; 9506if (typeof window.frameCacheVars !== "undefined") { 9507 BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) { 9508 console.log(response); 9509 }); 9510 9511 BX.addCustomEvent("onFrameDataReceivedBefore", function () { 9512 // stop ya metrika webvisor DOM indexer 9513 pauseYmObserver(); 9514 }); 9515 9516 BX.addCustomEvent("onFrameDataReceived", function (json) { 9517 initFull(); 9518 9519 CheckTopMenuPadding(); 9520 CheckTopMenuOncePadding(); 9521 CheckTopMenuDotted(); 9522 9523 CheckSearchWidth(); 9524 9525 checkLinkedArticles(); 9526 checkLinkedBlocks(".linked-banners-list"); 9527 9528 if ($(".logo-row.v2").length) { 9529 $(window).resize(); // need to check resize flexslider & menu 9530 setTimeout(function () { 9531 CheckTopMenuDotted(); 9532 }, 100); 9533 } 9534 9535 if (funcDefined("setNewHeader")) { 9536 if (typeof BX === "object" && (BX.message("TYPE_SKU") != "TYPE_1" || BX.message("HAS_SKU_PROPS") != "Y")) { 9537 setNewHeader(); 9538 } else { 9539 var objNameWrapper = $(".bx_catalog_item_scu[id]"); 9540 if (objNameWrapper.length) { 9541 var id = "ob" + objNameWrapper.attr("id").replace("_skudiv", ""); 9542 if (id && window[id] !== undefined) { 9543 var obj = window[id].offers[window[id].offerNum]; 9544 if (obj !== undefined) { 9545 setNewHeader(obj); 9546 } 9547 } 9548 } 9549 } 9550 } 9551 9552 // resume ya metrika webvisor 9553 // (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload) 9554 setTimeout(resumeYmObserver, 400); 9555 9556 isFrameDataReceived = true; 9557 }); 9558} else { 9559 $(document).ready(initFull); 9560} 9561 9562if (!funcDefined("setHeightBlockSlider")) { 9563 setHeightBlockSlider = function () { 9564 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item-title" }); 9565 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item_info" }); 9566 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".catalog_item" }); 9567 9568 var sliderWidth = $(document).find(".specials.tab_slider_wrapp").outerWidth(); 9569 9570 var iCountTabs = $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").length; 9571 9572 if (iCountTabs <= 1) { 9573 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").css("height", ""); 9574 9575 var itemsButtonsHeight = 0; 9576 if ($(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button").length) { 9577 $(document) 9578 .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button") 9579 .css("height", "auto"); 9580 itemsButtonsHeight = $(document) 9581 .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button") 9582 .height(); 9583 $(document) 9584 .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .footer_button") 9585 .css("height", ""); 9586 } 9587 var tabsContentUnhover = $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").height() * 1; 9588 var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50; 9589 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-unhover", tabsContentUnhover); 9590 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-hover", tabsContentHover); 9591 $(document).find(".specials.tab_slider_wrapp .tabs_content").height(tabsContentUnhover); 9592 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .flex-viewport").height(tabsContentUnhover); 9593 } else { 9594 $(document) 9595 .find(".specials.tab_slider_wrapp .tabs_content > li.cur") 9596 .each(function () { 9597 var _th = $(this); 9598 _th.css("height", ""); 9599 9600 var itemsButtonsHeight = 0; 9601 if (_th.find(".tabs_slider li .footer_button").length) { 9602 _th.find(".tabs_slider li .footer_button").css("height", "auto"); 9603 itemsButtonsHeight = _th.find(".tabs_slider li .footer_button").height(); 9604 _th.find(".tabs_slider li .footer_button").css("height", ""); 9605 } 9606 9607 var tabsContentUnhover = _th.height() * 1; 9608 var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50; 9609 _th.attr("data-unhover", tabsContentUnhover); 9610 _th.attr("data-hover", tabsContentHover); 9611 _th.parent().height(tabsContentUnhover); 9612 _th.find(".flex-viewport").height(tabsContentUnhover); 9613 }); 9614 } 9615 }; 9616} 9617 9618if (!funcDefined("checkTopFilter")) { 9619 checkTopFilter = function () { 9620 /*if(window.matchMedia('(max-width: 991px)').matches){ 9621 //if($('.group_description_block.top').length){ 9622 var top_pos=$('.adaptive_filter').position().top; 9623 $('.bx_filter.bx_filter_vertical').css({'top':top_pos+43}); 9624 //} 9625 }*/ 9626 }; 9627} 9628 9629if (!funcDefined("checkStickyFooter")) { 9630 checkStickyFooter = function () { 9631 try { 9632 ignoreResize.push(true); 9633 $("#content").css("min-height", ""); 9634 var contentTop = $("#content").offset().top; 9635 var contentBottom = contentTop + $("#content").outerHeight(); 9636 var footerTop = 0; 9637 if ($("footer").length) footerOffset = $("footer").offset().top; 9638 9639 $("#content").css( 9640 "min-height", 9641 $(window).height() - contentTop - (footerTop - contentBottom) - $("footer").outerHeight() + "px" 9642 ); 9643 ignoreResize.pop(); 9644 } catch (e) { 9645 console.error(e); 9646 } 9647 }; 9648} 9649 9650if (!funcDefined("checkLinkedArticles")) { 9651 checkLinkedArticles = function () { 9652 try { 9653 if ($(".linked-blog-list.content .item-views").length) { 9654 var mobileRow = $(".linked-blog-list").data("mobile_row"), 9655 desktopRow = $(".linked-blog-list").data("desktop_row"), 9656 parentBlock = $(".ajax_load .js_append"), 9657 widthRow = parentBlock.getFloatWidth(), 9658 elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(), 9659 elementsCount = parentBlock.find("> .item").length, 9660 slice = Math.floor(widthRow / elementWidthRow), 9661 rowInsertCount = Math.floor(elementsCount / slice), 9662 bCalculateRows = false;
9663 if (window.matchMedia("(max-width: 767px)").matches) { 9664 if (!mobileRow && desktopRow) { 9665 mobileRow = desktopRow; 9666 } 9667 if (mobileRow && mobileRow <= rowInsertCount) { 9668 rowInsertCount = slice * mobileRow; 9669 bCalculateRows = true; 9670 } 9671 } else { 9672 if (desktopRow && desktopRow <= rowInsertCount) { 9673 rowInsertCount = slice * desktopRow; 9674 bCalculateRows = true; 9675 } 9676 } 9677 if (!bCalculateRows) { 9678 rowInsertCount = elementsCount; 9679 } 9680 9681 var linkedBlock = ".linked-blog-list"; 9682 var blockInItems = parentBlock.find(linkedBlock); 9683 if (blockInItems.length) { 9684 $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")")); 9685 setTimeout(function () { 9686 $(blockInItems).addClass("visible"); 9687 }, 0); 9688 } else { 9689 var cloneBlock = $(linkedBlock).clone(); 9690 var owlBlock = cloneBlock.find(".owl-carousel-wait"); 9691 cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")")); 9692 owlBlock.removeClass("owl-carousel-wait").addClass("owl-carousel"); 9693 setTimeout(function () { 9694 cloneBlock.addClass("visible"); 9695 InitOwlSlider(); 9696 owlBlock.removeClass("loader_circle"); 9697 }, 1); 9698 } 9699 9700 // $('.linked-blog-list').insertAfter(parentBlock.find('> .item:eq('+(rowInsertCount-1)+')')); 9701 // setTimeout(function(){ 9702 // $('.linked-blog-list').addClass('visible'); 9703 // }, 0); 9704 } 9705 } catch (e) { 9706 console.error(e); 9707 } 9708 }; 9709} 9710 9711if (!funcDefined("checkLinkedBlocks")) { 9712 checkLinkedBlocks = function (linkedBlock) { 9713 if (!linkedBlock) linkedBlock = ".linked-banners-list"; 9714 9715 try { 9716 if ($(linkedBlock + ".content" + " div").length) { 9717 var mobileRow = $(linkedBlock).data("mobile_row"), 9718 desktopRow = $(linkedBlock).data("desktop_row"), 9719 parentBlock = $(".ajax_load .js_append"), 9720 widthRow = parentBlock.getFloatWidth(), 9721 elementWidthRow = parentBlock.find("> .item:eq(0)").getFloatWidth(), 9722 elementsCount = parentBlock.find("> .item").length, 9723 slice = Math.floor(widthRow / elementWidthRow), 9724 rowInsertCount = Math.floor(elementsCount / slice), 9725 bCalculateRows = false; 9726 if (window.matchMedia("(max-width: 767px)").matches) { 9727 if (!mobileRow && desktopRow) { 9728 mobileRow = desktopRow; 9729 } 9730 if (mobileRow && mobileRow <= rowInsertCount) { 9731 rowInsertCount = slice * mobileRow; 9732 bCalculateRows = true; 9733 } 9734 } else { 9735 if (desktopRow && desktopRow <= rowInsertCount) { 9736 rowInsertCount = slice * desktopRow; 9737 bCalculateRows = true; 9738 } 9739 } 9740 if (!bCalculateRows) { 9741 rowInsertCount = elementsCount; 9742 } 9743 var blockInItems = parentBlock.find(linkedBlock); 9744 if (blockInItems.length) { 9745 $(blockInItems).insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")")); 9746 setTimeout(function () { 9747 $(blockInItems).addClass("visible"); 9748 }, 0); 9749 } else { 9750 var cloneBlock = $(linkedBlock).clone(); 9751 var owlBlock = cloneBlock.find(".owl-carousel-wait"); 9752 cloneBlock.insertAfter(parentBlock.find("> .item:eq(" + (rowInsertCount - 1) + ")")); 9753 owlBlock.removeClass("owl-carousel-wait").addClass("owl-carousel"); 9754 setTimeout(function () { 9755 cloneBlock.addClass("visible"); 9756 InitOwlSlider(); 9757 owlBlock.removeClass("loader_circle"); 9758 }, 1); 9759 } 9760 9761 // $(linkedBlock).insertAfter(parentBlock.find('> .item:eq('+(rowInsertCount-1)+')')); 9762 // setTimeout(function(){ 9763 // $(linkedBlock).addClass('visible'); 9764 // }, 0); 9765 } 9766 } catch (e) { 9767 console.error(e); 9768 } 9769 }; 9770} 9771 9772/* EVENTS */ 9773var timerResize = false, 9774 ignoreResize = []; 9775$(window).resize(function () { 9776 CheckPopupTop(); 9777 checkLinkedArticles(); 9778 checkLinkedBlocks(".linked-banners-list"); 9779 9780 // here immediate functions 9781 if (!ignoreResize.length) { 9782 if (timerResize) { 9783 clearTimeout(timerResize); 9784 timerResize = false;
9785 } 9786 timerResize = setTimeout(function () { 9787 // here delayed functions in event 9788 BX.onCustomEvent("onWindowResize", false); 9789 }, 50); 9790 } 9791}); 9792 9793var timerScroll = false, 9794 ignoreScroll = [], 9795 documentScrollTopLast = $(document).scrollTop(), 9796 startScroll = 0; 9797$(window).scroll(function () { 9798 CheckPopupTop(); 9799 // here immediate functions 9800 documentScrollTopLast = $(document).scrollTop(); 9801 SetFixedAskBlock(); 9802 9803 if (!ignoreScroll.length) { 9804 if (timerScroll) { 9805 clearTimeout(timerScroll); 9806 timerScroll = false; 9807 } 9808 timerScroll = setTimeout(function () { 9809 // here delayed functions in event 9810 BX.onCustomEvent("onWindowScroll", false); 9811 }, 50); 9812 } 9813}); 9814 9815BX.addCustomEvent("onWindowResize", function (eventdata) { 9816 try { 9817 ignoreResize.push(true); 9818 9819 CheckTopMenuPadding(); 9820 CheckTopMenuOncePadding(); 9821 CheckSearchWidth(); 9822 9823 CheckTabActive(); 9824 CheckTopMenuFullCatalogSubmenu(); 9825 CheckHeaderFixedMenu(); 9826 9827 if (window.matchMedia("(min-width:768px)").matches) { 9828 closeYandexMap(); 9829 } 9830 9831 CheckTopMenuDotted(); 9832 if ($("nav.mega-menu.sliced").length) $("nav.mega-menu.sliced").removeClass("initied"); 9833 9834 CheckTopVisibleMenu(); 9835 9836 checkScrollToTop(); 9837 CheckObjectsSizes(); 9838 9839 CheckFlexSlider(); 9840 initSly(); 9841 9842 // checkVerticalMobileFilter(); 9843 if (typeof checkMobilePhone === "function") { 9844 checkMobilePhone(); 9845 } 9846 checkTopFilter(); 9847 if (typeof checkMobileFilter === "function") { 9848 checkMobileFilter(); 9849 } 9850 9851 if (arAsproOptions["THEME"] && arAsproOptions["THEME"]["COMPACT_FOOTER_MOBILE"] == "Y") { 9852 if (window.matchMedia("(max-width:767px)").matches) { 9853 $("footer").addClass("mobile"); 9854 $(".bottom-menu .items>.wrap_compact_mobile").addClass("accordion-body collapse"); 9855 $(".bottom-menu .items>.item.childs").attr("data-toggle", "collapse"); 9856 } else { 9857 $("footer").removeClass("mobile"); 9858 $(".bottom-menu .items>.wrap_compact_mobile").removeClass("accordion-body collapse"); 9859 $(".bottom-menu .items>.item.childs").removeAttr("data-toggle"); 9860 } 9861 } 9862 9863 if (typeof window["stickySidebar"] !== "undefined") { 9864 if (window.matchMedia("(max-width: 991px)").matches) { 9865 window["stickySidebar"].destroy(); 9866 } else { 9867 window["stickySidebar"].bindEvents(); 9868 } 9869 } 9870 9871 if ($(".flexslider.wsmooth").length) { 9872 $(".flexslider.wsmooth").each(function () { 9873 $(this).data("flexslider").smoothHeight(); 9874 }); 9875 } 9876 9877 if (window.matchMedia("(min-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").removeClass("mobile"); 9878 9879 if (window.matchMedia("(max-width: 767px)").matches) $(".wrapper_middle_menu.wrap_menu").addClass("mobile"); 9880 9881 if ($("#basket_form").length && $(window).outerWidth() <= 600) { 9882 $("#basket_form .tabs_content.basket > li.cur td").each(function () { 9883 $(this).css("width", ""); 9884 }); 9885 } 9886 9887 $(".bx_filter_section .bx_filter_select_container").each(function () { 9888 var prop_id = $(this).closest(".bx_filter_parameters_box").attr("property_id"); 9889 if ($("#smartFilterDropDown" + prop_id).length) { 9890 $("#smartFilterDropDown" + prop_id).css("max-width", $(this).width()); 9891 } 9892 }); 9893 9894 if (window.matchMedia("(min-width: 768px)").matches) { 9895 // min-width: 768px 9896 $(".bx_filter .scrollbar").removeClass("mobile-scroll"); 9897 $(".bx_filter .srollbar-custom").removeClass("mobile-scroll"); 9898 $(".bx_filter .bx_filter_section form .bx_filter_parameters").removeClass("mobile-scroll"); 9899 InitScrollBar(); 9900 InitCustomScrollBar(); 9901 } else { 9902 // max-width: 767px 9903 $(".bx_filter .scrollbar").addClass("mobile-scroll").removeClass("scroll-init"); 9904 $(".bx_filter .srollbar-custom").addClass("mobile-scroll").removeClass("scroll-init"); 9905 $(".bx_filter .bx_filter_section form .bx_filter_parameters") 9906 .addClass("mobile-scroll") 9907 .removeClass("scroll-init"); 9908 if ($(".bx_filter .mobile-scroll.scrollbar").length) 9909 $(".bx_filter .mobile-scroll.scrollbar").mCustomScrollbar("destroy"); 9910 if ($(".bx_filter .mobile-scroll.srollbar-custom").length) 9911 $(".bx_filter .mobile-scroll.srollbar-custom").mCustomScrollbar("destroy"); 9912 } 9913 } catch (e) { 9914 console.log(e); 9915 } finally { 9916 ignoreResize.pop(); 9917 } 9918}); 9919 9920BX.addCustomEvent("onWindowScroll", function (eventdata) { 9921 try { 9922 ignoreScroll.push(true); 9923 } catch (e) { 9924 } finally { 9925 ignoreScroll.pop(); 9926 } 9927}); 9928 9929BX.addCustomEvent("onSlideInit", function (eventdata) { 9930 try { 9931 ignoreResize.push(true); 9932 if (eventdata) { 9933 var slider = eventdata.slider; 9934 if (slider) { 9935 if (slider.hasClass("small-gallery")) $(window).resize(); 9936 // add classes .curent & .shown to slide
9937 slider.find(".item").removeClass("current"); 9938 var curSlide = slider.find(".item.flex-active-slide"), 9939 curSlideId = curSlide.attr("id"), 9940 nav = slider.find(".flex-direction-nav"); 9941 9942 curSlide.addClass("current"); 9943 9944 slider.find(".visible").css("opacity", "1"); 9945 slider.find(".height0").css("height", "auto"); 9946 9947 if (curSlide.hasClass("shown")) { 9948 slider.find(".item.clone[id=" + curSlideId + "_clone]").addClass("shown"); 9949 } 9950 9951 curSlide.addClass("shown"); 9952 } 9953 } 9954 } catch (e) { 9955 } finally { 9956 ignoreResize.pop(); 9957 } 9958}); 9959 9960BX.addCustomEvent("onCounterGoals", function (eventdata) { 9961 if (arAsproOptions["THEME"]["YA_GOALS"] == "Y" && arAsproOptions["THEME"]["YA_COUNTER_ID"]) { 9962 var idCounter = arAsproOptions["THEME"]["YA_COUNTER_ID"]; 9963 idCounter = parseInt(idCounter); 9964 9965 if (typeof eventdata != "object") eventdata = { goal: "undefined" }; 9966 9967 if (typeof eventdata.goal != "string") eventdata.goal = "undefined"; 9968 9969 if (idCounter) { 9970 try { 9971 waitCounter(idCounter, 50, function () { 9972 var obCounter = window["yaCounter" + idCounter]; 9973 if (typeof obCounter == "object") { 9974 obCounter.reachGoal(eventdata.goal); 9975 } 9976 }); 9977 } catch (e) { 9978 console.error(e); 9979 } 9980 } else { 9981 console.info("Bad counter id!", idCounter); 9982 } 9983 } 9984}); 9985 9986var onCaptchaVerifyinvisible = function (response) { 9987 $(".g-recaptcha:last").each(function () { 9988 var id = $(this).attr("data-widgetid"); 9989 if (typeof id !== "undefined" && response) { 9990 if (!$(this).closest("form").find(".g-recaptcha-response").val()) 9991 $(this).closest("form").find(".g-recaptcha-response").val(response); 9992 if ($("iframe[src*=recaptcha]").length) { 9993 $("iframe[src*=recaptcha]").each(function () { 9994 var block = $(this).parent().parent(); 9995 if (!block.hasClass("grecaptcha-badge")) block.css("width", "100%"); 9996 }); 9997 } 9998 $(this).closest("form").submit(); 9999 } 10000 }); 10001}; 10002 10003var onCaptchaVerifynormal = function (response) { 10004 $(".g-recaptcha").each(function () { 10005 var id = $(this).attr("data-widgetid"); 10006 if (typeof id !== "undefined") { 10007 if (grecaptcha.getResponse(id) != "") { 10008 $(this).closest("form").find(".recaptcha").valid(); 10009 } 10010 } 10011 }); 10012}; 10013 10014BX.addCustomEvent("onSubmitForm", function (eventdata) { 10015 try { 10016 if (!window.renderRecaptchaById || !window.asproRecaptcha || !window.asproRecaptcha.key) { 10017 eventdata.form.submit(); 10018 $(eventdata.form).closest(".form").addClass("sending"); 10019 return true; 10020 } 10021 10022 if (window.asproRecaptcha.params.recaptchaSize == "invisible" && $(eventdata.form).find(".g-recaptcha").length) { 10023 if ($(eventdata.form).find(".g-recaptcha-response").val()) { 10024 eventdata.form.submit(); 10025 $(eventdata.form).closest(".form").addClass("sending"); 10026 return true; 10027 } else { 10028 if (typeof grecaptcha != "undefined") { 10029 grecaptcha.execute($(eventdata.form).find(".g-recaptcha").data("widgetid")); 10030 } else { 10031 return false; 10032 } 10033 } 10034 } else { 10035 eventdata.form.submit(); 10036 $(eventdata.form).closest(".form").addClass("sending"); 10037 return true; 10038 } 10039 } catch (e) { 10040 console.error(e); 10041 return true; 10042 } 10043}); 10044 10045$(document).on("click", ".catalog_reviews_extended span.dropdown-select__list-link", function () { 10046 var _this = $(this); 10047 var ajaxData = _this.data("review_sort_ajax"); 10048 var container = _this.closest("[id^=comp_]"); 10049 containerId = container.attr("id"); 10050 if (containerId !== undefined && containerId) { 10051 ajaxData.containerId = containerId; 10052 } 10053 if (ajaxData !== undefined) { 10054 container.addClass("blur"); 10055 $.ajax({ 10056 type: "post", 10057 data: ajaxData, 10058 success: function (html) { 10059 $("#reviews_sort_continer").html(html); 10060 }, 10061 }); 10062 } 10063}); 10064 10065$(document).on("click", ".rating_vote:not(.disable)", function () { 10066 var _this = $(this); 10067 var action = _this.data("action"); 10068 var parent = _this.closest(".rating-vote"); 10069 var commentId = parent.data("comment_id"); 10070 var userId = parent.data("user_id"); 10071 var ajaxUrl = parent.data("ajax_url"); 10072 $.ajax({ 10073 url: ajaxUrl, 10074 dataType: "json", 10075 data: { commentId: commentId, action: action, userId: userId }, 10076 success: function (data) { 10077 if (data.LIKE !== undefined) { 10078 _this.siblings(".rating-vote-result.like").text(data.LIKE); 10079 } 10080 if (data.DISLIKE !== undefined) { 10081 _this.siblings(".rating-vote-result.dislike").text(data.DISLIKE); 10082 } 10083 if (data.SET_ACTIVE_LIKE !== undefined) { 10084 parent.find(".rating_vote.plus").toggleClass("active"); 10085 } 10086 if (data.SET_ACTIVE_DISLIKE !== undefined) { 10087 parent.find(".rating_vote.minus").toggleClass("active"); 10088 } 10089 }, 10090 }); 10091}); 10092 10093function fileInputInit(message) { 10094 $("input[type=file]").uniform({ fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"), fileDefaultHtml: message }); 10095 $(document).on("change", "input[type=file]", function () { 10096 if ($(this).val()) { 10097 $(this).closest(".uploader").addClass("files_add"); 10098 } else { 10099 $(this).closest(".uploader").removeClass("files_add"); 10100 } 10101 }); 10102 $(".form .add_file").on("click", function () { 10103 var index = $(this).closest(".input").find("input[type=file]").length + 1; 10104 10105 $(this) 10106 .closest(".form-group")
10107 .find(".input") 10108 .append('<input type="file" id="POPUP_FILE" name="FILE_n' + index + '" class="inputfile" value="" />'); 10109 $("input[type=file]").uniform({ fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"), fileDefaultHtml: message }); 10110 }); 10111 10112 $(".form .add_file").on("click", function () { 10113 var index = $(this).closest(".input").find("input[type=file]").length + 1; 10114 10115 $(this) 10116 .closest(".form-group") 10117 .find(".input") 10118 .append('<input type="file" id="POPUP_FILE" name="FILE_n' + index + '" class="inputfile" value="" />'); 10119 $("input[type=file]").uniform({ fileButtonHtml: BX.message("JS_FILE_BUTTON_NAME"), fileDefaultHtml: message }); 10120 }); 10121} 10122 10123/*custom event for sku prices*/ 10124 10125/*BX.addCustomEvent('onAsproSkuSetPrice', function(eventdata){ 10126 console.log(eventdata); 10127})*/ 10128 10129/*BX.addCustomEvent('onAsproSkuSetPriceMatrix', function(eventdata){ 10130 console.log(eventdata); 10131})*/ 10132 10133function declOfNum(number, titles) { 10134 var cases = [2, 0, 1, 1, 1, 2]; 10135 return number + " " + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]]; 10136} 10137 10138function array_values_js(input) { 10139 var tmp_arr = new Array(), 10140 cnt = 0; 10141 for (key in input) { 10142 tmp_arr[cnt] = input[key]; 10143 cnt++; 10144 } 10145 10146 return tmp_arr; 10147}
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.