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);