//-- Funciones de validacion usadas en la pagina login --


/**
 * Proceso de validacion de formulario de usuarios.
 */
function validar_usuario() {
	// RECIBIMOS EL TEXTO ESCRITO EN EL CAMPO
	var nombre = document.getElementById("nombreUsuario").value;
	var clave = document.getElementById("password").value;
	var valido = true;
	// PROCESO DE VALIDACION DE CAMPOS VACIOS
	if (!comprobar_vacio(nombre)) {
		valido = false;
	}
	if (!comprobar_vacio(clave)) {
		valido = false;
	}
	if (!comprobar_tamaņo(nombre, 20)) {
		valido = false;
	}
	if (!comprobar_tamaņo(clave, 10)) {
		valido = false;
	}
	return valido;
}

// ***** CONJUNTO DE FUNCIONES AUXILIARES PARA LA VALIDACION DE FORMULARIOS
/**
 * Proceso de validacion de campos vacios.
 * 
 * @param campo
 *            Cadena a comprobar.
 * @returns Indicador del resultado del proceso.
 */
function comprobar_vacio(campo) {
	var valido = true;
	if (campo == "") {
		valido = false;
	}
	return valido;
}
/**
 * Proceso de validacion de tamaņo en las cadenas de caractares.
 * 
 * @param campo
 *            Cadena a comprobar.
 * @param tamaņo
 *            Tamaņo maximo de la cadena.
 * @returns {Boolean} Indicador del proceso.
 */
function comprobar_tamaņo(campo, tamaņo) {
	var valido = true;
	if (campo.length > tamaņo) {
		valido = false;
	}
	return valido;
}
// ******* EJEMPLOS DE VALIDACIONES NO USADAS EN LA APLICACION
/**
 * Validacion numerica del contenido de un campo mediante el uso de expresiones
 * regulares.
 * 
 * @param campo
 * @returns {Boolean}
 */
function isNumero(campo) {
	var texto = campo.value;
	var expresion = /^[-]?\d*\.?\d*$/;
	texto = texto.toString();
	if (!texto.match(expresion)) {
		alert("Solo se admiten numero para el campo.");
		setTimeout("focusElement('" + campo.form.name + "', '" + campo.name
				+ "')", 0);
		return false;
	}
	return true;
}

/**
 * Validacion de un Email. Solo que el formato sea correcto no si existe
 * realmente.
 * 
 * @param campo
 * @returns {Boolean}
 */
function isEMailAddr(campo) {
	var texto = campo.value;
	var expresion = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!texto.match(expresion)) {
		alert("Verify the e-mail address format.");
		setTimeout("focusElement('" + campo.form.name + "', '" + campo.name
				+ "')", 0);
		return false;
	} else {
		return true;
	}
}

/**
 * Funcion auxiliar para pasar el foco al campo elegido.
 * 
 * @param formName
 * @param elemName
 */
function focusElement(formName, elemName) {
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	elem.select();
}
