function GetCookieValueByName(name){
        var beg = document.cookie.indexOf(name+"=");
        if(beg==-1)
                return false;

        var end = document.cookie.indexOf(";", beg + name.length);
        if(end==-1)
                end = document.cookie.length;
  //alert("qw"+document.cookie.substring(beg + name.length + 1, end));
        return unescape(document.cookie.substring(beg + name.length + 1, end));
}

function SetCookieForNDays(name, value, days, path, domain, secure){
        //alert(value);
        var today = new Date();
        expires = new Date(today.getTime() + days*24*60*60*1000);
        document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");

}

function addItem2Cart(name, id, price){
        //alert('name: '+name+'  id: '+id+'  price: '+price);
        var quantity=1;
        var it_cart = GetCookieValueByName('it_cart');

        while(1){
                quantity = prompt('Добавляем \''+name+'\' в корзину. Укажите количество.', quantity);

                if(!quantity)
                         return;

                if(quantity.search(/^\d+$/)){
                   alert('Некорректный ввод.');
                   continue;
                 }

                if(!it_cart)
                         break;

                if(it_cart.search(new RegExp('(?:^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'))!=-1){
                         updateItemQuantity(id, quantity, price);
                         return;
                }

                break;
        }

        SetCookieForNDays('it_cart',GetCookieValueByName('it_cart') + id + ',' + quantity + ',' + price + ';',1, '/');
        //alert(GetCookieValueByName('it_cart') + id + ',' + quantity + ',' + price + ';');
        showCart();
}

function delItemFromCart(id){
        var it_cart = GetCookieValueByName('it_cart');
        it_cart = it_cart.replace(new RegExp('(^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'),'$1');
        SetCookieForNDays('it_cart',it_cart,1, '/');
        showCart();
}

function updateItemQuantity(id, quantity, price){
        var it_cart = GetCookieValueByName('it_cart');
        var item_str = it_cart.match(new RegExp('(?:^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'));
        var item = item_str[0].split(',');

        while(item && item.length){
          quantity = prompt('Данный элемент уже присутствует в корзине в количестве ' + item[1] + 'шт. Уточните новое количество элементов в корзине.',quantity);

          if(!quantity)
                   return;

          if(quantity.search(/^\d+$/)){
                   alert('Некорректный ввод.');
                   continue;
          }
                 break;
         }

        it_cart = it_cart.replace(new RegExp('(^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'), '$1' + id + ',' + quantity + ',' + price + ';');
        SetCookieForNDays('it_cart',it_cart,1, '/');
        showCart();
}

function showCart(){
        var it_cart = GetCookieValueByName('it_cart');
        //alert(it_cart);
        var div_cart = document.getElementById('div_cart');
        if(!div_cart){
          //alert('Where is my cart?');
          return;
         }
        var price_sum=0;
        var item_sum=new Number(0);
        var items;
        var real_items_q=new Number(0);

        if(it_cart){
                 items = it_cart.split(';');
                 real_items_q = items.length ? items.length-1 : 0;
        }

        div_cart.innerHTML ='';

         for(var i=0;i<real_items_q;i++){
          var item = items[i].split(',');
           price_sum += item[1]*item[2];
           item_sum += parseInt(item[1]);
           //div_cart.innerHTML += item[0] +' '+ item[1] +' '+ item[2]
           //+ '<a href=# onclick="updateItemQuantity('+item[0]+','+item[1]+','+item[2]+')">U</a> '
           //+ '<a href=# onclick="delItemFromCart('+item[0]+')">D</a>' + '<br>';
         }

        div_cart.innerHTML += 'В корзине позиций ' + item_sum + ' шт.';

        if(item_sum!=0){
                if(price_sum)
                div_cart.innerHTML += ' на сумму ' + price_sum.toFixed(2);
                if(window.location.href.indexOf("/catalogue/cart/")==-1)
                div_cart.innerHTML += '<br><a href=/catalogue/cart/><b>Оформить заказ</b></a>';
        }
}

function getItemQuantity(id){
        var it_cart = GetCookieValueByName('it_cart');
        var item_str = it_cart.match(new RegExp('(?:^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'));
        var item = item_str[0].split(',');
        return item[1];
}

function printItemSum(id){
        var it_cart = GetCookieValueByName('it_cart');
        var item_str = it_cart.match(new RegExp('(?:^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?'));
        var item = item_str[0].split(',');
        var item_sum=new Number(item[1]*item[2]);
        document.write(item_sum.toFixed(2));
}

function printItemQuantity(id){
        var it_cart = GetCookieValueByName('it_cart');
        var item_str = it_cart.match(new RegExp('(?:^|;)'+id+',\\d+,\\d+(?:\\.\\d+)?;'));
        var item = item_str[0].split(',');
        document.write(item[1]);
}

