
function checkForBlanks(s)
{
	for (var i=0; i < s.length; i++){
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
	}
	return true;
}

function validateForm(f)
{
	var msg;
	var empty_fields = "";
	var errors = "";
	
	for (var i = 0; i < f.length; i++) {
		var e = f.elements[i];
		if (((e.type == "text") || (e.type == "textarea") || (e.type == "checkbox") || (e.type == "password")) && !e.optional) {
			if ((e.value == null) || (e.value == "") || checkForBlanks(e.value)) {
				empty_fields += "\n          " + e.id;
				continue;
			}
			
			if (e.numeric || (e.min != null) || (e.max != null)) {
				var v = parseFloat(e.value);
				if (isNaN(v) ||
					((e.min != null) && (v < e.min)) ||
					((e.max != null) && (v > e.max))) {
					errors += "- The field " + e.name + " must be a number";
					if (e.min != null)
						errors += " that is greater  than " + e.min;
					if (e.max != null && e.min != null)
						errors += " and less than " + e.max;
					else if (e.max != null)
						errors += " that is less than " + e.max;
					errors += ".\n";
				}
			}
		}
	}
	
	if (!empty_fields && !errors) return true;
	
	msg = "_________________________________________________\n\n"
	msg +="This form cannot be registered because: \n";
	msg +="_________________________________________________\n\n"
	
	if (empty_fields) {
		msg += "- The following required field(s) are empty:"
			+ empty_fields + "\n";
		if  (errors) msg += "\n";
	}
	msg += errors;
	alert(msg);
	return false;

}

