// Form Verification function
function verifyForm() {
	var verified = true;
	var init_msg = 'The following fields are required or contain errors:\n';
	var err_fields = '';
	var regex;
	
	// initialize vars for required fields
	var fname = document.getElementById("firstname");
	var lname = document.getElementById("lastname");
	var address = document.getElementById("address");
	var city = document.getElementById("city");
	var state = document.getElementById("state");
	var zip = document.getElementById("zip");
	var homephone = document.getElementById("homephone");
	var highschoolname = document.getElementById("highschoolname");
	var height = document.getElementById("height");
	var weight = document.getElementById("weight");
	var position = document.getElementById("position");
	var preferredpos = document.getElementById("preferredpos");
	var uniformnumber = document.getElementById("uniformnumber");
	var hscoach = document.getElementById("hscoach");
	var club = document.getElementById("club");
	var clubwebsite = document.getElementById("clubwebsite");
	var clubcoach = document.getElementById("clubcoach");
	
	// initialize vars for validation fields, if not already created
	var email = document.getElementById("email");
	var cellphone = document.getElementById("cellphone");
	var ssn = document.getElementById("ssn");
	var birthdate = document.getElementById("birthdate");
	var motherworkphone = document.getElementById("motherworkphone");
	var fatherworkphone = document.getElementById("fatherworkphone");
	var hsphone = document.getElementById("hsphone");
	var counselorworkphone = document.getElementById("counselorworkphone");
	var clubwebsite = document.getElementById("clubwebsite");
	var clubcoachhomephone = document.getElementById("clubcoachhomephone");
	var clubcoachworkphone = document.getElementById("clubcoachworkphone");
	
	// do requirement checks on Personal Information
	err_fields = err_fields + '\nPersonal Info\n';
	if (fname.value == '') {
		err_fields = err_fields + '- First Name\n';
		verified = false;
	}
	if (lname.value == '') {
		err_fields = err_fields + '- Last Name\n';
		verified = false;
	}
	if (address.value == '') {
		err_fields = err_fields + '- Street Address\n';
		verified = false;
	}
	if (city.value == '') {
		err_fields = err_fields + '- City\n';
		verified = false;
	}
	if (state.value == '') {
		err_fields = err_fields + '- State\n';
		verified = false;
	}
	if (zip.value == '') {
		err_fields = err_fields + '- Zip\n';
		verified = false;
	}
	if (homephone.value == '') {
		err_fields = err_fields + '- Home Phone\n';
		verified = false;
	}
	// do validation checks on personal information
	if (email.value != '') {
		regex = /[\w_.]+@[\w_]+(\.[\w_]+)+/
		if (!regex.test(email.value)) {
			err_fields = err_fields + '- Please enter a properly formatted Email Address.\n';
			verified = false;
		}
	}
	if (homephone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(homephone.value)) {
			err_fields = err_fields + '- Please enter Home Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	if (cellphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(cellphone.value)) {
			err_fields = err_fields + '- Please enter Cell Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	if (ssn.value != '') {
		regex = /([0-9]{3})[-]([0-9]{2})[-]([0-9]{4})/;
		if (!regex.test(ssn.value)) {
			err_fields = err_fields + '- Please enter SSN in XXX-XX-XXXX format.\n';
			verified = false;
		}
	}
	if (birthdate.value != '') {
		regex = /([0-9]{1,2})[\/]([0-9]{1,2})[\/]((19|20)\d\d)/;
		if (!regex.test(birthdate.value)) {
			err_fields = err_fields + '- Please enter Birth Date in XX/XX/XXXX format.\n';
			verified = false;
		}
	}
	if (motherworkphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(motherworkphone.value)) {
			err_fields = err_fields + '- Please enter Mother\'s Work Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	if (fatherworkphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(fatherworkphone.value)) {
			err_fields = err_fields + '- Please enter Father\'s Work Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	
	// validate Academic Information
	err_fields = err_fields + '\nAcademic Info\n';
	if (highschoolname.value == '') {
		err_fields = err_fields + '- High School\n';
		verified = false;
	}
	if (hsphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(hsphone.value)) {
			err_fields = err_fields + '- Please enter High School Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	if (counselorworkphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(counselorworkphone.value)) {
			err_fields = err_fields + '- Please enter Counselor\'s Work Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	
	// validate Athletic Information
	err_fields = err_fields + '\nAthletic Info\n';
	if (height.value == '') {
		err_fields = err_fields + '- Height\n';
		verified = false;
	}
	if (weight.value == '') {
		err_fields = err_fields + '- Weight\n';
		verified = false;
	}
	if (position.value == '') {
		err_fields = err_fields + '- Position\n';
		verified = false;
	}
	if (preferredpos.value == '') {
		err_fields = err_fields + '- Preferred Position\n';
		verified = false;
	}
	if (uniformnumber.value == '') {
		err_fields = err_fields + '- Uniform Number\n';
		verified = false;
	}
	if (hscoach.value == '') {
		err_fields = err_fields + '- High School Coach\n';
		verified = false;
	}
	if (club.value == '') {
		err_fields = err_fields + '- Club\n';
		verified = false;
	}
	if (clubwebsite.value == '') {
		err_fields = err_fields + '- Club Website\n';
		verified = false;
	}
	if (clubcoach.value == '') {
		err_fields = err_fields + '- Club Coach\n';
		verified = false;
	}
	if (clubwebsite.value != 'http://') {
		regex = /(http|https):\/\/[^ ]/;
		if (!regex.test(clubwebsite.value)) {
			err_fields = err_fields + '- Please enter Club Website in (http://www.google.com) format.\n';
			verified = false;
		}
	}
	if (clubcoachhomephone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(clubcoachhomephone.value)) {
			err_fields = err_fields + '- Please enter Club Coach\'s Home Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	if (clubcoachworkphone.value != '') {
		regex = /\(*([0-9]{3})\)*[- ]([0-9]{3})[-]([0-9]{4})/;
		if (!regex.test(clubcoachworkphone.value)) {
			err_fields = err_fields + '- Please enter Club Coach\'s Work Phone in (XXX) XXX-XXXX format.\n';
			verified = false;
		}
	}
	
	// return errors, if any
	if (verified == false) {
		alert(init_msg + err_fields);
		fname.focus();
		return false;
	}
	return true;
}
