function fvalida(f) {
	var c = $(document.getElementsByTagName('body')[0]).getElementsByClassName('required');
	var s = c.length;
	var i = 0;
	var continuar = true;
	var msg = $('consola');
	var rc;
	while (continuar && i < s) {
		switch (c[i].nodeName.toLowerCase()) {
			case 'input':
				switch (c[i].getAttribute('type').toLowerCase()) {
					case 'password':
					case 'text':
						if (!c[i].present()) {
							msg.update('Proporciona un valor para el campo: ' + c[i].getAttribute('name'));
							continuar = false;
							c[i].activate();
						}
						break;
					case 'radio':
					case 'checkbox':
						rc = $A(f.elements[c[i].getAttribute('name')]);
						if (!rc.pluck('checked').any()) {
							msg.update('Selecciona un valor para el campo: ' + c[i].getAttribute('name'));
							continuar = false;
							c[i].focus();
						}
						break;
				}
				break;
			case 'textarea':
				if (!c[i].present()) {
					msg.update('Proporciona un valor para el campo: ' + c[i].getAttribute('name'));
					continuar = false;
					c[i].activate();
				}
				break;
			case 'select':
				if (c[i].selectedIndex < 1) {
					msg.update('Selecciona un valor para el campo: ' + c[i].getAttribute('name'));
					continuar = false;
					c[i].focus();
				}
				break;
			default:
		}
		++i;
	}
	return continuar;
}
