$(function() { mobile && (clickEvent = "tap"); overlayLayer = $("
").attr("id", "overlay").appendTo($(document.body)); $(document).on("click", "#overlay", function() { closeModal() }).on("click", function() { closeInform() }).on("keyup", "input, textarea", function() { var a = $(this); a.attr("required") && ("" < a.val() ? a.removeClass("alert") : a.addClass("alert")) }) // Fade in .floatUp layers on scroll .on("scroll", function(){ var scroll=$(this).scrollTop(); var height=$(window).height(); var $div=$(".floatUp"); var delta=50; if ($div.length>0) { $.each($div, function(){ var $t=$(this); var pos=$t.offset(); var top=pos.top+delta; var h=$t.outerHeight()-delta; if (((top>scroll) && (top<(scroll+height))) || (((top+h)>scroll) && ((top+h)<(scroll+height)))) { $t.css("opacity", 0) .removeClass("floatUp") .animate({opacity:1},2000); } }) } }) .on("click", "#smcLOG button", function(){ $(this).parent().toggleClass("active"); }) .on("click", "#smcLOG ul li a", function(){ $(this).parent().toggleClass("active"); }) $.each($("#smcLOG ul li ul"), function(){ var $ul=$(this); var max=parseFloat($ul.attr("data-max")); $.each($ul.find("li"), function(){ var $li=$(this); var value=parseFloat($li.find("span").text()); var perc=Math.round(value*100/max); $li.css("background-size", perc+"%"); }) }) checkForm = function(a) { var b = !0, c = ""; $.each(a.find("input[type!='radio'], textarea, select"), function() { var a = $(this); "" == a.val() && a.attr("required") && (a.addClass("alert"), b = !1); a.is("[type='email']") && !isValidEmail(a.val()) && (a.addClass("alert"), b = !1); b && (a.removeClass("alert"), c = c + "&" + a.attr("name") + "=" + encodeURIComponent(a.val())) }); var d = []; $.each(a.find("input[type='radio']"), function() { var a = $(this), b = a.attr("name"); a.is(":checked") ? d[b] = a.val() : "" < d[b] || (d[b] = !1) }); for (var e in d)!1 == d[e] ? b = !1 : c = c + "&" + e + "=" + encodeURIComponent(d[e]); return b ? c : !1 }; isValidEmail = function(a, b) { b || (a = a.replace(/^\s+|\s+$/g, "")); return /^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i.test(a) }; beforeModal = function() { overlayLayer.fadeIn("fast").addClass("loading") }; afterModal = function() { overlayLayer.fadeOut("fast").removeClass("loading") }; openModal = function(a, b, c, d) { var e = $("
").attr("id", a).appendTo($(document.body)); modalPosition++; e.attr("data-modalPos", modalPosition); void 0 !== b && e.html("

" + b + "

" + c); void 0 === d && (d = !1); d && e.addClass("overload"); e.addClass("box shadow modal"); overlayLayer.fadeIn("fast").removeClass("loading").addClass("freeClose"); fixModal(a); $(e).draggable({ containment: "#main", handle: "h3", scroll: !1, delay: 100 }); e.height(); e.width(); e.fadeIn(300, function() { $(this).addClass("active"); /* $(this).find("> div *").animate({ color: "#000" }, 300) */ }); $("div.modal.active").each(function() { var a = $(this); a.attr("data-modalPos") < modalPosition && a.addClass("behindOverlay") }) }; fixModal = function(a) { a = void 0 == a ? $(".modal") : $("#" + a); $.each(a, function() { var a = $(this), c = -(a.outerWidth() / 2); a.css("margin-left", c); var c = a.outerHeight(), d = parseInt(a.css("top")), e = $(window).height(); a.hasClass("overload") || (c + d + d > e ? (a.outerHeight(e - d - d).addClass("scrollbar"), c = a.find("> div"), c.outerHeight(a.height() - a.find("> h3").outerHeight() - parseInt(c.css("padding-top")) - parseInt(c.css("padding-bottom")))) : a.removeClass("scrollbar")) }) }; closeModal = function(a) { a = void 0 == a ? $(".modal") : $("#" + a); $.each(a, function() { var a = $(this); 1 == $(".modal.active").length && overlayLayer.removeClass().fadeOut("fast"); a.remove(); modalPosition-- }); $("div.modal.active").each(function() { var a = $(this); a.attr("data-modalPos") >= modalPosition && a.removeClass("behindOverlay") }) }; setDataInfo = function(a) { $(document).data("info", a) }; getDataInfo = function() { return $(document).data("info") }; $(document).on("click", ".modal > h3 > button", function() { var a = $(this).parents(".modal"); closeModal(a.attr("id")) }).on("click", "#overlay.freeClose", function() { closeModal() }); beforeHref = function() { overlayLayer.fadeIn("fast").addClass("loading") }; afterHref = function() { overlayLayer.hide("fast").removeClass("loading") }; $(".printPage").on("click", function() { window.print() }); inform = function(a) { clearTimeout(informTO); setTimeout(function() { var b = $("
").attr("id", "informModal").appendTo($(document.body)); b.html(a); var c = -(b.outerWidth() / 2); b.outerHeight(); b.css({ marginLeft: c + "px" }).addClass("inform shadow roundBox"); b.show(); informTO = setTimeout(function() { closeInform() }, 3E3) }, 100) }; closeInform = function() { clearTimeout(informTO); $("#informModal").remove() }; load = function(a, b, c) { $.ajax({ type: "POST", url: host + "/" + a, data: b + "&_randomtoken=" + Math.random(), dataType: "html", success: c, fail: function() { alertAjaxLoadFail() } }) }; alertAjaxLoadFail = function() { alert("\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445") }; nameOfNum = function(a, b) { cases = [2, 0, 1, 1, 1, 2]; return b[4 < a % 100 && 20 > a % 100 ? 2 : cases[5 > a % 10 ? a % 10 : 5]] }; log = function(a) { console.log(a); $("#log").text(a) }; $(".fancybox").fancybox({ scrollOutside: !1, openEffect: "elastic", closeEffect: "elastic", beforeShow: function() { this.title && (this.title += "
"); this.title += '' }, helpers: { title: { type: "inside" } } }); afterHref() }); var modalPosition = 0, informTO = null; function getBrowserInfo() { var a, b = void 0; if (window.chrome) a = "Chrome"; else if (window.opera) a = "Opera"; else if (document.all) { a = "IE"; var b = navigator.appVersion, c = b.indexOf("MSIE") + 5, b = b.substring(c, c + 1) } else navigator.appName && (a = "Netscape"); return { type: a, version: b } } function bookmark(a) { var b = window.document.location, c = window.document.title, d = getBrowserInfo(); if ("IE" == d.type && 8 >= d.version && 4 <= d.version) window.external.AddFavorite(b, c); else { if ("Opera" == d.type) return a.href = b, a.rel = "sidebar", a.title = b + "," + c, !0; "Netscape" == d.type ? window.sidebar.addPanel(c, b, "") : alert("\u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 Ctrl-D") } return !1 } function chr(a) { return String.fromCharCode(a) } function jsonParse(a) { try { JSON.parse(a) } catch (b) { return !1 } return JSON.parse(a) }