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