﻿function Activacapa(nombrecapa,accion,retardo) {
	if (!retardo || retardo=="") {
		retardo=10;
		}
		
	if ((document.getElementById(nombrecapa).style.display == "none" && accion!="mostrar" && accion!="ocultar") || (accion == "mostrar")) {
      		setTimeout(document.getElementById(nombrecapa).style.display = "",retardo);
	      	if (nombrecapa=='buscador') {
	      		document.getElementById(nombrecapa+'txt').innerHTML="Ocultar";
	      		}
	     } else if ((document.getElementById(nombrecapa).style.display !== "none" && accion!="mostrar" && accion!="ocultar") || (accion == "ocultar")) {
		       document.getElementById(nombrecapa).style.display = "none";
			       if (nombrecapa=='buscador') {
			       document.getElementById(nombrecapa+'txt').innerHTML="Mostrar";
			       }   
      	 }
}





// Cuando una imagen no se ha cargado, la oculta.
function ErrorCargarImagen(imagen) {
		
		var fichero=imagen.src+'#';
			
		imagen.onerror='null';
		imagen.src='../images/1pxtr.gif';
		imagen.height=0;
	//	setTimeout(imagen.src=fichero,500);
		
}

// MONTA EL OBJETO DE AJAX
var peticion = false;
var  testPasado = false;
  try {
   peticion = new XMLHttpRequest();
   } catch (trymicrosoft) {
   try {
   peticion = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
 try {
  peticion = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (failed) {
 peticion = false;
  }
     }
   }
   if (!peticion)
   alert("ERROR AL INICIALIZAR!");
   


// AJAX . Reemplazar el contenido de un DIV con una URL
   function cargarDIV (url, comboAnterior, element_id) {
       //Obtenemos el contenido del div
       //donde se cargaran los resultados
    var element =  document.getElementById(element_id);

    Activacapa(element_id,'mostrar',10);
    
       //Obtenemos el valor seleccionado del combo anterior
       if (comboAnterior) {
	      var valordepende = document.getElementById(comboAnterior)
	       var x = escape(valordepende.value)

	       //construimos la url definitiva
	       //pasando como parametro el valor seleccionado
	       // habr?a que mirara que si url lleva ya ? a?ada & en vez de ? para encadenar el dato valor=X del formulario
	       pointer=url.indexOf("?")
			       if (pointer != -1) {
			      	 var fragment_url = url+'&valor='+x;
			      	 }
			      	else 
			      	{
			      	var fragment_url = url+'?valor='+x;
			      	}
         }
      	else
      	{
      		var fragment_url = url
      	}

       element.innerHTML = '<img src="../imag_general/loading.gif" />';
       //abrimos la url
       peticion.open("GET", fragment_url);
       peticion.onreadystatechange = function() {
           if (peticion.readyState == 4 || peticion.readyState=="complete") {
			   //escribimos la respuesta
			   element.innerHTML = peticion.responseText;
           }
       }
      peticion.send(null);
   }



/* ENVIA FORMULARIO POR AJAX */
function enviarFormularioAJAX(url, formid,element_id){
             var Formulario = document.getElementById(formid);
             var longitudFormulario = Formulario.elements.length;
             var cadenaFormulario = ""
             var sepCampos
             sepCampos = ""
             for (var i=0; i <= Formulario.elements.length-1;i++) {
             cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
             sepCampos="&";
   }

 	var fragment_url = url+'?'+cadenaFormulario;
 	 var element =  document.getElementById(element_id);
     element.innerHTML = '<p class=avisoAJAX><img src="../imag/loading.gif" /> Cargando datos...</p>';
       //abrimos la url
       peticion.open("GET", fragment_url);
       peticion.onreadystatechange = function() {
           if (peticion.readyState == 4 || peticion.readyState=="complete") {
   			//escribimos la respuesta
			element.innerHTML = peticion.responseText;
   			}
       }
     
      peticion.send(null);
}




// setStyleByClass: given an element type and a class selector,
// style property and value, apply the style.
// args:
// t - type of tag to check for (e.g., SPAN)
// c - class name
// p - CSS property
// v - value
var ie = (document.all) ? true : false;

function setStyleByClass(t,c,p,v){
var elements;
if(t == '*') {
// '*' not supported by IE/Win 5.5 and below
elements = (ie) ? document.all : document.getElementsByTagName('*');
} else {
elements = document.getElementsByTagName(t);
}
for(var i = 0; i < elements.length; i++){
var node = elements.item(i);
for(var j = 0; j < node.attributes.length; j++) {
if(node.attributes.item(j).nodeName == 'class') {
if(node.attributes.item(j).nodeValue == c) {
eval('node.style.' + p + " = '" +v + "'");
}
}
}
}
}


/* POdemos lanzar varios eventos con window.onload */
function addOnLoad(nuevoOnLoad) {

   var prevOnload = window.onload;

   if (typeof window.onload != 'function') {

      window.onload = nuevoOnLoad;

   }

   else {

      window.onload = function() {

          prevOnload();

          nuevoOnLoad();

      }

   }

}