// --- Ocultar listas --- //
function mostrar(id){
	var obj = document.getElementById('fila_' + id)
	if(obj.style.display == 'none') { 
		ocultar()
		obj.style.display = 'block'
	} else {
		obj.style.display = 'none'
	}
}
function ocultar(){
	listado = document.getElementById('lista')
	contenedores = listado.getElementsByTagName('div')
	numContenedores = contenedores.length
	for(m=0; m < numContenedores; m++){
		if(contenedores[m].id.indexOf('fila_') == 0)
		contenedores[m].style.display = 'none'
	}
}
/*
function mostrar(id){
	obj2 = document.getElementById('fila_' + id)
	obj1.className  = "titulo"
	if(obj2.style.display == 'none') { 		
		ocultar()
		obj1.className  = "tituloexp"
		obj2.style.display = 'block'		
	} else {
		obj2.style.display = 'none'
	}
}
function ocultar(){
	listado = document.getElementById('lista')	
	contenedores = listado.getElementsByTagName('dd')
	numContenedores = contenedores.length	
	for(m=0; m < numContenedores; m++){		
		if(contenedores[m].id.indexOf('fila_') == 0)
		contenedores[m].style.display = 'none'
	}
}*/

// --- Validar Formularios --- //

/* 
DENTRO DEL HTML
function validar(form) {
	with (form) {
		if (validarVacio(Apellido,"Apellido")==false) {return false;};
		if (validarAlfabetico(Apellido,"Apellido")==false) {return false;};
		if (validarVacio(Nombre,"Nombre")==false) {return false;};
		if (validarAlfabetico(Nombre,"Nombre")==false) {return false;};
		if (validarVacio(Domicilio,"Domicilio")==false) {return false;};
		if (validarVacio(Localidad,"Localidad")==false) {return false;};
		if (validarVacio(CodPos,"CP")==false) {return false;};
		if (validarAlfanumerico(CodPos,"CP")==false) {return false;};
		if (validarVacio(TelParticular,"Telefono Particular")==false) {return false;};
		if (validarAlfanumerico(TelParticular,"Telefono Particular")==false) {return false;};		
		if (validarVacio(TelMensajes,"Telefono Mensajes")==false) {return false;};
		if (validarAlfanumerico(TelMensajes,"Telefono Mensajes")==false) {return false;};
		if (validarVacio(DNI,"Numero de Documento")==false) {return false;};
		if (validarNumero(DNI,"Numero de Documento")==false) {return false;};
		if (validarNumero(CI,"Numero de Cedula")==false) {return false;};
	}
}
DENTRO DE LA ETIQUETA FORM
onsubmit="return validar(this)"
*/

function validarVacio (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	if ( (input.value==null) || (input.value.length==0) ) {
		alert("El campo "+nombre+" es obligatorio.");
		input.focus();
		input.style.backgroundColor = "#EFEFEF";
		return false;
	}
	return true;
}

function validarFecha (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "0123456789-/";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe tener formato de fecha.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	return true;
}

function validarNumero (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "0123456789";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe contener solo numeros.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	return true;
}

function validarNumeroMayorCero (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "0123456789.";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe contener solo numeros.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	if( input.value == 0 ) {
		alert("El campo "+nombre+" debe contener un número mayor a cero.");
		input.focus();
		input.style.backgroundColor = "#EFEFEF";
		return false;
	}
	return true;
}

function validarEmail (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	if ((input.value == "") ||
	    (input.value == null) ||
	    (input.value.indexOf('@') == -1) || 
	    (input.value.indexOf('.') == -1)) {
		alert("El campo "+nombre+" debe contener una dirección de Email válida.");
		input.focus();
		input.style.backgroundColor = "#EFEFEF";
		return false;
	}
	return true;
}

function validarAlfanumerico (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789áéíóúÁÉÍÓÚäëïöü.-,° _\"\\/#$&'()*+:;=<>?@[]^";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe contener solo caracteres alfanumericos.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	return true;
}

function validarAlfabetico (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzáéíóúÁÉÍÓÚäëïöü '`";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe contener solo caracteres del alfabeto.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	return true;
}

function validarBusqueda (input, nombre) {
	if( input.style )
		input.style.backgroundColor = "#FFF";

	var ValidChars = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789áéíóúÁÉÍÓÚäëïöü-";
	var Char;

	for (i = 0; i < input.value.length; i++) { 
		Char = input.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			alert("El campo "+nombre+" debe contener solo caracteres alfanumericos.");
			input.focus();
			input.style.backgroundColor = "#EFEFEF";
			return false;
		}
	}
	return true;
}

function validarInput(tipo, input, nombre) {
	var ret = false;

	switch(tipo) {
		case 'vacio':
			ret = validarVacio(input, nombre);
			break;
		case 'numero':
			ret = validarNumero(input, nombre);
			break;
		case 'email':
			ret = validarEmail(input, nombre);
			break;
		case 'alfanumerico':
			ret = validarAlfanumerico(input, nombre);
			break;
		case 'alfabetico':
			ret = validarAlfabetico (input, nombre);
			break;
		case 'fecha':
			ret = validarFecha (input, nombre);
			break;
		case 'busqueda':
			ret = validarBusqueda(input, nombre);
			break;
		default:
			ret = false;
			break;
	}
	return ret;
}

