
function check_email(val) {
	p=val.indexOf('@');
    if (p<1 || p==(val.length-1)) {
    	return false;
    } else {
    	return true;
    }
}

function validate_form(requiredFields, frm){ 
	//requiredFields must be array of arrays. The sub arrays must be 0=[fieldName] 1=[Human-readable field name] 2=[type]
	//type = {'email', 'text', 'number'}
	//frm must be the form object
	var fld;
	var problems = "";
	
	for (i=0; i<requiredFields.length; i++){
		var fieldName = requiredFields[i][0];
		var showName = requiredFields[i][1];
		var type = requiredFields[i][2];
		
		var value = eval("frm." + fieldName + ".value");
		if (value.length == 0) {
			problems += showName + " is required.\n"
		} else {
			if (type=="email" && !check_email(value)) {
				problems += "Please enter a valid email address.\n";
			} else if (type=="number" && isNaN(value)) {
				problems += showName + " can only contain number values";
			}
		}
	}
	if (problems) {
		alert("The following problems where found. Please correct them and submit the form again.\n\n" + problems);
		return false;
	}
	return true;
}
