(function($) {

	$.fn.createCart = function(options){
		$("<div id=\"hcart\" style=\"display: none;\"> \
		<form id=\"hcart-form\" action=\"/afrekenen\" method=\"post\"> \
			<div style=\"display: none;\"> \n \
				<fieldset id=\"hcart-table\"> \
				</fieldset> \
				<fieldset> \
					<input type=\"submit\" id=\"afrekenen\" name=\"submit-hcart\" value=\"Afrekenen\" /> \
					<input type=\"button\" id=\"legen\" name=\"empty-hcart\" value=\"Legen\" /> \
				</fieldset> \
			</div> \
			<p><span id=\"txt\">Toon winkelwagen</span> <span id='no'></span></p> \
		 </form></div>").appendTo('body');
		
		fillCart();
		
		$("#hcart").show();
		
		var cartShown = false;
		
		$("#hcart p").toggle(function(e){
			e.stopPropagation();
			$("#hcart div").stop().slideDown("fast");
			$("#txt", this).text("Verberg winkelwagen");
			cartShown = true;
		}, function(e){
			e.stopPropagation();
			$("#hcart div").stop().slideUp("fast");
			$('#txt', this).text("Toon winkelwagen");
			cartShown = false;
		});
		
		$("#hcart input[name^=remove]").live("click", function(e){
			
			e.stopPropagation();
			
			var obj = $(this);
			
			var id = obj.attr("name").replace(/(remove\[|\])/g,"");
			
			$.getJSON("/hcart/hcart-ajax.php", { "remove" : id, "random" : Math.random()*100 }, function(jsonData){
				obj.parent().parent().remove();
				zebraStripe();
				setTotal(jsonData.total);
			});
			
			return false;
		});
		
		$("#hcart input[name=empty-hcart]").bind("click",function(){
			
			$.getJSON("/hcart/hcart-ajax.php", { "empty_cart" : true, "random" : Math.random()*100 }, function(jsonData){
				fillCart();
			});
			
			return false;
		});
		
		$("form.hcart input[name=add]").bind("click",function(){
			
			var $this = $(this);
			
			var id = $this.siblings("input[name=product_id]").val();
			
			$.getJSON("/hcart/hcart-ajax.php", { "add" : id, "random" : Math.random()*100 }, function(jsonData){
				addItem(jsonData.added);
				$this.addClass("hcart-added")
			});
			
			
			
			return false;
		});
		
	}
	
	function addItem(item)
	{
		var row = " \
			<tr> \
				<td>" + item.id + "</td> \
				<td>" + ( item.name ? item.name : "" ) + "</td> \
				<td>" + ( item.con ? item.con : "" ) + "</td> \
				<td class=\"price\">&euro; " + ( item.price ? item.price : "0.00" ) + "</td> \
				<td><input type=\"submit\" name=\"remove[" + item.index + "]\" value=\"&nbsp;\" /></td> \
			</tr>";
		
		$("#hcart div fieldset#hcart-table table tbody").append(row);
		
		zebraStripe();
		
		setTotal(item.total);
		
		$("#hcart").addClass("updated");
	}
	
	function calculateTotal()
	{
		var total = 0.00;
		
		$("#hcart .price").each(function(){
			total += parseFloat($(this).text().match(/\d+\.\d{2}/));
		});
		
		$("#hcart #total").html("&euro; " + total.toFixed(2));
		
	}
	
	function setTotal(total)
	{
		$("#hcart #total").html("&euro; " + total);
	}
	
	function zebraStripe()
	{
		var size = $("#hcart table tbody tr").size();
		
		if (size > 1)
		{
			$("#hcart table tbody tr#no-items").hide();
			$("#hcart p span#no").text('(' + (size - 1) + ')');
			$("#hcart").addClass("updated");
			
		}
		else
		{
			$("#hcart table tbody tr#no-items").show();
			$("#hcart p span#no").text('');
			$("#hcart").removeClass("updated");
		};
		
		$("#hcart table tbody tr:even").removeClass("alt");
		$("#hcart table tbody tr:odd").addClass("alt");
	}
	
	function fillCart()
	{
		
		$.get("/hcart/hcart-ajax.php", { "get_html" : true, "random" : Math.random()*100 }, function(html){
			
			$("#hcart div fieldset#hcart-table").html(html);
			
			zebraStripe()
			
		});
		
	}
	
})(jQuery);

$(document).createCart();