/*Librería que gestiona las distintas vistas del fotoplayer de fotogalerías*/
var aut=0;
var idTimeout;
var tipoAut="";
var temporizador=5000;
var primeraVez = true;


rules_fotogaleria = {

	//Tiempo automático
	tiempoAutomatico:5000,
	//Contenedor de momento ninguno, en tiempo de ejecución
	ctn:"div.fotogaleria",
	//datos recibidos por ajax, de momento ninguno
	data:false,
	//Anima la foto
	anima:false,
	//
	estadoAutomatico: 0,
	//Id timeout
//	idTimeoutAutomatico:,
		
	inicial: function(contexto, ajax){
		if (!contexto)
			contexto = document;
			
		//Anterior siguiente
		$(".btn",contexto).click(rules_fotogaleria.ant_sig);
		$("a#btn_automatico").click(rules_fotogaleria.clickAutomatico)
		ctn = rules_fotogaleria.ctn;
		if (!ctn)
			ctn = document;
		if (ajax){
			rules_modal.evento();
		 	$("a.modal_amigo", contexto).click(function(){
			 	rules_fotogaleria.automaticoOff();
		 	});
		}
		
		if (rules_fotogaleria.estadoAutomatico > 0)
			if ($("#btn_automatico img").length > 0)
				$("#btn_automatico img")[0].src='/img/btn_diapo_on.gif';				
		
	},

	ant_sig:function(){
	
	   rules_fotogaleria.automaticoOff();
		rules_fotogaleria.anima = true;
		var url = this.href;
		alert(url);
		rules_fotogaleria.cargaPagina(url);
		return false;
	},

	clickAutomatico:function(){
	
		if (rules_fotogaleria.estadoAutomatico == 0) {
			rules_fotogaleria.estadoAutomatico = parseInt($.trim($("#fgltotalfotos").html()), 10)-1;
			rules_fotogaleria.automaticoOn();
			}
		else {
			rules_fotogaleria.estadoAutomatico = 0;
			rules_fotogaleria.automaticoOff();
		}
		return false;
	},

	automaticoOn:function(){
		if (rules_fotogaleria.estadoAutomatico > 0){
			if ($("#btn_automatico img").length > 0)
				$("#btn_automatico img")[0].src='/img/btn_diapo_on.gif';
			clearTimeout(rules_fotogaleria.idTimeoutAutomatico);
			rules_fotogaleria.idTimeoutAutomatico = setTimeout("rules_fotogaleria.automaticoOn(); ",rules_fotogaleria.tiempoAutomatico);
			rules_fotogaleria.cargaPagina($("#siguiente")[0].href);
			rules_fotogaleria.estadoAutomatico--;
		}
		else rules_fotogaleria.automaticoOff();
	},
	automaticoOff:function(){
		rules_fotogaleria.estadoAutomatico = 0;
		if ($("#btn_automatico img").length > 0)
			$("#btn_automatico img")[0].src='/img/bt_iniciar_diapositivas.gif';
	},
	
	//Realiza cambio de página
	cambioPagina:function(){
		var datos = rules_fotogaleria.data;
		var ctn = rules_fotogaleria.ctn;
		if (!datos)
			return false;
		if (!ctn)
			ctn = "#containerliquido";

		$(ctn).html(datos);
		rules_fotogaleria.inicial($(ctn), true);
		return true;
	},
	
	//Realiza carga de la página
	cargaPagina:function(urlPage){
		
		//Parámetros
		var urlArr = urlPage.split('#');
		var params = parametros(urlArr[1]);

		$.ajax({
			url: '/modulo/index.html',
			data:params,
			success: function(data){
				//Datos recibidos por ajax
				rules_fotogaleria.data = data;
				var domImagen = $(".imgFotogaleria", $(data));
				var precargaOk = rules_fotogaleria.precargaImagen(domImagen);
				if (!precargaOk)
					rules_fotogaleria.cambioPagina();
				rules_animacion_espera.hide();
			}
		});	
	},
	
	//Realiza precarga de la imagen
	precargaImagen:function(imagenCarga){
		if (imagenCarga[0].complete){
			if (rules_fotogaleria.anima)		
				rules_fotogaleria.animaFoto();
			else rules_fotogaleria.cambioPagina();
			return true;
		}
	
		if (imagenCarga.length > 0){
			var imagenJs = new Image();
			//Ejecuta redimensión
			if (rules_fotogaleria.anima)
				imagenJs.onload = rules_fotogaleria.animaFoto;
			else imagenJs.onload = rules_fotogaleria.cambioPagina;
			//Redireccionamos source para que haga función onload
			imagenJs.src = imagenCarga[0].src;
			return true;
		}
		return false;
	},
	
	//Anima la foto
	animaFoto:function(imagen){
		var domData = $(rules_fotogaleria.data);
	
		var padreDiv = $(".imgFotogaleria", document).parents("div").eq(0);
		var widthImg  = $(".imgFotogaleria", domData)[0].width;
		var heightImg = $(".imgFotogaleria", domData)[0].height;
		if (heightImg > 0 && widthImg > 0){
			padreDiv.css('overflow','hidden');
			padreDiv.animate(
				{width:widthImg,	height:heightImg},
				{duration:"slow",	complete:rules_fotogaleria.cambioPagina }
			);
			return true;
		}
		else rules_fotogaleria.cambioPagina();
		return false;
	}

}


function clickBotonFotogaleria(){
	$(".btn_ajax").click(function(){
		var url=this.href;
		cargaPaginaFotogaleria(url+tipoAut);
		return false;
		
	});
}
function cargaPaginaFotogaleria(url){
	if (primeraVez)
		$("body").append(pixFotogaleria);
	$(".contenido-destacado").load(url+tipoAut,function(){
		clickBotonFotogaleria();
	});
}
function clickBoton(){
	$("a.ico1").click(function(){
		var url=this.href;
		cargaPaginaConciertos(url+tipoAut, this);
		return false;
		
	});
	$("a.ico2").click(function(){
		var url=this.href;
		cargaPaginaConciertos(url+tipoAut, this);
		return false;
	});
}
function cargaPaginaConciertos(url, elem){
	if (primeraVez)
		$("body").append(pixFotogaleria);
		
	var urlArr = url.split('#');
	var params = parametros(urlArr[1]);
	var elemento;
	if (elem != undefined)
		elemento = $(elem).parents(".fotogaleria");
	else elemento = $("div.fotogaleria");
	$.ajax({
		url: '/modulo/index.html',
		data:params,
		success: function(data){
			var datosHtml = $(data);
			var imagenCarga = $(".imgFotogaleria", datosHtml);
			
			if (imagenCarga.length > 0){
				var imagenJs = new Image();
				imagenJs.onload = function(imagen){
					elemento.html(datosHtml);
					clickBoton();
				};
				imagenJs.src = imagenCarga[0].src;
			}
		else { 								
			elemento.html(datosHtml);
			clickBoton();
			}
		}
	});	
}
$(document).ready(
	function(){
		rules_fotogaleria.inicial();
		clickBotonFotogaleria();
		clickBoton();
	}

);

