
jQuery(document).ready(function() {
	displayCartInit();

	jQuery('input.addtocart_button').click(function() {
		var form = jQuery(this).parents("form:first");
		jQuery(this).attr('disabled', 'disabled');
		jQuery(this).css('opacity', '0.5');
		jQuery(this).val('Adding to cart');
		/* Generate Data to be send */
		jQuery.post(form.attr('action'), form.serialize(), function() {
    		showSuccess(form);
		});	
		return false;
	});

	function showSuccess(form) {
		var displayCart = jQuery(".displayCart");
		var noInCart = jQuery("a.minicart span");
		var quantity = form.find("input[name$='quantity[]']").val();


		displayCart.load(load_cart_url, function() {
			// Update number of items in card in navigation
			noInCart.html(parseInt(noInCart.html()) + parseInt(quantity));
			displayCart.fadeIn('slow');
			jQuery('.addtocart_button').attr('disabled', false);
			jQuery('.addtocart_button').css('opacity', 1);
			jQuery('.addtocart_button').val('Add to cart');
			setTimeout(function() { displayCart.fadeOut('slow') }, 4000);
		});

	}

	function displayCartInit() {

		jQuery("body").append("<div class='displayCart' style='"+ jQuery(".displayCartFake").attr("style") +"'>" + jQuery(".displayCartFake").html() + "</div>");
		var displayCart = jQuery(".displayCart");

		var noBox = jQuery("a.minicart");

		var x = noBox.offset().left + noBox.width();
		x = jQuery(window).width() - x - 12;
		var y = noBox.offset().top + noBox.height() + 12;

		displayCart.css('position', 'absolute');
		displayCart.css('top', y);
		displayCart.css('right', x);
	}

	jQuery("input[name$='quantity[]']").change(function() {
		updateQuantity(jQuery(this).val());
	});

	function updateQuantity(quantity) {
		var displayCart = jQuery(".displayCart");
		var price = displayCart.find(".price").html();

		price = parseFloat(price.replace("$", ""));
		var total = price * parseFloat(quantity);

		displayCart.find(".quantity").html(quantity);
		displayCart.find(".total").html("$" + total + ".00");
	}
});
