// JavaScript Document

	var cart = {
		add : function( id )
		{
			$.ajax({
				url:"action/cart_update.php",
				data:{ id:id, mode:"add" },
				type:"post",
				context:$(this).parent(),
				dataType:"json",
				success:function(data)
				{
					if ( data )
					{
						if ( data.html ) $(this).html( urldecode(data.html) );
						if ( data.message ) alert ( data.message );
					}
				}
			});
		},
		remove : function ( id )
		{
			$.ajax({
				url:"action/cart_update.php",
				data:{ id:id, mode:"remove" },
				type:"post",
				context:$(this).parent(),
				dataType:"json",
				success:function(data)
				{
					if ( data )
					{
						if ( data.html ) $(this).html( urldecode(data.html) );
						if ( data.message ) alert ( data.message );
					}
				}
			});
		},
		
		removeItem : function ( id )
		{
			if ( confirm("Are you sure to remove this item?") )
			{
				$.ajax({
					url:"action/cart_update.php",
					data:{ id:id, mode:"remove" },
					type:"post",
					context:$(this).parents(".item"),
					success:function()
					{
						location.reload(true);
					}
				});
			}
		},
		
		update : function ( id, quantity )
		{
			$.ajax({
				url:"action/cart_update.php",
				data:{ id:id, mode:"update", quantity:quantity },
				type:"post",
				success:function(data)
				{
					location.reload(true);
				}
			});
		}
	}
	
	
	var checkout = 
	{
		update : function()
		{
			$("#country").find("option").each(function()
			{
				if ( $(this).attr("selected") )
				{
					if ( $(this).attr("value") != "" )
					{
						var price = parseFloat($(this).attr("price"));
						var per_kg = parseFloat($(this).attr("per_kg")) * 1000;
						
						
						var charge = 0;
						$("#weight_list").find("input").each(function()
						{
							var p = parseFloat($(this).val()) / per_kg;
							charge += parseFloat( ( price * p ).toFixed(2) );
						});
						
						var total_amount = parseFloat($("#total_amount").val());
						
						$("#display_delivery_charge").html( charge.toFixed(2) );
						$("#display_total_amount").html( (total_amount + charge).toFixed(2) );
						$("#include_charges").show();
						$("#not_include_charges").hide();
					} else {
						var total_amount = parseFloat($("#total_amount").val());
						$("#display_delivery_charge").html("-");
						$("#display_total_amount").html( total_amount.toFixed(2) );
						$("#include_charges").hide();
						$("#not_include_charges").show();
					}
					return;
				}
			});
		},
		
		submit: function()
		{
			var field = "";
			if ( $("#name").val() == "" ) field = "name";
			else if ( $("#street").val() == "" ) field = "street";
			else if ( $("#district").val() == "" ) field = "district";
			else if ( !valid.email($("#email").val()) ) field = "email";
			else if ( $("#phone").val() == "" ) field = "phone";
			
			if ( field != "" )
			{
				var message = "";
				switch ( field )
				{
					case "name" 		: message = "Please enter your name."; break;
					case "street" 		: message = "Please enter your street no and name."; break;
					case "district" 	: message = "Please enter your suburb or city or district."; break; 
					case "email"		: message = "Please enter a valid email address."; break;
					case "phone"		: message = "Please enter your phone number."; break;
				}
				$("#error").html ( message );
				$("#"+field).focus();
			} else {
				$("#post_form").submit();
			}
			
		}
	}
	
	
	/* General Functions */
		function urldecode ( str ){ if ( typeof(str) == "string" ) return decodeURIComponent((str).replace(/\+/g, '%20')); else return ''; }
	
	

	/**
	* Valid Field Check
	*/
		var valid =
		{
			email : function ( email )
			{
				return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email);
			}
		}	
