function getCookie(name) {
        var cookieValue = document.cookie;
        var startPos = cookieValue.indexOf(" " + name + "=");
        if (startPos == -1) {
                startPos = cookieValue.indexOf(name + "=");
        }
        if (startPos == -1) {
                return "";
        }
        startPos = cookieValue.indexOf("=", startPos) + 1;
        var endPos = cookieValue.indexOf(";", startPos);
        if (endPos == -1) {
                endPos = cookieValue.length;
        }
        return unescape(cookieValue.substring(startPos, endPos));
}

function setCookie(name, value, path, monthBeforeExpire) {
        value = escape(value);
        var expires = "";
        if (monthBeforeExpire != 0) {
                var nowDate = new Date();
                nowDate.setMonth(nowDate.getMonth() + monthBeforeExpire);
                expires = ";expires=" + nowDate.toGMTString();
        }
        if (path != "") {
                path = ";Path=" + path;
        }
        document.cookie = name + "=" + value + expires + path;
}

function addToBasket(id, form, idPrice, idExists) {
    var quantity = 1;
        var price = 0;
        var exists = 0;
        if(form!='') {
           quantity=document.forms[form].elements[id].value;
           price = document.forms[form].elements[idPrice].value;
           if (idExists!="") {
              exists = document.forms[form].elements[idExists].value;
              if (exists=="нет") {
                 alert("Невозможно добавить в корзину. Товар временно отсутствует!");
                 return;
              }
           }
        }
        // Check quantity... 
        if (quantity == "") {
          quantity = 1;
    }
        //Check price...
        if (price == "") {
          price = 0;
    }
        quantity = parseFloat(quantity);
        price = parseFloat(price);
        if (isNaN(price)) {
           alert("Невозможно добавить в корзину. Товар отсутствует!");
           return;
        }
        alert (quantity + " единиц товара * " + price + " руб. = " + (price*quantity) + " руб.\n Добавлено в корзину.");
        price *= quantity;
        var value = getCookie('basket');
        var cost = getCookie('cost');
        if (cost == '') {
           cost = 0;
    }
        cost = parseFloat(cost) + price;
//      alert ("Общая стоимость товара в вашей корзине - " + cost + " руб.");
        value = value + "x" + quantity + "y" + id;
        var s = 0;
        var indX = value.indexOf ("x"); 
        var indY = value.indexOf ("y"); 
        while ((indX!= -1)&&(indY!= -1)) {
           // Define new variable - 4 best work with .substring
           var val = value.substring (indX+1, value.length);
           val = (val.substring (0, indY-indX-1));
           if (isNaN (val)) {
            alert ('Ошибка - товар не добавлен в корзину');
                return;
       } else {
            s+=parseFloat (val);
           } 
       indX = value.indexOf ("x", indX+1); 
           indY = value.indexOf ("y", indY+1); 
        }
        setCookie("basket", value, "", 0);
        setCookie("cost", cost, "", 0);
        updatePage();
}

function emptyBasket() {
        if (confirm("Вы действительно желаете очистить корзину?")) {
                setCookie("basket", "", "", 0);
                setCookie("cost", "0", "", 0);
                alert ('Корзина очищена.');
                        updatePage();
            }
                        
}

function updatePage() {
    var s = 0;
        var value = getCookie('basket');
        var cost = getCookie('cost');
        if ((value == '')||(cost=='')) {
                quan.value= 0; 
                sum.value= 0;
                return;
    }
        cost = parseFloat(cost);
        var indX = value.indexOf ("x"); 
        var indY = value.indexOf ("y"); 
        while ((indX!= -1)&&(indY!= -1)) {
           // Define new variable - 4 best work with .substring
           var val = value.substring (indX+1, value.length);
           val = (val.substring (0, indY-indX-1));
           if (isNaN (val)) {
                return;
       } else {
            s+=parseFloat (val);
           } 
       indX = value.indexOf ("x", indX+1); 
           indY = value.indexOf ("y", indY+1); 
        }
        quan.innerHTML= s; 
        sum.innerHTML= cost;
}

function updateBskPage(form) {  
    var value='';
    var str;
    var quantity = 1;
    var price = 0;
    var id = 0;
    var cost = 0;
    for(var i=0; i<document.forms[form].elements.length; i++) {
        str = document.forms[form].elements[i].name;
        if (str.indexOf ("price") == 0) {
            price = parseFloat(document.forms[form].elements[i].value);
        }
        if (str.indexOf ("form") == 0) {
            quantity = parseFloat(document.forms[form].elements[i].value);
                 if (isNaN(quantity)) {
                  quantity = 0; 
                 }
            id = str;
                if (quantity != 0) {
            value = value + "x" + quantity + "y" + id;
        }
            cost = parseFloat(cost) + price*quantity;
        }
    }
    setCookie("basket", value, "", 0);
    setCookie("cost", cost, "", 0);
    updatePage();
    alert ("Изменения внесены.");
}
