<!-- Called by submitting form...Displays appropriate error msg if invalid form info-->
var errorMsg = "";
function checkFields(){
	var noError = false;	

	if (!document.getElementById) 
		return true;  // not available on this browser - leave validation to the server

	for (var sch = 0; sch < document.survey.length; sch++) {
		if (document.survey.elements[sch].name != undefined) changeStyle(document.survey.elements[sch].name, '');
	}

	if (onlyCharacters(document.survey.last, "Last Name") && onlyCharacters(document.survey.first, "First Name") &&
		onlyUFIDNumbers(document.survey.ufid1, document.survey.ufid2, "UFID") && dropDownValue(document.survey.years, "Years at UF") &&
		dropDownValue(document.survey.semesters, "Semesters Until Graduation") && dropDownValue(document.survey.committee1name, "1st Choice Committee Name"))
		noError = true;
	else
		noError = false;
	
	if (noError) {
		return true;
	}
	else{
		alert("There was an error with the following field:\n\n" + errorMsg + "\nPlease fix the errors and re-submit.");
		errorMsg = "";
		return false;
	}
}

function changeStyle(id, newClass){
// Changes the class of an element given the id	name and the new class name
	identity=document.getElementById(id);
	identity.className=newClass;
}

<!-- Called by checkbae() to check for valid email -->
function checkemail(emailFieldName){
    var str=emailFieldName.value;
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(str))
       return true;
    else
       return false;
}

<!-- Called by checkbae() to check for valid email -->
function checkg8remail(emailFieldName, fieldRead){
    var str=emailFieldName.value.toLowerCase();
    var filter=/^([\w-]+(?:\.[\w-]+)*)@ufl\.edu/;
    if (filter.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(emailFieldName.name, 'fieldError');
	 emailFieldName.focus();
       return false;
    }
}
function checkbae(emailFFieldName){
    if (document.layers||document.getElementById||document.all)
       return checkg8remail(emailFFieldName);
    else
       return true;
}

<!-- Checks for valid First Name -->
function onlyCharacters(firstFieldName, fieldRead){
    var str = firstFieldName.value;
    var searchForCharacters = /\D{2,}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(firstFieldName.name, 'fieldError');
	 firstFieldName.focus();
       return false;
    }
}

<!-- Checks for valid Middle Initial -->
function onlyMICharacters(middleFieldName, fieldRead){
    var str = middleFieldName.value;
    var searchForCharacters = /\D{1}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(middleFieldName.name, 'fieldError');
	 middleFieldName.focus();
       return false;
    }
}

<!-- Checks for valid Street Address -->
function onlyStreetAddress(streetFieldName, fieldRead){
    var str = streetFieldName.value;
    var searchForCharacters = /\w{2,}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(streetFieldName.name, 'fieldError');
	 streetFieldName.focus();
       return false;
    }
}

<!-- Checks for valid PO Box -->
function onlyPOBoxNumbers(boxFieldName, fieldRead){
    var str = boxFieldName.value;
    var searchForCharacters = /\d{2,}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(boxFieldName.name, 'fieldError');
	 boxFieldName.focus();
       return false;
    }
}

<!-- Checks for valid State -->
function onlyStateCharacters(stateFieldName, fieldRead){
    var str = stateFieldName.value;
    var searchForCharacters = /\D{2}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(stateFieldName.name, 'fieldError');
	 stateFieldName.focus();
       return false;
    }
}

<!-- Checks for valid Zip -->
function onlyZipNumbers(zipFieldName, fieldRead){
    var str = zipFieldName.value;
    var searchForCharacters = /\d{5}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(zipFieldName.name, 'fieldError');
	 zipFieldName.focus();
       return false;
    }
}

<!-- Checks for valid UFID -->
function onlyUFIDNumbers(ufidFieldName1, ufidFieldName2, fieldRead){
    var str = ufidFieldName1.value;
    var str2 = ufidFieldName2.value;
    var searchForNumbers = /\d{4}/;
    if (searchForNumbers.test(str) && searchForNumbers.test(str2))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(ufidFieldName1.name, 'fieldError');
	 changeStyle(ufidFieldName2.name, 'fieldError');
	 ufidFieldName1.focus();
       return false;
    }
}

<!-- Checks for valid Letter of Recommendation -->
function onlyLetter(letterFieldName, fieldRead){
    var str = letterFieldName.value;
    var searchForCharacters = /\D{2,}/;
    if (searchForCharacters.test(str))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(letterFieldName.name, 'fieldError');
	 letterFieldName.focus();
       return false;
    }
}

<!-- Checks for valid Drop Down Value -->
function dropDownValue(fieldName, fieldRead){
    var fieldStr = fieldName.value;
    if (fieldStr != "")
    return true;
    else{
	 errorMsg += fieldRead + "\n";
	 fieldName.focus();
       return false;
    }
}

<!-- Checks for valid 3 or 4 digit -->
function onlyPhoneNumbers(phoneFieldName1, phoneFieldName2, phoneFieldName3, fieldRead){
    var str = phoneFieldName1.value;
    var str2 = phoneFieldName2.value;
    var str3 = phoneFieldName3.value;
    var searchForNumbers = /\d{3}/;
    var searchForNumbers2 = /\d{4}/;
    if (searchForNumbers.test(str) && searchForNumbers.test(str2) && searchForNumbers2.test(str3))
       return true;
    else{
	 errorMsg += fieldRead + "\n";
	 changeStyle(phoneFieldName1.name, 'fieldError');
	 changeStyle(phoneFieldName2.name, 'fieldError');
	 changeStyle(phoneFieldName3.name, 'fieldError');
	 phoneFieldName1.focus();
       return false;
    }
}