// JavaScript Document

( function($) {
	var img,tit,actual,npag,pag,imgActiva; //variables para el manejo de las imagenes
	var opts;
	var capaContenedora;
	var altoCapaImg = 0;
	var anchoCapaImg = 0 ; //ancho de la capa que contiene a la imagen
	
	$.fn.amrGalery = function(opciones){
	//valores por defecto
		var defaults = {
			directorioImg	: 'imagenes',
			directorioMin	: 'imagenes/miniaturas',
			directorioCont	: 'imagenes',
			miniaturasNum	: 2,
			miniaturasCol	: 2,
			urlSacarImag	: 'galeriaAmr.php',
			colorFondoCom	: '#000',
			colorTextoCom	: '#fff',
			colorTextoPag	: '#666666',
			colorTextoPagS	: '#143879',
			opacidadMini	: '0.62'
		}
	//cargamos los parametros establecidos por el usuario
		
		opts = $.extend(defaults, opciones);
		capaContenedora = $(this);
		
		var anchoCapaImg = 0 ; //ancho de la capa que contiene a la imagen
		
		actual = 1;
				
	//separamos la direccion
		var dir = opts.urlSacarImag.split("?");
		if(!dir[1]){
			dir[1]="";
		}
		
		$.ajax({
			url			: dir[0],
			data		: dir[1],    //'galeriaAmr.php?id_mun=' + opts.id_mun,
			type		: 'POST',
			beforeSend	: function(objeto){
				capaContenedora.html('<table id="cargando_img"><tr><td><img src="imagenes/cargar_peque.gif" /></td><td style="vertical-align:middle">Cargando datos...</td></tr></table>');
			},
			complete	: function(objeto, exito){
				if(exito == "success"){
					$("#cargando_img").remove();
					
					$('<div />', { // capa que contendrá las miniaturas
						name		: 'miniaturasAmr',
						id			: 'miniaturasAmr'
					}).appendTo(capaContenedora);
					
					$('<div />', { //capa que contendrá la imagen que estamos viendo
						name		: 'imagenAmr',
						id			: 'imagenAmr'
					}).appendTo(capaContenedora);
					
					var aux = objeto.responseText;
					var vecto = aux.split("{|*#*|}");
					
					img = vecto[0].split(",");
					tit = vecto[1].split(",");
					
				//miniaturas
					var t = '<table id="contendor_min" class="contendor_min">';
					
					var fila = "";
					var pagFil = 1;
					var nc = 1;
					var f = "";
					
					for(var i=0;i<img.length;i++){
						if(i%opts.miniaturasCol==0){
							if(f!=""){
								f += "</tr>";
							}
							f += '<tr id="amrPag' + pagFil + '" class="amrPag">';
							
							if(nc > opts.miniaturasNum){
								pagFil++;
								nc = 0;
							}
						}
						f += '<td><img class="amrImgMin" src="' + opts.directorioMin + '/' + img[i] + '" identif="' + i + '" /></td>';
						nc++;
					}
					
					if(f.substring(-5 != "</tr>")){
						f += "</tr>";
					}
					
					t += f;
					t += "</table>";
					
					npag = Math.ceil(img.length/opts.miniaturasNum/opts.miniaturasCol);
					
					$("#miniaturasAmr").append(t);
					
			//añadimos los controles para cambiar de pagina
					var ttt = '<table width="100%" style="margin-top:10px">';
						ttt += '<tr style="height:20px">';
							ttt += '<td width="12" style="vertical-align:middle">';
								ttt += '<a class="amrPrevImgG" href="' +  (actual-1) + '" title="Siguiente pagina"><img class="amrImgPrev" src="' + opts.directorioCont + '/left.png" style="display:none"/>';
							ttt += '</td>';
							ttt += '<td align="center">';
							for(var s=1; s<=npag; s++){
								ttt += '<a class="amrNumImgG" href="' + s + '"><strong>' + s + '</strong</a> ';
							}
							ttt += '</td>';
							if(npag == 1){
								var amrNextImgGVisible = ' style="display:none"';
							}else{
								var amrNextImgGVisible = '';
							}
							ttt += '<td width="12" style="vertical-align:middle">';
								ttt += '<a class="amrNextImgG" href="' +  (actual+1) + '" title="Siguiente pagina"><img class="amrImgNext" src="' + opts.directorioCont + '/right.png"' + amrNextImgGVisible + ' />';
							ttt += '</td>';
						ttt += '</tr>';
					ttt += '</table>';
					
					$("#miniaturasAmr").append('<div>' + ttt + '</div>');
			
			
					$(".amrImgMin").css({
						cursor		: 'pointer',
						'opacity'	: opts.opacidadMini
					});					
					$(".amrImgMin").parent().css({
						padding	: '2px'
					});
										
					$.fn.amrGalery.mostrarPagina(actual);
					$.fn.amrGalery.marcarPagSel();
					
				
				//eventos de las miniaturas
					$(".amrImgMin").click(function(e){
						$.fn.amrGalery.selecconarMiniatura($(this));
						$.fn.amrGalery.seleccionarImagen($(this));
						
						//alert(img[indexImg]);
						
					});
					$(".amrImgMin").mouseout(function(e){
						$(".amrImgMin").each(function(index){
							if($(this).parent().css("background-color") != "#ff0000"){
								$(this).css('opacity',opts.opacidadMini);
							}
						});
					});
					$(".amrImgMin").mouseover(function(){
						$(this).animate({
								'opacity'	: '1'
						},50);
					});
					
				//eventos de la paginacions
					$(".amrNextImgG").click(function(e){
						e.preventDefault();
						var aux = $(this).attr("href");
						$.fn.amrGalery.mostrarPagina(aux);
						if(actual >= 2){
							$(".amrImgPrev").show();
						}
						if(aux == npag){
							$(".amrImgNext").hide();
						}
						
						$(".amrPrevImgG").attr("href" ,parseInt(actual)-1);
						$(this).attr("href",parseInt(actual)+1);
						$.fn.amrGalery.marcarPagSel();
					});
					$(".amrPrevImgG").click(function(e){
						e.preventDefault();
						var aux = $(this).attr("href");
						$.fn.amrGalery.mostrarPagina(aux);
						if(actual == 1){
							$(".amrImgPrev").hide();
						}						
						if(aux < npag){
							$(".amrImgNext").show();
						}
						$(".amrNextImgG").attr("href" ,parseInt(actual)+1);
						$(this).attr("href",parseInt(actual)-1);
						$.fn.amrGalery.marcarPagSel();
					});
					$(".amrNumImgG").click(function(e){
						e.preventDefault();
						var aux = $(this).attr("href");
						$.fn.amrGalery.mostrarPagina(aux);
						if(actual == 1){
							$(".amrImgPrev").hide();
						}else{
							$(".amrImgPrev").show();
						}
						if(actual == npag){
							$(".amrImgNext").hide();
						}else{
							$(".amrImgNext").show();
						}
						
						$(".amrNextImgG").attr("href" ,parseInt(actual)+1);
						$(".amrPrevImgG").attr("href",parseInt(actual)-1);
						$.fn.amrGalery.marcarPagSel();
					});
				}			
			}
		});
	}
	
	$.fn.amrGalery.marcarPagSel = function(){
		$(".amrNumImgG").css({
			color			: opts.colorTextoPag,
			fontSize		: '11px'
		});
		$(".amrNumImgG").each(function(index){
			if($(this).attr("href") == actual){
				$(this).css({
					color			: opts.colorTextoPagS,
					fontSize		: '12px'
				});
			}
		});
	}
	
	$.fn.amrGalery.seleccionarImagen = function(imgSel){
		imgSel.parent().css("background-color","#ff0000");
		imgSel.parent().css("opacity","1");
		var indexImg = imgSel.attr("identif");
		
		anchoCapaImg = capaContenedora.width() - $("#miniaturasAmr").width()-20;
		altoCapaImg = capaContenedora.height() -56;
				
		var anchoImgG = anchoCapaImg;
		var altoImgG = altoCapaImg;
		
		$("#imagenAmr").html('<center><img class="imgVisible" src="' + opts.directorioImg + '/' + img[indexImg] + '" style="margin-top:4px;margin-left:5px; margin-right:5px;display:none" /></center>');
		$("#imagenAmr").append('<div class="comentarioImgVisible" style="padding:5px; margin-top:5px; height:40px; background-color:#ffff00; display:none; overflow:hidden">' + tit[indexImg] + '</div>');
		$(".comentarioImgVisible").css({
			backgroundColor	: opts.colorFondoCom,
			color			: opts.colorTextoCom
		});
		
		//alert($("#imgVisible").height());
		
		$("#imagenAmr").width(anchoCapaImg + "px");
		$("#imagenAmr").css('border' , "#cccccc solid 1px");
		$("#imagenAmr").css('margin-top' , "4px");
				
		if($(".imgVisible").width() > anchoCapaImg){
			var aux = $(".imgVisible").width();
			var coef = anchoCapaImg/aux;
			var na = $(".imgVisible").height()*coef;
			
			$(".imgVisible").width((anchoCapaImg - 10) + "px");
			$(".imgVisible").height(na + "px");
		}
		
		if($(".imgVisible").height() > altoCapaImg){
			var aux = $(".imgVisible").height();
			var coef = altoCapaImg/aux;
			var na = $(".imgVisible").width() * coef;
			
			$(".imgVisible").height((altoCapaImg) + "px");
			$(".imgVisible").width(na + "px");
		}
		
		capaContenedora.width()
		
		$(".imgVisible").load(function() {
			$(this).fadeTo("slow",'1');
			$(".comentarioImgVisible").fadeTo("slow",'1');
		});
	}
	
	$.fn.amrGalery.mostrarPagina = function(pag){
		$(".amrPag").css("display","none");
		$("#amrPag" + pag + ".amrPag").css("display","block");
		actual = pag;
	}
	
	$.fn.amrGalery.selecconarMiniatura = function(mini){
		$(".amrImgMin").css('opacity',opts.opacidadMini);
		$(".amrImgMin").parent().css("background-color","");
		mini.css('opacity','1');
	}
})(jQuery);
