function strReverse(s)
{
  s = s.toString();
  var t = "";
  var i = s.length;
  i--;
  for (var q = i; q >= 0; q--)
    t = t + s.charAt(q);
  return t;
}

function insertSpaces(price)
{
  price = price.toString();
  price = strReverse(price);
  var t = "";
  for (var q = 0; q < price.length; q++)
  {
    t += price.charAt(q);
    if (((q + 1) % 3) == 0) t += " ";
  }
  return strReverse(t);
}

function removeSpaces(s)
{
  s = s.toString();
  var t = "";
  for (var q = 0; q < s.length; q++)
    if (s.charAt(q) != " ") t += s.charAt(q);
  return t;
}

function toogleColor(div)
{
  var ob = $("#item-div-" + div);
  if (ob.hasClass("color")) ob.removeClass("color"); else ob.addClass("color");
}

function delete_product()
{
  var temp = getCookie("basket");
  temp = unserialize_cp(temp);
  var mas = new Array();
  for (q = 0; q < productsCount; q++)
  {
    if (($("#item-div-" + q.toString())) && ($("#item-delete-" + q.toString()).attr("checked")))
    {
      $("#item-div-" + $("#item-id-" + q.toString()).val()).hide("slow");
      for (w = q + 1; w < productsCount; w++) toogleColor($("#item-id-" + w.toString()).val().toString());
           
      for (w = 0; w < temp.length; w+=2)
      {
        if (temp[w] != $("#item-id-" + q.toString()).val())
        {
          mas.push(temp[w]);
          mas.push(temp[w+1]);
        }
      }
      temp = mas;
      mas = new Array();
    }
  }
  setCookie("basket", serialize_cp(temp));
  recalc();
  return false;  
}

function recalc()
{
  var tempSumm = fullSumm = 0;
  var temp = getCookie("basket");
  temp = unserialize_cp(temp);
  var pCount = 0;
  
  if ((temp.length > 0) && (temp[0]))
    for (q = 0; q < productsCount; q++)
      if (($("#item-div-" + q.toString())) && ($("#item-delete-" + q.toString()).attr("checked") == false))
      {
        pCount++;
        tempSumm = parseInt($("#item-count-" + q.toString()).val()) * parseInt(removeSpaces($("#item-price-" + q.toString()).html()));
        $("#item-summa-" + q.toString()).html(insertSpaces(tempSumm.toString()));
        if (tempSumm) fullSumm += tempSumm;
        for (w = 0; w < temp.length; w+=2)
          if (temp[w] == $("#item-id-" + q.toString()).val())
            temp[w+1] = $("#item-count-" + q.toString()).val();
      }
      
  $("#item-summa").html(insertSpaces(fullSumm.toString()));
  setCookie("basket", serialize_cp(temp));  
  $("#in-basket-count").html("<b>" + pCount.toString() + "</b>&nbsp;" + formatWord(pCount,"позици","я","и","й"));  
  if (pCount == 0)
  {
//      $("#in-basket-count").html(" нет товаров");
//      $("#delete-selected").remove();
//      $("#full-sum").remove();
    $("#action").val("");
  }
  return false;
}

function runRecalc()
{
  return recalc();
}

function add2cart(id)
{
  full_price = parseInt(full_price);
  var count = parseInt($("#item-count-" + id.toString()).val());
  if ((!count) || (count < 1)) count = 1;
  var price = parseInt(removeSpaces($("#item-price-" + id.toString()).text()));
  if (!price) price = 0;
  full_price += parseInt(count*price);

  var temp = getCookie("basket");
  var mas = new Array();
  var flag = true;
  if (temp==null)
  {
    mas.push(id);
    mas.push(count);
  } else 
  {
    mas=unserialize_cp(temp);
    for (var i = 0; i < mas.length; i+=2) 
      if (mas[i]==id)
      {
        mas[i+1] = parseInt(mas[i+1]) + count;
        flag = false;
      }
    if (flag)
    {
      mas.push(id);
      mas.push(count);
    }
  }
  setCookie ("basket", serialize_cp(mas));
  update_basket_string(parseInt(mas.length/2));
  return false;
}

function update_basket_string(l)
{
  $("#basket-block").html("Позиций в корзине: <a href=\"/basket\">" + l.toString() + "</a><br />Сумма заказа: <span class=\"red head\">" + insertSpaces(full_price.toString()) + "</span> руб.<p><a href=\"/basket\">Перейти к корзине</a></p>");
}

function update_cb(ins) 
{
  if (ins.checked) 
    add_to_cp(ins.id);
  else
    dell_from_cp(ins.id);
}
 
function update_cb_string () 
{
  var temp="&nbsp;";
  if (basket_count>0) 
  {
    temp=formatWord(basket_count,"позици","я","и","й");
    temp="("+basket_count+" "+temp+")";
  }
  if (document.getElementById("how_to_compare")) document.getElementById("how_to_compare").innerHTML=temp;
}
 
function formatWord (num,wordroot,end1,end2,end3) 
{
  var temp=end3;
  var last=num+"";
  if (num>20)
  last=last.substr((last.length-1),last.length);
  if (last==1) temp=end1;
  if (last==2 || last==3 || last==4) temp=end2;
  return (wordroot+temp);
}

function add_to_cp(ins) 
{
  var temp = getCookie(category);
  var mas = new Array();
  var flag= true;
  if (temp==null)
  {
    mas.push(ins);
  } else 
  {
    mas=unserialize_cp(temp);
    for (var i = 0; i < mas.length; i++) 
      if (mas[i]==ins)
        flag = false;
    if (flag)
      mas.push(ins);
  }
  if (flag) 
  {
    setCookie (category, serialize_cp(mas));
    basket_count=basket_count+1;
  }
  update_cb_string();
}

function dell_from_cp(ins)
{
  var temp = getCookie(category);
  var mas = new Array();
  var mas1 = new Array();
  var flag= false;
  if (temp!=null) {
    mas=unserialize_cp(temp);
    for (var i = 0; i < mas.length; i++) {
      if (mas[i]!=ins) {
        mas1.push(mas[i]);
      } else {
        flag= true;
      }
    }
  }
  if (flag) 
  {
    if (mas1.length == 0)
      setCookie(category, "");
    else 
      setCookie(category, serialize_cp(mas1));
    basket_count = basket_count - 1;
  }
  update_cb_string ();
}

function serialize_cp(ins) 
{
  var temp="";
  for (var i = 0; i < ins.length; i++) 
    if (ins[i]!="") temp=temp+ins[i]+",";
  if (temp.length>1) 
    temp=temp.substr(0,(temp.length-1))
  return temp;
}

function unserialize_cp(ins)
{
  var temp = new Array();
  var temp1 ="";
  if (ins.indexOf(",",0)>=0 && ins.length>0) 
  {
    do 
    {
      temp1=ins.substr(0,ins.indexOf(",",0));
      ins=ins.substr((temp1.length+1),ins.length);
      if (temp1!="") temp.push(temp1);
    } while (ins.indexOf(",",0)>=0)
    if (ins.length>0) temp.push(ins);
  } else 
  {
    temp.push(ins);
  }
  return temp;
}


function getCookie(name) 
{
  var cookie = " " + document.cookie;
  var search = " " + name + "=";
  var setStr = null;
  var offset = 0;
  var end = 0;
  if (cookie.length > 0) 
  {
    offset = cookie.indexOf(search);
    if (offset != -1) 
    {
      offset += search.length;
      end = cookie.indexOf(";", offset)
      if (end == -1) 
        end = cookie.length;
      setStr = unescape(cookie.substring(offset, end));
    }
  }
  return(setStr);
}
