function checkMail(email){ return email.search(/^([a-z0-9_-]{1,15}\.{1})*?[a-z0-9_-]+@[a-z0-9-]+\.([a-z]{2,6}\.)?[a-z]{2,6}$/i); } function usFirst(str){ var item_title_first = str.charAt(0), item_title_next = str.slice(1); return item_title_first.toUpperCase() + item_title_next; } function windowOrientation(){ setTimeout(function(){ if(window.innerWidth < window.innerHeight || window.innerWidth > 768){ var map_wrap = document.querySelector("#wrapContactsAddress").offsetHeight; document.querySelector("#wrapContactsMap").setAttribute("style", "height:" + (map_wrap < window.innerHeight ? window.innerHeight : map_wrap) + "px;"); }else{ document.querySelector("#wrapContactsMap").setAttribute("style", "height:" + window.innerHeight + "px;"); } if(typeof myMap !== "undefined" && myMap !== null){ myMap.container.fitToViewport(); } if(getDeviceType() == "mobile"){ getLogoStrName(document.querySelector("[data-logo-strname]")); } }, 500); } function windowResize(){ if(getDeviceType() == "desktop"){ setTimeout(function(){ getLogoStrName(document.querySelector("[data-logo-strname]")); }, 500); } } function getLogoStrName(logoObj = null){ if(logoObj != null){ if(logoObj.getAttribute("data-def-logo-strname") == undefined){ logoObj.setAttribute("data-def-logo-strname", logoObj.innerText); } if(logoObj.getAttribute("data-def-logo-strname").length > logoObj.innerText.length) logoObj.innerText = logoObj.getAttribute("data-def-logo-strname"); if(window.innerWidth <= 1024 && window.innerWidth > 991){ logoObj.innerText = logoObj.innerText.substr(0, 19) + '...' + logoObj.innerText.substr(-1); }else if(window.innerWidth <= 414){ logoObj.innerText = logoObj.innerText.substr(0, 11) + '...' + logoObj.innerText.substr(-1); } } } function loadPrivacy(){ var loadData = new FormData(), XHR = new XMLHttpRequest(); loadData.append("loadPrivacy", []); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done") document.getElementById("policyModal").innerHTML = response.data; }catch{} } } XHR.onerror = function(){} XHR.send(loadData); } function loadSendAnimate($action = false){ if($action === true){ document.querySelector(".preloader").removeAttribute("style"); document.body.style.overflow = "hidden"; document.querySelector(".preloader").classList.remove("animate__fadeOut"); document.querySelector(".preloader").setAttribute("style", "background-color:#cffed290;"); }else{ if($action != "done"){ document.querySelector(".preloader").setAttribute("style", "background-color:#fecfe490;"); setTimeout(function(){ document.body.removeAttribute("style"); document.querySelector(".preloader").classList.add("animate__fadeOut"); document.querySelector(".preloader").setAttribute("style", "display:none;"); }, 1000); }else{ document.body.removeAttribute("style"); document.querySelector(".preloader").classList.add("animate__fadeOut"); document.querySelector(".preloader").setAttribute("style", "display:none;"); } } } function getDeviceType(){ var userAgent = navigator.userAgent.toLowerCase(); if(/mobile|iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(userAgent)) return "mobile"; else return "desktop"; } function loadPageImages(){ var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadPIdata", ""); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done"){ for(var i in response.images){ if(response.images[i].type == "bg") document.querySelector("[data-image-load=" + response.images[i].name + "]").style.backgroundImage = `url("${response.images[i].src}")`; else if(response.images[i].type == "img") document.querySelector("[data-image-load=" + response.images[i].name + "]").src = response.images[i].src; } } }catch{} } } XHR.onerror = function(){} XHR.send(formData); } function loadQRimage(){ var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadQRdata", ""); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done") document.querySelector("[name=image-qr-code]").innerHTML = response.text; }catch{} } } XHR.onerror = function(){} XHR.send(formData); } function loadSHCSimage(item_array, flag = false){ var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadShCSdata", item_array); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done"){ for(var i in response.images){ sectionObj.querySelector("[data-showcase-image-load=\"" + response.images[i].name + "\"]").src = response.images[i].src; sectionObj.querySelector("[data-showcase-image-load=\"" + response.images[i].name + "\"]").removeAttribute("data-src"); if(flag){ var item = sectionObj.querySelector("[data-showcase-image-load=\"" + response.images[i].name + "\"]"); showcaseOpenDetails(item); } } } }catch{} } } XHR.onerror = function(){} XHR.send(formData); } function showcaseOpenDetails(item){ item.closest("[data-showcase-wrap]").querySelector("ul").classList.remove("d-none"); var detailsObj = item.closest("[data-showcase-wrap]").querySelector("[data-modal-details]"); detailsObj.setAttribute("style", "cursor:pointer"); detailsObj.setAttribute("data-bs-toggle", "modal"); detailsObj.setAttribute("data-bs-target", "#modalShowcaseDetails"); detailsObj.setAttribute("onClick", "moreDetails(this)"); item_id = item.closest("[data-showcase-wrap]").getAttribute("data-showcase-wrap"); } function loadFullDetails(item_id){ contentObj = document.querySelector("#modalShowcaseDetails [data-showcase=content]"); var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadShCSdetails", item_id); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done"){ contentObj.querySelector("[data-showcase-item=\"" + item_id + "\"] [data-showcase-item-description-full]").innerHTML = response.description; showcase_details[item_id] = contentObj.innerHTML; } }catch{} } } XHR.onerror = function(){} XHR.send(formData); } function loadSHCSmore(itemsObj, items_count){ var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadShCSitems", itemsObj.querySelectorAll("[data-showcase-wrap]").length); loadSendAnimate(true); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done"){ itemsObj.insertAdjacentHTML("beforeend", response.data); var item_load_array = new Array(); itemsObj.querySelectorAll("[data-showcase-image-load]").forEach((item) => { if(item_array.indexOf(item.getAttribute("data-showcase-image-load")) == -1){ item_load_array.push(item.getAttribute("data-showcase-image-load")); item_array.push(item.getAttribute("data-showcase-image-load")); if(item.closest("[data-showcase-wrap]").querySelector("[data-item-price]").innerText == "???"){ item.closest("[data-showcase-wrap]").querySelector("[data-item-price]").innerText = ""; item.closest("[data-showcase-wrap]").querySelector("i.fa-ruble-sign").classList.add("d-none"); } } }); if(response.next) itemsObj.closest("section[data-layout-name=showcase]").querySelector("[data-showcase-next]").remove(); loadSHCSimage(item_load_array, true); } loadSendAnimate(response.type); }catch{ loadSendAnimate(null); } } } XHR.onerror = function(){} XHR.send(formData); } function loadSHCSmodal(itemsObj){ var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("loadShCSmodal", ""); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); modal_array = response.data; itemsObj.querySelectorAll("[name=send-order-btn]").forEach((item) => { if(item.querySelector("[data-item-price]").innerText == "???"){ item.querySelector("[data-item-price]").innerText = ""; item.querySelector("i.fa-ruble-sign").classList = "d-none"; } item.classList.remove("d-none"); showcaseOpenDetails(item); }); }catch{} } } XHR.onerror = function(){} XHR.send(formData); } function moreDetails(item){ var itemObj = item.closest("[data-showcase-wrap]"), item_id = itemObj.getAttribute("data-showcase-wrap"), item_title = itemObj.querySelector("[data-item-type]").innerText, titleObj = document.querySelector("#modalShowcaseDetails [data-showcase=title]"), contentObj = document.querySelector("#modalShowcaseDetails [data-showcase=content]"); titleObj.innerHTML = usFirst(item_title) + " - " + itemObj.querySelector("[data-item-title]").innerText; contentObj.innerHTML = modal_array.details; contentObj.querySelector("[data-showcase-item]").setAttribute("data-showcase-item", item_id); if(!showcase_details[item_id]){ loadFullDetails(item_id); contentObj.querySelector("[data-showcase-item-image]").setAttribute("src", itemObj.querySelector("[data-showcase-image-load]").getAttribute("src")); contentObj.querySelector("[data-showcase-item-title]").innerHTML = itemObj.querySelector("[data-item-title]").innerHTML; contentObj.querySelector("[data-showcase-item-type]").innerHTML = itemObj.querySelector("[data-item-type]").innerHTML; contentObj.querySelector("[data-showcase-item-description-short]").innerHTML = itemObj.querySelector("[data-item-description]").innerHTML; if(itemObj.querySelector("[data-item-price]").innerHTML != ""){ contentObj.querySelector("[data-showcase-item-price]").innerHTML = itemObj.querySelector("[data-item-price]").innerHTML; }else{ contentObj.querySelector("[data-showcase-price-title]").classList.add("d-none"); } contentObj.querySelector("[data-showcase-item-units]").innerHTML = itemObj.querySelector("[data-item-units]").innerHTML; contentObj.querySelector("[data-showcase-item-description-full]").innerHTML = "Загружается описание..."; }else{ contentObj.innerHTML = showcase_details[item_id]; } } function sendMailServ(elem){ var myMailSendFlag = true; var mailFDataObj = elem.closest("[data-subject]"); var subject = mailFDataObj.getAttribute("data-subject"), type = mailFDataObj.getAttribute("data-subject-type"); var element_array = []; var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("mailFdata", [subject]); formData.append("fieldType", [type]); formData.append("urlSend", window.location); mailFDataObj.querySelectorAll("input, textarea, select").forEach(function(element){ if(element.getAttribute("required") != null){ if(element.getAttribute("data-check") == "phone" && (element.value.replace(/[^\d]/g, '').split("").reduce(function(sum,elem){ return parseInt(sum) + parseInt(elem); }, 0) < 17 || element.value.replace(/[^\d]/g, '').length < 11)){ element.classList.add("border-warning"); element.focus(); myMailSendFlag = false; }else if(element.getAttribute("data-check") == "email" && checkMail(element.value)){ //.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/) element.classList.add("border-warning"); element.focus(); myMailSendFlag = false; }else if(element.value < 5){ element.classList.add("border-warning"); element.focus(); myMailSendFlag = false; }else{ element.classList.remove("border-warning"); } } formData.append("fieldData[]", [element.getAttribute("name"),"%%%",element.getAttribute("header"),"%%%",element.value]); element_array.push(element.getAttribute("name")); }); if(!myMailSendFlag) return false; elem.disabled = "disabled"; loadSendAnimate(true); XHR.open("POST", "", true); XHR.onreadystatechange = function(){ if(XHR.readyState == 4 && XHR.status == 200){ try{ var response = JSON.parse(XHR.responseText); if(response.type == "done"){ elem.removeAttribute("myMailSend"); span = document.createElement("span"); span.setAttribute("class", "list-group-item bg-light border-0 rounded small text-start text-success"); span.appendChild(document.createTextNode(response.text)); elem.replaceWith(span); for(var val in element_array) mailFDataObj.querySelector("[name=" + element_array[val] + "]").disabled = "disabled"; }else{ elem.removeAttribute("disabled"); if(response.text) setTimeout(() => { alert(response.text); }, 100); } loadSendAnimate(response.type); }catch{ elem.removeAttribute("disabled"); loadSendAnimate(null); } } } XHR.onerror = function(){ button.removeAttribute("disabled"); loadSendAnimate(null); } XHR.send(formData); } function checkOrder(item){ var itemObj = item.closest("[data-showcase-wrap]"), item_id = itemObj.getAttribute("data-showcase-wrap"), item_title = itemObj.querySelector("[data-item-title]").innerText + " " + itemObj.querySelector("[data-item-type]").innerText, item_price = itemObj.querySelector("[data-item-price]").innerText, contentObj = document.querySelector("#modalShowcaseOrder [data-showcase=content]"), form_title = "Заказать в один клик"; var content_message = item_title + ": " + (item_price ? item_price + " руб. /" : "") + " " + itemObj.querySelector("[data-item-units]").innerText; document.querySelector("#modalShowcaseOrder [data-showcase=title]").innerHTML = form_title.toUpperCase(); if(!contentObj.querySelector("[myMailSend]")) contentObj.innerHTML = modal_array.sendorder; else if(!contentObj.innerHTML) contentObj.innerHTML = modal_array.sendorder; if(contentObj.querySelector("textarea[name=message]").value){ if(contentObj.querySelector("textarea[name=message]").value.indexOf(content_message) == -1){ content_message = contentObj.querySelector("[data-subject-type=orderForm] textarea[name=message]").value + "\n" + content_message; }else{ content_message = contentObj.querySelector("textarea[name=message]").value; } } contentObj.querySelector("textarea[name=message]").value = content_message; } var map_src_init = false; var company_name = document.querySelector("#yaMap").getAttribute("data-map-name"); var company_address = document.querySelector("#yaMap").getAttribute("data-address-map"); var company_coordinate = document.querySelector("#yaMap").getAttribute("data-address-coordinate"); var myMap, myPlacemark, myMapCoords; loadPageImages(); if(document.querySelector("section[data-layout-name=showcase]")){ var sectionObj = document.querySelector("section[data-layout-name=showcase]"), modal_array = new Array(), showcase_details = new Array(); var item_array = new Array(); sectionObj.querySelectorAll("[data-showcase-image-load]").forEach((item) => { item_array.push(item.getAttribute("data-showcase-image-load")); }); loadSHCSimage(item_array); sectionObj.querySelector("[data-showcase-next]").addEventListener("click", function(e){ e.preventDefault(); loadSHCSmore(sectionObj.querySelector("[data-items=showcase]"), this.getAttribute("data-showcase-next")); }); loadSHCSmodal(sectionObj.querySelector("[data-items=showcase]")); } window.addEventListener("orientationchange", windowOrientation); window.addEventListener("resize", windowResize); window.onload = function(){ //document.querySelector(".preloader").className += " animate__animated animate__fadeOut"; setTimeout(function(){ windowOrientation(); getLogoStrName(document.querySelector("[data-logo-strname]")); var logo_elem = document.querySelectorAll("[data-logo-src]"); for(var i = 0; i < logo_elem.length; i++){ logo_elem[i].setAttribute("src", logo_elem[i].getAttribute("data-logo-src")); logo_elem[i].removeAttribute("data-logo-src"); } document.querySelector(".preloader").style.display = "none"; var phones_elem = document.querySelectorAll("[data-nums]"); for(var i = 0; i < phones_elem.length; i++){ phones_elem[i].innerHTML = phones_elem[i].innerHTML.replace(phones_elem[i].getAttribute("data-mask"), phones_elem[i].getAttribute("data-nums")); if(phones_elem[i].innerText){ phones_elem[i].setAttribute("href", "tel:+" + phones_elem[i].innerText.replace(/\D/g, '')); if(phones_elem[i].nodeName.toLowerCase() == "p"){ phone_a = document.createElement("a"); phone_a.setAttribute("class", phones_elem[i].getAttribute("class")); phone_a.setAttribute("href", phones_elem[i].getAttribute("href")); phone_a.innerHTML = phones_elem[i].innerHTML; phones_elem[i].replaceWith(phone_a); } } phones_elem[i].removeAttribute("data-nums"); phones_elem[i].removeAttribute("data-mask"); } var emails_elem = document.querySelectorAll("[data-chars]"); for(var i = 0; i < emails_elem.length; i++){ emails_elem[i].innerHTML = emails_elem[i].innerHTML.replace(emails_elem[i].getAttribute("data-mask"), emails_elem[i].getAttribute("data-chars")); emails_elem[i].removeAttribute("data-chars"); emails_elem[i].removeAttribute("data-mask"); } document.querySelectorAll("input[data-check=phone]").forEach((input) => { input.addEventListener("keyup", function(e){ var x = e.target.value.replace(/\D/g, '').match(/(\d{0,1})(\d{0,3})(\d{0,3})(\d{0,2})(\d{0,2})/); if(!x[1]){ e.target.value = ''; return; } if(!x[2]){ e.target.value = `+${x[1]}`; return; } e.target.value = `+${x[1]} (${x[2]}` + (x[3] ? `) ${x[3]}` : '') + (x[4] ? `-${x[4]}` : '') + (x[5] ? `-${x[5]}` : ''); }); }); document.querySelectorAll("input[data-check=email]").forEach((input) => { input.addEventListener("keyup", function(e){ /*var x = e.target.value.replace(/\D/g, '').match(/(\d{0,1})(\d{0,3})(\d{0,3})(\d{0,2})(\d{0,2})/); // /^([a-z0-9_-]{1,15}\.{1})*?[a-z0-9_-]+@[a-z0-9-]+\.([a-z]{2,6}\.)?[a-z]{2,6}$/i if(!x[1]){ e.target.value = ''; return; } if(!x[2]){ e.target.value = `+${x[1]}`; return; } e.target.value = `+${x[1]} (${x[2]}` + (x[3] ? `) ${x[3]}` : '') + (x[4] ? `-${x[4]}` : '') + (x[5] ? `-${x[5]}` : '');*/ }); }); document.querySelectorAll("[required]").forEach((form) => { form.addEventListener("keyup", function(){ var field_val = form.value; if(form.getAttribute("data-check") == "phone"){ var field_val_array = field_val.replace(/[^0-9]/g,"").split(""), field_val_sum = field_val_array.reduce(function(sum,elem){ return parseInt(sum) + parseInt(elem); }, 0); if(field_val_array.length < form.getAttribute("data-verify-fields") || field_val_sum < form.getAttribute("data-verify-fields")) form.closest("[data-subject]").querySelector("[myMailSend]").disabled = "disable"; else form.closest("[data-subject]").querySelector("[myMailSend]").removeAttribute("disabled"); }else{ console.log(field_val); } });/*.on("change", "select, input", function(){ var fObj = $(this).parents("[data-subject]"); fObj.find("select[required], input[required]").each(function(){ var verifyFieldsYM = true; fObj.find("select[required], input[required]").each(function(){ if($(this).val() == "" || $(this).val() == "no_select") verifyFieldsYM = false; if($(this).data("check") == "phone" && $(this).val().replace(/[^\d]/g, '').split("").reduce(function(sum,elem){ return parseInt(sum) + parseInt(elem); }, 0) < 17) verifyFieldsYM = false; }); if(!verifyFieldsYM) $("[name=verifyFieldsYM]").find("[myMailSend]").removeAttr("onclick"); else $("[name=verifyFieldsYM]").find("[myMailSend]").attr("onclick", $("[name=verifyFieldsYM]").find("[myMailSend]").data("ym"));*/ }); var stlCss = document.createElement("link"); stlCss.href = "/tpl_ecards/assets/css/style.css"; stlCss.rel = "stylesheet"; document.head.appendChild(stlCss); //document.querySelector(".preloader").className += " animate__animated animate__fadeOut"; }, 200); } setTimeout(function(){ var gFonts = document.createElement("link"); gFonts.href = "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700,800,900%7CPlayfair+Display:400,400i,700,700i%7CRoboto:400,400i,500,700"; gFonts.rel = "stylesheet"; document.head.appendChild(gFonts); var awsFonts = document.createElement("link"); awsFonts.href = "/tpl_ecards/assets/vendor/font-awesome/css/all.min.css"; awsFonts.rel = "stylesheet"; document.head.appendChild(awsFonts); var tmfFonts = document.createElement("link"); tmfFonts.href = "/tpl_ecards/assets/vendor/themify-icons/css/themify-icons.css"; tmfFonts.rel = "stylesheet"; document.head.appendChild(tmfFonts); var animateCss = document.createElement("link"); animateCss.href = "/tpl_ecards/assets/vendor/animate/animate.min.css"; animateCss.rel = "stylesheet"; document.head.appendChild(animateCss); var aosCss = document.createElement("link"); aosCss.href = "/tpl_ecards/assets/vendor/aos/aos.css"; aosCss.rel = "stylesheet"; document.head.appendChild(aosCss); var bg_elem = document.querySelectorAll("[data-src-bg]"); for(var i = 0; i < bg_elem.length; i++){ bg_elem[i].style.backgroundImage = "url(" + bg_elem[i].getAttribute("data-src-bg") + ")"; bg_elem[i].removeAttribute("data-src-bg"); if(bg_elem[i].getAttribute("data-bg-style")) bg_elem[i].classList.add(bg_elem[i].getAttribute("data-bg-style")); } var inc_elem = document.querySelectorAll("[data-src]"); for(var i = 0; i < inc_elem.length; i++){ inc_elem[i].setAttribute("src", inc_elem[i].getAttribute("data-src")); inc_elem[i].removeAttribute("data-src"); } var bstScript = document.createElement("script"); bstScript.src = "/tpl_ecards/assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js"; document.body.appendChild(bstScript); var jrlScript = document.createElement("script"); jrlScript.src = "/tpl_ecards/assets/vendor/jarallax/jarallax.min.js"; document.body.appendChild(jrlScript); var aosScript = document.createElement("script"); aosScript.src = "/tpl_ecards/assets/vendor/aos/aos.js"; document.body.appendChild(aosScript); var fnScriptTimer = setInterval(function(){ //parallaxBG //aosFunc if(typeof bootstrap !== "undefined" && jrlScript !== "undefined" && aosScript !== "undefined"){ var fnScript = document.createElement("script"); fnScript.src = "/tpl_ecards/assets/js/functions.js"; document.body.appendChild(fnScript); clearInterval(fnScriptTimer); } }, 200); setTimeout(function(){ clearInterval(fnScriptTimer); }, 2000); window.addEventListener("scroll", function(){ if(document.querySelector("[data-logo-strname]") != undefined){ if(this.scrollY > parseInt(getComputedStyle(document.querySelector("[data-logo-strname]").closest(".navbar")).height)){ if(document.querySelector("[data-logo-strname]").getAttribute("style") == undefined && getDeviceType() == "desktop"){ document.querySelector("[data-logo-strname]").setAttribute("style", "margin-top:-4px;"); } }else{ if(document.querySelector("[data-logo-strname]").getAttribute("style")){ document.querySelector("[data-logo-strname]").removeAttribute("style"); } } } if(!map_src_init){ if(document.querySelector("#yaMap").getBoundingClientRect().top < 150){ map_src_init = true; var yaMapScript = document.createElement("script"); yaMapScript.src = "https://api-maps.yandex.ru/2.1/?apikey=d7cb6f43-375d-438b-8727-a9b62309795c&lang=ru_RU"; document.body.appendChild(yaMapScript); yaMapScript.onload = function(){ ymaps.ready(function(){ ymaps.geocode(company_address, { results:1 }).then(function(data){ myMapCoords = (company_coordinate ? company_coordinate.split(",") : data.geoObjects.get(0).geometry.getCoordinates()); myMap = new ymaps.Map("yaMap", { center: myMapCoords, zoom: 16, type: "yandex#hybrid", controls: ["zoomControl", "typeSelector", "trafficControl"] }); myMap.behaviors.disable("scrollZoom"); myPlacemark = new ymaps.Placemark(myMapCoords, { iconContent: company_name, balloonContent: "

" + company_name + "

" + company_address + "
" + myMapCoords, },{ preset: "islands#darkOrangeDotIcon" }); myMap.geoObjects.add(myPlacemark); }); }); } } } }); loadPrivacy(); loadQRimage(); }, 2000); document.querySelectorAll("body input[name=rules]").forEach((checkbox) => { checkbox.addEventListener("change", function(){ var rulesObj = this.closest("[data-subject]"); var sendBtn = rulesObj.querySelector("[myMailSend]"); if(!checkbox.checked) sendBtn.disabled = "disable"; else sendBtn.removeAttribute("disabled"); }); }); document.querySelector(".navbar-collapse").querySelectorAll("a.nav-link").forEach((elem) => { elem.addEventListener("click", function(){ if(!(this.classList.contains("dropdown-toggle"))){ this.closest(".navbar-collapse").classList.remove("show"); } }); }); document.querySelector(".navbar-collapse").querySelectorAll("a.dropdown-item").forEach((elem) => { elem.addEventListener("click", function(){ this.closest(".navbar-collapse").classList.remove("show"); }); }); document.querySelectorAll("body [myMailSend]").forEach((button) => { button.addEventListener("click", function(){ sendMailServ(this); }); }); document.querySelectorAll("[data-download-file]").forEach((str) => { str.addEventListener("click", function(){ loadSendAnimate(true); var file = this.getAttribute("data-download-file"); var fname = file.substr(file.indexOf("/") +1, file.length); var formData = new FormData(), XHR = new XMLHttpRequest(); formData.append("fileDownload", file); XHR.open("POST", "", true); XHR.responseType = "blob"; XHR.onload = function(e){ if(this.readyState == 4 && this.status == 200){ var blob = this.response; var a = document.createElement("a"); document.body.appendChild(a); var blobUrl = window.URL.createObjectURL(blob); a.href = blobUrl; a.download = fname; a.click(); setTimeout(function(){ window.URL.revokeObjectURL(blobUrl); document.body.removeChild(a); loadSendAnimate("done"); }, 100); }else{ alert(this.statusText); loadSendAnimate(this.statusText); } } XHR.onerror = function(){} XHR.send(formData); }); });