//variables globales al script
var array_fotos;
var array_ids;
var cambia_antes;
var cambia_despues;
$(document).ready(function() {
	$("#pag_siguiente").click(function () {
		$(".navegador").load("pagina_siguiente.html");
		return false;
	});

	num_galerias = $("#num_galerias").val();
	if (num_galerias>0) {
		cargar_mas_galerias();
		//Inicializar DatePicker para los filtros de mas galerias
		$('.filtro_f_creacion').datepicker({beforeShow: f_creacion_customRange});
		//Localizacion de los DatePicker
		$.datepicker.regional['es'];
	}
});

function cargar_navegador(galeria,pagina,elementos) {
	var url = "pinta_navegador_wraper_x.asp";
	$.post(url, { galeria : galeria, pagina : pagina, elementos : elementos }, resultado_cargar_navegador);
}

function resultado_cargar_navegador(data) {
	$(".navegador").html(data);
}

function cambia_elemento(id_galeria,id_foto,nombre_foto,nro) {
	array_fotos[0]=nro;
	$(".texto_extendido").hide();	//escondo el texto extendido (por si está abierto)
	extension = (nombre_foto.substr(nombre_foto.lastIndexOf(".")+1)).toLowerCase();
	switch (extension) {
		case "flv":
			pinta_flv(id_galeria,nombre_foto);
			break;
		case "jpg":
		case "gif":
		case "png":
			pinta_foto(id_galeria,nombre_foto);
			//Calculo cuál debe ser la siguiente foto a mostrar para el navegador sobre las fotos.
			var encontrado = false;
			for(i=1;i<array_fotos.length && !encontrado;i++)
			encontrado = (array_fotos[i] == nombre_foto);
			if (encontrado) array_fotos[0] = i-1;
			break;
		default:
			$("#foto_video").html("Formato no soportado : "+extension);
			break;
	}
	pinta_texto(id_galeria, id_foto);
	pinta_extendido(id_galeria, id_foto);
}

function findPos(obj) {
	var curleft = curtop = 0;

	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;

	} while (obj = obj.offsetParent);
	return [curleft,curtop];
	}
}

function pinta_flv(id_galeria,nombre_foto) {
	_pinta_flv(id_galeria,nombre_foto,true);
}

function _pinta_flv(id_galeria,nombre_foto,autostart) {
	$("#foto_video").html("<p><br /><br /><br />Si no puede ver este video, <br />por favor instale Macromedia Flash Player</br /> haciendo click en el siguiente enlace<br /> <a href='http://www.macromedia.com/go/full_flashplayer_win_ie'>http://www.macromedia.com/go/full_flashplayer_win_ie</a></p>");
	carpeta=location.hostname;
	var media = new SWFObject("visor/flvvisor.swf","foto_actual","480","360","5");
	media.addVariable("file","http://" + carpeta + "/galeria-multimedia/galerias/" + id_galeria + "/" + nombre_foto);
	media.addVariable("displaywidth","480");
	media.addVariable("displayheight","360");
	media.addVariable("width","480");
	media.addVariable("height","360");
	media.addParam("allowfullscreen","true");
	media.addVariable("image","http://" + carpeta + "/galeria-multimedia/images/caratula.png");
	media.addVariable("autostart",autostart);
	media.addVariable("shuffle","false");
	media.addVariable("overstretch","fit");
	media.addVariable("bufferlength","5");
	media.addVariable("logo","http://" + carpeta + "/galeria-multimedia/images/logotipo.png");
	media.addVariable("showdigits","false");
	media.addVariable("usefullscreen","true");
	
	media.write("foto_video");
	fotos_actuales = $("#foto_actual").length;
	if (fotos_actuales > 0) {
		add_navegador_foto(id_galeria,nombre_foto,20);
		$("#foto_video").html("<table cellpading=0 cellspacing=0><tr><td align=right><span style=\"cursor:pointer;font-size:8pt;background-color:#999;color:#fff;padding:0px 4px;\" onclick=\"_pinta_flv("+id_galeria+",'"+nombre_foto+"',false);abrirPopupFlv('galeria-multimedia/galerias/"+id_galeria+"','"+nombre_foto+"','http://" + carpeta + "/','foto_actual');\">abrir en otra ventana</span></td></tr><tr><td>"+ $("#foto_video").html() +"</td></tr></table>");
	}
	return false;
}

