$(document).ready(function(){
	$("#signup_reason").keypress(function(e){
		var count = 500 - $("#signup_reason").attr("value").length;
		$("#characters_left").text(count + " characters remaining.");
	});
	
	$("#prefName").keyup(function(e){
		var text = $("#prefName").attr("value");
		text = text.toLowerCase();
		text = text.replace(/[~`!@#$%^&*()_=+{}\[\]|\\/?.,<>]/ig, "");
		text = text.replace(/[ ]/ig, "-");
		
		$("#prefName").attr("value", text);
	});
	
	$("#prefName").typeWatch( { highlight:true, wait:300, callback:finished } );
	
	function finished(txt){
		if (txt.length > 3)
		{
			jQuery.get("ajax_listcheck.php", {listname: $("#prefName").attr("value")}, function(data){
				$("#warning").text(data);
				
				if (data == "Valid list name!"){
					$("#prefName").css("backgroundColor", "#abe492");
					$("#warning").css("color", "#abe492");
					$("input[name='valid_list']").attr("value", "true");
				}
				else
				{
					$("#prefName").css("backgroundColor", "#d45b5b");
					$("#warning").css("color", "#d45b5b");
					$("input[name='valid_list']").attr("value", "false");
				}
			});
		}
		else
		{
			$("#prefName").css("backgroundColor", "#d45b5b");
			$("#warning").css("color", "#d45b5b");
			$("#warning").text("List name too short.");
			$("input[name='valid_list']").attr("value", "false");
		}
	}
});

function processSubmit()
	{
		var email = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
		var phone = /^[0-9]{3}([-. ])?[0-9]{3}\1[0-9]{4}/;
		
		if($("input[name='agree_to_tos']").attr("checked") != true)
		{
			alert("You must agree to the Terms of Service to proceed."); //return false;	
		}
		else if($("input[name='valid_list']").attr("value") != "true")
		{
			alert("You must choose a valid list name."); //return false;	
		}
		else if($("input[name='domain']").attr("value") == "")
		{
			alert("The 'domain' field is required."); //return false;
		}
		else if($("input[name='prefName']").attr("value") == "")
		{
			alert("A preferred list name is required."); //return false;
		}
		else if($("input[name='prefName']").attr("value").length < 3)
		{
			alert("Your list name is too short."); //return false;	
		}
		else if($("input[name='adminName']").attr("value") == "")
		{
			alert("Your full name is required."); //return false;
		}
		else if($("input[name='city']").attr("value") == "")
		{
			alert("The 'city' field is required."); //return false;
		}
		else if($("input[name='state']").attr("value") == "")
		{
			alert("The 'state' field is required."); //return false;
		}
		else if($("input[name='zip']").attr("value") == "")
		{
			alert("The 'zipcode' field is required."); //return false;
		}
		else if($("input[name='country']").attr("value") == "")
		{
			alert("The 'country' field is required."); //return false;
		}
		else if($("input[name='phone']").attr("value") == "")
		{
			alert("Your phone number is required."); //return false;
		}
		else if($("input[name='city']").attr("value") == "")
		{
			alert("The 'city' field is required."); //return false;
		}
		else if($("input[name='adminEmail']").attr("value") == "")
		{
			alert("The 'email' field is required."); //return false;
		}
		else if($("input[name='address']").attr("value") == "")
		{
			alert("The 'address' field is required."); //return false;
		}
		else if(email.test($("input[name='adminEmail']").attr("value")) == false)
		{
			alert("Please enter a valid email address."); //return false;
		}
		else if(phone.test($("input[name='phone']").attr("value")) == false)
		{
			alert("Please enter a valid phone number."); //return false;	
		}
		else
		{
			
		
					document.step1.submit();
			
			
		}
	}