// JavaScript Document ultimo

var photo_light_box = new Class
({
 	Implements:[light_box],
	indice:0,
	totalPag:1,
	pagActual:1,
	margenMarco: 20,
	altoTitulo: 20,
	imagenActual : null,
	
	openListPhotos: function (url_fotos, _imagenActual,_totalPag,_pagActual){
		this.indice = _imagenActual;
		this.totalPag = _totalPag;
		this.pagActual = _pagActual;
		this.abrirLightBox(url_fotos);
	},
	injectar_contenido: function(e){
		this.mostrarImagenActual();
		this.div_container.setStyle('visibility','visible');
		this.div_container.inject(this.options.container, 'top');
		var myFx = this.div_container.get('morph', {duration: 700});
		this.centrado_inicial();
		this.crearCargador();
		myFx.start({'opacity':[this.div_container.getStyle('opacity'),1]});
		window.addEvent('scroll', this.centrar_contenido.bindWithEvent(this));
		window.addEvent('resize', this.centrar_contenido.bindWithEvent(this));
	},
	mostrarImagenActual: function(){
		this.imagenActual = new Element( 'img', {
										 'src':this.contenido[this.indice].url,
										 'events': {
											'load': this.ajustarContainer.bindWithEvent(this),
											'click': this.clicPhotoActual.bindWithEvent(this)
										 }});
	},
			
	ajustarContainer: function(el){
		var myFx = this.div_container.get('morph', {duration: 700});
		var myFxContenido = this.div_contenido.get('morph', {duration: 700});
		this.imagenActual.setStyle('width', (this.imagenActual.width/1.5));
		this.imagenActual.setStyle('height', (this.imagenActual.height/1.5));
		
		myFx.start({'width':[this.div_container.getStyle('width'),((this.imagenActual.width/1.5)+(this.margenMarco*2))],
					'height':[this.div_container.getStyle('height'),((this.imagenActual.height/1.5)+(this.margenMarco*2)+this.altoTitulo)]});
		
		myFxContenido.start({'width':[this.div_contenido.getStyle('width'),this.imagenActual.width/1.5],
		'height':[this.div_contenido.getStyle('height'),this.imagenActual.height/1.5]}).chain(this.injectarImagen.bindWithEvent(this));
		
	},
	injectarImagen:function(e){
			
		this.centrar_contenido();
		this.insertarBtns();
		var anchoContainer = parseInt(this.div_container.getStyle('width').replace("px", ""));
		var altoContainer = parseInt(this.div_container.getStyle('height').replace("px", ""));
		var anchoContenido = parseInt(this.div_contenido.getStyle('width').replace("px", ""));
		var altoContenido = parseInt(this.div_contenido.getStyle('height').replace("px", ""));
		
		this.div_contenido.setStyles({	'opacity': 0,
									 	'left': this.margenMarco,
										'bottom': this.margenMarco
									});
		
		this.imagenActual.inject(this.div_contenido);
		
		this.div_titulo.set('html', '<span>'+this.contenido[this.indice].ownername+'</span>');
		this.ocultarCargador();		
	},
	crearCargador:function(){
		this.cargando = new Element('div', { 'id': light_box.instances+'cargando', 'class': this.options.tema+'_cargando'});
		this.cargando.inject(this.div_container);
	},
	mostrarCargador:function(){
		var myFxCargando = this.cargando.get('morph', {duration: 700});
		myFxCargando.start({'opacity':[0,1]});
	},
	ocultarCargador:function(){
		var myFx = this.div_contenido.get('morph', {duration: 700});
		var myFxCargando = this.cargando.get('morph', {duration: 700});
		var div_contenido = this.div_contenido;
		myFxCargando.start({'opacity':[1,0]}).chain(function(){myFx.start({'opacity':[div_contenido.getStyle('opacity'),1]});});
	},
	insertarBtns:function(){
		if (this.next != null)
			this.next.dispose();
		if (this.prev != null)
			this.prev.dispose();
		
		this.contBtns = new Element('div', { 'id': light_box.instances+'cont_btns', 'class': this.options.tema+'_cont_btns'});
		this.contBtns.inject(this.div_contenido);
		
		
		if (this.pagActual < this.totalPag && this.totalPag > 1)
		{
			this.nextPage = new Element('div', { 'id': light_box.instances+'nextPage', 'class': this.options.tema+'_nextPage'});
			this.nextPage.addEvents({'click': this.nextPagePhotos.bindWithEvent(this)});
			this.nextPage.inject(this.contBtns);
		}
		
		this.prev = new Element('div', { 'id': light_box.instances+'prev', 'class': this.options.tema+'_prev'});
		this.next = new Element('div', { 'id': light_box.instances+'next', 'class': this.options.tema+'_next'});
		
		this.prev.addEvents({'click': this.prevPhoto.bindWithEvent(this)});
		this.next.addEvents({'click': this.nextPhoto.bindWithEvent(this)});
		
		if (this.indice==0 && this.contenido.length > 1){
			this.next.inject(this.contBtns);
		}else if ((this.contenido.length-1) == this.indice && this.contenido.length > 1){
			this.prev.inject(this.contBtns);
		}else if (this.contenido.length > 1){
			this.next.inject(this.contBtns);
			this.prev.inject(this.contBtns);
		}
		
		if ( this.pagActual  <=this.pagActual && this.pagActual != 1)
		{
			this.prevPage = new Element('div', { 'id': light_box.instances+'prevPage', 'class': this.options.tema+'_prevPage'});
			this.prevPage.addEvents({'click': this.prevPagePhotos.bindWithEvent(this)});
			this.prevPage.inject(this.contBtns);
		}
	},
	
	nextPagePhotos:function(e){
		window.location.href="?opcion=galeria&pag="+(this.pagActual+1);
		this.cerrarLight();
	},
	
	prevPagePhotos:function(e){
		window.location.href="?opcion=galeria&pag="+(this.pagActual-1);
		this.cerrarLight();
	},
	
	nextPhoto:function(e)
	{
		var myFx = this.div_contenido.get('morph', {duration: 700});
		if (this.indice<this.contenido.length){
			this.indice ++;
			myFx.start({'opacity':[1,0]}).chain(this.destruirAnterior.bindWithEvent(this));
		}	
	},
	prevPhoto:function(e)
	{
		var myFx = this.div_contenido.get('morph', {duration: 700});
		if (this.indice>=0){
			this.indice --;
			myFx.start({'opacity':[1,0]}).chain(this.destruirAnterior.bindWithEvent(this));
		}	
	},
	destruirAnterior:function(e)
	{
		this.mostrarCargador();
		this.div_contenido.getLast().dispose();
		this.mostrarImagenActual();
	},
	clicPhotoActual:function(e){
			window.open(this.contenido[this.indice].url_click);
	}
	
 });
