function checkRequired(form_name) {
	
	failed = false;
	
	if (document.forms[form_name].required.value) {
		reqArray = document.forms[form_name].required.value.split(",");

		for (a = 0; a < reqArray.length; a++) {
			if(document.forms[form_name].elements[reqArray[a]].value == "") {
				document.forms[form_name].elements[reqArray[a]].className = "textfield-required";
				if (!failed) { document.forms[form_name].elements[reqArray[a]].focus(); }
				failed = true;
			} else {
				document.forms[form_name].elements[reqArray[a]].className = "textfield";
			}
		}
	
		if (failed) {
			alert("One or more required fields were not filled in. Please fill in all the required fields before submitting.\nThe required fields are highlighted.");
			return false
		}
	}

	return true;
}

function checkEmail(str) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(str))) { return false; }
	
	var illegalChars= /[\(\)<>,;:\\\/"\[\]]/;
	if (str.match(illegalChars)) { return false; }

	return true;
}

function checkValidNick(str) {
	var legalChars = /^[-a-z _]+$/i;
	if (str.match(legalChars)) { return true; } else { return false; }
}

function checkValidDate(str) {
	var regexp = /^\d{4}\-\d{2}-\d{2} \d{2}:\d{2}:?\d{0,2}$/;
	if (!(regexp.test(str))) { return false; } else { return true; }
}