function basket(id) {
  var res = basketInverse(id);
  basketButton = document.getElementById('basketButtonObj');
  var t = basketText(t);
  if (basketButton) basketButton.innerHTML = basketText(res);
  updateBasketStatus();
};

function updateBasketStatus(){
  basketStatus = document.getElementById('basketStatusObj');
  if (basketStatus) basketStatus.innerHTML = basketLength();
};
  
function basketText(res){
  if (res) {
    s = "<span>Убрать из вашего личного каталога</span>";
  } else {
    s = "<span>Поместить в ваш личный каталог</span>";
  };
  return s
};

function basketContents(){
  var my_basket = getCookie('Basket');
  if (my_basket) return my_basket.split(','); 
  return [];
};

function basketLength(){
 return basketContents().length;
}

function basketCheck(id){
  var res = false;
  var my_basket = getCookie('Basket');
  if (my_basket) {
    var lots = my_basket.split(',');
    if (in_array(id, lots)) {
      res = true;
    } else {
      res = false;
    };
  } else {
    res = false;
  };
  return res;
}


function basketInverse(id){
  var expire = calc_expire();
  var res = null;
  var my_basket = getCookie('Basket');
  if (my_basket) {
    //var lots = my_basket.split(',');
    var lots = basketContents();
    if (!in_array(id, lots)) {
      lots.push(id);
      res = true;
    } else {
      lots2 = [];
      for (var i=0; i<lots.length; i++) {
        var v = lots[i];
        if ((v!=id) && (!in_array(v, lots2))) lots2.push(v);
      };
      lots = lots2;
      res = false;
    };
    //var s = ','.join(lots);
    var s = lots.join(',');
    //setCookie('Basket', s, expire, '/');
    writeBasket(s);
    //alert(lots);
  } else {
    //setCookie('Basket', id, expire, '/');
    writeBasket(id);
    res = true;
  };
  return res;
};

function writeBasket(s){
  var expire = calc_expire();
  expire = '';
  setCookie('Basket', s, expire, '/');
};

function calc_expire(){
  var date = new Date();
  //date.setMonth(date.getMonth()+6);
  var res = date.toGMTString();
  //alert(res);
  return res;
};

function in_array(value, ara){
  for (var i=0; i<ara.length; i++) {
    if (ara[i]==value) return true;
  };
  return false
}
