Notice: Undefined offset: 1 in /home/plusensd/steelhammer.com.ua/route.php on line 89
getOrder = function() { var order = JSON.parse(localStorage.getItem("order") || '{"items":[]}'); order.items.ForEach(function() { this.amount = function() { return this.qty * this.price; } }); return order; } setOrder = function(order) { localStorage.setItem("order", JSON.stringify(order)); } updateCart = function() { var order = getOrder(); var c = order.items.Select("x.qty").Sum(); var cartTotal = !c ? "Корзина пуста" : c + " товар" + (c % 10 == 1 && c != 11 ? "" : c % 10 > 1 && c % 10 < 5 && (c < 10 || c > 20) ? "а" : "ов") + " (" + formatPrice(order.items.Select("x.amount()").Sum()) + ")"; $("header .cart").text(cartTotal); } $(function() { $("#site-icon").on("dropbox", function() { var $this = $(this); var imageData = $this.data("dropbox")[0]; $this.css("background-image", "url('" + imageData + "')"); setTimeout(function() { if (confirm("Сохранить новую иконку сайта?")) { post("_common", "master-page", { icon: imageData }, function() { location.reload(); }); } else { $this.css("background-image", ""); } }, 100); }); $(".logo").on("dropbox", function() { var $this = $(this); var imageData = $this.data("dropbox")[0]; var backgroundImage = $this.css("background-image"); $this.css("background-image", "url('" + imageData + "')"); setTimeout(function() { if (confirm("Сохранить новый логотип?")) { post("_common", "master-page", { logo: imageData }); } else { $this.css("background-image", backgroundImage); } }, 100); }); $("header .phones").on("savechanges", function() { post("_common", "master-page", { phones: $("li", $(this)).toArray().Select("$(x).text()").join("|") }); }); $("header .skypes").on("savechanges", function() { post("_common", "master-page", { skypes: $("li", $(this)).toArray().Select("$(x).text()").join("|") }); }); $("#pre-footer .article>p").on("savechanges", function() { post("_common", "master-page", { description: $(this).html() }); }); $("header .registration").click(function() { alert("Регистрация не работает. Приносим извенения за временные неудобства.") }); /* $("header .login").click(function() { var email = prompt("Введите Ваш e-mail:"); if (!email) return false; var password = prompt("Введите пароль:"); if (!password) return false; var newClientKey = generateClientKey(); post("_common", "master-page", { login: email, password: password, clientkey: newClientKey }, function(response) { if (response.indexOf("OK:") === 0 || response.indexOf("RE:") === 0) { document.cookie = "clientkey=" + newClientKey + "; path=/"; localStorage.setItem("clientkey", newClientKey); var name = response.substr(response.indexOf(":") + 1); var d = new Date().getHours(); var welcome = d < 5 || d >= 22 ? "Доброй ночи" : d < 11 ? "Доброе утро" : d < 17 ? "Добрый день" : "Добрый вечер"; alert(welcome + ", " + name + "!"); if (response.indexOf("RE:") === 0) { alert("Вы вышли из Вашей учетной записи на других компьютерах"); } location.reload(); } }); }); */ $("header .logout").click(function() { post("_common", "master-page", { logout_clientkey: clientKey }, function() { var order = getOrder(); order.items.length = 0; setOrder(order); location.href = "/"; location.reload(); }); }); updateCart(); var searchWaitingThread = undefined; $("#search input[type='text']").keydown(function(e) { var that = this; if (e.keyCode == 27) { this.value = ""; } setTimeout(function() { if (that.value != that["oldValue"]) { that.oldValue = that.value; if (that.value) { if (searchWaitingThread) { clearInterval(searchWaitingThread); } searchWaitingThread = setInterval(function() { clearInterval(searchWaitingThread); searchWaitingThread = undefined; post("products", "search", { pattern: that.value, quick: true }, function(response) { $(".quicksearch-content").html(response).show(); }); }, 500); } else { $(".quicksearch-content").hide(); } } }); }); $("#search form").submit(function() { return Boolean($("#search [name='pattern']").val().trim()); }); $("#light-box").click(function() { $(this).hide(); }); $("#category-menu .dropbox").on("dropbox", function() { var rows = $(this).data("dropbox")[0].trim(); rows = rows.split(rows.indexOf("\r\n") != -1 ? "\r\n" : "\n").Where("x"); var delimiter = rows[0].indexOf(";") != -1 ? ";" : ","; for (var i = 0; i < rows.length; i++) { rows[i] = rows[i].split(delimiter); } localStorage.setItem("product_import", JSON.stringify(rows)); location.href = "/products/import"; }); var bannerRotationThread = undefined; $(function() { var bannerCount = $(".discountLink").length; var bannerIndex = bannerCount - 1; var update = function () { $(".discountLink:eq(" + bannerIndex + ")").show().siblings(".discountLink").hide(); } update(); var nextBanner = function () { bannerIndex = (bannerIndex + 1) % bannerCount; update(); } $(".base .right").click(function (e) { nextBanner(); clearInterval(bannerRotationThread); bannerRotationThread = undefined; e.preventDefault(); }); $(".base .left").click(function (e) { bannerIndex = (bannerIndex - 1 + bannerCount) % bannerCount; update(); clearInterval(bannerRotationThread); bannerRotationThread = undefined; e.preventDefault(); }); if (!bannerRotationThread && bannerCount > 1) { bannerRotationThread = setInterval(function () { nextBanner(); }, Number($(".base").attr("rotation-interval")) * 1000); } }); }); function preventSelection(element){ var preventSelection = false; function addHandler(element, event, handler){ if (element.attachEvent) element.attachEvent('on' + event, handler); else if (element.addEventListener) element.addEventListener(event, handler, false); } function removeSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) document.selection.clear(); } function killCtrlA(event){ var event = event || window.event; var sender = event.target || event.srcElement; if (sender.tagName.match(/INPUT|TEXTAREA/i)) return; var key = event.keyCode || event.which; if (event.ctrlKey && key == 'A'.charCodeAt(0)) // 'A'.charCodeAt(0) можно заменить на 65 { removeSelection(); if (event.preventDefault) event.preventDefault(); else event.returnValue = false; } } // не даем выделять текст мышкой addHandler(element, 'mousemove', function(){ if(preventSelection) removeSelection(); }); addHandler(element, 'mousedown', function(event){ var event = event || window.event; var sender = event.target || event.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i); }); // борем dblclick // если вешать функцию не на событие dblclick, можно избежать // временное выделение текста в некоторых браузерах addHandler(element, 'mouseup', function(){ if (preventSelection) removeSelection(); preventSelection = false; }); // борем ctrl+A // скорей всего это и не надо, к тому же есть подозрение // что в случае все же такой необходимости функцию нужно // вешать один раз и на document, а не на элемент addHandler(element, 'keydown', killCtrlA); addHandler(element, 'keyup', killCtrlA); } //preventSelection(document);