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