(function($){
	$(document).ready(function(){
		
		// campaign monitor with GA tracking
		function checkEmail(email){	
			var pattern = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			var emailVal = $("#" + email).val();
			return pattern.test(emailVal);
		}
		
		$(function(){
			$("#subForm input:submit").click(function() {	

				// First, disable the form from submitting
				$('form#subForm').submit(function() { return false; });

				// Grab form action
				var formAction = $("form#subForm").attr("action");

				// Hacking together id for email field
				var id = "fldltu";
				var emailId = id + "-" + id;

				// Validate email address with regex
				if (!checkEmail(emailId)) 
				{
					alert("Please enter a valid email address");
					return;
				}

				// Serialize form values to be submitted with POST
				var str = $("form#subForm").serialize();

				// Add form action to end of serialized data
				// CDATA is used to avoid validation errors
				//<![CDATA[
				var serialized = str + "&action=" + formAction;
				// ]]>

				// Submit the form via ajax
				$.ajax({
					url: "/wp-content/themes/canvas/includes/proxy.php",
					type: "POST",
					data: serialized,
					success: function(html, data){
						// Server-side validation
						if (data.search(/invalid/i) != -1) {
							alert('The email address you supplied is invalid and needs to be fixed before you can subscribe to this list.');
						}
						else
						{
							$("#theForm").hide(); // If successfully submitted hides the form
							$("#confirmation").slideDown("slow");  // Shows "Thanks for subscribing" div
							$("#confirmation").tabIndex = -1;
							$("#confirmation").focus(); // For screen reader accessibility
							// Fire off Google Analytics fake pageview
							var pageTracker = _gat._getTracker("UA-15523416-2");
							pageTracker._trackPageview("/newsletter_signup");
						}
					}
				});
			});
		});
	});
})(jQuery);
