function ValidateField(fld, type, message, focusOnField) {

		var fieldvalue = fld.value;


	switch(type) {
		case "email":
			if (fieldvalue.replace(/[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/, '') != '') {
				fld.focus();
				alert(message + "\n- E-mail address needs to be correctly formatted.");
				return false;
			}
			break;
			
		case "money":
			if (fieldvalue == "" || fieldvalue.replace(/[0-9]*[.]?[0-9]?[0-9]?/, "") != "") {
				fld.focus();
				alert(message + "\n- Value must be a valid currency entry (no $ sign, max 2 decimal places).");
				return false;
			}
			break;
			
		case "int" :
			if (fieldvalue.replace(/[0-9]+/, "") != "") {
				fld.focus();
				alert(message + "\n- Value must be a valid integer (non-decimal number).");
				return false;
			}
			break;
			
		case "decimal" :
			if (fieldvalue == "" || fieldvalue.replace(/[0-9]*[.]?[0-9]*/, "") != "") {
				fld.focus();
				alert(message + "\n- Value must be a valid decimal number.");
				return false;
			}
			break;
			
		case "select":
			if (fld.options[fld.selectedIndex].value == "" || fld.options[fld.selectedIndex].value == "0") {
				fld.focus();
				alert(message);
				return false;
			}
			break;

		case "multiselect":
			if (fld.selectedIndex == -1) {
				fld.focus();
				alert(message);
				return false;
			}
			break;
			
		case "datetime":
			var fieldObj = document.getElementById(fld);
			if (fieldObj.value.replace(/\s*/, '') == '') {
				alert(message);
				return false;
			}
		break;
		
		// All other string fields
		default:
			if (fieldvalue.replace(/\s*/, '') == '') {
				focusField(fld, focusOnField);
				alert(message);
				return false;
			}
	}	
	return true;
}

function focusField(fld, useFocus) {
	if (useFocus != false)
		fld.focus();
}