$(document).ready(function() {
	
	//HELPERS
	function updateItem(item, data) {
		switch(item) {
			case 'payment':
				$("input[name=hiddenPayment]").val(data.paymentFee);
				$("strong#paymentTotal").text(data.paymentFeeFormated);
				$("strong#totalPayment").text(data.paymentFeeFormated);
			case 'shipping':
				$("input[name=hiddenShipping]").val(data.shippingFee);
				$("strong#shippingTotal").text(data.shippingFeeFormated);
				$("strong#totalShipping").text(data.shippingFeeFormated);
			break;
			case 'gv':
				$("strong#totalGvTotal").text(data.gvFormated);
			break;
			case 'total':
				$("strong#overallTotal").text(data.total);
			break;
		}
	}
	
	//UPDATE SHIPPING
	$("form#checkout input[name=shipping]").click(function() {
		$.get(
			"/ajaxCheckout.php",
			{
				action: "shipping",
				selectedMethod: $(this).val()
			},
		  	function(data) {
		    	if(data != '') {
					updateItem('shipping', data);
					updateItem('total', data);
					//updateAll();
				}
		  	},
			'json'
		);
	});
	
	//UPDATE PAYMENT
	$("form#checkout input[name=payment]").click(function() {
		$.get(
			"/ajaxCheckout.php",
			{
				action: "payment",
				selectedMethod: $(this).val()
			},
			function(data) {
				updateItem('payment', data);
				updateItem('total', data);
				//updateAll();
			},
			'json'
		);
	});
	
	//IPAYMENT CC
	if($("input[name=payment]:checked").val() == "ipayment") {
		$("div#ipaymentAdditional").find("input").each(function(){
			$(this).attr("class", "validate[required]");
			$(this).attr("id", $(this).attr("name"));
		});
		$("div#ipaymentAdditional").slideDown();
	} else {
		$("div#ipaymentAdditional").hide();
	}
	
	$("input[name=payment]").click(function() {
		if($(this).val() == "ipayment") {
			$("div#ipaymentAdditional").find("input").each(function(){
				$(this).attr("class", "validate[required]");
				$(this).attr("id", $(this).attr("name"));
			});
			$("div#ipaymentAdditional").slideDown();
		} else {
			$("div#ipaymentAdditional").find("input").each(function(){
				$(this).removeAttr("class");
				linkTofield = $(this).attr("id") + "formError";
				linkTofield = linkTofield.replace("[",""); linkTofield = linkTofield.replace("]","");

				closingPrompt = "."+linkTofield;

				$(closingPrompt).fadeTo("fast",0,function(){
					$(closingPrompt).remove();
				});
			});
			$("div#ipaymentAdditional").hide();
		}
	});
	
	//GUEST ACCOUNT
	if($("input#use_different_shipping_address").attr("checked"))
	{
		$("div#additionalShippingAddress").find("input").each(function(){
			$(this).attr("class", "validate[required]");
		});
		$("div#additionalShippingAddress").show();
	} else {
		$("div#additionalShippingAddress").find("input").each(function(){
			$(this).removeAttr("class");
			linkTofield = $(this).attr("id") + "formError";
			linkTofield = linkTofield.replace("[",""); linkTofield = linkTofield.replace("]","");

			closingPrompt = "."+linkTofield;

			$(closingPrompt).fadeTo("fast",0,function(){
				$(closingPrompt).remove();
			});
		});
		$("div#additionalShippingAddress").hide();
	}
	
	$("input#use_different_shipping_address").click(function(){
		if($(this).attr("checked"))
		{
			$("div#additionalShippingAddress").find("input").each(function(){
				$(this).attr("class", "validate[required]");
			});
			$("div#additionalShippingAddress").slideDown();
		} else {
			$("div#additionalShippingAddress").find("input").each(function(){
				$(this).removeAttr("class");
				linkTofield = $(this).attr("id") + "formError";
				linkTofield = linkTofield.replace("[",""); linkTofield = linkTofield.replace("]","");

				closingPrompt = "."+linkTofield;

				$(closingPrompt).fadeTo("fast",0,function(){
					$(closingPrompt).remove();
				});
			});
			$("div#additionalShippingAddress").slideUp();
		}
	});
	
	$("span#totalGv").hide();
	$("input#cot_gv").click(function(){
		if($(this).attr("checked")) {
			$.get(
				"/ajaxCheckout.php",
				{
					action: "gv",
					gv: 	1, 
				},
				function(data) {
					updateItem('gv', data);
					updateItem('total', data);
				},
				'json'
			);
			$("span#totalGv").show();
		} else {
			$.get(
				"/ajaxCheckout.php",
				{
					action: "gv",
					gv: 	0, 
				},
				function(data) {
					updateItem('gv', data);
					updateItem('total', data);
				},
				'json'
			);
			$("span#totalGv").hide();
		}
	});
	
	//VALIDATION
	$("form#checkout").validationEngine({
	});
	
	//SHIPPINGTIME
	$("div#productOptions select").change(function(){
		
	});
});

