Current Path : /var/www/www-root/data/www/monolith-realty.ru/local/templates/monolitsochi/js/ |
Current File : /var/www/www-root/data/www/monolith-realty.ru/local/templates/monolitsochi/js/general.js |
getRandomInt = function (min, max) { return Math.floor(Math.random() * (max - min)) + min; }; ShowOverlay = function () { $('<div class="jqmOverlay waiting"></div>').appendTo("body"); }; function readyDOM(callback) { if (document.readyState !== "loading") callback(); else document.addEventListener("DOMContentLoaded", callback); } function throttle(f, t) { let throttled, saveThis, saveArgs; const wrapper = function () { if (throttled) { saveThis = this; saveArgs = arguments; return; } throttled = true; f.apply(this, arguments); setTimeout(function () { throttled = false; if (saveArgs) { wrapper.apply(saveThis, saveArgs); saveThis = saveArgs = null; } }, t); }; return wrapper; } function debounce(f, t) { return function (args) { var previousCall = this.lastCall; this.lastCall = Date.now(); if (previousCall && this.lastCall - previousCall <= t) { clearTimeout(this.lastCallTimer); } this.lastCallTimer = setTimeout(function () { f(args); }, t); }; } window.addEventListener("popstate", function (event) { if (typeof startActions == "function") { setTimeout(startActions, 500); } }); $(document).on("change", ".uploader input[type=file]", function () { if (!$(this).next().length || !$(this).next().hasClass("resetfile")) { $( '<span class="resetfile" title="' + BX.message("CLEAR_FILE") + '"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 1.00161L1 9M9 9L1 1" stroke="#999999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span>' ).insertAfter($(this)); } }); $(document).on("click", ".uploader .resetfile", function () { var $uploader = $(this).closest(".uploader"); $uploader.removeClass("error files_add"); $uploader.find(".error").hide(); var $input = $uploader.find("input[type=file]"); $input.val(""); $.uniform.update($input); $(this).remove(); }); $(document).on("click", ".region-close", function () { $(".confirm_region").fadeOut(); }); headerInit = function (targetBlock) { var header = $("header"); if (header.length) { setTimeout(function () { CheckTopMenuDotted(); CheckTopMenuDotted(); }, 1); } }; typeofExt = function (item) { const _toString = Object.prototype.toString; return _toString.call(item).slice(8, -1).toLowerCase(); }; HideOverlay = function () { $(".jqmOverlay").detach(); CloseMobilePhone(); }; if (!funcDefined("pauseYmObserver")) { // pause ya metrika webvisor MutationObserver callback (DOM indexer) // use before insert html with some animation pauseYmObserver = function () { if ( typeof MutationObserver === "function" && typeof MutationObserver.observers === "object" && typeof MutationObserver.observers.ym === "object" ) { if (typeof pauseYmObserver.cnt === "undefined") { pauseYmObserver.cnt = 0; } ++pauseYmObserver.cnt; if (!MutationObserver.observers.ym.paused) { MutationObserver.observers.ym.pause(); } } }; } if (!funcDefined("resumeYmObserver")) { // resume ya metrika webvisor MutationObserver callback // use when animation finished resumeYmObserver = function () { if ( typeof MutationObserver === "function" && typeof MutationObserver.observers === "object" && typeof MutationObserver.observers.ym === "object" ) { if (typeof pauseYmObserver.cnt === "undefined") { pauseYmObserver.cnt = 1; } pauseYmObserver.cnt -= pauseYmObserver.cnt > 0 ? 1 : 0; if (!pauseYmObserver.cnt && MutationObserver.observers.ym.paused) { MutationObserver.observers.ym.resume(); } } }; } if (!funcDefined("declOfNum")) { declOfNum = function (number, titles) { var cases = [2, 0, 1, 1, 1, 2]; return number + " " + titles[number % 100 > 4 && number % 100 < 20 ? 2 : cases[Math.min(number % 10, 5)]]; }; } if (!funcDefined("togglePropBlock")) { togglePropBlock = function (className) { var all_props_block = className.closest(".bx_filter_parameters_box_container").find(".hidden_values"); if (all_props_block.length && (className.hasClass("inner_text") || className.hasClass("expand_block"))) { if (all_props_block.is(":visible")) { className.text(BX.message("FILTER_EXPAND_VALUES")); all_props_block.hide(); } else { className.text(BX.message("FILTER_HIDE_VALUES")); all_props_block.show(); } } }; } /*countdown start*/ if (!funcDefined("initCountdown")) { var initCountdown = function initCountdown() { $(".countdown:not(.countdown-inited)").each(function () { var _this = $(this); if (_this.hasClass("init-if-visible") && !_this.is(":visible")) return; _this.addClass("countdown-inited"); var activeTo = _this.find(".countdown__active-to").text(), dateTo = new Date(activeTo.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); var checkDate = new Date() < dateTo; if (checkDate) { if (_this.hasClass("compact")) _this.find(".countdown__items").countdown( { until: dateTo, format: "dHMS", compact: true, padZeroes: true, layout: '{d<}<span class="days countdown__item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours countdown__item">{hn}<div class="text">{hl}</div></span> <span class="minutes countdown__item">{mn}<div class="text">{ml}</div></span> <span class="sec countdown__item">{sn}<div class="text">{sl}</div></span>', onExpiry: onExpiryCountdown, }, $.countdown.regionalOptions["ru"] ); else _this.find(".countdown__items").countdown( { until: dateTo, format: "dHMS", padZeroes: true, layout: '{d<}<span class="days countdown__item">{dnn}<div class="text">{dl}</div></span>{d>} <span class="hours countdown__item">{hnn}<div class="text">{hl}</div></span> <span class="minutes countdown__item">{mnn}<div class="text">{ml}</div></span> <span class="sec countdown__item">{snn}<div class="text">{sl}</div></span>', onExpiry: onExpiryCountdown, }, $.countdown.regionalOptions["ru"] ); } else { _this.hide(); } }); }; } if (!funcDefined("onExpiryCountdown")) { function onExpiryCountdown() { var _this = $(this); var countdownBlock = _this.parents(".countdown"); if (countdownBlock.length) { countdownBlock.hide(); } } } if (!funcDefined("initCountdownTime")) { var initCountdownTime = function initCountdownTime(block, time) { if (time) { var dateTo = new Date(time.replace(/(\d+)\.(\d+)\.(\d+)/, "$3/$2/$1")); block.find(".countdown__items").countdown("destroy"); if (block.hasClass("compact")) block.find(".countdown__items").countdown( { until: dateTo, format: "dHM", compact: true, padZeroes: true, layout: '{d<}<span class="days countdown__item">{dn}<div class="text">{dl}</div></span>{d>} <span class="hours countdown__item">{hn}<div class="text">{hl}</div></span> <span class="minutes countdown__item">{mn}<div class="text">{ml}</div></span> <span class="sec countdown__item">{sn}<div class="text">{sl}</div></span>', onExpiry: onExpiryCountdownTime, }, $.countdown.regionalOptions["ru"] ); elsecountdown__items; block.find(".countdown__items").countdown( { until: dateTo, format: "dHMS", padZeroes: true, layout: '{d<}<span class="days countdown__item">{dnn}<div class="text">{dl}</div></span>{d>} <span class="hours countdown__item">{hnn}<div class="text">{hl}</div></span> <span class="minutes countdown__item">{mnn}<div class="text">{ml}</div></span> <span class="sec countdown__item">{snn}<div class="text">{sl}</div></span>', onExpiry: onExpiryCountdownTime, }, $.countdown.regionalOptions["ru"] ); block.find(".countdown").show(); } else { block.find(".countdown").hide(); } }; } if (!funcDefined("onExpiryCountdownTime")) { function onExpiryCountdownTime() {} } /*countdown end*/ $(document).on("click", ".map-mobile-opener", function () { if ($(this).hasClass("closer")) { closeFullscreenMap(); } else { openFullsreenMap(this); } }); function openFullsreenMap(element) { var $this = $(element); if ($this.hasClass("closer")) return; var currentMap = $this.parents(".bx-map-view-layout"); var mapId = currentMap.find(".bx-yandex-map").attr("id"); window.openedYandexMapFrame = mapId; var mapContainer = $('<div data-mapId="' + mapId + '"></div>'); if (!$("div[data-mapId=" + mapId + "]").length) { currentMap.after(mapContainer); } var addClass = ""; if ($this.parents(".contacts-page-map-top").length) { addClass += " contacts-map-top-frame "; } var yandexMapFrame = $('<div class="yandex-map__frame ' + addClass + '"></div>'); $("body > .body").append(yandexMapFrame); currentMap.appendTo(yandexMapFrame); currentMap.find(".map-mobile-opener").addClass("closer"); if (typeof map === "object" && map !== null && "container" in map) { window.map.container.fitToViewport(); } } function closeFullscreenMap() { var yandexMapFrame = $(".yandex-map__frame"); if (yandexMapFrame.length) { var currentMap = yandexMapFrame.find(".bx-map-view-layout"); var yandexMapContainer = $("div[data-mapId=" + window.openedYandexMapFrame + "]"); currentMap.appendTo(yandexMapContainer); yandexMapFrame.remove(); currentMap.find(".map-mobile-opener").removeClass("closer"); if (typeof map === "object" && map !== null && "container" in map) { window.map.container.fitToViewport(); } } } $.fn.iAppear = function (callback, options) { if (typeof $.fn.iAppear.useObserver === "undefined") { $.fn.iAppear.useObserver = typeof window["IntersectionObserver"] === "function"; if (!$.fn.iAppear.useObserver && typeof $.fn.appear !== "function") { $.fn.iAppear.queue = []; BX.loadScript(arAsproOptions.SITE_TEMPLATE_PATH + "/vendor/js/jquery.appear.js", function () { if (typeof $.fn.iAppear.queue === "object") { $.fn.iAppear.queue.forEach(function (queueItem) { $(queueItem.items).iAppear(queueItem.callback, queueItem.options); }); } }); return; } } if ($.fn.iAppear.useObserver) { var options = $.extend( { root: null, rootMargin: "150px 0px 150px 0px", threshold: 0.0, }, options ); $(this).each(function (i, appearBlock) { var observer = new IntersectionObserver(function (entries, observer) { entries.forEach(function (element) { if (element.intersectionRatio > 0 && !element.target.dataset.iAppeared) { element.target.dataset.iAppeared = true; if (typeof callback === "function") { callback.call(element.target); } } }); }, options); observer.observe(appearBlock); }); } else { if (typeof $.fn.appear !== "function") { if ($(this).length) { $.fn.iAppear.queue.push({ items: this, callback: callback, options: options, }); } return; } else { if ($(this).length) { $(this).each(function (i, appearBlock) { $(appearBlock).appear(function () { if (typeof callback === "function") { callback.call(appearBlock); } }, options); }); } } } }; $.fn.mCustomScrollbarDeferred = function (config) { $(this).addClass("scroll-init"); $(this).data("plugin-options", config); if ($(this).hasClass("destroyed")) { return; } $(this).hover( function (e) { var $this = $(this); if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) { $this.data( "scrollTimer", setTimeout(function () { $this.mCustomScrollbar(config); $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); }, 200) ); } }, function (e) { clearTimeout($(this).data("scrollTimer")); } ); $(this).on("touchstart touchmove", function (e) { var $this = $(this); if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) { $this.mCustomScrollbar(config); } var $scrollContainer = $this.find(">.mCustomScrollBox>.mCSB_container"); if ($scrollContainer.length) { var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; var newTouch = new Touch({ identifier: 42, target: $scrollContainer[0], clientX: touch.clientX, clientY: touch.clientY, screenX: touch.screenX, screenY: touch.screenY, pageX: touch.pageX, pageY: touch.pageY, radiusX: 1, radiusY: 1, }); var newEvent = new TouchEvent(e.type, { cancelable: true, bubbles: false, composed: true, touches: [newTouch], targetTouches: [newTouch], changedTouches: [newTouch], }); $scrollContainer[0].dispatchEvent(newEvent); } }); $(this).on("touchend", function (e) { $(this).off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); }); if ($.event.special.mousewheel) { $(this).on("mousewheel", function (e) { var $this = $(this); if (!$this.hasClass("mCustomScrollbar") && !$(this).hasClass("destroyed")) { $this.mCustomScrollbar(config); $this.off("touchstart touchmove touchend mousewheel mouseenter mouseleave"); } }); } }; InitScrollBar = function (el, initOptions) { var block; if (typeof el === "undefined") { block = $(".srollbar-custom:not(.mobile-scroll):not(.scroll-init)"); } else { block = el.filter(":not(.scroll-init)"); } var blockParent = $(".scrollbar-parent"); if ( (block.length || blockParent.length) && !isMobile // (!isMobile || window.matchMedia('(min-width:992px)').matches) ) { block.addClass("scroll-init"); var options, defaults = { mouseWheel: { scrollAmount: 150, preventDefault: true, }, }; if (block.length) { var config = $.extend({}, defaults, options, block.data("plugin-options"), initOptions); } else if (blockParent.length) { var config = $.extend({}, defaults, options, blockParent.data("plugin-options"), initOptions); } config.callbacks = { onScroll: function () { if ($(this).find(".mCSB_buttonLeft").hasClass("disabled")) $(this).find(".mCSB_buttonLeft").removeClass("disabled"); if ($(this).find(".mCSB_buttonRight").hasClass("disabled")) $(this).find(".mCSB_buttonRight").removeClass("disabled"); }, onTotalScrollBack: function () { $(this).find(".mCSB_buttonLeft").addClass("disabled"); }, onTotalScroll: function () { $(this).find(".mCSB_buttonRight").addClass("disabled"); }, onInit: function () { $(this).find(".mCSB_buttonLeft").addClass("disabled"); }, }; if (block.length) { block.filter(":not(.scroll-deferred)").mCustomScrollbar(config); block.filter(".scroll-deferred").mCustomScrollbarDeferred(config); } if (blockParent.length) { blockParent.find(".scroll-deferred").mCustomScrollbarDeferred(config); } } }; InitCustomScrollBar = function (el) { var block; if (typeof el === "undefined") { block = $(".scrollbar:not(.mobile-scroll):not(.scroll-init)"); } else { block = el.filter(":not(.scroll-init)"); } if (block.length) { block.addClass("scroll-init"); var options, defaults = { effect: "fadeIn", effectTime: 300, threshold: 0, // threshold: 30 }; var config = $.extend({}, defaults, options, block.data("plugin-options")); block.filter(":not(.scroll-deferred)").mCustomScrollbar(config); block.filter(".scroll-deferred").mCustomScrollbarDeferred(config); } }; InitFancyBox = function () { if (typeof $.fn.fancybox !== "function") { return; } if (!$(".fancy").length) { return; } $(".fancy").fancybox({ padding: [40, 40, 64, 40], openEffect: "fade", closeEffect: "fade", nextEffect: "fade", prevEffect: "fade", opacity: true, tpl: { closeBtn: '<span title="' + BX.message("FANCY_CLOSE") + '" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>', next: '<a title="' + BX.message("FANCY_NEXT") + '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', prev: '<a title="' + BX.message("FANCY_PREV") + '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', }, touch: "enabled", buttons: [ //"zoom", //"share", // "slideShow", //"fullScreen", //"download", //"thumbs", "close", ], backFocus: false, beforeShow: function (event) { var bCurrentSrc = typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length; var video_block = []; if (bCurrentSrc) { video_block = $(event.current.src).find("source.video-content"); } // else { // video_block = $(".company-item source.video-content"); // } if (video_block.length) { if (video_block.attr("src") == "#") { var video_block_wrapper = video_block.closest("video"); var video_block_clone = video_block_wrapper.clone(); video_block_clone.find("source").attr("src", video_block_clone.find("source").data("src")); video_block.attr("src", video_block.data("src")); video_block_clone.insertAfter(video_block_wrapper); video_block_clone.siblings("video").remove(); } } var video_block_frame = []; if (bCurrentSrc) { video_block_frame = $(event.current.src).find(".company-item__video-iframe"); } // else { // video_block_frame = $(".company-item .company-item__video-iframe"); // } if (video_block_frame.length) { var data_src_iframe = video_block_frame.attr("data-src"); video_block_frame.attr("src", data_src_iframe); video_block_frame.attr("allow", "autoplay"); } }, afterShow: function (event) { if ($(".fancybox-overlay").css("opacity") == 0) { setTimeout(function () { $(".fancybox-overlay").css("opacity", 1); $("html").addClass("overflow_html"); }, 200); } $(".fancybox-nav").css("opacity", 0); setTimeout(function () { $(".fancybox-nav").css("opacity", 1); }, 150); var bCurrentSrc = typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length; var companyVideo = []; if (bCurrentSrc) { companyVideo = event.current.src[0].getElementsByClassName("company-item__video"); } // else { // companyVideo = $(".fancybox-inner .company-item__video"); // } if (companyVideo.length) { setTimeout(function () { $(".fancybox-wrap video").resize(); setTimeout(function () { $(".fancybox-wrap").addClass("show_video"); if (companyVideo[0].currentTime === 0 || companyVideo[0].paused) { companyVideo[0].currentTime = 0; companyVideo[0].play(); } }, 300); }, 150); } else if ($(".fancybox-wrap iframe").length) { $(".fancybox-inner").height("100%"); } }, beforeClose: function (event) { // closeModal(); $(".fancybox-overlay").fadeOut(); var bCurrentSrc = typeof event.current !== "undefined" && event.current.contentType == "html" && $(event.current.src).length; var companyVideo = []; if (bCurrentSrc) { companyVideo = event.current.src[0].getElementsByClassName("company-item__video"); } // else { // companyVideo = $(".fancybox-inner .company-item__video"); // } if (companyVideo.length) { companyVideo[0].currentTime = 0; } $("html").removeClass("overflow_html"); var video_block_frame = []; if (bCurrentSrc) { video_block_frame = $(event.current.src).find(".company-item__video-iframe"); } // else { // video_block_frame = $(".company-item .company-item__video-iframe"); // } if (video_block_frame.length) { video_block_frame.attr("src", ""); } }, onClosed: function (event) { var companyVideo = []; if (bCurrentSrc) { companyVideo = event.current.src[0].getElementsByClassName("company-item__video"); } // else { // companyVideo = $(".fancybox-wrap .company-item__video"); // } if (companyVideo.length) { companyVideo[0].pause(); } }, }); }; InitFancyBoxVideo = function () { if (typeof $.fn.fancybox !== "function") { return; } if (!$(".video_link").length) { return; } $(".video_link").fancybox({ type: "iframe", maxWidth: 800, maxHeight: 600, fitToView: false, width: "70%", height: "70%", autoSize: false, closeClick: false, opacity: true, tpl: { closeBtn: '<span title="' + BX.message("FANCY_CLOSE") + '" class="fancybox-item fancybox-close inline svg"><svg class="svg svg-close" width="14" height="14" viewBox="0 0 14 14"><path data-name="Rounded Rectangle 568 copy 16" d="M1009.4,953l5.32,5.315a0.987,0.987,0,0,1,0,1.4,1,1,0,0,1-1.41,0L1008,954.4l-5.32,5.315a0.991,0.991,0,0,1-1.4-1.4L1006.6,953l-5.32-5.315a0.991,0.991,0,0,1,1.4-1.4l5.32,5.315,5.31-5.315a1,1,0,0,1,1.41,0,0.987,0.987,0,0,1,0,1.4Z" transform="translate(-1001 -946)"></path></svg></span>', next: '<a title="' + BX.message("FANCY_NEXT") + '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', prev: '<a title="' + BX.message("FANCY_PREV") + '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>', }, beforeShow: function (event) { /*if(!$('.cd-modal-bg').hasClass('is-visible')){ var scaleValue = retrieveScale($('.cd-modal-bg')); $('.cd-modal-bg').show().addClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ animateLayer($('.cd-modal-bg'), scaleValue, true); }); }*/ }, afterShow: function () { if ($(".fancybox-overlay").css("opacity") == 0) { setTimeout(function () { $(".fancybox-overlay").css("opacity", 1); $("html").addClass("overflow_html"); }, 200); } $(".fancybox-nav").css("opacity", 0); setTimeout(function () { $(".fancybox-nav").css("opacity", 1); }, 150); if ($(".fancybox-wrap iframe").length) { $(".fancybox-inner").height("100%"); } }, beforeClose: function () { // closeModal(); $(".fancybox-overlay").fadeOut(); $("html").removeClass("overflow_html"); }, }); }; /*function CheckTopMenuDotted() { var menu = $("nav.mega-menu.sliced"); if (window.matchMedia("(max-width:991px)").matches) return; if (menu.length) { menu.each(function () { var menuMoreItem = $(this).find(".header-menu__item--more-items"); if ($(this).parents(".collapse").css("display") == "none") { return false; } var headerFixedBlock = $(this).parents("#headerfixed"); if (headerFixedBlock.length && !headerFixedBlock.hasClass("fixed")) { return false; } var block = $(this).closest(".header-menu"); var block_w = block.outerWidth(); var items = $(this).find(".header-menu__wrapper > .header-menu__item"); var menu_w = 0; items.each(function (i, el) { var _el = $(el); menu_w += _el.outerWidth(true); }); var afterHide = false; var newItemsArr = []; menuItemNewSave = ""; while (menu_w > block_w - 1) { menuItemOldSave = $(this) .find(".header-menu__wrapper > .header-menu__item") .not(".header-menu__item--more-items") .last(); if (menuItemOldSave.length) { var classes = menuItemOldSave.attr("class"); var newMenuItem = $("<li />").addClass(classes).attr("data-hidewidth", menu_w).html(menuItemOldSave.html()); newItemsArr.push(newMenuItem); menuItemOldSave.remove(); menuMoreItem.css({ display: "flex", opacity: 1, }); menu_w = 0; items.each(function (i, el) { var _el = $(el); menu_w += _el.outerWidth(true); }); block_w = block.outerWidth(); afterHide = true; } else { break; } } newItemsArr = newItemsArr.reverse(); menuMoreItem.find("> .header-menu__dropdown-menu").prepend(newItemsArr); if (!afterHide) { var moreItemsArr = []; do { menuItemOldSave = menuMoreItem.find("> .header-menu__dropdown-menu > li").first(); if (!menuItemOldSave.length) { menuMoreItem.hide(); break; } else { var hideWidth = menuItemOldSave.attr("data-hidewidth"); if (hideWidth > block_w) { break; } else { menuItemOldSave.removeClass("scroll-inited"); var classes = menuItemOldSave.attr("class"); var moreMenuItem = $("<div />").addClass(classes).html(menuItemOldSave.html()); menuItemOldSave.remove(); $(moreMenuItem).insertBefore(menuMoreItem); if (!menuItemOldSave.length) { menuMoreItem.hide(); break; } } } menu_w = 0; items.each(function (i, el) { var _el = $(el); menu_w += _el.outerWidth(); }); } while (menu_w <= block_w); } menu.closest(".header-menu").addClass("dotted-complete"); var wrapper = $(this).closest(".hide-dotted"); if (wrapper.length) { wrapper.addClass("dotted-complete"); } }); } return false; }; */ CheckTopVisibleMenu = function (that) { var dropdownMenu = $(that).find(">.header-menu__dropdown-menu"); if (!dropdownMenu.length) { dropdownMenu = $(that).find(">.header-menu__wide-item-wrapper>.header-menu__wide-submenu"); } if (!dropdownMenu.length) { dropdownMenu = $(that).find(">.header-menu__wide-submenu-item-inner>.submenu-wrapper>.header-menu__wide-submenu"); } if (!dropdownMenu.length) { return; } // if( that !== undefined ) { // dropdownMenu.push($(that)); // } if (dropdownMenu.length) { dropdownMenu.each(function (i, el) { var dropdownMenuCurrent = $(el); dropdownMenuCurrent.find("a").css("white-space", ""); dropdownMenuCurrent.css("left", ""); dropdownMenuCurrent.css("right", ""); dropdownMenuCurrent.removeClass("toright"); var dropdownMenuCurrent_left = dropdownMenuCurrent.offset().left; if (typeof dropdownMenuCurrent_left != "undefined") { var menu = dropdownMenuCurrent.parents(".header__main-part"); if (!menu.length) menu = dropdownMenuCurrent.closest(".header__top-inner"); var menu_width = menu.outerWidth(); var menu_left = menu.offset().left; var menu_right = menu_left + menu_width; var isToRight = dropdownMenuCurrent.parents(".toright").length > 0; var parentsdropdownMenuCurrents = dropdownMenuCurrent.parents(".header-menu__dropdown-menu"); var isHasParentdropdownMenuCurrent = parentsdropdownMenuCurrents.length > 0; if (isHasParentdropdownMenuCurrent) { var parentdropdownMenuCurrent_width = parentsdropdownMenuCurrents.first().outerWidth() ? parentdropdownMenuCurrent_width : 240; var parentdropdownMenuCurrent_left = parentsdropdownMenuCurrents.first().offset().left; var parentdropdownMenuCurrent_right = parentdropdownMenuCurrent_width + parentdropdownMenuCurrent_left; } var emptyCurrentWidth = dropdownMenuCurrent.outerWidth() == 0; var dropdownMenuCurrent_width = !emptyCurrentWidth ? dropdownMenuCurrent.outerWidth() : 240; if (parentdropdownMenuCurrent_right + dropdownMenuCurrent_width > menu_right) { dropdownMenuCurrent.find("a").css("white-space", "normal"); } var dropdownMenuCurrent_right = dropdownMenuCurrent_left + dropdownMenuCurrent_width; if (dropdownMenuCurrent_right > menu_right || isToRight) { var addleft = 0; addleft = menu_right - dropdownMenuCurrent_right; if (isHasParentdropdownMenuCurrent || isToRight) { dropdownMenuCurrent.css("left", "auto"); dropdownMenuCurrent.css("right", "100%"); dropdownMenuCurrent.addClass("toright"); } else { var dropdownMenuCurrent_curLeft = parseInt(dropdownMenuCurrent.css("left")); dropdownMenuCurrent.css("left", dropdownMenuCurrent_curLeft + addleft + "px"); } } var firstMenuItem = dropdownMenuCurrent.parent().hasClass("header-menu__item--first"); if (!firstMenuItem) { if (dropdownMenuCurrent_right < 240 + menu_left) { dropdownMenuCurrent.css("left", "100%"); dropdownMenuCurrent.css("right", "0"); dropdownMenuCurrent.removeClass("toright"); } var childDropDown = dropdownMenuCurrent.find(">.dropdown"); if (childDropDown.length) { childDropDown.css("left", ""); childDropDown.css("right", ""); } if (emptyCurrentWidth && childDropDown.length && dropdownMenuCurrent_right < 480 + menu_left) { dropdownMenuCurrent.css("left", "100%"); dropdownMenuCurrent.css("right", "0"); dropdownMenuCurrent.removeClass("toright"); childDropDown.css("left", "100%"); childDropDown.css("right", "0"); } } } }); } }; MegaMenuFixed = function () { var animationTime = 150; $megaFixedNlo = $(".mega-fixed-menu").find("[data-nlo]"); $(document).on("click", ".header .burger", function () { if ($megaFixedNlo.length) { if (!$megaFixedNlo.hasClass("nlo-loadings")) { $megaFixedNlo.addClass("nlo-loadings"); setTimeout(function () { $.ajax({ data: { nlo: $megaFixedNlo.attr("data-nlo") }, error: function () { $megaFixedNlo.removeClass("nlo-loadings"); }, complete: function (jqXHR, textStatus) { if (textStatus === "success" || jqXHR.status == 404) { var ob = BX.processHTML($.trim(jqXHR.responseText)); BX.ajax.processScripts(ob.SCRIPT); $megaFixedNlo.replaceWith(ob.HTML); } }, }); }, 300); } } $("body").css("overflow", "hidden"); $(".mega-fixed-menu").fadeIn(animationTime); $(".mega-fixed-menu").css("display", "flex"); }); $(".mega-fixed-menu__close").on("click", function () { $(this).closest(".mega-fixed-menu").fadeOut(animationTime); //$("body").css("overflow", "auto"); $("body").css("overflow", ""); }); $(".mega-fixed-menu .dropdown-menu .arrow").on("click", function (e) { e.preventDefault(); e.stopPropagation(); $(this).closest(".dropdown-submenu").find(".dropdown-menu").slideToggle(animationTime); $(this).closest(".dropdown-submenu").addClass("opened"); }); }; CheckMainBannerSliderVText = function (slider) { /*if(slider.parents('.banners-big').length){ var sh = slider.height(); slider.find('.item').each(function() { var curSlideTextInner = $(this).find('.text .inner'); if(curSlideTextInner.length){ var ith = curSlideTextInner.actual('height'); var p = (ith >= sh ? 0 : Math.floor((sh - ith) / 2)); curSlideTextInner.css('padding-top', p + 'px'); } }); }*/ }; footerInit = function (block) { if (block.hasClass("check-visible")) { const blockJsPadding = $(".js-check-padding"); const blockJsHide = $(".js-check-hide"); if (blockJsPadding.length && blockJsHide.length && block.data("ajax-check-visible")) { const arCheckBlock = block.data("ajax-check-visible").split(","); let bHiddenBlocks = arCheckBlock.every(function (i) { return $('[data-ajax-load-block="' + i + '"]').hasClass("hidden") === true; }); if (bHiddenBlocks) { blockJsHide.addClass("hidden"); blockJsPadding.addClass("js-padding"); } else { blockJsHide.removeClass("hidden"); blockJsPadding.removeClass("js-padding"); } } } }; verticalAlign = function (class_name) { if (typeof class_name == "undefined") class_name = "auto_align"; if ($("." + class_name).length) { maxHeight = 0; $("." + class_name).each(function () { if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } }); $("." + class_name).each(function () { delta = Math.round((maxHeight - $(this).height()) / 2); $(this).css({ "padding-top": delta + "px", "padding-bottom": delta + "px" }); }); } }; getGridSize = function (counts, custom_counts) { var z = parseInt($(".body_media").css("top")); if (typeof custom_counts != "undefined") { if (window.matchMedia("(max-width: 700px)").matches) return counts[3] ? counts[3] : counts[2]; else if (window.matchMedia("(max-width: 850px)").matches) return counts[2]; else if (window.matchMedia("(max-width: 1100px)").matches) return counts[1]; else return counts[0]; } else { if (window.matchMedia("(max-width: 600px)").matches) { return counts[3] ? counts[3] : counts[2]; } else return z == 2 ? counts[0] : z == 1 ? counts[1] : counts[2]; } }; CheckFlexSlider = function () { $(".flexslider:not(.thmb):visible").each(function () { var slider = $(this); slider.resize(); var counts = slider.data("flexslider").vars.counts, slide_counts = slider.data("flexslider").vars.slide_counts; if (typeof counts != "undefined") { var cnt = getGridSize(counts, slider.data("flexslider").vars.customGrid); var to0 = cnt != slider.data("flexslider").vars.minItems || cnt != slider.data("flexslider").vars.maxItems || cnt != slider.data("flexslider").vars.move; if (to0) { slider.data("flexslider").vars.minItems = cnt; slider.data("flexslider").vars.maxItems = cnt; if (typeof slide_counts != "undefined") slider.data("flexslider").vars.move = slide_counts; else slider.data("flexslider").vars.move = cnt; slider.flexslider(0); slider.resize(); slider.resize(); // twise! } } }); }; CheckHeaderFixed = function () { var header = $("header .header__inner").first(), header_fixed = $("#headerfixed"); if (header_fixed.length) { if (header.length) { var isHeaderFixed = false, headerCanFix = true, headerFixedHeight = header_fixed.actual("outerHeight"), headerNormalHeight = header.actual("outerHeight"), headerDiffHeight = headerNormalHeight - headerFixedHeight, mobileBtnMenu = $(".btn.btn-responsive-nav"), headerTop = $("#panel:visible").actual("outerHeight"), topBlock = $(".TOP_HEADER").first(), $headerFixedNlo = header_fixed.find("[data-nlo]"), $eyedPanel = $("#eyed-panel"), isNloLoaded = !$headerFixedNlo.length, OnHeaderFixedScrollHandler; if (headerDiffHeight <= 0) headerDiffHeight = 0; if ($eyedPanel.length) headerTop += $eyedPanel.actual("outerHeight"); if (topBlock.length) headerTop += topBlock.actual("outerHeight"); $(window).scroll( (OnHeaderFixedScrollHandler = function () { var scrollTop = $(window).scrollTop(); headerCanFix = !mobileBtnMenu.is(":visible"); if (!isHeaderFixed) { if (headerCanFix && scrollTop > headerNormalHeight + headerTop) { if (!isNloLoaded) { if (!$headerFixedNlo.hasClass("nlo-loadings")) { $headerFixedNlo.addClass("nlo-loadings"); setTimeout(function () { $.ajax({ data: { nlo: $headerFixedNlo.attr("data-nlo") }, error: function () { $headerFixedNlo.removeClass("nlo-loadings"); }, complete: function (jqXHR, textStatus) { if (textStatus === "success" || jqXHR.status == 404) { // stop ya metrika webvisor DOM indexer pauseYmObserver(); isNloLoaded = true; var ob = BX.processHTML($.trim(jqXHR.responseText)); BX.ajax.processScripts(ob.SCRIPT); $headerFixedNlo.replaceWith(ob.HTML); OnHeaderFixedScrollHandler(); // resume ya metrika webvisor // (300ms transition) + (100ms scroll handler) setTimeout(resumeYmObserver, 400); } }, }); }, 300); } } else { isHeaderFixed = true; header_fixed.css("top", "-" + headerNormalHeight + "px"); header_fixed.addClass("fixed"); header_fixed.animate({ top: "0" }, { duration: 300, complete: function () {} }); CheckTopMenuDotted(); } } } if (isHeaderFixed || !headerCanFix) { if (!headerCanFix || scrollTop <= headerDiffHeight + headerTop) { isHeaderFixed = false; header_fixed.removeClass("fixed"); } } }) ); } } // mobile fixed var mfixed = $("body.mfixed_y.mfixed_view_scroll_top #mobileheader"); if (mfixed.length) { var mheaderFixed = false, mheaderFixedHeight = mfixed.actual("outerHeight"), mheaderTop = $("#panel:visible").actual("outerHeight"), mheaderStartScroll = 0; $(window).scroll(function () { if (window.matchMedia("(max-width:991px)").matches) { var scrollTop = $(window).scrollTop(); if (!mheaderFixed) { if (scrollTop > mheaderTop + mheaderFixedHeight && scrollTop < mheaderStartScroll) { mfixed.addClass("fixed"); mheaderFixed = true; } } else { if (scrollTop <= mheaderTop || scrollTop > mheaderStartScroll) { mfixed.removeClass("fixed"); mheaderFixed = false; } } mheaderStartScroll = scrollTop; } else { mfixed.removeClass("fixed"); } }); } }; CheckObjectsSizes = function () { $(".container iframe,.container object,.container video").each(function () { var height_attr = $(this).attr("height"); var width_attr = $(this).attr("width"); if (height_attr && width_attr) { $(this).css("height", ($(this).outerWidth() * height_attr) / width_attr); } }); }; scrollToTop = function () { if (arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] !== "NONE") { scrollToTopAnimateClassIn = arAsproOptions.THEME.SCROLLTOTOP_TYPE.indexOf("ROUND") !== -1 ? "rotateIn" : "rubberBand"; scrollToTopAnimateClassOut = arAsproOptions.THEME.SCROLLTOTOP_TYPE.indexOf("ROUND") !== -1 ? "rotateOut" : "flipOutX"; if (BX.browser.IsMac()) { scrollToTopAnimateClassIn = scrollToTopAnimateClassOut = ""; } var _isScrolling = false; // Append Button $("body").append( $("<a />") .addClass( "scroll-to-top " + arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] + " " + arAsproOptions["THEME"]["SCROLLTOTOP_POSITION"] ) .attr({ href: "#", id: "scrollToTop" }) ); $scrolltotop = $("#scrollToTop"); if (arAsproOptions.THEME.SCROLLTOTOP_POSITION_RIGHT) $scrolltotop.css({ right: arAsproOptions.THEME.SCROLLTOTOP_POSITION_RIGHT + "px", left: "auto" }); $scrolltotop.click(function (e) { e.preventDefault(); $("body, html").animate({ scrollTop: 0 }, 500); return false; }); // Show/Hide Button on Window Scroll event. $(window).scroll(function () { if (!_isScrolling) { _isScrolling = true; var bottom = 23, scrollVal = $(window).scrollTop(), windowHeight = $(window).height(); if (arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM) { bottom = arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM; $scrolltotop.css("bottom", bottom + "px"); } var footerOffset = 0; if ($("footer").get(0)) { footerOffset = $("footer").offset().top; } if (scrollVal > 150) { $("#scrollToTop").stop(true, true).addClass("visible"); _isScrolling = false; } else { $("#scrollToTop").stop(true, true).removeClass("visible"); _isScrolling = false; } CheckScrollToTop(); } }); } }; CheckScrollToTop = function () { if (typeof arAsproOptions === "undefined") { return; } if (arAsproOptions["THEME"]["SCROLLTOTOP_TYPE"] !== "NONE" && $scrolltotop.length != undefined) { if (documentScrollTop > 150) { $scrolltotop.stop(true, true).addClass("visible").addClass("animated"); if (scrollToTopAnimateClassOut) { $scrolltotop.removeClass(scrollToTopAnimateClassOut); } if (scrollToTopAnimateClassIn) { $scrolltotop.addClass(scrollToTopAnimateClassIn); } } else { $scrolltotop.stop(true, true).removeClass("visible"); if (scrollToTopAnimateClassIn) { $scrolltotop.removeClass(scrollToTopAnimateClassIn); } if (scrollToTopAnimateClassOut) { $scrolltotop.addClass(scrollToTopAnimateClassOut); } } } var bottom = 23, scrollVal = $(window).scrollTop(), windowHeight = $(window).height(); if (arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM) { bottom = arAsproOptions.THEME.SCROLLTOTOP_POSITION_BOTTOM; $scrolltotop.css("bottom", bottom + "px"); } if ($("footer").length) var footerOffset = $("footer").offset().top; if (scrollVal + windowHeight > footerOffset) { $("#scrollToTop").css("bottom", Math.round(bottom + scrollVal + windowHeight - footerOffset)); } else if (parseInt($("#scrollToTop").css("bottom")) > bottom) { $("#scrollToTop").css("bottom", Math.round(bottom)); } }; var isMobile = jQuery.browser.mobile; var players = {}; if (isMobile) { document.documentElement.className += " mobile"; } var timerScroll = false, ignoreScroll = [], documentScrollTopLast = $(document).scrollTop(), startScroll = 0; $.fn.equalizeHeights = function (outer, classNull, minHeight, autoHeightBlock) { var maxHeight = this.map(function (i, e) { var minus_height = 0, calc_height = 0; if (classNull !== false && $(e).find(classNull).is(":visible")) minus_height = parseInt($(e).find(classNull).actual("outerHeight")); if (minus_height) minus_height += 15; $(e).css("height", ""); if (autoHeightBlock !== false) { var height_tmp = $(e).find(autoHeightBlock).css("height"); $(e).find(autoHeightBlock).css("height", ""); } if (outer === true) { calc_height = $(e).actual("outerHeight") - minus_height; } else { calc_height = $(e).actual("height") - minus_height; } if (autoHeightBlock !== false) { $(e).find(autoHeightBlock).css("height", height_tmp); } if (minHeight !== false) { if (calc_height < minHeight) { calc_height += minHeight - calc_height; } if (window.matchMedia("(max-width: 520px)").matches) { calc_height = 300; } if (window.matchMedia("(max-width: 400px)").matches) { calc_height = 200; } } return calc_height; }).get(); for (var i = 0, c = maxHeight.length; i < c; ++i) { if (maxHeight[i] % 2) { --maxHeight[i]; } } return this.height(Math.max.apply(this, maxHeight)); }; $.fn.getFloatWidth = function () { var width = 0; if ($(this).length) { var rect = $(this)[0].getBoundingClientRect(); if (!(width = rect.width)) { width = rect.right - rect.left; } } return width; }; $.fn.sliceHeight2 = function (options) { function _slice(el) { el.each(function () { $(this).css("line-height", ""); $(this).css("height", ""); }); if (typeof options.autoslicecount == "undefined" || options.autoslicecount !== false) { var elsw = typeof options.row !== "undefined" && options.row.length ? el.first().parents(options.row).getFloatWidth() : el.first().parents(".grid-list").getFloatWidth(), elw = typeof options.item !== "undefined" && options.item.length ? $(options.item).first().getFloatWidth() : el.first().hasClass("grid-list__item") ? el.first().getFloatWidth() : el.first().parents(".grid-list__item").getFloatWidth(); if (!elsw) { elsw = el.first().parents(".grid-list").getFloatWidth(); } if (elw && options.fixWidth) elw -= options.fixWidth; if (elsw && elw) { options.slice = Math.floor(elsw / elw); } } if (typeof options.typeResize == "undefined" || options.typeResize === false) { if (options.sliceEqualLength && el.closest(".flexslider").length) options.slice = el.length; if (options.slice >= 1) { for (var i = 0; i < el.length; i += options.slice) { $(el.slice(i, i + options.slice)).equalizeHeights( options.outer, options.classNull, options.minHeight, options.autoHeightBlock ); } } if (options.lineheight) { var lineheightAdd = parseInt(options.lineheight); if (isNaN(lineheightAdd)) { lineheightAdd = 0; } el.each(function () { $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); }); } } if (typeof options.callback == "function") options.callback(el); } var options = $.extend( { slice: null, outer: false, lineheight: false, autoslicecount: true, classNull: false, minHeight: false, row: false, item: false, typeResize: false, resize: true, typeValue: false, sliceEqualLength: false, fixWidth: 0, callback: false, autoHeightBlock: false, }, options ); var el = $(this); ignoreResize.push(true); _slice(el); ignoreResize.pop(); if (options.resize !== false) { BX.addCustomEvent("onWindowResize", function (eventdata) { ignoreResize.push(true); _slice(el); ignoreResize.pop(); }); } }; function extendDepthObject(target, FromObj) { var to = Object.assign({}, target); for (var key in FromObj) { if (typeof FromObj[key] == "object") { to[key] = extendDepthObject(to[key], FromObj[key]); } else { to[key] = FromObj[key]; } } return to; } $.fn.sliceHeight = function (options) { function _slice(el) { var arBreakpoints = Object.keys(options.breakpoint); var resizeOptionsTmp = {}; if (arBreakpoints.length) { for (var key in arBreakpoints) { if (window.matchMedia(arBreakpoints[key].toString()).matches) { resizeOptionsTmp = options.breakpoint[arBreakpoints[key]]; } } } var resizeOptions = extendDepthObject(options, resizeOptionsTmp); var blockNullClass = resizeOptions.blockNull !== undefined && resizeOptions.blockNull.class !== undefined ? resizeOptions.blockNull.class : false; var parent = typeof resizeOptions.row !== "undefined" && resizeOptions.row.length ? el.first().parents(resizeOptions.row) : el.first().parents(".items"); var item = ""; if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) { if (blockNullClass) { $(resizeOptions.item).each(function (i, element) { _element = $(element); if (!_element.hasClass(blockNullClass)) { item = _element; } }); if (!item) // if only ignored blocks return false; } else { item = $(resizeOptions.item).first(); } } else { if (el.first().hasClass("item")) { item = el.first(); } else { item = el.first().parents(".item"); } } if (typeof resizeOptions.autoslicecount == "undefined" || resizeOptions.autoslicecount !== false) { var elsw = parent.getFloatWidth(), elw = item.getFloatWidth(); if (!elsw) { elsw = el.first().parents(".row").getFloatWidth(); } if (!elw) { if (typeof resizeOptions.item !== "undefined" && resizeOptions.item.length) elw = $(resizeOptions.item + ":eq(1)").getFloatWidth() ? $(resizeOptions.item + ":eq(1)").getFloatWidth() : $(resizeOptions.item + ":eq(2)").getFloatWidth(); else elw = $(el[1]).getFloatWidth() ? $(el[1]).getFloatWidth() : $(el[2]).getFloatWidth(); } if (elw && resizeOptions.fixWidth) elw -= resizeOptions.fixWidth; elw = parseInt(elw * 100) / 100; if (elsw && elw) { resizeOptions.slice = Math.floor(elsw / elw); } } if (resizeOptions.customSlice) { //manual slice count var bSliceNext = false; if (resizeOptions.length) { elw = typeof resizeOptions.item !== "undefined" && resizeOptions.item.length ? $(resizeOptions.item).last().getFloatWidth() : el.last().hasClass("item") ? el.last().getFloatWidth() : el.last().parents(".item").getFloatWidth(); if (elw) resizeOptions.sliceNext = Math.floor(elsw / elw); bSliceNext = true; } } elements = []; if (resizeOptions.classes !== undefined && resizeOptions.classes.length) { for (var i = 0; i < resizeOptions.classes.length; i++) { var items = $(resizeOptions.item).find(resizeOptions.classes[i]); elements.push(items); } } var elIndex = elements.push(el) - 1; if (resizeOptions.mobile === true) { if (window.matchMedia("(max-width: 550px)").matches) { for (var block = 0; block < elements.length; block++) { var items = $(elements[block]); items.css({ "line-height": "", height: "", }); } return; } } if (typeof resizeOptions.typeResize == "undefined" || resizeOptions.typeResize === false) { if (resizeOptions.slice) { for (var block = 0; block < elements.length; block++) { if (resizeOptions.currentRow) { var itemNumber = el.index(resizeOptions.currentItem); var rowCount = resizeOptions.slice; var rowNumber = Math.floor(itemNumber / rowCount); var items = $(elements[block].slice(rowNumber * rowCount, rowNumber * rowCount + rowCount)); var classNull = block == elIndex ? resizeOptions.classNull : false; items.css({ "line-height": "", height: "", }); items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions); } else { for (var i = 0; i < elements[block].length; ) { if (resizeOptions.customSlice && resizeOptions.sliceNext && bSliceNext && i) //manual slice count resizeOptions.slice = resizeOptions.sliceNext; var slice = resizeOptions.slice; var items = $(elements[block].slice(i, i + slice)); if (resizeOptions.blockNull !== undefined) { if (resizeOptions.blockNull.class !== undefined) { var counts = 0; items.each(function (i, item) { var _item = $(item); if ( _item.hasClass(resizeOptions.blockNull.class) || _item.closest("." + resizeOptions.blockNull.class).length ) { counts++; } }); } } if (counts) { slice -= (resizeOptions.blockNull.width - 1) * counts; } items = $(elements[block].slice(i, i + slice)); if (items) { var classNull = block == elIndex ? resizeOptions.classNull : false; items.css({ "line-height": "", height: "", }); items.equalizeHeights(resizeOptions.outer, classNull, resizeOptions); } i += slice || 1; } } } } if (resizeOptions.lineheight) { var lineheightAdd = parseInt(resizeOptions.lineheight); if (isNaN(lineheightAdd)) { lineheightAdd = 0; } el.each(function () { $(this).css("line-height", $(this).actual("height") + lineheightAdd + "px"); }); } } } var options = $.extend( { slice: null, sliceNext: null, outer: false, lineheight: false, autoslicecount: true, classNull: false, minHeight: false, row: false, item: false, typeResize: false, typeValue: false, fixWidth: 0, resize: true, mobile: false, customSlice: false, breakpoint: {}, classes: [], }, options ); var el = $(this); ignoreResize.push(true); _slice(el); ignoreResize.pop(); if (options.resize) { BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); _slice(el); } catch (e) { } finally { ignoreResize.pop(); } }); } else { if (!ignoreResize.length) { // ignoreResize.push(true); _slice(el); // ignoreResize.pop(); } } }; waitingExists = function (selector, delay, callback) { if (typeof callback !== "undefined" && selector.length && delay > 0) { delay = parseInt(delay); delay = delay < 0 ? 0 : delay; if (!$(selector).length) { setTimeout(function () { waitingExists(selector, delay, callback); }, delay); } else { callback(); } } }; waitingNotExists = function (selectorExists, selectorNotExists, delay, callback) { if ( typeof callback !== "undefined" && selectorExists.length && $(selectorExists).length && selectorNotExists.length && !$(selectorNotExists).length && delay > 0 ) { delay = parseInt(delay); delay = delay < 0 ? 0 : delay; setTimeout(function () { if (selectorExists.length && !$(selectorNotExists).length) { callback(); } }, delay); } }; function onLoadjqm(name, hash, _this) { if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) { $("body").addClass("jqm-initied"); } $("body").addClass("swipeignore"); if (typeof $(hash.t).data("ls") !== " undefined" && $(hash.t).data("ls")) { var ls = $(hash.t).data("ls"), ls_timeout = 0, v = ""; if ($(hash.t).data("ls_timeout")) ls_timeout = $(hash.t).data("ls_timeout"); ls_timeout = ls_timeout ? Date.now() + ls_timeout * 1000 : ""; if (typeof localStorage !== "undefined") { var val = localStorage.getItem(ls); try { v = JSON.parse(val); } catch (e) { v = val; } if (v != null) { localStorage.removeItem(ls); } v = {}; v["VALUE"] = "Y"; v["TIMESTAMP"] = ls_timeout; // default: seconds for 1 day localStorage.setItem(ls, JSON.stringify(v)); } else { var val = $.cookie(ls); if (!val) $.cookie(ls, "Y", { expires: ls_timeout }); // default: seconds for 1 day } var dopClasses = hash.w.find(".marketing-popup").data("classes"); if (dopClasses) { hash.w.addClass(dopClasses); } } //update show password //show password eye if (hash.w.hasClass("auth_frame")) { hash.w.find(".form-group:not(.eye-password-ignore) [type=password]").each(function (item) { $(this).closest(".form-group").addClass("eye-password"); }); } $.each($(hash.t).get(0).attributes, function (index, attr) { if (/^data\-autoload\-(.+)$/.test(attr.nodeName)) { var key = attr.nodeName.match(/^data\-autoload\-(.+)$/)[1]; var el = $('input[name="' + key.toUpperCase() + '"]'); if (!el.length) { //is form block el = $('input[data-sid="' + key.toUpperCase() + '"]'); } var value = $(hash.t).data("autoload-" + key); value = String(value).replace(/%99/g, "\\"); // replace symbol \ el.val(BX.util.htmlspecialcharsback(value)).attr("readonly", "readonly"); el.closest(".form-group").addClass("input-filed"); el.attr("title", el.val()); } }); if (hash.c.noOverlay === undefined || (hash.c.noOverlay !== undefined && !hash.c.noOverlay)) { let diffWidth; if ((diffWidth = window.innerWidth - document.documentElement.clientWidth)) { $("body").css({ "padding-right": diffWidth + "px" }); } $("body").css({ overflow: "hidden", height: "100vh" }); hash.w.closest("#popup_iframe_wrapper").css({ "z-index": 3000, display: "flex" }); } var eventdata = { action: "loadForm" }; BX.onCustomEvent("onCompleteAction", [eventdata, $(hash.t)[0]]); if ($(hash.t).data("autohide")) { $(hash.w).data("autohide", $(hash.t).data("autohide")); } if (name == "order_product") { if ($(hash.t).data("product")) { $('input[name="PRODUCT"]').closest(".form-group").addClass("input-filed"); $('input[name="PRODUCT"]') .val($(hash.t).data("product")) .attr("readonly", "readonly") .attr("title", $('input[name="PRODUCT"]').val()); } } if (name == "question") { if ($(hash.t).data("product")) { $('input[name="NEED_PRODUCT"]').closest(".form-group").addClass("input-filed"); $('input[name="NEED_PRODUCT"]') .val($(hash.t).data("product")) .attr("readonly", "readonly") .attr("title", $('input[name="NEED_PRODUCT"]').val()); } } //show one_click_buy block if (name === "ocb") { const parent = hash.w.find(".flexbox"); const item = _this.closest(".js-popup-block"); var data = item.find("[data-item]").data("item"); if (typeof data === "undefined" || !data) { data = {}; } parent.addClass("flexbox--direction-row-reverse"); parent.find(".form.popup").addClass("flex-grow-1"); let goodsNode = '<div class="goods-popup">'; //image block let imageNode = '<div class="goods-popup__image image-list-wrapper">'; //stiker if (item.find(".sticker").length) { imageNode += '<div class="sticker sticker--upper">'; imageNode += item.find(".sticker").html(); imageNode += "</div>"; } //image imageNode += '<div class="image">'; imageNode += '<img class="img-responsive" src="' + (item.find(".image-list__link link[itemprop=image]").length ? item.find(".image-list__link link[itemprop=image]:first").attr("href") : item.find(".image-list-wrapper img:first").length ? item.find(".image-list-wrapper img:first").attr("src") : arAsproOptions.SITE_TEMPLATE_PATH + "/images/svg/noimage_product.svg") + '" />'; imageNode += "</div>"; imageNode += "</div>"; goodsNode += imageNode; //info block let infoNode = '<div class="goods-popup__info">'; //link if (item.find(".js-popup-title").attr("href")) { infoNode += '<a class="dark_link switcher-title goods-popup__info-link font_15" href="' + item.find(".js-popup-title").attr("href") + '">'; infoNode += data ? data.NAME : item.find(".js-popup-title").html(); infoNode += "</a>"; } else { infoNode += '<div class="color_333 switcher-title goods-popup__info-link font_15">'; infoNode += data ? data.NAME : item.find(".js-popup-title").html(); infoNode += "</div>"; } //article if (item.find(".js-popup-info").length) { infoNode += '<div class="line-block line-block--20 flexbox--wrap goods-popup__info-more">'; infoNode += item.find(".js-popup-info").html(); infoNode += "</div>"; } infoNode += "</div>"; goodsNode += infoNode; //price block if (item.find(".js-popup-price .price").length) { let priceNode = '<div class="goods-popup__price">'; priceNode += item.find(".js-popup-price").html(); priceNode += "</div>"; goodsNode += priceNode; } goodsNode += "</div>"; $(goodsNode).appendTo(parent); } if (name == "fast_view" && $(".smart-filter-filter").length) { var navButtons = '<div class="navigation-wrapper-fast-view">' + '<div class="fast-view-nav prev bg-theme-hover" data-fast-nav="prev">' + '<i class="svg left">' + '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' + "</i>" + "</div>" + '<div class="fast-view-nav next bg-theme-hover" data-fast-nav="next">' + '<i class="svg right">' + '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969"><path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/></svg>' + "</i>" + "</div>" + "</div>"; // hash.w.addClass("no_custom_scroll"); hash.w.closest("#popup_iframe_wrapper").append(navButtons); } if ( arAsproOptions["THEME"]["REGIONALITY_SEARCH_ROW"] == "Y" && (hash.w.hasClass("city_chooser_frame") || hash.w.hasClass("city_chooser_small_frame")) ) { hash.w.addClass("small_popup_regions"); hash.w.addClass("no_custom_scroll"); } if (!hash.w.hasClass("no_custom_scroll")) { hash.w.addClass("show srollbar-custom").css({ opacity: 1 }); InitScrollBar(); } } function onHidejqm(name, hash) { if ($(hash.w).data("autohide")) { eval($(hash.w).data("autohide")); } // hash.w.css('opacity', 0).hide(); hash.w.animate({ opacity: 0 }, 200, function () { hash.w.removeClass("scroll-init srollbar-custom").mCustomScrollbar("destroy"); hash.w.hide(); hash.w.empty(); hash.o.remove(); hash.w.removeClass("show"); hash.w.removeClass("success"); $("body").css({ overflow: "", height: "", "padding-right": "" }); if (!hash.w.closest("#popup_iframe_wrapper").find(".jqmOverlay").length) { hash.w.closest("#popup_iframe_wrapper").css({ "z-index": "", display: "" }); } if (window.matchMedia("(max-width: 991px)").matches) { $("body").removeClass("all_viewed"); } if (!$(".jqmOverlay:not(.mobp)").length || $(".jqmOverlay.waiting").length) { $("body").removeClass("jqm-initied"); } $("body").removeClass("swipeignore"); $("body").removeClass("overflow-block"); if (name == "fast_view") { $(".fast_view_popup").remove(); var navButtons = hash.w.closest("#popup_iframe_wrapper").find(".navigation-wrapper-fast-view"); navButtons.remove(); } }); // window.b24form = false; } function parseUrlQuery() { var data = {}; if (location.search) { var pair = location.search.substr(1).split("&"); for (var i = 0; i < pair.length; i++) { var param = pair[i].split("="); data[param[0]] = param[1]; } } return data; } function scroll_block(block) { if (block.length) { var topPos = block.offset().top, headerH = $("header").outerHeight(true, true); if ($(".stores_tab").length) { $(".stores_tab").addClass("active").siblings().removeClass("active"); } else { $(".prices_tab").addClass("active").siblings().removeClass("active"); if ($(".prices_tab .opener").length && !$(".prices_tab .opener .opened").length) { var item = $(".prices_tab .opener").first(); item.find(".opener_icon").addClass("opened"); item.parents("tr").addClass("nb"); item.parents("tr").next(".offer_stores").find(".stores_block_wrap").slideDown(200); } } $("html,body").animate({ scrollTop: topPos - 80 }, 150); } } $.fn.jqmEx = function () { $(this).each(function () { var _this = $(this); var name = _this.data("name"); name = typeof name === "undefined" || !name.length ? "noname" : name; if (_this.attr("disabled") != "disabled" || !_this.hasClass("clicked")) { var extClass = "", paramsStr = "", trigger = "", arTriggerAttrs = {}; // call counter if (typeof $.fn.jqmEx.counter === "undefined") { $.fn.jqmEx.counter = 0; } else { ++$.fn.jqmEx.counter; } // trigger attrs and params $.each(_this.get(0).attributes, function (index, attr) { var attrName = attr.nodeName; var attrValue = _this.attr(attrName); if (attrName !== "onclick") { trigger += "[" + attrName + '="' + attrValue + '"]'; arTriggerAttrs[attrName] = attrValue; } if (/^data\-param\-(.+)$/.test(attrName)) { var key = attrName.match(/^data\-param\-(.+)$/)[1]; paramsStr += key + "=" + attrValue + "&"; } }); var triggerAttrs = JSON.stringify(arTriggerAttrs); var encTriggerAttrs = ""; // var encTriggerAttrs = encodeURIComponent(triggerAttrs); // console.log(trigger); // popup url var script = arAsproOptions["SITE_DIR"] + "ajax/form.php"; if (name == "auth") { script += "?" + paramsStr + "auth=Y"; } else { script += "?" + paramsStr + 'data-trigger=""'; } // ext frame class if (_this.closest("#fast_view_item").length) { extClass = "fast_view_popup"; } // use overlay? var noOverlay = _this.data("noOverlay") == "Y"; // unique frame to each trigger if (noOverlay) { var frame = $( '<div class="' + name + "_frame " + extClass + ' jqmWindow popup" data-popup="' + $.fn.jqmEx.counter + '" data-trigger="' + encTriggerAttrs + '"></div>' ).appendTo("body"); } else { var frame = $( '<div class="' + name + "_frame " + extClass + ' jqmWindow popup" data-popup="' + $.fn.jqmEx.counter + '" data-trigger="' + encTriggerAttrs + '"></div>' ).appendTo("#popup_iframe_wrapper"); } frame.jqm({ ajax: script, trigger: trigger, noOverlay: noOverlay, onLoad: function (hash) { onLoadjqm(name, hash, _this); }, onHide: function (hash) { onHidejqm(name, hash, _this); }, }); } return; }); }; InitOwlSlider = function () { $(".owl-carousel:not(.owl-loaded):not(.appear-block)").each(function () { var slider = $(this); var options; var svg = '<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 1L1 6L6 11" stroke="#333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'; var defaults = { navText: [ '<i class="owl-carousel__button owl-carousel__button--left colored_theme_bg_hover">' + svg + "</i>", '<i class="owl-carousel__button owl-carousel__button--right colored_theme_bg_hover">' + svg + "</i>", ], dotsContainer: slider.siblings(".owl-carousel__dots"), }; var config = $.extend({}, defaults, options, slider.data("plugin-options")); slider.siblings(".owl-carousel__dots").on("click", ".owl-carousel__dot", function () { var _this = $(this); var sliderData = slider.data("owl.carousel"); slider.trigger("to.owl.carousel", [_this.index(), 300]); if (sliderData.settings.autoplayHoverPause) { slider.trigger("mouseover.owl.autoplay"); } }); if (slider.hasClass("destroyed")) { slider.owlCarousel(config); slider.removeClass("destroyed"); return; } slider.on("initialized.owl.carousel", function (event) { var eventdata = { slider: $(event.target), data: event }; BX.onCustomEvent("onSliderInitialized", [eventdata]); BX.onCustomEvent("onSlide", [eventdata]); $(event.target).removeClass("loading-state"); $(event.target).find(".owl-item:first").addClass("current"); if (typeof sliceItemBlockSlide === "function") { sliceItemBlockSlide(); } }); // if slider was inited on animated scrolling to block, than need rescroll if ($("body.scrolling-state").length) { slider.on("initialized.owl.carousel", function (event) { setTimeout(function () { scrollToBlock.rescroll(); }, 100); }); } slider.on("change.owl.carousel", function (event) { // var eventdata = {slider: $(event.target)}; // BX.onCustomEvent('onSlide', [eventdata]); }); slider.owlCarousel(config); slider.on("resized.owl.carousel", function (event) { if (typeof sliceItemBlockSlide === "function") { sliceItemBlockSlide({ resize: false }); } }); slider.on("mouseover.owl.autoplay", function (event) { var slider = $(event.target).closest(".owl-carousel"); var sliderData = slider.data("owl.carousel"); var dots = slider.siblings(".owl-carousel__dots--autoplay"); if (typeof sliderData !== "undefined") { var bNeedStopDotsAnimation = sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length; if (bNeedStopDotsAnimation) { var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie"); if (animationBlock.length) { animationBlock.css("animation-play-state", "paused"); } } } }); slider.on("mouseleave.owl.autoplay", function (event) { var slider = $(event.target).closest(".owl-carousel"); var sliderData = slider.data("owl.carousel"); var dots = slider.siblings(".owl-carousel__dots--autoplay"); if (typeof sliderData !== "undefined") { var bNeedStopDotsAnimation = sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length; var rotating = sliderData._states.current.rotating; if (bNeedStopDotsAnimation && rotating) { var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie"); if (animationBlock.length) { animationBlock.css("animation-play-state", ""); } } } }); slider.on("stop.owl.autoplay", function (event) { var slider = $(event.target); var sliderData = slider.data("owl.carousel"); var dots = slider.siblings(".owl-carousel__dots--autoplay"); if (typeof sliderData !== "undefined") { var bNeedStopDotsAnimation = sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length; if (bNeedStopDotsAnimation) { var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie"); if (animationBlock.length) { dots.find(".owl-carousel__dot.active").addClass("reset-animation"); animationBlock.css("animation-play-state", "paused"); } } } }); slider.on("play.owl.autoplay", function (event) { var slider = $(event.target); var sliderData = slider.data("owl.carousel"); var dots = slider.siblings(".owl-carousel__dots--autoplay"); if (typeof sliderData !== "undefined") { var bNeedStopDotsAnimation = sliderData.settings.autoplay && sliderData.settings.autoplayHoverPause && dots.length; dots.find(".owl-carousel__dot.reset-animation").removeClass("reset-animation"); if (bNeedStopDotsAnimation && !slider.is(":hover") && !dots.is(":hover")) { var animationBlock = dots.find(".owl-carousel__dot .owl-carousel__dot-pie"); if (animationBlock.length) { animationBlock.css("animation-play-state", ""); } } } }); slider.on("touchstart.owl.core", function (event) { slider.trigger("stop.owl.autoplay"); }); slider.siblings(".owl-carousel__dots--autoplay").on("mouseover", function (event) { var sliderData = slider.data("owl.carousel"); if (sliderData.settings.autoplayHoverPause) { slider.trigger("mouseover.owl.autoplay"); } }); slider.on("changed.owl.carousel", function (event) { var $slider = $(event.target); var sliderData = $slider.data("owl.carousel"); var pluginOptions = $slider.data("pluginOptions"); var eventdata = { slider: $slider, data: event }; BX.onCustomEvent("onSlide", [eventdata]); if (pluginOptions) { // click .ajax_load_btn if ($slider.parent().find(".ajax_load_btn").length) { if (sliderData._current + 1 + sliderData.settings.items >= sliderData._items.length) { $slider.parent().find(".ajax_load_btn").trigger("click"); } } if (typeofExt(pluginOptions) === "object") { if ("index" in pluginOptions) { if ($(".gallery-view_switch").length) { $(".gallery-view_switch__count-wrapper--big .gallery-view_switch__count-value").text( event.item.index + 1 + "/" + event.item.count ); } } if ("relatedTo" in pluginOptions) { var relatedClass = pluginOptions.relatedTo, relatedBlock = $(relatedClass); if (relatedBlock.length && sliderData) { if (!sliderData.loop) { var current = event.item.index; } else { var count = event.item.count - 1; var current = Math.round(event.item.index - event.item.count / 2 - 0.5); if (current < 0) current = count; if (current > count) current = 0; } relatedBlock.find(".owl-item").removeClass("current").eq(current).addClass("current"); var onscreen = relatedBlock.find(".owl-item.active").length - 1; var start = relatedBlock.find(".owl-item.active").first().index(); var end = relatedBlock.find(".owl-item.active").last().index(); if (current > end) relatedBlock.data("owl.carousel").to(current, 100, true); if (current < start) relatedBlock.data("owl.carousel").to(current - onscreen, 100, true); // $(".owl-slider-"+id).trigger('to.owl.carousel', [itemCarousel]) } } } } }); slider.on("translated.owl.carousel", function (event) {}); if ("clickTo" in config) { var relatedClass = config.clickTo, magnifier = "magnifier" in config; slider.on("click", ".owl-item", function (e) { e.preventDefault(); var _this = $(this), number = _this.index(); if (magnifier) { if ($(relatedClass).closest(".product-container").find(".zoom_picture").length) { $(relatedClass) .closest(".product-container") .find(".zoom_picture") .attr("data-large", _this.find(".product-detail-gallery__item").data("big")); $(relatedClass) .closest(".product-container") .find(".zoom_picture") .attr("xoriginal", _this.find(".product-detail-gallery__item").data("big")); $(relatedClass) .closest(".product-container") .find(".zoom_picture") .attr("src", _this.find(".product-detail-gallery__item img").attr("src")); } _this.siblings("").removeClass("current"); _this.addClass("current"); } else { $(relatedClass).data("owl.carousel").to(number, 300, true); } }); } }); }; InitFlexSlider = function () { $(".flexslider:not(.thmb):not(.flexslider-init):not(.appear-block):visible").each(function () { var slider = $(this); var options; var defaults = { animationLoop: false, controlNav: false, directionNav: true, animation: "slide", }; var config = $.extend({}, defaults, options, slider.data("plugin-options")); if (typeof config.counts != "undefined" && config.direction !== "vertical") { var slide_counts = ""; if (typeof slider.data("plugin-options") != "undefined") { if ("slide_counts" in slider.data("plugin-options")) slide_counts = slider.data("plugin-options").slide_counts; } config.maxItems = getGridSize(config.counts); config.minItems = getGridSize(config.counts); if (slide_counts) config.move = slide_counts; else config.move = getGridSize(config.counts); config.itemWidth = 200; } // custom direction nav if (typeof config.customDirection != "undefined") config.customDirectionNav = $(config.customDirection); (config.prevText = BX.message("FANCY_PREV")), //String: Set the text for the "previous" directionNav item (config.nextText = BX.message("FANCY_NEXT")), (config.after = config.start = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlide", [eventdata]); }); config.before = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlideBefore", [eventdata]); }; config.end = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlideEnd", [eventdata]); }; /*if(typeof(config.nav) == 'undefined') slider.addClass('dark-nav');*/ slider.flexslider(config).addClass("flexslider-init"); if (config.controlNav) slider.addClass("flexslider-control-nav"); if (config.directionNav) slider.addClass("flexslider-direction-nav"); }); }; InitFlexSliderClass = function (class_name) { //$('.flexslider:not(.thmb):not(.flexslider-init)').each(function(){ var slider = $(class_name); var options; var defaults = { animationLoop: false, controlNav: false, directionNav: true, animation: "slide", }; var config = $.extend({}, defaults, options, slider.data("plugin-options")); var slide_counts = ""; if (typeof slider.data("plugin-options") != "undefined") { if ("slide_counts" in slider.data("plugin-options")) slide_counts = slider.data("plugin-options").slide_counts; } if (typeof config.counts != "undefined" && config.direction !== "vertical") { config.maxItems = getGridSize(config.counts); config.minItems = getGridSize(config.counts); config.move = getGridSize(config.counts); config.itemWidth = 200; } if (slide_counts) config.move = slide_counts; // custom direction nav if (typeof config.customDirection != "undefined") config.customDirectionNav = $(config.customDirection); (config.prevText = BX.message("FANCY_PREV")), //String: Set the text for the "previous" directionNav item (config.nextText = BX.message("FANCY_NEXT")), (config.after = config.start = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlide", [eventdata]); }); config.before = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlideBefore", [eventdata]); }; config.end = function (slider) { var eventdata = { slider: slider }; BX.onCustomEvent("onSlideEnd", [eventdata]); }; slider.flexslider(config).addClass("flexslider-init"); if (config.controlNav) slider.addClass("flexslider-control-nav"); if (config.directionNav) slider.addClass("flexslider-direction-nav"); //}); }; InitFlexSliderMin = function () { $(".bxSlider.top-small").on("mousedown", ".slides li", function () { var index = $(this).data("slide_key"); $(this).siblings().removeClass("flex-active-slide"); $(this).addClass("flex-active-slide"); $(this) .siblings('[data-slide_key="' + index + '"]') .addClass("flex-active-slide"); $(".top-bigs").data("flexslider").flexAnimate(index); }); }; SliceHeightBlocks = function () { $('*[data-slice="Y"]').each(function () { var slice_els = $(this).find('*[data-slice-block="Y"]'); if (slice_els.length) { var slice_params = {}; if (slice_els.data("slice-params")) slice_params = slice_els.data("slice-params"); slice_els.sliceHeight(slice_params); } }); }; createTableCompare = function (originalTable, appendDiv, cloneTable) { try { if ($(".tarifs .head-block:visible").length) { var clone = originalTable.clone().addClass("clone"); if (cloneTable.length) { cloneTable.remove(); appendDiv.html(""); appendDiv.html(clone); } else { appendDiv.append(clone); } } } catch (e) { } finally { } }; InitTopestMenuGummi = function () { if (!isOnceInited) { function _init() { var arItems = $menuTopest.find(".menu-topest__item"); var cntItems = arItems.length; if (cntItems) { var itemsWidth = 0; for (var i = 0; i < cntItems; ++i) { var item = arItems.eq(i); var itemWidth = item.actual("outerWidth", { includeMargin: true }); arItemsHideWidth[i] = (itemsWidth += itemWidth) + (i == cntItems - 1 ? 0 : moreWidth); } } } function _gummi() { var rowWidth = $menuTopest.actual("innerWidth"); var arItems = $menuTopest.find(".menu-topest__item"); var cntItems = arItems.length; var arItemsToRemove = []; if (cntItems) { var bMore = false; var moreItems = []; for (var i = cntItems - 1; i >= 0; --i) { var item = arItems.eq(i); var bInMore = item.parents(".menu-topest__more").length > 0; if (!bInMore) { if (arItemsHideWidth[i] > rowWidth + 1) { if (!bMore) { bMore = true; more.removeClass("hidden"); } var clone = item.clone(); clone.find(">a").addClass("dark_font"); moreItems.push(clone[0]); arItemsToRemove.push(i); } else { break; } } } $(moreItems).prependTo(moreDropdown); if (!bMore) { for (var i = 0; i < cntItems; ++i) { var item = arItems.eq(i); var bInMore = item.parents(".menu-topest__more li").length > 0; if (bInMore) { if (arItemsHideWidth[i] <= rowWidth) { if (i === cntItems - 1) { bMore = false; more.addClass("hidden"); } var clone = item.clone(); clone.find(">a").removeClass("dark_font"); clone.insertBefore(more); item.addClass("cloned"); } } } } if (arItemsToRemove.length) { arItemsToRemove.map(function (elIndex) { $(arItems[elIndex]).remove(); }); } $menuTopest.find(".menu-topest__item.cloned").remove(); $menuTopest.closest(".menu-topest__wrapper").addClass("dotted-complete"); var wrapper = $menuTopest.closest(".hide-dotted"); if (wrapper.length) { wrapper.addClass("dotted-complete"); } } } var $menuTopest = $(".menu-topest"); if ($menuTopest.length) { var more = $menuTopest.find(".menu-topest__more"); var moreDropdown = more.find(">.dropdown"); var moreWidth = more.actual("outerWidth", { includeMargin: true }); var arItemsHideWidth = []; ignoreResize.push(true); _init(); _gummi(); ignoreResize.pop(); BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); _gummi(); } catch (e) { } finally { ignoreResize.pop(); } }); } } }; CheckHeaderFixedMenu = function () { if ( arAsproOptions["THEME"]["HEADER_FIXED"] == 2 && $("#headerfixed .js-nav").length && window.matchMedia("(min-width: 992px)").matches ) { $("#headerfixed .js-nav").css("width", "0"); var all_width = 0, cont_width = $("#headerfixed .maxwidth-theme").actual("width"), padding_menu = $("#headerfixed .logo-row.v2 .menu-block").actual("outerWidth") - $("#headerfixed .logo-row.v2 .menu-block").actual("width"); $("#headerfixed .logo-row.v2 > .inner-table-block").each(function () { if (!$(this).hasClass("menu-block")) all_width += $(this).actual("outerWidth"); }); $("#headerfixed .js-nav").width(cont_width - all_width - padding_menu); } }; /*function CheckTopMenuPadding() { if ($(".logo_and_menu-row .right-icons .wrap_icon").length && $(".logo_and_menu-row .menu-row").length) { var menuPosition = $(".menu-row .menu-only").position().left, maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32, leftPadding = 0, rightPadding = 0; $(".logo_and_menu-row .menu-row>div") .each(function (indx) { if (!$(this).hasClass("menu-only")) { var elementPosition = $(this).position().left, elementWidth = $(this).outerWidth(); if (elementPosition > menuPosition) { rightPadding += elementWidth; } else { leftPadding += elementWidth; } } }) .promise() .done(function () { $(".logo_and_menu-row .menu-only").css({ "padding-left": leftPadding, "padding-right": rightPadding + 1 }); }); } };*/ /*function CheckTopMenuOncePadding() { if ($(".menu-row.sliced .right-icons .wrap_icon").length) { var menuPosition = $(".menu-row .menu-only").position().left, maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32, leftPadding = 0, rightPadding = 0; $(".menu-row.sliced .maxwidth-theme>div>div") .each(function (indx) { if (!$(this).hasClass("menu-only")) { var elementPosition = $(this).position().left, elementWidth = $(this).outerWidth(); if (elementPosition > menuPosition) { rightPadding += elementWidth; } else { leftPadding += elementWidth; } } }) .promise() .done(function () { $(".menu-row.sliced .menu-only").css({ "padding-left": leftPadding, "padding-right": rightPadding + 1 }); }); } }; */ CheckSearchWidth = function () { if ($(".logo_and_menu-row .search_wrap").length) { var searchPosition = $(".logo_and_menu-row .search_wrap").position().left, maxWidth = $(".logo_and_menu-row .maxwidth-theme").width() - 32; width = 0; $(".logo_and_menu-row .maxwidth-theme>div") .each(function () { if (!$(this).hasClass("search_wrap")) { var elementWidth = $(this).outerWidth(); width = width ? width - elementWidth : maxWidth - elementWidth; } }) .promise() .done(function () { $(".logo_and_menu-row .search_wrap").outerWidth(width).css({ opacity: 1, visibility: "visible" }); }); } }; waitCounter = function (idCounter, delay, callback) { var obCounter = window["yaCounter" + idCounter]; if (typeof obCounter == "object") { if (typeof callback == "function") callback(); } else { setTimeout(function () { waitCounter(idCounter, delay, callback); }, delay); } }; var waitReCaptcha = function (delay, callback) { if (typeof grecaptcha == "object") { if (typeof callback == "function") { callback(); } } else { setTimeout(function () { waitReCaptcha(delay, callback); }, delay); } }; var reCaptchaRender = function (response) { if ($(".g-recaptcha:not(.rendered)").length) { waitReCaptcha(50, function () { $(".g-recaptcha:not(.rendered)").each(function () { $this = $(this); $this.addClass("rendered"); var id = grecaptcha.render($this[0], { sitekey: $this.attr("data-sitekey"), theme: $this.attr("data-theme"), size: $this.attr("data-size"), callback: $this.attr("data-callback"), }); $this.attr("data-widgetid", id); }); }); } }; var reCaptchaVerify = function (response) { $(".g-recaptcha.rendered").each(function () { var id = $(this).attr("data-widgetid"); if (typeof id !== "undefined") { if (grecaptcha.getResponse(id) != "") { $(this).closest("form").find(".recaptcha").valid(); } } }); }; var reCaptchaVerifyHidden = function (response) { $(".g-recaptcha.rendered:last").each(function () { var id = $(this).attr("data-widgetid"); if (typeof id !== "undefined" && response) { if (!$(this).closest("form").find(".g-recaptcha-response").val()) $(this).closest("form").find(".g-recaptcha-response").val(response); $(this).closest("form").submit(); } }); }; waitYTPlayer = function (delay, callback) { if (typeof YT !== "undefined" && YT && YT.Player) { if (typeof callback == "function") callback(); } else { setTimeout(function () { waitYTPlayer(delay, callback); }, delay); } }; var scrollToTopAnimateClassIn = false; var scrollToTopAnimateClassOut = false; var $body = {}; var $scrolltotop = {}; var isOnceInited = false; if (navigator.userAgent.indexOf("Edge") != -1) document.documentElement.className += " edge"; initFull = function () { checkMobileRegion(); }; var isFrameDataReceived = false; if (typeof window.frameCacheVars !== "undefined") { BX.addCustomEvent(window, "onFrameDataRequestFail", function (response) { // console.log(response); }); BX.addCustomEvent("onFrameDataReceivedBefore", function () { // stop ya metrika webvisor DOM indexer pauseYmObserver(); }); BX.addCustomEvent("onFrameDataReceived", function (json) { initFull(); // resume ya metrika webvisor // (100ms sliceHeight) + (200ms mCustomScroll) + (100ms lazyload) setTimeout(resumeYmObserver, 400); isFrameDataReceived = true; }); } else { $(document).ready(initFull); } scrollPreviewBlock = function () { scrollToBlock($.cookie("scroll_block")); $.cookie("scroll_block", null); }; checkMobileRegion = function () { if ($(".confirm_region").length) { if (!$(".top_mobile_region").length) $('<div class="top_mobile_region"><div class="confirm_region"></div></div>').insertBefore($(".body")); $(".top_mobile_region .confirm_region").html($(".regions .confirm_region").html()); } }; $(document).on("click", ".map-items__item", function () { var _this = $(this), itemID = _this.data("id"), animationTime = 200; _this.closest(".map-wrapper").find(".index-block__subtitle").addClass("hidden"); _this.closest(".map-wrapper").find(".index-block__title-wrapper").addClass("hidden"); _this.closest(".map-wrapper").find(".index-block__preview").addClass("hidden"); _this.closest(".map-container").find(" > .map-detail-items__item-svg").fadeIn(animationTime); _this.closest(".map-items").fadeOut(animationTime, function () { _this.closest(".map-container").find(".map-detail-items").fadeIn(animationTime); _this .closest(".map-container") .find(".map-detail-items .map-detail-items__item[data-id=" + itemID + "]") .fadeIn(animationTime); var arCoordinates = _this.data("coordinates").split(","); if (typeof map === "object" && map !== null && "setCenter" in map) { if ($(".bx-google-map").length) { map.setCenter({ lat: +arCoordinates[0], lng: +arCoordinates[1] }); map.setZoom(17); } else { map.setCenter([arCoordinates[0], arCoordinates[1]], 15); } } }); }); $(document).on("click", ".map-detail-items__item-svg", function () { var _this = $(this).closest(".map-container").find(".map-detail-items__item:visible"), animationTime = 200; _this.fadeOut(animationTime); _this.closest(".map-container").find(" > .map-detail-items__item-svg").fadeOut(10); _this .closest(".map-container") .find(".map-detail-items") .fadeOut(animationTime, function () { _this.closest(".map-container").find(".map-items").fadeIn(animationTime); _this.closest(".map-wrapper").find(".index-block__subtitle").removeClass("hidden"); _this.closest(".map-wrapper").find(".index-block__title-wrapper").removeClass("hidden"); _this.closest(".map-wrapper").find(".index-block__preview").removeClass("hidden"); if (typeof map === "object" && map !== null) { if (typeof clusterer === "object" && clusterer !== null && "setBounds" in map && "getBounds" in clusterer) { map.setBounds(clusterer.getBounds(), { zoomMargin: 40, // checkZoomRange: true }); } else if (typeof bounds === "object" && bounds !== null && "fitBounds" in map && "getCenter" in bounds) { map.fitBounds(bounds); } } }); }); $(document).ready(function () { scrollToTop(); InitScrollBar(); initCountdown(); // ripple effect for buttons $.ripple(".btn:not(.btn--no-rippple)", { debug: false, // Turn Ripple.js logging on/off on: "mouseenter", // The event to trigger a ripple effect opacity: 0.4, // The opacity of the ripple color: "auto", // Set the background color. If set to "auto", it will use the text color multi: true, // Allow multiple ripples per element duration: 0.6, // The duration of the ripple easing: "linear", // The CSS3 easing function of the ripple }); if (!jQuery.browser.safari) { CheckTopMenuPadding(); CheckTopMenuOncePadding(); CheckHeaderFixed(); CheckTopMenuDotted(); MegaMenuFixed(); CheckSearchWidth(); InitTopestMenuGummi(); isOnceInited = true; /* setTimeout(function () { $(window).resize(); // need to check resize flexslider & menu }, 350); */ setTimeout(function () { $(window).scroll(); }, 250); // need to check position fixed ask block } else { setTimeout(function () { $(window).resize(); // need to check resize flexslider & menu setTimeout(function () { CheckTopMenuPadding(); CheckTopMenuOncePadding(); CheckHeaderFixed(); CheckTopMenuDotted(); MegaMenuFixed(); CheckSearchWidth(); InitTopestMenuGummi(); isOnceInited = true; setTimeout(function () { $(window).scroll(); }, 50); }, 50); }, 350); } if (arAsproOptions["THEME"]["USE_DEBUG_GOALS"] === "Y") { $.cookie("_ym_debug", "1"); } else { $.cookie("_ym_debug", null); } // --- Bind mobile menu --- var $mobileMenu = $("#mobilemenu"); if ($mobileMenu.length) { $mobileMenu.isOpen = $mobileMenu.hasClass("show"); $mobileMenu.isLeftSide = $("body").hasClass("mmenu_leftside"); $mobileMenuNlo = $mobileMenu.find("[data-nlo]"); $(document).on("click", "#mobileheader .burger", function () { SwipeMobileMenu(); CloseMobilePhone(); }); $(document).on("click", ".mobilemenu__close", function () { CloseMobileMenu(); $(".mobilemenu__menu-item").removeClass("mobilemenu__menu-item--expanded"); }); $(document).on("click", ".mobilemenu__menu .toggle_block", function (e) { var $this = $(this); var $item = $this.closest(".mobilemenu__menu-item"); if ($item.hasClass("mobilemenu__menu-item--parent")) { e.preventDefault(); $item.addClass("mobilemenu__menu-item--expanded"); MoveMobileMenuWrapNext(); } }); $(document).on("click", ".mobilemenu__menu a", function (e) { var $this = $(this); var $item = $this.closest(".mobilemenu__menu-item"); if ($item.hasClass("mobilemenu__menu-item--back")) { e.preventDefault(); MoveMobileMenuWrapPrev(); setTimeout(function () { $item.closest(".mobilemenu__menu-item--expanded").removeClass("mobilemenu__menu-item--expanded"); }, 400); } else { var href = $this.attr("href"); if (typeof href !== "undefined") { if (href.length) { window.location.href = href; window.location.reload(); } else { if ($item.hasClass("mobilemenu__menu-item--parent")) { e.preventDefault(); $item.addClass("mobilemenu__menu-item--expanded"); MoveMobileMenuWrapNext(); return; } else if ($item.hasClass("mobilemenu__menu-item--title")) { e.preventDefault(); return; } } } CloseMobileMenu(); } }); if ($mobileMenu.isLeftSide) { $mobileMenu.parent().append('<div class="mobilemenu__overlay"></div>'); var $mobileMenuOverlay = $(".mobilemenu__overlay"); $mobileMenuOverlay.click(function () { if ($mobileMenu.isOpen) { CloseMobileMenu(); } }); $(document).swiperight(function (e) { if ( !$(e.target).closest(".owl-carousel").length && !$(e.target).closest(".swipeignore").length && !$(e.target).closest(".mobile-scrolled").length ) { var partWindowWidth = document.documentElement.clientWidth / 3; var swipeStart = e.swipestart.coords[0]; if (swipeStart <= partWindowWidth) { OpenMobileMenu(); } } }); $(document).swipeleft(function (e) { if ( !$(e.target).closest(".owl-carousel").length && !$(e.target).closest(".swipeignore").length && !$(e.target).closest(".mobile-scrolled").length ) { CloseMobileMenu(); } }); } else { $(document).on("click", "#mobileheader", function (e) { if ( !$(e.target).closest("#mobilemenu").length && !$(e.target).closest(".burger").length && $mobileMenu.isOpen ) { CloseMobileMenu(); } }); } OpenMobileMenu = function () { if (!$mobileMenu.isOpen && window.matchMedia("(max-width: 991px)").matches) { // hide styleswitcher if ($(".style-switcher").hasClass("active")) { $(".style-switcher .switch").trigger("click"); } $(".style-switcher .switch").hide(); $(".style-switcher .switch_presets").hide(); if ($mobileMenu.isLeftSide) { setTimeout(function () { // hide body scroll $("body").addClass("overflow-block"); // blur body $("#mobileheader").addClass("filter-none"); $("#mobilemenu").addClass("filter-none"); $("body").addClass("jqm-initied"); // show overlay $mobileMenuOverlay.fadeIn("fast"); }, 100); } else { // hide body scroll $("body").addClass("overflow-block"); // set menu top = bottom of header $mobileMenu.css({ top: +($("#mobileheader")[0].getBoundingClientRect().top + $("#mobileheader").height()) + "px", }); // change burger icon // $('#mobileheader .burger').addClass('c'); } // show menu $mobileMenu.addClass("show"); $mobileMenu.isOpen = true; var $inner = $mobileMenu.find(".mobilemenu__inner"); var params = $inner.data("params"); if (typeof params === "undefined") { params = { depth: 0, scroll: {}, height: {}, }; } $inner.data("params", params); if ($mobileMenuNlo.length) { if (!$mobileMenuNlo.hasClass("nlo-loadings")) { $mobileMenuNlo.addClass("nlo-loadings"); setTimeout(function () { $.ajax({ data: { nlo: $mobileMenuNlo.attr("data-nlo") }, error: function () { $mobileMenuNlo.removeClass("nlo-loadings"); }, complete: function (jqXHR, textStatus) { if (textStatus === "success" || jqXHR.status == 404) { var ob = BX.processHTML($.trim(jqXHR.responseText)); BX.ajax.processScripts(ob.SCRIPT); $mobileMenuNlo.replaceWith(ob.HTML); } }, }); }, 300); } } } }; CloseMobileMenu = function () { if ($mobileMenu.isOpen) { // hide menu $mobileMenu.removeClass("show"); $mobileMenu.isOpen = false; // show styleswitcher $(".style-switcher .switch").show(); $(".style-switcher .switch_presets").show(); if ($mobileMenu.isLeftSide) { setTimeout(function () { // hide overlay $mobileMenuOverlay.fadeOut("fast"); // show body scroll $("body").removeClass("overflow-block"); // unblur body $("body").removeClass("jqm-initied"); $("#mobilemenu").removeClass("filter-none"); $("#mobileheader").removeClass("filter-none"); }, 100); } else { // change burger icon // $('#mobileheader .burger').removeClass('c'); // show body scroll $("body").removeClass("overflow-block"); } setTimeout(function () { var $scroller = $mobileMenu.find(".mobilemenu"); var $inner = $mobileMenu.find(".mobilemenu__inner"); var params = $inner.data("params"); params.depth = 0; $inner.data("params", params).attr("style", ""); $mobileMenu.scrollTop(0); $scroller.css("height", ""); }, 400); } }; SwipeMobileMenu = function () { if ($mobileMenu.isOpen) { CloseMobileMenu(); } else { OpenMobileMenu(); } }; CheckMobileMenu = function () { if (!window.matchMedia("(max-width: 991px)").matches) { CloseMobileMenu(); } }; function MoveMobileMenuWrapNext() { var $scroller = $mobileMenu.find(".mobilemenu"); var $inner = $mobileMenu.find(".mobilemenu__inner"); if ($inner.length) { var params = $inner.data("params"); var $dropdownNext = $mobileMenu .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown") .eq(params.depth); if ($dropdownNext.length) { // save scroll position params.scroll[params.depth] = parseInt($mobileMenu.scrollTop()); // height while move animating params.height[params.depth + 1] = Math.max( $dropdownNext.height(), !params.depth ? $inner.height() : $mobileMenu .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown") .eq(params.depth - 1) .height() ); $scroller.css("height", params.height[params.depth + 1] + "px"); // inc depth ++params.depth; // translateX for move $inner.css("transform", "translateX(" + -100 * params.depth + "%)"); // scroll to top setTimeout(function () { $mobileMenu.animate({ scrollTop: 0 }, 200); }, 100); // height on enimating end var h = $dropdownNext.height() + parseInt($dropdownNext.css("padding-top")) + parseInt($dropdownNext.css("padding-bottom")); setTimeout(function () { if (h) { $scroller.css("height", h + "px"); } else { $scroller.css("height", ""); } }, 200); } $inner.data("params", params); } } function MoveMobileMenuWrapPrev() { var $scroller = $mobileMenu.find(".mobilemenu"); var $inner = $mobileMenu.find(".mobilemenu__inner"); if ($inner.length) { var params = $inner.data("params"); if (params.depth > 0) { var $dropdown = $mobileMenu .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown") .eq(params.depth - 1); if ($dropdown.length) { // height while move animating $scroller.css("height", params.height[params.depth] + "px"); // dec depth --params.depth; // translateX for move $inner.css("transform", "translateX(" + -100 * params.depth + "%)"); // restore scroll position setTimeout(function () { $mobileMenu.animate({ scrollTop: params.scroll[params.depth] }, 200); }, 100); // height on enimating end var h = !params.depth ? false : $mobileMenu .find(".mobilemenu__menu-item--expanded>.mobilemenu__menu-dropdown") .eq(params.depth - 1) .height(); setTimeout(function () { if (h) { $scroller.css("height", h + "px"); } else { $scroller.css("height", ""); } }, 200); } } $inner.data("params", params); } } } // --- END Bind mobile menu --- // --- Bind mobile phone --- if ($("#mobilephones").length) { $(document).on("click", ".mobileheader .phones__inner .icon-block__only-icon", function (e) { e.stopPropagation(); SwipeMobilePhone(); }); $(document).on("click", ".mobilephones__menu-item a,.mobilephones__close", function (e) { e.stopPropagation(); CloseMobilePhone(); }); } SwipeMobilePhone = function () { if ($("#mobilephones.show").length) { CloseMobilePhone(); } else { OpenMobilePhone(); } }; OpenMobilePhone = function () { if (!$("#mobilephones.show").length) { CloseMobileMenu(); // show overlay $('<div class="jqmOverlay mobp"></div>').appendTo("body"); // blur body $("#mobileheader").addClass("filter-none"); $("body").addClass("jqm-initied"); // toggle phones setTimeout(function () { $("#mobilephones").slideDown("fast", function () { $("#mobilephones").addClass("show"); }); }, 100); } }; CloseMobilePhone = function () { if ($("#mobilephones.show").length) { // toggle phones setTimeout(function () { $("#mobilephones").slideUp("fast", function () { $("#mobilephones").removeClass("show"); // unblur body $("body").removeClass("jqm-initied"); $("#mobileheader").removeClass("filter-none"); // hide overlay $(".jqmOverlay.mobp").remove(); }); }, 100); } }; checkMobilePhone = function () { if (!window.matchMedia("(max-width: 991px)").matches) { CloseMobilePhone(); } }; // --- END Bind mobile phone --- // change type2 menu for fixed if ($("#headerfixed .js-nav").length) { if (arAsproOptions["THEME"]["HEADER_FIXED"] == 2) CheckHeaderFixedMenu(); setTimeout(function () { $("#headerfixed .js-nav").addClass("opacity1"); }, 350); } // close search block $("html, body").on("mousedown", function (e) { if (typeof e.target.className == "string" && e.target.className.indexOf("adm") < 0) { e.stopPropagation(); var search_target = $(e.target).closest(".searche-result"); if ( !$(e.target).closest("#mobileheader").length && !$(e.target).closest("#mobilefilter").length && !$(e.target).closest(".popup").length && !$(e.target).hasClass("inline-search-block") && !$(e.target).hasClass("svg") && !search_target.length ) { $(".inline-search-block").removeClass("show"); $(".title-search-result").hide(); if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") { $(".jqmOverlay.search").detach(); $("body").removeClass("jqm-initied"); } $("body").removeClass("overflow-block"); } if (isMobile) { if (search_target.length) location.href = search_target.attr("href"); } if (!$(e.target).closest(".hint.active").length) { $(".hint.active .hint__icon").trigger("click"); } var class_name = $(e.target).attr("class"); if (typeof class_name == "undefined" || class_name.indexOf("tooltip") < 0) //tooltip link $(".tooltip-link").tooltip("hide"); } }); $(".inline-search-block") .find("*") .on("mousedown", function (e) { e.stopPropagation(); }); $(".filter-action").on("click", function () { $(this).toggleClass("active"); $(this).find(".svg").toggleClass("white"); if ($(".introtext").length) { var top_pos = $(".filters-wrap").position(); $(".bx_filter").css({ top: top_pos.top + 40 }); } $(".bx_filter").slideToggle(); }); // -- scroll after apply option scrollPreviewBlock(); $.extend($.validator.messages, { required: BX.message("JS_REQUIRED"), email: BX.message("JS_FORMAT"), equalTo: BX.message("JS_PASSWORD_COPY"), minlength: BX.message("JS_PASSWORD_LENGTH"), remote: BX.message("JS_ERROR"), }); $.validator.addMethod( "regexp", function (value, element, regexp) { var re = new RegExp(regexp); return this.optional(element) || re.test(value); }, BX.message("JS_FORMAT") ); $.validator.addMethod( "filesize", function (value, element, param) { return this.optional(element) || element.files[0].size <= param; }, BX.message("JS_FILE_SIZE") ); $.validator.addMethod( "date", function (value, element, param) { var status = false; if (!value || value.length <= 0) { status = true; } else { var re = new RegExp("^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4})$"); var matches = re.exec(value); if (matches) { var composedDate = new Date(matches[5], matches[3] - 1, matches[1]); status = composedDate.getMonth() == matches[3] - 1 && composedDate.getDate() == matches[1] && composedDate.getFullYear() == matches[5]; } } return status; }, BX.message("JS_DATE") ); $.validator.addMethod( "datetime", function (value, element, param) { var status = false; if (!value || value.length <= 0) { status = true; } else { var re = new RegExp("^([0-9]{2})(.)([0-9]{2})(.)([0-9]{4}) ([0-9]{1,2}):([0-9]{1,2})$"); var matches = re.exec(value); if (matches) { var composedDate = new Date(matches[5], matches[3] - 1, matches[1], matches[6], matches[7]); status = composedDate.getMonth() == matches[3] - 1 && composedDate.getDate() == matches[1] && composedDate.getFullYear() == matches[5] && composedDate.getHours() == matches[6] && composedDate.getMinutes() == matches[7]; } } return status; }, BX.message("JS_DATETIME") ); $.validator.addMethod( "extension", function (value, element, param) { param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif"; return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); }, BX.message("JS_FILE_EXT") ); $.validator.addMethod( "captcha", function (value, element, params) { let sid = $(element).closest("form").find('input[name="captcha_sid"]').val(); return $.validator.methods.remote.call(this, value, element, { url: arAsproOptions["SITE_DIR"] + "ajax/check-captcha.php", type: "post", data: { captcha_word: value, captcha_sid: sid, }, }); }, BX.message("JS_ERROR") ); $.validator.addMethod( "recaptcha", function (value, element, param) { var id = $(element).closest("form").find(".g-recaptcha").attr("data-widgetid"); if (typeof id !== "undefined") { return grecaptcha.getResponse(id) != ""; } else { return true; } }, BX.message("JS_RECAPTCHA_ERROR") ); // reload captcha $(document).on("click", ".refresh", function (e) { var captcha = $(this).parents(".captcha-row"); e.preventDefault(); $.ajax({ url: arAsproOptions["SITE_DIR"] + "ajax/captcha.php", }).done(function (text) { captcha.find("input[name=captcha_sid],input[name=captcha_code]").val(text); captcha.find("img").attr("src", "/bitrix/tools/captcha.php?captcha_sid=" + text); captcha.find("input[name=captcha_word]").val("").removeClass("error"); captcha.find(".captcha_input").removeClass("error").find(".error").remove(); }); }); $.validator.addClassRules({ phone: { regexp: arAsproOptions["THEME"]["VALIDATE_PHONE_MASK"], }, confirm_password: { equalTo: "input.password", minlength: 6, }, password: { minlength: 6, }, inputfile: { extension: arAsproOptions["THEME"]["VALIDATE_FILE_EXT"], filesize: 5000000, }, datetime: { datetime: "", }, captcha: { captcha: "", }, recaptcha: { recaptcha: "", }, }); $.validator.setDefaults({ highlight: function (element) { $(element).parent().addClass("error"); }, unhighlight: function (element) { $(element).parent().removeClass("error"); }, }); // expand/hide filter values $(document).on("click", ".expand_block", function () { togglePropBlock($(this)); }); // popup img list $(document).on("click", ".fancy-js", function () { const parent = $(this).closest(".image-list"); let arItems = []; let index = 0; parent.find("[data-big]").each(function () { let _this = $(this); let obItem = { src: _this.data("big"), opts: { caption: _this.attr("alt"), }, }; arItems.push(obItem); }); index = parent.find(".active").index(); if (arItems.length) { if (typeof $.fn.fancybox === "function") { $.fancybox.open(arItems, { loop: false }, index); } } }); $(".mobilemenu__menu-item--city a").on("click", function (e) { e.preventDefault(); var _this = $(this); $.removeCookie("current_region"); if (arAsproOptions["SITE_ADDRESS"].indexOf(",") != "-1") { var arDomains = arAsproOptions["SITE_ADDRESS"].split(","); if (arDomains) { for (var i in arDomains) { var domain_name = arDomains[i].replace("\n", ""); domain_name = arDomains[i].replace("'", ""); $.cookie("current_region", _this.data("id"), { path: "/", domain: domain_name }); } } } else $.cookie("current_region", _this.data("id"), { path: "/", domain: arAsproOptions["SITE_ADDRESS"] }); location.href = _this.attr("href"); }); InitOwlSlider(); InitFlexSlider(); InitFlexSliderMin(); InitFancyBox(); InitFancyBoxVideo(); // for check flexslider bug in composite mode waitingNotExists(".detail .galery #slider", ".detail .galery #slider .flex-viewport", 1000, function () { InitOwlSlider(); InitFlexSlider(); setTimeout(function () { $(window).resize(); }, 350); }); // change view type catalog $(".view-button").on("click", function () { $(this).siblings().removeClass("cur"); $(this).addClass("cur"); }); // -- escape close popup form $(document).on("keydown", function (e) { if (e.keyCode == 27) { if ($(".jqmWindow.show").length) $(".jqmWindow.show .jqmClose").click(); if ($(".inline-search-block.fixed.show").length) { $(".inline-search-block.fixed .inline-search-hide").click(); setTimeout(function () { $(".title-search-result").hide(); }, 0); } if ($(".mega-fixed-menu").is(":visible")) { $(".mega-fixed-menu .mega-fixed-menu__close").click(); } } }); $(document).on("click", '*[data-event="jqm"]', function (e) { e.preventDefault(); e.stopPropagation(); if (!$(this).hasClass("clicked")) { $(this).addClass("clicked"); $(this).jqmEx(); $(this).trigger("click"); } }); $(".animate-load").on("click", function () { $(this).parent().addClass("loadings"); }); BX.addCustomEvent("onCompleteAction", function (eventdata, _this) { try { if (eventdata.action === "loadForm") { $(_this).parent().removeClass("loadings"); $(_this).removeClass("clicked"); } else if (eventdata.action === "loadBasket") { var basket_js_block = $(".js-basket-block"); if (basket_js_block.length) { var count = basket_js_block.find(".header-cart__count").length ? parseInt($(_this).find(".count").text()) : parseInt($(_this).find(".header-cart__count").text()); if (count) { basket_js_block.removeClass("header-cart__inner--empty"); } else { basket_js_block.addClass("header-cart__inner--empty"); } } setBasketItemsClasses(); } else if (eventdata.action === "loadRSS") { } else if (eventdata.action === "jsLoadBlock") { InitScrollBar(); } else if (eventdata.action === "ajaxContentLoaded") { if ("type" in eventdata) { if (eventdata.type == "table_block") { $(".catalog.item-views.table .item .title").sliceHeight(); $(".catalog.item-views.table .item .cont").sliceHeight(); // $('.catalog.item-views.table .item .slice_price').sliceHeight(); $(".catalog.item-views.table .item").sliceHeight({ classNull: ".footer-button" }); } else if (eventdata.type == "table_block2") { $(".catalog.item-views.table .item .title").sliceHeight(); $(".catalog.item-views.table .item .cont").sliceHeight({ autoHeightBlock: ".cont_inner", classNull: ".props_wrapper", }); // $('.catalog.item-views.table .item .slice_price').sliceHeight(); $(".catalog.item-views.table .item").sliceHeight({ classNull: ".footer-button", autoHeightBlock: ".cont_inner", callback: setHoverHeight, }); } } } } catch (e) { console.error(e); } }); BX.addCustomEvent("onCounterGoals", function (eventdata) { if (arAsproOptions["THEME"]["YA_GOALS"] == "Y" && arAsproOptions["THEME"]["YA_COUNTER_ID"]) { var idCounter = arAsproOptions["THEME"]["YA_COUNTER_ID"]; idCounter = parseInt(idCounter); if (typeof eventdata != "object") eventdata = { goal: "undefined" }; if (typeof eventdata.goal != "string") eventdata.goal = "undefined"; if (idCounter) { try { waitCounter(idCounter, 50, function () { var obCounter = window["yaCounter" + idCounter]; if (typeof obCounter == "object") { obCounter.reachGoal(eventdata.goal); } }); } catch (e) { console.error(e); } } else { console.info("Bad counter id!", idCounter); } } }); BX.addCustomEvent(window, "onAjaxSuccess", function (e) { if (e != "OK") { InitOwlSlider(); InitFlexSlider(); InitFlexSliderMin(); } }); // show print if (arAsproOptions["THEME"]["PRINT_BUTTON"] == "Y") { setTimeout(function () { if ($(".page-top .rss-block.top").length) { $('<div class="print-link"><i class="svg svg-print"></i></div>').insertBefore( $(".page-top .rss-block.top .shares-block") ); } else if ($(".page-top .rss").length) { $('<div class="print-link"><i class="svg svg-print"></i></div>').insertAfter($(".page-top .rss")); } else if ($(".page-top h1").length) $('<div class="print-link"><i class="svg svg-print"></i></div>').insertBefore($(".page-top h1")); // else // $('footer .print-block').html('<div class="print-link"><i class="svg svg-print"><svg id="Print.svg" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path class="cls-1" d="M1553,287h-2v3h-8v-3h-2a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h2v-4h8v4h2a2,2,0,0,1,2,2v5A2,2,0,0,1,1553,287Zm-8,1h4v-4h-4v4Zm4-12h-4v2h4v-2Zm4,4h-12v5h2v-3h8v3h2v-5Z" transform="translate(-1539 -274)"/></svg></i></div>'); }, 150); } $(document).on("click", ".print-link", function () { window.print(); }); $(".head-block .item-link").on("click", function () { var _this = $(this); _this.siblings().removeClass("active"); _this.addClass("active"); }); //alert(navigator.userAgent); $("table.table").each(function () { var _this = $(this), first_td = _this.find("thead tr th"); if (!first_td.length) first_td = _this.find("thead tr td"); if (first_td.length) { _this.find("tbody tr:not(.nomobile)").each(function (i) { $(this) .find("td") .each(function (i) { if (typeof first_td[i] !== "undefined") $('<div class="th-mobile">' + first_td[i].textContent + "</div>").appendTo($(this)); }); }); } }); if ($("a.fancybox").length) { if (typeof $.fn.fancybox == "function") { $("a.fancybox").fancybox(); } } // flex pagination $(document).on("mouseenter", ".flex-viewport .item", function () { $(this).closest(".flexslider").find(".flex-control-nav").toggleClass("noz"); $(this).closest(".flexslider").find(".flex-control-nav").css("z-index", "0"); }); $(document).on("mouseleave", ".flex-viewport .item", function () { $(this).closest(".flexslider").find(".flex-control-nav").toggleClass("noz"); $(this).closest(".flexslider").find(".flex-control-nav").css("z-index", "2"); }); // ajax more items $(document).on("click", ".ajax_load_btn", function () { var url = $(this).closest(".bottom_nav").find(".arrows-pagination__next").attr("href"), th = $(this).find(".more_text_ajax"), _this = $(this), bottom_nav = $(this).closest(".bottom_nav"); if (!th.hasClass("loading")) { th.addClass("loading"); var objUrl = parseUrlQuery(), add_url = "", obData = { AJAX_REQUEST: "Y", ajax_get: "Y", bitrix_include_areas: "N" }; //index page if ($(".body.index").length) { var class_block = th.closest(".drag-block").data("class").replace("_drag", ""); class_block = class_block.replace(/\s/g, ""); obData.BLOCK = class_block; } if (_this.closest(".ajax-pagination-wrapper").length) { obData.BLOCK = _this.closest(".ajax-pagination-wrapper").data("class"); } if ("clear_cache" in objUrl && objUrl.clear_cache == "Y") { add_url = "&clear_cache=Y"; } if ($(".banners-small.front").length) { obData.MD = $(".banners-small.front").find(".items").data("colmd"); obData.SM = $(".banners-small.front").find(".items").data("colsm"); } //tabs block if (_this.closest(".tab-content-block").length) { var filter = th.closest(".tab-content-block").data("filter"); obData.GLOBAL_FILTER = filter; } $.ajax({ url: url + "" + add_url, data: BX.ajax.prepareData(obData), success: function (html) { var html = html.trim(); var mobileBottomClicked = bottom_nav.hasClass("mobile_slider"); var hasMobileBottomNav = $(html).find(".bottom_nav.mobile_slider"); var bottomNav = hasMobileBottomNav.length ? hasMobileBottomNav : $(html).find(".bottom_nav"); var bottomNavHtml = bottomNav.html(); var bottomNavScrollClass = bottomNav.data("scroll-class"); var hasBottomNav = $(html).find(".ajax_load_btn").length; var eventdata = { action: "ajaxContentLoaded", content: html }; if ($(".banners-small.front").length) { $(".banners-small .items.row").append(html); $(".bottom_nav").html($(".banners-small .items.row .bottom_nav").html()); $(".banners-small .items.row .bottom_nav").remove(); } else if (bottom_nav.data("append") !== undefined && bottom_nav.data("parent") !== undefined) { var $slider = th.closest(bottom_nav.data("parent")).find(".owl-carousel"); if ($slider.length) { var obData = BX.processHTML(html); html = obData.HTML; var $slides = $("<div>" + html + "</div>").find(">*"); $slides.each(function () { if (!$(this).hasClass("wrap_nav")) { $slider.trigger("add.owl.carousel", [$(this).wrap("<div></div>").parent().html()]); } }); $slider.trigger("refresh.owl.carousel"); setTimeout(function () { BX.ajax.processScripts(obData.SCRIPT); }, 100); } else { var target = html; if (bottom_nav.data("target") !== undefined) { target = $(html).find(bottom_nav.data("target")); } if (mobileBottomClicked || hasMobileBottomNav.length) { var mobileSliderNav = th.closest(bottom_nav.data("parent")).find(".bottom_nav.mobile_slider"); if (mobileSliderNav.length) { mobileSliderNav.before(target); } else { bottom_nav.before(target); } } else { th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).append(target); } th.closest(bottom_nav.data("parent")) .find(bottom_nav.data("append")) .find(".bottom_nav_wrapper") .remove(); if (hasBottomNav) { if (bottomNavScrollClass !== undefined) { th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).addClass("has-bottom-nav"); } th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).addClass("has-bottom-nav"); } else { if (bottomNavScrollClass !== undefined) { th.closest(bottom_nav.data("parent")).find(bottomNavScrollClass).removeClass("has-bottom-nav"); } th.closest(bottom_nav.data("parent")).find(bottom_nav.data("append")).removeClass("has-bottom-nav"); } } bottom_nav = th.closest(bottom_nav.data("parent")).find(".bottom_nav"); bottom_nav.html(bottomNavHtml); var icon = bottom_nav.find(".svg-inline-bottom_nav-icon"); icon.css("display", ""); eventdata.container = th.closest(bottom_nav.data("parent")); } else { $(html).insertBefore($(".blog .bottom_nav")); $(".bottom_nav").html($(".blog .bottom_nav:hidden").html()); $(".blog .bottom_nav:hidden").remove(); } setTimeout(function () { BX.onCustomEvent("onCompleteAction", [eventdata, th[0]]); $(".banners-small .item.normal-block").sliceHeight(); th.removeClass("loading"); }, 100); }, }); } }); // bug fix in ff $("img").removeAttr("draggable"); // Responsive Menu Events var addActiveClass = false; $("#mainMenu li.dropdown > a > i, #mainMenu li.dropdown-submenu > a > i").on("click", function (e) { e.preventDefault(); if ($(window).width() > 979) return; addActiveClass = $(this).closest("li").hasClass("resp-active"); // $('#mainMenu').find('.resp-active').removeClass('resp-active'); if (!addActiveClass) { $(this).closest("li").addClass("resp-active"); } else { $(this).closest("li").removeClass("resp-active"); } }); // animate increment if ($(".spincrement").length) { $(".spincrement").counterUp({ delay: 80, time: 1000, }); } // form rating $(document).on("mouseenter", ".form .votes_block.with-text .item-rating", function () { var $this = $(this), index = $this.index(), ratingMessage = $this.data("message"); $(this).addClass("filed"); $this.siblings().each(function () { if ($(this).index() <= index) $(this).addClass("filed"); else $(this).removeClass("filed"); }); $this.closest(".votes_block").find(".rating_message").text(ratingMessage); }); $(document).on("mouseleave", ".form .votes_block.with-text", function () { var $this = $(this), index = $this.data("rating"), ratingMessage = $this.closest(".votes_block").find(".rating_message").data("message"); $this.find(".item-rating").each(function () { if ($(this).index() < index && index !== undefined) $(this).addClass("filed"); else $(this).removeClass("filed"); }); $this.closest(".votes_block").find(".rating_message").text(ratingMessage); }); $(document).on("click", ".form .votes_block.with-text .item-rating", function () { var $this = $(this), rating = $this.closest(".votes_block").data("rating"), index = $this.index() + 1, ratingMessage = $this.data("message"); $this.closest(".votes_block").data("rating", index); if ($this.closest(".form-group").find("input[name=RATING]").length) { $this.closest(".form-group").find("input[name=RATING]").val(index); } else { $this.closest(".form-group").find("input[data-sid=RATING]").val(index); } $this.closest(".votes_block").find(".rating_message").data("message", ratingMessage); }); $(".bx_filter_input_container input[type=text]").numeric({ allow: "." }); $(".toggle .more_items").on("click", function () { $(this).closest(".toggle").find(".collapsed").fadeToggle(); $(this).remove(); if (typeof $(this).data("resize") !== "undefined" && $(this).data("resize")) $(window).resize(); }); $(".toggle_menu .more_items").on("click", function () { $(this).closest(".toggle_menu").find(".collapsed").addClass("clicked_exp"); $(this).remove(); }); // search sync $(document).on("keyup", ".search-input-div input", function (e) { var inputValue = $(this).val(); $(".search-input-div input").val(inputValue); if ($(this).closest("#headerfixed").length) { if (e.keyCode == 13) $(".search form").submit(); } }); $(document).on("click", ".search-button-div button", function (e) { if ($(this).closest("#headerfixed").length) $(".search form").submit(); }); $(document).on( "click", ".header-search, .inline-search-hide, .bottom-icons-panel__content-link--search", function (e) { //if (window.matchMedia("(min-width: 600px)").matches) { CloseMobilePhone(); if (typeof $(this).data("type_search") != "undefined" && $(this).data("type_search") == "fixed") { $(".inline-search-block").addClass("fixed"); } $(".inline-search-block").toggleClass("show"); if (arAsproOptions["THEME"]["TYPE_SEARCH"] == "fixed") { if ($(".inline-search-block").hasClass("show")) { $('<div class="jqmOverlay search"></div>').appendTo("body"); $("body").addClass("overflow-block"); $("body").addClass("jqm-initied"); } else { $("body").removeClass("jqm-initied"); $("body").removeClass("overflow-block"); $(".jqmOverlay").remove(); } } if ($(".inline-search-block").hasClass("show")) { setTimeout(function () { $(".inline-search-block.fixed .search-input").focus(); }, 400); } // } else { // location.href = arAsproOptions["SITE_DIR"] + "search/"; // } } ); if ($(".styled-block .row > div.col-md-3").length) { BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); $(".styled-block .row > div.col-md-3").each(function () { $(this).css({ height: "", "line-height": "" }); var z = parseInt($(".body_media").css("top")); if (z > 0) { var rowHeight = $(this).parents(".row").first().actual("outerHeight"); $(this).css({ height: rowHeight + "px", "line-height": rowHeight + "px" }); } }); } catch (e) { } finally { ignoreResize.pop(); } }); } if ($(".order-block").length) { BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); $(".order-block").each(function () { var cols = $(this).find(".row > div"); if (cols.length) { var colFirst = cols.first(); var colLast = cols.last(); var colText = colFirst.find(".text"); var bText = colText.length; var bOnlyText = cols.length === 1 && bText; var bPrice = colFirst.find(".price").length; var z = parseInt($(".body_media").css("top")); cols.css({ height: "", "padding-top": "", "padding-bottom": "" }); colText.css({ height: "", "padding-top": "", "padding-bottom": "" }); if ((!bPrice && z > 0) || (bPrice && z > 1)) { var minHeight = 83; if (!bOnlyText) { var colLast_height = colLast.outerHeight(); colLast_height = colLast_height >= minHeight ? colLast_height : minHeight; } if (bText) { var colFirst_height = colFirst.outerHeight(); colFirst_height = colFirst_height >= minHeight ? colFirst_height : minHeight; } var colMax_height = bText ? !bOnlyText ? colLast_height >= colFirst_height ? colLast_height : colFirst_height : colLast_height : colFirst_height; if (!bOnlyText) { var textPadding = 41 + (colMax_height - colFirst.outerHeight()) / 2; colLast.find(".btns").css({ "padding-top": textPadding + "px", "padding-bottom": textPadding + "px", height: colMax_height + "px", }); } if (bText) { colLast.css({ height: colMax_height + "px" }); var textPadding = 41 + (colMax_height - colText.outerHeight()) / 2; colText.css({ "padding-top": textPadding + "px", "padding-bottom": textPadding + "px", height: colMax_height + "px", }); } } } }); } catch (e) { } finally { ignoreResize.pop(); } }); } if ($(".equal-padding").length) { BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); $(".equal-padding").each(function () { $(this).find(".text").css({ "padding-top": "0px", "padding-bottom": "0px" }); var equal_block = $(this).siblings(".equals"), height = $(this).actual("outerHeight"); delta = Math.round((equal_block.actual("outerHeight") - height) / 2); if (delta) $(this) .find(".text") .css({ "padding-top": delta + "px", "padding-bottom": delta + "px" }); }); } catch (e) { } finally { ignoreResize.pop(); } }); } $(document).on("click", ".mega-menu .dropdown-menu", function (e) { e.stopPropagation(); }); $(document).on("click", ".mega-menu .dropdown-toggle.more-items", function (e) { e.preventDefault(); }); // $(".table-menu .dropdown,.table-menu .dropdown-submenu,.table-menu .dropdown-toggle").on("mouseenter", function () { // CheckTopVisibleMenu(); // }); $(document).on( "mouseenter", ".header-menu .header-menu__item--dropdown:not(.header-menu__item--wide), .header-menu .header-menu__item--dropdown:not(.header-menu__item--wide) .header-menu__dropdown-item.header-menu__dropdown-item--with-dropdown, .header-menu .header-menu__item--more-items, .header-menu .header-menu__item--more-items .header-menu__dropdown-item--with-dropdown, .header-menu .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide, .header-menu .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide .header-menu__dropdown-item--with-dropdown, .header-menu .header-menu__item--more-items .header-menu__item--dropdown.header-menu__item--wide .header-menu__dropdown-item--with-dropdown .header-menu__wide-submenu-item--with-dropdown", function (e) { CheckTopVisibleMenu($(e.currentTarget)); } ); $(document).on( "mouseenter", ".header-menu__item--wide, .header-menu__item--wide .header-menu__dropdown-menu", function () { var bannerMenu = $(this).find(".side_banners .owl-carousel-hover"); if (bannerMenu.length) { bannerMenu.removeClass("owl-carousel-hover").addClass("owl-carousel"); setTimeout(function () { InitOwlSlider(); bannerMenu.removeClass("loading-state"); }, 1); } } ); $(document).on("mouseenter", ".menu-side-column__item--wide", function () { var bannerMenu = $(".bottom-banners .owl-carousel-hover"); if (bannerMenu.length) { bannerMenu.removeClass("owl-carousel-hover").addClass("owl-carousel"); setTimeout(function () { InitOwlSlider(); bannerMenu.removeClass("loading-state"); }, 1); } }); $(".mega-menu .search-item .search-icon, .menu-row #title-search .fa-close").on("click", function (e) { e.preventDefault(); $(".menu-row #title-search").toggleClass("hide"); }); $(".mega-menu ul.nav .search input").on("keyup", function (e) { var inputValue = $(this).val(); $(".menu-row > .search input").val(inputValue); if (e.keyCode == 13) { $(".menu-row > .search form").submit(); } }); $(".menu-row > .search input").on("keyup", function (e) { var inputValue = $(this).val(); $(".mega-menu ul.nav .search input").val(inputValue); if (e.keyCode == 13) { $(".menu-row > .search form").submit(); } }); $(".mega-menu ul.nav .search button").on("click", function (e) { e.preventDefault(); var inputValue = $(this).parents(".search").find("input").val(); $(".menu-and-search .search input").val(inputValue); $(".menu-row > .search form").submit(); }); $(".filter .calendar").on("click", function () { var button = $(this).next(); if (button.hasClass("calendar-icon")) { button.trigger("click"); } }); // sliceheights if ($(".banners-small .item.normal-block").length) $(".banners-small .item.normal-block").sliceHeight(); if ($(".teasers .item").length) $(".teasers .item").sliceHeight(); if ($(".wrap-portfolio-front .row.items > div").length) $(".wrap-portfolio-front .row.items > div").sliceHeight({ row: ".row.items", item: ".item1" }); SliceHeightBlocks(); // toggle var $this = this, previewParClosedHeight = 25; $("section.toggle > label").prepend($("<i />").addClass("fa fa-plus")); $("section.toggle > label").prepend($("<i />").addClass("fa fa-minus")); $("section.toggle.active > p").addClass("preview-active"); $("section.toggle.active > div.toggle-content").slideDown(350, function () {}); $("section.toggle > label").click(function (e) { var parentSection = $(this).parent(), parentWrapper = $(this).parents("div.toogle"), previewPar = false, isAccordion = parentWrapper.hasClass("toogle-accordion"); if (isAccordion && typeof e.originalEvent != "undefined") { parentWrapper.find("section.toggle.active > label").trigger("click"); } parentSection.toggleClass("active"); // Preview Paragraph if (parentSection.find("> p").get(0)) { previewPar = parentSection.find("> p"); var previewParCurrentHeight = previewPar.css("height"); previewPar.css("height", "auto"); var previewParAnimateHeight = previewPar.css("height"); previewPar.css("height", previewParCurrentHeight); } // Content var toggleContent = parentSection.find("> div.toggle-content"); if (parentSection.hasClass("active")) { $(previewPar).animate( { height: previewParAnimateHeight, }, 350, function () { $(this).addClass("preview-active"); } ); toggleContent.slideDown(350, function () {}); } else { $(previewPar).animate( { height: previewParClosedHeight, }, 350, function () { $(this).removeClass("preview-active"); } ); toggleContent.slideUp(350, function () {}); } }); // accordion $(".accordion-head").on("click", function (e) { e.preventDefault(); if (!$(this).next().hasClass("collapsing")) { $(this).toggleClass("accordion-open"); $(this).toggleClass("accordion-close"); } }); // progress bar $("[data-appear-progress-animation]").iAppear( function () { var $this = $(this); var delay = $this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1; if (delay > 1) $this.css("animation-delay", delay + "ms"); $this.addClass($this.attr("data-appear-animation")); setTimeout(function () { $this.animate( { width: $this.attr("data-appear-progress-animation"), }, 1500, "easeOutQuad", function () { $this.find(".progress-bar-tooltip").animate( { opacity: 1, }, 500, "easeOutQuad" ); } ); }, delay); }, { rootMargin: "-50px 0px -50px 0px", accX: 0, accY: -50, } ); // portfolio item $(".item.animated-block").iAppear(function () { $(this).addClass($(this).data("animation")).addClass("visible"); }); // flexslider appear $(".appear-block").iAppear(function () { $(this).removeClass("appear-block"); CheckFlexSlider(); InitFlexSlider(); InitOwlSlider(); }); // js-load-block appear if ($(".js-load-block").length) { var objUrl = parseUrlQuery(); var bClearCache = false; if ("clear_cache" in objUrl) { if (objUrl.clear_cache == "Y") { bClearCache = true; } } var items = []; var bIdle = true; var insertNextBlockContent = function () { if (bIdle) { if (items.length) { bIdle = false; var item = items.pop(); item.content = $.trim(item.content); // remove /bitrix/js/main/core/core_window.js if it was loaded already if (item.content.indexOf("/bitrix/js/main/core/core_window.") !== -1 && BX.WindowManager) { item.content = item.content.replace( /<script src="\/bitrix\/js\/main\/core\/core_window\.[^>]*><\/script>/gm, "" ); } // remove /bitrix/js/currency/core_currency.js if it was loaded already if ( item.content.indexOf("/bitrix/js/currency/core_currency.") !== -1 && typeof BX.Currency === "object" && BX.Currency.defaultFormat ) { item.content = item.content.replace( /<script src="\/bitrix\/js\/currency\/core_currency\.[^>]*><\/script>/gm, "" ); } // remove /bitrix/js/main/pageobject/pageobject.js if it was loaded already if (item.content.indexOf("/bitrix/js/main/pageobject/pageobject.") !== -1 && BX.PageObject) { item.content = item.content.replace( /<script src="\/bitrix\/js\/main\/pageobject\/pageobject\.[^>]*><\/script>/gm, "" ); } // remove /bitrix/js/main/polyfill/promise/js/promise.js if it not need if ( item.content.indexOf("/bitrix/js/main/polyfill/promise/js/promise.") !== -1 && typeof window.Promise !== "undefined" && window.Promise.toString().indexOf("[native code]") !== -1 ) { item.content = item.content.replace( /<script src="\/bitrix\/js\/main\/polyfill\/promise\/js\/promise\.[^>]*><\/script>/gm, "" ); } var ob = BX.processHTML(item.content); // stop ya metrika webvisor DOM indexer pauseYmObserver(); item.block.removeAttr("data-file").removeClass("loader_circle"); if (item.block.data("appendTo")) { item.block.find(item.block.data("appendTo"))[0].innerHTML = ob.HTML; } else { if (item.block.find('> div[id*="bx_incl_"]').length) { item.block.find('> div[id*="bx_incl_"]')[0].innerHTML = ob.HTML; } else { item.block[0].innerHTML = ob.HTML; } } BX.ajax.processScripts(ob.SCRIPT); var eventdata = { action: "jsLoadBlock" }; BX.onCustomEvent("onCompleteAction", [eventdata, item.block]); // resume ya metrika webvisor // 500ms setTimeout(resumeYmObserver, 500); bIdle = true; insertNextBlockContent(); } } }; $(".js-load-block").iAppear( function () { var $this = $(this); if ($this.data("file")) { var add_url = bClearCache ? "?clear_cache=Y" : ""; if ($this.data("block")) { add_url += (bClearCache ? "&" : "?") + "BLOCK=" + $this.data("block"); } // get content $.get($this.data("file") + add_url).done(function (html) { items.push({ block: $this, content: html, }); if (items.length == 1) { setTimeout(insertNextBlockContent, 100); } }); } }, { rootMargin: isMobile ? "300px 0px 300px 0px" : "150px 0px 150px 0px", accX: 0, accY: isMobile ? 300 : 150, } ); } $("a[rel=tooltip]").tooltip(); $("span[data-toggle=tooltip]").tooltip(); $("select.sort").on("change", function () { location.href = $(this).val(); }); setTimeout(function (th) { $(".catalog.group.list .item").each(function () { var th = $(this); if ((tmp = th.find(".image").outerHeight() - th.find(".text_info").outerHeight()) > 0) { th.find(".text_info .titles").height(th.find(".text_info .titles").outerHeight() + tmp); } }); }, 50); // ajax tabs // tabs on front in mobile $(".items-link-mobile").each(function () { var _this = $(this), selectOption = _this.find("option"), selectOptionLength = selectOption.length, selectedOption = selectOption.filter(":selected"), duration = 200; // _this.hide(); _this.wrap('<div class="select"></div>'); $("<div>", { class: "new-select", text: _this.children("option:disabled").text(), }).insertAfter(_this); var selectHead = _this.next(".new-select"); $("<div>", { class: "new-select__list", }).insertAfter(selectHead); var selectList = selectHead.next(".new-select__list"); for (var i = 1; i < selectOptionLength; i++) { $("<div>", { class: "new-select__item", html: $("<span>", { text: selectOption.eq(i).text(), }), }) .attr("data-value", selectOption.eq(i).val()) .appendTo(selectList); } var selectItem = selectList.find(".new-select__item"); var selectItemFirst = selectList.find(".new-select__item:first-child"); selectList.slideUp(); selectHead.on("click", function () { if (!$(this).hasClass("on")) { $(this).addClass("on"); selectList.slideDown(duration); selectItemCur = selectList.find(".new-select__item.active"); if (!selectItem.hasClass("active")) { selectItemFirst.addClass("active"); selectItemCur = selectItemFirst; } selectItem.on("click", function () { selectItemCur.removeClass("active"); var chooseItem = $(this).data("value"); $("select").val(chooseItem).attr("selected", "selected"); selectHead.text($(this).find("span").text()); selectHead.attr("data-value", $(this).attr("data-value")); $(this).addClass("active"); var _this = $(this); selectList.slideUp(150, function () { selectHead.removeClass("on"); var index = _this.index(); var curHeadBlock = _this.closest(".head-block"); var indexTab = curHeadBlock.find(".items-link .item-link.active"); var indexActiveTab = indexTab.index(); if (indexActiveTab != index) { curHeadBlock.find(".items-link .item-link").eq(index).trigger("click"); } }); }); } else { $(this).removeClass("on"); selectList.slideUp(duration); } }); }); // gallery in list $(document).on("mouseenter", ".section-gallery-wrapper .section-gallery-wrapper__item", function () { const _this = $(this); const index = _this.index(); const nav_items = _this.closest(".image-list-wrapper").find(".section-gallery-nav .section-gallery-nav__item"); _this.siblings().removeClass("active"); _this.addClass("active"); nav_items.removeClass("active"); nav_items.filter(":eq(" + index + ")").addClass("active"); }); $(document).on("click", ".section-gallery-nav .section-gallery-nav__item", function () { const _this = $(this); const index = _this.index(); const items = _this.closest(".image-list-wrapper").find(".section-gallery-wrapper .section-gallery-wrapper__item"); _this.siblings().removeClass("active"); _this.addClass("active"); items.removeClass("active"); items.filter(":eq(" + index + ")").addClass("active"); }); // item galery $(".thumbs .item a").on("click", function (e) { e.preventDefault(); $(".thumbs .item").removeClass("current"); $(this).closest(".item").toggleClass("current"); $(".slides li" + $(this).attr("href")) .addClass("current") .siblings() .removeClass("current"); }); $("header.fixed .btn-responsive-nav").on("click", function () { $("html, body").animate({ scrollTop: 0 }, 400); }); $("body").on("click", ".form .refresh-page", function () { location.href = location.href; }); $(document).on("click", ".basket.fly .opener", function () { if (window.matchMedia("(max-width: 767px)").matches) location.href = arAsproOptions["THEME"]["URL_BASKET_SECTION"]; else $(this).closest(".ajax_basket").toggleClass("opened"); }); $(document).on("click", ".basket.fly .close_block", function () { $(".basket.fly .opener").trigger("click"); }); // show props $(document).on("click", ".show_props", function () { $(this).prev(".props_list").stop().slideToggle(333); $(this).find(".char_title").toggleClass("opened"); }); // animated labels $(document) .on("focus", ".fill-animate input,.fill-animate textarea", function () { $(this).addClass("input-filed"); }) .on("focusout", ".fill-animate input,.fill-animate textarea", function () { if ("" != $(this).val()) { $(this).addClass("input-filed"); } else { $(this).removeClass("input-filed"); } }); // accordion action $(".panel-collapse").on("hidden.bs.collapse", function () { $(this).parent().toggleClass("opened"); }); $(".panel-collapse").on("show.bs.collapse", function () { $(this).parent().toggleClass("opened"); }); $(document).on("click", ".reload-page", function () { location.reload(true); }); // DIGITAL BASKET // - basket fly close $(document).on("click", function () { if ($(".basket.fly").length && $(".ajax_basket").hasClass("opened")) { $(".ajax_basket").removeClass("opened"); } }); $(document).on("click", ".basket.fly", function (e) { e.stopPropagation(); }); // - COUNTER var timerBasketCounter = false; // -- keyup input $(document).on("keydown", ".counter__count", function (e) { // Allow: backspace, delete, tab, escape, enter and . if ( $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A, Command+A (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || // Allow: home, end, left, right, down, up (e.keyCode >= 35 && e.keyCode <= 40) ) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || e.keyCode < 48 || e.keyCode > 57) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } }); $(document).on("keyup", ".counter__count", function (e) { var $this = $(this), counterInputValueNew = $this.val(), price = $this.closest(".buy_block").find("input[name=PRICE]").val(); Summ($this, counterInputValueNew, price); }); $("select.region").on("change", function () { var val = parseInt($(this).val()); if ($("select.city").length) { if (val) { $("select.city").removeAttr("disabled"); $("select.city option").hide(); $("select.city option[data-parent_section=" + val + "]").show(); } else $("select.city").attr("disabled", "disabled"); } }); $("select.city, select.region").on("change", function () { var _this = $(this), val = parseInt(_this.val()); if (_this.hasClass("region")) { $("select.city option:eq(0)").show(); $("select.city").val(0); } if ((_this.hasClass("region") && !val) || _this.hasClass("city")) { $.ajax({ type: "POST", data: { ID: val }, }).done(function (html) { var ob = BX.processHTML(html); $(".ajax_items")[0].innerHTML = ob.HTML; BX.ajax.processScripts(ob.SCRIPT); }); } }); // -- blur input $(document).on("change", ".counter__count", function () { BasketCounter($(this)); }); // -- click minus, plus button $(document).on("click", ".counter__action", function (e) { e.stopPropagation(); BasketCounter($(this)); }); // - Add2Basket $(document).on("click", ".to_cart", function (e) { e.stopPropagation(); var item = $(this).closest("[data-item]"); var _this = $(this); var itemData = item.data("item"); var buyBlock = item.find(".buy_block"); var buttonToCart = buyBlock.find(".to_cart"); var itemQuantity = parseFloat(buttonToCart.data("quantity")); if (isNaN(itemQuantity) || itemQuantity <= 0) { itemQuantity = 1; } var countItem = $(".basket .count").length ? parseInt($(".basket .count").first().text()) : 0; $(".basket .count") .text(countItem + 1) .removeClass("empted"); var bBasketTop = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && $.trim(arAsproOptions["THEME"]["ORDER_BASKET_VIEW"]) === "HEADER" && $(".basket.top").length; var bBasketFly = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && !bBasketTop && $(".basket.fly").length; if (itemData && !isNaN(itemData.ID) && parseInt(itemData.ID) > 0) { if (typeof arBasketItems === "object" && typeof arBasketItems[itemData.ID] !== "object") { arBasketItems[itemData.ID] = { ID: itemData.ID, QUANTITY: itemQuantity }; } $.ajax({ url: arAsproOptions["SITE_DIR"] + "include/footer/basket.php", type: "POST", data: { itemData: itemData, quantity: itemQuantity }, }).done(function (html) { buyBlock.addClass("in"); var eventdata = { action: "loadForm" }; BX.onCustomEvent("onCompleteAction", [eventdata, _this[0]]); if (bBasketTop) { $(".ajax_basket").replaceWith(html); } else if (bBasketFly) { $(".ajax_basket").html($($.trim(html)).html()); } // show cart or notice if (typeof JNoticeSurface === "undefined") { if (bBasketTop) { $(".header-cart").addClass("opened"); if (typeof headerCartHideTimer !== "undefined") { clearTimeout(headerCartHideTimer); } headerCartHideTimer = setTimeout(function () { $(".header-cart").removeClass("opened"); }, 2000); } else if (bBasketFly) { setTimeout(function () { if (!$(".ajax_basket").hasClass("opened")) { $(".ajax_basket").addClass("opened"); } }, 50); } } else { JNoticeSurface.get().onAdd2cart([item[0]]); } var eventdata = { action: "loadBasket" }; BX.onCustomEvent("onCompleteAction", [eventdata, $(html)]); if (arAsproOptions["THEME"]["USE_SALE_GOALS"] != "N") { var eventdata = { goal: "goal_basket_add", params: { itemData: itemData, quantity: itemQuantity } }; BX.onCustomEvent("onCounterGoals", [eventdata]); } }); } else { $(this).parent().removeClass("loadings"); return; } }); // - Remove9Basket $(document).on("click", ".remove", function (e) { e.stopPropagation(); var item = $(this).closest("[data-item]"); var itemData = item.data("item"); var bRemove = "Y"; var bRemoveAll = $.trim($(this).closest("[data-remove_all]").data("remove_all")) === "Y" ? "Y" : false; var getCurUri = $.trim($("input[name=getPageUri]").val()); var countItem = $(".basket .count").length ? parseInt($(".basket .count").first().text()) : $(".basket.default").length ? $(".basket.default .cart__item").length : 0; var bOneItem = countItem - 1 <= 0; var scrollTop = $(".basket.fly").length ? $(".basket.fly .items_wrap").scrollTop() : $(".header-cart .basket.top").length ? $(".header-cart .basket.top .items").scrollTop() : ""; var bBasketTop = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && $.trim(arAsproOptions["THEME"]["ORDER_BASKET_VIEW"]) === "HEADER" && $(".basket.top").length; var bBasketFly = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && !bBasketTop && $(".basket.fly").length; if (bRemoveAll) { arBasketItems = []; } else if (typeof arBasketItems === "object" && itemData && typeof arBasketItems[itemData.ID] === "object") { delete arBasketItems[itemData.ID]; } var _ajax = function () { $.ajax({ url: arAsproOptions["SITE_DIR"] + "include/footer/basket.php", type: "POST", data: { itemData: itemData, remove: bRemove, removeAll: bRemoveAll }, }).done(function (html) { if (bBasketTop) { $(".ajax_basket").replaceWith(html); } else if (bBasketFly) { $(".ajax_basket").html($($.trim(html)).html()); $(".basket.fly .items_wrap").scrollTop(scrollTop); } var eventdata = { action: "loadBasket" }; BX.onCustomEvent("onCompleteAction", [eventdata, $(html)]); if (getCurUri) { $.ajax({ url: getCurUri, type: "POST", }).done(function (html) { if ($(".basket.default").length) { $(".basket.default").html(html); } }); } if (arAsproOptions["THEME"]["USE_SALE_GOALS"] != "N") { var eventdata = { goal: "goal_basket_remove", params: { itemData: itemData, remove: bRemove, removeAll: bRemoveAll }, }; BX.onCustomEvent("onCounterGoals", [eventdata]); } }); }; if ((typeof itemData !== "undefined" && !isNaN(itemData.ID) && itemData.ID > 0) || bRemoveAll) { if (bRemoveAll) { $(".buy_block").removeClass("in"); $(".basket .count").text(0).addClass("empted"); } else { $(".basket .count") .text(countItem - 1) .removeClass("empted"); $("[data-item]").each(function () { if ($(this).data("item").ID == itemData.ID) { $(this).find(".buy_block").removeClass("in").find(".to_cart").data("quantity", 0); $(this).find(".buy_block").find(".counter__count").val(1); } }); } if (bOneItem || bRemoveAll) { $(".remove.all").remove(); $(".basket_wrap").fadeOut(200); setTimeout(function () { $(".basket .basket_empty").fadeIn(200); $(".basket.fly .wrap").addClass("empty-basket"); }, 200); setTimeout(_ajax, 400); } else { item.animate({ opacity: 0 }, 200).slideUp(200, function () { _ajax(); }); } } else { return; } }); $(document).on("click", ".print", function () { window.print(); }); $(".choise").on("click", function () { var $this = $(this); if (typeof $this.data("block") !== "undefined") { var block = $this.attr("data-block"); try { var $block = BX(block) ? $("#" + block) : $(".detail-block." + block); } catch (e) { var $block = $(block); } if ($block.length) { if ($block.closest(".tab-pane").length) { var offset = -206; if (typeof arAsproOptions !== "undefined") { offset = window.matchMedia("(max-width:991px)").matches ? arAsproOptions.THEME.HEADER_MOBILE_FIXED !== "Y" || arAsproOptions.THEME.HEADER_MOBILE_SHOW !== "ALWAYS" ? -187 + 62 : -187 : arAsproOptions.THEME.TOP_MENU_FIXED !== "Y" ? -206 + 81 : -206; } $block.data("offset", offset); $('.ordered-block a[href="#' + $block.closest(".tab-pane").attr("id") + '"]').click(); } scrollToBlock($block); } } }); // touch event document.addEventListener( "touchend", function (event) { if (!$(event.target).closest(".menu-item").length && !$(event.target).hasClass("menu-item")) { $(".mega-menu .dropdown-menu").css({ display: "none", opacity: 0 }); $(".menu-item").removeClass("hover"); } if (!$(event.target).closest(".menu.topest").length) { $(".menu.topest").css({ overflow: "hidden" }); $(".menu.topest > li").removeClass("hover"); } if (!$(event.target).closest(".full.has-child").length) { $(".menu_top_block.catalog_block li").removeClass("hover"); } // if(!$(event.target).closest('.basket_block').length){ // $('.basket_block .link').removeClass('hover'); // $('.basket_block .basket_popup_wrapp').slideUp(); // } // if(!$(event.target).closest('.catalog_item').length){ // var tabsContentUnhoverHover = $('.tab:visible').attr('data-unhover') * 1; // $('.tab:visible').stop().animate({'height': tabsContentUnhoverHover}, 100); // $('.tab:visible').find('.catalog_item').removeClass('hover'); // $('.tab:visible').find('.catalog_item .buttons_block').stop().fadeOut(233); // if($('.catalog_block').length){ // $('.catalog_block').find('.catalog_item_wrapp').removeClass('hover'); // $('.catalog_block').find('.catalog_item').removeClass('hover'); // } // } }, false ); touchMenu(".mega-menu .menu-item"); touchTopMenu(".menu.topest li"); }); function touchMenu(selector) { if (isMobile) { if ($(selector).length) { $(selector).each(function () { var th = $(this); th.on("touchend", function (e) { var _th = $(e.target).closest(".menu-item"); $(".menu.topest > li").removeClass("hover"); $(".menu_top_block.catalog_block li").removeClass("hover"); if (_th.find(".dropdown-menu").length && !_th.hasClass("hover")) { e.preventDefault(); e.stopPropagation(); _th.siblings().removeClass("hover"); _th.addClass("hover"); $(".menu-row .dropdown-menu").css({ display: "none", opacity: 0 }); if (_th.hasClass("menu-item")) { _th.closest(".dropdown-menu").css({ display: "block", opacity: 1 }); } if (_th.find("> .wrap > .dropdown-menu")) { _th.find("> .wrap > .dropdown-menu").css({ display: "block", opacity: 1 }); } else if (_th.find("> .dropdown-menu")) { _th.find("> .dropdown-menu").css({ display: "block", opacity: 1 }); } CheckTopVisibleMenu(); } else { var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href"); if (href && href !== "undefined") location.href = href; } }); }); } } else { $(selector).off(); } } function touchTopMenu(selector) { if (isMobile) { if ($(selector).length) { $(selector).each(function () { var th = $(this); th.on("touchend", function (e) { var _th = $(e.target).closest("li"); $(".menu-item").removeClass("hover"); $(".menu-item .dropdown-menu").css({ display: "none", opacity: 0 }); $(".menu_top_block.catalog_block li").removeClass("hover"); if (_th.hasClass("more") && !_th.hasClass("hover")) { e.preventDefault(); e.stopPropagation(); _th.siblings().removeClass("hover"); _th.addClass("hover"); $(".menu.topest").css({ overflow: "visible" }); } else { var href = $(e.target).attr("href") ? $(e.target).attr("href") : $(e.target).closest("a").attr("href"); if (href && href !== "undefined") location.href = href; } }); }); } } else { $(selector).off(); } } scrollToBlock = function (block) { if ($(block).length) { scrollToBlock.last = block; if (typeof $(block).data("toggle") !== "undefined") { $(block).click(); } var offset = -81 - 64; if (typeof $(block).data("offset") !== "undefined") { offset = $(block).data("offset"); } else { if (typeof arAsproOptions !== "undefined") { offset = window.matchMedia("(max-width:991px)").matches ? arAsproOptions.THEME.HEADER_MOBILE_FIXED !== "Y" || arAsproOptions.THEME.HEADER_MOBILE_SHOW !== "ALWAYS" ? -43 : -62 - 43 : arAsproOptions.THEME.TOP_MENU_FIXED !== "Y" ? -43 : -81 - 43; if ($(block).hasClass("drag-block")) { offset += 43; } } } offset = $(block).offset().top + offset; $("body").addClass("scrolling-state"); $("body, html").animate({ scrollTop: offset }, 500); setTimeout(function () { $("body").removeClass("scrolling-state"); }, 500); } }; scrollToBlock.rescroll = function () { if (typeof scrollToBlock.last !== "undefined") { scrollToBlock(scrollToBlock.last); } }; // DIGITAL BASKET function number_format(number, decimals, dec_point, thousands_sep) { number = (number + "").replace(/[^0-9+\-Ee.]/g, ""); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = typeof thousands_sep === "undefined" ? "," : thousands_sep, dec = typeof dec_point === "undefined" ? "." : dec_point, s = "", toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return "" + (Math.round(n * k) / k).toFixed(prec); }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : "" + Math.round(n)).split("."); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || "").length < prec) { s[1] = s[1] || ""; s[1] += new Array(prec - s[1].length + 1).join("0"); } return s.join(dec); } function setBasketItemsClasses() { if (typeof arBasketItems !== "undefined" && typeof arBasketItems !== "string" && arBasketItems) { if (Object.keys(arBasketItems).length) { for (var key in arBasketItems) { $("[data-item]").each(function () { if ($(this).data("id") == key) { $(this).find(".buy_block").addClass("in"); $(this).find(".buy_block .counter__count").val(arBasketItems[key].QUANTITY); } }); } } } } function setCompareItemsClass() { if (typeof arAsproOptions === "object" && arAsproOptions && arAsproOptions["COMPARE_ITEMS"]) { if (arAsproOptions["COMPARE_ITEMS"].length > 0) { for (var key in arAsproOptions["COMPARE_ITEMS"]) { $(".js-item-action[data-action='compare']").each(function () { if ($(this).data("item_compare") && $(this).data("item_compare").ID == arAsproOptions["COMPARE_ITEMS"][key]) { $(this).parent().addClass("active"); $(this).addClass("active"); $(this).attr("title", $(this).data("title_compared")); if ($(this).find(".info-buttons__item-text").length) { $(this).find(".info-buttons__item-text").text($(this).data("title_compared")); } } }); } } } } function Summ(el, counterInputValueNew, price) { if (counterInputValueNew <= 0) { counterInputValueNew = 1; } var summ = number_format(counterInputValueNew * price, 0, ".", " "), allSumm = 0; el.closest(".cart") .find(".cart__item") .each(function () { var $this = $(this), price = parseFloat($this.find("input[name=PRICE]").val()), count = parseFloat($this.find(".counter__count").val()); if (count <= 0) { count = 1; } if (!isNaN(price) && !isNaN(count)) { allSumm += count * price; } }); allSumm = number_format(parseFloat(allSumm), 0, ".", " "); el.closest(".cart__item").find(".cart__item-summ .price_val").text(summ); el.closest(".basket").find(".foot .cart-total__value").text(allSumm); } var timerBasketUpdate = false; // - COUNTER BasketCounter = function (el) { var elClass = $.trim(el.attr("class")), bClassMinus = elClass.indexOf("counter__action--minus") > -1, bClassPlus = elClass.indexOf("counter__action--plus") > -1, bClassCount = elClass.indexOf("counter__count") > -1, getCurUri = $.trim($("input[name=getPageUri]").val()), buyBlock = el.closest(".buy_block"), buttonToCart = buyBlock.find(".to_cart"), counterWrapper = el.closest(".counter"), counterInput = counterWrapper.find(".counter__count"), counterInputValue = parseFloat($.trim(counterInput.val())), price = parseFloat(buyBlock.find("input[name=PRICE]").val()), counterInputMaxCount = Math.pow(10, parseInt(counterInput.attr("maxlength"))) - 1, bAjax = el.closest(".basket").length || counterWrapper.hasClass("js-ajax") ? true : false; var bBasket = el.closest(".basket").length; // class minus button if (bClassMinus) { var counterInputValueNew = counterInputValue - 1; if (counterInputValueNew <= 0) { counterInputValueNew = 1; } counterInput.val(counterInputValueNew); if (bAjax) { Summ(el, counterInputValueNew, price); if (timerBasketUpdate) { clearTimeout(timerBasketUpdate); timerBasketUpdate = false; } timerBasketUpdate = setTimeout(function () { BasketUpdate(el, counterInputValueNew, bBasket); timerBasketUpdate = false; }, 700); } } // class plus button else if (bClassPlus) { var counterInputValueNew = counterInputValue + 1; if (counterInputValueNew > counterInputMaxCount) { counterInputValueNew = counterInputMaxCount; } counterInput.val(counterInputValueNew); if (bAjax) { Summ(el, counterInputValueNew, price); if (timerBasketUpdate) { clearTimeout(timerBasketUpdate); timerBasketUpdate = false; } timerBasketUpdate = setTimeout(function () { BasketUpdate(el, counterInputValueNew, bBasket); timerBasketUpdate = false; }, 700); } } // class input else if (bClassCount) { var counterInputValueNew = counterInputValue; if (counterInputValueNew <= 0 || isNaN(counterInputValueNew)) { counterInputValueNew = 1; } el.val(counterInputValueNew); if (bAjax) { BasketUpdate(el, counterInputValueNew, bBasket); } } if (!getCurUri && !el.closest(".basket.fly").length) { buttonToCart.data("quantity", counterInputValueNew); } }; BasketUpdate = function (el, counterInputValueNew, actualCounter) { var itemData = el.closest("[data-item]").data("item"); var itemData = typeof arBasketItems === "object" && typeof arBasketItems[itemData.ID] === "object" ? arBasketItems[itemData.ID] : itemData; var getCurUri = $.trim($("input[name=getPageUri]").val()); var scrollTop = $(".basket.fly").length ? $(".basket.fly .items_wrap").scrollTop() : $(".header-cart .basket.top").length ? $(".header-cart .basket.top .items").scrollTop() : ""; var bBasketTop = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && $.trim(arAsproOptions["THEME"]["ORDER_BASKET_VIEW"]) === "HEADER" && $(".basket.top").length; var bBasketFly = typeof arAsproOptions["THEME"]["ORDER_BASKET_VIEW"] !== "undefined" && !bBasketTop && $(".basket.fly").length; if (typeof itemData != "undefined" && !isNaN(itemData.ID) && itemData.ID > 0) { $.ajax({ url: arAsproOptions["SITE_DIR"] + "include/footer/basket.php", type: "POST", data: { itemData: itemData, quantity: counterInputValueNew }, }).done(function (html) { if (typeofExt(arBasketItems) === "object" || typeofExt(arBasketItems) === "array") { if (typeofExt(arBasketItems[itemData.ID]) === "object") { arBasketItems[itemData.ID]["QUANTITY"] = counterInputValueNew; } } if (bBasketTop) { $(".ajax_basket").replaceWith(html); } else if (bBasketFly) { $(".ajax_basket").html($($.trim(html)).html()); $(".basket.fly .items_wrap").scrollTop(scrollTop); } var eventdata = { action: "loadBasket" }; BX.onCustomEvent("onCompleteAction", [eventdata, $(html)]); if (getCurUri) { $.ajax({ url: getCurUri, type: "POST", }).done(function (html) { if ($(".basket.default").length) { $(".basket.default").html(html); } }); } }); } else { return; } }; CheckTabActive = function () {}; /* parallax bg */ ParallaxBg = function () { if ($("*[data-type=parallax-bg]").length) { var x = $(window).scrollTop() / $(document).height(); x = parseInt(-x * 280); $("*[data-type=parallax-bg]") .stop() .animate({ "background-position-y": x + "px" }, 400, "swing"); } }; // Events var timerScroll = false, ignoreScroll = [], documentScrollTopLast = $(document).scrollTop(), documentScrollTop = documentScrollTopLast; $(window).scroll(function () { documentScrollTop = $(document).scrollTop(); if (!ignoreScroll.length) { if (timerScroll) { clearTimeout(timerScroll); timerScroll = false; } timerScroll = setTimeout(function () { BX.onCustomEvent("onWindowScroll", false); }, 100); } documentScrollTopLast = $(document).scrollTop(); }); var timerResize = false, ignoreResize = []; $(window).resize(function () { documentScrollTop = $(document).scrollTop(); CheckScrollToTop(); CheckTopMenuPadding(); CheckTopMenuOncePadding(); CheckSearchWidth(); if (!ignoreResize.length) { if (timerResize) { clearTimeout(timerResize); timerResize = false; } timerResize = setTimeout(function () { BX.onCustomEvent("onWindowResize", false); }, 100); } if ( typeof arAsproOptions !== "undefined" && arAsproOptions["THEME"] && arAsproOptions["THEME"]["COMPACT_FOOTER_MOBILE"] == "Y" ) { if (window.matchMedia("(max-width:767px)").matches) { $("footer").addClass("mobile"); $(".bottom-menu .items>.wrap_compact_mobile").addClass("accordion-body collapse"); $(".bottom-menu .items>.item-link").attr("data-toggle", "collapse"); } else { $("footer").removeClass("mobile"); $(".bottom-menu .items>.wrap_compact_mobile").removeClass("accordion-body collapse"); $(".bottom-menu .items>.item-link").removeAttr("data-toggle"); } } documentScrollTopLast = $(document).scrollTop(); }); BX.addCustomEvent("onWindowScroll", function (eventdata) { try { ignoreScroll.push(true); ParallaxBg(); if (arAsproOptions["THEME"]["TYPE_SEARCH"] != "fixed") { if (!$("header > .top-block").length) { var height_block = 0, scrollVal = $(window).scrollTop(); height_block = $(".logo_and_menu-row").actual("outerHeight"); if (!scrollVal) { $(".inline-search-block").css({ height: height_block, "line-height": height_block - 4 + "px", top: -height_block, }); } } } //CheckTopMenuDotted(); } catch (e) { } finally { ignoreScroll.pop(); } }); BX.addCustomEvent("onWindowResize", function (eventdata) { try { ignoreResize.push(true); CheckHeaderFixedMenu(); CheckTopMenuDotted(); CheckTopVisibleMenu(); CheckFlexSlider(); CheckMainBannerSliderVText($(".banners-big .flexslider")); CheckObjectsSizes(); if (funcDefined("CoverPlayer")) { CoverPlayer(); } verticalAlign(); CheckTabActive(); setTimeout(function () { createTableCompare( $(".main-block .items .title-block:not(.clone) .item"), $(".prop_title_table"), $(".main-block .prop_title_table .item.clone") ); }, 100); SliceHeightBlocks(); if (funcDefined("checkMobileFilter")) { checkMobileFilter(); } if (window.matchMedia("(min-width: 992px)").matches) { CloseMobileMenu(); CloseMobilePhone(); } if (window.matchMedia("(min-width:768px)").matches) { closeFullscreenMap(); } } catch (e) { } finally { ignoreResize.pop(); } }); BX.addCustomEvent("onSlide", function (eventdata) { try { ignoreResize.push(true); if (eventdata) { var slider = eventdata.slider; var slideClass = ".banners-big__item"; var jsDots = $(slider).siblings(".owl-carousel__dots--line"); if (jsDots.length) { if (eventdata.data) { if (eventdata.data.relatedTarget) { var dotScroll = jsDots.find(".owl-carousel__dot-scroll"); var dotsWidth = jsDots.width(); if (dotScroll.length) { var owlOptions = eventdata.data.relatedTarget; if (owlOptions) { var itemsCount = owlOptions._items.length; var itemsInRow = owlOptions.settings.items; var currentItem = owlOptions._current; // + 1; //orig old //currentItem = currentItem < itemsInRow ? itemsCount + itemsInRow - 1 : currentItem; //var offset = ((currentItem - itemsInRow) / itemsCount) * dotsWidth; //new by use count clones in slider var clonesInStart = Math.ceil(itemsCount / 2); currentItem = currentItem < clonesInStart ? itemsCount + clonesInStart - 1 : currentItem; currentItem = currentItem === itemsCount + clonesInStart ? clonesInStart : currentItem; var offset = ((currentItem - clonesInStart) / itemsCount) * dotsWidth; var styles = { width: dotsWidth / itemsCount + "px", display: "block", left: offset, }; dotScroll.css(styles); } } } } } if (slider) { // add classes .curent & .shown to slide slider.find(slideClass).removeClass("current"); var curSlideIndex = eventdata.data.item.index; var curSlide = slider.find(".owl-item:eq(" + curSlideIndex + ")" + " " + slideClass); curSlide.addClass("current"); curSlide.addClass("shown"); slider.resize(); if (slider.closest(".blocks").length) slider.closest(".blocks").find(".flex-direction-nav li").addClass("initied"); if (slider.closest(".wraps").length) slider.closest(".wraps").find(".flex-direction-nav li").addClass("initied"); if (!slider.find(".flex-control-nav li").length && slider.hasClass("normal")) { slider.find(".flex-direction-nav li a").addClass("flex-disabled"); } if (slider.closest(".banners-big").length) { // var curSlide = slider.find('.item.flex-active-slide'); //logo src var logoOpacity = $("body.header_opacity").length && (!$("header.header--offset").length || $("header .logo").closest(".header__top-part").length || ($("header.header--offset").length && ($("header .header__main-inner.bg_none").length || $("header .header__sub-inner.bg_none").length))); var bLogoImg = $("body:not(.left_header_column) header .logo img").length && logoOpacity; if (bLogoImg) $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE); //nav flex color slider.find(".flex-control-nav li").removeClass(); //header color $("header").removeClass("light dark"); // slider.closest('.banners-big').find('.owl-carousel').removeClass('owl-carousel--light owl-carousel--dark'); if (typeof curSlide.data("color") != "undefined") { $("header").addClass(curSlide.data("color")); // slider.closest('.banners-big').find('.owl-carousel').addClass('owl-carousel--'+curSlide.data('color')); if (bLogoImg) { if (arAsproOptions.THEME.LOGO_IMAGE_WHITE && curSlide.data("color") == "light") $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE_WHITE); } } } if ( !slider.hasClass("flexslider-init-slice") && slider.hasClass("nav-title") && $(".gallery-block").closest(".tab-pane").hasClass("active") ) { slider.find(".item").sliceHeight({ lineheight: -3 }); slider.addClass("flexslider-init-slice"); } if (slider.find(".flex-direction-nav").length) { if (slider.find(".flex-direction-nav").find("a.flex-disabled").length) slider.find(".flex-direction-nav").removeClass("opacity1").addClass("opacity0"); else slider.find(".flex-direction-nav").removeClass("opacity0").addClass("opacity1"); } } } } catch (e) { } finally { ignoreResize.pop(); } }); BX.addCustomEvent("onSlideBefore", function (eventdata) { try { ignoreResize.push(true); if (eventdata) { var slider = eventdata.slider; if (slider) { if (slider.closest(".banners-big").length) { setTimeout(function () { var curSlide = slider.find(".banners-big__item.current"); var logoOpacity = $("body.header_opacity").length && (!$("header.header--offset").length || $("header .logo").closest(".header__top-part").length || ($("header.header--offset").length && ($("header .header__main-inner.bg_none").length || $("header .header__sub-inner.bg_none").length))); //logo src var bLogoImg = $("body:not(.left_header_column) header .logo img").length && logoOpacity; if (bLogoImg) $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE); //nav flex color slider.find(".flex-control-nav li").removeClass(); //header color $("header").removeClass("light dark"); if (typeof curSlide.data("color") != "undefined") { slider.find(".flex-control-nav li").addClass(curSlide.data("color")); $("header").addClass(curSlide.data("color")); if (bLogoImg) { if (arAsproOptions.THEME.LOGO_IMAGE_WHITE && curSlide.data("color") == "light") $("header .logo img").attr("src", arAsproOptions.THEME.LOGO_IMAGE_WHITE); } } }, 100); } else if (slider.hasClass("top-bigs")) { setTimeout(function () { var index = slider.find(".item.flex-active-slide").data("slide_key"); $(".bxSlider.top-small .slides").data("bxSlider").goToSlide(index); $(".bxSlider.top-small .slides li").removeClass("flex-active-slide"); $('.bxSlider.top-small .slides li[data-slide_key="' + index + '"]').addClass("flex-active-slide"); }, 100); } } } } catch (e) { } finally { ignoreResize.pop(); } }); BX.addCustomEvent("onSlideEnd", function (eventdata) { try { ignoreResize.push(true); if (eventdata) { var slider = eventdata.slider; } } catch (e) { } finally { ignoreResize.pop(); } }); var onCaptchaVerifyinvisible = function (response) { $(".g-recaptcha:last").each(function () { var id = $(this).attr("data-widgetid"); if (typeof id !== "undefined" && response) { if (!$(this).closest("form").find(".g-recaptcha-response").val()) $(this).closest("form").find(".g-recaptcha-response").val(response); if ($("iframe[src*=recaptcha]").length) { $("iframe[src*=recaptcha]").each(function () { var block = $(this).parent().parent(); if (!block.hasClass("grecaptcha-badge")) block.css("width", "100%"); }); } if ($(this).closest("form").attr("name") == "form_comment") BX.submit(BX("form_comment")); else $(this).closest("form").submit(); } }); }; var onCaptchaVerifynormal = function (response) { $(".g-recaptcha").each(function () { var id = $(this).attr("data-widgetid"); if (typeof id !== "undefined") { if (grecaptcha.getResponse(id) != "") { $(this).closest("form").find(".recaptcha").valid(); } } }); }; BX.addCustomEvent("onSubmitForm", function (eventdata) { try { if (!window.renderRecaptchaById || !window.asproRecaptcha || !window.asproRecaptcha.key) { eventdata.form.submit(); $(eventdata.form).closest(".form").addClass("sending"); return true; } if (window.asproRecaptcha.params.recaptchaSize == "invisible" && typeof grecaptcha != "undefined") { if ($(eventdata.form).find(".g-recaptcha-response").val()) { eventdata.form.submit(); $(eventdata.form).closest(".form").addClass("sending"); } else { grecaptcha.execute($(eventdata.form).find(".g-recaptcha").data("widgetid")); return false; } } else { eventdata.form.submit(); $(eventdata.form).closest(".form").addClass("sending"); } return true; } catch (e) { console.error(e); return true; } });