function isEmpty(val) {
		return (val.search(/[^\s]/gi) == -1)
	}
	
	function isValidName(val) {
	    return (val.search(/[^a-zA-Z0-9 \.]/gi) == -1)
	}
	
	function isValidClientID(val) {
		return (val.search(/^[\d]{6}$/gi) != -1)
	}
	
	function validate(frm) {
		var bolIsError = false;
		var strMessage = "";
		var objElement = null;
		var objForename = frm.txtForeName;
		var objSurname = frm.txtsurname;
		var objClientID = frm.txtId;
		
		if (isEmpty(objForename.value)) {
			bolIsError = true;
			strMessage += " - You must enter the Forename.\n";
			if (objElement == null) objElement = objForename;
		} else if (!isValidName(objForename.value)) {
			bolIsError = true;
			strMessage += " - The Forename must consist of only alphanumeric characters.\n";
			if (objElement == null) objElement = objForename;
		}
		
		if (isEmpty(objSurname.value)) {
			bolIsError = true;
			strMessage += " - You must enter the Surname.\n";
			if (objElement == null) objElement = objSurname;
		} else if (!isValidName(objSurname.value)) {
			bolIsError = true;
			strMessage += " - The Surname must consist of only alphanumeric characters.\n";
			if (objElement == null) objElement = objSurname;
		}
		
		if (isEmpty(objClientID.value)) {
			bolIsError = true;
			strMessage += " - The Client ID must consist of six numeric characters.\n";
			if (objElement == null) objElement = objClientID;
		} else if (!isValidClientID(objClientID.value)) {
			bolIsError = true;
			strMessage += " - The Client ID must consist of six numeric characters.\n";
			if (objElement == null) objElement = objClientID;
		}
		
		if (bolIsError) {
			alert(strMessage);
			if (objElement != null) objElement.focus();
			return false;
		}
	}
