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