function isValidEmailAddress(emailAddress)
{
	return emailAddress.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
}

function isValidDate(dateString)
{
	return dateString.match(/^[0-1][0-9]\/[0-3][0-9]\/[1-2][0-9][0-9][0-9]$/);
}

function isEmptyString(string)
{
	return !(string.replace( /^\s+/g, "").replace( /\s+$/g, ""));
}

function validateForm(form, requiredFields)
{
	var missingFields = "";
	
	for (var i = 0; i < requiredFields.length; i++)
	{
		var evalString = "";
		
		switch (eval("form." + requiredFields[i] + ".tagName"))
		{
			case "SELECT":
				evalString = "form." + requiredFields[i] + ".options[form." + requiredFields[i] + ".selectedIndex].value";
				break;
			default:
				evalString = "form." + requiredFields[i] + ".value";
		}
		
		if (isEmptyString(eval(evalString)))
		{
			missingFields += "\n  - " + requiredFields[i];
		}
	}
	
	return missingFields;
}