function validateForm(formname){
	var fields = formname.elements;
	var reqs = new Array("forename", "surname", "email_address", "mobile_number", "telephone_number", "address_1", "address_2", "address_3", "town", "county", "postcode", "country", "job_title", "current _employer", "candidate_type", "fdate", "fmonth", "fyear", "notice_period", "read_statement");
	var set = false;
	var box = 0;
	for(var i = 0; i < fields.length; i++){
		for(var j = 0; j < reqs.length; j++){
			if(reqs[j] == fields[i].name){
				if(!fields[i].value){
					fields[i].style.backgroundColor = "#ffff66";
					if(!set){
						box = i;
						set = true;
					}
					break;
				}
			}
		}
	}
	if(set){
		fields[box].focus();
		alert("Please complete the required field(s).");
		return false;
	}else{
		var emailFilter = /^.+@.+\..{2,4}$/;
		if(!(emailFilter.test(formname.email_address.value))){
			alert("Please enter a valid e-mail address.");
			formname.email_address.style.backgroundColor = "#ffff66";
			formname.email_address.focus();
			return false;
		}else{
			var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
			if(formname.email_address.value.match(illegalChars)){
				alert("The e-mail address contains illegal characters. Please enter a valid e-mail address (e.g. user@domain.com).");
				formname.email_address.style.backgroundColor = "#ffff66";
				formname.email_address.focus();
				return false;
			}
		}
		if((!formname.wanted_salary.value && !formname.wanted_pay.value) || (formname.wanted_salary.value && formname.wanted_pay.value)){
			alert("Please complete one of the pay boxes, only one entry is allowed.");
			formname.wanted_salary.style.backgroundColor = "#ffff66";
			formname.wanted_pay.style.backgroundColor = "#ffff66";
			formname.wanted_salary.focus();
			return false;
		}
		/*if((formname.wanted_salary.value && !formname.wanted_pay.value) || (!formname.wanted_salary.value && formname.wanted_pay.value)){
			if(formname.wanted_salary.value){
				if(formname.wanted_salary.value != parseInt(formname.wanted_salary.value, 10)){
					alert("Please enter numbers only.");
					formname.wanted_salary.style.backgroundColor = "#ffff66";
					formname.wanted_salary.focus();
					return false;
				}
			}else{
				if(formname.wanted_pay.value != parseInt(formname.wanted_pay.value, 10)){
					alert("Please enter numbers only.");
					formname.wanted_pay.style.backgroundColor = "#ffff66";
					formname.wanted_pay.focus();
					return false;
				}
			}
			
		}else{
			alert("Please complete one of the pay boxes, only one entry is allowed.");
			formname.wanted_salary.style.backgroundColor = "#ffff66";
			formname.wanted_pay.style.backgroundColor = "#ffff66";
			formname.wanted_salary.focus();
			return false;
		}*/
		if(!formname.read_statement.checked){
			alert("Please read the Offsite Jobs statement and click the associated checkbox.");
			formname.read_statement.focus();
			return false;
		}
	}
	return true;
}
