commonScripts.js
7.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// (()=>{"use strict";const e="fade-in",t="fade-in_visible",s=new IntersectionObserver((function(e){e.forEach((e=>{e.isIntersecting&&function(e){e.target.classList.add(t),setTimeout(n.bind(this,e.target),1e3)}(e)}))}),{root:null,rootMargin:"-20px 0px",threshold:0});function n(n){s.unobserve(n),n.classList.remove(e,t)}const a=document.querySelectorAll(".feedback"),o=(e,t)=>{t.classList.add("error"),t.classList.contains("error")&&t.closest("label").querySelector("span.error")?(t.closest("label").querySelector("span.error").remove(),t.closest("label").insertAdjacentHTML("beforeend",`<span class="error">${e}</span>`)):t.classList.contains("error")&&t.closest("label").insertAdjacentHTML("beforeend",`<span class="error">${e}</span>`)},r=e=>{e.classList.remove("error"),e.closest("label").querySelector("span.error")&&e.closest("label").querySelector("span.error").remove()},c=/([\w\s]*?[0-9][\w\s]*?){11,}/,l=/([-!#-'*+/-9=?A-Z^-~]+(\.[-!#-'*+/-9=?A-Z^-~]+)*|"([]!#-[^-~ \t]|(\\[\t -~]))+")@[0-9A-Za-z]([0-9A-Za-z-]{0,61}[0-9A-Za-z])?(\.[0-9A-Za-z]([0-9A-Za-z-]{0,61}[0-9A-Za-z])?)+/i;function i(e){e.value=e.value.trim(),e.classList.contains("js_input_name")&&""==e.value?o("Заполните, пожалуйста, поле",e):e.classList.contains("js_input_name")&&r(e),e.classList.contains("js_input_phone")&&""==e.value?o("Заполните, пожалуйста, поле",e):e.classList.contains("js_input_phone")&&-1!==e.value.search(c)?r(e):e.classList.contains("js_input_phone")&&o("Укажите, пожалуйста, корректный телефон",e),e.classList.contains("js_input_email")&&""==e.value?o("Заполните, пожалуйста, поле",e):e.classList.contains("js_input_email")&&-1!==e.value.search(l)?r(e):e.classList.contains("js_input_email")&&o("Укажите, пожалуйста, корректный e-mail",e),e.classList.contains("js_input_company")&&""==e.value?o("Заполните, пожалуйста, поле",e):e.classList.contains("js_input_company")&&r(e),e.classList.contains("js_input_confirm")&&e.checked?r(e):e.classList.contains("js_input_confirm")&&o("Поставьте, пожалуйста, галочку",e)}try{document.querySelectorAll(".fade-in").forEach((e=>{s.observe(e)})),document.querySelectorAll('a[href^="#"]').forEach((e=>{e.addEventListener("click",(function(e){e.preventDefault();let t=this.getAttribute("href").substring(1);const s=document.getElementById(t),n=document.querySelector(".header").offsetHeight,a=s.getBoundingClientRect().top-n;window.scrollBy({top:a,behavior:"smooth"}),closeMenu()}))})),document.querySelectorAll(".js_form").forEach((e=>{e.querySelector("button").addEventListener("click",(t=>{t.preventDefault();const s=e.querySelectorAll(".js_form_item"),n=e.querySelector(".js_form_btn");if(s.forEach((t=>{i(t),t.addEventListener("input",(()=>{i(t),e.querySelector(".error")||(n.disabled=!1)}))})),e.querySelector(".error"))console.log("no-validate"),n.disabled=!0;else{console.log("validate"),n.classList.add("btn-animate");let t=new FormData(e),s=new XMLHttpRequest;s.onreadystatechange=function(){4===s.readyState&&200===s.status&&(console.log("Отправлено"),document.querySelector(".popup-form").classList.remove("popup-form_visible"),document.querySelector(".js_feedback_success").classList.add("active"),n.classList.remove("btn-animate"))},s.open("POST","mail.php",!0),s.send(t),e.reset()}}))})),function(){a.forEach((t=>{t.querySelectorAll(".js_feedback_exit").forEach((s=>{s.addEventListener("click",(()=>{e(t)}))})),t.addEventListener("click",(s=>{s.target==t&&e(t)}))}));const e=e=>{e.classList.remove("active")}}()}catch(e){}})();
(() => {
"use strict";
const e = "fade-in",
t = "fade-in_visible",
s = new IntersectionObserver(
function (e) {
e.forEach((e) => {
e.isIntersecting &&
(function (e) {
e.target.classList.add(t), setTimeout(n.bind(this, e.target), 1e3);
})(e);
});
},
{ root: null, rootMargin: "-20px 0px", threshold: 0 }
);
function n(n) {
s.unobserve(n), n.classList.remove(e, t);
}
const a = document.querySelectorAll(".feedback"),
o = (e, t) => {
t.classList.add("error"),
t.classList.contains("error") && t.closest("label").querySelector("span.error")
? (t.closest("label").querySelector("span.error").remove(), t.closest("label").insertAdjacentHTML("beforeend", `<span class="error">${e}</span>`))
: t.classList.contains("error") && t.closest("label").insertAdjacentHTML("beforeend", `<span class="error">${e}</span>`);
},
r = (e) => {
e.classList.remove("error"), e.closest("label").querySelector("span.error") && e.closest("label").querySelector("span.error").remove();
},
c = /([\w\s]*?[0-9][\w\s]*?){11,}/,
l = /([-!#-'*+/-9=?A-Z^-~]+(\.[-!#-'*+/-9=?A-Z^-~]+)*|"([]!#-[^-~ \t]|(\\[\t -~]))+")@[0-9A-Za-z]([0-9A-Za-z-]{0,61}[0-9A-Za-z])?(\.[0-9A-Za-z]([0-9A-Za-z-]{0,61}[0-9A-Za-z])?)+/i;
function i(e) {
(e.value = e.value.trim()),
e.classList.contains("js_input_name") && "" == e.value ? o("Заполните, пожалуйста, поле", e) : e.classList.contains("js_input_name") && r(e),
e.classList.contains("js_input_phone") && "" == e.value
? o("Заполните, пожалуйста, поле", e)
: e.classList.contains("js_input_phone") && -1 !== e.value.search(c)
? r(e)
: e.classList.contains("js_input_phone") && o("Укажите, пожалуйста, корректный телефон", e),
e.classList.contains("js_input_email") && "" == e.value
? o("Заполните, пожалуйста, поле", e)
: e.classList.contains("js_input_email") && -1 !== e.value.search(l)
? r(e)
: e.classList.contains("js_input_email") && o("Укажите, пожалуйста, корректный e-mail", e),
e.classList.contains("js_input_company") && "" == e.value ? o("Заполните, пожалуйста, поле", e) : e.classList.contains("js_input_company") && r(e),
e.classList.contains("js_input_confirm") && e.checked ? r(e) : e.classList.contains("js_input_confirm") && o("Поставьте, пожалуйста, галочку", e);
}
try {
document.querySelectorAll(".fade-in").forEach((e) => {
s.observe(e);
}),
document.querySelectorAll('a[href^="#"]').forEach((e) => {
e.addEventListener("click", function (e) {
e.preventDefault();
let t = this.getAttribute("href").substring(1);
const s = document.getElementById(t),
n = document.querySelector(".header").offsetHeight,
a = s.getBoundingClientRect().top - n;
window.scrollBy({ top: a, behavior: "smooth" }), closeMenu();
});
}),
document.querySelectorAll(".js_form").forEach((e) => {
e.querySelector("button").addEventListener("click", (t) => {
t.preventDefault();
const s = e.querySelectorAll(".js_form_item"),
n = e.querySelector(".js_form_btn");
if (
(s.forEach((t) => {
i(t),
t.addEventListener("input", () => {
i(t), e.querySelector(".error") || (n.disabled = !1);
});
}),
e.querySelector(".error"))
)
console.log("no-validate"), (n.disabled = !0);
else {
console.log("validate"), n.classList.add("btn-animate");
let t = new FormData(e),
s = new XMLHttpRequest();
(s.onreadystatechange = function () {
4 === s.readyState &&
200 === s.status &&
(console.log("Отправлено"),
document.querySelector(".popup-form").classList.remove("popup-form_visible"),
document.querySelector(".js_feedback_success").classList.add("active"),
n.classList.remove("btn-animate"));
}),
s.open("POST", "mail.php", !0),
s.send(t),
e.reset();
}
});
}),
(function () {
a.forEach((t) => {
t.querySelectorAll(".js_feedback_exit").forEach((s) => {
s.addEventListener("click", () => {
e(t);
});
}),
t.addEventListener("click", (s) => {
s.target == t && e(t);
});
});
const e = (e) => {
e.classList.remove("active");
};
})();
} catch (e) {}
})();