// JavaScript Document
var Galeria = function(contenedorGaleria,dirImg,arreglo){
	var oCl = this;
	var contGaleria = document.getElementById(contenedorGaleria);
	this.accion = "obtenerCuadro";
	this.dirImg = dirImg;
	var iniciado = 0;
	
	var posicion = 1;
	if(this.directorio != "programas")posicion = 0;
	this.arreglo = new Array();
	this.arregloCat = arreglo;
	this.fotoActual = "";
	this.foto = "";
	
	var cerrarVista = function(){
		oCl.foto.style.visibility = "hidden";
		oCl.blockeador.style.display = "none";
		oCl.foto.style.top = "-1000px";
	}
	this.crearEstructura = function(){
		this.foto = document.getElementById("popupGal");
		this.foto.style.visibility = "visible";
		this.imagen = document.getElementById("imagenGrande");
		this.loading = document.getElementById("leyendoImagen");
		this.imgTit = document.getElementById("imgTit");
		this.anterior = document.getElementById("anteriorGaleria");
		this.siguiente = document.getElementById("siguienteGaleria");
		var cerrar = document.getElementById("cerrarGaleria");
		AddEvent(cerrar,'click',cerrarVista);
		this.foto.style.width = "400px";
		this.contFoto = document.getElementById("contFoto");
		this.contImag = document.getElementById("contImag");
		this.popupFotoGal = document.getElementById("popupFotoGal");
		this.contFlecha = document.getElementById("contFlecha");
		this.epigrafe = document.getElementById("epigrafe");
		this.blockeador = document.getElementById("blockeador");
		this.blockeador.className = "blockeadorGaleria";
		this.anteriorGris = document.getElementById("anteriorGrisGal");
		this.siguienteGris = document.getElementById("siguienteGrisGal");
		AddEvent(oCl.imagen,'load',cargaFinalizada);
			
		if(Nav.esIE || Nav.esIE7) this.blockeador.style.filter = 'alpha(opacity=45)';
		else this.blockeador.style.MozOpacity = ".45";
		AddEvent(oCl.anterior,'click',function(){cambiarFoto(-1)});
		AddEvent(oCl.siguiente,'click',function(){cambiarFoto(1)});					
		this.centrarContenido();
		cerrarVista();
	}
	this.onRequestLoad = function(){

		switch(this.accion){
			case "obtenerCuadro":
				if(this.req.respuestaHTML != ""){
					var prov = document.createElement("div");
					prov.style.display = "none";
					document.body.appendChild(prov);
					prov.innerHTML = this.req.respuestaHTML;
					this.foto = document.getElementById("popupGal");
					document.body.appendChild(this.foto);
					this.foto.style.visibility = "visible";
					this.imagen = document.getElementById("imagenGrande");
					this.loading = document.getElementById("leyendoImagen");
					this.anterior = document.getElementById("anteriorGaleria");
					this.siguiente = document.getElementById("siguienteGaleria");
					var cerrar = document.getElementById("cerrarGaleria");
					AddEvent(cerrar,'click',cerrarVista);
					this.foto.style.width = "400px";
					this.contImag = document.getElementById("contImag");
					this.popupFotoGal = document.getElementById("popupFotoGal");
					this.contFlecha = document.getElementById("contFlecha");
					this.epigrafe = document.getElementById("epigrafe");
					this.blockeador = document.createElement("div");
					this.blockeador.className = "blockeadorGaleria";
					this.anteriorGris = document.getElementById("anteriorGrisGal");
					this.siguienteGris = document.getElementById("siguienteGrisGal");
					document.body.appendChild(this.blockeador);
					
					if(Nav.esIE || Nav.esIE7) this.blockeador.style.filter = 'alpha(opacity=45)';
					else this.blockeador.style.MozOpacity = ".45";

					AddEvent(oCl.anterior,'click',function(){cambiarFoto(-1)});
					AddEvent(oCl.siguiente,'click',function(){cambiarFoto(1)});					

					this.centrarContenido();
					cerrarVista();
					this.crearGaleria(0);
				}
			break;
			case "armarGaleria":
				var nodo = this.req.respuestaXML;
				if(nodo && nodo.childNodes.length >0){
					contGaleria.innerHTML ="";
					var imag = obtenerHijo(nodo,0);
					for(i=0;i<imag.childNodes.length;i++){
						if(imag.childNodes[i].tagName)crearCuadro(imag.childNodes[i]);
					}
					var sep = document.createElement("div");
					sep.className = "floatFix";
					sep.style.border = "0";
					contGaleria.appendChild(sep);
				}
			break;

		}
	}
	var cambiarFoto = function(valor){
		var ind = parseInt(oCl.fotoActual)+(valor);
		oCl.mostrarFotoCat(ind,oCl.categoriaActual);	
	}
	this.mostrarFotoCat = function(indice,idCategoria){
		oCl.categoriaActual = idCategoria;
		var objeto = this.arregloCat[idCategoria][indice];
		var scrn = getBodyDims();
		var pant = getBodyWHAvaible()
		oCl.blockeador.style.display = "block";
		var altoBlock = scrn.h;
		var anchoBlock = scrn.w;
		if(pant.h > altoBlock)altoBlock = pant.h;
		if(pant.w > anchoBlock)anchoBlock = pant.w;
		oCl.blockeador.style.height = (altoBlock)+"px";
		oCl.blockeador.style.width = anchoBlock+"px";
		oCl.popupFotoGal.style.height = (parseInt(objeto.h)+80)+"px";
		oCl.popupFotoGal.style.width = (parseInt(objeto.w)+4)+"px";
	
		oCl.foto.style.height = (parseInt(objeto.h)+80)+"px";
		oCl.foto.style.width = (parseInt(objeto.w)+4)+"px";

		oCl.imagen.style.display = "";
		oCl.imagen.src = objeto.src;
		oCl.imagen.alt = objeto.epigrafe;
		oCl.contFoto.style.height = (objeto.h)+"px";
		oCl.contFoto.style.width = (parseInt(objeto.w)+4)+"px";
		oCl.imgTit.style.width = (parseInt(objeto.w)+4-149)+"px";
		oCl.imgTit.style.height = (34)+"px";	
		oCl.imagen.width = (parseInt(objeto.w));
		if(iniciado != 0)oCl.imagen.height = (parseInt(objeto.h));
		else iniciado = 1;

		oCl.anterior.style.display = "none";
		oCl.siguiente.style.display = "none";
		oCl.contFlecha.style.display = "none";
		oCl.contImag.style.visibility = "hidden";
		oCl.loading.style.display = "block";
		oCl.loading.style.top = (Math.round((oCl.foto.offsetHeight - oCl.loading.offsetHeight)/2))+"px";
		oCl.loading.style.left = (Math.round((oCl.foto.offsetWidth - oCl.loading.offsetWidth)/2))+"px";
		oCl.epigrafe.innerHTML = objeto.epigrafe;
		oCl.centrarContenido();
		if(objeto.indice == this.arregloCat[idCategoria].length-1){
			oCl.siguiente.style.display = "none";
			oCl.siguienteGris.style.display = "";
		}
		else{
			oCl.siguiente.style.display = "";
			oCl.siguienteGris.style.display = "none";
		}
		if(objeto.indice == 0){
			oCl.anterior.style.display = "none";
			oCl.anteriorGris.style.display = "";
		}
		else{
			oCl.anterior.style.display = "";
			oCl.anteriorGris.style.display = "none";
		}
		oCl.epigrafe.style.display = "none";
		oCl.foto.style.visibility = "visible";
		if((objeto.src == oCl.pathActual)){
			cargaFinalizada();
		}
		oCl.fotoActual = objeto.indice;
		oCl.pathActual = objeto.src;

		
	}
	var cargaFinalizada = function(){
		oCl.loading.style.display = "none";
		if(oCl.epigrafe.innerHTML != "")oCl.epigrafe.style.display = "block";
		oCl.contImag.style.visibility = "";	
		oCl.popupFotoGal.style.height = "auto";
		if(oCl.categoriaActual){
			if(oCl.arregloCat[oCl.categoriaActual].length>1)oCl.contFlecha.style.display = "block";
			oCl.foto.style.height = oCl.popupFotoGal.offsetHeight+"px";
		}
		oCl.imgTit.style.width = (oCl.foto.offsetWidth-149)+"px";
		oCl.imgTit.style.height = (34)+"px";	
		
	}
	this.centrarContenido = function(){
		var pos = getScrollPos();
		var scrn = getBodyWHAvaible();
		var dim = getBodyDims();
		var top = (Math.round((scrn.h - this.foto.offsetHeight)/2)+pos.y);
		if(top < 5)top = 5;
		this.foto.style.top = top+"px";
		this.foto.style.left = (Math.round((scrn.w - this.foto.offsetWidth)/2)+pos.x)+"px";
	}
	this.crearEstructura();
}