var splitter = '¦';

function set_cookie(name, value) {
	var d = new Date();
	d.setMonth(d.getMonth() + 1);
	document.cookie = name + "=" + escape(value) + "; expires=" + d.toGMTString() + "; path=/";
}

function get_cookie(name) {
  var found=false, start = 0, end = 0, cookieString = document.cookie;
  var i = 0;
  while (i <= cookieString.length) {
	start = i;
	end = start + name.length;
	if(cookieString.substring(start,end + 1) == name + "=") {
	  found=true;
	  break;
	}
	i++
  }
  if (found) {
	start=end+1;
	end=document.cookie.indexOf(";",start);
	if (end<start)
	  end=document.cookie.length;
	return unescape(document.cookie.substring(start,end));
  }
  return false;
}

function del_cookie(name)
{
	var tDate = new Date();
	var val = get_cookie(name);
	tDate.setDate(tDate.getDate() - 1);
	document.cookie = name + "=" + val + "; expires=" + tDate.toGMTString() + "; path=/";
} 

function get_item_q(id) {
	var start = 0;
	var end = 0;
	var data = get_cookie(id);
	var stritem = get_item_name(id);
	if (data !== false) {
		start = stritem.length + 1;
		end = start;
		while(start <= data.length) {
			if (data.substring(end, end + 1) == splitter) {
				return data.substring(start, end);
				break;
			}
			end++;
		}
	}
	return 0;
}

function get_item_price(id) {
	var start = 0;
	var data = get_cookie(id);
	var stritem = get_item_name(id);
	var strq = get_item_q(id);
	if (data !== false) {
		start = stritem.length + 1 + strq.length + 1;
		return data.substring(start, data.length);
	}
	return false;

}

function get_item_name(id) {
	var start = 0;
	var data = get_cookie(id);
	if (data !== false) {
		while(start <= data.length) {
			if (data.substring(start, start + 1) == splitter) {
				return data.substring(0, start);
				break;
			}
			start++;
		}
	}
	return false;
}

function items_add(id, name, price) {
	var quantity = 1;
	if (get_item_name(id) !== false) {
		quantity += parseInt(get_item_q(id));
		if (quantity == 0) {
			del_cookie(id);
			ids_del(id);
			return false;
		}
		name = get_item_name(id);
		price = get_item_price(id);
	}
	set_cookie(id, name + splitter + quantity + splitter + price);
	ids_add(id);
}

function items_del(id, name, price) {
	var quantity = 0;
	if (get_item_name(id) !== false) {
		quantity = parseInt(get_item_q(id));
		if (quantity == 1) {
			del_cookie(id);
			ids_del(id);
		} else {
			quantity--;
			set_cookie(id, get_item_name(id) + splitter + String(quantity) + splitter + get_item_price(id));
		}
	} else {
		ids_add(id);
		set_cookie(id, name + splitter + "-1" + splitter + price);
	}
}

function ids_del(id) {
	var i = 0;
	var newdata = "";
	var data = get_cookie("items");
	while (i <= data.length) {
		if (data.substring(i, i + id.length) == id) {
			newdata = data.substring(0, i) + data.substring(i + id.length + 1, data.length);
			set_cookie("items", newdata);
			if (newdata == "") {
				del_cookie("items");
			}
			return true;
		}
		i++;
	}
	return false;
}

function ids_add(id) {
	var data = get_cookie("items");
	if (!ids_exists(id)) {
		if (data == false) {
			set_cookie("items", id + splitter);
		} else {
			set_cookie("items", data + id + splitter);
		}
		return true;
	}
	return false;
}

function ids_exists(id) {
	var i = 0;
	var data = get_cookie("items");
	if (data !== false) {
		while (i <= data.length) {
			if (data.substring(i, i + id.length) == id) {
				return true;
			}
			i++;
		}
	}
	return false;
}

function ids_count() {
	var i = 0;
	var c = 0;
	var data = get_cookie("items");
	if (data !== false) {
		while (i <= data.length) {
			if (data.substring(i, i + 1) == splitter) {
				c++;
			}
			i++;
		}
	}
	return c;
}


function ids_get() {
	var arr = new Array(ids_count());
	var c = 0;
	var i = 0;
	var end = 0;
	var start = 0;
	var items = get_cookie("items");
	while (i <= items.length) {
		if (items.substring(i, i + 1) == splitter) {
			start = end;
			end = i + 1;
			arr[c] = items.substring(start, end - 1);
			c++;
		}
		i++;

	}
	return arr;
}

function show_basket(show) {
	var a = ids_get();
	if ((show == true) && (a.length != 0)) {
		w = window.open("basket.html", "BasketWnd", "resizable,scrollbars,width=630,height=200");
		w.location.replace("basket.html");
		var items = ids_get();
		w.resizeTo(700, 200 + items.length * 20);
		w.focus();
	}
}

function calc_total() {
	var arr = ids_get();
	var result = 0;
	for (i = 0; i < arr.length; i++) {
		var a = parseFloat(get_item_price(arr[i])) * parseInt(get_item_q(arr[i]));
		if (a.toString() != "NaN") {
			result += a;
		}
	}
	return result.toFixed(2);
}