function pinta_foto(id_galeria,nombre_foto) {
	$("#foto_video").html("<img src=\"galerias/"+id_galeria+"/"+nombre_foto+"\" id='foto_actual' onload='add_navegador_foto("+id_galeria+",\""+nombre_foto+"\",0)'/>");
	
}

//Añade la funcionalidad que permite ir hacia la foto siguiente haciendo click sobre la foto actual
function add_navegador_foto(id_galeria, nombre_foto,desplazamiento) {	

	//añado el evento de click 
	
	if (nombre_foto == "") {
		src = $("#foto_video img").attr("src");
		nombre_foto = src.substr(src.lastIndexOf("/")+1);
	}
	
	extension = (nombre_foto.substr(nombre_foto.lastIndexOf(".")+1)).toLowerCase();
	

	//if (extension!="flv") {
	;
		if (array_fotos==undefined) {
			
			//obtengo el array de fotos de esta galería
			
			
			$("#div_var").load("obtener_array_fotos.asp", {id_galeria:id_galeria, nombre_foto:nombre_foto}, function() {
				
				eval($("#div_var").html()); //obtiene array_fotos y array_ids. ** El índice 0 de array_fotos contiene la referencia hacia la foto actual
				desplazador(id_galeria,desplazamiento);
				//add_navegador_foto_2(id_galeria);
				$("#div_var").text("");
				
			});
		} else {
			desplazador(id_galeria,desplazamiento);
			//add_navegador_foto_2(id_galeria);
		}
	//}
}
function desplazador(id_galeria_actual,desplazamiento){
	
	
		foto_siguiente = (parseInt(array_fotos[0])+1)%(array_fotos.length)
		if (foto_siguiente == 0) foto_siguiente=1;
		
		
		cambia_despues="\"cambia_elemento("+id_galeria_actual+","+array_ids[foto_siguiente]+",'"+array_fotos[foto_siguiente]+"','"+foto_siguiente+"');\"";
		
		foto_antes = (array_fotos[0]-1);
		if (foto_antes <= 0) foto_antes=array_fotos.length-1;
		
		cambia_antes="\"cambia_elemento("+id_galeria_actual+","+array_ids[foto_antes]+",'"+array_fotos[foto_antes]+"','"+foto_antes+"');\"";
	
	
		ancho=document.getElementById("foto_actual").width;
		alto=document.getElementById("foto_actual").height;
		pos=findPos(document.getElementById("foto_actual"));
		
		x=pos[0];
		y=pos[1];
		if (desplazamiento>0){//es video
			ancho_flecha=50;
			flecha_right=(x+(ancho/1));
		}else{//es imagen
			ancho_flecha=((ancho/2)+50);
			flecha_right=(x+(ancho/2));
		}
		
		resultado="<div style='position:absolute; z-index:10; left:"+(x-50)+"px;top:"+(y+desplazamiento)+"px;text-align:center;width: "+(ancho_flecha)+"px; height: "+((alto))+"px;' id='foto_antes' onclick="+cambia_antes+"  ></div>";
		resultado=resultado+"<div style='position:absolute; z-index:10; left:"+(flecha_right)+"px;top:"+(y+desplazamiento)+"px;text-align:center;width: "+(ancho_flecha)+"px; height: "+((alto))+"px; '  id='foto_despues' onclick="+cambia_despues+" ></div>";
		resultado=resultado+"<span style='position:absolute; z-index:5; left:"+(x-30)+"px;top:"+(y+(alto/2)-29+desplazamiento)+"px;text-align:center;width: "+26+"px; height: "+58+"px;' id='flecha_antes' >"+"<img src='../imagenes/galeria_flecha_izquierda.png' onclick="+cambia_antes+" />"+"</span>";
		resultado=resultado+"<span style='position:absolute; z-index:5; left:"+(parseInt(x)+parseInt(ancho)+4)+"px;top:"+(y+(alto/2)-29+desplazamiento)+"px;text-align:center;width: "+26+"px; height: "+58+"px;' id='flecha_despues' >"+"<img src='../imagenes/galeria_flecha_derecha.png' onclick="+cambia_despues+" />"+"</span>";
		
	
	

	
	
	document.getElementById("foto_divs").innerHTML=resultado;
}
//gestión del evento click propiamente dicho de cada foto, que permitirá cambiar hacia la foto siguiente en caso que el elemento actual sea una foto (puede ser un video)
function add_navegador_foto_2(id_galeria_actual) {
/*
alert(array_fotos);
alert(array_ids);
	$("#foto_despues").click(function() {	
		desplazador("img");
		//alert(array_fotos[0]+"//"+array_fotos.length);
		foto_siguiente = (parseInt(array_fotos[0])+1)%(array_fotos.length)
		if (foto_siguiente == 0) foto_siguiente=1;
		alert(foto_siguiente);
		array_fotos[0] = foto_siguiente;
		cambia_elemento(id_galeria_actual,array_ids[foto_siguiente],array_fotos[foto_siguiente]);
	});
	$("#foto_antes").click(function() {	
		//alert("click antes");
		foto_antes = (array_fotos[0]-1);
		if (foto_antes == 0) foto_antes=array_fotos.length-1;
		array_fotos[0] = foto_antes;
		cambia_elemento(id_galeria_actual,array_ids[foto_antes],array_fotos[foto_antes]);
	});
*/	
}

