function validate()
{
	if ( document.getElementsByTagName ) { //make sure were on a newer browser
		var fields = document.getElementsByTagName('*');
	} else if ( document.styleSheets && document.all ) {
		var fields = document.all.tags('*');
	} else {
		alert("You must have a newer browser's Javascript implementation. We are sorry but you cannot continue.");
		return false;
	}
	
	for (var i=0; i<fields.length; i++) {
		var field = fields[i];
		//Check if this input field is required
		var required = field.getAttribute("required");
		//If so, get the validation conditions
		if (required == "true"){
			//Get the type of form element
			var fieldType = field.nodeName;
			switch(fieldType){
				case("SELECT"):
					var objValue = field;
				break;
				
				default:
					var objValue = field.value;
				break;
			}
			
			var validate = field.getAttribute("validate");
			var objMessage = field.getAttribute("message");
			
			//If we want to validate this field
			if (validate) {
				conditions = validate.split(' ');
				for (j=0;j<conditions.length;j++){
					if (!Validation[conditions[j]](objValue)){ //If the condition isn't met
						alert(objMessage);
						field.focus();
						return false;
					}
				}
				//return false;
			} else {
				/** Do some better error checking here, for if a field is "required", but has no validation attrib **/
				if (!Validation.isNotBlank(objValue)){
					alert(objMessage);
					field.focus();
					return false;
				}
				continue;
			}
		} else {
			continue;
		}
	}
	return true;
}