
function formRunValidator (fieldsObjects, f)
{
	var errors = new Array ();
	for (i = 0; i < fieldsObjects.length; i ++)
	{
		switch (fieldsObjects [i].type)
		{
			case "text":
			var myValue = f [fieldsObjects [i].field].value;
			if (myValue == "")
			{
				errors.push (fieldsObjects [i].label);
			}
			break;
			case "mail":
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			var myValue = f [fieldsObjects [i].field].value;
			if (!filter.test (myValue))
			{
				errors.push (fieldsObjects [i].label);
			}
			break;
			case "equal":
			if (!formIsEqValues (f[fieldsObjects [i].f1].value, f[fieldsObjects [i].f2].value))
			{
				errors.push (fieldsObjects [i].label);
			}
			break;
		}
	}
	if (errors.length > 0)
	{
		var msgs = "Hay errores:\n\n";
		for (i = 0; i < errors.length; i ++)
		{
			msgs += errors [i] + "\n";
		}
		msgs += "\n\n";
		alert (msgs);
		return false;
	} else {
		return true;
	}
}

function formIsEqValues (v1, v2)
{
	return v1 == v2;
}