function cart(id) {
  cart_toggle(id);
  if(cart_check(id)) {
    document.getElementById('cart' + id).innerHTML = '<strong>Remove</strong>';
  } else {
    document.getElementById('cart' + id).innerHTML = 'Add to Cart';
  }
}

function cart_update(id) {
  if(cart_check(id)) {
    document.getElementById('cart' + id).innerHTML = '<strong>Remove</strong>';
  } else {
    document.getElementById('cart' + id).innerHTML = 'Add to Cart';
  }
}

function cart_add(id) {
  var cart_items = cookie_read('cart_items');
  if(!cart_items) {
    cart_items = 0;
  } else {
    for(var i = 1; i <= cart_items; i++) {
      if(cookie_read('cart_item' + i) == id) {
        return false;
      }
    }
  }
  cart_items++;
  cookie_write('cart_item' + cart_items, id);
  cookie_write('cart_items', cart_items);
  return true;
}

function cart_toggle(id) {
  var cart_items = cookie_read('cart_items');
  if(!cart_items) {
	cart_items = 0;
  } else {
	for(var i = 1; i <= cart_items; i++) {
	  if(cookie_read('cart_item' + i) == id) {
        cookie_delete('cart_item' + i);
        return true;
      }
    }
  }
  cart_items++;
  cookie_write('cart_item' + cart_items, id);
  cookie_write('cart_items', cart_items);
  return true;
}

function cart_check(id) {
  var cart_items = cookie_read('cart_items');
  for(var i = 1; i <= cart_items; i++)
  {
    if(cookie_read('cart_item' + i) == id) {
      return true;
    }
  }
  return false;
}

function cookie_read(name) {
  var ca = document.cookie.split(';');
  for(var i = 0; i < ca.length; i++) {
    while(ca[i].charAt(0) == ' ') {
      ca[i] = ca[i].substring(1, ca[i].length);
    }
    if(ca[i].indexOf(name + '=') == 0) {
      return ca[i].substring(name.length + 1, ca[i].length);
    }
  }
  return false;
}

function cookie_write(name, value) {
  document.cookie = name + '=' + value + '; path=/';
  return true;
}

function cookie_delete(name) {
  document.cookie = name + '=; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT';
  return true;
}