1var basketTimeoutSlide; 2var resizeEventTimer; 3 4var funcDefined = function (func) { 5 try { 6 if (typeof func == "function") { 7 return true; 8 } else { 9 return typeof window[func] === "function"; 10 } 11 } catch (e) { 12 return false; 13 } 14}; 15 16if (!funcDefined("setLocationSKU")) { 17 function setLocationSKU(ID, offerID) { 18 if (offerID === undefined) offerID = "oid"; 19 if (offerID) { 20 var objUrl = parseUrlQuery(), 21 j = 0, 22 prefix = "", 23 query_string = "", 24 url = ""; 25 objUrl[offerID] = ID; 26 for (var i in objUrl) { 27 if (parseInt(j) > 0) { 28 prefix = "&"; 29 } 30 query_string += prefix + i + "=" + objUrl[i]; 31 j++; 32 } 33 if (query_string) { 34 url = location.pathname + "?" + query_string; 35 } 36 try { 37 history.replaceState(null, null, url); 38 return; 39 } catch (e) {} 40 location.hash = "#" + url.substr(1); 41 } 42 } 43} 44 45/*sku change props*/ 46if (!("SelectOfferProp" in window) && typeof window.SelectOfferProp != "function") { 47 SelectOfferProp = function () { 48 // return false; 49 var _this = $(this), 50 obParams = {}, 51 obSelect = {}, 52 objUrl = parseUrlQuery(), 53 add_url = "", 54 selectMode = !_this.hasClass("item") ? true : false, 55 container = _this.closest(".bx_catalog_item_scu"), 56 img = _this.closest(".item-parent").find(".thumb img"); 57 58 /* request params */ 59 obParams = { 60 PARAMS: _this.closest(".js-wrapper-block").data("params"), 61 ID: container.data("offer_id"), 62 SITE_ID: container.data("site_id"), 63 LINK_ID: container.data("id") + "_" + _this.closest(".cur").data("code"), 64 IBLOCK_ID: container.data("offer_iblockid"), 65 PROPERTY_ID: container.data("propertyid"), 66 DEPTH: _this.closest(".item_wrapper").index(), 67 VALUE: selectMode ? _this.find("option:selected").data("onevalue") : _this.data("onevalue"), 68 CLASS: "inner_content", 69 PICTURE: img.data("src") ? img.data("src") : img.attr("src"), 70 ARTICLE_NAME: _this.closest(".item_wrapper").find(".article_block").data("name"), 71 ARTICLE_VALUE: _this.closest(".item_wrapper").find(".article_block").data("value"), 72 }; 73 /**/ 74 75 if ("clear_cache" in objUrl) { 76 if (objUrl.clear_cache == "Y") add_url += "?clear_cache=Y"; 77 } 78 79 /* save selected values */ 80 for (i = 0; i < obParams.DEPTH + 1; i++) { 81 strName = "PROP_" + container.find(".item_wrapper:eq(" + i + ") > div").data("id"); 82 if (container.find(".item_wrapper:eq(" + i + ") select").length) { 83 obSelect[strName] = container.find(".item_wrapper:eq(" + i + ") select option:selected").data("onevalue"); 84 obParams[strName] = container.find(".item_wrapper:eq(" + i + ") select option:selected").data("onevalue"); 85 86 if (container.find(".item_wrapper:eq(" + i + ") select option:selected").attr("title")) { 87 _this 88 .closest(".item_wrapper") 89 .find(".show_class") 90 .text(container.find(".item_wrapper:eq(" + i + ") select option:selected").attr("title")); 91 } 92 } else { 93 obSelect[strName] = container.find(".item_wrapper:eq(" + i + ") li.item.active").data("onevalue"); 94 obParams[strName] = container.find(".item_wrapper:eq(" + i + ") li.item.active").data("onevalue"); 95 } 96 } 97 // obParams.SELECTED = JSON.stringify(obSelect); 98 /**/ 99 100 if (!selectMode) { 101 _this.siblings().removeClass("active"); 102 _this.addClass("active"); 103 } 104 105 setPropertyTitle(_this); 106 107 /* get sku */ 108 $.ajax({ 109 url: arOptimusOptions["SITE_DIR"] + "ajax/js_item_detail.php" + add_url, 110 type: "POST", 111 data: obParams, 112 }).success(function (html) { 113 var ob = BX.processHTML(html); 114 BX.ajax.processScripts(ob.SCRIPT); 115 // if (funcDefined("sliceItemBlock")) { 116 // sliceItemBlock({ resize: false }); 117 // } 118 119 if ($(".counter_wrapp.list")) { 120 $(".counter_wrapp.list .counter_block.big").removeClass("big"); 121 } 122 }); 123 }; 124 $(document).on("click", ".ajax_load .bx_catalog_item_scu li.item:not(.active)", SelectOfferProp); 125 $(document).on("change", ".ajax_load .bx_catalog_item_scu select", SelectOfferProp); 126} 127 128if (!funcDefined("setPropertyTitle")) { 129 var setPropertyTitle = function(ctx) { 130 if (ctx.attr("title")) { 131 const skuVal = ctx.attr("title"); 132 ctx.closest(".item_wrapper").find(".show_class").text(skuVal); 133 } else { 134 const img_row = ctx.find(" > i"); 135 136 if (img_row.length && img_row.attr("title")) { 137 const skuVal = img_row.attr("title"); 138 ctx.closest(".item_wrapper").find(".show_class").text(skuVal); 139 } 140 } 141 } 142} 143 144if (!funcDefined("trimPrice")) { 145 var trimPrice = function trimPrice(s) { 146 s = s.split(" ").join(""); 147 s = s.split(" ").join(""); 148 return s; 149 }; 150} 151 152if (!funcDefined("markProductRemoveBasket")) { 153 var markProductRemoveBasket = function markProductRemoveBasket(id) { 154 $(".in-cart[data-item=" + id + "]").hide(); 155 $(".to-cart[data-item=" + id + "]").show(); 156 $(".to-cart[data-item=" + id + "]") 157 .closest(".button_block") 158 .removeClass("wide"); 159 $(".to-cart[data-item=" + id + "]") 160 .closest(".counter_wrapp") 161 .find(".counter_block") 162 .show(); 163 $(".counter_block[data-item=" + id + "]").show(); 164 $(".in-subscribe[data-item=" + id + "]").hide(); 165 $(".to-subscribe[data-item=" + id + "]").show(); 166 $(".wish_item[data-item=" + id + "]").removeClass("added"); 167 $(".wish_item[data-item=" + id + "] .value:not(.added)").show(); 168 $(".wish_item[data-item=" + id + "] .value.added").hide(); 169 }; 170} 171 172if (!funcDefined("markProductAddBasket")) { 173 var markProductAddBasket = function markProductAddBasket(id) { 174 $(".to-cart[data-item=" + id + "]").hide(); 175 $(".to-cart[data-item=" + id + "]") 176 .closest(".counter_wrapp") 177 .find(".counter_block") 178 .hide(); 179 $(".to-cart[data-item=" + id + "]") 180 .closest(".button_block") 181 .addClass("wide"); 182 $(".in-cart[data-item=" + id + "]").show(); 183 $(".wish_item[data-item=" + id + "]").removeClass("added"); 184 $(".wish_item[data-item=" + id + "] .value:not(.added)").show(); 185 $(".wish_item[data-item=" + id + "] .value.added").hide(); 186 }; 187} 188 189if (!funcDefined("markProductDelay")) {
190 var markProductDelay = function markProductDelay(id) { 191 $(".in-cart[data-item=" + id + "]").hide(); 192 $(".to-cart[data-item=" + id + "]").show(); 193 $(".to-cart[data-item=" + id + "]") 194 .closest(".counter_wrapp") 195 .find(".counter_block") 196 .show(); 197 $(".to-cart[data-item=" + id + "]") 198 .closest(".button_block") 199 .removeClass("wide"); 200 $(".wish_item[data-item=" + id + "]").addClass("added"); 201 $(".wish_item[data-item=" + id + "] .value:not(.added)").hide(); 202 // $('.wish_item[data-item='+id+'] .value.added').show(); 203 $(".wish_item[data-item=" + id + "] .value.added").css("display", "block"); 204 }; 205} 206 207if (!funcDefined("markProductSubscribe")) { 208 var markProductSubscribe = function markProductSubscribe(id) { 209 $(".to-subscribe[data-item=" + id + "]").hide(); 210 $(".in-subscribe[data-item=" + id + "]").css("display", "block"); 211 }; 212} 213 214if (!funcDefined("basketFly")) { 215 var basketFly = function basketFly(action) { 216 if (typeof obOptimusPredictions === "object") { 217 obOptimusPredictions.updateAll(); 218 } 219 220 $.post( 221 arOptimusOptions["SITE_DIR"] + "ajax/basket_fly.php", 222 "PARAMS=" + $("#basket_form").find("input#fly_basket_params").val(), 223 $.proxy(function (data) { 224 var small = $(".opener .basket_count").hasClass("small"), 225 basket_count = $(data).find(".basket_count").find(".items div").text(); 226 $("#basket_line .basket_fly").addClass("loaded").html(data); 227 228 if (action == "refresh") { 229 $("li[data-type=AnDelCanBuy]").trigger("click"); 230 } 231 232 if (window.matchMedia("(min-width: 769px)").matches) { 233 if (action == "open") { 234 if (small) { 235 if (arOptimusOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 236 if (!$('.basket_fly').hasClass('opened-once')) { 237 $(".opener .basket_count").click(); 238 $('.basket_fly').addClass('opened-once'); 239 } 240 } 241 } else { 242 $(".opener .basket_count").removeClass("small"); 243 $('.tabs_content.basket li[item-section="AnDelCanBuy"]').addClass("cur"); 244 $('#basket_line ul.tabs li[item-section="AnDelCanBuy"]').addClass("cur"); 245 } 246 } else if (action == "wish") { 247 if (small) { 248 if (arOptimusOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 249 $(".opener .wish_count").click(); 250 } 251 } else { 252 $(".opener .wish_count").removeClass("small"); 253 $('.tabs_content.basket li[item-section="DelDelCanBuy"]').addClass("cur"); 254 $('#basket_line ul.tabs li[item-section="DelDelCanBuy"]').addClass("cur"); 255 } 256 } else { 257 if (arOptimusOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 258 $(".opener .basket_count").click(); 259 } 260 } 261 } 262 }) 263 ); 264 }; 265} 266 267if (!funcDefined("clearViewedProduct")) { 268 function clearViewedProduct() { 269 try { 270 var siteID = arOptimusOptions.SITE_ID; 271 var localKey = "OPTIMUS_VIEWED_ITEMS_" + siteID; 272 var cookieParams = { path: "/", expires: 30 }; 273 if (typeof BX.localStorage !== "undefined") { 274 // remove local storage 275 BX.localStorage.set(localKey, {}, 0); 276 } 277 // remove cookie 278 $.removeCookie(localKey, cookieParams); 279 } catch (e) { 280 console.error(e); 281 } 282 } 283} 284 285if (!funcDefined("setViewedProduct")) { 286 function setViewedProduct(id, arData) { 287 try { 288 // save $.cookie option 289 var bCookieJson = $.cookie.json; 290 $.cookie.json = true; 291 292 var siteID = arOptimusOptions.SITE_ID; 293 var localKey = "OPTIMUS_VIEWED_ITEMS_" + siteID; 294 var cookieParams = { path: "/", expires: 30 }; 295 296 if (typeof BX.localStorage !== "undefined" && typeof id !== "undefined" && typeof arData !== "undefined") { 297 var PRODUCT_ID = typeof arData.PRODUCT_ID !== "undefined" ? arData.PRODUCT_ID : id; 298 var arViewedLocal = BX.localStorage.get(localKey) ? BX.localStorage.get(localKey) : {}; 299 var arViewedCookie = $.cookie(localKey) ? $.cookie(localKey) : {}; 300 var count = 0; 301 302 // delete some items (sync cookie & local storage) 303 for (var _id in arViewedLocal) { 304 arViewedLocal[_id].IS_LAST = false;
305 if (typeof arViewedCookie[_id] === "undefined") { 306 delete arViewedLocal[_id]; 307 } 308 } 309 for (var _id in arViewedCookie) { 310 if (typeof arViewedLocal[_id] === "undefined") { 311 delete arViewedCookie[_id]; 312 } 313 } 314 315 for (var _id in arViewedCookie) { 316 count++; 317 } 318 319 // delete item if other item (offer) of that PRODUCT_ID is exists 320 if (typeof arViewedLocal[PRODUCT_ID] !== "undefined") { 321 if (arViewedLocal[PRODUCT_ID].ID != id) { 322 delete arViewedLocal[PRODUCT_ID]; 323 delete arViewedCookie[PRODUCT_ID]; 324 } 325 } 326 327 delete arViewedLocal[2243]; 328 delete arViewedCookie[2243]; 329 330 var time = new Date().getTime(); 331 arData.ID = id; 332 arData.ACTIVE_FROM = time; 333 arData.IS_LAST = true; 334 arViewedLocal[PRODUCT_ID] = arData; 335 arViewedCookie[PRODUCT_ID] = [time.toString(), arData.PICTURE_ID]; 336 337 $.cookie(localKey, arViewedCookie, cookieParams); 338 BX.localStorage.set(localKey, arViewedLocal, 2592000); // 30 days 339 } 340 } catch (e) { 341 console.error(e); 342 } finally { 343 // restore $.cookie option 344 $.cookie.json = bCookieJson; 345 } 346 } 347} 348 349if (!funcDefined("initSelects")) { 350 function initSelects(target) { 351 var iOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false; 352 if (iOS) return; 353 if ($("#bx-soa-order").length) return; 354 // SELECT STYLING 355 $(target) 356 .find(".wrapper select:visible") 357 .ikSelect({ 358 syntax: 359 '<div class="ik_select_link"> \ 360 <span class="ik_select_link_text"></span> \ 361 <div class="trigger"></div> \ 362 </div> \ 363 <div class="ik_select_dropdown"> \ 364 <div class="ik_select_list"> \ 365 </div> \ 366 </div>', 367 dynamicWidth: true, 368 ddMaxHeight: 112, 369 customClass: "common_select", 370 //equalWidths: true, 371 onShow: function (inst) { 372 inst.$dropdown.css("top", parseFloat(inst.$dropdown.css("top")) - 5 + "px"); 373 if (inst.$dropdown.outerWidth() < inst.$link.outerWidth()) { 374 inst.$dropdown.css("width", inst.$link.outerWidth()); 375 } 376 if (inst.$dropdown.outerWidth() > inst.$link.outerWidth()) { 377 inst.$dropdown.css("width", inst.$link.outerWidth()); 378 } 379 var count = 0, 380 client_height = 0; 381 inst.$dropdown.css("left", inst.$link.offset().left); 382 $(inst.$listInnerUl) 383 .find("li") 384 .each(function () { 385 if (!$(this).hasClass("ik_select_option_disabled")) { 386 ++count; 387 client_height += $(this).outerHeight(); 388 } 389 }); 390 if (client_height < 112) { 391 inst.$listInner.css("height", "auto"); 392 } else { 393 inst.$listInner.css("height", "112px"); 394 } 395 inst.$link.addClass("opened"); 396 inst.$listInner.addClass("scroller"); 397 }, 398 onHide: function (inst) { 399 inst.$link.removeClass("opened"); 400 }, 401 }); 402 // END OF SELECT STYLING 403 404 var timeout; 405 $(window).on("resize", function () { 406 clearTimeout(timeout); 407 timeout = setTimeout(function () { 408 //$('select:visible').ikSelect('redraw'); 409 var inst = ""; 410 if ((inst = $(".common_select-link.opened + select").ikSelect().data("plugin_ikSelect"))) { 411 inst.$dropdown.css("left", inst.$link.offset().left + "px"); 412 } 413 }, 20); 414 }); 415 } 416} 417 418if (!funcDefined("CheckTopMenuFullCatalogSubmenu")) { 419 CheckTopMenuFullCatalogSubmenu = function () { 420 if (arOptimusOptions["THEME"]["MENU_TYPE_VIEW"] != "hover") return; 421 var $menu = $(".menu_top_block"); 422 var $wrapmenu = $menu.parents(".wrap_menu"); 423 var wrapMenuWidth = $wrapmenu.actual("outerWidth"); 424 var wrapMenuLeft = $wrapmenu.offset().left; 425 var wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 426 var bCatalogFirst = $menu.hasClass("catalogfirst"); 427 var findMenuLi = $(".menu_top_block:visible li.full"); 428 var parentSubmenuWidth = $menu.actual("outerWidth"); 429 430 if ($(".catalog_block.menu_top_block").length) { 431 if ($(".catalog_block.menu_top_block").is(":visible")) findMenuLi = $(".menu_top_block.catalog_block li.full"); 432 } 433 434 findMenuLi.each(function () { 435 var $this = $(this); 436 var $submenu = $this.find(">.dropdown"); 437 438 if ($submenu.length) { 439 if (bCatalogFirst) { 440 $submenu.css({ 441 left: parentSubmenuWidth + "px", 442 width: wrapMenuWidth - parentSubmenuWidth + "px", 443 "padding-left": "0px", 444 "padding-right": "0px", 445 }); 446 } else { 447 $submenu.css({ 448 left: $this.offset().left * -1 + "px", 449 width: $(window).width() - 1 + "px", 450 "padding-left": wrapMenuLeft + "px", 451 "padding-right": $(window).width() - wrapMenuRight + "px", 452 }); 453 } 454 if (!isOnceInited && bCatalogFirst && arOptimusOptions["THEME"]["MENU_POSITION"] == "top") { 455 $this.on("mouseenter", function () { 456 $submenu.css("min-height", $this.closest(".dropdown").actual("outerHeight") + "px"); 457 }); 458 } 459 } 460 }); 461 }; 462} 463 464$.fn.getMaxHeights = function (outer, classNull, minHeight) { 465 var maxHeight = this.map(function (i, e) { 466 var calc_height = 0; 467 468 $(e).css("height", ""); 469 470 if (outer == true) { 471 calc_height = $(e).actual("outerHeight"); 472 } else { 473 calc_height = $(e).actual("height"); 474 } 475 return calc_height; 476 }).get(); 477 for (var i = 0, c = maxHeight.length; i < c; ++i) { 478 if (maxHeight[i] % 2) { 479 --maxHeight[i]; 480 } 481 } 482 return Math.max.apply(this, maxHeight); 483}; 484 485$.fn.equalizeHeights = function (outer, classNull, minHeight) { 486 var maxHeight = this.map(function (i, e) { 487 var minus_height = 0, 488 calc_height = 0; 489 if (classNull !== false) { 490 if (!isMobile) { 491 minus_height = parseInt($(e).find(classNull).actual("outerHeight")); 492 } 493 } 494 if (minus_height) minus_height += 12; 495 $(e).css("height", ""); 496 if (outer == true) { 497 calc_height = $(e).actual("outerHeight") - minus_height; 498 } else { 499 calc_height = $(e).actual("height") - minus_height; 500 } 501 if (minHeight !== false) { 502 if (calc_height < minHeight) { 503 calc_height += minHeight - calc_height; 504 } 505 if (window.matchMedia("(max-width: 520px)").matches) { 506 calc_height = 300; 507 } 508 if (window.matchMedia("(max-width: 400px)").matches) { 509 calc_height = 200; 510 } 511 } 512 return calc_height; 513 }).get(); 514 515 for (var i = 0, c = maxHeight.length; i < c; ++i) { 516 if (maxHeight[i] % 2) { 517 --maxHeight[i]; 518 } 519 } 520 return this.height(Math.max.apply(this, maxHeight)); 521}; 522 523$.fn.getFloatWidth = function () { 524 var width = 0; 525 526 if ($(this).length) { 527 var rect = $(this)[0].getBoundingClientRect(); 528 if (!(width = rect.width)) { 529 width = rect.right - rect.left; 530 } 531 } 532 533 return width; 534}; 535 536$.fn.sliceHeight = function (options) { 537 function _slice(el) { 538 el.each(function () { 539 $(this).css("line-height", ""); 540 $(this).css("height", ""); 541 }); 542 543 if (options.mobile == true) { 544 if (window.matchMedia("(max-width: 520px)").matches) { 545 return; 546 } 547 } 548 549 if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) { 550 var row = 551 typeof options.row !== "undefined" && options.row.length 552 ? el.first().parents(options.row).getFloatWidth() 553 : el.first().parents(".items").getFloatWidth(), 554 elw = 555 typeof options.item !== "undefined" && options.item.length 556 ? $(options.item).first().getFloatWidth() 557 : el.first().hasClass("item") 558 ? el.first().getFloatWidth() 559 : el.first().parents(".item").getFloatWidth(); 560 if (!row) { 561 row = el.first().parents(".row").getFloatWidth(); 562 } 563 if (row && elw) { 564 options.slice = Math.floor(row / elw); 565 } 566 } 567 if (options.slice) { 568 for (var i = 0; i < el.length; i += options.slice) { 569 $(el.slice(i, i + options.slice)).equalizeHeights(options.outer, options.classNull, options.minHeight); 570 } 571 } 572 if (options.lineheight) { 573 var lineheightAdd = parseInt(options.lineheight); 574 if (isNaN(lineheightAdd)) { 575 lineheightAdd = 0; 576 } 577 el.each(function () { 578 $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); 579 }); 580 } 581 } 582 583 var options = $.extend( 584 { 585 slice: null, 586 outer: false, 587 lineheight: false, 588 autoslicecount: true, 589 classNull: false, 590 minHeight: false, 591 options: false, 592 resize: true,
593 row: false, 594 item: false, 595 mobile: false, 596 }, 597 options 598 ); 599 600 var el = $(this); 601 602 if (options.mobile == true) { 603 if ( 604 typeof arOptimusOptions === "object" && 605 typeof arOptimusOptions.THEME.MOBILE_CATALOG_BLOCK_COMPACT === "string" && 606 arOptimusOptions.THEME.MOBILE_CATALOG_BLOCK_COMPACT.toUpperCase() === "Y" && 607 el.first().parents(".catalog_block.items").length 608 ) { 609 options.mobile = false; 610 } 611 } 612 _slice(el); 613 614 if (options.resize) { 615 if (!window.sliceResizeElements) { 616 window.sliceResizeElements = []; 617 BX.addCustomEvent("onWindowResize", function () { 618 ignoreResize.push(true); 619 window.sliceResizeElements.forEach(function (el) { 620 _slice(el); 621 }); 622 ignoreResize.pop(); 623 }); 624 } 625 626 window.sliceResizeElements.push(el); 627 } else { 628 if (!ignoreResize.length) { 629 // ignoreResize.push(true); 630 _slice(el); 631 // ignoreResize.pop(); 632 } 633 } 634}; 635 636$.fn.sliceHeightNoResize = function (options) { 637 function _slice(el) { 638 el.each(function () { 639 $(this).css("line-height", ""); 640 $(this).css("height", ""); 641 }); 642 if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) { 643 var elw = el.first().hasClass("item") ? el.first().getFloatWidth() : el.first().parents(".item").getFloatWidth(); 644 var elsw = el.first().parents(".items").getFloatWidth(); 645 if (!elsw) { 646 elsw = el.first().parents(".row").getFloatWidth(); 647 } 648 if (elsw && elw) { 649 options.slice = Math.floor(elsw / elw); 650 } 651 } 652 653 if (options.slice) { 654 for (var i = 0; i < el.length; i += options.slice) { 655 $(el.slice(i, i + options.slice)).equalizeHeights(options.outer, options.classNull, options.minHeight); 656 } 657 } 658 if (options.lineheight) { 659 var lineheightAdd = parseInt(options.lineheight); 660 if (isNaN(lineheightAdd)) { 661 lineheightAdd = 0; 662 } 663 el.each(function () { 664 $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); 665 }); 666 } 667 } 668 669 var options = $.extend( 670 { 671 slice: null, 672 outer: false, 673 lineheight: false, 674 autoslicecount: true, 675 classNull: false, 676 minHeight: false, 677 options: false, 678 resize: true, 679 }, 680 options 681 ); 682 683 var el = $(this); 684 _slice(el); 685}; 686 687if (!funcDefined("initHoverBlock")) { 688 function initHoverBlock(target) { 689 /*$(target).find('.catalog_item.item_wrap').on('mouseenter', function(){ 690 $(this).addClass('hover'); 691 }) 692 $(target).find('.catalog_item.item_wrap').on('mouseleave', function(){ 693 $(this).removeClass('hover'); 694 })*/ 695 } 696} 697 698if (!funcDefined("setStatusButton")) { 699 function setStatusButton() { 700 $.ajax({ 701 url: arOptimusOptions["SITE_DIR"] + "ajax/getAjaxBasket.php", 702 type: "POST", 703 success: function (data) { 704 if (data.BASKET) { 705 for (var i in data.BASKET) { 706 $(".to-cart[data-item=" + data.BASKET[i] + "]").hide(); 707 $(".counter_block[data-item=" + data.BASKET[i] + "]").hide(); 708 $(".in-cart[data-item=" + data.BASKET[i] + "]").show(); 709 $(".in-cart[data-item=" + data.BASKET[i] + "]") 710 .closest(".button_block") 711 .addClass("wide"); 712 } 713 } 714 if (data.DELAY) { 715 for (var i in data.DELAY) { 716 $(".wish_item.to[data-item=" + data.DELAY[i] + "]").hide(); 717 $(".wish_item.in[data-item=" + data.DELAY[i] + "]").show(); 718 if ($(".wish_item[data-item=" + data.DELAY[i] + "]").find(".value.added").length) { 719 $(".wish_item[data-item=" + data.DELAY[i] + "]").addClass("added"); 720 $(".wish_item[data-item=" + data.DELAY[i] + "]") 721 .find(".value") 722 .hide(); 723 $(".wish_item[data-item=" + data.DELAY[i] + "]") 724 .find(".value.added") 725 .show(); 726 } 727 } 728 } 729 if (data.SUBSCRIBE) { 730 for (var i in data.SUBSCRIBE) { 731 $(".to-subscribe[data-item=" + data.SUBSCRIBE[i] + "]").hide(); 732 $(".in-subscribe[data-item=" + data.SUBSCRIBE[i] + "]").show(); 733 } 734 } 735 if (data.COMPARE) { 736 for (var i in data.COMPARE) { 737 $(".compare_item.to[data-item=" + data.COMPARE[i] + "]").hide(); 738 $(".compare_item.in[data-item=" + data.COMPARE[i] + "]").show(); 739 if ($(".compare_item[data-item=" + data.COMPARE[i] + "]").find(".value.added").length) { 740 $(".compare_item[data-item=" + data.COMPARE[i] + "]") 741 .find(".value") 742 .hide(); 743 $(".compare_item[data-item=" + data.COMPARE[i] + "]") 744 .find(".value.added") 745 .show(); 746 } 747 } 748 } 749 }, 750 }); 751 } 752} 753 754window.onload = function () { 755 window.dataLayer = window.dataLayer || []; 756}; 757 758if (!funcDefined("onLoadjqm")) { 759 var onLoadjqm = function (name, hash, requestData, selector, requestTitle, isButton, thButton) { 760 761 if ( hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay) ) { 762 let diffWidth; 763 $("body").addClass("jqm-initied"); 764 765 if ((diffWidth = window.innerWidth - document.documentElement.clientWidth)) { 766 $("body").css({ "padding-right": diffWidth + "px", "box-sizing": "border-box"}); 767 } 768 769 hash.w 770 .closest("#popup_iframe_wrapper") 771 .css({ "z-index": 3000, display: "flex" }); 772 } 773 774 hash.w.addClass("show").css({ 775 opacity: 1, 776 }); 777 778 hash.w.addClass("scrollbar scrollbar--overflow"); 779 780 $("body").css({ overflow: "hidden", /*height: "100vh"*/}); 781 782 if(!$("body").hasClass("fast_view") && name === "fast_view") { 783 $("body").addClass(name); 784 } 785 786 if (typeof requestData == "undefined") { 787 requestData = ""; 788 } 789 if (typeof selector == "undefined") { 790 selector = false;
791 } 792 //var width = $("." + name + "_frame").width(); 793 //$("." + name + "_frame").css("margin-left", "-" + width / 2 + "px"); 794 795 if (name == "order-popup-call") { 796 } else if (name == "order-button") { 797 $(".order-button_frame") 798 .find("div[product_name]") 799 .find("input") 800 .val(hash.t.title) 801 .attr("readonly", "readonly") 802 .css({ overflow: "hidden", "text-overflow": "ellipsis" }); 803 } else if ((name == "to-order" || name == "cheaper") && selector) { 804 $(".to-order_frame") 805 .find('[data-sid="PRODUCT_NAME"]') 806 .val($(selector).data("name")) 807 .attr("readonly", "readonly") 808 .css({ overflow: "hidden", "text-overflow": "ellipsis" }); 809 $(".to-order_frame").find('[data-sid="PRODUCT_ID"]').val($(selector).attr("data-item")); 810 $(".cheaper_frame") 811 .find('[data-sid="PRODUCT_NAME"]') 812 .val($(selector).data("name")) 813 .attr("readonly", "readonly") 814 .css({ overflow: "hidden", "text-overflow": "ellipsis" }); 815 $(".cheaper_frame").find('[data-sid="PRODUCT_ID"]').val($(selector).attr("data-item")); 816 } else if (name == "services" && selector) { 817 $(".services_frame").find('[data-sid="SERVICE"]').val($(selector).attr("data-title")); 818 } else if (name == "resume" && selector) { 819 if ($(selector).attr("data-jobs")) { 820 $(".resume_frame").find('[data-sid="POST"]').attr("readonly", "readonly").val($(selector).attr("data-jobs")); 821 } 822 } else if (name == "basket_error") { 823 /*else if(name == "subscribe" && selector) { 824 if($(selector).attr('data-item')){ 825 $(".subscribe_frame").find('[data-sid="POST"]').attr("readonly", "readonly").val($(selector).attr('data-jobs')); 826 } 827 }*/ 828 $(".basket_error_frame .pop-up-title").text(requestTitle); 829 $(".basket_error_frame .ajax_text").html(requestData); 830 // $('.basket_error_frame .ajax_text select').ikSelect('redraw'); 831 initSelects(document); 832 if (isButton == "Y" && thButton) { 833 $( 834 "<div class='popup_button_basket_wr'><span class='popup_button_basket big_btn button' data-item=" + 835 thButton.data("item") + 836 "><span>" + 837 BX.message("ERROR_BASKET_BUTTON") + 838 "</span></span></div>" 839 ).insertAfter($(".basket_error_frame .ajax_text")); 840 } 841 } 842 843 var eventdata = { action: "loadForm" }; 844 845 if(typeof selector !== 'undefined' && selector !== false ){ 846 BX.onCustomEvent("onCompleteAction", [eventdata, $(selector)[0]]); 847 } else { 848 BX.onCustomEvent("onCompleteAction", [eventdata, $(hash.t)[0]]); 849 } 850 851 $("." + name + "_frame").show(); 852 }; 853} 854 855if (!funcDefined("onHidejqm")) { 856 var onHidejqm = function (name, hash) { 857 858 if (hash.w.find(".one_click_buy_result_success").is(":visible") && name == "one_click_buy_basket") { 859 window.location.href = window.location.href; 860 } 861 862 hash.w.animate({ opacity: 0 }, 200, function () { 863 hash.w.hide(); 864 hash.w.empty(); 865 hash.o.remove(); 866 hash.w.removeClass("show"); 867 hash.w.removeClass("scrollbar"); 868 hash.w.removeClass("scrollbar--overflow"); 869 $("html").removeClass("overflow_hidden_popup_forms"); 870 871 if (!hash.w.closest("#popup_iframe_wrapper").find(".jqmOverlay").length) { 872 hash.w 873 .closest("#popup_iframe_wrapper") 874 .css({ "z-index": "", display: "" }); 875 } 876 877 if ( 878 !$(".jqmOverlay:not(.mobp)").length || 879 $(".jqmOverlay.waiting").length 880 ) { 881 $("body").removeClass("jqm-initied"); 882 $("body").removeClass("fast_view"); 883 } 884 885 if (!$("body").hasClass("fast_view")) { 886 $("body").css({ overflow: "", height: "", "padding-right": "", "box-sizing": "content-box" }); 887 } 888 }); 889 }; 890} 891 892if (!funcDefined("oneClickBuy")) { 893 var oneClickBuy = function (elementID, iblockID, that) { 894 var name = "one_click_buy"; 895 var elementQuantity = 1; 896 var offerProps = false; 897 var buy_btn = $(that).closest(".buy_block").find(".to-cart"); 898 var buy_btn2 = $(that).closest("tr").find(".to-cart"); 899 900 if (typeof that !== "undefined") { 901 elementQuantity = $(that).attr("data-quantity"); 902 offerProps = $(that).attr("data-props"); 903 } 904 905 if (elementQuantity < 0) { 906 elementQuantity = 1; 907 } 908 909 var tmp_props = buy_btn.data("props"), 910 tmp_props2 = buy_btn2.data("props"), 911 props = "", 912 part_props = "", 913 add_props = "N", 914 fill_prop = {}, 915 iblockid = buy_btn.data("iblockid"), 916 item = buy_btn.attr("data-item"); 917 918 if (tmp_props) { 919 props = tmp_props.split(";"); 920 } else if (tmp_props2) { 921 props = tmp_props2.split(";"); 922 } 923 if (buy_btn.data("part_props")) { 924 part_props = buy_btn.data("part_props"); 925 } 926 if (buy_btn.data("add_props")) { 927 add_props = buy_btn.data("add_props"); 928 } 929 930 fill_prop = fillBasketPropsExt(buy_btn, "prop", buy_btn.data("bakset_div")); 931 fill_prop.iblockID = iblockid; 932 fill_prop.part_props = part_props; 933 fill_prop.add_props = add_props; 934 fill_prop.props = JSON.stringify(props); 935 fill_prop.item = item; 936 fill_prop.ocb_item = "Y"; 937 938 if (!$(that).hasClass("clicked")) { 939 $(that).addClass("clicked"); 940 $("body") 941 .find("." + name + "_frame") 942 .remove(); 943 $("body") 944 .find("." + name + "_trigger") 945 .remove(); 946 $("body #popup_iframe_wrapper").append( 947 '<div class="' + name + '_frame popup"></div>' 948 ); 949 $("body #popup_iframe_wrapper").append( 950 '<div class="' + name + '_trigger"></div>' 951 ); 952 $("." + name + "_frame").jqm({ 953 trigger: "." + name + "_trigger",
954 onHide: function (hash) { 955 onHidejqm(name, hash); 956 }, 957 toTop: false, 958 onLoad: function (hash) { 959 onLoadjqm(name, hash); 960 }, 961 ajax: 962 arOptimusOptions["SITE_DIR"] + 963 "ajax/one_click_buy.php?ELEMENT_ID=" + 964 elementID + 965 "&IBLOCK_ID=" + 966 iblockID + 967 "&ELEMENT_QUANTITY=" + 968 elementQuantity + 969 "&OFFER_PROPS=" + 970 fill_prop.props, 971 }); 972 $("." + name + "_trigger").click(); 973 } 974 }; 975} 976 977if (!funcDefined("oneClickBuyBasket")) { 978 var oneClickBuyBasket = function () { 979 name = "one_click_buy_basket"; 980 $("body") 981 .find("." + name + "_frame") 982 .remove(); 983 $("body") 984 .find("." + name + "_trigger") 985 .remove(); 986 // $("body").append('<div class="' + name + '_frame popup"></div>'); 987 // $("body").append('<div class="' + name + '_trigger"></div>'); 988 989 $("body #popup_iframe_wrapper").append( 990 '<div class="' + name + '_frame popup"></div>' 991 ); 992 $("body #popup_iframe_wrapper").append( 993 '<div class="' + name + '_trigger"></div>' 994 ); 995 996 $("." + name + "_frame").jqm({ 997 trigger: "." + name + "_trigger", 998 onHide: function (hash) { 999 onHidejqm(name, hash); 1000 }, 1001 onLoad: function (hash) { 1002 onLoadjqm(name, hash); 1003 }, 1004 ajax: arOptimusOptions["SITE_DIR"] + "ajax/one_click_buy_basket.php", 1005 }); 1006 $("." + name + "_trigger").click(); 1007 }; 1008} 1009 1010if (!funcDefined("scroll_block")) { 1011 function scroll_block(block) { 1012 const topPos = block.offset().top; 1013 // const headerH = $('header').outerHeight(true,true); 1014 1015 if ($(".stores_tab").length) { 1016 $("li.stores_tab").trigger("click"); 1017 } else if ($(".prices_tab").length) { 1018 $("li.prices_tab").trigger("click"); 1019 const pricesTab = $(".prices_tab.current .opener"); 1020 1021 if (pricesTab[0] && !pricesTab[0].querySelector(".opener_icon.opened")) { 1022 pricesTab[0].click(); 1023 1024 $(pricesTab[0]).parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200); 1025 } 1026 } 1027 $("html,body").animate({ scrollTop: topPos - 30 }, 150); 1028 } 1029} 1030 1031if (!funcDefined("jqmEd")) { 1032 var jqmEd = function ( 1033 name, 1034 form_id, 1035 open_trigger, 1036 requestData, 1037 selector, 1038 requestTitle, 1039 isButton, 1040 thButton 1041 ) { 1042 if (typeof requestData == "undefined") { 1043 requestData = ""; 1044 } 1045 1046 if (typeof selector == "undefined") { 1047 selector = false; 1048 } 1049 1050 // $("body") 1051 // .find("." + name + "_frame") 1052 // .remove(); 1053 // $("body").append('<div class="' + name + '_frame popup"></div>'); 1054 1055 $("body #popup_iframe_wrapper") 1056 .find("." + name + "_frame") 1057 .remove(); 1058 $("body #popup_iframe_wrapper").append( 1059 '<div class="' + name + '_frame jqmWindow popup"></div>' 1060 ); 1061 1062 if (typeof open_trigger == "undefined") { 1063 $("." + name + "_frame").jqm({ 1064 trigger: "." + name + "_frame.popup", 1065 onHide: function (hash) { 1066 onHidejqm(name, hash); 1067 }, 1068 onLoad: function (hash) { 1069 onLoadjqm(name, hash, requestData, selector); 1070 }, 1071 ajax: 1072 arOptimusOptions["SITE_DIR"] + 1073 "ajax/form.php?form_id=" + 1074 form_id + 1075 (requestData.length ? "&" + requestData : ""), 1076 }); 1077 } else { 1078 if (name == "enter") { 1079 $("." + name + "_frame").jqm({ 1080 trigger: open_trigger, 1081 onHide: function (hash) { 1082 onHidejqm(name, hash); 1083 }, 1084 onLoad: function (hash) { 1085 onLoadjqm(name, hash, requestData, selector); 1086 }, 1087 ajax: arOptimusOptions["SITE_DIR"] + "ajax/auth.php", 1088 }); 1089 } else if (name == "basket_error") { 1090 $("." + name + "_frame").jqm({ 1091 trigger: open_trigger, 1092 onHide: function (hash) { 1093 onHidejqm(name, hash); 1094 }, 1095 onLoad: function (hash) { 1096 onLoadjqm(name, hash, requestData, selector, requestTitle, isButton, thButton); 1097 }, 1098 ajax: arOptimusOptions["SITE_DIR"] + "ajax/basket_error.php", 1099 }); 1100 } else { 1101 $("." + name + "_frame").jqm({ 1102 trigger: open_trigger,
1103 onHide: function (hash) { 1104 onHidejqm(name, hash); 1105 }, 1106 onLoad: function (hash) { 1107 onLoadjqm(name, hash, requestData, selector); 1108 }, 1109 ajax: 1110 arOptimusOptions["SITE_DIR"] + 1111 "ajax/form.php?form_id=" + 1112 form_id + 1113 (requestData.length ? "&" + requestData : ""), 1114 }); 1115 1116 } 1117 1118 $(open_trigger).dblclick(function () { 1119 return false; 1120 }); 1121 } 1122 return true; 1123 }; 1124} 1125 1126initCalculatePreview = function () { 1127 $(".calculate-delivery.with_preview:not(.inited)").each(function () { 1128 var $this = $(this); 1129 var $calculateSpan = $this.find("span[data-event=jqm]"); 1130 var $preview = $this.find(".calculate-delivery-preview"); 1131 1132 $this.addClass("inited"); 1133 $this.appear( 1134 function () { 1135 if ($calculateSpan.length) { 1136 if ( 1137 typeof window["calculate-delivery-preview-index"] === "undefined" 1138 ) { 1139 window["calculate-delivery-preview-index"] = 1001; 1140 } else { 1141 ++window["calculate-delivery-preview-index"]; 1142 } 1143 1144 var productId = $calculateSpan.attr("data-param-product_id") * 1; 1145 var quantity = $calculateSpan.attr("data-param-quantity") * 1; 1146 1147 if (productId > 0) { 1148 var areaIndexSended = window["calculate-delivery-preview-index"]; 1149 $calculateSpan.data({ areaIndex: areaIndexSended }); 1150 1151 $.ajax({ 1152 url: arOptimusOptions["SITE_DIR"] + "ajax/delivery.php", 1153 type: "POST", 1154 data: { 1155 is_preview: "Y", 1156 index: areaIndexSended, 1157 product_id: productId, 1158 quantity: quantity, 1159 }, 1160 beforeSend: function () { 1161 $this.addClass("loadings"); 1162 }, 1163 success: function (response) { 1164 var areaIndex = $calculateSpan.data("areaIndex"); 1165 if ( 1166 typeof areaIndex !== "undefined" && 1167 areaIndex == areaIndexSended 1168 ) { 1169 $calculateSpan.hide(); 1170 $preview.html(response); 1171 if (!$preview.find(".catalog-delivery-preview").length) { 1172 $preview.empty(); 1173 $calculateSpan.show(); 1174 } 1175 } 1176 }, 1177 error: function (xhr, ajaxOptions, thrownError) {}, 1178 complete: function () { 1179 var areaIndex = $calculateSpan.data("areaIndex"); 1180 if ( 1181 typeof areaIndex !== "undefined" && 1182 areaIndex == areaIndexSended 1183 ) { 1184 $this.removeClass("loadings"); 1185 } 1186 }, 1187 }); 1188 } 1189 } 1190 }, 1191 { accX: 0, accY: 0 } 1192 ); 1193 }); 1194}; 1195 1196if (!funcDefined("replaceBasketPopup")) { 1197 function replaceBasketPopup(hash) { 1198 if (typeof hash != "undefined") { 1199 hash.w.hide(); 1200 hash.o.hide(); 1201 } 1202 } 1203} 1204 1205if (!funcDefined("waitLayer")) { 1206 function waitLayer(delay, callback) { 1207 if (typeof dataLayer != "undefined") { 1208 if (typeof callback == "function") { 1209 callback(); 1210 } 1211 } else { 1212 setTimeout(function () { 1213 waitLayer(delay, callback); 1214 }, delay); 1215 } 1216 } 1217} 1218 1219if (!funcDefined("waitCounter")) { 1220 waitCounter = function (idCounter, delay, callback) { 1221 var obCounter = window["yaCounter" + idCounter]; 1222 if (typeof obCounter == "object") { 1223 if (typeof callback == "function") { 1224 callback(); 1225 } 1226 } else { 1227 setTimeout(function () { 1228 waitCounter(idCounter, delay, callback); 1229 }, delay); 1230 } 1231 }; 1232} 1233 1234if (!funcDefined("InitTopestMenuGummi")) { 1235 InitTopestMenuGummi = function () { 1236 if (!isOnceInited) { 1237 function _init() { 1238 var arItems = $menuTopest.find(">li:not(.more)"); 1239 var cntItems = arItems.length; 1240 if (cntItems) { 1241 var itemsWidth = 0; 1242 for (var i = 0; i < cntItems; ++i) { 1243 var item = arItems.eq(i); 1244 var itemWidth = item.actual("outerWidth", { includeMargin: true }); 1245 arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i !== cntItems - 1 ? moreWidth : 0); 1246 } 1247 } 1248 } 1249 1250 function _gummi() { 1251 var rowWidth = $menuTopest.actual("innerWidth"); 1252 var arItems = $menuTopest.find(">li:not(.more),li.more>.dropdown>li"); 1253 var cntItems = arItems.length; 1254 if (cntItems) { 1255 var bMore = false; 1256 for (var i = cntItems - 1; i >= 0; --i) { 1257 var item = arItems.eq(i); 1258 var bInMore = item.parents(".more").length > 0; 1259 if (!bInMore) { 1260 if (arItemsHideWidth[i] > rowWidth) { 1261 if (!bMore) { 1262 bMore = true; 1263 more.removeClass("hidden"); 1264 } 1265 var clone = item.clone(); 1266 clone.find(">a").addClass("dark_font"); 1267 clone.prependTo(moreDropdown); 1268 item.addClass("cloned"); 1269 } 1270 } 1271 } 1272 for (var i = 0; i < cntItems; ++i) { 1273 var item = arItems.eq(i); 1274 var bInMore = item.parents(".more").length > 0; 1275 if (bInMore) { 1276 if (arItemsHideWidth[i] <= rowWidth) { 1277 if (i === cntItems - 1) { 1278 bMore = false;
1279 more.addClass("hidden"); 1280 } 1281 var clone = item.clone(); 1282 clone.find(">a").removeClass("dark_font"); 1283 clone.insertBefore(more); 1284 item.addClass("cloned"); 1285 } 1286 } 1287 } 1288 $menuTopest.find("li.cloned").remove(); 1289 } 1290 } 1291 1292 var $menuTopest = $(".menu.topest"); 1293 var more = $menuTopest.find(">.more"); 1294 var moreDropdown = more.find(">.dropdown"); 1295 var moreWidth = more.actual("outerWidth", { includeMargin: true }); 1296 var arItemsHideWidth = []; 1297 ignoreResize.push(true); 1298 _init(); 1299 _gummi(); 1300 ignoreResize.pop(); 1301 1302 $(window).resize(function () { 1303 ignoreResize.push(true); 1304 _gummi(); 1305 ignoreResize.pop(); 1306 }); 1307 } 1308 }; 1309} 1310 1311if (!funcDefined("InitTopMenuGummi")) { 1312 InitTopMenuGummi = function () { 1313 function _init() { 1314 var arItems = $topMenu.closest(".wrap_menu").find(".inc_menu .menu_top_block >li:not(.more)"); 1315 var cntItems = arItems.length; 1316 if (cntItems) { 1317 var itemsWidth = 0; 1318 for (var i = 0; i < cntItems; ++i) { 1319 var item = arItems.eq(i); 1320 var itemWidth = item.actual("outerWidth"); 1321 arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i !== cntItems - 1 ? moreWidth : 0); 1322 } 1323 } 1324 } 1325 1326 function _gummi() { 1327 var rowWidth = $wrapMenu.actual("innerWidth") - $wrapMenuLeft.actual("innerWidth"); 1328 var arItems = $topMenu.find(">li:not(.more):not(.catalog),li.more>.dropdown>li"); 1329 var cntItems = arItems.length; 1330 1331 if (cntItems) { 1332 var bMore = false; 1333 for (var i = cntItems - 1; i >= 0; --i) { 1334 var item = arItems.eq(i); 1335 var bInMore = item.parents(".more").length > 0; 1336 if (!bInMore) { 1337 if (arItemsHideWidth[i] > rowWidth) { 1338 if (!bMore) { 1339 bMore = true; 1340 more.removeClass("hidden"); 1341 } 1342 var clone = item.clone(); 1343 clone.find(">.dropdown").removeAttr("style").removeClass("toleft"); 1344 clone.find(">a").addClass("dark_font").removeAttr("style"); 1345 clone.prependTo(moreDropdown); 1346 item.addClass("cloned"); 1347 } 1348 } 1349 } 1350 for (var i = 0; i < cntItems; ++i) { 1351 var item = arItems.eq(i); 1352 var bInMore = item.parents(".more").length > 0; 1353 if (bInMore) { 1354 if (arItemsHideWidth[i] <= rowWidth) { 1355 if (i === cntItems - 1) { 1356 bMore = false; 1357 more.addClass("hidden"); 1358 } 1359 var clone = item.clone(); 1360 clone.find(">a").removeClass("dark_font"); 1361 clone.insertBefore(more); 1362 item.addClass("cloned"); 1363 } 1364 } 1365 } 1366 $topMenu.find("li.cloned").remove(); 1367 1368 var cntItemsVisible = $topMenu.find(">li:not(.more):not(.catalog)").length; 1369 var o = rowWidth - arItemsHideWidth[cntItemsVisible - 1]; 1370 var itemsPaddingAdd = Math.floor(o / (cntItemsVisible + (more.hasClass("hidden") ? 0 : 1))); 1371 var itemsPadding_new = itemsPadding_min + itemsPaddingAdd; 1372 var itemsPadding_new_l = Math.floor(itemsPadding_new / 2); 1373 var itemsPadding_new_r = itemsPadding_new - itemsPadding_new_l; 1374 1375 $topMenu.find(">li:not(.catalog):visible>a").each(function () { 1376 $(this).css({ "padding-left": itemsPadding_new_l + "px" }); 1377 $(this).css({ "padding-right": itemsPadding_new_r + "px" }); 1378 }); 1379 1380 var lastItemPadding_new = 1381 itemsPadding_new + o - (cntItemsVisible + (more.is(":visible") ? 1 : 0)) * itemsPaddingAdd; 1382 var lastItemPadding_new_l = Math.floor(lastItemPadding_new / 2); 1383 var lastItemPadding_new_r = lastItemPadding_new - lastItemPadding_new_l; 1384 $topMenu 1385 .find(">li:visible") 1386 .last() 1387 .find(">a") 1388 .css({ "padding-left": lastItemPadding_new_l + "px" }); 1389 $topMenu 1390 .find(">li:visible") 1391 .last() 1392 .find(">a") 1393 .css({ "padding-right": lastItemPadding_new_r + "px" }); 1394 CheckTopMenuFullCatalogSubmenu(); 1395 } 1396 } 1397 1398 var $topMenu = $(".menu_top_block"); 1399 var $wrapMenu = $topMenu.parents(".wrap_menu"); 1400 var $wrapMenuLeft = $wrapMenu.find(".catalog_menu_ext"); 1401 var more = $topMenu.find(">.more"); 1402 var moreWidth = more.actual("outerWidth", { includeMargin: true }); 1403 more.addClass("hidden"); 1404 var arItemsHideWidth = []; 1405 var moreDropdown = more.find(">.dropdown"); 1406 var itemsPadding = parseInt(more.find(">a").css("padding-left")) * 2; 1407 var itemsPadding_min = itemsPadding; 1408 1409 // setTimeout(function(){ 1410 ignoreResize.push(true); 1411 _init(); 1412 _gummi(); 1413 ignoreResize.pop(); 1414 // }, 100) 1415 1416 $(window).resize(function () { 1417 ignoreResize.push(true); 1418 _gummi(); 1419 ignoreResize.pop(); 1420 }); 1421 1422 /*BX.addCustomEvent('onTopPanelFixUnfix', function(eventdata) { 1423 ignoreResize.push(true); 1424 _gummi(); 1425 ignoreResize.pop(); 1426 });*/ 1427 }; 1428} 1429 1430if (!funcDefined("checkCounters")) { 1431 function checkCounters(name) { 1432 if (typeof name !== "undefined") { 1433 if ( 1434 name == "google" && 1435 arOptimusOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && 1436 arOptimusOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0 1437 ) { 1438 return true; 1439 } else if ( 1440 name == "yandex" && 1441 arOptimusOptions["COUNTERS"]["USE_YA_COUNTER"] == "Y" && 1442 arOptimusOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && 1443 arOptimusOptions["COUNTERS"]["YANDEX_COUNTER"] > 0 1444 ) { 1445 return true; 1446 } else { 1447 return false;
1448 } 1449 } else if ( 1450 (arOptimusOptions["COUNTERS"]["USE_YA_COUNTER"] == "Y" && 1451 arOptimusOptions["COUNTERS"]["YANDEX_ECOMERCE"] == "Y" && 1452 arOptimusOptions["COUNTERS"]["YANDEX_COUNTER"] > 0) || 1453 (arOptimusOptions["COUNTERS"]["GOOGLE_ECOMERCE"] == "Y" && arOptimusOptions["COUNTERS"]["GOOGLE_COUNTER"] > 0) 1454 ) { 1455 return true; 1456 } else { 1457 return false; 1458 } 1459 } 1460} 1461 1462if (!funcDefined("addBasketCounter")) { 1463 function addBasketCounter(id) { 1464 if (arOptimusOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 1465 var eventdata = { goal: "goal_basket_add", params: { id: id } }; 1466 BX.onCustomEvent("onCounterGoals", [eventdata]); 1467 } 1468 if (checkCounters()) { 1469 $.ajax({ 1470 url: arOptimusOptions["SITE_DIR"] + "ajax/goals.php", 1471 dataType: "json", 1472 type: "POST", 1473 data: { ID: id }, 1474 success: function (item) { 1475 if (!!item && !!item.ID) { 1476 waitLayer(100, function () { 1477 dataLayer.push({ 1478 event: arOptimusOptions["COUNTERS"]["GOOGLE_EVENTS"]["ADD2BASKET"], 1479 ecommerce: { 1480 currencyCode: item.CURRENCY, 1481 add: { 1482 products: [ 1483 { 1484 id: item.ID, 1485 name: item.NAME, 1486 price: item.PRICE, 1487 brand: item.BRAND, 1488 category: item.CATEGORY, 1489 quantity: item.QUANTITY, 1490 }, 1491 ], 1492 }, 1493 }, 1494 }); 1495 }); 1496 } 1497 }, 1498 }); 1499 } 1500 } 1501} 1502 1503if (!funcDefined("purchaseCounter")) { 1504 function purchaseCounter(order_id, type, callback) { 1505 if (checkCounters()) { 1506 $.ajax({ 1507 url: arOptimusOptions["SITE_DIR"] + "ajax/goals.php", 1508 dataType: "json", 1509 type: "POST", 1510 data: { ORDER_ID: order_id, TYPE: type }, 1511 success: function (order) { 1512 var products = []; 1513 if (order.ITEMS) { 1514 for (var i in order.ITEMS) { 1515 products.push({ 1516 id: order.ITEMS[i].ID, 1517 sku: order.ITEMS[i].ID, 1518 name: order.ITEMS[i].NAME, 1519 price: order.ITEMS[i].PRICE, 1520 brand: order.ITEMS[i].BRAND, 1521 category: order.ITEMS[i].CATEGORY, 1522 quantity: order.ITEMS[i].QUANTITY, 1523 }); 1524 } 1525 } 1526 if (order.ID) { 1527 waitLayer(100, function () { 1528 dataLayer.push({ 1529 event: arOptimusOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"], 1530 ecommerce: (d = { 1531 purchase: { 1532 actionField: { 1533 id: order.ACCOUNT_NUMBER, 1534 shipping: order.PRICE_DELIVERY, 1535 tax: order.TAX_VALUE, 1536 list: type, 1537 revenue: order.PRICE, 1538 }, 1539 products: products, 1540 }, 1541 }), 1542 }); 1543 1544 if (typeof callback !== "undefined") { 1545 callback(d); 1546 } 1547 }); 1548 } else { 1549 if (typeof callback !== "undefined") { 1550 callback(false); 1551 } 1552 } 1553 }, 1554 error: function () { 1555 if (typeof callback !== "undefined") { 1556 callback(false); 1557 } 1558 }, 1559 }); 1560 } else { 1561 if (typeof callback !== "undefined") { 1562 callback(false); 1563 } 1564 } 1565 } 1566} 1567 1568if (!funcDefined("viewItemCounter")) { 1569 function viewItemCounter(id, price_id) { 1570 if (checkCounters()) { 1571 $.ajax({ 1572 url: arOptimusOptions["SITE_DIR"] + "ajax/goals.php", 1573 dataType: "json", 1574 type: "POST", 1575 data: { PRODUCT_ID: id, PRICE_ID: price_id }, 1576 success: function (item) { 1577 if (item.ID) { 1578 waitLayer(100, function () { 1579 dataLayer.push({ 1580 //"event": "", 1581 ecommerce: { 1582 detail: { 1583 products: [ 1584 { 1585 id: item.ID, 1586 name: item.NAME, 1587 price: item.PRICE, 1588 brand: item.BRAND, 1589 category: item.CATEGORY, 1590 }, 1591 ], 1592 }, 1593 }, 1594 }); 1595 }); 1596 } 1597 }, 1598 }); 1599 } 1600 } 1601} 1602 1603if (!funcDefined("checkoutCounter")) { 1604 function checkoutCounter(step, option, callback) { 1605 if (checkCounters("google")) { 1606 $.ajax({ 1607 url: arOptimusOptions["SITE_DIR"] + "ajax/goals.php", 1608 dataType: "json", 1609 type: "POST", 1610 data: { BASKET: "Y" }, 1611 success: function (basket) { 1612 var products = []; 1613 if (basket.ITEMS) { 1614 for (var i in basket.ITEMS) { 1615 products.push({ 1616 id: basket.ITEMS[i].ID, 1617 name: basket.ITEMS[i].NAME, 1618 price: basket.ITEMS[i].PRICE, 1619 brand: basket.ITEMS[i].BRAND, 1620 category: basket.ITEMS[i].CATEGORY, 1621 quantity: basket.ITEMS[i].QUANTITY, 1622 }); 1623 } 1624 } 1625 if (products) { 1626 waitLayer(100, function () { 1627 dataLayer.push({ 1628 event: arOptimusOptions["COUNTERS"]["GOOGLE_EVENTS"]["CHECKOUT_ORDER"], 1629 ecommerce: { 1630 checkout: { 1631 actionField: { 1632 step: step, 1633 option: option, 1634 }, 1635 products: products, 1636 }, 1637 }, 1638 /*"eventCallback": function() { 1639 if((typeof callback !== 'undefined') && (typeof callback === 'function')){ 1640 callback(); 1641 } 1642 }*/ 1643 }); 1644 }); 1645 } 1646 }, 1647 }); 1648 } 1649 } 1650} 1651 1652if (!funcDefined("delFromBasketCounter")) { 1653 function delFromBasketCounter(id, callback) { 1654 if (checkCounters()) { 1655 $.ajax({ 1656 url: arOptimusOptions["SITE_DIR"] + "ajax/goals.php", 1657 dataType: "json", 1658 type: "POST", 1659 data: { ID: id }, 1660 success: function (item) { 1661 if (item.ID) { 1662 waitLayer(100, function () { 1663 dataLayer.push({ 1664 event: arOptimusOptions["COUNTERS"]["GOOGLE_EVENTS"]["REMOVE_BASKET"], 1665 ecommerce: { 1666 remove: { 1667 products: [ 1668 { 1669 id: item.ID, 1670 name: item.NAME, 1671 category: item.CATEGORY, 1672 }, 1673 ], 1674 }, 1675 }, 1676 }); 1677 if (typeof callback == "function") { 1678 callback(); 1679 } 1680 }); 1681 } 1682 }, 1683 }); 1684 } 1685 } 1686} 1687 1688if (!funcDefined("setHeightCompany")) { 1689 function setHeightCompany() { 1690 $(".md-50.img").height($(".md-50.big").outerHeight() - 35); 1691 } 1692} 1693 1694if (!funcDefined("initSly")) { 1695 function initSly() { 1696 var $frame = $(document).find(".frame"); 1697 var $slidee = $frame.children("ul").eq(0); 1698 var $wrap = $frame.parent(); 1699 1700 if (arOptimusOptions["PAGES"]["CATALOG_PAGE"]) { 1701 $frame.sly({ 1702 horizontal: 1, 1703 itemNav: "basic", 1704 smart: 1, 1705 mouseDragging: 0, 1706 touchDragging: 0, 1707 releaseSwing: 0, 1708 startAt: 0, 1709 scrollBar: $wrap.find(".scrollbar"), 1710 scrollBy: 1, 1711 speed: 300, 1712 elasticBounds: 0, 1713 easing: "swing", 1714 dragHandle: 1, 1715 dynamicHandle: 1, 1716 clickBar: 1, 1717 1718 // Buttons 1719 forward: $wrap.find(".forward"),
1720 backward: $wrap.find(".backward"), 1721 }); 1722 $frame.sly("reload"); 1723 } 1724 } 1725} 1726 1727if (!funcDefined("createTableCompare")) { 1728 function createTableCompare(originalTable, appendDiv, cloneTable) { 1729 try { 1730 var clone = originalTable.clone().removeAttr("id").addClass("clone"); 1731 if (cloneTable.length) { 1732 cloneTable.remove(); 1733 appendDiv.html(""); 1734 appendDiv.html(clone); 1735 } else { 1736 appendDiv.append(clone); 1737 } 1738 } catch (e) { 1739 } finally { 1740 } 1741 } 1742} 1743 1744if (!funcDefined("fillBasketPropsExt")) { 1745 fillBasketPropsExt = function (that, prop_code, basket_prop_div) { 1746 var i = 0, 1747 propCollection = null, 1748 foundValues = false, 1749 basketParams = {}, 1750 obBasketProps = null; 1751 1752 // obBasketProps = that.closest('.catalog_detail').find('.basket_props_block'); 1753 if (that.closest("#fast_view_item").length) 1754 obBasketProps = that.closest("#fast_view_item").find("#" + basket_prop_div)[0]; 1755 else obBasketProps = BX(basket_prop_div); 1756 1757 if (!!obBasketProps) { 1758 propCollection = obBasketProps.getElementsByTagName("select"); 1759 if (!!propCollection && !!propCollection.length) { 1760 for (i = 0; i < propCollection.length; i++) { 1761 if (!propCollection[i].disabled) { 1762 switch (propCollection[i].type.toLowerCase()) { 1763 case "select-one": 1764 basketParams[propCollection[i].name] = propCollection[i].value; 1765 foundValues = true; 1766 break; 1767 default: 1768 break; 1769 } 1770 } 1771 } 1772 } 1773 propCollection = obBasketProps.getElementsByTagName("input"); 1774 if (!!propCollection && !!propCollection.length) { 1775 for (i = 0; i < propCollection.length; i++) { 1776 if (!propCollection[i].disabled) { 1777 switch (propCollection[i].type.toLowerCase()) { 1778 case "hidden": 1779 basketParams[propCollection[i].name] = propCollection[i].value; 1780 foundValues = true; 1781 break; 1782 case "radio": 1783 if (propCollection[i].checked) { 1784 basketParams[propCollection[i].name] = propCollection[i].value; 1785 foundValues = true; 1786 } 1787 break; 1788 default: 1789 break; 1790 } 1791 } 1792 } 1793 } 1794 } 1795 if (!foundValues) { 1796 basketParams[prop_code] = []; 1797 basketParams[prop_code][0] = 0; 1798 } 1799 return basketParams; 1800 }; 1801} 1802if (!funcDefined("showBasketError")) { 1803 showBasketError = function (mess, title, addButton, th) { 1804 var title_set = title ? title : BX.message("ERROR_BASKET_TITLE"), 1805 isButton = "N", 1806 thButton = ""; 1807 if (typeof addButton !== undefined) { 1808 isButton = "Y"; 1809 } 1810 if (typeof th !== undefined) { 1811 thButton = th; 1812 } 1813 $("body").append("<span class='add-error-bakset' style='display:none;'></span>"); 1814 jqmEd("basket_error", "error-bakset", ".add-error-bakset", mess, this, title_set, isButton, thButton); 1815 $("body .add-error-bakset").click(); 1816 $("body .add-error-bakset").remove(); 1817 }; 1818} 1819 1820if (!funcDefined("isRealValue")) { 1821 function isRealValue(obj) { 1822 return obj && obj !== "null" && obj !== "undefined"; 1823 } 1824} 1825 1826if (!funcDefined("rightScroll")) { 1827 function rightScroll(prop, id) { 1828 var el = BX("prop_" + prop + "_" + id); 1829 if (el) { 1830 var curVal = parseInt(el.style.marginLeft); 1831 if (curVal >= 0) el.style.marginLeft = curVal - 20 + "%"; 1832 } 1833 } 1834} 1835 1836if (!funcDefined("leftScroll")) { 1837 function leftScroll(prop, id) { 1838 var el = BX("prop_" + prop + "_" + id); 1839 if (el) { 1840 var curVal = parseInt(el.style.marginLeft); 1841 if (curVal < 0) el.style.marginLeft = curVal + 20 + "%"; 1842 } 1843 } 1844} 1845 1846if (!funcDefined("InitOrderCustom")) { 1847 InitOrderCustom = function () { 1848 $(".ps_logo img").wrap('<div class="image"></div>'); 1849 1850 $("#bx-soa-order .radio-inline").each(function () { 1851 if ($(this).find("input").attr("checked") == "checked") { 1852 $(this).addClass("checked"); 1853 } 1854 }); 1855 1856 $("#bx-soa-order .checkbox input[type=checkbox]").each(function () { 1857 if ($(this).attr("checked") == "checked") $(this).parent().addClass("checked"); 1858 }); 1859 1860 // $('#bx-soa-order .bx-authform-starrequired').each(function() { 1861 // var html = $(this).html(); 1862 // $(this).closest('label').append('<span class="bx-authform-starrequired"> '+ html + '</span>'); 1863 // $(this).detach(); 1864 // }); 1865 $(".bx_ordercart_coupon").each(function () { 1866 if ($(this).find(".bad").length) $(this).addClass("bad"); 1867 else if ($(this).find(".good").length) $(this).addClass("good"); 1868 }); 1869 /*if (typeof(propsMap) !== 'undefined') { 1870 $(propsMap).on('click', function () { 1871 var value = $('#orderDescription').val(); 1872 if ($('#orderDescription')) { 1873 if (value != '') { 1874 $('#orderDescription').closest('.form-group').addClass('value_y'); 1875 } 1876 } 1877 }); 1878 }*/ 1879 }; 1880} 1881 1882if (!funcDefined("InitLabelAnimation")) { 1883 InitLabelAnimation = function (className) { 1884 // Fix order labels 1885 if (!$(className).length) { 1886 return; 1887 } 1888 $(className) 1889 .find(".form-group") 1890 .each(function () { 1891 if ( 1892 $(this).find("input[type=text], textarea").length && 1893 !$(this).find(".dropdown-block").length && 1894 $(this).find("input[type=text], textarea").val() != "" 1895 ) { 1896 $(this).addClass("value_y"); 1897 } 1898 }); 1899 1900 $(document).on("click", className + " .form-group:not(.bx-soa-pp-field) label", function () { 1901 $(this).parent().find("input, textarea").focus(); 1902 }); 1903 1904 $(document).on( 1905 "focusout", 1906 className + 1907 " .form-group:not(.bx-soa-pp-field) input, " + 1908 className + 1909 " .form-group:not(.bx-soa-pp-field) textarea", 1910 function () { 1911 var value = $(this).val(); 1912 if ( 1913 value != "" && 1914 !$(this).closest(".form-group").find(".dropdown-block").length && 1915 !$(this).closest(".form-group").find("#profile_change").length 1916 ) { 1917 $(this).closest(".form-group").addClass("value_y"); 1918 } else { 1919 $(this).closest(".form-group").removeClass("value_y"); 1920 } 1921 } 1922 ); 1923 1924 $(document).on( 1925 "focus", 1926 className + 1927 " .form-group:not(.bx-soa-pp-field) input, " + 1928 className + 1929 " .form-group:not(.bx-soa-pp-field) textarea", 1930 function () { 1931 if ( 1932 !$(this).closest(".form-group").find(".dropdown-block").length && 1933 !$(this).closest(".form-group").find("#profile_change").length && 1934 !$(this).closest(".form-group").find("[name=PERSON_TYPE_OLD]").length 1935 ) { 1936 $(this).closest(".form-group").addClass("value_y"); 1937 } 1938 } 1939 ); 1940 }; 1941} 1942 1943checkPopupWidth = function () { 1944 $(".popup.show").each(function () { 1945 var width_form = $(this).actual("width"); 1946 $(this).css({ 1947 "margin-left": $(window).width() > width_form ? "-" + width_form / 2 + "px" : "-" + $(window).width() / 2 + "px", 1948 }); 1949 }); 1950}; 1951 1952checkCaptchaWidth = function () { 1953 $(".captcha-row").each(function () { 1954 var width = $(this).actual("width"); 1955 if ($(this).hasClass("b")) { 1956 if (width > 320) { 1957 $(this).removeClass("b"); 1958 } 1959 } else { 1960 if (width <= 320) { 1961 $(this).addClass("b"); 1962 } 1963 } 1964 }); 1965}; 1966 1967checkFormWidth = function () { 1968 $(".form .form_left").each(function () { 1969 var form = $(this).parents(".form"); 1970 var width = form.actual("width"); 1971 if (form.hasClass("b")) { 1972 if (width > 417) { 1973 form.removeClass("b"); 1974 } 1975 } else { 1976 if (width <= 417) { 1977 form.addClass("b"); 1978 } 1979 } 1980 }); 1981}; 1982 1983checkFormControlWidth = function () { 1984 $(".form-control").each(function () { 1985 var width = $(this).actual("width"); 1986 var labelWidth = $(this).find("label:not(.error) > span").actual("width"); 1987 var errorWidth = $(this).find("label.error").actual("width"); 1988 if (errorWidth > 0) { 1989 if ($(this).hasClass("h")) { 1990 if (width > labelWidth + errorWidth + 5) { 1991 $(this).removeClass("h"); 1992 } 1993 } else { 1994 if (width <= labelWidth + errorWidth + 5) { 1995 $(this).addClass("h"); 1996 } 1997 } 1998 } else { 1999 $(this).removeClass("h"); 2000 } 2001 }); 2002}; 2003 2004scrollToTop = function () { 2005 if (arOptimusOptions["THEME"]["SCROLLTOTOP_TYPE"] !== "NONE") { 2006 var _isScrolling = false;
2007 // Append Button 2008 $("body").append( 2009 $("<a />") 2010 .addClass( 2011 "scroll-to-top " + 2012 arOptimusOptions["THEME"]["SCROLLTOTOP_TYPE"] + 2013 " " + 2014 arOptimusOptions["THEME"]["SCROLLTOTOP_POSITION"] 2015 ) 2016 .attr({ href: "#", id: "scrollToTop" }) 2017 ); 2018 $("#scrollToTop").click(function (e) { 2019 e.preventDefault(); 2020 $("body, html").animate({ scrollTop: 0 }, 500); 2021 return false; 2022 }); 2023 // Show/Hide Button on Window Scroll event. 2024 $(window).scroll(function () { 2025 if (!_isScrolling) { 2026 _isScrolling = true; 2027 if ($(window).scrollTop() > 150) { 2028 $("#scrollToTop").stop(true, true).addClass("visible"); 2029 _isScrolling = false; 2030 } else { 2031 $("#scrollToTop").stop(true, true).removeClass("visible"); 2032 _isScrolling = false; 2033 } 2034 checkScrollToTop(); 2035 } 2036 }); 2037 } 2038}; 2039 2040checkScrollToTop = function () { 2041 var bottom = 55, 2042 scrollVal = $(window).scrollTop(), 2043 windowHeight = $(window).height(), 2044 footerOffset = 70; 2045 if ($("footer").length) footerOffset = $("footer").offset().top + 70; 2046 2047 if (arOptimusOptions["THEME"]["SCROLLTOTOP_POSITION"] == "CONTENT") { 2048 warpperWidth = $("body > .wrapper > .wrapper_inner").width(); 2049 $("#scrollToTop").css("margin-left", Math.ceil(warpperWidth / 2) + 23); 2050 } 2051 2052 if (scrollVal + windowHeight > footerOffset) { 2053 $("#scrollToTop").css("bottom", bottom + scrollVal + windowHeight - footerOffset - 0); 2054 } else if (parseInt($("#scrollToTop").css("bottom")) > bottom) { 2055 $("#scrollToTop").css("bottom", bottom); 2056 } 2057}; 2058 2059CheckObjectsSizes = function () { 2060 $(".container iframe,.container object,.container video").each(function () { 2061 var height_attr = $(this).attr("height"); 2062 var width_attr = $(this).attr("width"); 2063 if (height_attr && width_attr) { 2064 $(this).css("height", ($(this).outerWidth() * height_attr) / width_attr); 2065 } 2066 }); 2067}; 2068 2069if (!funcDefined("reloadTopBasket")) { 2070 var reloadTopBasket = function reloadTopBasket(action, basketWindow, speed, delay, slideDown, item) { 2071 var obj = { 2072 PARAMS: $("#top_basket_params").val(), 2073 ACTION: action, 2074 }; 2075 if (typeof item !== "undefined") { 2076 obj.delete_top_item = "Y"; 2077 obj.delete_top_item_id = item.data("id"); 2078 } 2079 $.post( 2080 arOptimusOptions["SITE_DIR"] + "ajax/show_basket_popup.php", 2081 obj, 2082 $.proxy(function (data) { 2083 $(basketWindow).html(data); 2084 2085 getActualBasket(); 2086 2087 if (arOptimusOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 2088 if ($(window).outerWidth() > 520) { 2089 if (slideDown == "Y") $(basketWindow).find(".basket_popup_wrapp").stop(true, true).slideDown(speed); 2090 clearTimeout(basketTimeoutSlide); 2091 basketTimeoutSlide = setTimeout(function () { 2092 var _this = $("#basket_line").find(".basket_popup_wrapp"); 2093 if (_this.is(":hover")) { 2094 _this.show(); 2095 } else { 2096 $("#basket_line").find(".basket_popup_wrapp").slideUp(speed); 2097 } 2098 }, delay); 2099 } 2100 } 2101 }) 2102 ); 2103 }; 2104} 2105 2106/*countdown start*/ 2107 2108if (!funcDefined("initCountdown")) { 2109 var initCountdown = function initCountdown() { 2110 if ($(".view_sale_block").size()) { 2111 $(".view_sale_block").each(function () { 2112 var activeTo = $(this).find(".active_to").text(), 2113 dateTo = new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); 2114 $(this).find(".countdown").countdown( 2115 { 2116 until: dateTo, 2117 format: "dHMS", 2118 padZeroes: true, 2119 layout: 2120 '{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>', 2121 }, 2122 $.countdown.regionalOptions["ru"] 2123 ); 2124 }); 2125 } 2126 }; 2127} 2128 2129if (!funcDefined("initCountdownTime")) { 2130 var initCountdownTime = function initCountdownTime(block, time) { 2131 if (time) { 2132 var dateTo = new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); 2133 block.find(".countdown").countdown("destroy"); 2134 block.find(".countdown").countdown( 2135 { 2136 until: dateTo, 2137 format: "dHMS", 2138 padZeroes: true, 2139 layout: 2140 '{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>', 2141 }, 2142 $.countdown.regionalOptions["ru"] 2143 );
2144 block.find(".view_sale_block").show(); 2145 } else { 2146 block.find(".view_sale_block").hide(); 2147 } 2148 }; 2149} 2150 2151/*countdown end*/ 2152 2153var isOnceInited = (insertFilter = false); 2154var animationTime = 200; 2155var delayTime = 200; 2156var topMenuEnterTimer = false; 2157var isMobile = jQuery.browser.mobile; 2158 2159if (isMobile) { 2160 document.documentElement.className += " mobile"; 2161} 2162 2163/*filter start*/ 2164if (!funcDefined("checkVerticalMobileFilter")) { 2165 var checkVerticalMobileFilter = function checkVerticalMobileFilter() { 2166 if ($(".right_block1.catalog.vertical").length && !$(".left_block.filter_ajax").length) { 2167 if (typeof window["trackBarOptions"] !== "undefined") { 2168 window["trackBarValues"] = {}; 2169 for (key in window["trackBarOptions"]) { 2170 window["trackBarValues"][key] = { 2171 leftPercent: window["trackBar" + key].leftPercent, 2172 leftValue: window["trackBar" + key].minInput.value, 2173 rightPercent: window["trackBar" + key].rightPercent, 2174 rightValue: window["trackBar" + key].maxInput.value, 2175 }; 2176 } 2177 } 2178 2179 if (window.matchMedia("(max-width: 950px)").matches) { 2180 if (!insertFilter) { 2181 $(".js_filter .bx_filter.bx_filter_vertical").html($(".left_block .bx_filter.bx_filter_vertical").html()); 2182 $(".left_block .bx_filter.bx_filter_vertical .bx_filter_section").remove(); 2183 insertFilter = true; 2184 } 2185 } else { 2186 if (insertFilter) { 2187 $(".left_block .bx_filter.bx_filter_vertical").html($(".js_filter .bx_filter.bx_filter_vertical").html()); 2188 $(".js_filter .bx_filter.bx_filter_vertical .bx_filter_section").remove(); 2189 insertFilter = false; 2190 } 2191 } 2192 2193 if (typeof window["trackBarOptions"] !== "undefined") { 2194 for (key in window["trackBarOptions"]) { 2195 window["trackBarOptions"][key].leftPercent = window["trackBarValues"][key].leftPercent; 2196 window["trackBarOptions"][key].rightPercent = window["trackBarValues"][key].rightPercent; 2197 window["trackBarOptions"][key].curMinPrice = window["trackBarValues"][key].leftValue; 2198 window["trackBarOptions"][key].curMaxPrice = window["trackBarValues"][key].rightValue; 2199 window["trackBar" + key] = new BX.Iblock.SmartFilter(window["trackBarOptions"][key]); 2200 window["trackBar" + key].minInput.value = window["trackBarValues"][key].leftValue; 2201 window["trackBar" + key].maxInput.value = window["trackBarValues"][key].rightValue; 2202 } 2203 } 2204 } else if ($(".left_block.filter_ajax").length) { 2205 var posBlock = $(".ajax_load").position(); 2206 2207 $(".left_block.filter_ajax .bx_filter").css("top", posBlock.top - 13); 2208 if ( 2209 $(".left_block.filter_ajax .bx_filter").is(":visible") && 2210 !$(".adaptive_filter .filter_opener").hasClass("opened") && 2211 window.matchMedia("(max-width: 950px)").matches 2212 ) { 2213 $(".adaptive_filter .filter_opener").addClass("opened"); 2214 } 2215 } 2216 }; 2217} 2218/*filter end*/ 2219 2220// TOP MENU ANIMATION 2221$(document).on("click", ".menu_top_block>li .more a", function () { 2222 $this = $(this); 2223 $this.parents(".dropdown").first().find(">.hidden").removeClass("hidden"); 2224 $this.parent().addClass("hidden"); 2225 setTimeout(function () { 2226 $this.parent().remove(); 2227 }, 500); 2228}); 2229 2230$(document).on("mouseenter", ".menu_top_block.catalogfirst>li>.dropdown>li.full", function () { 2231 var $submenu = $(this).find(">.dropdown"); 2232 2233 if ($submenu.length) { 2234 if (topMenuEnterTimer) { 2235 clearTimeout(topMenuEnterTimer); 2236 topMenuEnterTimer = false; 2237 } 2238 } 2239}); 2240 2241$(document).on("mouseenter", ".menu_top_block>li:not(.full)", function () { 2242 var $submenu = $(this).find(">.dropdown"); 2243 2244 if ($submenu.length && !$submenu.hasClass("visible")) { 2245 var $menu = $(this).parents(".menu"); 2246 var $wrapmenu = $menu.parents(".wrap_menu"); 2247 var wrapMenuWidth = $wrapmenu.actual("outerWidth"); 2248 var wrapMenuLeft = $wrapmenu.offset().left; 2249 var wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 2250 var left = wrapMenuRight - ($(this).offset().left + $submenu.actual("outerWidth")); 2251 if ( 2252 window.matchMedia("(min-width: 951px)").matches && 2253 $(this).hasClass("catalog") && 2254 ($(".banner_auto").hasClass("catalog_page") || $(".banner_auto").hasClass("front_page")) 2255 ) { 2256 return; 2257 } 2258 if (left < 0) { 2259 $submenu.css({ left: left + "px" }); 2260 } 2261 $submenu.stop().slideDown(animationTime, function () { 2262 $submenu.css({ height: "", overflow: "visible" }); 2263 }); 2264 2265 $(this).on("mouseleave", function () { 2266 var leaveTimer = setTimeout(function () { 2267 $submenu.stop().slideUp(animationTime, function () { 2268 $submenu.css({ left: "" }); 2269 }); 2270 }, delayTime); 2271 2272 $(this).on("mouseenter", function () { 2273 if (leaveTimer) { 2274 clearTimeout(leaveTimer); 2275 leaveTimer = false;
2276 } 2277 }); 2278 }); 2279 } 2280}); 2281 2282$(document).on("mouseenter", ".menu_top_block>li:not(.full)", function () { 2283 if ( 2284 window.matchMedia("(min-width: 951px)").matches && 2285 $(this).hasClass("catalog") && 2286 ($(".banner_auto").hasClass("catalog_page") || $(".banner_auto").hasClass("front_page")) 2287 ) { 2288 return; 2289 } 2290 2291 var _this = $(this).find(">.dropdown"); 2292 var $catalogNlo = _this.find("[data-nlo]"); 2293 var isNloLoaded = !$catalogNlo.length; 2294 2295 if (!isNloLoaded) { 2296 if (!$catalogNlo.hasClass("nlo-loadings")) { 2297 $catalogNlo.addClass("nlo-loadings"); 2298 setTimeout(function () { 2299 $.ajax({ 2300 data: { nlo: $catalogNlo.attr("data-nlo") }, 2301 success: function (response) { 2302 // stop ya metrika webvisor DOM indexer 2303 pauseYmObserver(); 2304 2305 isNloLoaded = true; 2306 $catalogNlo[0].insertAdjacentHTML("beforebegin", $.trim(response)); 2307 $catalogNlo.remove(); 2308 2309 // resume ya metrika webvisor 2310 // (300ms transition) + (100ms scroll handler) 2311 setTimeout(resumeYmObserver, 400); 2312 }, 2313 error: function () { 2314 $catalogNlo.removeClass("nlo-loadings"); 2315 }, 2316 }); 2317 }, 300); 2318 } 2319 } 2320}); 2321 2322$(document).on("mouseenter", ".menu_top_block>li .dropdown>li", function () { 2323 var $this = $(this); 2324 var $submenu = $this.find(">.dropdown"); 2325 2326 if ( 2327 $submenu.length && 2328 ((!$this.parents(".full").length && !$this.hasClass("full")) || $this.parents(".more").length) 2329 ) { 2330 var $menu = $this.parents(".menu"); 2331 var $wrapmenu = $menu.parents(".wrap_menu"); 2332 var arParentSubmenuForOpacity = []; 2333 topMenuEnterTimer = setTimeout(function () { 2334 var wrapMenuWidth = $wrapmenu.actual("outerWidth"); 2335 var wrapMenuLeft = $wrapmenu.offset().left; 2336 var wrapMenuRight = wrapMenuLeft + wrapMenuWidth; 2337 var $parentSubmenu = $this.parent(); 2338 var bToLeft = $parentSubmenu.hasClass("toleft") ? true : false; 2339 if (!bToLeft) { 2340 bToLeft = $this.offset().left + $this.actual("outerWidth") + $submenu.actual("outerWidth") > wrapMenuRight; 2341 } else { 2342 bToLeft = $this.offset().left + $this.actual("outerWidth") - $submenu.actual("outerWidth") < wrapMenuLeft; 2343 } 2344 2345 if (bToLeft) { 2346 $this.find(">.dropdown").addClass("toleft").show(); 2347 } else { 2348 $this.find(">.dropdown").removeClass("toleft").show(); 2349 } 2350 var submenuLeft = $submenu.offset().left; 2351 var submenuRight = submenuLeft + $submenu.actual("outerWidth"); 2352 2353 $this.parents(".dropdown").each(function () { 2354 var $this = $(this); 2355 var leftOffset = $this.offset().left; 2356 var rightOffset = leftOffset + $this.actual("outerWidth"); 2357 if ( 2358 (leftOffset >= submenuLeft && leftOffset < submenuRight - 1) || 2359 (rightOffset > submenuLeft + 1 && rightOffset <= submenuRight) 2360 ) { 2361 arParentSubmenuForOpacity.push($this); 2362 $this.find(">li>a").css({ opacity: "0.1" }); 2363 } 2364 }); 2365 }, delayTime); 2366 2367 $this.unbind("mouseleave"); 2368 $this.on("mouseleave", function () { 2369 var leaveTimer = setTimeout(function () { 2370 $this.find(".dropdown").removeClass("toleft").hide(); 2371 if (arParentSubmenuForOpacity.length) { 2372 for (i in arParentSubmenuForOpacity) { 2373 arParentSubmenuForOpacity[i].find(">li>a").css({ opacity: "" }); 2374 } 2375 } 2376 }, delayTime); 2377 2378 $this.unbind("mouseenter"); 2379 $this.on("mouseenter", function () { 2380 if (leaveTimer) { 2381 clearTimeout(leaveTimer); 2382 leaveTimer = false; 2383 } 2384 }); 2385 }); 2386 } 2387}); 2388 2389getGridSize = function (counts) { 2390 var counts_item = 1; 2391 //wide 2392 if (window.matchMedia("(min-width: 1200px)").matches) { 2393 counts_item = counts[0]; 2394 } 2395 2396 //large 2397 if (window.matchMedia("(max-width: 1200px)").matches) { 2398 counts_item = counts[1]; 2399 } 2400 2401 //middle 2402 if (window.matchMedia("(max-width: 992px)").matches) { 2403 counts_item = counts[2]; 2404 } 2405 2406 //small 2407 if (counts[3]) { 2408 if (window.matchMedia("(max-width: 600px)").matches) { 2409 counts_item = counts[3]; 2410 } 2411 } 2412 2413 //exsmall 2414 if (counts[4]) { 2415 if (window.matchMedia("(max-width: 400px)").matches) { 2416 counts_item = counts[4]; 2417 } 2418 } 2419 2420 return counts_item; 2421}; 2422
2423CheckFlexSlider = function () { 2424 $(".flexslider:not(.thmb)").each(function () { 2425 var slider = $(this); 2426 slider.resize(); 2427 var counts = slider.data("flexslider").vars.counts; 2428 if (typeof counts != "undefined") { 2429 var cnt = getGridSize(counts); 2430 var to0 = 2431 cnt != slider.data("flexslider").vars.minItems || 2432 cnt != slider.data("flexslider").vars.maxItems || 2433 cnt != slider.data("flexslider").vars.move; 2434 if (to0) { 2435 slider.data("flexslider").vars.minItems = cnt; 2436 slider.data("flexslider").vars.maxItems = cnt; 2437 slider.data("flexslider").vars.move = cnt; 2438 slider.flexslider(0); 2439 slider.resize(); 2440 slider.resize(); // twise! 2441 } 2442 } 2443 }); 2444}; 2445 2446InitFlexSlider = function () { 2447 $(".flexslider:not(.thmb):not(.flexslider-init)").each(function () { 2448 var slider = $(this); 2449 var options; 2450 var defaults = { 2451 animationLoop: false, 2452 controlNav: false, 2453 directionNav: true, 2454 animation: "slide", 2455 }; 2456 var config = $.extend({}, defaults, options, slider.data("plugin-options")); 2457 if (!slider.parent().hasClass("top_slider_wrapp")) { 2458 if (typeof config.counts != "undefined" && config.direction !== "vertical") { 2459 config.maxItems = getGridSize(config.counts); 2460 config.minItems = getGridSize(config.counts); 2461 config.move = getGridSize(config.counts); 2462 config.itemWidth = 200; 2463 } 2464 2465 config.after = function (slider) { 2466 var eventdata = { slider: slider }; 2467 BX.onCustomEvent("onSlide", [eventdata]); 2468 }; 2469 config.start = function (slider) { 2470 var eventdata = { slider: slider }; 2471 BX.onCustomEvent("onSlideInit", [eventdata]); 2472 }; 2473 2474 config.end = function (slider) { 2475 var eventdata = { slider: slider }; 2476 BX.onCustomEvent("onSlideEnd", [eventdata]); 2477 }; 2478 2479 slider.flexslider(config).addClass("flexslider-init"); 2480 if (config.controlNav) slider.addClass("flexslider-control-nav"); 2481 if (config.directionNav) slider.addClass("flexslider-direction-nav"); 2482 } 2483 }); 2484}; 2485 2486InitZoomPict = function (el) { 2487 var block = $(".zoom_picture"); 2488 if (typeof el !== "undefined") block = el; 2489 if (block.length) { 2490 var slide = block.closest(".slides"); 2491 var zoomer = block, 2492 options, 2493 defaults = { 2494 zoomWidth: 200, 2495 zoomHeight: 200, 2496 adaptive: false, 2497 title: true, 2498 Xoffset: 15, 2499 }; 2500 var config = $.extend({}, defaults, options, zoomer.data("plugin-options")); 2501 zoomer.xzoom(config); 2502 2503 block.on("mouseleave", function () { 2504 block.data("xzoom").movezoom(event); 2505 /* 2506 if($('.xzoom-lens').length) 2507 block.data('xzoom').closezoom(); 2508 */ 2509 }); 2510 } 2511}; 2512 2513if (!funcDefined("pauseYmObserver")) { 2514 // pause ya metrika webvisor MutationObserver callback (DOM indexer) 2515 // use before insert html with some animation 2516 pauseYmObserver = function () { 2517 if ( 2518 typeof MutationObserver === "function" && 2519 typeof MutationObserver.observers === "object" && 2520 typeof MutationObserver.observers.ym === "object" 2521 ) { 2522 if (typeof pauseYmObserver.cnt === "undefined") { 2523 pauseYmObserver.cnt = 0; 2524 } 2525 2526 ++pauseYmObserver.cnt; 2527 2528 if (!MutationObserver.observers.ym.paused) { 2529 MutationObserver.observers.ym.pause(); 2530 } 2531 } 2532 }; 2533} 2534 2535if (!funcDefined("resumeYmObserver")) { 2536 // resume ya metrika webvisor MutationObserver callback 2537 // use when animation finished 2538 resumeYmObserver = function () { 2539 if ( 2540 typeof MutationObserver === "function" && 2541 typeof MutationObserver.observers === "object" && 2542 typeof MutationObserver.observers.ym === "object" 2543 ) { 2544 if (typeof pauseYmObserver.cnt === "undefined") { 2545 pauseYmObserver.cnt = 1; 2546 } 2547 2548 pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0; 2549 2550 if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) { 2551 MutationObserver.observers.ym.resume(); 2552 } 2553 } 2554 }; 2555} 2556 2557var arBasketAsproCounters = {}; 2558SetActualBasketFlyCounters = function () { 2559 if (arBasketAsproCounters.DEFAULT == true) { 2560 $.ajax({ 2561 url: arOptimusOptions["SITE_DIR"] + "ajax/basket_fly.php", 2562 type: "post", 2563 success: function (html) { 2564 $("#basket_line .basket_fly").addClass("loaded").html(html); 2565 }, 2566 }); 2567 } else { 2568 $(".basket_fly .opener .basket_count .count") 2569 .attr("class", "count" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty_items"))
2570 .find(".items span") 2571 .text(arBasketAsproCounters.READY.COUNT); 2572 $(".basket_fly .opener .basket_count + a").attr("href", arBasketAsproCounters["READY"]["HREF"]); 2573 $(".basket_fly .opener .basket_count") 2574 .attr("title", arBasketAsproCounters.READY.TITLE) 2575 .attr("class", "basket_count small clicked" + (arBasketAsproCounters.READY.COUNT > 0 ? "" : " empty")); 2576 2577 $(".basket_fly .opener .wish_count .count") 2578 .attr("class", "count" + (arBasketAsproCounters.DELAY.COUNT > 0 ? "" : " empty_items")) 2579 .find(".items span") 2580 .text(arBasketAsproCounters.DELAY.COUNT); 2581 $(".basket_fly .opener .wish_count + a").attr("href", arBasketAsproCounters.DELAY.HREF); 2582 $(".basket_fly .opener .wish_count") 2583 .attr("title", arBasketAsproCounters.DELAY.TITLE) 2584 .attr("class", "wish_count small clicked" + (arBasketAsproCounters.DELAY.COUNT > 0 ? "" : " empty")); 2585 2586 $(".basket_fly .opener .compare_count .count") 2587 .attr("class", "count" + (arBasketAsproCounters.COMPARE.COUNT > 0 ? "" : " empty_items")) 2588 .find(".items span") 2589 .text(arBasketAsproCounters.COMPARE.COUNT); 2590 $(".basket_fly .opener .compare_count + a").attr("href", arBasketAsproCounters.COMPARE.HREF); 2591 2592 $(".basket_fly .opener .user_block") 2593 .attr("title", arBasketAsproCounters.PERSONAL.TITLE) 2594 .find("+ a") 2595 .attr("href", arBasketAsproCounters.PERSONAL.HREF); 2596 $(".basket_fly .opener .user_block .wraps_icon_block") 2597 .attr( 2598 "class", 2599 "wraps_icon_block" + 2600 (arBasketAsproCounters.PERSONAL.ID > 0 ? " user_auth" : " user_reg") + 2601 (arBasketAsproCounters.PERSONAL.SRC ? " w_img" : " no_img") 2602 ) 2603 .attr( 2604 "style", 2605 arBasketAsproCounters.PERSONAL.SRC 2606 ? 'background:url("' + arBasketAsproCounters.PERSONAL.SRC + '") center center no-repeat;' 2607 : "" 2608 ); 2609 2610 const eventdata = { action: "loadActualBasket" }; 2611 BX.onCustomEvent("onCompleteAction", [eventdata]); 2612 } 2613}; 2614 2615/*set price item*/ 2616if (!funcDefined("setPriceItem")) { 2617 var setPriceItem = function setPriceItem(main_block, quantity, rewrite_price, check_quantity, is_sku) { 2618 var old_quantity = main_block.find(".to-cart").attr("data-ratio"), 2619 value = 2620 typeof rewrite_price !== "undefined" && rewrite_price 2621 ? rewrite_price 2622 : main_block.find(".to-cart").attr("data-value"), 2623 currency = main_block.find(".to-cart").attr("data-currency"), 2624 total_block = '<div class="total_summ"><div>' + BX.message("TOTAL_SUMM_ITEM") + "<span></span></div></div>", 2625 price_block = main_block.find(".cost.prices"), 2626 check = typeof check_quantity !== "undefined" && check_quantity; 2627 2628 if (main_block.find(".buy_block").length) { 2629 if (!main_block.find(".buy_block .total_summ").length) $(total_block).appendTo(main_block.find(".buy_block")); 2630 } else if (main_block.find(".counter_wrapp").length) { 2631 if (!main_block.find(".counter_wrapp .total_summ").length) 2632 $(total_block).appendTo(main_block.find(".counter_wrapp:first")); 2633 } 2634 if (main_block.find(".total_summ").length) { 2635 if (value && currency) { 2636 if ( 2637 ((1 == quantity && old_quantity == quantity) || (typeof is_sku !== "undefined" && is_sku && !check)) && 2638 arOptimusOptions.THEME.SHOW_TOTAL_SUMM !== "ALWAYS" 2639 ) { 2640 main_block.find(".total_summ").slideUp(200); 2641 } else { 2642 main_block.find(".total_summ span").html(BX.Currency.currencyFormat(value * quantity, currency, true)); 2643 if (main_block.find(".total_summ").is(":hidden")) main_block.find(".total_summ").slideDown(200); 2644 } 2645 } else main_block.find(".total_summ").slideUp(200); 2646 } 2647 }; 2648} 2649 2650if (!funcDefined("getCurrentPrice")) { 2651 var getCurrentPrice = function getCurrentPrice(price, currency, print_price) { 2652 var val = ""; 2653 var format_value = BX.Currency.currencyFormat(price, currency); 2654 if (print_price.indexOf(format_value) >= 0) { 2655 val = print_price.replace( 2656 format_value, 2657 '<span class="price_value">' + format_value + '</span><span class="price_currency">' 2658 ); 2659 val += "</span>"; 2660 } else { 2661 val = print_price; 2662 } 2663 2664 return val; 2665 }; 2666} 2667 2668$(document).ready(function () { 2669 //ecommerce order 2670 if (arOptimusOptions["PAGES"]["ORDER_PAGE"]) { 2671 var arUrl = parseUrlQuery(); 2672 if ("ORDER_ID" in arUrl) { 2673 var _id = arUrl["ORDER_ID"]; 2674 if (arOptimusOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") { 2675 var eventdata = { goal: "goal_order_success", result: _id }; 2676 BX.onCustomEvent("onCounterGoals", [eventdata]); 2677 } 2678 2679 if (checkCounters()) { 2680 if (typeof BX.localStorage !== "undefined") { 2681 var d = BX.localStorage.get("gtm_e_" + _id); 2682 if (typeof d === "object") { 2683 waitLayer(100, function () { 2684 dataLayer.push({ event: arOptimusOptions["COUNTERS"]["GOOGLE_EVENTS"]["PURCHASE"], ecommerce: d }); 2685 }); 2686 } 2687 2688 if (typeof localStorage !== "undefined") { 2689 localStorage.removeItem("gtm_e_" + _id); 2690 } 2691 } 2692 } 2693 } 2694 } 2695 2696 // ya.metrika debug 2697 if (arOptimusOptions["COUNTERS"]["USE_DEBUG_GOALS"] === "Y") { 2698 $.cookie("_ym_debug", 1, { path: "/" }); 2699 } else { 2700 $.cookie("_ym_debug", null, { path: "/" }); 2701 } 2702 2703 scrollToTop(); 2704 checkVerticalMobileFilter(); 2705 checkFormWidth(); 2706 2707 if (!jQuery.browser.safari) { 2708 setTimeout(function () { 2709 InitTopestMenuGummi(); 2710 InitTopMenuGummi(); 2711 isOnceInited = true; 2712 2713 InitFlexSlider(); 2714 2715 // setTimeout(function() {$(window).resize();}, 150); // need to check resize flexslider & menu 2716
2717 try { 2718 // SHOW TOP MENU ON READY AFTER GUMMI 2719 $("header .wrap_menu").css({ overflow: "visible" }); 2720 $(".visible_on_ready").removeClass("visible_on_ready"); 2721 } catch (e) { 2722 console.error(e); 2723 } 2724 }, 100); 2725 } else { 2726 setTimeout(function () { 2727 $(window).resize(); // need to check resize flexslider & menu 2728 setTimeout(function () { 2729 InitTopestMenuGummi(); 2730 InitTopMenuGummi(); 2731 isOnceInited = true; 2732 2733 InitFlexSlider(); 2734 2735 try { 2736 // SHOW TOP MENU ON READY AFTER GUMMI 2737 $("header .wrap_menu").css({ overflow: "visible" }); 2738 $(".visible_on_ready").removeClass("visible_on_ready"); 2739 } catch (e) { 2740 console.error(e); 2741 } 2742 2743 setTimeout(function () { 2744 $(window).scroll(); 2745 }, 50); 2746 }, 50); 2747 }, 350); 2748 } 2749 2750 InitZoomPict(); 2751 2752 $("body").on("click", ".captcha_reload", function (e) { 2753 var captcha = $(this).parents(".captcha-row"); 2754 e.preventDefault(); 2755 $.ajax({ 2756 url: arOptimusOptions["SITE_DIR"] + "ajax/captcha.php", 2757 }).done(function (text) { 2758 captcha.find("input[name=captcha_sid]").val(text); 2759 captcha.find("img").attr("src", "/bitrix/tools/captcha.php?captcha_sid=" + text); 2760 captcha.find("input[name=captcha_word]").val("").removeClass("error"); 2761 captcha.find(".captcha_input").removeClass("error").find(".error").remove(); 2762 }); 2763 }); 2764 2765 setTimeout(function () { 2766 $(".bg_image_site").css({ 2767 opacity: 1, 2768 }); 2769 }, 200); 2770 2771 if (window.matchMedia("(min-width: 768px)").matches) { 2772 $(".wrapper_middle_menu.wrap_menu").removeClass("mobile"); 2773 } 2774 2775 if (window.matchMedia("(max-width: 767px)").matches) { 2776 $(".wrapper_middle_menu.wrap_menu").addClass("mobile"); 2777 } 2778 2779 setTimeout(function () { 2780 $(window).scroll(); 2781 }, 400); 2782 2783 $(".menu_top_block .v_bottom > a").on("click", function (e) { 2784 if ($(e.target).hasClass("toggle_block")) e.preventDefault(); 2785 }); 2786 $(".menu_top_block .v_bottom > a .toggle_block").on("click", function (e) { 2787 $(this).closest(".v_bottom").toggleClass("opened"); 2788 $(this).closest(".v_bottom").find(">.dropdown").slideToggle(); 2789 }); 2790 2791 $(document).on("click", ".show_props", function() { 2792 $(this).prev(".props_list_wrapp").stop().slideToggle(333); 2793 $(this).find(".char_title").toggleClass("opened"); 2794 }); 2795 2796 $(document).on( 2797 "mouseenter", 2798 ".menu_top_block.catalog_block >.dropdown>li.m_line, .menu_top_block.catalogfirst > li >.dropdown>li.m_line", 2799 function () { 2800 var _this = $(this); 2801 if (window.dropdownTimeout && window.dropdownTimeout[_this.index()]) { 2802 clearTimeout(window.dropdownTimeout[_this.index()]); 2803 } 2804 2805 var dropdown = _this.find("> ul"); 2806 if (dropdown.length) { 2807 var offset = dropdown[0].getBoundingClientRect(); 2808 var offsetLi = _this[0].getBoundingClientRect(); 2809 var offsetUl = _this.closest("ul")[0].getBoundingClientRect(); 2810 var bottomOuter = document.documentElement.clientHeight - offset.y - offset.height; 2811 if (bottomOuter < 0) { 2812 if (offset.height > document.documentElement.clientHeight && offsetUl.y < 0) { 2813 var dropdownTopMax = -offsetLi.y; 2814 } else { 2815 var dropdownTopMax = offsetUl.y - offsetLi.y; 2816 } 2817 var dropdownBottom = document.documentElement.clientHeight - offset.y - offsetLi.height; 2818 var dropdownTop = dropdownBottom + offsetLi.height - offset.height; 2819 if (dropdownTop < dropdownTopMax) { 2820 dropdownTop = dropdownTopMax; 2821 } 2822 dropdown.css({ 2823 top: dropdownTop + "px", 2824 bottom: -dropdownBottom + "px", 2825 overflow: "auto", 2826 }); 2827 } 2828 } 2829 } 2830 ); 2831 2832 $(document).on( 2833 "mouseleave", 2834 ".menu_top_block.catalog_block >.dropdown>li.m_line, .menu_top_block.catalogfirst > li >.dropdown>li.m_line", 2835 function () { 2836 var _this = $(this); 2837 var dropdown = _this.find("> ul"); 2838 if (dropdown.length) { 2839 if (!window.dropdownTimeout) { 2840 window.dropdownTimeout = {}; 2841 } 2842 window.dropdownTimeout[_this.index()] = setTimeout(function () { 2843 dropdown.css({ 2844 top: "", 2845 bottom: "", 2846 }); 2847 }, 300); 2848 } 2849 } 2850 ); 2851 2852 $(document).on("click", ".see_more", function(e) { 2853 e.preventDefault(); 2854 var see_more = $(this).is(".see_more") ? $(this) : $(this).parents(".see_more").first(); 2855 var see_moreText = see_more.find("> a").length ? see_more.find("> a") : see_more; 2856 var see_moreHiden = see_more.parent().find("> .d"); 2857 if (see_more.hasClass("open")) { 2858 see_moreText.text(BX.message("CATALOG_VIEW_MORE")); 2859 see_more.removeClass("open"); 2860 see_moreHiden.hide(); 2861 } else { 2862 see_moreText.text(BX.message("CATALOG_VIEW_LESS")); 2863 see_more.addClass("open"); 2864 see_moreHiden.show(); 2865 } 2866 return false;
2867 }); 2868 2869 $(".button.faq_button").click(function (e) { 2870 e.preventDefault(); 2871 $(this).toggleClass("opened"); 2872 $(".faq_ask .form").slideToggle(); 2873 }); 2874 2875 $(".staff.list .staff_section .staff_section_title a").click(function (e) { 2876 e.preventDefault(); 2877 $(this).parents(".staff_section").toggleClass("opened"); 2878 $(this).parents(".staff_section").find(".staff_section_items").stop().slideToggle(600); 2879 $(this).parents(".staff_section_title").find(".opener_icon").toggleClass("opened"); 2880 }); 2881 2882 $(".jobs_wrapp .item .name").click(function (e) { 2883 $(this).closest(".item").toggleClass("opened"); 2884 $(this).closest(".item").find(".description_wrapp").stop().slideToggle(600); 2885 $(this).closest(".item").find(".opener_icon").toggleClass("opened"); 2886 }); 2887 2888 $(document).on("click", ".faq.list .item .q a", function(e) { 2889 e.preventDefault(); 2890 $(this).parents(".item").toggleClass("opened"); 2891 $(this).parents(".item").find(".a").stop().slideToggle(); 2892 $(this).parents(".item").find(".q .opener_icon").toggleClass("opened"); 2893 }); 2894 2895 $(".opener_icon").click(function (e) { 2896 e.preventDefault(); 2897 $(this).parent().find("a").trigger("click"); 2898 }); 2899 2900 $(document).on("click", ".to-order", function(e) { 2901 e.preventDefault(); 2902 $("body").append("<span class='evb-toorder' style='display:none;'></span>"); 2903 jqmEd("to-order", arOptimusOptions["FORM"]["TOORDER_FORM_ID"], ".evb-toorder", "", this); 2904 $("body .evb-toorder").click(); 2905 $("body .evb-toorder").remove(); 2906 }); 2907 2908 $(document).on("click", ".cheaper", function(e) { 2909 e.preventDefault(); 2910 $("body").append("<span class='evb-cheaper' style='display:none;'></span>"); 2911 jqmEd("cheaper", arOptimusOptions["FORM"]["CHEAPER_FORM_ID"], ".evb-cheaper", "", this); 2912 $("body .evb-cheaper").click(); 2913 $("body .evb-cheaper").remove(); 2914 }); 2915 2916 $(document).on('click', '.delivery', function(e){ 2917 e.preventDefault(); 2918 var dataProductId = $(this).data('param-product_id'); 2919 var dataQuantity = $(this).data('param-quantity'); 2920 $("body").append("<span class='evb-delivery' style='display:none;'></span>"); 2921 jqmEd('delivery', arOptimusOptions['FORM']['DELIVERY_FORM_ID'].toLowerCase(), '.evb-delivery', 'product_id='+dataProductId+'&quantity='+dataQuantity, this); 2922 $("body .evb-delivery").click(); 2923 $("body .evb-delivery").remove(); 2924 2925 }); 2926 $(".animate-load").on("click", function () { 2927 if (!jQuery.browser.mobile) { 2928 $(this).parent().addClass("loadings"); 2929 } 2930 }); 2931 2932 // init calculate delivery with preview 2933 initCalculatePreview(); 2934 2935 //$(".dotdot").dotdotdot(); 2936 2937 $(document).on("click", ".more_block", function () { 2938 const content_offset = $(".catalog_detail .tabs_section").offset(); 2939 const $descriptionTab = document.querySelector('.tabs_section .nav-tabs #description_tab'); 2940 2941 if (window.matchMedia("(min-width: 768px)").matches) { 2942 if ($("#headerfixed").length) { 2943 content_offset.top -= $("#headerfixed").height(); 2944 } 2945 if ($(".product-item-detail-tabs-container-fixed").length) { 2946 content_offset.top -= $(".product-item-detail-tabs-container-fixed").height(); 2947 } 2948 } 2949 2950 if ($descriptionTab) { 2951 $descriptionTab.click(); 2952 } 2953 2954 $("html, body").animate({ scrollTop: content_offset.top - 43 }, 400); 2955 }); 2956 2957 $(document).on("click", ".counter_block:not(.basket) .plus", function () { 2958 if (!$(this).parents(".basket_wrapp").length) { 2959 if ($(this).parent().data("offers") != "Y") { 2960 var isDetailSKU2 = $(this).parents(".counter_block_wr").length, 2961 input = $(this).parents(".counter_block").find("input[type=text]"), 2962 tmp_ratio = !isDetailSKU2 2963 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 2964 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("ratio"), 2965 isDblQuantity = !isDetailSKU2 2966 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 2967 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("float_ratio"), 2968 ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10), 2969 max_value = ""; 2970 currentValue = input.val(); 2971 2972 if (isDblQuantity) 2973 ratio = 2974 Math.round(ratio * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 2975 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 2976 2977 curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10); 2978 2979 curValue += ratio; 2980 if (isDblQuantity) { 2981 curValue = 2982 Math.round(curValue * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 2983 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 2984 } 2985 if (parseFloat($(this).data("max")) > 0) { 2986 if (input.val() <= $(this).data("max")) { 2987 if (curValue <= $(this).data("max")) input.val(curValue); 2988 2989 input.change(); 2990 } 2991 } else { 2992 input.val(curValue); 2993 input.change(); 2994 } 2995 } 2996 } 2997 }); 2998 2999 $(document).on("click", ".counter_block:not(.basket) .minus", function () { 3000 if (!$(this).parents(".basket_wrapp").length) { 3001 if ($(this).parent().data("offers") != "Y") { 3002 var isDetailSKU2 = $(this).parents(".counter_block_wr").length; 3003 input = $(this).parents(".counter_block").find("input[type=text]"); 3004 (tmp_ratio = !isDetailSKU2 3005 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 3006 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("ratio")), 3007 (isDblQuantity = !isDetailSKU2 3008 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 3009 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("float_ratio")), 3010 (ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10)), 3011 (max_value = ""); 3012 currentValue = input.val(); 3013 3014 if (isDblQuantity) 3015 ratio = 3016 Math.round(ratio * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 3017 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 3018 3019 curValue = isDblQuantity ? parseFloat(currentValue) : parseInt(currentValue, 10); 3020 3021 curValue -= ratio; 3022 if (isDblQuantity) { 3023 curValue = 3024 Math.round(curValue * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 3025 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 3026 } 3027 3028 const minValue = parseFloat($(this).parents(".counter_block").find(".minus").data("min")); 3029 if (minValue) { 3030 ratio = minValue; 3031 } 3032 3033 if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) { 3034 if (currentValue > ratio) { 3035 if (curValue < ratio) { 3036 input.val(ratio); 3037 } else { 3038 input.val(curValue); 3039 } 3040 input.change(); 3041 } 3042 } else { 3043 if (curValue > ratio) { 3044 input.val(curValue); 3045 } else { 3046 if (ratio) { 3047 input.val(ratio); 3048 } else if (currentValue > 1) { 3049 input.val(curValue); 3050 } 3051 } 3052 input.change(); 3053 } 3054 } 3055 } 3056 }); 3057 3058 $(".counter_block input[type=text]").numeric({ allow: "." }); 3059 $(".counter_block input[type=text]").on("focus", function () { 3060 $(this).addClass("focus"); 3061 }); 3062 $(".counter_block input[type=text]").on("blur", function () { 3063 $(this).removeClass("focus"); 3064 }); 3065 3066 var timerInitCalculateDelivery = false;
3067 3068 $(document).on("change", ".counter_block input[type=text]", function (e) { 3069 const minValue = parseFloat($(this).parents(".counter_block").find(".minus").data("min")); 3070 const currentValue = parseFloat($(this).val()); 3071 if (minValue === currentValue) { 3072 return; 3073 } 3074 3075 if (!$(this).parents(".basket_wrapp").length) { 3076 var val = $(this).val(), 3077 tmp_ratio = $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 3078 ? $(this).parents(".counter_wrapp").find(".to-cart").data("ratio") 3079 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("ratio"), 3080 isDblQuantity = $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 3081 ? $(this).parents(".counter_wrapp").find(".to-cart").data("float_ratio") 3082 : $(this).parents(".counter_block_wr").find(".button_block .to-cart").data("float_ratio"), 3083 ratio = isDblQuantity ? parseFloat(tmp_ratio) : parseInt(tmp_ratio, 10), 3084 diff = val % ratio; 3085 if (isDblQuantity) { 3086 ratio = 3087 Math.round(ratio * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 3088 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 3089 if ( 3090 Math.round(diff * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 3091 arOptimusOptions.JS_ITEM_CLICK.precisionFactor == 3092 ratio 3093 ) 3094 diff = 0; 3095 } 3096 3097 if ($(this).hasClass("focus")) { 3098 const intCount = 3099 Math.round( 3100 Math.round((val * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / ratio) / 3101 arOptimusOptions.JS_ITEM_CLICK.precisionFactor 3102 ) || 1; 3103 val = intCount <= 1 ? ratio : intCount * ratio; 3104 val = 3105 Math.round(val * arOptimusOptions.JS_ITEM_CLICK.precisionFactor) / 3106 arOptimusOptions.JS_ITEM_CLICK.precisionFactor; 3107 } 3108 3109 if (parseFloat($(this).parents(".counter_block").find(".plus").data("max")) > 0) { 3110 if (val > parseFloat($(this).parents(".counter_block").find(".plus").data("max"))) { 3111 val = parseFloat($(this).parents(".counter_block").find(".plus").data("max")); 3112 } 3113 } 3114 3115 if (val < ratio) { 3116 val = ratio; 3117 } else if (!parseFloat(val)) { 3118 val = 1; 3119 } 3120 3121 $(this).parents(".counter_block").parent().parent().find(".to-cart").attr("data-quantity", val); 3122 $(this).parents(".counter_block").parent().parent().find(".one_click").attr("data-quantity", val); 3123 $(this).parents(".counter_block_wr").find(".one_click").attr("data-quantity", val); 3124 $(this).val(val); 3125 3126 var $calculate = $(this).closest(".item").length 3127 ? $(this).closest(".item").find(".calculate-delivery") 3128 : $(this).closest(".catalog_detail").find(".calculate-delivery"); 3129 if ($calculate.length) { 3130 $calculate.each(function () { 3131 var $calculateSpan = $(this).find("span[data-event=jqm]").first(); 3132 3133 if ($calculateSpan.length) { 3134 var $clone = $calculateSpan.clone(); 3135 $clone.attr("data-param-quantity", val).removeClass("clicked"); 3136 $clone.insertAfter($calculateSpan).on("click", function () { 3137 if (!jQuery.browser.mobile) { 3138 $(this).parent().addClass("loadings"); 3139 } 3140 }); 3141 $calculateSpan.remove(); 3142 } 3143 3144 if ($(this).hasClass("with_preview")) { 3145 $(this).removeClass("inited"); 3146 3147 if (timerInitCalculateDelivery) { 3148 clearTimeout(timerInitCalculateDelivery); 3149 } 3150 3151 timerInitCalculateDelivery = setTimeout(function () {
3152 initCalculatePreview(); 3153 timerInitCalculateDelivery = false; 3154 }, 1000); 3155 } 3156 }); 3157 } 3158 3159 var eventdata = { type: "change", params: { id: $(this), value: val } }; 3160 BX.onCustomEvent("onCounterProductAction", [eventdata]); 3161 } 3162 }); 3163 3164 BX.addCustomEvent("onCounterProductAction", function (eventdata) { 3165 if (typeof eventdata != "object") { 3166 eventdata = { type: "undefined" }; 3167 } 3168 try { 3169 if (typeof eventdata.type != "undefined") { 3170 if (!eventdata.params.id.closest(".gifts").length) { 3171 // no gift 3172 var obProduct = eventdata.params.id.data("product"); 3173 if (eventdata.params.id.closest(".item_info").find(".sku_props").length) { 3174 if (typeof window.obSkuQuantys === "undefined") window.obSkuQuantys = {}; 3175 3176 const offerID = eventdata.params.id.closest(".offer_buy_block").find(".to-cart").data("item"); 3177 window.obSkuQuantys[offerID] = eventdata.params.value; 3178 } 3179 3180 if (typeof window[obProduct] === "object") { 3181 if (obProduct === "obOffers") { 3182 setPriceAction("", "", "Y"); 3183 } else { 3184 window[obProduct].setPriceAction("Y"); 3185 } 3186 } else if (eventdata.params.id.length) { 3187 if ( 3188 eventdata.params.id.closest(".main_item_wrapper").length && 3189 arOptimusOptions["THEME"]["SHOW_TOTAL_SUMM"] != "N" 3190 ) { 3191 setPriceItem(eventdata.params.id.closest(".main_item_wrapper"), eventdata.params.value); 3192 } 3193 } 3194 BX.onCustomEvent("onCounterProductActionResize"); 3195 } 3196 } 3197 } catch (e) { 3198 console.error(e); 3199 } 3200 }); 3201 3202 /*slide cart*/ 3203 $(document).on("mouseenter", "#basket_line .basket_normal:not(.empty_cart):not(.bcart) .basket_block ", function () { 3204 $(this).closest(".basket_normal").find(".popup").addClass("block"); 3205 $(this).closest(".basket_normal").find(".basket_popup_wrapp").stop(true, true).slideDown(150); 3206 }); 3207 $(document).on("mouseleave", "#basket_line .basket_normal .basket_block ", function () { 3208 var th = $(this); 3209 $(this) 3210 .closest(".basket_normal") 3211 .find(".basket_popup_wrapp") 3212 .stop(true, true) 3213 .slideUp(150, function () { 3214 th.closest(".basket_normal").find(".popup").removeClass("block"); 3215 }); 3216 }); 3217 3218 $(document).on("click", ".fast_view_block", function() { 3219 var _th = $(this), 3220 iblockid = _th.data("param-iblock_id"), 3221 href = _th.data("param-item_href"), 3222 name = _th.data("param-form_id"); 3223 3224 $("body #popup_iframe_wrapper") 3225 .find("." + name + "_frame") 3226 .remove(); 3227 $("body #popup_iframe_wrapper") 3228 .find("." + name + "_trigger") 3229 .remove(); 3230 $("body #popup_iframe_wrapper").append('<div class="' + name + '_frame popup"></div>'); 3231 $("body #popup_iframe_wrapper").append('<div class="' + name + '_trigger"></div>'); 3232 $("." + name + "_frame").jqm({ 3233 trigger: "." + name + "_trigger", 3234 onHide: function (hash) { 3235 onHidejqm(name, hash); 3236 }, 3237 onLoad: function (hash) { 3238 onLoadjqm(name, hash); 3239 }, 3240 ajax: 3241 arOptimusOptions["SITE_DIR"] + "ajax/form.php?form_id=fast_view&iblock_id=" + iblockid + "&item_href=" + href, 3242 }); 3243 $("." + name + "_trigger").click(); 3244 }); 3245 3246 $(document).on("click", ".popup_button_basket", function () { 3247 var th = $(".to-cart[data-item=" + $(this).data("item") + "]"); 3248 3249 var val = th.attr("data-quantity"); 3250 3251 if (!val) $val = 1; 3252 3253 var tmp_props = th.data("props"), 3254 props = "", 3255 part_props = "", 3256 add_props = "N", 3257 fill_prop = {}, 3258 iblockid = th.data("iblockid"), 3259 offer = th.data("offers"), 3260 rid = "", 3261 basket_props = "", 3262 item = th.attr("data-item"); 3263 3264 if (offer != "Y") { 3265 offer = "N"; 3266 } else { 3267 basket_props = th.closest(".prices_tab").find(".bx_sku_props input").val(); 3268 } 3269 if (tmp_props) { 3270 props = tmp_props.split(";"); 3271 } 3272 if (th.data("part_props")) { 3273 part_props = th.data("part_props"); 3274 } 3275 if (th.data("add_props")) { 3276 add_props = th.data("add_props"); 3277 } 3278 if ($(".rid_item").length) { 3279 rid = $(".rid_item").data("rid"); 3280 } else if (th.data("rid")) { 3281 rid = th.data("rid"); 3282 } 3283 3284 fill_prop = fillBasketPropsExt(th, "prop", "bx_ajax_text"); 3285 3286 fill_prop.quantity = val; 3287 fill_prop.add_item = "Y"; 3288 fill_prop.rid = rid; 3289 fill_prop.offers = offer; 3290 fill_prop.iblockID = iblockid; 3291 fill_prop.part_props = part_props; 3292 fill_prop.add_props = add_props; 3293 fill_prop.props = JSON.stringify(props); 3294 fill_prop.item = item; 3295 fill_prop.basket_props = basket_props; 3296 3297 $.ajax({ 3298 type: "POST", 3299 url: arOptimusOptions["SITE_DIR"] + "ajax/item.php", 3300 data: fill_prop, 3301 dataType: "json", 3302 success: function (data) { 3303 $(".basket_error_frame").jqmHide(); 3304 if ("STATUS" in data) { 3305 getActualBasket(fill_prop.iblockID); 3306 if (data.STATUS === "OK") { 3307 th.hide(); 3308 th.closest(".counter_wrapp").find(".counter_block").hide(); 3309 th.parents("tr").find(".counter_block_wr .counter_block").hide(); 3310 th.closest(".button_block").addClass("wide"); 3311 th.parent().find(".in-cart").show(); 3312 3313 addBasketCounter(item); 3314 $(".wish_item[data-item=" + item + "]").removeClass("added"); 3315 $(".wish_item[data-item=" + item + "]") 3316 .find(".value") 3317 .show(); 3318 $(".wish_item[data-item=" + item + "]") 3319 .find(".value.added") 3320 .hide(); 3321 if ($("#basket_line .cart").length) { 3322 if ($("#basket_line .cart").is(".empty_cart")) { 3323 $("#basket_line .cart") 3324 .removeClass("empty_cart") 3325 .find(".cart_wrapp a.basket_link") 3326 .removeAttr("href") 3327 .addClass("cart-call"); 3328 $("#basket_line .cart").removeClass("ecart"); 3329 touchBasket(".cart:not(.empty_cart) .basket_block .link"); 3330 } 3331 3332 reloadTopBasket("add", $("#basket_line"), 200, 5000, "Y"); 3333 } else if ($("#basket_line .basket_fly").length) { 3334 if ($(window).outerWidth() > 768) { 3335 basketFly("open"); 3336 } else { 3337 basketFly("refresh"); 3338 } 3339 } 3340 } else { 3341 showBasketError(BX.message(data.MESSAGE)); 3342 } 3343 } else { 3344 showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR")); 3345 } 3346 }, 3347 }); 3348 }); 3349 3350 $(document).on("click", ".to-cart:not(.read_more)", function (e) { 3351 e.preventDefault(); 3352 var th = $(this); 3353 3354 var val = $(this).attr("data-quantity"); 3355 3356 if (!val) $val = 1; 3357 3358 var tmp_props = $(this).data("props"), 3359 props = "", 3360 part_props = "", 3361 add_props = "N", 3362 fill_prop = {}, 3363 iblockid = $(this).data("iblockid"), 3364 offer = $(this).data("offers"), 3365 rid = "", 3366 basket_props = "", 3367 item = $(this).attr("data-item"); 3368 3369 if (offer != "Y") { 3370 offer = "N"; 3371 } else { 3372 basket_props = $(this).closest(".prices_tab").find(".bx_sku_props input").val(); 3373 } 3374 if (tmp_props) { 3375 props = tmp_props.split(";"); 3376 } 3377 if ($(this).data("part_props")) { 3378 part_props = $(this).data("part_props"); 3379 } 3380 if ($(this).data("add_props")) { 3381 add_props = $(this).data("add_props"); 3382 } 3383 if ($(".rid_item").length) { 3384 rid = $(".rid_item").data("rid"); 3385 } else if ($(this).data("rid")) { 3386 rid = $(this).data("rid"); 3387 } 3388 3389 fill_prop = fillBasketPropsExt(th, "prop", th.data("bakset_div")); 3390 3391 fill_prop.quantity = val; 3392 fill_prop.add_item = "Y"; 3393 fill_prop.rid = rid; 3394 fill_prop.offers = offer; 3395 fill_prop.iblockID = iblockid; 3396 fill_prop.part_props = part_props; 3397 fill_prop.add_props = add_props; 3398 fill_prop.props = JSON.stringify(props); 3399 fill_prop.item = item; 3400 fill_prop.basket_props = basket_props; 3401 3402 if (th.data("empty_props") == "N") { 3403 showBasketError($("#" + th.data("bakset_div")).html(), BX.message("ERROR_BASKET_PROP_TITLE"), "Y", th); 3404 } else { 3405 $.ajax({ 3406 type: "POST", 3407 url: arOptimusOptions["SITE_DIR"] + "ajax/item.php", 3408 data: fill_prop, 3409 dataType: "json", 3410 success: function (data) { 3411 getActualBasket(fill_prop.iblockID); 3412 if (data !== null) { 3413 if ("STATUS" in data) { 3414 if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = ""; 3415 if (data.STATUS === "OK") { 3416 /*th.hide(); 3417 th.closest('.counter_wrapp').find('.counter_block').hide(); 3418 th.parents('tr').find('.counter_block_wr .counter_block').hide(); 3419 th.closest('.button_block').addClass('wide'); 3420 th.parent().find('.in-cart').show();*/ 3421 3422 $(".to-cart[data-item=" + item + "]").hide(); 3423 $(".to-cart[data-item=" + item + "]") 3424 .closest(".counter_wrapp") 3425 .find(".counter_block") 3426 .hide(); 3427 $(".to-cart[data-item=" + item + "]") 3428 .parents("tr") 3429 .find(".counter_block_wr .counter_block") 3430 .hide(); 3431 $(".to-cart[data-item=" + item + "]") 3432 .closest(".button_block") 3433 .addClass("wide"); 3434 $(".to-cart[data-item=" + item + "]") 3435 .parent()
3436 .find(".in-cart") 3437 .show(); 3438 3439 addBasketCounter(item); 3440 $(".wish_item[data-item=" + item + "]").removeClass("added"); 3441 $(".wish_item[data-item=" + item + "]") 3442 .find(".value") 3443 .show(); 3444 $(".wish_item[data-item=" + item + "]") 3445 .find(".value.added") 3446 .hide(); 3447 if ($("#basket_line .cart").length) { 3448 if ($("#basket_line .cart").is(".empty_cart")) { 3449 $("#basket_line .cart") 3450 .removeClass("empty_cart") 3451 .find(".cart_wrapp a.basket_link") 3452 .removeAttr("href") 3453 .addClass("cart-call"); 3454 $("#basket_line .cart").removeClass("ecart"); 3455 touchBasket(".cart:not(.empty_cart) .basket_block .link"); 3456 } 3457 3458 reloadTopBasket("add", $("#basket_line"), 200, 5000, "Y"); 3459 } else if ($("#basket_line .basket_fly").length) { 3460 if ($(window).outerWidth() > 768) { 3461 basketFly("open"); 3462 } else { 3463 basketFly("refresh"); 3464 } 3465 } 3466 } else { 3467 showBasketError(BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT); 3468 } 3469 } else { 3470 showBasketError(BX.message("CATALOG_PARTIAL_BASKET_PROPERTIES_ERROR")); 3471 } 3472 } else { 3473 /*th.hide(); 3474 th.closest('.counter_wrapp').find('.counter_block').hide(); 3475 th.parents('tr').find('.counter_block_wr .counter_block').hide(); 3476 th.closest('.button_block').addClass('wide'); 3477 th.parent().find('.in-cart').show();*/ 3478 3479 $(".to-cart[data-item=" + item + "]").hide(); 3480 $(".to-cart[data-item=" + item + "]") 3481 .closest(".counter_wrapp") 3482 .find(".counter_block") 3483 .hide(); 3484 $(".to-cart[data-item=" + item + "]") 3485 .parents("tr") 3486 .find(".counter_block_wr .counter_block") 3487 .hide(); 3488 $(".to-cart[data-item=" + item + "]") 3489 .closest(".button_block") 3490 .addClass("wide"); 3491 $(".to-cart[data-item=" + item + "]") 3492 .parent() 3493 .find(".in-cart") 3494 .show(); 3495 3496 addBasketCounter(item); 3497 $(".wish_item[data-item=" + item + "]").removeClass("added"); 3498 $(".wish_item[data-item=" + item + "]") 3499 .find(".value") 3500 .show(); 3501 $(".wish_item[data-item=" + item + "]") 3502 .find(".value.added") 3503 .hide(); 3504 if ($("#basket_line .cart").length) { 3505 if ($("#basket_line .cart").is(".empty_cart")) { 3506 $("#basket_line .cart") 3507 .removeClass("empty_cart") 3508 .find(".cart_wrapp a.basket_link") 3509 .removeAttr("href") 3510 .addClass("cart-call"); 3511 $("#basket_line .cart").removeClass("ecart"); 3512 touchBasket(".cart:not(.empty_cart) .basket_block .link"); 3513 } 3514 3515 reloadTopBasket("add", $("#basket_line"), 200, 5000, "Y"); 3516 } else if ($("#basket_line .basket_fly").length && $(window).outerWidth() > 768) { 3517 basketFly("open"); 3518 } 3519 } 3520 }, 3521 }); 3522 } 3523 }); 3524 3525 $(document).on("click", ".to-subscribe", function (e) { 3526 e.preventDefault(); 3527 if ($(this).is(".auth")) { 3528 if ($(this).hasClass("nsubsc")) { 3529 $("body").append("<span class='evb-subs' style='display:none;'></span>"); 3530 jqmEd("subscribe", "subscribe", ".evb-subs", "id=" + $(this).data("item"), this); 3531 $("body .evb-subs").click(); 3532 $("body .evb-subs").remove(); 3533 } else { 3534 location.href = arOptimusOptions["SITE_DIR"] + "auth/?backurl=" + location.pathname; 3535 } 3536 } else { 3537 var item = $(this).attr("data-item"), 3538 iblockid = $(this).attr("data-iblockid"); 3539 $(this).hide(); 3540 $(this).parent().find(".in-subscribe").show(); 3541 $.get( 3542 arOptimusOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y", 3543 $.proxy(function (data) { 3544 $(".wish_item[data-item=" + item + "]").removeClass("added"); 3545 getActualBasket(iblockid); 3546 }) 3547 ); 3548 } 3549 }); 3550 3551 $(document).on("click", ".in-subscribe", function (e) { 3552 e.preventDefault(); 3553 var item = $(this).attr("data-item"), 3554 iblockid = $(this).attr("data-iblockid"); 3555 $(this).hide(); 3556 $(this).parent().find(".to-subscribe").show(); 3557 $.get( 3558 arOptimusOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&subscribe_item=Y", 3559 $.proxy(function (data) { 3560 getActualBasket(iblockid); 3561 }) 3562 ); 3563 }); 3564 3565 $(document).on("keyup", function (e) { 3566 if (e.keyCode == 27) { 3567 if ($(".jqmWindow").length) { 3568 $(".jqmWindow").jqmHide(); 3569 } 3570 } 3571 }); 3572 3573 $(document).on("click", ".wish_item", function (e) { 3574 e.preventDefault(); 3575 var val = $(this).attr("data-quantity"), 3576 offer = $(this).data("offers"), 3577 iblockid = $(this).data("iblock"),
3578 tmp_props = $(this).data("props"), 3579 props = "", 3580 item = $(this).attr("data-item"); 3581 item2 = $(this).attr("data-item"); 3582 if (!val) $val = 1; 3583 if (offer != "Y") offer = "N"; 3584 if (tmp_props) { 3585 props = tmp_props.split(";"); 3586 } 3587 if (!$(this).hasClass("text")) { 3588 if ($(this).hasClass("added")) { 3589 $(this).hide(); 3590 $(this).closest(".wish_item_button").find(".to").show(); 3591 3592 $(".like_icons").each(function () { 3593 if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) { 3594 $(this) 3595 .find('.wish_item.text[data-item="' + item + '"]') 3596 .removeClass("added"); 3597 $(this) 3598 .find('.wish_item.text[data-item="' + item + '"]') 3599 .find(".value") 3600 .show(); 3601 $(this) 3602 .find('.wish_item.text[data-item="' + item + '"]') 3603 .find(".value.added") 3604 .hide(); 3605 } 3606 if ($(this).find(".wish_item_button").length) { 3607 $(this) 3608 .find(".wish_item_button") 3609 .find('.wish_item[data-item="' + item + '"]') 3610 .removeClass("added"); 3611 $(this) 3612 .find(".wish_item_button") 3613 .find('.wish_item[data-item="' + item + '"]') 3614 .find(".value") 3615 .show(); 3616 $(this) 3617 .find(".wish_item_button") 3618 .find('.wish_item[data-item="' + item + '"]') 3619 .find(".value.added") 3620 .hide(); 3621 } 3622 }); 3623 } else { 3624 $(this).hide(); 3625 $(this).closest(".wish_item_button").find(".in").addClass("added").show(); 3626 3627 $(".like_icons").each(function () { 3628 if ($(this).find('.wish_item.text[data-item="' + item + '"]').length) { 3629 $(this) 3630 .find('.wish_item.text[data-item="' + item + '"]') 3631 .addClass("added"); 3632 $(this) 3633 .find('.wish_item.text[data-item="' + item + '"]') 3634 .find(".value") 3635 .hide(); 3636 $(this) 3637 .find('.wish_item.text[data-item="' + item + '"]') 3638 .find(".value.added") 3639 .css({ display: "block" }); 3640 } 3641 if ($(this).find(".wish_item_button").length) { 3642 $(this) 3643 .find(".wish_item_button") 3644 .find('.wish_item[data-item="' + item + '"]') 3645 .addClass("added"); 3646 $(this) 3647 .find(".wish_item_button") 3648 .find('.wish_item[data-item="' + item + '"]') 3649 .find(".value") 3650 .hide(); 3651 $(this) 3652 .find(".wish_item_button") 3653 .find('.wish_item[data-item="' + item + '"]') 3654 .find(".value.added") 3655 .show(); 3656 } 3657 }); 3658 } 3659 } else { 3660 if (!$(this).hasClass("added")) { 3661 $(".wish_item[data-item=" + item + "]").addClass("added"); 3662 $(".wish_item[data-item=" + item + "]") 3663 .find(".value") 3664 .hide(); 3665 $(".wish_item[data-item=" + item + "]") 3666 .find(".value.added") 3667 .css("display", "block"); 3668 3669 $(".like_icons").each(function () { 3670 if ($(this).find(".wish_item_button").length) { 3671 $(this) 3672 .find(".wish_item_button") 3673 .find('.wish_item[data-item="' + item + '"]') 3674 .addClass("added"); 3675 $(this) 3676 .find(".wish_item_button") 3677 .find('.wish_item[data-item="' + item + '"]') 3678 .find(".value") 3679 .hide(); 3680 $(this) 3681 .find(".wish_item_button") 3682 .find('.wish_item[data-item="' + item + '"]') 3683 .find(".value.added") 3684 .show(); 3685 } 3686 }); 3687 } else { 3688 $(".wish_item[data-item=" + item + "]").removeClass("added"); 3689 $(".wish_item[data-item=" + item + "]") 3690 .find(".value") 3691 .show(); 3692 $(".wish_item[data-item=" + item + "]") 3693 .find(".value.added") 3694 .hide(); 3695 3696 $(".like_icons").each(function () { 3697 if ($(this).find(".wish_item_button").length) { 3698 $(this) 3699 .find(".wish_item_button") 3700 .find('.wish_item[data-item="' + item + '"]') 3701 .removeClass("added"); 3702 $(this) 3703 .find(".wish_item_button") 3704 .find('.wish_item[data-item="' + item + '"]') 3705 .find(".value") 3706 .show(); 3707 $(this) 3708 .find(".wish_item_button") 3709 .find('.wish_item[data-item="' + item + '"]') 3710 .find(".value.added") 3711 .hide(); 3712 } 3713 }); 3714 } 3715 } 3716 3717 $(".in-cart[data-item=" + item + "]").hide(); 3718 $(".to-cart[data-item=" + item + "]") 3719 .parent() 3720 .removeClass("wide"); 3721 $(".to-cart[data-item=" + item + "]").show(); 3722 $(".counter_block[data-item=" + item + "]").show(); 3723 if ( 3724 !$(".counter_block[data-item=" + item + "]") 3725 .closest(".counter_wrapp") 3726 .find(".to-order").length 3727 ) { 3728 $(".to-cart[data-item=" + item + "]").show(); 3729 $(".counter_block[data-item=" + item + "]").show(); 3730 } 3731 if (!$(this).closest(".module-cart").size()) { 3732 $.ajax({ 3733 type: "GET", 3734 url: arOptimusOptions["SITE_DIR"] + "ajax/item.php", 3735 data: 3736 "item=" + 3737 item2 + 3738 "&quantity=" + 3739 val + 3740 "&wish_item=Y" + 3741 "&offers=" + 3742 offer + 3743 "&iblockID=" + 3744 iblockid + 3745 "&props=" + 3746 JSON.stringify(props), 3747 dataType: "json", 3748 success: function (data) { 3749 getActualBasket(iblockid); 3750 if (data !== null) { 3751 if (data.MESSAGE_EXT === null) data.MESSAGE_EXT = ""; 3752 if ("STATUS" in data) { 3753 if (data.STATUS === "OK") { 3754 if (arOptimusOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 3755 var eventdata = { goal: "goal_wish_add", params: { id: item2 } }; 3756 BX.onCustomEvent("onCounterGoals", [eventdata]); 3757 } 3758 if ($("#basket_line .cart").size()) { 3759 reloadTopBasket("wish", $("#basket_line"), 200, 5000, "N"); 3760 } else { 3761 basketFly("wish"); 3762 } 3763 } else { 3764 showBasketError( 3765 BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT, 3766 BX.message("ERROR_ADD_DELAY_ITEM") 3767 ); 3768 } 3769 } else { 3770 showBasketError( 3771 BX.message(data.MESSAGE) + " <br/>" + data.MESSAGE_EXT, 3772 BX.message("ERROR_ADD_DELAY_ITEM") 3773 ); 3774 } 3775 } else { 3776 if ($("#basket_line .cart").size()) { 3777 reloadTopBasket("wish", $("#basket_line"), 200, 5000, "N"); 3778 } else { 3779 basketFly("wish"); 3780 } 3781 } 3782 }, 3783 }); 3784 } 3785 }); 3786 3787 $(document).on("click", ".compare_item", function (e) { 3788 e.preventDefault(); 3789 var item = $(this).attr("data-item"); 3790 var iblockID = $(this).attr("data-iblock"); 3791 if (!$(this).hasClass("text")) { 3792 if ($(this).hasClass("added")) { 3793 $(this).hide(); 3794 $(this).closest(".compare_item_button").find(".to").show(); 3795 3796 /*sync other button*/ 3797 $(".like_icons").each(function () { 3798 if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) { 3799 $(this) 3800 .find('.compare_item.text[data-item="' + item + '"]') 3801 .removeClass("added"); 3802 $(this) 3803 .find('.compare_item.text[data-item="' + item + '"]') 3804 .find(".value") 3805 .show(); 3806 $(this) 3807 .find('.compare_item.text[data-item="' + item + '"]') 3808 .find(".value.added") 3809 .hide(); 3810 } 3811 if ($(this).find(".compare_item_button").length) { 3812 $(this) 3813 .find(".compare_item_button") 3814 .find('.compare_item[data-item="' + item + '"]') 3815 .removeClass("added"); 3816 $(this) 3817 .find(".compare_item_button") 3818 .find('.compare_item[data-item="' + item + '"]') 3819 .find(".value") 3820 .show(); 3821 $(this) 3822 .find(".compare_item_button") 3823 .find('.compare_item[data-item="' + item + '"]') 3824 .find(".value.added") 3825 .hide(); 3826 } 3827 }); 3828 } else { 3829 $(this).hide(); 3830 $(this).closest(".compare_item_button").find(".in").show(); 3831 3832 /*sync other button*/ 3833 $(".like_icons").each(function () { 3834 if ($(this).find('.compare_item.text[data-item="' + item + '"]').length) { 3835 $(this) 3836 .find('.compare_item.text[data-item="' + item + '"]') 3837 .addClass("added"); 3838 $(this) 3839 .find('.compare_item.text[data-item="' + item + '"]') 3840 .find(".value") 3841 .hide(); 3842 $(this) 3843 .find('.compare_item.text[data-item="' + item + '"]') 3844 .find(".value.added") 3845 .css({ display: "block" }); 3846 } 3847 if ($(this).find(".compare_item_button").length) { 3848 $(this) 3849 .find(".compare_item_button") 3850 .find('.compare_item[data-item="' + item + '"]') 3851 .addClass("added"); 3852 $(this) 3853 .find(".compare_item_button") 3854 .find('.compare_item[data-item="' + item + '"]') 3855 .find(".value.added") 3856 .show(); 3857 $(this) 3858 .find(".compare_item_button") 3859 .find('.compare_item[data-item="' + item + '"]') 3860 .find(".value") 3861 .hide(); 3862 } 3863 }); 3864 } 3865 } else { 3866 if (!$(this).hasClass("added")) { 3867 $(".compare_item[data-item=" + item + "]").addClass("added"); 3868 $(".compare_item[data-item=" + item + "]") 3869 .find(".value") 3870 .hide(); 3871 $(".compare_item[data-item=" + item + "]") 3872 .find(".value.added") 3873 .css("display", "block"); 3874 3875 /*sync other button*/ 3876 $(".like_icons").each(function () { 3877 if ($(this).find(".compare_item_button").length) { 3878 $(this) 3879 .find(".compare_item_button") 3880 .find('.compare_item[data-item="' + item + '"]') 3881 .addClass("added"); 3882 $(this) 3883 .find(".compare_item_button") 3884 .find('.compare_item[data-item="' + item + '"]') 3885 .find(".value.added") 3886 .show(); 3887 $(this) 3888 .find(".compare_item_button") 3889 .find('.compare_item[data-item="' + item + '"]') 3890 .find(".value") 3891 .hide(); 3892 } 3893 }); 3894 } else { 3895 $(".compare_item[data-item=" + item + "]").removeClass("added"); 3896 $(".compare_item[data-item=" + item + "]") 3897 .find(".value") 3898 .show(); 3899 $(".compare_item[data-item=" + item + "]") 3900 .find(".value.added") 3901 .hide(); 3902 3903 /*sync other button*/ 3904 $(".like_icons").each(function () { 3905 if ($(this).find(".compare_item_button").length) { 3906 $(this) 3907 .find(".compare_item_button") 3908 .find('.compare_item[data-item="' + item + '"]') 3909 .removeClass("added"); 3910 $(this) 3911 .find(".compare_item_button") 3912 .find('.compare_item[data-item="' + item + '"]') 3913 .find(".value") 3914 .show(); 3915 $(this) 3916 .find(".compare_item_button") 3917 .find('.compare_item[data-item="' + item + '"]') 3918 .find(".value.added") 3919 .hide(); 3920 } 3921 }); 3922 } 3923 } 3924 3925 $.get( 3926 arOptimusOptions["SITE_DIR"] + "ajax/item.php?item=" + item + "&compare_item=Y&iblock_id=" + iblockID, 3927 $.proxy(function (data) { 3928 getActualBasket(iblockID, "Comapre"); 3929 jsAjaxUtil.InsertDataToNode( 3930 arOptimusOptions["SITE_DIR"] + "ajax/show_compare_preview_top.php", 3931 "compare_line", 3932 false 3933 ); 3934 if ($("#compare_fly").length) { 3935 jsAjaxUtil.InsertDataToNode( 3936 arOptimusOptions["SITE_DIR"] + "ajax/show_compare_preview_fly.php", 3937 "compare_fly", 3938 false 3939 ); 3940 } 3941 }) 3942 ); 3943 }); 3944 3945 const handlePinchZoomiOS = function(e) { 3946 e.preventDefault(); 3947 } 3948 3949 const $viewport = document.querySelector('meta[name=viewport]'); 3950 var metaViewport; 3951 3952 const handlePinchZoom = function(add) { 3953 const $html = document.querySelector('html'); 3954 3955 if (!!~$html.className.indexOf('bx-core')) { 3956 if (!metaViewport) { 3957 metaViewport = Object.fromEntries($viewport.getAttribute('content').split(',').map(function(el) { 3958 return el.trim().split('='); 3959 })); 3960 } 3961 3962 const handleMetaViewport = function(add) { 3963 let viewportData = Object.assign({}, metaViewport); 3964 3965 if (add) { 3966 viewportData['maximum-scale'] = 1; 3967 viewportData['user-scalable'] = 'no'; 3968 } 3969 3970 viewportData = Object.keys(viewportData).map(function(el) { 3971 return el + '=' + viewportData[el]; 3972 }).join(', '); 3973 3974 $viewport.setAttribute('content', viewportData); 3975 } 3976 3977 if (add) { 3978 if (!!~$html.className.indexOf('bx-ios')) { 3979 document.addEventListener('gesturestart', handlePinchZoomiOS); 3980 } else { 3981 handleMetaViewport(true); 3982 } 3983 } else { 3984 if (!!~$html.className.indexOf('bx-ios')) { 3985 document.removeEventListener('gesturestart', handlePinchZoomiOS); 3986 } else { 3987 handleMetaViewport(); 3988 } 3989 } 3990 } 3991 } 3992 3993 $(".fancy").fancybox({ 3994 openEffect: "fade", 3995 closeEffect: "fade", 3996 nextEffect: "fade", 3997 prevEffect: "fade", 3998 tpl: { 3999 closeBtn: 4000 '<a title="' + BX.message("FANCY_CLOSE") + '" class="fancybox-item fancybox-close" href="javascript:;"></a>', 4001 next: 4002 '<a title="' + 4003 BX.message("FANCY_NEXT") + 4004 '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', 4005 prev: 4006 '<a title="' + 4007 BX.message("FANCY_PREV") + 4008 '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', 4009 }, 4010 beforeLoad: function() {
4011 if (window.visualViewport.scale > 1) { 4012 return false; 4013 } 4014 }, 4015 beforeShow: function() { 4016 handlePinchZoom(true); 4017 }, 4018 beforeClose: function() { 4019 handlePinchZoom(); 4020 } 4021 }); 4022 4023 $(".tabs>li").on("click", function () { 4024 if (!$(this).hasClass("active")) { 4025 var sliderIndex = $(this).index(), 4026 curLiNav = $(this) 4027 .closest(".top_blocks") 4028 .find(".slider_navigation") 4029 .find(">li:eq(" + sliderIndex + ")"), 4030 curLi = $(this) 4031 .closest(".top_blocks") 4032 .siblings(".tabs_content") 4033 .find(">li:eq(" + sliderIndex + ")"); 4034 $(this).addClass("active").addClass("cur").siblings().removeClass("active").removeClass("cur"); 4035 curLi.addClass("cur").siblings().removeClass("cur"); 4036 curLiNav.addClass("cur").siblings().removeClass("cur"); 4037 4038 // //equal height 4039 // curLi 4040 // .find(".catalog_block .catalog_item_wrapp .catalog_item .item_info:visible .item-title") 4041 // .sliceHeight({ item: ".catalog_item:visible", resize: false, mobile: true }); 4042 // curLi 4043 // .find(".catalog_block .catalog_item_wrapp .catalog_item .item_info:visible") 4044 // .sliceHeight({ classNull: ".footer_button", item: ".catalog_item:visible", resize: false, mobile: true }); 4045 // curLi 4046 // .find(".catalog_block .catalog_item_wrapp .catalog_item:visible") 4047 // .sliceHeight({ classNull: ".footer_button", item: ".catalog_item:visible", resize: false, mobile: true }); 4048 } 4049 }); 4050 4051 /*search click*/ 4052 $(".search_block .icon").on("click", function () { 4053 var th = $(this); 4054 if ($(this).hasClass("open")) { 4055 $(this).closest(".center_block").find(".search_middle_block").removeClass("active"); 4056 $(this).removeClass("open"); 4057 $(this).closest(".center_block").find(".search_middle_block").find(".noborder").hide(); 4058 } else { 4059 setTimeout(function () { 4060 th.closest(".center_block").find(".search_middle_block").find(".noborder").show(); 4061 }, 100); 4062 $(this).closest(".center_block").find(".search_middle_block").addClass("active"); 4063 $(this).addClass("open"); 4064 } 4065 }); 4066 $(document).on("mouseenter", ".display_list .item_wrap", function () { 4067 $(this).prev().addClass("prev"); 4068 }); 4069 $(document).on("mouseleave", ".display_list .item_wrap", function () { 4070 $(this).prev().removeClass("prev"); 4071 }); 4072 $(document).on("mouseenter", ".catalog_block .item_wrap", function () { 4073 $(this).addClass("shadow_delay"); 4074 }); 4075 $(document).on("mouseleave", ".catalog_block .item_wrap", function () { 4076 $(this).removeClass("shadow_delay"); 4077 }); 4078 $(document).on("click", ".no_goods .button", function () { 4079 $(".bx_filter .smartfilter .bx_filter_search_reset").trigger("click"); 4080 }); 4081 4082 $(document).on("click", ".ajax_load_btn", function () { 4083 var url = $(this).closest(".container").find(".module-pagination .flex-direction-nav .flex-next").attr("href"), 4084 th = $(this).find(".more_text_ajax"); 4085 4086 var objUrl = parseUrlQuery(), 4087 add_url = "", 4088 bTabsBlock = false, 4089 obGetData = { ajax_get: "Y", AJAX_REQUEST: "Y" }; 4090 4091 th.addClass("loading"); 4092 4093 /*hit on front*/ 4094 if (th.closest(".tab_slider_wrapp.specials").length) { 4095 var curLi = $(this).closest(".tab"), 4096 url = th.closest(".tabs_content").data("url"); 4097 4098 bTabsBlock = true; 4099 obGetData.AJAX_POST = "Y"; 4100 obGetData.FILTER_HIT_PROP = curLi.data("code"); 4101 obGetData.AJAX_PARAMS = $(this).closest(".tab_slider_wrapp").find(".request-data").data("value"); 4102 obGetData.GLOBAL_FILTER = curLi.data("filter"); 4103 4104 add_url = "?PAGEN_1=" + curLi.find(".nav-inner-wrapper").data("page"); 4105 } 4106 /**/ 4107 4108 if ("clear_cache" in objUrl) { 4109 if (objUrl.clear_cache == "Y") { 4110 add_url += (add_url.length ? "&" : "?") + "clear_cache=Y"; 4111 } 4112 } 4113 4114 $.ajax({ 4115 url: url + add_url, 4116 // data: {"ajax_get": "Y"}, 4117 data: obGetData, 4118 type: bTabsBlock ? "POST" : "GET", 4119 success: function (html) { 4120 var new_html = $.parseHTML(html); 4121 th.removeClass("loading"); 4122 4123 /*hit on front*/ 4124 if (th.closest(".tab_slider_wrapp.specials").length) { 4125 curLi.find(".catalog_block").append(html); 4126 curLi.find(".catalog_block .wrap_nav").remove(); 4127 4128 // curLi 4129 // .find(".catalog_block .catalog_item_wrapp .catalog_item .item_info:visible .item-title") 4130 // .sliceHeight({ item: ".catalog_item:visible", mobile: true }); 4131 // curLi 4132 // .find(".catalog_block .catalog_item_wrapp .catalog_item .item_info:visible") 4133 // .sliceHeight({ item: ".catalog_item:visible", mobile: true }); 4134 // curLi 4135 // .find(".catalog_block .catalog_item_wrapp .catalog_item:visible") 4136 // .sliceHeight({ classNull: ".footer_button", item: ".catalog_item:visible", mobile: true }); 4137 4138 curLi.find(".bottom_nav").html($(html).find(".bottom_nav").html()); 4139 } else { 4140 if ($(".display_list").length) { 4141 $(".display_list").append(html); 4142 } else if ($(".block_list").length) { 4143 $(".block_list").append(html); 4144 touchItemBlock(".catalog_item a"); 4145 } else if ($(".module_products_list").length) { 4146 $(".module_products_list > tbody").append(html); 4147 } 4148 $(".bottom_nav").html($(html).find(".bottom_nav").html()); 4149 } 4150 setStatusButton(); 4151 initCountdown(); 4152 showTotalSummItem(); 4153 BX.onCustomEvent("onAjaxSuccess"); 4154 }, 4155 }); 4156 }); 4157 4158 $(document).on("click", ".bx_compare .tabs-head li", function () { 4159 var url = $(this).find(".sortbutton").data("href"); 4160 BX.showWait(BX("bx_catalog_compare_block")); 4161 $.ajax({ 4162 url: url, 4163 data: { ajax_action: "Y" }, 4164 success: function (html) { 4165 history.pushState(null, null, url); 4166 $("#bx_catalog_compare_block").html(html); 4167 BX.closeWait(); 4168 }, 4169 }); 4170 }); 4171 var hoveredTrs; 4172 $(document).on( 4173 { 4174 mouseover: function (e) { 4175 var _ = $(this); 4176 var tbodyIndex = _.closest("tbody").index() + 1; //+1 for nth-child 4177 var trIndex = _.index() + 1; // +1 for nth-child 4178 hoveredTrs = $(e.delegateTarget) 4179 .find(".data_table_props") 4180 .children(":nth-child(" + tbodyIndex + ")") 4181 .children(":nth-child(" + trIndex + ")") 4182 .addClass("hovered"); 4183 }, 4184 mouseleave: function (e) { 4185 if (hoveredTrs) hoveredTrs.removeClass("hovered"); 4186 }, 4187 }, 4188 ".bx_compare .data_table_props tbody>tr" 4189 ); 4190 $(document).on("click", ".fancy_offer", function (e) { 4191 e.preventDefault(); 4192 var arPict = []; 4193 $(".sliders .slides_block li").each(function () { 4194 var obImg = {}; 4195 obImg = { 4196 title: $(this).find("img").attr("alt"), 4197 href: $(this).data("big"), 4198 }; 4199 if ($(this).hasClass("current")) { 4200 arPict.unshift(obImg); 4201 } else { 4202 arPict.push(obImg); 4203 } 4204 }); 4205 $.fancybox(arPict, { 4206 openEffect: "fade", 4207 closeEffect: "fade", 4208 nextEffect: "fade", 4209 prevEffect: "fade", 4210 type: "image", 4211 tpl: { 4212 closeBtn: 4213 '<a title="' + BX.message("FANCY_CLOSE") + '" class="fancybox-item fancybox-close" href="javascript:;"></a>', 4214 next: 4215 '<a title="' + 4216 BX.message("FANCY_NEXT") + 4217 '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', 4218 prev: 4219 '<a title="' + 4220 BX.message("FANCY_PREV") + 4221 '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', 4222 }, 4223 beforeLoad: function() {
4224 if (window.visualViewport.scale > 1) { 4225 return false; 4226 } 4227 }, 4228 beforeShow: function() { 4229 handlePinchZoom(true); 4230 }, 4231 beforeClose: function() { 4232 handlePinchZoom(); 4233 } 4234 }); 4235 }); 4236 4237 /*tabs*/ 4238 $(document).on("click", ".tabs_section .tabs-head li", function(e, s) { 4239 if (!$(this).is(".current")) { 4240 $(".tabs_section .tabs-head li").removeClass("current"); 4241 $(this).addClass("current"); 4242 $(".tabs_section ul.tabs_content li").removeClass("current"); 4243 if ($(this).attr("id") == "product_reviews_tab") { 4244 $(".shadow.common").hide(); 4245 if (s === "slide") { 4246 $("#reviews_content").slideDown(200, function () {}); 4247 $(".tabs_section ul.tabs_content > li") 4248 .not(":eq(" + $(this).index() + ")") 4249 .find("> div + div") 4250 .slideUp(200, function () {}); 4251 var container = $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")"); 4252 container.find("> div + div").slideDown(200, function () { 4253 container.addClass("current"); 4254 }); 4255 } else { 4256 $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")").addClass("current"); 4257 $(".tabs_section ul.tabs_content > li") 4258 .not(":eq(" + $(this).index() + ")") 4259 .find("> div + div") 4260 .hide(); 4261 $("#for_product_reviews_tab").show(); 4262 $("#reviews_content").show(); 4263 } 4264 } else { 4265 $(".shadow.common").show(); 4266 if (s === "slide") { 4267 $(".tabs_section ul.tabs_content > li") 4268 .not(":eq(" + $(this).index() + ")") 4269 .find("> div + div") 4270 .slideUp(200, function () {}); 4271 var container = $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")"); 4272 container.find("> div + div").slideDown(200, function () { 4273 container.addClass("current"); 4274 }); 4275 } else { 4276 $("#reviews_content").hide(); 4277 $(".tabs_section ul.tabs_content > li > div + div").hide(); 4278 var container = $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")"); 4279 container.addClass("current"); 4280 container.find("> div + div").show(); 4281 } 4282 } 4283 } else if (s === "slide") { 4284 var container = $(".tabs_section ul.tabs_content > li:eq(" + $(this).index() + ")"); 4285 container.find("> div + div").slideUp(200, function () { 4286 $(".tabs_section .tabs-head li").removeClass("current"); 4287 $(".tabs_section ul.tabs_content li").removeClass("current"); 4288 }); 4289 } 4290 }); 4291 $(document).on("click", ".tabs_section .tabs-body li .title-tab-heading", function () { 4292 $(".tabs_section .tabs-head li:eq(" + $(this).parent("li").index() + ")").trigger("click", "slide"); 4293 }); 4294 /*open first section slide*/ 4295 setTimeout(function () { 4296 $(".jobs_wrapp .item:first .name tr").trigger("click"); 4297 }, 300); 4298 4299 $(document).on("click", ".buy_block .slide_offer", function () { 4300 scroll_block($(".tabs_section")); 4301 }); 4302 $(".share_wrapp .text").on("click", function () { 4303 $(this).parent().find(".shares").fadeToggle(); 4304 }); 4305 $(document).on("mousedown", "html, body", function (e) { 4306 e.stopPropagation(); 4307 $(".shares").fadeOut(); 4308 $(".search_middle_block").removeClass("active_wide"); 4309 }); 4310 // $(".share_wrapp") 4311 // .find("*") 4312 // .on("mousedown", function (e) { 4313 // e.stopPropagation(); 4314 // }); 4315 4316 $(document).on("mousedown", ".share_wrapp *", function (e) { 4317 e.stopPropagation(); 4318 }); 4319 4320 $(document).on("click", ".reviews-collapse-link", function () { 4321 $(".reviews-reply-form").slideToggle(); 4322 }); 4323 4324 initCountdown(); 4325 4326 /*adaptive menu start*/ 4327 $(".menu.adaptive").on("click", function () { 4328 $(this).toggleClass("opened"); 4329 if ($(this).hasClass("opened")) { 4330 $(".mobile_menu").toggleClass("opened").slideDown(); 4331 } else { 4332 $(".mobile_menu").toggleClass("opened").slideUp(); 4333 } 4334 }); 4335 /*$('.mobile_menu .has-child >a').on('click', function(e){ 4336 var parentLi=$(this).parent(); 4337 e.preventDefault(); 4338 parentLi.toggleClass('opened'); 4339 parentLi.find('.dropdown').slideToggle(); 4340 })*/ 4341 4342 $(".mobile_menu .has-child >div.toggle_mobile_menu").on("click", function (e) { 4343 var parentLi = $(this).parent(); 4344 e.preventDefault(); 4345 parentLi.toggleClass("opened"); 4346 parentLi.find(".dropdown").slideToggle(); 4347 }); 4348 4349 $(document).on("keyup", ".mobile_menu .search-input-div input", function (e) { 4350 var inputValue = $(this).val(); 4351 $(".center_block .stitle_form input").val(inputValue); 4352 if (e.keyCode == 13) { 4353 $(".center_block .stitle_form form").submit(); 4354 } 4355 }); 4356 4357 $(document).on("keyup", ".center_block .stitle_form input", function (e) { 4358 var inputValue = $(this).val(); 4359 $(".mobile_menu .search-input-div input").val(inputValue); 4360 if (e.keyCode == 13) { 4361 $(".center_block .stitle_form form").submit(); 4362 } 4363 }); 4364 4365 $(document).on("click", ".mobile_menu .search-button-div button", function (e) { 4366 e.preventDefault(); 4367 var inputValue = $(this).parents().find("input").val(); 4368 $(".center_block .stitle_form input").val(inputValue); 4369 $(".center_block .stitle_form form").submit(); 4370 }); 4371 /*adaptive menu end*/ 4372 4373 $(".btn.btn-add").on("click", function () { 4374 $.ajax({ 4375 type: "GET", 4376 url: arOptimusOptions["SITE_DIR"] + "ajax/clearBasket.php", 4377 success: function (data) {}, 4378 }); 4379 }); 4380 4381 //set cookie for basket link click 4382 $(document).on( 4383 "click", 4384 ".bx_ordercart_order_table_container .control > a, .basket-item-actions-remove, a[data-entity=basket-item-remove-delayed]", 4385 function (e) { 4386 $.removeCookie("click_basket", { path: "/" }); 4387 $.cookie("click_basket", "Y", { path: "/" }); 4388 } 4389 ); 4390 4391 /*detail order show payments*/ 4392 $(".sale-order-detail-payment-options-methods-info-change-link").on("click", function () { 4393 $(this).closest(".sale-order-detail-payment-options-methods-info").addClass("opened").siblings().addClass("opened"); 4394 }); 4395 4396 /*expand/hide filter values*/ 4397 $(document).on("click", ".expand_block", function () { 4398 togglePropBlock($(this)); 4399 }); 4400 4401 /*touch event*/ 4402 document.addEventListener( 4403 "touchend", 4404 function (event) { 4405 if (!$(event.target).closest(".menu_item_l1").length) { 4406 $(".menu .menu_item_l1 .child").css({ display: "none" }); 4407 $(".menu_item_l1").removeClass("hover"); 4408 } 4409 if (!$(event.target).closest(".basket_block").length) { 4410 $(".basket_block .link").removeClass("hover");
4411 $(".basket_block .basket_popup_wrapp").slideUp(); 4412 } 4413 if (!$(event.target).closest(".catalog_item").length) { 4414 var tabsContentUnhoverHover = $(".tab:visible").attr("data-unhover") * 1; 4415 if (tabsContentUnhoverHover) $(".tab:visible").stop().animate({ height: tabsContentUnhoverHover }, 100); 4416 $(".tab:visible").find(".catalog_item").removeClass("hover"); 4417 $(".tab:visible").find(".catalog_item .buttons_block").stop().fadeOut(233); 4418 if ($(".catalog_block").length) { 4419 $(".catalog_block").find(".catalog_item").removeClass("hover"); 4420 //$('.catalog_block').find('.catalog_item').blur(); 4421 } 4422 } 4423 //togglePropBlock($(event.target)); 4424 }, 4425 false 4426 ); 4427 4428 //touchItemBlock('.catalog_item a'); 4429 4430 $(document).on("keyup", ".coupon .input_coupon input", function () { 4431 if ($(this).val().length) { 4432 $(this).removeClass("error"); 4433 $(this).closest(".input_coupon").find(".error").remove(); 4434 } else { 4435 $(this).addClass("error"); 4436 $("<label class='error'>" + BX.message("INPUT_COUPON") + "</label>").insertBefore($(this)); 4437 } 4438 }); 4439 showPhoneMask("input[autocomplete=tel]"); 4440 BX.addCustomEvent(window, "onAjaxSuccess", function (e) { 4441 if (e != "OK") { 4442 initSelects(document); 4443 // InitLabelAnimation('#bx-soa-order-form'); 4444 InitOrderCustom(); 4445 showPhoneMask("input[autocomplete=tel]"); 4446 if ($("#content > .catalog_detail").length) { 4447 $(".bx_filter").remove(); 4448 } 4449 4450 InitFlexSlider(); 4451 4452 if (arOptimusOptions["PAGES"]["CATALOG_PAGE"]) { 4453 setStatusButton(); 4454 initCountdown(); 4455 } 4456 4457 if (arOptimusOptions["PAGES"]["ORDER_PAGE"]) { 4458 orderActions(e); 4459 } 4460 } 4461 }); 4462 BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) { 4463 console.log(response); 4464 }); 4465 4466 $.fn.iAppear = function (callback, options) { 4467 if (typeof $.fn.iAppear.useObserver === "undefined") { 4468 $.fn.iAppear.useObserver = 4469 typeof window["IntersectionObserver"] === "function"; 4470 4471 if (!$.fn.iAppear.useObserver && typeof $.fn.appear !== "function") { 4472 $.fn.iAppear.queue = []; 4473 BX.loadScript( 4474 arOptimusOptions.SITE_TEMPLATE_PATH + 4475 "/vendor/js/jquery.appear.js", 4476 function () { 4477 if (typeof $.fn.iAppear.queue === "object") { 4478 $.fn.iAppear.queue.forEach(function (queueItem) { 4479 $(queueItem.items).iAppear( 4480 queueItem.callback, 4481 queueItem.options 4482 ); 4483 }); 4484 } 4485 } 4486 ); 4487 4488 return; 4489 } 4490 } 4491 4492 if ($.fn.iAppear.useObserver) { 4493 var options = $.extend( 4494 { 4495 root: null, 4496 rootMargin: "150px 0px 150px 0px", 4497 threshold: 0.0, 4498 }, 4499 options 4500 ); 4501 4502 $(this).each(function (i, appearBlock) { 4503 var observer = new IntersectionObserver(function ( 4504 entries, 4505 observer 4506 ) { 4507 entries.forEach(function (element) { 4508 if ( 4509 element.intersectionRatio > 0 && 4510 !element.target.dataset.iAppeared 4511 ) { 4512 element.target.dataset.iAppeared = true; 4513 4514 if (typeof callback === "function") { 4515 callback.call(element.target); 4516 } 4517 } 4518 }); 4519 }, 4520 options); 4521 4522 observer.observe(appearBlock); 4523 }); 4524 } else { 4525 if (typeof $.fn.appear !== "function") { 4526 if ($(this).length) { 4527 $.fn.iAppear.queue.push({ 4528 items: this, 4529 callback: callback, 4530 options: options, 4531 }); 4532 } 4533 4534 return; 4535 } else { 4536 if ($(this).length) { 4537 $(this).each(function (i, appearBlock) { 4538 $(appearBlock).appear(function () { 4539 if (typeof callback === "function") { 4540 callback.call(appearBlock); 4541 } 4542 }, options); 4543 }); 4544 } 4545 } 4546 } 4547 }; 4548 4549 if ($(".appear-block").length) { 4550 $(".appear-block").iAppear( 4551 function () { 4552 const eventdata = { target: this }; 4553 BX.onCustomEvent("onAppearVideoBlockShow", [eventdata]); 4554 var $this = $(this); 4555 $this.removeClass("appear-block"); 4556 $this.find(".appear-block").removeClass("appear-block"); 4557 }, 4558 { 4559 rootMargin: "150px 0px 150px 0px", 4560 accX: 0, 4561 accY: 150, 4562 } 4563 ) 4564 } 4565}); 4566 4567if (!funcDefined("togglePropBlock")) { 4568 togglePropBlock = function (className) { 4569 var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values"); 4570 if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) { 4571 if (all_props_block.is(":visible")) { 4572 className.text(BX.message("FILTER_EXPAND_VALUES")); 4573 all_props_block.hide(); 4574 } else { 4575 className.text(BX.message("FILTER_HIDE_VALUES")); 4576 all_props_block.show(); 4577 } 4578 } 4579 }; 4580} 4581 4582if (!funcDefined("showPhoneMask")) { 4583 showPhoneMask = function (className) { 4584 $(className).inputmask("mask", { mask: arOptimusOptions["THEME"]["PHONE_MASK"], showMaskOnHover: false }); 4585 }; 4586} 4587 4588if (!funcDefined("parseUrlQuery")) { 4589 parseUrlQuery = function () { 4590 var data = {}; 4591 if (location.search) { 4592 var pair = location.search.substr(1).split("&"); 4593 for (var i = 0; i < pair.length; i++) { 4594 var param = pair[i].split("="); 4595 data[param[0]] = param[1]; 4596 } 4597 } 4598 return data; 4599 }; 4600} 4601 4602if (!funcDefined("getActualBasket")) { 4603 getActualBasket = function (iblockID, type) { 4604 var data = ""; 4605 if (typeof iblockID !== "undefined") { 4606 data = { iblockID: iblockID }; 4607 } 4608 $.ajax({ 4609 type: "GET", 4610 url: arOptimusOptions["SITE_DIR"] + "ajax/actualBasket.php", 4611 data: data, 4612 success: function (data) { 4613 if (!$(".js_ajax").length) $("body").append('<div class="js_ajax"></div>'); 4614 $(".js_ajax").html(data); 4615 4616 const eventdata = { action: "loadActualBasket" }; 4617 BX.onCustomEvent("onCompleteAction", [eventdata]); 4618 }, 4619 }); 4620 }; 4621} 4622 4623function touchMenu(selector) { 4624 if ($(window).outerWidth() > 600) { 4625 $(selector).each(function () { 4626 var th = $(this); 4627 th.on("touchend", function (e) { 4628 if (th.find(".child").length && !th.hasClass("hover")) { 4629 e.preventDefault(); 4630 e.stopPropagation(); 4631 th.siblings().removeClass("hover"); 4632 th.addClass("hover"); 4633 $(".menu .child").css({ display: "none" }); 4634 th.find(".child").css({ display: "block" }); 4635 } 4636 }); 4637 }); 4638 } else { 4639 $(selector).off(); 4640 } 4641} 4642function touchItemBlock(selector) { 4643 $(selector).each(function () { 4644 var th = $(this), 4645 item = th.closest(".catalog_item"); 4646 if (!th.closest(".best_block").length) { 4647 th.on("touchend", function (e) { 4648 if (!item.hasClass("hover")) { 4649 e.preventDefault(); 4650 // e.stopPropagation(); 4651 item.siblings().removeClass("hover"); 4652 item.siblings().blur(); 4653 item.closest(".catalog_block").find(".catalog_item").removeClass("hover"); 4654 item.addClass("hover"); 4655 item.addClass("touch"); 4656 4657 var tabsContentHover = th.closest(".tab").attr("data-hover") * 1, 4658 tabsContentUnhoverHover = th.closest(".tab").attr("data-unhover") * 1; 4659 4660 th.closest(".tab").stop().animate({ height: tabsContentUnhoverHover }, 100); 4661 th.closest(".catalog_item").siblings().find(".buttons_block").stop().fadeOut(233); 4662 4663 th.closest(".tab").fadeTo(100, 1); 4664 th.closest(".tab").stop().css({ height: tabsContentHover }); 4665 th.closest(".catalog_item").find(".buttons_block").fadeIn(450, "easeOutCirc"); 4666 } 4667 }); 4668 } 4669 }); 4670} 4671function touchBasket(selector) { 4672 if (arOptimusOptions["THEME"]["SHOW_BASKET_ONADDTOCART"] !== "N") { 4673 if ($(window).outerWidth() > 600) { 4674 $(document) 4675 .find(selector) 4676 .on("touchend", function (e) { 4677 if ($(this).parent().find(".basket_popup_wrapp").length && !$(this).hasClass("hover")) { 4678 e.preventDefault(); 4679 e.stopPropagation(); 4680 $(this).addClass("hover"); 4681 $(this).parent().find(".basket_popup_wrapp").slideDown(); 4682 } 4683 }); 4684 } else { 4685 $(selector).off(); 4686 } 4687 } 4688} 4689 4690function showTotalSummItem(popup) { 4691 //show total summ 4692 if (arOptimusOptions["THEME"]["SHOW_TOTAL_SUMM"] == "ALWAYS") { 4693 var parent = "body "; 4694 if (typeof popup === "string" && popup == "Y") parent = ".popup "; 4695 $(parent + ".counter_wrapp .counter_block input.text").each(function () { 4696 var _th = $(this); 4697 4698 if (_th.data("product")) { 4699 var obProduct = _th.data("product"); 4700 if (typeof window[obProduct] == "object") window[obProduct].setPriceAction("Y"); 4701 else setPriceItem(_th.closest(".main_item_wrapper"), _th.val()); 4702 } else setPriceItem(_th.closest(".main_item_wrapper"), _th.val()); 4703 }); 4704 } 4705} 4706 4707function initFull() { 4708 initSelects(document); 4709 initHoverBlock(document); 4710 // touchItemBlock('.catalog_item a'); 4711 // InitLabelAnimation('#bx-soa-order-form'); 4712 InitOrderCustom(); 4713 if (!$("html.print").length) checkStickyFooter(); 4714 else window.print(); 4715 4716 showTotalSummItem(); 4717 basketActions(); 4718 orderActions(); 4719} 4720if (!funcDefined("orderActions")) { 4721 orderActions = function (e) { 4722 if (arOptimusOptions["PAGES"]["ORDER_PAGE"]) { 4723 //phone 4724 if ($("#bx-soa-order input[autocomplete=tel]").length) { 4725 // get property phone 4726 for (var i = 0; i < BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties.length; ++i) { 4727 if (BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i].IS_PHONE == "Y") { 4728 var arPropertyPhone = BX.Sale.OrderAjaxComponent.result.ORDER_PROP.properties[i]; 4729 } 4730 } 4731 4732 // validate input type=tel 4733 if ( 4734 typeof BX.Sale.OrderAjaxComponent !== "undefined" && 4735 typeof BX.Sale.OrderAjaxComponent === "object" && 4736 typeof arPropertyPhone == "object" && 4737 arPropertyPhone 4738 ) { 4739 BX.Sale.OrderAjaxComponent.validatePhone = function (input, arProperty, fieldName) { 4740 if (!input || !arProperty) return []; 4741 4742 var value = input.value, 4743 errors = [], 4744 name = BX.util.htmlspecialchars(arProperty.NAME), 4745 field = BX.message("SOA_FIELD") + ' "' + name + '"', 4746 re; 4747 4748 if (arProperty.REQUIRED == "Y" && value.length == 0) { 4749 errors.push(field + " " + BX.message("SOA_REQUIRED")); 4750 } 4751 4752 if (arProperty.IS_PHONE == "Y" && value.length > 0) { 4753 function regexpPhone(value, element, regexp) { 4754 var re = new RegExp(regexp); 4755 return re.test(value); 4756 } 4757
4758 var validPhone = regexpPhone($(input).val(), $(input), arOptimusOptions["THEME"]["VALIDATE_PHONE_MASK"]); 4759 4760 if (!validPhone) { 4761 errors.push(field + " " + BX.message("JS_FORMAT_ORDER")); 4762 } 4763 } 4764 4765 return errors; 4766 }; 4767 4768 BX.Sale.OrderAjaxComponent.getValidationDataPhone = function (arProperty, propContainer) { 4769 var data = {}, 4770 inputs; 4771 switch (arProperty.TYPE) { 4772 case "STRING": 4773 data.action = "blur"; 4774 data.func = BX.delegate(function (input, fieldName) { 4775 return this.validatePhone(input, arProperty, fieldName); 4776 }, this); 4777 4778 inputs = propContainer.querySelectorAll("input[type=tel]"); 4779 if ($(inputs).length) { 4780 data.inputs = inputs; 4781 break; 4782 } 4783 } 4784 4785 return data; 4786 }; 4787 4788 BX.Sale.OrderAjaxComponent.bindValidationPhone = function (id, propContainer) { 4789 if (!this.validation.properties || !this.validation.properties[id]) return; 4790 4791 var arProperty = this.validation.properties[id], 4792 data = this.getValidationDataPhone(arProperty, propContainer), 4793 i, 4794 k; 4795 4796 if (data && data.inputs && data.action) { 4797 for (i = 0; i < $(data.inputs).length; i++) { 4798 if (BX.type.isElementNode(data.inputs[i])) { 4799 BX.bind( 4800 data.inputs[i], 4801 data.action, 4802 BX.delegate(function () { 4803 this.isValidProperty(data); 4804 }, this) 4805 ); 4806 } else { 4807 for (k = 0; k < $(data.inputs[i]).length; k++) 4808 BX.bind( 4809 data.inputs[i][k], 4810 data.action, 4811 BX.delegate(function () { 4812 this.isValidProperty(data); 4813 }, this) 4814 ); 4815 } 4816 } 4817 } 4818 }; 4819 4820 BX.Sale.OrderAjaxComponent.isValidPropertiesBlock = function (excludeLocation) { 4821 if (!this.options.propertyValidation) return []; 4822 4823 var props = this.orderBlockNode.querySelectorAll(".bx-soa-customer-field[data-property-id-row]"), 4824 propsErrors = [], 4825 id, 4826 propContainer, 4827 arProperty, 4828 data, 4829 i; 4830 4831 for (i = 0; i < props.length; i++) { 4832 id = props[i].getAttribute("data-property-id-row"); 4833 4834 if (!!excludeLocation && this.locations[id]) continue; 4835 4836 propContainer = props[i].querySelector(".soa-property-container"); 4837 if (propContainer) { 4838 arProperty = this.validation.properties[id]; 4839 data = this.getValidationData(arProperty, propContainer); 4840 dataPhone = this.getValidationDataPhone(arProperty, propContainer); 4841 data = $.extend({}, data, dataPhone); 4842 4843 propsErrors = propsErrors.concat(this.isValidProperty(data, true)); 4844 } 4845 } 4846 4847 return propsErrors; 4848 }; 4849 4850 // create input type=tel 4851 var input = $("input[autocomplete=tel]"), 4852 inputHTML = input[0].outerHTML, 4853 value = input.val(), 4854 newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="' + value + '"'); 4855 4856 if ($(input).length < 2) { 4857 input.hide(); 4858 $(newInput).insertAfter(input); 4859 } 4860 showPhoneMask("input[autocomplete=tel][type=tel]"); 4861 4862 // change value input type=text when change input type=tel 4863 $("input[autocomplete=tel][type=tel]").on("blur", function () { 4864 var $this = $(this); 4865 4866 var value = $this.val(); 4867 $this.parent().find("input[autocomplete=tel][type=text]").val(value); 4868 }); 4869 4870 BX.Sale.OrderAjaxComponent.bindValidationPhone(arPropertyPhone.ID, $("input[autocomplete=tel]").parent()[0]); 4871 } 4872 } 4873 4874 if ($(".bx-soa-cart-total").length) { 4875 if (!$(".change_basket").length) 4876 $(".bx-soa-cart-total").prepend( 4877 '<div class="change_basket">
4877' + 4878 BX.message("BASKET_CHANGE_TITLE") + 4879 '<a href="' + 4880 arOptimusOptions["SITE_DIR"] + 4881 'basket/" class="change_link">' + 4882 BX.message("BASKET_CHANGE_LINK") + 4883 "</a></div>" 4884 ); 4885 if (typeof BX.Sale.OrderAjaxComponent == "object") { 4886 if (arOptimusOptions["COUNTERS"]["USE_FULLORDER_GOALS"] !== "N") { 4887 if (typeof BX.Sale.OrderAjaxComponent.reachgoalbegin === "undefined") { 4888 BX.Sale.OrderAjaxComponent.reachgoalbegin = true; 4889 var eventdata = { goal: "goal_order_begin" }; 4890 // BX.onCustomEvent('onCounterGoals', [eventdata]) 4891 } 4892 } 4893 4894 // update oreder register form 4895 if ($(".bx-soa-section-content.reg").length && !$(".bx-soa-section-content.reg .redisigned").length) { 4896 var bRebindRegSubmit = false; 4897 4898 if (arOptimusOptions.THEME.LOGIN_EQUAL_EMAIL === "Y") { 4899 bRebindRegSubmit = true; 4900 4901 // update input NEW_LOGIN 4902 if ($('input[name="NEW_LOGIN"]').length) { 4903 $('input[name="NEW_LOGIN"]').closest(".bx-authform-formgroup-container").hide(); 4904 } 4905 } 4906 4907 if (bRebindRegSubmit) { 4908 // bind new handler for submit button 4909 var $regSubmit = $("#do_register~input[type=submit]"); 4910 if ($regSubmit.length) { 4911 BX.unbindAll($regSubmit[0]); 4912 $(document).on("click", "#do_register~input[type=submit]", function (e) { 4913 e.preventDefault(); 4914 e.stopImmediatePropagation(); 4915 4916 if (arOptimusOptions.THEME.LOGIN_EQUAL_EMAIL === "Y") { 4917 var email = BX.findChild(BX("bx-soa-auth"), { attribute: { name: "NEW_EMAIL" } }, true, false); 4918 var login = BX.findChild(BX("bx-soa-auth"), { attribute: { name: "NEW_LOGIN" } }, true, false); 4919 4920 if (login && email) { 4921 login.value = email.value; 4922 } 4923 } 4924 4925 BX("do_register").value = "Y"; 4926 BX.Sale.OrderAjaxComponent.sendRequest("showAuthForm"); 4927 }); 4928 } 4929 } 4930 4931 // update captcha 4932 var $captcha = $(".bx-soa-section-content.reg").find(".bx-captcha"); 4933 if ($captcha.length) { 4934 $captcha.addClass("captcha_image"); 4935 $captcha.append('<div class="captcha_reload"></div>'); 4936 $captcha 4937 .closest(".bx-authform-formgroup-container") 4938 .addClass("captcha-row") 4939 .find("input[name=captcha_word]") 4940 .closest(".bx-authform-input-container") 4941 .addClass("captcha_input") 4942 BX.onCustomEvent("onRenderCaptcha") 4943 } 4944 4945 // update input NEW_NAME && NEW_LAST_NAME 4946 if ($("input[name=NEW_NAME]").length && $("input[name=NEW_LAST_NAME]").length) { 4947 if (!$("input[name=NEW_NAME]").closest(".bx-authform-formgroup-container.col
4947-md-6").length) { 4948 $("input[name=NEW_NAME],input[name=NEW_LAST_NAME]") 4949 .closest(".bx-authform-formgroup-container") 4950 .addClass("col-md-6"); 4951 var html = $("input[name=NEW_LAST_NAME]") 4952 .closest(".bx-authform-formgroup-container") 4953 .wrap('<div id="trem_"></div>') 4954 .parent() 4955 .html(); 4956 $("#trem_").remove(); 4957 $(html).insertAfter( 4958 $("input[name=NEW_NAME]").closest(".bx-authform-formgroup-container").wrap('<div class="row"></div>') 4959 ); 4960 } 4961 } 4962 4963 // update input NEW_EMAIL && PHONE_NUMBER 4964 if ($("input[name=NEW_EMAIL]").length && $("input[name=PHONE_NUMBER]").length) { 4965 if (!$("input[name=PHONE_NUMBER]").closest(".bx-authform-formgroup-container.col-md-6").length) { 4966 $("input[name=NEW_EMAIL],input[name=PHONE_NUMBER]") 4967 .closest(".bx-authform-formgroup-container") 4968 .addClass("col-md-6"); 4969 var html = $("input[name=PHONE_NUMBER]") 4970 .closest(".bx-authform-formgroup-container") 4971 .wrap('<div id="trem_"></div>') 4972 .parent() 4973 .html(); 4974 $("#trem_").remove(); 4975 $(html).insertAfter( 4976 $("input[name=NEW_EMAIL]").closest(".bx-authform-formgroup-container").wrap('<div class="row"></div>') 4977 ); 4978 } 4979 } 4980 4981 // update input NEW_PASSWORD && NEW_PASSWORD_CONFIRM 4982 if ($("input[name=NEW_PASSWORD]").length && $("input[name=NEW_PASSWORD_CONFIRM]").length) { 4983 if (!$("input[name=NEW_PASSWORD]").closest(".bx-authform-formgroup-container.col
4983-md-6").length) { 4984 $("input[name=NEW_PASSWORD],input[name=NEW_PASSWORD_CONFIRM]") 4985 .closest(".bx-authform-formgroup-container") 4986 .addClass("col-md-6"); 4987 var html = $("input[name=NEW_PASSWORD_CONFIRM]") 4988 .closest(".bx-authform-formgroup-container") 4989 .wrap('<div id="trem_"></div>') 4990 .parent() 4991 .html(); 4992 $("#trem_").remove(); 4993 $(html).insertAfter( 4994 $("input[name=NEW_PASSWORD]") 4995 .closest(".bx-authform-formgroup-container") 4996 .wrap('<div class="row"></div>') 4997 ); 4998 } 4999 } 5000 5001 // update input PHONE_NUMBER 5002 if ($("input[name=PHONE_NUMBER]").length) { 5003 var input = $("input[name=PHONE_NUMBER]"), 5004 inputHTML = input[0].outerHTML, 5005 value = input.val(), 5006 newInput = input[0].outerHTML.replace('type="text"', 'type="tel" value="' + value + '"'); 5007 5008 if ($(input).length < 2) { 5009 input.hide(); 5010 $(newInput).insertAfter(input); 5011 5012 showPhoneMask("input[name=PHONE_NUMBER][type=tel]"); 5013 5014 $("input[name=PHONE_NUMBER][type=tel]").on("blur", function () { 5015 var $this = $(this); 5016 var value = $this.val(); 5017 $this.parent().find("input[name=PHONE_NUMBER][type=text]").val(value); 5018 }); 5019 5020 var $label = $("input[name=PHONE_NUMBER][type=tel]") 5021 .closest(".bx-authform-formgroup-container") 5022 .find(".bx-authform-label-container"); 5023 $label.html( 5024 BX.message("ORDER_PHONE_LABEL") + 5025 ($label.find(".bx-authform-starrequired").length 5026 ? '<span class="bx-authform-starrequired"> *</span>' 5027 : "") 5028 ); 5029 } 5030 } 5031 5032 $(".bx-soa-section-content.reg").append('<div class="redisigned hidden></div>'); 5033 } 5034 5035 const asproLicenceShow = arOptimusOptions["THEME"]["SHOW_LICENCE"] === "Y", 5036 asproLicenceChecked = arOptimusOptions["THEME"]["LICENCE_CHECKED"] === "Y"; 5037 5038 const asproOfferShow = arOptimusOptions["THEME"]["SHOW_OFFER"] === "Y", 5039 asproOfferChecked = arOptimusOptions["THEME"]["OFFER_CHECKED"] === "Y"; 5040 5041 if ($(".bx-soa-cart-total-line-total").length && (asproLicenceShow || asproOfferShow)) { 5042 if (typeof e === "undefined") { 5043 BX.Sale.OrderAjaxComponent.state_licence = asproLicenceChecked ? "checked" : ""; 5044 BX.Sale.OrderAjaxComponent.state_offer = asproOfferChecked ? "checked" : ""; 5045 } 5046 5047 if ( 5048 (!$(".licence_block.filter").length && asproLicenceShow) || 5049 (!$(".offer_block.filter").length && asproOfferShow) 5050 ) { 5051 $('<div class="form"><div class="license_order_wrap"></div></div>').insertBefore($("#bx-soa-orderSave")); 5052 5053 if (!$(".licence_block.filter").length && asproLicenceShow) 5054 $( 5055 '<div class="licence_block filter label_block"><label data-for="licenses_order" class="hidden error">' + 5056 BX.message("JS_REQUIRED_LICENSES") + 5057 '</label><input type="checkbox" name="licenses_order" required ' + 5058 BX.Sale.OrderAjaxComponent.state_licence + 5059 ' value="Y"><label data-for="licenses_order" class="license">' + 5060 BX.message("LICENSES_TEXT") + 5061 "</label></div>" 5062 ).appendTo($(".license_order_wrap")); 5063 5064 if (!$(".offer_block.filter").length && asproOfferShow) 5065 $( 5066 '<div class="offer_block filter label_block"><label data-for="offer_order" class="hidden error">' + 5067 BX.message("JS_REQUIRED_OFFER") + 5068 '</label><input type="checkbox" name="offer_order" required ' + 5069 BX.Sale.OrderAjaxComponent.state_offer + 5070 ' value="Y"><label data-for="offer_order" class="offer_pub">' + 5071 BX.message("OFFER_TEXT") + 5072 "</label></div>" 5073 ).appendTo($(".license_order_wrap")); 5074 5075 if (asproLicenceShow) { 5076 $(document).on("click", ".bx-soa .licence_block label.license", function () { 5077 const id = $(this).data("for"); 5078 $(".bx-soa .licence_block label.error").addClass("hidden"); 5079 if (!$("input[name=" + id + "]").prop("checked")) { 5080 $("input[name=" + id + "]").prop("checked", "checked"); 5081 BX.Sale.OrderAjaxComponent.state_licence = "checked"; 5082 } else { 5083 $("input[name=" + id + "]").prop("checked", ""); 5084 BX.Sale.OrderAjaxComponent.state_licence = ""; 5085 } 5086 }); 5087 } 5088 5089 if (asproOfferShow) { 5090 $(document).on("click", ".bx-soa .offer_block label.offer_pub", function () { 5091 const id = $(this).data("for"); 5092 5093 $(".bx-soa .offer_block label.error").addClass("hidden"); 5094 5095 if (!$("input[name=" + id + "]").prop("checked")) { 5096 $("input[name=" + id + "]").prop("checked", "checked"); 5097 BX.Sale.OrderAjaxComponent.state_licence = "checked"; 5098 } else { 5099 $("input[name=" + id + "]").prop("checked", ""); 5100 BX.Sale.OrderAjaxComponent.state_licence = ""; 5101 } 5102 }); 5103 } 5104 5105 $(document).on("click", ".lic_condition a", function () { 5106 if (BX.hasClass(BX("bx-soa-order"), "orderform--v1")) { 5107 if (BX.Sale.OrderAjaxComponent.isValidForm()) { 5108 BX.Sale.OrderAjaxComponent.animateScrollTo($(".licence_block, .offer_block")[0], 800, 50); 5109 } 5110 } else { 5111 const iCountErrors = BX.Sale.OrderAjaxComponent.isValidPropertiesBlock().length; 5112 5113 if (!BX.Sale.OrderAjaxComponent.activeSectionId || !iCountErrors) { 5114 BX.Sale.OrderAjaxComponent.animateScrollTo($(".licence_block, .offer_block")[0], 800, 50); 5115 } 5116 } 5117 }); 5118 } 5119 $("#bx-soa-orderSave, .bx-soa-cart-total-button-container").addClass("lic_condition"); 5120 5121 if ( 5122 typeof BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction === "undefined" && 5123 typeof BX.Sale.OrderAjaxComponent.clickOrderSaveAction !== "undefined" 5124 ) { 5125 BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction = BX.Sale.OrderAjaxComponent.clickOrderSaveAction; 5126 BX.Sale.OrderAjaxComponent.clickOrderSaveAction = function (event) { 5127 if ( 5128 ($('input[name="licenses_order"]').prop("checked") || asproLicenceShow === false) && 5129 ($('input[name="offer_order"]').prop("checked") || asproOfferShow === false) 5130 ) { 5131 $(".bx-soa .licence_block label.error").addClass("hidden"); 5132 $(".bx-soa .offer_block label.error").addClass("hidden"); 5133 5134 if (BX.Sale.OrderAjaxComponent.isValidForm()) { 5135 if (typeof BX.Sale.OrderAjaxComponent.allowOrderSave == "function") 5136 BX.Sale.OrderAjaxComponent.allowOrderSave(); 5137 if (typeof BX.Sale.OrderAjaxComponent.doSaveAction == "function") 5138 BX.Sale.OrderAjaxComponent.doSaveAction(); 5139 else BX.Sale.OrderAjaxComponent.oldClickOrderSaveAction(event); 5140 } 5141 } else { 5142 if (!$('input[name="licenses_order"]').prop("checked")) 5143 $(".bx-soa .licence_block label.error").removeClass("hidden"); 5144 5145 if (!$('input[name="offer_order"]').prop("checked")) 5146 $(".bx-soa .offer_block label.error").removeClass("hidden"); 5147 } 5148 }; 5149 if (BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox")) { 5150 if (typeof browser == "object") { 5151 if ("msie" in browser && browser.msie) 5152 $(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox")).remove(); 5153 else BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector(".checkbox").remove(); 5154 } 5155 } 5156 BX.unbindAll(BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector("a.btn-order-save")); 5157 BX.unbindAll(BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector("a.btn-order-save")); 5158 BX.unbindAll(BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector("a")); 5159 BX.bind( 5160 BX.Sale.OrderAjaxComponent.totalInfoBlockNode.querySelector("a.btn-order-save"), 5161 "click", 5162 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 5163 ); 5164 BX.bind( 5165 BX.Sale.OrderAjaxComponent.mobileTotalBlockNode.querySelector("a.btn-order-save"), 5166 "click", 5167 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 5168 ); 5169 BX.bind( 5170 BX.Sale.OrderAjaxComponent.orderSaveBlockNode.querySelector("a"), 5171 "click", 5172 BX.proxy(BX.Sale.OrderAjaxComponent.clickOrderSaveAction, BX.Sale.OrderAjaxComponent) 5173 ); 5174 } 5175 5176 /*$('.bx-soa-cart-total .licence_block label.license').on('click', function(){ 5177 var id = $(this).data('for'); 5178 $('.bx-soa-cart-total .licence_block label.error').addClass('hidden'); 5179 if(!$('input[name='+id+']').prop('checked')){ 5180 $('input[name='+id+']').prop('checked', 'checked'); 5181 BX.Sale.OrderAjaxComponent.state_licence = 'checked'; 5182 } 5183 else{ 5184 $('input[name='+id+']').prop('checked', ''); 5185 BX.Sale.OrderAjaxComponent.state_licence = ''; 5186 } 5187 })*/ 5188 } 5189 if (BX.Sale.OrderAjaxComponent.hasOwnProperty("params")) { 5190 $(".bx-soa-cart-total .change_link").attr("href", BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET); 5191 if (arOptimusOptions["PRICES"]["MIN_PRICE"]) { 5192 if ( 5193 arOptimusOptions["PRICES"]["MIN_PRICE"] > Number(BX.Sale.OrderAjaxComponent.result.TOTAL.ORDER_PRICE) 5194 ) { 5195 $('<div class="fademask_ext"></div>').appendTo($("body")); 5196 location.href = BX.Sale.OrderAjaxComponent.params.PATH_TO_BASKET; 5197 } 5198 } 5199 } 5200 5201 // fix hide total block 5202 //BX.removeClass(BX.Sale.OrderAjaxComponent.totalInfoBlockNode, 'bx-soa-cart-total-fixed'); 5203 $(window).scroll(); 5204 5205 if (checkCounters() && typeof BX.Sale.OrderAjaxComponent.oldSaveOrder === "undefined") { 5206 var saveFunc = 5207 typeof BX.Sale.OrderAjaxComponent.saveOrder !== "undefined" ? "saveOrder" : "saveOrderWithJson"; 5208 if (typeof BX.Sale.OrderAjaxComponent[saveFunc] !== "undefined") { 5209 BX.Sale.OrderAjaxComponent.oldSaveOrder = BX.Sale.OrderAjaxComponent[saveFunc]; 5210 BX.Sale.OrderAjaxComponent[saveFunc] = function (result) { 5211 var res = BX.parseJSON(result); 5212 if (res && res.order) { 5213 if (!res.order.SHOW_AUTH) { 5214 if ( 5215 res.order.REDIRECT_URL && 5216 res.order.REDIRECT_URL.length && 5217 (!res.order.ERROR || BX.util.object_keys(res.order.ERROR).length < 1) 5218 ) { 5219 if ( 5220 (arMatch = res.order.REDIRECT_URL.match(/ORDER_ID\=[^&=]*/g)) && 5221 arMatch.length && 5222 (_id = arMatch[0].replace(/ORDER_ID\=/g, "", arMatch[0])) 5223 ) { 5224 $.ajax({ 5225 url: arOptimusOptions["SITE_DIR"] + "ajax/check_order.php", 5226 dataType: "json", 5227 type: "POST", 5228 data: { ID: _id }, 5229 success: function (id) { 5230 if (parseInt(id)) { 5231 purchaseCounter(parseInt(id), BX.message("FULL_ORDER"), function (d) { 5232 if (typeof d == "object") { 5233 if (typeof BX.localStorage !== "undefined") { 5234 BX.localStorage.set("gtm_e_" + _id, d, 60); 5235 } 5236 } 5237 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5238 }); 5239 } else { 5240 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5241 } 5242 }, 5243 error: function () { 5244 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5245 }, 5246 }); 5247 } else { 5248 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5249 } 5250 } else { 5251 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5252 } 5253 } else { 5254 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5255 } 5256 } else { 5257 BX.Sale.OrderAjaxComponent.oldSaveOrder(result); 5258 } 5259 }; 5260 } 5261 } 5262 } 5263 $(".bx-ui-sls-quick-locations.quick-locations").on("click", function () { 5264 $(this).siblings().removeClass("active"); 5265 $(this).addClass("active"); 5266 }); 5267 } 5268 } 5269 }; 5270} 5271 5272if (!funcDefined("basketActions")) { 5273 basketActions = function () { 5274 if (arOptimusOptions["PAGES"]["BASKET_PAGE"]) { 5275 checkMinPrice(); 5276 5277 //remove4Cart 5278 if (typeof BX.Sale !== "undefined" && typeof BX.Sale === "object") { 5279 if (typeof BX.Sale.BasketComponent !== "undefined" && typeof BX.Sale.BasketComponent === "object") { 5280 $(document).on("click", ".basket-item-actions-remove", function () { 5281 var basketID = $(this).closest(".basket-items-list-item-container").data("id"); 5282 delFromBasketCounter(BX.Sale.BasketComponent.items[basketID].PRODUCT_ID); 5283 }); 5284 } 5285 } 5286 5287 if (location.hash) { 5288 var hash = location.hash.substring(1); 5289 if ($("#basket_toolbar_button_" + hash).length) { 5290 $("#basket_toolbar_button_" + hash).trigger("click"); 5291 } 5292 } 5293 5294 $(".bx_sort_container").append( 5295 '<div class="top_control basket_sort"><span style="display:none;" class="delete_all button grey_br transparent remove_all_basket">
5295' + 5296 BX.message("BASKET_CLEAR_ALL_BUTTON") + 5297 "</span></div>" 5298 ); 5299 if ($(".basket-items-list-header-filter").length) { 5300 $(".basket-items-list-header-filter").append( 5301 '<div class="top_control basket_sort"><span style="opacity:1;" class="delete_all button grey_br transparent remove_all_basket">' + 5302 BX.message("BASKET_CLEAR_ALL_BUTTON") + 5303 "</span></div>" 5304 ); 5305 5306 var cur_index = $(".basket-items-list-header-filter > a.active").index(); 5307 //fix delayed 5308 if (cur_index == 3) cur_index = 2; 5309 5310 if ($(".basket-items-list-header-filter > a.active").data("filter") == "all") cur_index = "all"; 5311 5312 $(".basket-items-list-header-filter .top_control .delete_all").data("type", cur_index); 5313 5314 $(".basket-items-list-header-filter > a").on("click", function () { 5315 var index = $(this).index(); 5316 5317 //fix delayed 5318 if (index == 3) index = 2; 5319 5320 if ($(this).data("filter") == "all") index = "all"; 5321 5322 $(".basket-items-list-header-filter .top_control .delete_all").data("type", index); 5323 }); 5324 5325 if (arOptimusOptions["THEME"]["SHOW_BASKET_PRINT"] == "Y") { 5326 $( 5327 '<span class="basket_sort"><span class="basket_print button grey_br transparent">' + 5328 BX.message("BASKET_PRINT_BUTTON") + 5329 "</span></span>" 5330 ).insertAfter($("#pagetitle")); 5331 } 5332 } else { 5333 if (arOptimusOptions["THEME"]["SHOW_BASKET_PRINT"] == "Y") { 5334 $(".bx_sort_container .top_control").prepend( 5335 '<span class="basket_print button grey_br transparent">' + BX.message("BASKET_PRINT_BUTTON") + "</span>" 5336 ); 5337 } 5338 5339 var cur_index = $(".bx_sort_container a.current").index(); 5340 $(".bx_sort_container .top_control .delete_all").data("type", cur_index); 5341 if ($(".bx_ordercart > div:eq(" + cur_index + ") table tbody tr td.item").length) 5342 $(".bx_sort_container .top_control .delete_all").css("display", "block"); 5343 5344 $(".bx_ordercart .bx_ordercart_coupon #coupon").wrap('<div class="input"></div>'); 5345 5346 $(".bx_sort_container > a").on("click", function () { 5347 var index = $(this).index(); 5348 $(".bx_sort_container .top_control .delete_all").data("type", index); 5349 5350 if ($(".bx_ordercart > div:eq(" + index + ") table tbody tr td.item").length) 5351 $(".bx_sort_container .top_control .delete_all").css("display", "block"); 5352 else $(".bx_sort_container .top_control .delete_all").css("display", "none"); 5353 }); 5354 } 5355 5356 $(".basket_print").on("click", function () { 5357 // window.open(location.pathname+"?print=Y",'_blank'); 5358 window.print(); 5359 }); 5360 5361 $(".delete_all").on("click", function () { 5362 if (arOptimusOptions["COUNTERS"]["USE_BASKET_GOALS"] !== "N") { 5363 var eventdata = { goal: "goal_basket_clear", params: { type: $(this).data("type") } }; 5364 BX.onCustomEvent("onCounterGoals", [eventdata]); 5365 } 5366 $.post( 5367 arOptimusOptions["SITE_DIR"] + "ajax/action_basket.php", 5368 "TYPE=" + $(this).data("type") + "&CLEAR_ALL=Y", 5369 $.proxy(function (data) { 5370 location.reload(); 5371 }) 5372 ); 5373 }); 5374 5375 $(".bx_item_list_section .bx_catalog_item").sliceHeight({ row: ".bx_item_list_slide", item: ".bx_catalog_item" }); 5376 5377 $(document).on( 5378 "click", 5379 ".bx_ordercart_order_pay_center .checkout, .basket-checkout-section-inner .basket-btn-checkout", 5380 function () { 5381 if (checkCounters("google")) { 5382 checkoutCounter(1, "start order"); 5383 } 5384 } 5385 ); 5386 5387 BX.addCustomEvent("onAjaxSuccess", function () { 5388 checkMinPrice(); 5389 5390 var errorText = $.trim($("#warning_message").text()); 5391 $("#basket_items_list .error_text").detach(); 5392 if (errorText != "") { 5393 $("#warning_message").hide().text(""); 5394 $("#basket_items_list").prepend('<div class="error_text">' + errorText + "</div>"); 5395 } 5396 }); 5397 } 5398 }; 5399} 5400 5401if (!funcDefined("checkMinPrice")) { 5402 checkMinPrice = function () { 5403 if (arOptimusOptions["PAGES"]["BASKET_PAGE"]) { 5404 var summ_raw = 0, 5405 summ = 0; 5406 if ($("#allSum_FORMATED").length) { 5407 summ_raw = $("#allSum_FORMATED") 5408 .text() 5409 .replace(/[^0-9\.,]/g, ""); 5410 summ = parseFloat(summ_raw); 5411 if ($("#basket_items").length) { 5412 var summ = 0; 5413 $("#basket_items tr").each(function () { 5414 if (typeof $(this).data("item-price") !== "undefined" && $(this).data("item-price")) 5415 summ += 5416 $(this).data("item-price") * 5417 $(this) 5418 .find("#QUANTITY_INPUT_" + $(this).attr("id")) 5419 .val(); 5420 }); 5421 } 5422 if (!$(".catalog_back").length) 5423 $(".bx_ordercart_order_pay_center").prepend( 5424 '<a href="' + 5425 arOptimusOptions["PAGES"]["CATALOG_PAGE_URL"] + 5426 '" class="catalog_back button transparent big_btn grey_br">' + 5427 BX.message("BASKET_CONTINUE_BUTTON") + 5428 "</a>" 5429 ); 5430 } 5431 5432 if (arOptimusOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y") 5433 $(".basket-coupon-section").addClass("smallest"); 5434 5435 if (typeof BX.Sale !== "undefined") { 5436 if (typeof BX.Sale.BasketComponent !== "undefined" && "result" in BX.Sale.BasketComponent) 5437 summ = BX.Sale.BasketComponent.result.allSum; 5438 } 5439 5440 if (arOptimusOptions["PRICES"]["MIN_PRICE"]) { 5441 if (arOptimusOptions["PRICES"]["MIN_PRICE"] > summ) { 5442 if ($(".oneclickbuy.fast_order").length) $(".oneclickbuy.fast_order").remove(); 5443 5444 if ($(".basket-checkout-container").length) { 5445 if (!$(".icon_error_wrapper").length) { 5446 $(".basket-checkout-block.basket-checkout-block-btn").html( 5447 '<div class="icon_error_wrapper"><div class="icon_error_block">' + 5448 BX.message("MIN_ORDER_PRICE_TEXT").replace( 5449 "#PRICE#", 5450 jsPriceFormat(arOptimusOptions["PRICES"]["MIN_PRICE"]) 5451 ) + 5452 "</div></div>" 5453 ); 5454 } 5455 } else { 5456 if (!$(".icon_error_wrapper").length) { 5457 $(".bx_ordercart_order_pay_center").prepend( 5458 '<div class="icon_error_wrapper"><div class="icon_error_block">' + 5459 BX.message("MIN_ORDER_PRICE_TEXT").replace( 5460 "#PRICE#", 5461 jsPriceFormat(arOptimusOptions["PRICES"]["MIN_PRICE"]) 5462 ) + 5463 "</div></div>" 5464 ); 5465 } 5466 if ($(".bx_ordercart_order_pay .checkout").length) $(".bx_ordercart_order_pay .checkout").remove(); 5467 } 5468 } else { 5469 if ($(".icon_error_wrapper").length) $(".icon_error_wrapper").remove(); 5470 5471 if ($(".basket-checkout-container").length) { 5472 if ( 5473 !$(".oneclickbuy.fast_order").length && 5474 arOptimusOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && 5475 !$(".basket-btn-checkout.disabled").length 5476 ) 5477 $(".basket-checkout-section-inner").append( 5478 '<div class="fastorder"><span class="oneclickbuy button big_btn fast_order" onclick="oneClickBuyBasket()">' + 5479 BX.message("BASKET_QUICK_ORDER_BUTTON") + 5480 "</span></div>" 5481 ); 5482 } else { 5483 if ($(".bx_ordercart_order_pay .checkout").length) 5484 $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1"); 5485 else 5486 $(".bx_ordercart_order_pay_center").append( 5487 '<a href="javascript:void(0)" onclick="checkOut();" class="checkout" style="opacity: 1;">' + 5488 BX.message("BASKET_ORDER_BUTTON") + 5489 "</a>" 5490 ); 5491 if ( 5492 !$(".oneclickbuy.fast_order").length && 5493 arOptimusOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" 5494 ) 5495 $(".bx_ordercart_order_pay_center").append( 5496 '<span class="oneclickbuy button big_btn fast_order" onclick="oneClickBuyBasket()">' + 5497 BX.message("BASKET_QUICK_ORDER_BUTTON") + 5498 "</span>" 5499 ); 5500 } 5501 } 5502 } else { 5503 if ($(".basket-checkout-container").length) { 5504 if ( 5505 !$(".oneclickbuy.fast_order").length && 5506 arOptimusOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" && 5507 !$(".basket-btn-checkout.disabled").length 5508 ) 5509 $(".basket-checkout-section-inner").append( 5510 '<div class="fastorder"><span class="oneclickbuy button big_btn fast_order" onclick="oneClickBuyBasket()">' + 5511 BX.message("BASKET_QUICK_ORDER_BUTTON") + 5512 "</span></div>" 5513 ); 5514 } else { 5515 $(".bx_ordercart .bx_ordercart_order_pay .checkout").css("opacity", "1"); 5516 if ( 5517 !$(".oneclickbuy.fast_order").length && 5518 arOptimusOptions["THEME"]["SHOW_ONECLICKBUY_ON_BASKET_PAGE"] == "Y" 5519 ) 5520 $(".bx_ordercart_order_pay_center").append( 5521 '<span class="oneclickbuy button big_btn fast_order" onclick="oneClickBuyBasket()">' + 5522 BX.message("BASKET_QUICK_ORDER_BUTTON") + 5523 "</span>" 5524 ); 5525 } 5526 } 5527 $("#basket-root .basket-checkout-container").addClass("visible"); 5528 } 5529 }; 5530} 5531 5532var isFrameDataReceived = false;
5533if (typeof window.frameCacheVars !== "undefined") { 5534 BX.addCustomEvent("onFrameDataReceived", function (json) { 5535 initFull(); 5536 isFrameDataReceived = true; 5537 }); 5538} else { 5539 $(document).ready(initFull); 5540} 5541 5542if (!funcDefined("setHeightBlockSlider")) { 5543 setHeightBlockSlider = function () { 5544 var sliderWidth = $(document).find(".specials.tab_slider_wrapp").outerWidth(); 5545 5546 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").css("height", ""); 5547 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider .buttons_block").hide(); 5548 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item-title" }); 5549 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".item_info" }); 5550 $(document).find(".specials.tab_slider_wrapp .tabs_content > li.cur").equalize({ children: ".catalog_item" }); 5551 var itemsButtonsHeight = $(document) 5552 .find(".specials.tab_slider_wrapp .tabs_content .tab.cur .tabs_slider li .buttons_block") 5553 .height(); 5554 var tabsContentUnhover = $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").height() * 1; 5555 var tabsContentHover = tabsContentUnhover + itemsButtonsHeight + 50; 5556 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-unhover", tabsContentUnhover); 5557 $(document).find(".specials.tab_slider_wrapp .tabs_content .tab.cur").attr("data-hover", tabsContentHover); 5558 $(document).find(".specials.tab_slider_wrapp .tabs_content").height(tabsContentUnhover); 5559 5560 $(document) 5561 .find(".specials.tab_slider_wrapp .tabs_content .tabs_slider") 5562 .each(function (index, el) { 5563 const height = $(this).find(".catalog_item").height(); 5564 $(el).attr("data-height", height); 5565 }); 5566 }; 5567} 5568 5569if (!funcDefined("checkStickyFooter")) { 5570 checkStickyFooter = function () { 5571 try { 5572 ignoreResize.push(true); 5573 $("#content").css("min-height", ""); 5574 var contentTop = 0; 5575 if ($("#content").length) contentTop = $("#content").offset().top; 5576 5577 var contentBottom = contentTop + $("#content").outerHeight(); 5578 5579 var footerTop = 0; 5580 if ($("footer").length) footerTop = $("footer").offset().top; 5581 5582 $("#content").css( 5583 "min-height", 5584 $(window).height() - contentTop - (footerTop - contentBottom) - $("footer").outerHeight() + "px" 5585 ); 5586 ignoreResize.pop(); 5587 } catch (e) { 5588 console.error(e); 5589 } 5590 }; 5591} 5592 5593/* EVENTS */ 5594var timerResize = false, 5595 ignoreResize = []; 5596$(window).resize(function () { 5597 if (!$("html.print").length) checkStickyFooter(); 5598 5599 // here immediate functions 5600 if (!ignoreResize.length) { 5601 if (timerResize) { 5602 clearTimeout(timerResize); 5603 timerResize = false; 5604 } 5605 timerResize = setTimeout(function () { 5606 // here delayed functions in event 5607 BX.onCustomEvent("onWindowResize", false); 5608 }, 50); 5609 } 5610}); 5611 5612var timerScroll = false, 5613 ignoreScroll = [], 5614 documentScrollTopLast = $(document).scrollTop(); 5615$(window).scroll(function () { 5616 // here immediate functions 5617 documentScrollTopLast = $(document).scrollTop(); 5618 if (!ignoreScroll.length) { 5619 if (timerScroll) { 5620 clearTimeout(timerScroll); 5621 timerScroll = false; 5622 } 5623 timerScroll = setTimeout(function () { 5624 // here delayed functions in event 5625 BX.onCustomEvent("onWindowScroll", false); 5626 }, 50); 5627 } 5628}); 5629 5630BX.addCustomEvent("onWindowResize", function (eventdata) { 5631 try { 5632 ignoreResize.push(true); 5633 5634 // CheckTopMenuFullCatalogSubmenu(); 5635 5636 checkScrollToTop(); 5637 //checkPopupWidth(); 5638 checkCaptchaWidth(); 5639 checkFormWidth(); 5640 checkFormControlWidth(); 5641 touchMenu("ul.menu:not(.opened) > li.menu_item_l1"); 5642 touchBasket(".cart:not(.empty_cart) .basket_block .link"); 5643 CheckObjectsSizes(); 5644 5645 if (funcDefined("checkMobileFilter")) { 5646 checkMobileFilter(); 5647 } 5648 5649 CheckFlexSlider(); 5650 5651 // InitZoomPict(); 5652 initSly(); 5653 5654 if (window.matchMedia("(min-width: 767px)").matches) { 5655 $(".wrapper_middle_menu.wrap_menu").removeClass("mobile"); 5656 } 5657 if (window.matchMedia("(max-width: 767px)").matches) { 5658 $(".wrapper_middle_menu.wrap_menu").addClass("mobile"); 5659 } 5660 5661 if ($(window).outerWidth() > 600) { 5662 $("#header ul.menu").removeClass("opened").css("display", ""); 5663 5664 if ($(".authorization-cols").length) { 5665 $(".authorization-cols").equalize({ children: ".col .auth-title", reset: true }); 5666 $(".authorization-cols").equalize({ children: ".col .form-block", reset: true }); 5667 } 5668 } else { 5669 $(".authorization-cols .auth-title").css("height", ""); 5670 $(".authorization-cols .form-block").css("height", ""); 5671 } 5672 5673 if ($("#basket_form").length && $(window).outerWidth() <= 600) { 5674 $("#basket_form .tabs_content.basket > li.cur td").each(function () { 5675 $(this).css("width", ""); 5676 }); 5677 } 5678 5679 if ($(".front_slider_wrapp").length) { 5680 $(".extended_pagination li i").each(function () { 5681 $(this).css({ 5682 borderBottomWidth: $(this).parent("li").outerHeight() / 2, 5683 borderTopWidth: $(this).parent("li").outerHeight() / 2, 5684 }); 5685 }); 5686 } 5687 5688 setHeightCompany(); 5689 $(".bx_filter_section .bx_filter_select_container").each(function () { 5690 var prop_id = $(this).closest(".bx_filter_parameters_box").attr("property_id"); 5691 if ($("#smartFilterDropDown" + prop_id).length) { 5692 $("#smartFilterDropDown" + prop_id).css("max-width", $(this).width()); 5693 } 5694 }); 5695 setTimeout(function () { 5696 checkVerticalMobileFilter(); 5697 }, 100); 5698 } catch (e) { 5699 } finally { 5700 ignoreResize.pop(); 5701 } 5702}); 5703 5704BX.addCustomEvent("onWindowScroll", function (eventdata) { 5705 try { 5706 ignoreScroll.push(true); 5707 } catch (e) { 5708 } finally { 5709 ignoreScroll.pop(); 5710 } 5711}); 5712 5713BX.addCustomEvent("onSlideInit", function (eventdata) { 5714 try { 5715 ignoreResize.push(true); 5716 if (eventdata) { 5717 var slider = eventdata.slider; 5718 if (slider) { 5719 if (slider.hasClass("viewed")) { 5720 $(".viewed_block .rows_block .item .item-title").sliceHeight({ 5721 outer: true, 5722 slice: 8, 5723 autoslicecount: false, 5724 }); 5725 $(".viewed_block .rows_block .item").sliceHeight({ slice: 8, autoslicecount: false }); 5726 } 5727 } 5728 } 5729 } catch (e) { 5730 } finally { 5731 ignoreResize.pop(); 5732 } 5733}); 5734 5735BX.addCustomEvent("onCounterGoals", function (eventdata) { 5736 if (arOptimusOptions["COUNTERS"]["USE_YA_COUNTER"] === "Y") { 5737 var idCounter = arOptimusOptions["COUNTERS"]["YA_COUNTER_ID"]; 5738 idCounter = parseInt(idCounter); 5739 5740 if (typeof eventdata != "object") { 5741 eventdata = { goal: "undefined" }; 5742 } 5743 if (typeof eventdata.goal != "string") { 5744 eventdata.goal = "undefined"; 5745 } 5746 5747 if (idCounter) {
5748 try { 5749 waitCounter(idCounter, 50, function () { 5750 var obCounter = window["yaCounter" + idCounter]; 5751 if (typeof obCounter == "object") { 5752 obCounter.reachGoal(eventdata.goal); 5753 } 5754 }); 5755 } catch (e) { 5756 console.error(e); 5757 } 5758 } else { 5759 console.info("Bad counter id!", idCounter); 5760 } 5761 } 5762}); 5763 5764var onCaptchaVerifyinvisible = function (response) { 5765 $(".g-recaptcha:last").each(function () { 5766 var id = $(this).attr("data-widgetid"); 5767 if (typeof id !== "undefined" && response) { 5768 if (!$(this).closest("form").find(".g-recaptcha-response").val()) 5769 $(this).closest("form").find(".g-recaptcha-response").val(response); 5770 if ($("iframe[src*=recaptcha]").length) { 5771 $("iframe[src*=recaptcha]").each(function () { 5772 var block = $(this).parent().parent(); 5773 if (!block.hasClass("grecaptcha-badge")) block.remove(); 5774 }); 5775 } 5776 $(this).closest("form").submit(); 5777 } 5778 }); 5779}; 5780 5781var onCaptchaVerifynormal = function (response) { 5782 $(".g-recaptcha").each(function () { 5783 var id = $(this).attr("data-widgetid"); 5784 if (typeof id !== "undefined") { 5785 if (grecaptcha.getResponse(id) != "") { 5786 $(this).closest("form").find(".recaptcha").valid(); 5787 } 5788 } 5789 }); 5790}; 5791 5792BX.addCustomEvent("onSubmitForm", function (eventdata) { 5793 try { 5794 if ( 5795 !window.renderRecaptchaById || 5796 !window.asproRecaptcha || 5797 !window.asproRecaptcha.key 5798 ) { 5799 eventdata.form.submit(); 5800 $(eventdata.form).closest(".form").addClass("sending"); 5801 return true; 5802 } 5803 if ( 5804 window.asproRecaptcha.params.recaptchaSize == "invisible" && 5805 $(eventdata.form).find(".g-recaptcha").length 5806 ) { 5807 console.log('here'); 5808 5809 if ($(eventdata.form).find(".g-recaptcha-response").val()) { 5810 eventdata.form.submit(); 5811 $(eventdata.form).closest(".form").addClass("sending"); 5812 return true; 5813 } else { 5814 if (typeof grecaptcha != "undefined") { 5815 grecaptcha.execute( 5816 $(eventdata.form).find(".g-recaptcha").data("widgetid") 5817 ); 5818 } else { 5819 return false; 5820 } 5821 } 5822 } else if ( 5823 $(eventdata.form).find(".g-recaptcha").length && 5824 window.asproRecaptcha.ver === "3" && 5825 typeof grecaptcha != "undefined" 5826 ) { 5827 grecaptcha 5828 .execute(window.asproRecaptcha.key, { action: "maxscore" }) 5829 .then(function (token) { 5830 $(eventdata.form).find(".g-recaptcha-response").html(token); 5831 eventdata.form.submit(); 5832 $(eventdata.form).closest(".form").addClass("sending"); 5833 5834 return true; 5835 }); 5836 } else { 5837 eventdata.form.submit(); 5838 $(eventdata.form).closest(".form").addClass("sending"); 5839 return true; 5840 } 5841} catch (e) { 5842 console.error(e); 5843 return true; 5844} 5845}); 5846 5847$(document).ready(function () { 5848 /* --- Bind mobile filter --- */ 5849 var $mobilefilter = $("#mobilefilter"); 5850 var $mobileMenu = $("#mobilemenu, #mobileheadersimple"); 5851 if ($mobilefilter.length && window.matchMedia("(max-width: 768px)").matches) { 5852 $mobilefilter.isOpen = $mobileMenu.hasClass("show"); 5853 $mobilefilter.isAppendLeft = false; 5854 $mobilefilter.isWrapFilter = false; 5855 $mobilefilter.isHorizontalOrCompact = $(".filter_horizontal").length || $(".bx_filter_vertical.compact").length; 5856 $mobilefilter.close = '<i class="svg svg-close close-icons"></i>'; 5857 5858 $(document).on("click", ".filter_opener", function () { 5859 OpenMobileFilter(); 5860 }); 5861 5862 $(document).on("click", "#mobilefilter .svg-close.close-icons", function () { 5863 CloseMobileFilter(); 5864 }); 5865 5866 $(document).on("click", ".bx_filter_select_block", function (e) { 5867 var bx_filter_select_container = $(e.target).parents(".bx_filter_select_container"); 5868 if (bx_filter_select_container.length) { 5869 var prop_id = bx_filter_select_container.closest(".bx_filter_parameters_box").attr("data-property_id"); 5870 if ($("#smartFilterDropDown" + prop_id).length) { 5871 $("#smartFilterDropDown" + prop_id).css({ 5872 "max-width": bx_filter_select_container.width(), 5873 "z-index": "3020", 5874 }); 5875 } 5876 } 5877 }); 5878 5879 $(document).on("mouseup", ".bx_filter_section", function (e) { 5880 if ($(e.target).hasClass("bx_filter_search_button")) { 5881 CloseMobileFilter(); 5882 } 5883 }); 5884 5885 $(document).on("mouseup", ".bx_filter_parameters_box_title", function (e) { 5886 $("[id^='smartFilterDropDown']").hide(); 5887 if ($(e.target).hasClass("close-icons")) { 5888 CloseMobileFilter(); 5889 } 5890 }); 5891 5892 $mobilefilter.parent().append('<div id="mobilefilter-overlay"></div>'); 5893 var $mobilefilterOverlay = $("#mobilefilter-overlay"); 5894 5895 $mobilefilterOverlay.click(function () { 5896 if ($mobilefilter.isOpen) { 5897 CloseMobileFilter(); 5898 //e.stopPropagation(); 5899 } 5900 }); 5901 5902 mobileFilterNum = function (num, def) { 5903 if (def) { 5904 $(".bx_filter_search_button").val(num.data("f")); 5905 } else { 5906 var str = ""; 5907 var $prosLeng = $(".bx_filter_parameters_box > span"); 5908 5909 str += 5910 $prosLeng.data("f") + 5911 " " + 5912 num + 5913 " " + 5914 declOfNumFilter(num, [$prosLeng.data("fi"), $prosLeng.data("fr"), $prosLeng.data("frm")]); 5915 $(".bx_filter_search_button").val(str); 5916 } 5917 }; 5918 5919 declOfNumFilter = function (number, titles) { 5920 cases = [2, 0, 1, 1, 1, 2]; 5921 return titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[number % 10 < 5 ? number % 10 : 5]]; 5922 }; 5923 5924 OpenMobileFilter = function () { 5925 if (!$mobilefilter.isOpen) { 5926 if (!$mobilefilter.isAppendLeft) { 5927 if (!$mobilefilter.isWrapFilter) { 5928 $(".bx_filter").wrap("<div id='wrapInlineFilter'></div>"); 5929 $mobilefilter.isWrapFilter = true; 5930 } 5931 $(".bx_filter").css("top", ""); 5932 $(".bx_filter") 5933 .appendTo($("#mobilefilter")) 5934 .find(".title .bx_filter_parameters_box_title") 5935 .append($mobilefilter.close); 5936 $mobilefilter.isAppendLeft = true; 5937 } 5938 5939 // show overlay 5940 setTimeout(function () { 5941 $mobilefilterOverlay.fadeIn("fast"); 5942 }, 100); 5943 5944 // fix body 5945 $("body").css({ "overflow-y": "hidden" }); 5946 5947 // show mobile filter 5948 $mobilefilter.addClass("show"); 5949 $mobilefilter.find(".bx_filter").css({ display: "block" }); 5950 $mobilefilter.isOpen = true; 5951 5952 var init = $mobilefilter.data("init"); 5953 if (typeof init === "undefined") { 5954 $mobilefilter.scroll(function () { 5955 $(".bx_filter_section .bx_filter_select_container").each(function () { 5956 var prop_id = $(this).closest(".bx_filter_parameters_box").attr("data-property_id"); 5957 if ($("#smartFilterDropDown" + prop_id).length) { 5958 $("#smartFilterDropDown" + prop_id).hide(); 5959 } 5960 }); 5961 }); 5962 5963 $mobilefilter.data("init", "Y"); 5964 } 5965 } 5966 }; 5967 5968 CloseMobileFilter = function (append) { 5969 $(".bx_filter").css("display", ""); 5970 if ($mobilefilter.isOpen) { 5971 // scroll to top 5972 $mobilefilter.find(".bx_filter_parameters").scrollTop(0); 5973 5974 // unfix body 5975 $("body").css({ "overflow-y": "auto" }); 5976 5977 // hide overlay 5978 setTimeout(function () { 5979 $mobilefilterOverlay.fadeOut("fast"); 5980 }, 100); 5981 5982 // hide mobile filter 5983 $mobilefilter.removeClass("show"); 5984 $mobilefilter.isOpen = false;
5985 } 5986 5987 if (append && $mobilefilter.isAppendLeft) { 5988 $(".bx_filter").appendTo($("#wrapInlineFilter")).show().find(".svg-close").remove(); 5989 $mobilefilter.isAppendLeft = false; 5990 $mobilefilter.removeData("init"); 5991 mobileFilterNum($("#modef_num_mobile"), true); 5992 } 5993 }; 5994 5995 checkMobileFilter = function () { 5996 if ( 5997 (!window.matchMedia("(max-width: 991px)").matches && !$mobilefilter.isHorizontalOrCompact) || 5998 (!window.matchMedia("(max-width: 767px)").matches && $mobilefilter.isHorizontalOrCompact) 5999 ) { 6000 CloseMobileFilter(true); 6001 } 6002 }; 6003 } else { 6004 checkVerticalMobileFilter(); 6005 $(document).on("click", ".filter_opener", function () { 6006 $(this).toggleClass("opened"); 6007 if ($(".visible_mobile_filter").length) { 6008 $(".visible_mobile_filter").show(); 6009 $(".bx_filter_vertical, .bx_filter").slideToggle(333); 6010 } else { 6011 $(".bx_filter_vertical").closest("div[id^=bx_incl]").show(); 6012 $(".bx_filter_vertical, .bx_filter").slideToggle(333); 6013 } 6014 }); 6015 } 6016 /* --- END Bind mobile filter --- */ 6017}); 6018 6019/*custom event for sku prices*/ 6020 6021/*BX.addCustomEvent('onAsproSkuSetPrice', function(eventdata){ 6022 console.log(eventdata); 6023})*/ 6024 6025/*BX.addCustomEvent('onAsproSkuSetPriceMatrix', function(eventdata){ 6026 console.log(eventdata); 6027})*/ 6028 6029InitScrollBar = function (el, initOptions) { 6030 var block = $(".scrollbar:not(.mobile-scroll)"); 6031 if (typeof el !== "undefined") block = el; 6032 if (block.length) { 6033 var options, 6034 defaults = { 6035 mouseWheel: { 6036 scrollAmount: 150, 6037 preventDefault: true, 6038 }, 6039 }; 6040 var config = $.extend({}, defaults, options, block.data("plugin-options"), initOptions); 6041 6042 config.callbacks = { 6043 onScroll: function () { 6044 if ($(this).find(".mCSB_buttonLeft").hasClass("disabled")) 6045 $(this).find(".mCSB_buttonLeft").removeClass("disabled"); 6046 if ($(this).find(".mCSB_buttonRight").hasClass("disabled")) 6047 $(this).find(".mCSB_buttonRight").removeClass("disabled"); 6048 }, 6049 onTotalScrollBack: function () { 6050 $(this).find(".mCSB_buttonLeft").addClass("disabled"); 6051 }, 6052 onTotalScroll: function () { 6053 $(this).find(".mCSB_buttonRight").addClass("disabled"); 6054 }, 6055 onInit: function () { 6056 $(this).find(".mCSB_buttonLeft").addClass("disabled"); 6057 }, 6058 }; 6059 block.mCustomScrollbar(config); 6060 } 6061}; 6062 6063AjaxClickLink = function (e) { 6064 var _this = "", 6065 container = $("#right_block_ajax .inner_wrapper"), 6066 container_inner = container.find(".ajax_load"), 6067 dopAction = ""; 6068 url = ""; 6069 if ("preventDefault" in e) { 6070 e.preventDefault(); 6071 _this = $(e.target).hasClass("js-load-link") ? $(e.target) : $(e.target).closest(".js-load-link"); 6072 } else { 6073 _this = $(e); 6074 dopAction = "Y"; 6075 } 6076 6077 if (container.length) { 6078 var objUrl = parseUrlQuery(), 6079 obGetData = { ajax_get_filter: "Y", control_ajax: "Y" }; 6080 6081 obGetData.bitrix_include_areas = "N"; 6082 6083 if ("clear_cache" in objUrl) { 6084 if (objUrl.clear_cache == "Y") { 6085 obGetData.clear_cache = "Y"; 6086 } 6087 } 6088 6089 if (container_inner.length) container_inner.addClass("loading-state"); 6090 else container.addClass("loading-state"); 6091 6092 if (_this.data("url")) url = _this.data("url"); 6093 6094 if (dopAction) { 6095 BX.PopupWindowManager.getCurrentPopup().close(); 6096 $(".bx_filter_select_popup ul li .sort_btn").removeClass("current"); 6097 _this.addClass("current"); 6098 _this.closest(".bx_filter_block").find(".bx_filter_select_text").text(_this.text()); 6099 } 6100 6101 $(".bx_filter .bx_sort_filter .bx_filter_select_text").text(_this.text()); 6102 $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li span.current").removeClass("current"); 6103 $(".bx_filter .bx_sort_filter .bx_filter_select_popup ul li") 6104 .eq(_this.parent().index()) 6105 .find("span") 6106 .addClass("current"); 6107 6108 $.ajax({ 6109 url: url, 6110 data: obGetData, 6111 success: function (html) { 6112 container.html(html); 6113 6114 if (container_inner.length) container_inner.removeClass("loading-state"); 6115 else container.removeClass("loading-state"); 6116 6117 var eventdata = { action: "jsLoadBlock" }; 6118 BX.onCustomEvent("onCompleteAction", [eventdata, _this]); 6119 6120 initCountdown(); 6121 InitScrollBar(); 6122 }, 6123 }); 6124 } 6125}; 6126 6127if (!funcDefined("throttle")) { 6128 function throttle(func, wait, debounce) { 6129 var timeout; 6130 return function () { 6131 var context = this, 6132 args = arguments; 6133 var throttler = function () { 6134 timeout = null;
6135 func.apply(context, args); 6136 }; 6137 if (debounce) clearTimeout(timeout); 6138 if (debounce || !timeout) timeout = setTimeout(throttler, wait); 6139 }; 6140 } 6141} 6142 6143// document ready 6144$(function () { 6145 BX.addCustomEvent("onCompleteAction", function (eventdata, _this) { 6146 try { 6147 if (eventdata.action === "loadForm") { 6148 $(_this).parent().removeClass("loadings"); 6149 $(_this).removeClass("clicked"); 6150 6151 if ($(_this).hasClass("one_click_buy_trigger")) { 6152 $(".wrapp_one_click > span").removeClass("clicked"); 6153 $(".one_click").removeClass("clicked"); 6154 } else if ($(_this).hasClass("one_click_buy_basket_trigger")) { 6155 $(".fast_order").removeClass("clicked"); 6156 } 6157 } else if (eventdata.action === "loadActualBasket" && typeof arBasketAspro !== 'undefined') { 6158 const basketCount = Object.keys(arBasketAspro.BASKET).length; 6159 const wishCount = Object.keys(arBasketAspro.DELAY).length; 6160 const compareCount = Object.keys(arBasketAspro.COMPARE).length; 6161 6162 if (wishCount > 0) { 6163 $(".basket-link.delay .count").removeClass("hidden"); 6164 $(".basket-link.delay").removeClass("no-items"); 6165 } else { 6166 $(".basket-link.delay .count").addClass("hidden"); 6167 $(".basket-link.delay").addClass("no-items"); 6168 } 6169 6170 if (basketCount > 0) { 6171 $(".basket-link.basket .count").removeClass("hidden"); 6172 $(".basket-link.basket").removeClass("no-items"); 6173 } else { 6174 $(".basket-link.basket .count").addClass("hidden"); 6175 $(".basket-link.basket").addClass("no-items"); 6176 } 6177 6178 if (compareCount > 0) { 6179 if (!$(".basket-link.compare .count").length) { 6180 $(".basket-link.compare .wraps_icon_block").append( 6181 $( 6182 '<div class="count"><span><div class="items"><a href="' + 6183 $(".basket-link.compare .link").attr("href") + 6184 '">' + 6185 compareCount + 6186 "</a></div></span></div>" 6187 ) 6188 ); 6189 } 6190 $(".basket-link.compare .count").removeClass("hidden"); 6191 $(".basket-link.compare").removeClass("no-items"); 6192 } else { 6193 $(".basket-link.compare .count").addClass("hidden"); 6194 $(".basket-link.compare").addClass("no-items"); 6195 } 6196 6197 $(".basket-link.basket .count .text").text(basketCount); 6198 $(".basket-link.delay .count .text").text(wishCount); 6199 $(".basket-link.compare .count a, .basket-link.comapre > .link").text(compareCount); 6200 } 6201 } catch (e) { 6202 console.error(e); 6203 } 6204 }); 6205 6206 checkHeaderFixed(); 6207 6208 $(".menu-block.mobile .title").on("click", function () { 6209 const $menuWrapper = $(".menu-block.mobile"); 6210 const $menuBlock = $(".menu-block.mobile .navs"); 6211 6212 $menuWrapper.toggleClass("opened"); 6213 $menuBlock.toggleClass("opened"); 6214 6215 if ($menuWrapper.hasClass("opened")) $menuBlock.slideDown(); 6216 else $menuBlock.slideUp(); 6217 }); 6218}); 6219 6220const checkHeaderFixed = function () { 6221 const isMobile = jQuery.browser.mobile || window.matchMedia("(max-width: 991px)").matches; 6222 const mfixed = $("#headerfixed_mobile"), 6223 menu = $("header .main-nav"); 6224 6225 var startScroll = 0; 6226 6227 var $mobileHeaderFixedNlo = mfixed.find("[data-nlo]"), 6228 isMobileNloLoaded = !$mobileHeaderFixedNlo.length, 6229 OnMobileHeaderFixedScrollHandler; 6230 6231 var header_fixed = $("#headerfixed"); 6232 header = $("header").first(); 6233 6234 if (header_fixed.length) { 6235 if (header.length) { 6236 var isHeaderFixed = false, 6237 isTabsFixed = false, 6238 headerCanFix = true, 6239 headerFixedHeight = header_fixed.actual("outerHeight"), 6240 headerNormalHeight = header.actual("outerHeight"), 6241 headerDiffHeight = headerNormalHeight - headerFixedHeight, 6242 mobileBtnMenu = $(".btn.btn-responsive-nav"), 6243 headerTop = $("#panel:visible").actual("outerHeight"); 6244 topBlock = $(".TOP_HEADER").first(); 6245 6246 var $headerFixedNlo = header_fixed.find("[data-nlo]"), 6247 isNloLoaded = !$headerFixedNlo.length, 6248 OnHeaderFixedScrollHandler; 6249 6250 if (headerDiffHeight <= 0) headerDiffHeight = 0; 6251 if (topBlock.length) headerTop += topBlock.actual("outerHeight"); 6252 6253 $(window).scroll( 6254 (OnHeaderFixedScrollHandler = function () { 6255 var tabs_fixed = $(".product-item-detail-tabs-container-fixed"); 6256 6257 if (window.matchMedia("(min-width:992px)").matches) { 6258 var scrollTop = $(window).scrollTop(); 6259 headerCanFix = !mobileBtnMenu.is(":visible") /* && !$('.dropdown-menu:visible').length*/; 6260 6261 var tabs_offset = $(".tabs_section .tabs1").offset(); 6262 6263 var current_is = $(".search-wrapper .search-input:visible"), 6264 title_search_result = $(".title-search-result." + current_is.attr("id")), 6265 pos, 6266 pos_input; 6267 6268 if (!isHeaderFixed) { 6269 if (scrollTop > headerNormalHeight + headerTop && headerCanFix) { 6270 if (!isNloLoaded) { 6271 if (!$headerFixedNlo.hasClass("nlo-loadings")) { 6272 $headerFixedNlo.addClass("nlo-loadings"); 6273 setTimeout(function () { 6274 $.ajax({ 6275 data: { nlo: $headerFixedNlo.attr("data-nlo") }, 6276 success: function (response) { 6277 // stop ya metrika webvisor DOM indexer 6278 pauseYmObserver(); 6279 6280 isNloLoaded = true; 6281 $headerFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response)); 6282 $headerFixedNlo.remove(); 6283 6284 OnHeaderFixedScrollHandler(); 6285 6286 // resume ya metrika webvisor 6287 // (300ms transition) + (100ms scroll handler) 6288 setTimeout(resumeYmObserver, 400); 6289 }, 6290 error: function () { 6291 $headerFixedNlo.removeClass("nlo-loadings"); 6292 }, 6293 }); 6294 }, 300); 6295 } 6296 } else { 6297 isHeaderFixed = true; 6298 // header_fixed.css('top', '-' + headerNormalHeight + 'px'); 6299 header_fixed.addClass("fixed"); 6300 // header_fixed.stop(0).animate({top: '0'}, 300); 6301 6302 /*header_fixed.animate({top: '0'}, {duration:300, complete: 6303 function(){} 6304 });*/ 6305 6306 if ($("nav.mega-menu.sliced").length) $("nav.mega-menu.sliced").removeClass("initied"); 6307 //CheckTopMenuDotted(); 6308 } 6309 } 6310 } else if (isHeaderFixed || !headerCanFix) { 6311 if (scrollTop <= headerDiffHeight + headerTop || !headerCanFix) { 6312 isHeaderFixed = false;
6313 header_fixed.removeClass("fixed"); 6314 $(".title-search-result.title-search-input2_fixed").css("display", "none"); 6315 } 6316 } 6317 //fixed tabs 6318 if (tabs_fixed.length) { 6319 if (scrollTop + headerFixedHeight > tabs_offset.top) { 6320 tabs_fixed.css({ top: header_fixed.actual("outerHeight") }); 6321 tabs_fixed.addClass("fixed"); 6322 } else if (tabs_fixed.hasClass("fixed")) { 6323 tabs_fixed.removeAttr("style"); 6324 tabs_fixed.removeClass("fixed"); 6325 } 6326 } 6327 } 6328 }) 6329 ); 6330 } 6331 } 6332 6333 //mobile fixed 6334 if (mfixed.length && isMobile) { 6335 var isMHeaderFixed = false, 6336 mheaderCanFix = true, 6337 mheaderFixedHeight = mfixed.actual("outerHeight"), 6338 mheaderNormalHeight = header.actual("outerHeight") + menu.actual("outerHeight"), 6339 mheaderDiffHeight = mheaderNormalHeight - mheaderFixedHeight, 6340 mheaderTop = $("#panel:visible").actual("outerHeight"); 6341 6342 if (headerDiffHeight <= 0) headerDiffHeight = 0; 6343 6344 $(window).scroll( 6345 (OnMobileHeaderFixedScrollHandler = function () { 6346 var scrollTop = $(window).scrollTop(); 6347 6348 if (window.matchMedia("(max-width:991px)").matches) { 6349 if (!isMHeaderFixed) { 6350 if (scrollTop > mheaderDiffHeight + mheaderTop) { 6351 if (!isMobileNloLoaded) { 6352 if (!$mobileHeaderFixedNlo.hasClass("nlo-loadings")) { 6353 $mobileHeaderFixedNlo.addClass("nlo-loadings"); 6354 setTimeout(function () { 6355 $.ajax({ 6356 data: { nlo: $mobileHeaderFixedNlo.attr("data-nlo") }, 6357 success: function (response) { 6358 // stop ya metrika webvisor DOM indexer 6359 pauseYmObserver(); 6360 6361 isMobileNloLoaded = true; 6362 $mobileHeaderFixedNlo[0].insertAdjacentHTML("beforebegin", $.trim(response)); 6363 $mobileHeaderFixedNlo.remove(); 6364 6365 OnMobileHeaderFixedScrollHandler(); 6366 6367 // resume ya metrika webvisor 6368 // (300ms transition) + (100ms scroll handler) 6369 setTimeout(resumeYmObserver, 400); 6370 }, 6371 error: function () { 6372 $mobileHeaderFixedNlo.removeClass("nlo-loadings"); 6373 }, 6374 }); 6375 }, 300); 6376 } 6377 } else { 6378 //console.log(scrollTop, mheaderFixedHeight); 6379 isMHeaderFixed = true; 6380 mfixed.addClass("fixed"); 6381 } 6382 } 6383 } else if (isMHeaderFixed) { 6384 if (scrollTop <= mheaderDiffHeight + mheaderTop) { 6385 isMHeaderFixed = false; 6386 mfixed.removeClass("fixed"); 6387 $("#headerfixed_mobile .menu.adaptive, #headerfixed_mobile .menu.full").removeClass("opened"); 6388 $("#headerfixed_mobile .menu.full").css("display", "none"); 6389 } 6390 } 6391 } else mfixed.removeClass("fixed"); 6392 }) 6393 ); 6394 } 6395};
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.