/******************************************************************************
 * FUNCIONES PARA LA VERIFICACION DE CAMPOS DE LOS CAMPOS DE UNA FORMA
 *
 * Este archivo contiene un conjunto de funciones que pueden ser utilizadas
 * para verificar el llenado de una forma. Y en caso de que se presente algún
 * problema enviar un mensaje de error.
 *****************************************************************************/

/******************************************************************************
 * verificarCampoTexto
 *
 * Recibe el nombre del campo que se debe verificar, este nombre corresponde
 * al id del campo que se desea verificar. Utiliza la función
 * document.getElementById para obtener el elemento y verifica que el contenido
 * de este elemento no sea el string vacío. Si el elemento es verificado de
 * manera satisfactorio al elemento "asterisco" se le asigna un valor de
 * despliegue de 'none', de lo contrario se le asigna un valor de despliegue de
 * 'inline'. Si el elemento asterisco es nulo o no corresponde a ningún
 * elemento del documento sencillamente se ignora y no se intenta desplegar.
 * NOTA: esta verificación también funciona para elementos de tipo SELECT
 * debidamente llenados. Es decir, aquellos cuyos valores de selección
 * inválidos tienen un valor de '' (el strin vacío).
 *
 *
 * Recibe el id del elemento a verificar en forma de un string y el id del
 * elemento "asterisco" que sirve de indicador de llenado incompleto del
 * elemento, tambien recibido en forma de un string.
 *
 * Retorna false si el campo no existe o si contiene un string vacío.
 *****************************************************************************/
function verificarCampoTexto(strCampo) {
	elem = document.getElementById(strCampo);

	if(elem == null)
		return false;
	
	if(elem.value != '') {
		return true;
	}
	else {
		return false;
	}
}

/******************************************************************************
 * verificarCampoTextoVisible
 *
 * Cumple con la misma funcionalidad y parámetros que verificarCampoTexto, pero
 * con la diferencia de que verifica si la propiedad visible del campo es igual
 * a true.
 *
 * Recibe el id del elemento a verificar en forma de un string.
 *
 * Retorna false si el campo no existe o si contiene un string vacío o si su
 * propiedad visible es false o no existe.
 *****************************************************************************/
function verificarCampoTextoVisible(strCampo,strAsterisco) {
	elem = document.getElementById(strCampo);

	if(elem == null)
		return false;

	if(elem.visible == null || !elem.visible)
		return true;

	if(elem.value != '') {
		return true;
	}
	else {
		return false;
	}
}

/******************************************************************************
 * verificarRadio
 *
 * Permite verificar si alguno de los radios (radio buttons) de un grupo está
 * seleccionado, para esto se verifica un arreglo de nombres de elementos. Los 
 * que se recibe son los nombres de los elementos por lo que se utiliza 
 * document.getElementById para obtenerlos. Si ningún elemento está chequeado 
 * la propiedad de despliegue del elemento asterisco se establece en 'inline', 
 * en caso lo contrario se establece en 'none'.
 *
 * Recibe un arreglo de nombres de radios
 *
 * Retorna false si ninguno de los elementos del arreglo está chequeado. Si un
 * elemento es nulo sencillamente no se verifica.
 *****************************************************************************/
function verificarRadio(arrayStrRadios){
	for(var i = 0; i < arrayStrRadios.length; i++) {
		elem = document.getElementById(arrayStrRadios[i]);

		if(elem != null && elem.checked){
			return true;
		}
	}

	return false;
}
