{"version":3,"file":"main.min.js","names":["document","addEventListener","e","form","querySelector","button","closest","target","ym","value","debounceFn","fn","ms","timer","clear","clearTimeout","callback","args","setTimeout","bind","drop","truncate","selector","$","dotdotdot","height","watch","checkMobile","breakpoint","window","innerWidth","disableBodyScroll","scrollBarWidth","documentElement","clientWidth","body","style","overflow","paddingRight","enableBodyScroll","removeProperty","modalToggler","getAttribute","className","modal","getElementById","classList","contains","remove","add","detectHorizontalScroll","element","scrollLeft","isScroll","footerLinksGroups","querySelectorAll","group","links","length","createElement","innerText","appendChild","navbar","scrollY","Swiper","speed","spaceBetween","slidesPerView","navigation","nextEl","prevEl","forEach","link","preventDefault","url","timeout","location","href","removeEventListener","once","openViber","currentTarget","isMobile","updateIsMobile","isMobileTemp","async","initYandexMap","viewId","params","Promise","resolve","reject","ymaps","ready","instance","Map","showAutoselectionButton","ajaxResults","buttonText","amount","removeAttr","attr","text","html","generateHash","formData","MD5","toString","formHasChanged","hash_key","originalHash","localStorage","getItem","currentHash","setItem","updateQuantity","data","bagde","span","addClass","appendTo","ajaxUpdateQuantity","ajax","done","updatePopularSection","mainGroup","main_group","result","dataAtt","removeClass","servicesContainer","children","parentNode","btn","currentCity","city","regex","RegExp","search","click","scrollIntoView","behavior","block"],"sources":["main.min.js"],"sourcesContent":["document.addEventListener('click', e => {\n const form = document.querySelector('form#jsCallRequestForm');\n\n if (form) {\n const wrapper = form.closest('.modal-content');\n const button = wrapper.querySelector('button[type=\"submit\"]');\n\n if (e.target === button) {\n ym(137454, 'reachGoal', 'selection_a_specialist')\n }\n }\n})\ndocument.addEventListener('click', e => {\n const form = document.querySelector('#callRequestForm');\n\n if (form) {\n const wrapper = form.closest('.modal-content');\n const button = wrapper.querySelector('button[type=\"submit\"]');\n\n if (e.target === button) {\n ym(137454, 'reachGoal', 'order_a_callback')\n }\n }\n})\ndocument.addEventListener('click', e => {\n const form = document.querySelector('#buyOneClickModalForm');\n\n if (form) {\n const wrapper = form.closest('.modal-content');\n const button = wrapper.querySelector('button[type=\"submit\"]');\n\n if (e.target === button) {\n ym(137454, 'reachGoal', 'buy_in_1_click_new_site')\n }\n }\n})\ndocument.addEventListener('click', e => {\n const form = document.querySelector('#directorForm');\n\n if (form) {\n const wrapper = form.closest('.modal-content');\n const button = wrapper.querySelector('button[type=\"submit\"]');\n\n if (e.target === button) {\n ym(137454, 'reachGoal', 'feedback_form')\n\n const phone = form.querySelector('input[name=\"CallRequests[phone]\"]').value;\n const name = form.querySelector('input[name=\"CallRequests[name]\"]').value;\n\n // const callTrackingParams = window.ct('calltracking_params', 'z1wkxf1n');\n // if (callTrackingParams && callTrackingParams.sessionId) {\n // const sessionId = callTrackingParams.sessionId;\n // console.log('Session ID:', sessionId);\n // } else {\n // console.error('Не удалось получить sessionId');\n // }\n\n // const ct_data = {\n // siteId: 72355,\n // fio: 'Иванов Иван Иванович',\n // phoneNumber: '79000000000',\n // email: 'test@test.ru',\n // subject: 'Заявка с сайта',\n // tags: 'Mercedes,Белый',\n // comment: 'Тест-драйв',\n // requestUrl: location.href,\n // sessionId: window.ct('getSessionData','z1wkxf1n').sessionId\n // };\n //\n // ct('sendEvent', {\n // event: 'click',\n // data: ct_data\n // });\n }\n }\n})\n\n\nconst debounceFn = (fn, ms) => {\n let timer = null;\n const clear = () => {\n if (!timer) return;\n clearTimeout(timer);\n timer = null;\n };\n const callback = (...args) => {\n clear();\n timer = setTimeout(fn.bind(null, ...args), ms);\n };\n callback.drop = clear;\n return callback;\n};\n\n// Футер\n(() => {\n const limit = 7;\n\n const footerLinksGroups = document.querySelectorAll(\n \".accordion-body--footer\"\n );\n for (const group of footerLinksGroups) {\n const links = group.querySelectorAll(\".accordion-link--footer\");\n if (links.length <= limit) {\n group.classList.add(\"full\");\n } else {\n const button = document.createElement(\"button\");\n button.classList.add(\"accordion-show-button\");\n button.innerText = \"еще \" + (links.length - limit + 1);\n button?.addEventListener(\"click\", () => {\n group.classList.add(\"full\");\n });\n group.appendChild(button);\n }\n }\n})();\n\n//TODO: Доделать модалку каталога\n// Модальное окно каталога\n// (() => {\n// const limit = 9;\n// const removeActiveClass = (el) => el.classList.remove(\"active\");\n// const modalCatalogLinks = document.querySelectorAll(\"#modalCatalogNav a\");\n// const modalCatalogSections = document.querySelectorAll(\n// \"#modalCatalogMain .modalCatalogSection\"\n// );\n// const modalCatalogSectionsSubcategories = document.querySelectorAll(\n// \"#modalCatalogMain .modalCatalogSection_subcategories\"\n// );\n// const modalCatalog = document.querySelector(\"#modalCatalog\");\n// const modalCatalogWrapper = document.querySelector(\"#modalCatalogWrapper\");\n// const openModalCatalogBtn = document.querySelector(\n// \"#openModalCatalogBtn\"\n// );\n//\n// const changeActiveCategory = (e) => {\n// const element = e.target;\n// const isActive = element.classList.contains(\"active\");\n// if (isActive) return;\n// modalCatalogLinks.forEach(removeActiveClass);\n// modalCatalogSections.forEach(removeActiveClass);\n// element.classList.add(\"active\");\n// const target = element.getAttribute(\"data-target\");\n// document.querySelector(target)?.classList.add(\"active\");\n// };\n//\n//\n// const openCatalog = () => {\n// const isActive = modalCatalog.classList.contains(\"active\");\n// openModalCatalogBtn.blur();\n// if (!isActive) {\n// disableBodyScroll();\n// modalCatalog.classList.add(\"active\");\n// }\n// };\n//\n// const closeCatalog = () => {\n// enableBodyScroll();\n// modalCatalog.classList.remove(\"active\");\n// };\n//\n// const callbackActiveCategory = debounceFn(changeActiveCategory, 300);\n// const callbackOpen = debounceFn(openCatalog, 300);\n// const callbackClose = debounceFn(closeCatalog, 300);\n//\n// openModalCatalogBtn.addEventListener(\"mouseenter\", () => {\n// callbackClose.drop();\n// callbackOpen();\n// });\n// openModalCatalogBtn.addEventListener(\"mouseleave\", () => {\n// callbackClose();\n// callbackOpen.drop();\n// });\n//\n// modalCatalogWrapper.addEventListener(\"mouseenter\", () => {\n// callbackClose.drop();\n// });\n// modalCatalogWrapper.addEventListener(\"mouseleave\", () => {\n// callbackClose();\n// callbackOpen.drop();\n// });\n//\n// modalCatalogLinks.forEach((link) => {\n// link.addEventListener(\"mouseenter\", callbackActiveCategory);\n// link.addEventListener(\"mouseleave\", callbackActiveCategory.drop);\n// });\n//\n// for (const group of modalCatalogSectionsSubcategories) {\n// const links = group.querySelectorAll(\".modalCatalogSection_subcategory\");\n// if (links.length <= limit) {\n// group.classList.add(\"full\");\n// } else {\n// const button = document.createElement(\"button\");\n// button.classList.add(\"btn-secondary\", \"modalCatalogSection_toggle\");\n// button.innerText = \"Показать ещё\";\n// button?.addEventListener(\"click\", () => {\n// group.classList.add(\"full\");\n// });\n// group.appendChild(button);\n// }\n// }\n// })();\n\n// Навигация хедера\n(() => {\n const navbar = document.getElementById(\"headerNavBar\");\n let scrollY = 0;\n const offset = 10;\n\n function toggleFixedHeader() {\n if (!navbar) return;\n if (scrollY > window.scrollY + offset) {\n navbar.classList.remove(\"hidden\");\n scrollY = window.scrollY <= 0 ? 0 : window.scrollY;\n } else if (scrollY < window.scrollY - offset) {\n navbar.classList.add(\"hidden\");\n scrollY = window.scrollY <= 0 ? 0 : window.scrollY;\n }\n }\n\n new Swiper(\"#navSwiper\", {\n speed: 300,\n spaceBetween: 0,\n slidesPerView: \"auto\",\n navigation: {\n nextEl: \"#navSwiperNext\",\n prevEl: \"#navSwiperPrev\",\n },\n });\n\n window?.addEventListener(\"scroll\", toggleFixedHeader);\n})();\n\n\n// Открытие Viber\n(() => {\n function openViber(url) {\n const timeout = setTimeout(function () {\n window.location.href = \"https://www.viber.com/\";\n window.removeEventListener(\"blur\", clear);\n }, 500);\n window.location.href = url;\n window.addEventListener(\"blur\", clear, {once: true});\n\n function clear() {\n clearTimeout(timeout);\n };\n }\n\n const links = document.querySelectorAll(\"[data-viber]\");\n links.forEach((link) => {\n link.addEventListener(\"click\", (e) => {\n e.preventDefault();\n const url = e.currentTarget.href;\n openViber(url);\n });\n });\n})();\n\nfunction truncate(selector) {\n // \".employeePreview_description\"\n $(selector)?.dotdotdot({\n height: \"watch\",\n watch: \"window\",\n });\n}\n\nfunction checkMobile(breakpoint) {\n return window.innerWidth <= breakpoint;\n}\n\nfunction disableBodyScroll() {\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n document.body.style.overflow = \"hidden\";\n document.body.style.paddingRight = scrollBarWidth + \"px\";\n}\n\nfunction enableBodyScroll() {\n document.body.style.removeProperty(\"overflow\");\n document.body.style.removeProperty(\"padding-right\");\n}\n\nfunction modalToggler(e) {\n const target = e.target\n .closest(\"[data-modal-target]\")\n ?.getAttribute(\"data-modal-target\");\n if (!target) return;\n const className =\n e.target.closest(\"[data-class]\")?.getAttribute(\"data-class\") ?? \"open\";\n const modal = document.getElementById(target);\n if (!modal) return;\n const isOpened = modal.classList.contains(className);\n if (!isOpened) {\n modal.classList.add(className);\n disableBodyScroll();\n } else {\n modal.classList.remove(className);\n setTimeout(() => {\n enableBodyScroll();\n }, 300);\n }\n}\n\nfunction detectHorizontalScroll(element) {\n const scrollLeft = element.scrollLeft;\n if (scrollLeft === 0) {\n element.scrollLeft = 1;\n }\n const isScroll = element.scrollLeft !== 0;\n if (scrollLeft === 0) {\n element.scrollLeft = 0;\n }\n return isScroll;\n}\n\nconst breakpoint = 920;\nlet isMobile = checkMobile(breakpoint);\n\nfunction updateIsMobile() {\n const isMobileTemp = checkMobile(breakpoint);\n if ((!isMobile && isMobileTemp) || (isMobile && !isMobileTemp)) {\n isMobile = isMobileTemp;\n }\n}\n\nasync function initYandexMap(viewId, params) {\n return new Promise((resolve, reject) => {\n ymaps.ready(\n () => {\n const instance = new ymaps.Map(viewId, params);\n resolve(instance);\n },\n () => reject(\"ymaps load error\")\n );\n });\n}\n\nwindow.addEventListener(\"resize\", updateIsMobile);\n\ndocument.addEventListener(\"click\", modalToggler);\n\nfunction showAutoselectionButton(ajaxResults) {\n let button = $(\".js-autoselection-show-button\");\n let buttonText = \"Показать\";\n\n if (!ajaxResults) {\n button.attr(\"disabled\", \"disabled\").text(\"Показать\");\n } else if (ajaxResults.amount > 0) {\n button.removeAttr(\"disabled\");\n buttonText =\n 'Показать' +\n ajaxResults.amount +\n \"\";\n } else {\n button.attr(\"disabled\", \"disabled\");\n buttonText = \"Нет результатов\";\n }\n\n button.html(buttonText);\n}\n\nfunction generateHash(formData) {\n return MD5(formData).toString();\n}\n\nfunction formHasChanged(hash_key, formData) {\n let originalHash = localStorage.getItem(hash_key);\n let currentHash = generateHash(formData);\n\n if (originalHash !== currentHash) {\n localStorage.setItem(hash_key, currentHash);\n return true;\n }\n\n return false;\n}\n\n/*Full Line Code Completion is a built-in plugin that enhances code completion with inline suggestions. The plugin uses only local LLMs and does not send any of your data over the internet. Full Line Code Completion offers an LLM for JavaScript. Would you like to download this model?*/\n\n(() => {\n try {\n const servicesContainer = document.querySelector('#maintenanceServices');\n const servicesCount = servicesContainer?.children.length ?? 0;\n if (servicesCount <= 9) {\n servicesContainer.parentNode.classList.add('full');\n }\n const btn = document.querySelector('#showAllServices');\n btn.addEventListener('click', () => {\n btn.parentNode.classList.add('full');\n });\n } catch (e) {\n }\n})();\n\n\nfunction updateQuantity(data) {\n let bagde = $('#badge-basket-header-button');\n if (bagde.length === 0) {\n let span = document.createElement('span');\n $(span).addClass('badge badge--button bg-success rounded-circle').attr('id', 'badge-basket-header-button')\n .html(data)\n .appendTo($('.js-cart-button'))\n } else {\n bagde.text(data);\n }\n}\n\nfunction ajaxUpdateQuantity() {\n $.ajax({\n url: '/api/basket/quantity'\n }).done(function (data) {\n updateQuantity(data);\n });\n}\n\nfunction updatePopularSection(mainGroup) {\n\n let popularContainer = $('#productsWidgetSwiperWrapper');\n\n if (popularContainer.length > 0) {\n\n $.ajax({\n url: '/catalog/ajax/popular-by-category',\n data: {\n main_group: mainGroup\n }\n }).done(\n function (result) {\n $('#productsWidgetSwiperWrapper').html(result);\n }\n );\n\n let dataAtt = '[data-main-group=\"' + mainGroup + '\"]'\n $('.js-fast-link-main-group').removeClass('active');\n $(dataAtt).addClass('active');\n }\n}\n\ndocument.addEventListener('click', e => {\n const modal = e.target.closest('.modal-dialog--citiesModal');\n\n if (modal) {\n const btn = modal.querySelector('[data-bs-dismiss=\"modal\"]');\n\n if (e.target === btn) {\n const currentCity = modal.querySelector('.citiesModal_title').innerText;\n const cityList = document.querySelector('.citiesModal_list#chooseCitiesModalList').querySelectorAll('a');\n\n cityList.forEach(city => {\n const regex = new RegExp(city.innerText, 'i');\n\n if (currentCity.search(regex) > -1) {\n city.click();\n }\n })\n }\n }\n})\n\n\ndocument.addEventListener('click', e => {\n const btn = e.target.closest('[data-about-reasons-show-map]');\n\n if (btn) {\n const map = document.querySelector('.section-with-map');\n\n map.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n})\n\n"],"mappings":"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","ignoreList":[]}