	function validateform(addform){
		if (trim(addform.firstname.value) == ""){
			alert ("Please enter your first name.");
			addform.firstname.focus();
			return false;
		}
		if (trim(addform.lastname.value) == ""){
			alert ("Please enter your last name.");
			addform.lastname.focus();
			return false;
		}
		if (trim(addform.phone.value) == ""){
			alert ("Please enter your phone number (xxx-xxx-xxxx).");
			addform.phone.focus();
			return false;
		}
		if (!validEmail(trim(addform.email.value))){
			alert ("Please enter a proper email address");
			addform.email.focus();
			return false;
		}
		if (trim(addform.address.value) == ""){
			alert ("Please enter your address.");
			addform.address.focus();
			return false;
		}
		if (trim(addform.city.value) == ""){
			alert ("Please enter your city.");
			addform.city.focus();
			return false;
		}
		if (trim(addform.province.value) == ""){
			alert ("Please enter a state/province.");
			addform.province.focus();
			return false;
		}
		if (addform.country.value == "nogo"){
			alert ("Please select your country.");
			addform.country.focus();
			return false;
		}
		if (trim(addform.postal.value) == ""){
			alert ("Please enter your postal/zip code.");
			addform.postal.focus();
			return false;
		}
		var illegalChars = /\W/;
  		// allow only letters, numbers, and underscores
		if (illegalChars.test(trim(addform.username.value))) {
			alert ("Username may only contain letters, numbers, and underscores.");
			addform.username.focus();
			return false;
		} 
		if (illegalChars.test(trim(addform.password.value))) {
			alert ("Password may only contain letters, numbers, and underscores.");
			addform.password.focus();
			return false;
		}
		if (trim(addform.username.value) == ""){
			alert ("Username cannot be empty.");
			addform.username.focus();
			return false;
		}
		if (trim(addform.password.value) == ""){
			alert ("Password cannot be empty.");
			addform.password.focus();
			return false;
		}
		if (trim(addform.username.value.length) < 5){
			alert ("Username must be longer than 5 characters in length.");
			addform.username.focus();
			return false;
		}
		if (trim(addform.password.value.length) < 5){
			alert ("Password must be longer than 5 characters in length.");
			addform.password.focus();
			return false;
		}
		if (!addform.legal.checked){
			alert ("You must agree to our terms of use.");
			addform.legal.focus();
			return false;
		}
		
		return true;
	}
	function trim(inputString) {
	   // Removes leading and trailing spaces from the passed string. Also removes
	   // consecutive spaces and replaces it with one space. If something besides
	   // a string is passed in (null, custom object, etc.) then return the input.
	   if (typeof inputString != "string") { return inputString; }
	   var retValue = inputString;
	   var ch = retValue.substring(0, 1);
	   while (ch == " ") { // Check for spaces at the beginning of the string
	      retValue = retValue.substring(1, retValue.length);
	      ch = retValue.substring(0, 1);
	   }
	   ch = retValue.substring(retValue.length-1, retValue.length);
	   while (ch == " ") { // Check for spaces at the end of the string
	      retValue = retValue.substring(0, retValue.length-1);
	      ch = retValue.substring(retValue.length-1, retValue.length);
	   }
	   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
	      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
	   }
	   return retValue; // Return the trimmed string back to the user
	} // Ends the "trim" function

	//Function to validate email addresses
	function validEmail(email){
		invalidChars = " /:,;";
		
		if (email == ""){
			return false;
		}
		
		for (i=0; i<invalidChars.length; i++){
			badChar = invalidChars.charAt(i);
			if (email.indexOf(badChar,0) > -1){
				return false;
			}
		}
		atPos = email.indexOf("@",1);
		if (atPos == -1){
			return false;
		}
		if (email.indexOf("@",atPos+1) > -1){
			return false;
		}
		periodPos = email.indexOf(".",atPos);
		if (periodPos+3 > email.length){
			return false;
		}
		return true;
	}

