// 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);
	}
}

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;
}

function ValidaCampo(campo, caract_extra) {  

	var ubicacion;
	var caracteres = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ_" + caract_extra;
	
	var contador = 0
	for (var i=0; i < campo.length; i++) {  
		ubicacion = campo.substring(i, i + 1)  
		if (caracteres.indexOf(ubicacion) != -1) {  
			contador++;
		} else {  
			alert("ERROR: No se acepta el caracter '" + ubicacion + "'.");
			return true;
		}  
	}  
	
}  

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

// 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
// ruta: define desde donde se ejecuta la función - adm o sitio público
// 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, ruta, tipo, query) {
	
	// defino la ruta a utilizar
	if(ruta == ADM_MASTER) {
		ruta_final = ADM_MASTER;
	} else {
		ruta_final = SITIO_MASTER + "adm/";
	}
	
	// defino el tipo de búsqueda
	if(tipo == undefined) {	tipo = 1; }

	if(query == undefined) {
		query = "";
	}

	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 = "";
	}

	var valor = document.getElementById(idelemento).value;
	var cadena = ruta_final + "inc/verificar_repetido.php?tabla=" + tabla + "&campo=" + campo + "&valor=" + valor + "&tipo=" + tipo + "&query=" + query + "&tabla_campos=" + tabla_campos;
	var ajax = nuevoAjax();			
		
	ajax.open("GET", cadena, false);						
	ajax.send(null);	
	
	//alert(ajax.responseText);
	
	if(ajax.responseText==1) {
		return true;
	} else {
		return false;
	}

}		

function imprime(funcion, tipo, op, id, ancho, alto){
	
	URL = PROFUNDIDAD_RUTA + SITIO_MASTER + "inc/impresion.php?f="+funcion+"&id="+id+"&op="+op+"&tipo="+tipo;
	imprimir = window.open(URL, "_blank", "toolbar=no ,location=no, status=no, menubar=no, resizable=no, scrollbars=yes, width="+ancho+", height="+alto+"");
	imprimir.moveTo((screen.availWidth/2)-(ancho/2),(screen.availHeight/2)-(alto/2));
}

function popup(url, ancho, alto, scrollbar) {

	if(scrollbar=="undefined") { scrollbar = "no"; };
	
	ventana = window.open(url, "_blank", "toolbar=no ,location=no, status=yes, menubar=no, resizable=no, scrollbars=" + scrollbar + ", width="+ancho+", height="+alto+"");
	ventana.moveTo((screen.availWidth/2)-(ancho/2),(screen.availHeight/2)-(alto/2));

}

function navegador_multimedia(formato, idimagen, tipo, idrelacional, indice, navegable, ruta_galeria) {

	// fijo el ancho y el alto de la ventana
	ancho = screen.availWidth*eval("popup_" + formato + "_ancho");
	alto = screen.availHeight*eval("popup_" + formato + "_alto");
	ventana = window.open(PROFUNDIDAD_RUTA + SITIO_MASTER + "inc/navegador_multimedia.php?formato=" + formato + "&id=" + idimagen + "&tipo=" + tipo + "&idrelacional=" + idrelacional + "&indice=" + indice + "&navegable=" + navegable + "&ancho_ventana=" + ancho + "&alto_ventana=" + alto + "&ruta_galeria=" + ruta_galeria, "_blank", "toolbar=no ,location=no, status=yes, menubar=no, resizable=no, scrollbars=no, width="+ancho+", height="+alto+"");
	ventana.moveTo((screen.availWidth/2)-(ancho/2),(screen.availHeight/2)-(alto/2));

}

function navegador_video(formato, idimagen, tipo, idrelacional, ancho, alto) {

	// fijo el ancho y el alto de la ventana
	ventana = window.open(PROFUNDIDAD_RUTA + SITIO_MASTER + "inc/navegador_multimedia.php?formato=" + formato + "&id=" + idimagen + "&tipo=" + tipo + "&idrelacional=" + idrelacional + "&ancho_ventana=" + ancho + "&alto_ventana=" + alto, "_blank", "toolbar=no ,location=no, status=yes, menubar=no, resizable=no, scrollbars=no, width="+ancho+", height="+alto+"");
	ventana.moveTo((screen.availWidth/2)-(ancho/2),(screen.availHeight/2)-(alto/2));

}

// FUNCION AJAX
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}


