
function VerifyIdenticalValues(fieldName, element1, element2)
{
	var passed = false;
	if (element1.value=='')
	{
		alert("Please fill out the " + fieldName + "s.");
		element1.focus();
	}
	else if (element2.value=='')
	{
		alert("Please verify the " + fieldName + "s.");
		element2.focus();
	}
	else if (element1.value != element2.value)
	{
		alert("The two " + fieldName + "s do not match.");
		element1.select();
	}
	else
		passed=true;

	return passed;
}

function ValidateEmail(field)
{
	var bRetval = true;
	var re = /^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
	if (!re.test(field.value)) 
	{
		bRetval = false;
		alert("Please enter a valid email address.");
		field.focus();
		field.select();
	}
	return bRetval;
}

function ValidateNumericOrBlank(field, label)
{
	var bRetval = true;
	
	if (field != null && field.value != null && field.value.length > 0)
	{
		var re = /^[0-9]+$/;
		if (!re.test(field.value))
		{
			bRetval = false;
			alert("Please enter a numeric value for " + label + " or leave blank.");
			field.focus();
			field.select();
		}
	}
	return bRetval;
}

function ValidatePositionOrYear()
{
	var yearField = document.getElementById('year_in_school')
	var positionField = document.getElementById('position')
	
	if (null == yearField)
	{
		// classroom application
		if (positionField.value == '')
		{
			alert("Please indicate your position.");
			positionField.focus();
			positionField.select();
			return false;
		}
	}
	else if ((yearField.value == '') && (positionField.value == ''))
	{
		alert("Please provide your year in school (if you are a student) or your position (if you are a staff or faculty member).");
		yearField.focus();
		yearField.select();
		return false;
	} 
	return true;
}

function ValidateContactForm(elementId)
{
	if (!VerifyIdenticalValues("email address field", document.getElementById(elementId).sender_email, document.getElementById(elementId).sender_email2))
		return false;
	if (!ValidateEmail(document.getElementById(elementId).sender_email))
		return false;
	return true;
}

function ValidateAcademicOrClassroomContactForm(elementId)
{
	if (!ValidatePositionOrYear())	
		return false;
	
	return ValidateContactForm(elementId);
}
