$(document).ready(function() {
	jQuery.fn.fadeToggle = function(speed, easing, callback) { return this.animate( { opacity: 'toggle' }, speed, easing, callback); }
	
	$("#clearCartLink").live("click", function() { clearCart(); });
	$(".menuSubItem").hide();
	$(".supra").each(function() {
		var thisClass = $(this).attr("id");
		if ($("." + thisClass).length > 0) { $(this).removeAttr("href"); }
	});

	refreshCart("preview", "#cart");
	
	$("#searchForm_submit").live("click", function() {
		var pre = $("#searchForm_keywords").val();
		var res = pre.replace(/[^0-9A-Za-z]/g, " ");
		res = trim(res);
		res = res.replace(/[^0-9A-Za-z]/g, "+");
		document.location.href = "shop/search/" + $("#searchForm_type").val() + "-" + res;
	});

	$(".addlink").live("click", function() {
		var addid = $(this).children("span").html();
		addItem(addid);
	});
	
	
	
	$(".supra").live("click", function() {
		var thisClass = $(this).attr("id");
		$("." + thisClass).toggle("slide");
	});

	$("#searchForm_keywords").live("click", function() {
		if ($("#searchForm_keywords").val() == "Your keywords here...") { $("#searchForm_keywords").val(""); }
	});

	$("#searchForm_keywords").blur( function() {
		if ($("#searchForm_keywords").val() == "") { $("#searchForm_keywords").val("Your keywords here..."); }
	});
	
	$("h1").live("mouseover", function() { $(this).effect("bounce", { times: 2, direction: "left", distance: 25 }); });
	
	$(".cart_table_subtotal").live("click", function() {
		$(this).html("<input type=\"text\" class=\"change_amount\" value=\"" + $(this).html() + "\" /><input type=\"button\" class=\"closeEdit\" value=\"Ok\" />").removeClass("cart_table_subtotal");
	});
	
	$(".closeEdit").live("click", function() {
		var next = $(this).parent().next();
		var newthis = $(this).parent();
		var prev = $(this).parent().prev();
		var string = prev.html();
		var val = parseFloat(string.replace(/[^\d+(.|,)\d+]/g, ""));
		$(this).parent().html(parseInt($(this).prev().val())).addClass("cart_table_subtotal");
		next.html(parseFloat(val * parseInt(newthis.html()))).formatCurrency({ "symbol" : "&euro;" });
		updateCheckoutTotal(newthis.parent().attr("id"), parseInt(newthis.html()));
		if (parseInt(newthis.html()) == 0) {
			newthis.parent().fadeOut(1000);
			var tmp = 0;
			$(".cart_table_subtotal").each(function() {
				tmp += parseInt($(this).html());
			});
			if (tmp == 0) { refreshCart("checkout", "#content"); }
		}
		refreshCart("preview", "#cart");
	});
	
	$("#finalSubmit").live("click", function() {
		$("#content").fadeOut(500);
		var str = $("#finalCart").serialize();
		$.ajax({
				type: "GET",
				url: "checkout.php",
				data: str,
				success: function(data) {
					$("#content").html(data);
					$("#content").fadeIn(500);
					refreshCart("preview", "#cart");
				}
		});
		return false; 
	});
	
	$(".required").live("change", function() {
		var check = checkContact();
		if (check) { $("#finalSubmit").fadeTo(500, 1).attr("disabled", false); }
		else { $("#finalSubmit").fadeTo(500, 0.3).attr("disabled", true); }
	}); 
	
	$("button[name='sub']").live("click", function() {
		var mailPars = "p=mailinglist&selection=sub&email=" + $("#new_mail").val();
		$.ajax({
			type: "GET",
			url: "http://www.assaultrecords.com/mailinglist.php",
			data: mailPars,
			success: function(cbd) {}
		});
		$(this).parent().html("<span>Thank you!</span>"); 
	});
	
	$("button[name='unsub']").live("click", function() {
		var mailPars = "p=mailinglist&selection=unsub&email=" + $("#new_mail").val();
		$.ajax({
			type: "GET",
			url: "http://www.assaultrecords.com/mailinglist.php",
			data: mailPars,
			success: function(cbd) {}
		});
		$(this).parent().html("<span>Thank you!</span>"); 
	});
	
	$("div#content").fadeIn(250);
	
	var getURL = document.location.href;
	var urlSplit = getURL.split("/");
	var parMenu = parentMenu(urlSplit[urlSplit.length - 1]);
	$("." + parMenu).show();
	
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function parentMenu(cur) {
		var str = $("#" + cur).attr("class");
		var classes = str.split(" ");
		return classes[classes.length - 1];
	}
	
	function updateCheckoutTotal(arg1, arg2) {
		var fin = 0;
		var tmp;
		
		$("#content").fadeTo(500, 0.5);

		$(".subtotal_checkout").each(function() {
			tmp = $(this).html();
			fin += parseFloat(tmp.replace(/[^\d+(.)\d+]/g, ""));
		});
		$.ajax({
			   type: "GET",
			   url: "editcart.php",
			   data: "itm=" + arg1 + "&val=" + arg2,
			   success: function() { $("#content").fadeTo(500, 1); }
	   });
		$("#cartTotal_checkout").html(fin).formatCurrency({ "symbol" : "&euro;" });
	}
	
	function refreshCart(cmd, dest) {
		$.ajax({
			url: "cart.php?cmd=" + cmd,
			type: "GET",
			success: function(data) { $(dest).html(data); }
		}); 
	}

	function addItem(itemID) {
		$.ajax({
			url: "action.php?cmd=addItem&val=" + itemID,
			type: "GET",
			success: function(data) {
				jQuery.noticeAdd({
					text: 'Item added successfully!',
					stay: false
				});
				refreshCart("preview", "#cart");
			}
		}); 
	}

	function clearCart(cmd) {
		$.ajax({
			url: "action.php?cmd=clearCart",
			type: "GET",
			success: function() { refreshCart("preview", "#cart"); }
		}); 
	}
	
	function checkContact() {
		var pass = true;
		$(".required").each(function() { if ($(this).val() == "") { pass = false; } });
		return pass;
	}
	
	function trim(str) {
		return str.replace(/^\s+/, "").replace(/\s+$/, "");
	}
});

