function ValidateContestForm() {
	EmptyFields = "";
		checkString = document.contest.username.value;
	if (checkString == "" ) {		
		EmptyFields = EmptyFields + "A username is required.\n";
	}	
	regex = /[^A-Za-z0-9_]/
	if (regex.test(checkString) == true)	{
		EmptyFields = EmptyFields + "The username may consist of letters and numbers only.\n";
	}

	if (eval(document.contest.password)) {
		checkString = document.contest.password.value;
		if (checkString == "" ) {		
			EmptyFields = EmptyFields + "A password is required.\n";
		}	
		regex = /[^A-Za-z0-9_~!@#$%^&*+=|?]/
		if (regex.test(checkString) == true)	{
			EmptyFields = EmptyFields + "The password may consist of letters and numbers only.\n";
		}
	}

	checkString = document.contest.Fname.value;
	if (checkString == "" ) {		
		EmptyFields = EmptyFields + "A first name is required.\n";
	}	
	regex = /[^A-Za-z\.\-_ ]/
	if (regex.test(checkString) == true)	{
		EmptyFields = EmptyFields + "First Name may consist of letters, - and spaces only.\n";
	}
	
	checkString = document.contest.Lname.value;
	if (checkString == "" ) {		
		EmptyFields = EmptyFields + "A last name is required.\n";
	}	
	regex = /[^A-Za-z\.\-\'_ ]/
	if (regex.test(checkString) == true)	{
		EmptyFields = EmptyFields + "Last Name may consist of letters, \',- and spaces only.\n";
	}
	
	checkString = document.contest.email.value;
	if (checkString == "" ) {		
		EmptyFields = EmptyFields + "An email address is required.\n";
	} else if ((checkString.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) == false) {
		EmptyFields = EmptyFields + "The email address doesn't appear to be valid.\n";
	}
	
	checkString = document.contest.phone.value;
	if (checkString == "" ) {		
		EmptyFields = EmptyFields + "Please enter your telephone number.\n";
	}
	regex = /^[0-9]{10}/
	if (regex.test(checkString) == false)	{
		EmptyFields = EmptyFields + "Your telephone number must only consist of ten digits.\n";
	}
	checkString = document.contest.country.value;
	if (checkString == "SELECT" ) {		
		EmptyFields = EmptyFields + "Please select a country.\n";
	}
	checkString = document.contest.province.value;
	if (checkString == "SELECT" ) {		
		EmptyFields = EmptyFields + "Please select a province or state.\n";
	}
// SMS Checking
	if ( document.contest.c_optinsms.checked ) {
		cellNumber = document.contest.cell.value;
		cellCarrier = document.contest.carrier.value;
		if ( cellCarrier == "SELECT"){
			EmptyFields = EmptyFields + "Please select cell phone carrier.\n";
		}
		if ( cellNumber.length != 10){
			EmptyFields = EmptyFields + "Please enter a 10 digit cell phone number.\n";
		}
		regex = /^\d{10}$/
		if ( regex.test(cellNumber) == false){
			EmptyFields = EmptyFields + "Cell phone number must contain 10 digits.\n";
		}
		
	}
// End SMS Checking
	 if (EmptyFields != "") {
		alert(EmptyFields);
		return false;
	} else {
		return true;
	}
}