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 addItem(name, id, 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, name, quantity, price);
                         return;
                }

                break;
        }

        SetCookieForNDays('it_cart',GetCookieValueByName('it_cart') + id + ',' + encodeURIComponent(name) + ',' + quantity + ',' + price + ';',1, '/');

        sub_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, '/');
        sub_showCart();
}

function updateItemQuantity(id, name, 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[2] + 'шт. Уточните новое количество элементов в корзине.',quantity);

          if(!quantity)
                   return;

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

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

function sub_showCart(){
        var it_cart = GetCookieValueByName('it_cart');
        var div_summ = document.getElementById('sum');

        var price_sum=0;
        var item_sum=new Number(0);
        var items;
        var str_tovar='';
        var real_items_q=new Number(0);

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

        div_summ.innerHTML ='';

         for(var i=0;i<real_items_q;i++){
          var item = items[i].split(',');

           price_sum += item[2]*item[3];
           item_sum += parseInt(item[2]);
           str_tovar += '<li>' + decodeURIComponent(item[1]) + ' (' + item[2] + ')</li>';
         }

        if(item_sum!=0){
                if(price_sum){
                            div_summ.innerHTML += '<ul><li class="sum">Товаров на сумму: <b>' + price_sum.toFixed(2) + ' </b></li>' + str_tovar + '</ul><a id="of" href="/catalogue/cart/">Оформить заказ</a>';
                            $(".cartpanel").show();
                }
        }

}

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[2];
}

function printSum(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[2]*item[3]);
        document.write(item_sum.toFixed(2));
}

function printQuantity(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[2]);
}
