PageSourceSearch

https://xn--b1ahmqmg5g.xn--p1ai/local/templates/styazhkov/js/all.min.js?170178723312131

js xn--b1ahmqmg5g.xn--p1ai collected 2026-09-30 02:32:04 UTC 12,131 bytes, 362 lines download raw bytes

1$(function () {
2var e = $("header");
3$("[data-scroll]").on("click", function (r) {
4  r.preventDefault(),
5    (r = $(this).data("scroll")),
6    (r = $(r).offset().top),
7    $("html, body")
8      .not(":animated")
9      .animate({ scrollTop: r - 50 }, 700),
10    $(document.documentElement).width() < 993 && e.find("nav").slideUp("fast"),
11    e.find(".burger").removeClass("active");
12}),
13  $('[data-fancybox="projects-gallery"]').fancybox({ transitionEffect: "circular", mobile: { arrows: !1, transitionEffect: "slide" } }),
14  $("[data-fancybox][data-src]").fancybox({ touch: !1, mobile: { touch: !0 } }),
15  ($.fancybox.defaults.i18n.ru = {
16    CLOSE: "Закрыть",
17    NEXT: "Следующий",
18    PREV: "Предыдущий",
19    ERROR: "Запрошенное содержимое не может быть загружено. <br/> Пожалуйста, повторите попытку позже.",
20    PLAY_START: "Запуск слайд-шоу",
21    PLAY_STOP: "Остановить слайд-шоу",
22    FULL_SCREEN: "На весь экран",
23    THUMBS: "Миниатюры",
24    DOWNLOAD: "Скачать",
25    SHARE: "Поделиться",
26    ZOOM: "Приблизить",
27  }),
28  ($.fancybox.defaults.lang = "ru");
29var r = $("body");
30new MutationObserver(function () {
31  e.css("margin-right", r.css("margin-right"));
32}).observe(r[0], { attributes: !0, attributeFilter: ["class"] }),
33  $("footer .copyright .this-year").text(new Date().getFullYear());
34}),
35$(function () {
36  var e = $(window),
37    r = $("header"),
38    i = r.find("nav"),
39    t = r.find(".burger"),
40    a = r.next();
41  function s() {
42    e.scrollTop() > a.innerHeight() ? r.hasClass("fixed") || r.hide().fadeIn("fast").addClass("fixed") : (r.removeClass("fixed"), n());
43  }
44  function n() {
45    $(document.documentElement).width() < 993 ? i.hide() : i.show(), t.removeClass("active");
46  }
47  i.css("visibility", "visible"),
48    s(),
49    e.on("scroll resize", s),
50    n(),
51    e.on("resize", n),
52    t.on("click", function () {
53      i.is(":animated") || (i.slideToggle(), $(this).toggleClass("active"));
54    });
55}),
56$(function () {
57  var e = $(window),
58    r = $(".counter"),
59    i = r.children(".quantity");
60  i.each(function () {
61    var e = $(this);
62    e.data("number", e.text()).text(0);
63  });
64  var t = !1;
65  function a() {
66    t ||
67      (r.offset().top + r.outerHeight(!0) <= e.scrollTop() + e.height() &&
68        (i.each(function () {
69          var e = $(this);
70          e.prop("counter", 0).animate(
71            { counter: e.data("number") },
72            {
73              duration: 1250,
74              easing: "linear",
75              step: function (r) {
76                e.text(Math.ceil(r));
77              },
78            }
79          );
80        }),
81        (t = !t)));
82  }
83  a(), e.on("scroll resize", a);
84}),
85$(function () {
86  var e = {
87      storey: 50,
88      minPrice: 45e3,
89      m40: [
90        { sqr: 44, price: 1070 },
91        { sqr: 54, price: 950 },
92        { sqr: 64, price: 840 },
93        { sqr: 79, price: 750 },
94        { sqr: 99, price: 690 },
95        { sqr: 119, price: 660 },
96        { sqr: 159, price: 580 },
97        { sqr: 199, price: 525 },
98        { sqr: 399, price: 505 },
99        { sqr: 599, price: 480 },
100        { sqr: 999, price: 450 },
101        { sqr: 1499, price: 420 },
102      ],
103      m50: [
104        { sqr: 44, price: 1100 },
105        { sqr: 54, price: 970 },
106        { sqr: 64, price: 880 },
107        { sqr: 79, price: 770 },
108        { sqr: 99, price: 725 },
109        { sqr: 119, price: 680 },
110        { sqr: 159, price: 610 },
111        { sqr: 199, price: 570 },
112        { sqr: 399, price: 545 },
113        { sqr: 599, price: 525 },
114        { sqr: 999, price: 495 },
115        { sqr: 1499, price: 450 },
116      ],
117      m60: [
118        { sqr: 44, price: 1120 },
119        { sqr: 54, price: 1e3 },
120        { sqr: 64, price: 920 },
121        { sqr: 79, price: 810 },
122        { sqr: 99, price: 755 },
123        { sqr: 119, price: 715 },
124        { sqr: 159, price: 650 },
125        { sqr: 199, price: 610 },
126        { sqr: 399, price: 590 },
127        { sqr: 599, price: 555 },
128        { sqr: 999, price: 525 },
129        { sqr: 1499, price: 495 },
130      ],
131      m70: [
132        { sqr: 44, price: 1140 },
133        { sqr: 54, price: 1050 },
134        { sqr: 64, price: 960 },
135        { sqr: 79, price: 850 },
136        { sqr: 99, price: 800 },
137        { sqr: 119, price: 735 },
138        { sqr: 159, price: 680 },
139        { sqr: 199, price: 650 },
140        { sqr: 399, price: 630 },
141        { sqr: 599, price: 600 },
142        { sqr: 999, price: 555 },
143        { sqr: 1499, price: 525 },
144      ],
145      m80: [
146        { sqr: 44, price: 1170 },
147        { sqr: 54, price: 1080 },
148        { sqr: 64, price: 1010 },
149        { sqr: 79, price: 890 },
150        { sqr: 99, price: 840 },
151        { sqr: 119, price: 790 },
152        { sqr: 159, price: 700 },
153        { sqr: 199, price: 680 },
154        { sqr: 399, price: 670 },
155        { sqr: 599, price: 640 },
156        { sqr: 999, price: 600 },
157        { sqr: 1499, price: 570 },
158      ],
159      m90: [
160        { sqr: 44, price: 1220 },
161        { sqr: 54, price: 1130 },
162        { sqr: 64, price: 1040 },
163        { sqr: 79, price: 930 },
164        { sqr: 99, price: 890 },
165        { sqr: 119, price: 840 },
166        { sqr: 159, price: 765 },
167        { sqr: 199, price: 745 },
168        { sqr: 399, price: 725 },
169        { sqr: 599, price: 700 },
170        { sqr: 999, price: 680 },
171        { sqr: 1499, price: 630 },
172      ],
173      m100: [
174        { sqr: 44, price: 1320 },
175        { sqr: 54, price: 1200 },
176        { sqr: 64, price: 1140 },
177        { sqr: 79, price: 1030 },
178        { sqr: 99, price: 915 },
179        { sqr: 119, price: 890 },
180        { sqr: 159, price: 840 },
181        { sqr: 199, price: 800 },
182        { sqr: 399, price: 775 },
183        { sqr: 599, price: 755 },
184        { sqr: 999, price: 735 },
185        { sqr: 1499, price: 680 },
186      ],
187    },
188    r = $(".cost-calculation .calculator"),
189    i = r.find(".option"),
190    t = i.find("input"),
191    a = r.find("form input");
192  function s(e, r) {
193    return r.closest(".option").find(e);
194  }
195  function n() {
196    var s = 0,
197      n = 0,
198      c = i.filter(".floor-area").find("input").val(),
199      o = i.filter(".screed-thickness").find("input").val(),
200      l = i.filter(".storey").find("input").val();
201    e["m" + o].every(function (e) {
202      return c > e.sqr && ((s = e.price), !0);
203    }),
204      10 < l && (n = e.storey),
205      (n = c * (s + n)),
206      (n = Math.round(n - n / 10)) < e.minPrice && (n = e.minPrice),
207      r.find(".total-cost span").text(n.toString().replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, "$1 ") + " ₽"),
208      t.each(function () {
209        var e = $(this);
210        "checkbox" === e.attr("type") && e.val(this.checked ? "нужна" : "не нужна"), a.filter('[name="' + e.attr("name") + '"]').val(e.val());
211      }),
212      a.filter('[name="итого"]').val(n);
213  }
214  i
215    .find(".controller")
216    .each(function () {
217      var e = $(this),
218        r = s("input", e),
219        i = r.data("max"),
220        t = r.data("min"),
221        a = r.is("#screed-thickness") ? 10 : 1;
222      e.slider({ animate: "fast", max: i, min: t, range: "min", value: r.val(), step: a }).append('<span class="min-value mark">' + t + '</span> <span class="max-value mark">' + i + "</span>");
223    })
224    .on("slide slidechange", function (e, r) {
225      s("input", $(this)).val(r.value), n();
226    }),
227    i
228      .find("label")
229      .not('[for="sound-insulation"]')
230      .on("click", function () {
231        var e = s("input", $(this));
232        e[0].selectionStart = e.val().length;
233      }),
234    t
235      .filter('[type="text"]')
236      .on("input", function () {
237        var e = $(this);
238        e.val(e.val().replace(/\D/g, ""));
239      })
240      .on("change", function () {
241        var e = $(this),
242          r = s(".ui-slider", e),
243          i = e.val(),
244          t = e.data("min"),
245          a = e.data("max");
246        i < t && (i = t), a < i && (i = a), r[0] ? r.slider("value", i) : (e.val(i), n());
247      }),
248    t.filter(":checkbox").on("change", n),
249    n();
250}),
251$(function () {
252  var e = $("form"),
253    r = e.find("input, textarea"),
254    i = r.filter("input");
255  e.attr("noValidate", !0).data("submited", !1),
256    (document.documentMode || -1 < navigator.userAgent.indexOf("Edge")) && i.attr({ autocomplete: "off", list: "autocompleteOff" }),
257    r.not('[type="hidden"]').after('<div class="validation-success" />');
258  var t,
259    a = {
260      email: function (e) {
261        var r = e.val().match(/[^@]+@[^@]+\./);
262        return r || l(e, "type", "Проверьте правильность адреса"), r;
263      },
264    },
265    s = /[^а-яёa-z\s]/gi;
266  i.filter(".name").on("input", function () {
267    var e = !1,
268      r = $(this),
269      i = r.val();
270    1 == this.selectionStart && (e = !0), i.match(s) && (r.val(i.replace(s, "")), (i = r.val())), r.val(i.charAt(0).toUpperCase() + i.substring(1, i.length)), e && (this.selectionEnd = 1);
271  }),
272    ($.mask.definitions.h = "[0-7,9]"),
273    i
274      .filter('[type="tel"]')
275      .mask("+7 (h99) 999-99-99")
276      .on("change", function () {
277        var e = $(this),
278          r = e.val();
279        11 == r.length && e.val(r.slice(-10));
280      }),
281    r.on("blur", function () {
282      var e = $(this),
283        r = c(e),
284        i = o(e),
285        t = e.closest("form").data("submited");
286      r ? (i ? d : p)(e) : t ? p(e) : (d(e), e.removeClass("valid"));
287    }),
288    e.on("submit", function (e) {
289      e.preventDefault();
290      var r = $(this),
291        i = !0,
292        a = r.find("input, textarea");
293      a.each(function () {
294        var e = $(this);
295        (isValid = c(e) && o(e)), isValid ? d(e) : (p(e), (i = !1));
296      }),
297        r.data("submited") || r.data("submited", !0),
298        i && grecaptcha.ready(function() {
299          grecaptcha.execute('6Ld3H3MiAAAAABNB2EISDwwmcP_5IftrFAhJ6hir', { action: 'submit' }).then(function(token) {
300
301            r.find('input[name="token"]').val(token);
302
303            $.ajax({
304              type: r.attr("method"),
305              url: "/send.php",
306              data: r.serialize(),
307              success: function () {
308                switch (r.find('input[name="форма"]').val()) {
309                  case "рассчитать стоимость работы":
310                    ym(61469365, "reachGoal", "calc-submit");
311                    break;
312                  case "задать вопросы":
313                    ym(61469365, "reachGoal", "msg-submit");
314                    break;
315                  case "заказать стяжку пола":
316                    ym(61469365, "reachGoal", "order-submit");
317                }
318                a.removeClass("valid"), r.data("submited", !1).trigger("reset");
319                var e = $.fancybox.getInstance();
320                $.fancybox.open({ src: "#thanks", opts: { touch: !1, mobile: { touch: !0 } } }), e && e.close(), (t = setTimeout("$.fancybox.close();", 5e3));
321              },
322            });
323          });
324        });
325    });
326  var n = $("#thanks");
327  function c(e) {
328    if ("required" !== e.attr("required")) return !0;
329    var r = e.val().length;
330    return r || l(e, "required", "Заполните поле"), r;
331  }
332  function o(e) {
333    if (!e.val().length) return !0;
334    var r = e.attr("type");
335    return "function" != typeof a[r] || a[r](e);
336  }
337  function l(e, r, i) {
338    e.data("errorType", r).data("errorMsg", i);
339  }
340  function p(e) {
341    var r = e.parent().siblings(".validation-error");
342    r[0]
343      ? "type" === e.data("errorType") && r.text(e.data("errorMsg"))
344      : $('<div class="validation-error ' + e.data("errorType") + '">' + e.data("errorMsg") + "</div>")
345          .insertAfter(e.parent())
346          .hide()
347          .fadeIn(200),
348      e.removeClass("valid").addClass("invalid");
349  }
350  function d(e) {
351    e
352      .parent()
353      .siblings(".validation-error")
354      .fadeOut(200, function () {
355        $(this).remove();
356      }),
357      e.removeClass("invalid").addClass("valid");
358  }
359  new MutationObserver(function () {
360    n.is(":hidden") && clearTimeout(t);
361  }).observe(n[0], { attributes: !0, attributeFilter: ["style"] });
362});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.