function pinta_texto(galeria, foto) {
	var url = "texto_foto_x.asp";
	$.post(url,{ galeria : galeria, foto : foto }, respuesta_texto_foto);
}

function pinta_extendido(galeria,foto) {
	var url = "texto_extendido_x.asp";
	$.post(url,{ galeria : galeria, foto : foto }, respuesta_texto_extendido);
}

function respuesta_texto_foto(data) {
	$("#texto_foto").html(unescape(data));
}

function respuesta_texto_extendido(data) {
	$("#texto_extendido").html(unescape(data));
}

function cargar_mas_galerias(pagina) {
	var url = "mas_galerias_x.asp";
	var titulo = $("#filtro_titulo").val();
	var descripcion = $("#filtro_descripcion").val();
	var f_creacion_desde = $('#filtro_f_creacion_desde').datepicker("getDate");
	var f_creacion_hasta = $('#filtro_f_creacion_hasta').datepicker("getDate");
	f_creacion_desde = $.datepicker.formatDate('yy-mm-dd', f_creacion_desde);
	f_creacion_hasta = $.datepicker.formatDate('yy-mm-dd', f_creacion_hasta);
	var num_fotos_desde = $("#filtro_num_fotos_desde").val();
	var num_fotos_hasta = $("#filtro_num_fotos_hasta").val();
	var visitas_desde = $("#filtro_visitas_desde").val();
	var visitas_hasta = $("#filtro_visitas_hasta").val();
	var orden = $("#filtro_orden").val();
	var id_galeria_actual = $("#id_galeria_actual").val();

	if (pagina === undefined ) {
		pagina = 1;
    }

	$.post(url, { pagina : pagina, titulo : titulo, descripcion : descripcion, f_creacion_desde : f_creacion_desde, f_creacion_hasta : f_creacion_hasta, num_fotos_desde : num_fotos_desde, num_fotos_hasta : num_fotos_hasta, visitas_desde : visitas_desde, visitas_hasta : visitas_hasta, orden : orden, id_galeria_actual : id_galeria_actual }, resultado_mas_galerias);
	return false;
}

function resultado_mas_galerias(data) {
	$(".contenedor_mas_galerias").html(unescape(data));
}

// Funciones para filtrar entre fechas
// Si se ha introducido una fecha en uno de los input se restringe el otro desde o hasta
//para que desde siempre sea menor que hasta.
function f_creacion_customRange(input) {
	return {
		minDate: (input.id == 'filtro_f_creacion_hasta' ? $('#filtro_f_creacion_desde').datepicker("getDate") : null),
		maxDate: (input.id == 'filtro_f_creacion_desde' ? $('#filtro_f_creacion_hasta').datepicker("getDate") : null)
	};
}

//Sirve para mostrar texto extendido en caso de existir
function extiende_texto() {
	$(".texto_extendido").fadeIn("slow");
	return false;
}
function esconde_texto() {
	$(".texto_extendido").fadeOut("slow");
	return false;
}