function validate()

{

	var valid = true;

	var errorString = "The following error(s) have occured:\n\n";

	var reg = /\S+/;

	var regEmail = /^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/;



	if (!reg.exec(document.fm.fname.value))

	{

		valid = false;

		errorString += "No first name entered.\n";

	}

	

	if (!reg.exec(document.fm.lname.value))

	{

		valid = false;

		errorString += "No last name entered.\n";

	}

	

	if (!reg.exec(document.fm.school.value))

	{

		valid = false;

		errorString += "No school name entered.\n";

	}

	

	if (!reg.exec(document.fm.addr.value))

	{

		valid = false;

		errorString += "No school address entered.\n";

	}

	

	if (!reg.exec(document.fm.city.value))

	{

		valid = false;

		errorString += "No city entered.\n";

	}

	

	if (document.fm.state.value == "Please choose a state.")

	{

		valid = false;

		errorString += "No state selected.\n";

	}

	

	if (!reg.exec(document.fm.zip.value))

	{

		valid = false;

		errorString += "No zip code entered.\n";

	}

		

	if (!regEmail.exec(document.fm.email.value))

	{

		valid = false

		errorString += "Invalid e-mail format.\n";

	}

	

	var levels = new Array("ms", "hs", "aph");

	

	if(!validCheckboxes(levels, document.fm))

	{

		valid = false;

		errorString += "No level taught selected.\n";

	}

	

	var subjects = new Array("math", "ss", "langarts", "sci", "tech", "forlang", "votec");



	if(!validCheckboxes(subjects, document.fm))

	{

		valid = false;

		errorString += "No subjects taught selected.\n";

	}



	if (!valid)

	{

		alert(errorString);

	}

			

	return valid;

}



function validCheckboxes(fieldNames, form)

{

	for(var n = 0; n < fieldNames.length; n++)

	{		

		if (form.elements[fieldNames[n]].checked)

		{

			return true;

		}

	}

	return false;

}

