var cart = [];
var cartShow = function () {
	$("#cart").animate({
		top: "0px"
	}, "slow").attr("state", "open");
}
var cartHide = function () {
	$("#cart").animate({
		top: "-504px"
	}, "slow").attr("state", "closed");
}
var cartToggle = function () {
	var state = $("#cart").attr("state");
	if (state == "open") {
		cartHide();
	} else {
		cartShow();
	}
}
var cartAdd = function (obj) {
	cart[cart.length] = obj;
	cartDraw();
	cartShow();
}
var cartRemove = function (num) {
	var c = [];
	for (var i = 0; i < cart.length; i++) {
		if (i == num) continue;
		c[c.length] = cart[i];
	}
	cart = c;
	cartDraw();
}
var cartDraw = function () {
	$("#cart").empty();
	if (cart.length < 1) {
		$("#cart").html("Your shopping cart is currently empty.");
		return;
	}
	for (var i = 0; i < cart.length; i++) {
		$("#cart")
			.append("<div></div>").children("div:last")
				.addClass("item")
				.attr("num", i)
				.append("<div></div>").children("div:last")
					.addClass("description")
					.html(cart[i].name + "<br/><em>" + cart[i].options + "</em>")
				.end()
				.append("<div></div>").children("div:last")
					.addClass("price")
					.html("$" + cart[i].price)
				.end()
				.append("<div></div>").children("div:last")
					.addClass("remove")
					.html("[x]")
					.hover(function () {
						$(this).html("Remove [x]");
					}, function () {
						$(this).html("[x]");
					})
					.click(function () {
						cartRemove($(this).parent().attr("num"));
					})
				.end()
				.append("<div></div>").children("div:last").addClass("clear").end()
			.end()
		.end();
	}
	$("#cart")
		.append("<form></form>").children("form:last")
			.attr("id", "checkout")
			.attr("target", "_blank")
			.attr("method", "POST")
			.each(function () {
				for (var i = 0; i < cart.length; i++) {
					$(this)
						.append("<input type='hidden'/>").children("input:last")
							.attr("name", "name_" + i)
							.val(cart[i].name)
						.end()
						.append("<input type='hidden'/>").children("input:last")
							.attr("name", "options_" + i)
							.val(cart[i].options)
						.end()
						.append("<input type='hidden'/>").children("input:last")
							.attr("name", "price_" + i)
							.val(cart[i].price)
						.end()
						.append("<input type='hidden'/>").children("input:last")
							.attr("name", "itemno_" + i)
							.val(cart[i].itemno)
						.end()
					.end();
				}
			})
			.append("<select></select>").children("select:last")
				.attr("id", "method")
				.append("<option>Google CO</option>")
				.append("<option>PayPal</option>")
			.end()
			.append('<input type="hidden"/>').children("input:last")
				.attr("id", "amount")
				.attr("name", "amount")
				.val("")
			.end()
			.append('<input type="hidden"/>').children("input:last")
				.attr("name", "count")
				.val(cart.length)
			.end()
			.append("<button></button>").children("button:last")
				.html("Check Out")
				.click(function () {
					var method = $("#method").val();
					var url = "";
					switch (method) {
						case "Google CO": 
							url = "googlecheckout/googlecheckout.php";
							break;
						case "PayPal": 
							url = "paypal/paypal.php";
							break;
					}
					var amount = 0;
					for (var i = 0; i < cart.length; i++) {
						amount+= cart[i].price;
					}
					$("#amount").val(amount);
					$("#checkout").attr("action", url).submit();
				})
			.end()
		.end()
	.end();
}
