﻿function Abre(page) {
OpenWin = this.open(page, "Ventana", "toolbar=no,menubar=no,location=no,status=yes,scrollbars=yes,resizable=yes,width=400px,height=300px");
}

function Activacapa(nombrecapa,accion,retardo) {
	if (!retardo || retardo=="") {
		var retardo = 10
		}
		
	if ((document.getElementById(nombrecapa).style.display == "none" && accion=="") || (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=="") || (accion == "ocultar")) {
		       document.getElementById(nombrecapa).style.display = "none";
			       if (nombrecapa=='buscador') {
			       document.getElementById(nombrecapa+'txt').innerHTML="Mostrar";
			       }   
      	 }
}


function Enviar() {
	setTimeout(	document.formulario.submit(),2000);
}


// MENU DESPLEGABLE



function vaciacampo(control){
	if(!control.texto_predeterminado){
		control.texto_predeterminado=control.value;
	}
	
	if(control.value==control.texto_predeterminado){
		control.value='';
	}
}

/*
 * Restaurar el contenido de un control de formulario, pero s?lo si no se ha modificado
 * Nota: el control debe tener par?metro value
 */


function campooriginal(control){
	if(control.texto_predeterminado){
	}
	
	if(control.texto_predeterminado && control.value==''){
		control.value=control.texto_predeterminado;
	}
}


function muestracapaninos(valor){
	if (valor=='0') {
	document.getElementById("capan1").style.display = "none";
	document.getElementById("capan2").style.display = "none";
	}
	if (valor=='1') {
	document.getElementById("capan1").style.display = "";
	document.getElementById("capan2").style.display = "none";
	}
	if (valor=='2') {
	document.getElementById("capan1").style.display = "";
	document.getElementById("capan2").style.display = "";
	}
}


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="../imagv2/loading.gif" /> Cargando datos...</p>';
       //abrimos la url
       peticion.open("GET", fragment_url);
       peticion.onreadystatechange = function() {
           if (peticion.readyState == 4) {
   			//escribimos la respuesta
			element.innerHTML = peticion.responseText;
   			}
       }
     
      peticion.send(null);
}


function Sumadias(fecha,dias) {
// convertimos la fecha al formato mm/dd/aaaa
var pos;
var pos2;
var dia;
var mes;
var ano;
pos = fecha.indexOf("/");
pos2 = fecha.lastIndexOf("/");
dia = fecha.substring(0,pos);
mes = fecha.substring(pos+1,pos2);
ano = fecha.substring(pos2+1,(pos2)+5);
if (dia.length == 1){
dia = '0'+dia;}
if (mes.length == 1){
mes = '0'+mes;}
fecha = mes+'/'+dia+'/'+ano;

// sumamos los d?as que hagan falta
	 var dtTmp = new Date(fecha);
     iTmp1 = dtTmp.getTime();
     iTmp2 = iTmp1 + (dias * 24 * 60 * 60 * 1000);
     var dt = new Date(iTmp2);
     var fecha = (dt.getMonth()+1) + '/' + dt.getDate() + '/' + dt.getFullYear();
     
// convertimos la fecha al formato dd/mm/aaaa
pos = fecha.indexOf("/");
pos2 = fecha.lastIndexOf("/");
mes = fecha.substring(0,pos);
dia = fecha.substring(pos+1,pos2);
ano = fecha.substring(pos2+1,(pos2)+5);
if (dia.length == 1){
dia = '0'+dia;}
if (mes.length == 1){
mes = '0'+mes;}
fecha = dia+'/'+mes+'/'+ano;
     return fecha;
}


function diferenciaDias(fi,ff)
{
var f1 = fi.split('/')
f1[1]=f1[1]-1
var f2 = ff.split('/')
f2[1]=f2[1]-1
var ff1=new Date(f1[2],f1[1],f1[0]);
var ff2=new Date(f2[2],f2[1],f2[0]);
var dd=Date.parse(ff2)-Date.parse(ff1);
var dd=(Math.round((Date.parse(ff2)-Date.parse(ff1))/(24*60*60*1000))*1)
return dd;
}

function fechanovalidaAAAA()
{
if (diferenciaDias(this.form.fechaentrada.value,this.form.fechasalida.value)<=0) {
alert('La fecha no puede ser anterior o igual a la fecha de entrada');
this.form.fechasalida.value = Sumadias(this.form.fechaentrada.value, 1);
document.getElementById('fechasalidatxt').innerHTML='Al d?a siguiente';
}
}

// Si la fecha de salida es menor que la de entrada, da un mensaje y pone como fecha de salia el d?a posterior al de entrada
function fechanovalida()
{
if (diferenciaDias(document.getElementById('fechaentrada').value,document.getElementById('fechasalida').value)<=0) {
// alert('La fecha no puede ser anterior o igual a la fecha de entrada');
setTimeout ("document.getElementById('fechasalidatxt').innerHTML='<span class=aviso>Fecha no v&aacute;lida!</span>'", 700);
setTimeout ("document.getElementById('fechasalida').value = Sumadias(document.getElementById('fechaentrada').value, 1)", 2000);
setTimeout ("document.getElementById('fechasalidatxt').innerHTML='Al d&iacute;a siguiente'", 2000);
}
}

// Solo admite numeros el campo de formulario
function solonumeros(e){
var charCode
if (navigator.appName == "Netscape"){ charCode = e.which }
else{ charCode = e.keyCode}

if ((charCode < 48 || charCode > 57) && charCode != 46 && charCode != 8 && charCode != 0)
return false;
}

// Cuando una imagen no se ha cargado, la oculta.
function ErrorCargarImagen(imagen) {
		var fichero=imagen.src+'#';
			//imagen.src='../../imagftp/imagnodisponible.jpg';
			//setTimeout(imagen.src=../../imagftp/imagnodisponible.jpg,500);
			
		imagen.onerror='null';
		imagen.src='../imag_general/1pxtr.gif'
		setTimeout(imagen.src=fichero,500);
}




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
	       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) {
			   //escribimos la respuesta
			   element.innerHTML = peticion.responseText;
           }
       }
      peticion.send(null);
   }

/* Funciones de búsqueda en tiempo real */

tempora = null;

function lanzabusquedareal() {
if (tempora) { window.clearTimeout(tempora); }
	tempora = window.setTimeout("busquedareal()",200);
}

function busquedareal(){
	cargarDIV('../AJAX/AJAXbuscador.asp', 'cadena', 'resultadosajax');
}

function addOnLoad(nuevoOnLoad) {
   var prevOnload = window.onload;
   if (typeof window.onload != 'function') {
      window.onload = nuevoOnLoad;
   }
   else {
      window.onload = function() {
          prevOnload();
          nuevoOnLoad();
      }
   }
}
