function isblank(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 verify(f)
{
if(GoodJS==1){
	var msg;
	var empty_fields = "";
	var errors = "";
	for(var i = 0; i < f.length; i++)
	{
		var e = f.elements[i];
		if(e.style){
			e.style.backgroundColor=""
		}
		if (e.type != "select-one" && e.type != "select-multiple")
		{
			if (e.required)
			{
				// first check if the field is empty
				if ((e.value == null) || (e.value == "") || isblank(e.value))
				{
					if(e.style){
						e.style.backgroundColor="#FFFF66"
					}
					if (e.FieldName){
						empty_fields += "\n          " + e.FieldName
					} else {
						empty_fields += "\n          " + e.name;
					}
					continue;
				}
			}
		} else {// we have a drop down
			if (e.required)
			{
				if (e.selectedIndex != -1)
				{
					var val = e.options[e.selectedIndex].value;
					// first check if the field is empty
					if ((val == null) || (val == "") || isblank(val))
					{
						if(e.style){
							e.style.backgroundColor="#FFFF66"
						}
						if (e.FieldName){
							empty_fields += "\n          " + e.FieldName
						} else {
							empty_fields += "\n          " + e.name;
						}
						continue;
					}
				} else {
					if(e.style){
						e.style.backgroundColor="#FFFF66"
					}
					if (e.FieldName){
						empty_fields += "\n          " + e.FieldName
					} else {
						empty_fields += "\n          " + e.name;
					}
					continue;
				}
			}
		}

		// Now check for fields that are supposed to be numeric.
		if (e.numeric || (e.min != null && e.min != '') || (e.max != null && e.max != ''))
		{
			if (e.value)
			{
				var v = parseFloat(e.value);
				if (isNaN(v) || ((e.min != null) && (v < e.min)) || ((e.max != null) && (v > e.max)))
				{
					if(e.style){
						e.style.backgroundColor="#FFFF66"
					}
					errors += "- The field ";
					if (e.FieldName){
						errors += e.FieldName
					} else {
						errors += e.name
					}
					errors += " 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";
				}
			}
		}
	}
	
	// Now, if there were any errors, display the messages, and 
	// return false to prevent the form from being submitted.
	// Otherwise return true.
	if (!empty_fields && !errors) return true;
	
	msg =  "_____________________________________________________________\n\n";
	msg += "The form was not submitted because of the following error(s).\n";
	msg += "Please correct these error(s) and re-submit.\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;
}else{
	return true;
}
}
