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; }
}

function checkjob() {
	
	if (document.forms["booking"].elements["job_seekers"].checked) {
		alert("If you are claiming job-seekers allowance, you should get written authority from your advisor before starting this course.");
		return false;
	}
	return true;
}

function checkterms() {
	
	if (!document.forms["booking"].elements["terms"].checked) {
		alert("Please read and accept the Terms & Conditions");
		return false;
	}
	return true;
}