var cart_debug = false;
function checkSessvars()
{
if(sessvars) {
if(!sessvars.goods) sessvars.goods = new Array();
return true;
} else {
alert("Не загружен модуль sessvars, работа с корзиной невозможна");
return false;
}
}
// id товара
function addGoodToCart(id, article, name, brand, price, link, comment)
{
var i;
if(!checkSessvars()) return;
for(i = 0; i < sessvars.goods.length; i++) {
if(sessvars.goods[i].id == id) {
sessvars.goods[i].count++;
if(cart_debug) alert("addGoodToCart: Товар найден в корзине i=" + i + ", увеличиваем количество");
break;
}
}
if(i == sessvars.goods.length) {
sessvars.goods[i] = new Object();
sessvars.goods[i].id = id;
sessvars.goods[i].count = 1;
sessvars.goods[i].article = article;
sessvars.goods[i].name = name;
sessvars.goods[i].brand = brand;
sessvars.goods[i].price = price;
sessvars.goods[i].link = link;
if(cart_debug) alert("addGoodToCart: Товар не найден в корзине, добавляем новую запись (i=" + i + "):\n" +
sessvars.goods[i].toString());
}
updateTotalPrice();
}
function putGoodToCart(id)
{
var i, e;
if(!checkSessvars()) return;
for(i = 0; i < sessvars.goods.length; i++) {
if(sessvars.goods[i].id == id) {
sessvars.goods[i].count++;
e = document.getElementById('count' + sessvars.goods[i].id);
if(e) e.setAttribute("value", sessvars.goods[i].count);
e = document.getElementById('counti' + sessvars.goods[i].id);
if(e) e.setAttribute("value", sessvars.goods[i].count);
if(cart_debug) alert("putGoodToCart: Товар с таким id найден в корзине, увеличим количество");
break;
}
}
updateTotalPrice();
}
function removeGoodsFromCart(id)
{
var i, j, e;
if(!checkSessvars()) return;
for(i = 0; i < sessvars.goods.length; i++) {
if(sessvars.goods[i].id == id) {
removeGoodLine(sessvars.goods[i].id);
for(j = i + 1; j < sessvars.goods.length - 1; j++) {
sessvars.goods[j - 1] = sessvars.goods[j];
}
sessvars.goods.pop();
if(cart_debug) alert("removeGoodsFromCart: Найден товар, корзина сомкнулась");
break;
}
}
updateTotalPrice();
}
function removeGoodLine(id)
{
var e = document.getElementById("good" + id);
if(e) {
e.parentNode.removeChild(e);
if(cart_debug) alert("removeGoodLine: Найдена строка про товар на экране, удаляем");
}
}
function getGoodFromCart(id)
{
var i, j, e;
if(!checkSessvars()) return;
for(i = 0; i < sessvars.goods.length; i++) {
if(sessvars.goods[i].id == id) {
if(cart_debug) alert("getGoodFromCart: Найден товар в корзине, i=" + i);
if(sessvars.goods[i].count > 1) {
sessvars.goods[i].count--;
e = document.getElementById('count' + sessvars.goods[i].id);
if(e) e.setAttribute("value", sessvars.goods[i].count);
e = document.getElementById('counti' + sessvars.goods[i].id);
if(e) e.setAttribute("value", sessvars.goods[i].count);
} else {
removeGoodLine(sessvars.goods[i].id);
for(j = i + 1; j < sessvars.goods.length - 1; j++) {
sessvars.goods[j - 1] = sessvars.goods[j];
}
sessvars.goods.pop();
break;
}
}
}
updateTotalPrice();
}
function updateTotalPrice()
{
var total = 0;
var count = 0;
for(i = 0; i < sessvars.goods.length; i++) {
total+= sessvars.goods[i].price * sessvars.goods[i].count;
count+= sessvars.goods[i].count;
}
total = Math.round(total * 100) / 100;
var e = document.getElementById('total_price');
if(e) e.innerHTML = Math.round(total * 100) / 100;
if(cart_debug) alert("updateTotalPrice: count=" + count + ", total=" + total);
e = document.getElementById("cart_div");
var e2 = document.getElementById("to_confirm");
if(i > 0) {
if(e) {
e.innerHTML = 'Товаров: 0 шт.
На сумму: 0 руб.
Оформить >>';
e.style.backgroundColor = "#fcfa60";
var e_count = document.getElementById("goods_count");
if(e_count) e_count.innerHTML = count;
var e_price = document.getElementById("goods_price");
if(e_price) e_price.innerHTML = total;
}
if(e2) e2.style.display = "";
} else {
if(e) {
e.innerHTML = 'Нет товаров в корзине';
}
if(e2) e2.style.display = "none";
}
}
function returnToShopping()
{
history.go(-1);
}
function makeOrder()
{
var i;
var errors = new Array();
form = document.forms.orderForm;
if(!form) return false;
if(form.name.value == "") errors.push("Не заполнено поле Имя");
if(form.phone.value == "") errors.push("Не заполнено поле Телефон");
//if(form.delivery.innerHTML == "") errors.push("Не заполнено поле Адрес доставки");
if(errors.length > 0) {
var msg = "";
for(i = 0; i < errors.length; i++) {
msg += errors[i] + "\n";
}
alert(msg);
return false;
} else {
return true;
}
}
function emptyCart()
{
if(!checkSessvars()) return;
sessvars.goods = new Array();
updateTotalPrice();
}
function addVariantToCart(id, article, name, brand, price, link, comment)
{
var s = document.getElementById("variants");
if(!s) return;
var v = a_variants[s.selectedIndex]; // выбранный вариант исполнения
addGoodToCart(v.id, v.article, name + " (Вариант: " + v.name + ")", brand, v.price, link, comment);
}