	
	/***
	
	FORM VALIDATOR
	<form action="" onsubmit="return validate()">
	
	***/
	function validate()
	{ 	
		var error = ""; 
	 
		if ( document.getElementById("first_name").value == "" ) {
			error += "Enter your first name.\n";
			document.getElementById("first_name").style.border = "2px solid #E4403F";
		}
		else
			document.getElementById("first_name").style.border = "";
		
		if ( document.getElementById("last_name").value == "" ) {
			error += "Enter your last name.\n";
			document.getElementById("last_name").style.border = "2px solid #E4403F";
		}
		else
			document.getElementById("last_name").style.border = "";
		
		if ( document.getElementById("email").value == "" ) {
		   error += "You didn't enter an email address.\n";
		   document.getElementById("email").style.border = "2px solid #E4403F";
		}
		else
		{
			var emailFilter=/^.+@.+\..{2,3}$/;
			if (!(emailFilter.test(document.getElementById("email").value))) { 
			   error += "Please enter a valid email address.\n";
			   document.getElementById("email").style.border = "2px solid #E4403F";
			}
			else {
				//test email for illegal characters
				var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
				if (document.getElementById("email").value.match(illegalChars)) {
					error += "The email address contains illegal characters.\n";
					document.getElementById("email").style.border = "2px solid #E4403F";
				}
				else
					document.getElementById("email").style.border = "";
			}
		}
		
		if ( document.getElementById("phone").value == "") {
		   error += "You didn't enter a phone number.\n";
		   document.getElementById("phone").style.border = "2px solid #E4403F";
		}
		else
		{
			var stripped = document.getElementById("phone").value.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
			if (isNaN(parseInt(stripped))) {
				error += "The phone number contains illegal characters.\n";
				document.getElementById("phone").style.border = "2px solid #E4403F";
		  
			}
			else if (!(stripped.length == 10)) {
				error += "The phone number is the wrong length. Make sure you included an area code.\n";
				document.getElementById("phone").style.border = "2px solid #E4403F";
			} 
			else
				document.getElementById("phone").style.border = "";
		}		

		if ( document.getElementById("country").value == "" ) {
			error += "Select your country.\n";
			document.getElementById("country").style.border = "2px solid #E4403F";
		}
		else
			document.getElementById("country").style.border = "";
		
		if ( document.getElementById("state").value == "" ) {
			error += "Select your state.\n";
			document.getElementById("state").style.border = "2px solid #E4403F";
		}
		else
			document.getElementById("state").style.border = "";
		
		if ( document.getElementById("company").value == "" ) {
			error += "Enter your company's name.\n";
			document.getElementById("company").style.border = "2px solid #E4403F";
		}
		else
			document.getElementById("company").style.border = "";		
		
		
	    if ( error != "" ) {
			alert(error);
			return false;
		} else {
			return true;
		}
	 
	}
	 

