blank = /^\s+$/;
blankWithinWord =/\B\s+/;

function termsRead(){
  	document.contest.terms.value = "termsRead";
	alert("Terms read getting called");
}

function registerUser(){
	var username = document.contest.username.value;
	if (username == ''){
		alert("You forgot to enter a username");
		document.contest.username.focus()
		return false;
	}
	else if(username == username.match(blank)){
		alert("Blank space is not a valid username.");
		return false;
	}
	else if(username == username.match(blankWithinWord)){
		alert("Blank space is not a valid username.");
		return false;
	}
	else if(username.length <6){
		alert("Username can not have less than 6 characters");
		return false;
	}	
	var password = document.contest.password.value;
	if (password == ''){
		alert("You forgot to enter a password");
		document.contest.password.focus();
		return false;
	}
	else if(password == password.match(blank)){
		alert("Blank space is not a valid password.");
		document.contest.password.focus();
		return false;
	}
	else if(password == username){
		alert("Password can not be same as username.");
		document.contest.password.focus();
		return false;
	}
	else if(password.length < 6){
		alert("Password can not have less than 6 characters");
		return false;
	}
	
	var passwordRepeat = document.contest.passwordRepeat.value;
	if (password == ''){
		alert("You forgot to enter the password again");
		document.contest.passwordRepeat.focus();
		return false;
	}
	else if(passwordRepeat == passwordRepeat.match(blank)){
		alert("Blank space is not a valid password.");
		document.contest.passwordRepeat.focus();
		return false;
	}
	else if(passwordRepeat != password){
		alert("Passwords entered do not match.\nPlease re-enter passwords.");
		document.contest.password.focus();
		return false;
	}
	
	var email = document.contest.email.value;
	if (email == ''){
		alert("You forgot to enter \"Email\"");
		document.contest.email.focus();
		return false;
	}
	else if(email == email.match(blank)){
		alert("Blank space is not a valid password.");
		document.contest.password.focus();
		return false;
	}
	else{
		var emailValidated = validateEmail(email);
		if(!emailValidated)
			return false;
	}
	
	var firstname = document.contest.firstname.value;
	if (firstname == ''){
		alert("You forgot to enter your \"First Name\"");
		document.contest.firstname.focus()
		return false;
	}
	else if(firstname == firstname.match(blank)){
		alert("Blank space is not a valid \"First Name\".");
		return false;
	}
	
	var lastname = document.contest.lastname.value;
	if (lastname == ''){
		alert("You forgot to enter your \"Last Name\"");
		document.contest.lastname.focus()
		return false;
	}
	else if(lastname == lastname.match(blank)){
		alert("Blank space is not a valid \"Last Name\".");
		return false;
	}
	
	var hintanswer = document.contest.hintanswer.value;
	if (hintanswer == ''){
		alert("You forgot to enter \"Hint Answer\"");
		document.contest.hintanswer.focus()
		return false;
	}
	else if(hintanswer == hintanswer.match(blank)){
		alert("Blank space is not a valid \"Hint Answer\".");
		return false;
	}
	
	var address1 = document.contest.address1.value;
	if (address1 == ''){
		alert("You forgot to enter \"Address 1\"");
		document.contest.address1.focus();
		return false;
	}
	else if(address1 == address1.match(blank)){
		alert("Blank space is not a valid \"Address\".");
		return false;
	}
	
	var city = document.contest.city.value;
	if (city == ''){
		alert("You forgot to enter \"City\"");
		document.contest.city.focus()
		return false;
	}
	else if(city == city.match(blank)){
		alert("Blank space is not a valid \"City\".");
		return false;
	}
	
	var state = document.contest.state.value;
	if (state == ''){
		alert("You forgot to enter \"State\/Province\"");
		document.contest.state.focus()
		return false;
	}
	else if(state == state.match(blank)){
		alert("Blank space is not a valid \"State\/Province\".");
		return false;
	}
	
	var zip = document.contest.zip.value;
	if (zip == ''){
		alert("You forgot to enter \"ZIP\/Postal Code\"");
		document.contest.zip.focus()
		return false;
	}
	else if(zip == zip.match(blank)){
		alert("Blank space is not a valid \"ZIP\/Postal Code\".");
		return false;
	}
	
	var country = document.contest.country.value;
	if (country == ''){
		alert("You forgot to enter \"Country\"");
		document.contest.country.focus()
		return false;
	}
	else if(country == country.match(blank)){
		alert("Blank space is not a valid \"Country\".");
		return false;
	}
	
	var terms = document.contest.terms.checked;
	var termsRead = document.contest.terms.value;
	if (!terms){
		alert("You MUST AGREE to Terms and Conditions of Contest before you can register");
		document.contest.terms.focus()
		return false;
	}
	
	if(termsRead == "notRead"){
		alert("You MUST READ the Terms and Conditions of Contest before you can register");
		document.contest.terms.focus()
		return false;
	}
}
function openTerms(){
	document.contest.terms.value='termsRead';
	var termsWin = open("terms.php");
}

function processForgot(){
	if((document.forgot.email.value == "" 
		|| document.forgot.email.value.match(blank))
			&& (document.forgot.username.value == "" 
		||document.forgot.email.value.match(blank))){
		alert("You forgot to enter both username and enmail.\nAt least one value is required.");
		return false;
	}
	else{
		return true;
	}
}

function processHint(){
	var answer = document.hint.answer.value;
	if(answer == "" || answer.match(blank)){
		alert("You forgot to enter an answer for the hint.");
		return false;
	}
	else{
		return true;
	}
}
