function validateUserID() {
	var userid = document.getElementById("userid").value;
	var error = true;
	if((userid == null) || (userid == '')) {
		message("userid-error", "User name cannot be blank.  Please choose one before continuing.");
	}
	else {
		url = '/ajax-checkUserID.php?userid='+escape(userid);
		request.open("GET", url, true);
		request.onreadystatechange = tellMe;
		request.send(null);
	}
	return error;
}

function tellMe() {
	if (request.readyState == 4) {
		if (request.status == 200) {
			if(request.responseText == 'okay') {
				message("userid-error", "Good choice! Better grab it now before someone else chooses it!");
				return false;
			}
			else if(request.responseText == 'error') {
				message("userid-error", "Username already exists, please choose another.");
			}
			else {
				alert("There was a communication issue. Try again later.");
			}
		} 
		else {
			 if (request.status == 404)
				alert("Request URL does not exist");
			 else
				alert("Error: status code is " + request.status);
		}
	}
}

function validatePassword() {
		var pw1 = document.getElementById("pw1").value;
		var pw2 = document.getElementById("pw2").value;
		var error = true;
		if((pw1==null) || (pw1=='') || (pw2==null) || (pw2=='')) {
			message("pw1-error", "Your password cannot be blank");
			message("pw2-error", "Your password cannot be blank");			
		} // if pw1 is blank
		else if(pw1 != pw2) {
			message("pw1-error", "Your passwords are not the same, please re-type them");
			message("pw2-error", "Your passwords are not the same, please re-type them");
		} // else if pw1 != pw2
		else { // passwords match
			error = false;
			message("pw1-error", "Your keyed passwords match!");
			message("pw2-error", "Your keyed passwords match!");
		}
		
		return error;
}

function validateEmail() {
	var email = document.getElementById("email_address").value;
	var error = true;
	
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!reg1.test(email) && reg2.test(email)) { // if syntax is valid
		message("email_address-error", "Thank you!  Your information is safe with us.");
		error = false; 
  }
	else {
		message("email_address-error", "Please provide a legitimate email address");
	}

	return error;
}

function resetMessages() {
	message("userid-error", "");
	message("email_address-error", "");
	message("pw1-error", "");
	message("pw2-error", "");	
}

function submitForm() {
	var userid = true;
	var pw = validatePassword();
	var email = validateEmail();
	var string = null;
	
	if(document.getElementById("userid-error").hasChildNodes()) {
		string = document.getElementById("userid-error").firstChild.nodeValue;
	}
	if(string != null) {
		if(string.substring(0, 4) == 'Good') {
			userid = false;
		} // endif of substring
	}
	// false = good! false means there were no errors....
	if((userid==false) && (pw==false) && (email==false)) {
		document.crtForm.action="/crtAcct.php?action=authorize";
		document.crtForm.submit();
	}
	else {
		alert('There are errors.  Review the messages on the right, correct any errors and resubmit.');
	}
}