//////////////////////////////////////////////////////
// FUNCIONES COMPARTIDAS ADM - FRONT
//////////////////////////////////////////////////////

// oculta un div
function ocultaDiv(val){
	$("#"+val).css("visibility", "hidden");
	$("#"+val).css("display", "none");
}

// muestra un div
function muestraDiv(val){
	$("#"+val).css("visibility", "visible");
	$("#"+val).css("display", "block");
}

// script para el menú jerárquico
function cambio(nivel, orden){
	var nodo = 'nodo_'+nivel+orden;
	if($("#"+nodo).css("visibility") == 'visible') {
		ocultaDiv(nodo);
	} else {
		muestraDiv(nodo);
	}
}

// revisa si un valor es nulo
function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
	}
	return true;
}

// revisa si una cadena es valida para Web
function ValidaNombre(nombre, caract_extra) {  

	var ubicacion;
	var caracteres = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ_-" + caract_extra;
	var existe_invalido = false;

	for (var i=0; i < nombre.length; i++) {  
		ubicacion = nombre.substring(i, i + 1)  
		if (caracteres.indexOf(ubicacion) == -1) {
			existe_invalido = true;
		}  // fin busqueda caracter
	}  // fin recorrida
	
	if(existe_invalido) {
		return true;
	} else {
		return false;
	}
			
}  

// revisa si una cadena es valida para Web
function ValidaCampo(campo, caract_extra) {  

	var ubicacion;
	var caracteres = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ_" + caract_extra;
	var existe_invalido = false;
	var existen_espacios = false;
	var caracteres_invalidos = '';

	for (var i=0; i < campo.length; i++) {  
		ubicacion = campo.substring(i, i + 1)  
		if (caracteres.indexOf(ubicacion) == -1) {
			existe_invalido = true;
			if(ubicacion===' ') {
				existen_espacios = true;
			} else {
				caracteres_invalidos = caracteres_invalidos + '"' + ubicacion + '" ';
			}
		}  // fin busqueda caracter
	}  // fin recorrida
	if(existe_invalido) {
		
		mensaje_espacios = existen_espacios ? '\r\nReemplace los espacios por un guión bajo "_"' : '';
		alert("Su archivo contiene caracteres inválidos:\r\n" + caracteres_invalidos + mensaje_espacios);
		return true;

	} else {
	
		return false;
		
	}// fin existe invalido
	
}  

// comprueba si un e-mail está es válido
function validar_email(valor, aviso) {
	if(valor!="") {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
			return (true)
		} else {
			alert(aviso);
			return (false);
		}
	} else {
		return (true)
	}
}

// función para chequear valores del botón de radio
function getRadioButtonSelectedValue(ctrl)
{
	for(i=0;i<ctrl.length;i++)
		if(ctrl[i].checked) return ctrl[i].value;
}

// COMPROBAR REPETIDO
// devuelve true si el valor ya existe en la tabla sino false
// tabla donde va a buscar el campo (* depende del tipo)
// campo donde se buscara el valor
// idelemento: id del elemento que tiene el valor a comprobar si esta repetido
// tipo: utilizada para definir el tipo de búsqueda: 1: campo - 2 tabla - campo y tabla (debe especificar en el parametro tabla las dos tablas donde se buscara separadas por coma)
function verificar_repetido(tabla, campo, idelemento, tipo) {
	
	// defino la ruta si es desde el adm o del front
	direccion_web = document.location.href;
	ruta_script = direccion_web.indexOf("/adm/")==-1 ? SITIO_MASTER+"adm/" : ADM_MASTER;
	
	// inicializo parametros
	tipo = tipo == undefined ? 1 : tipo;

	if(tabla.indexOf(",")!=-1) {
		tablas = tabla.split(",");
		tabla = tablas[0].replace(/^\s+|\s+$/g,"");
		tabla_campos = tablas[1].replace(/^\s+|\s+$/g,"");
	} else {		
		tabla_campos = "";
	}

	// preparo parámetros
	var parametros = "&valor="+$('#'+idelemento).val();
	parametros = parametros + "&tabla="+tabla;
	parametros = parametros + "&campo="+campo;
	parametros = parametros + "&tipo="+tipo;
	parametros = parametros + "&tabla_campos="+tabla_campos;

	resultado = $.ajax({
		type: "GET",
		async: false,
		url: ruta_script + "inc/ajax/verificar_repetido.php",
		data: parametros
	}).responseText; // fin del ajax
	
	if(resultado==0){
		return false;
	} else {
		return true;
	}

}		

// para limitar caracteres en un campo
function limitar_caracteres(textid, limite, infodiv, texto_cantidad, texto_final)
{
	var text = $('#'+textid).val();	
	var textlength = text.length;
	if(textlength > limite)
	{
		$('#' + infodiv).html(texto_final);
		$('#'+textid).val(text.substr(0,limite));
		return false;
	}
	else
	{
		$('#' + infodiv).html(texto_cantidad.replace('{caracteres}', limite - textlength));
		return true;
	}
}

// FUNCIÓN PARA VALIDAR SI ES UN NÚMERO
function validarSiNumero(numero){
	if (!/^([0-9])*$/.test(numero)){
		return false;
	} else {
		return true;
	}
}