function Validate()
{
	strErrorMessage = "";
			
	// *** G E N E R A L   F O R M   V A L U E S ***
	if (document.reg.strFirstName.value.length == 0)
		{
		strErrorMessage += "You must enter your first name.\n";
		}
	if (document.reg.strLastName.value.length == 0)
		{
		strErrorMessage += "You must enter your last name.\n";
		}
	if (document.reg.strEmailAddress.value.length < 5)
		{
		strErrorMessage += "You must enter your email address.\n";
		}
		
		var strEmail=document.reg.strEmailAddress.value;
		var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check=/@[\w\-]+\./;
		var checkend=/\.[a-zA-Z]{2,4}$/;

		if(((strEmail.search(exclude) != -1)||(strEmail.search(check)) == -1)||(strEmail.search(checkend) == -1))
		{
		strErrorMessage += "Please Enter A valid Email address.\n";
		}		
		
	if (document.reg.strPassword.value.length == 0)
		{
		strErrorMessage += "You must enter a password.\n";
		}
	if (document.reg.strPassword.value.length < 5)
		{
		strErrorMessage += "Passwords must be at least 5 characters long.\n";
		}		
		
	if (document.reg.dHouseNumber.value.length == 0)
		{
		strErrorMessage += "You must enter an address.\n";
		}
	if (document.reg.dStreetName.value.length == 0)
		{
		strErrorMessage += "You must enter an address.\n";
		}

	if (document.reg.dCity.value.length == 0)
		{
		strErrorMessage += "You must enter your city.\n";
		}
	if (document.reg.dZip.value.length < 5)
		{
		strErrorMessage += "You must enter your zip code.\n";
		}

	
	if (document.reg.strAreaCode.value.length < 3)
		{
		strErrorMessage += "You must enter a valid area code.\n";
		}	
	if (document.reg.strPhoneNumber.value.length < 7)
		{
		strErrorMessage += "You must enter a valid phone number.\n";
		}

	// SHOULD WE SUBMIT
	if (strErrorMessage==''|| strErrorMessage==null)
		{
		//there was no error
		document.reg.submit();
		return (true);
		}
	else
		{
		//display the error and do not allow them to submit
		alert (strErrorMessage);
		return (false);
		}					
}