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.