/**************************************************************************************************************************************************/
/*                                             Desarrollado por La Difusora - Comunicación Digital - 2010                                         */
/**************************************************************************************************************************************************/

//Fader entre imagenes, no abre popup
(function( $ ){  
	$.fn.LDListFader = function(opciones_user){
		opciones_default = {
			play:true,
			time:5000,
			btn:false,
		};	
		opc = jQuery.extend(opciones_default,opciones_user);
		var id = $(this).attr("id");
		
		//Inicializamos los objetos de control
		var obj_tmp = new Temporizador();
		var obj_fad = new play_fader('#'+id+'_medt',"#"+id+"_med > div");
		obj_tmp.Ejecucion = obj_fad.cruzar;
		obj_tmp.Intervalo = opc.time;
		
		//Armamos la tapa del fader para que funciones
		$("#"+id+"_med").before('<div id="'+id+'_medt" />');
		$('#'+id+'_medt').addClass(opc.clase2).css('float','left').css('position','absolute').hide();
		
		//Habilitamos las funciones de los botones
		if(opc.btn){
			$("#"+id+" a:first").bind("click",function(e) {
				obj_fad.cruzar(0);
				obj_tmp.Detener();
			});
			$("#"+id+" a:last").bind("click",function(e) {
				obj_fad.cruzar(1);
				obj_tmp.Detener();
			});
		}
		if(opc.play){ obj_tmp.Iniciar(); }
	};
})(jQuery);




//Abre una foto individual en un popup
(function( $ ){  
	$.fn.LDFotoIndividual = function(opciones_user){
		opciones_default = {
			name_back:'default',
			page:'../fotogaleria/fotogaleria_funciones.php',
			id:1,
			w:400,
			h:400,
			fijo:false,
		};	
		opc = jQuery.extend(opciones_default,opciones_user);
		$('#top_div').before('<div id="'+opc.name_back+'_back" />');
		var element = $('#'+opc.name_back+'_back');
		element.addClass('capa_100');
		element.css('z-index',20);
		element.click(function(){cerrar_ventana('#'+opc.name_back+'_w','#'+opc.name_back+'_back');});
		element.height($(document).height());
		element.width($(document).width());
		
		$('#top_div').before('<div id="'+opc.name_back+'_w" />');
		$('#'+opc.name_back+'_w').css('z-index',30).addClass('vflot');
		
		var element = $(this);
		$.ajax({
			type:"POST",
			url:opc.page,
			data:'id='+opc.id+'&w='+opc.name_back,
			timeout:5000,
			error: function(objAJAXRequest, strError){cerrar_ventana('#'+opc.name_back+'_w','#'+opc.name_back+'_back')},
			success: function(data){
				abrir_ventana((opc.w+4),(opc.h+30),data,'#'+opc.name_back+'_w','',false);
				var marc_div = $('#'+opc.name_back+'_w');
				var load_div = $('#'+opc.name_back+'_load');
				var cont_div = $('#'+opc.name_back+'_cont');
				element.each(function(u,v){
					var href = $(this).attr('href');
					$(this).attr('href','javascript:;');
					$(this).click(function(){
						load_div.show();
						cont_div.hide();
						$('#'+opc.name_back+'_img').remove();
						$('#'+opc.name_back+'_btn').hide();
						var img = new Image(); 
				    	$(img).load(function (){
							cont_div.append(this);
							$(this).hide();
							var scrollPosition = $(window).scrollTop();
							$('#'+opc.name_back+'_w .line_bot').width((this.width+4)-79);
							var imagen = $(this);
							marc_div.animate({
								width:(this.width+4)+'px',
								marginLeft:((-1*(this.width))/2)+'px',
								marginTop:(-1*(this.height+30)/2)+scrollPosition+'px'
							},500);
							marc_div.animate({height:(this.height+30)+'px'},500,
								function(){
									load_div.hide();
									cont_div.show();
									imagen.fadeIn('normal');
									$('#'+opc.name_back+'_btn').show();
							});
							$(this).wrap('<a href="'+href+'" />');	
						}).attr('src',$(this).attr('rel')).attr('id',opc.name_back+'_img').attr('border',0);
						$('#'+opc.name_back+'_back').fadeTo('fast',0.7);
						visualizar_ventana('#'+opc.name_back+'_w')
					});
				});
			}
		});
	};
})(jQuery);


//Mueve un slide de imagenes, abre popup
(function( $ ){  
	$.fn.LDGaleriaSlide = function(opciones_user){
		opciones_default = {
			play:true,
			btn:true,
			time:5000
		};	
		opc = jQuery.extend(opciones_default,opciones_user);
		var id = $(this).attr("id");
		
		//Inicializamos los objetos de control
		var obj_tmp = new Temporizador();
		var obj_fad = new play_slide('#'+id+'_med',"#"+id+"_medt > div");
		obj_tmp.Ejecucion = obj_fad.cruzar;
		obj_tmp.Intervalo = opc.time;
		
		//Habilitamos las funciones de los botones
		if(opc.btn){
			$("#"+id+" a:first").bind("click",function(e) {
				obj_fad.cruzar(0);
				obj_tmp.Detener();
			});
			$("#"+id+" a:last").bind("click",function(e) {
				obj_fad.cruzar(1);
				obj_tmp.Detener();
			});
		}
		if(opc.play){ obj_tmp.Iniciar();}
	};
})(jQuery);



//Abre una foto y controla la galeria
(function( $ ){  
	$.fn.LDFotoMultiple = function(opciones_user){
		opciones_default = {
			name_back:'default',
			page:'../fotogaleria/fotogaleria_funciones.php',
			path:'../archivos/fotogaleria/',
			name:'galeria',
			id:1,
			w:400,
			h:400,
			fijo:false,
		};	
		opc = jQuery.extend(opciones_default,opciones_user);
		
		$('body').before('<div id="'+opc.name_back+'_back" />');
		var element = $('#'+opc.name_back+'_back');
		element.addClass('capa_100');
		element.css('z-index',20);
		element.click(function(){cerrar_ventana('#'+opc.name_back+'_w','#'+opc.name_back+'_back');});
		element.css('height','100%');
		element.css('width','100%');

		$(window).scroll(function(){ 
			$('#'+opc.name_back+'_back').css('height',($(window).height()+$(window).scrollTop())+'px');
			$('#'+opc.name_back+'_back').css('width',($(window).width()+$(window).scrollLeft())+'px');
	    });
	   
	   $(window).resize(function(){ 
			$('#'+opc.name_back+'_back').css('height',($(window).height()+$(window).scrollTop())+'px');
			$('#'+opc.name_back+'_back').css('width',($(window).width()+$(window).scrollLeft())+'px');
	    });
	   
	   
		$('body').before('<div id="'+opc.name_back+'_w" />');
		$('#'+opc.name_back+'_w').css('z-index',30).addClass('vflot');
		
		var element = $(this);
		$.ajax({
			type:"POST",
			url:opc.page,
			data:'id='+opc.id+'&w='+opc.name_back,
			timeout:5000,
			error: function(objAJAXRequest,strError){cerrar_ventana('#'+opc.name_back+'_w','#'+opc.name_back+'_back')},
			success: function(data){
				var el = $('#'+opc.name_back+'_w');
				el.width((opc.w+4));
				el.height((opc.h+30));
				el.css("margin-left",(-1*(opc.w+4)/2)+'px');
				el.css("top",(20)+'px');
				el.html(data);
			
				$('#'+opc.name_back+'_w .line_bot').width((opc.w+4)-79);
				var marc_div = $('#'+opc.name_back+'_w');
				var load_div = $('#'+opc.name_back+'_load');
				var cont_div = $('#'+opc.name_back+'_cont');
				var titu_div = $('#'+opc.name_back+'_titu');
				
				load_div.css('width',opc.w+'px');
				load_div.css('height',(opc.h-60)+'px');
				cont_div.css('width',opc.w+'px');
				cont_div.css('height',(opc.h-30)+'px');
				
				var value = eval(lista);
				var i = 0;
				
				var obj_gal = new cargar_imagen(cont_div,load_div,titu_div,opc);
				obj_gal.indice = 0;
				obj_gal.maximo = 0;
				$.each(value,function(u,v){
					obj_gal.inicializar(v.arch,v.id,v.titulo)				  
					obj_gal.maximo++;
				});
				
				cont_div.click(function(){
					obj_gal.incrementar();
					obj_gal.cambiar();
				})
				
				$('#'+opc.name_back+'_right').click(function(){
					obj_gal.incrementar();
					obj_gal.cambiar();
				})
				
				$('#'+opc.name_back+'_left').click(function(){
					obj_gal.decrementar();
					obj_gal.cambiar();
				})
				
				element.each(function(u,v){
					$(this).click(function(){
						var id = $(this).attr('rel');
						obj_gal.indice = id;
						obj_gal.cambiar();
						$('#'+opc.name_back+'_back').fadeTo('fast',0.7);
						visualizar_ventana('#'+opc.name_back+'_w')
					});
				});
			}
		});
	};
})(jQuery);

var cargar_imagen = function(cont_div,load_div,titu_di,opc){ 
	this.maximo;
	this.indice;
	this.flag = true;
	var instancia;
	var data = Array();
	var ids = Array();
	var titulo = Array();
	
	instancia = this;
	this.inicializar = function (d,i,t){
		data[this.maximo] = d;
		ids[this.maximo] = i;
		titulo[this.maximo] = t;
	}
	
	this.incrementar = function() {
		this.indice++;
		if(this.indice > (this.maximo-1))
			this.indice = this.maximo-1;
		return this.indice;
	};
	
	this.decrementar = function() {
		this.indice--;
		if(this.indice < 0)
			this.indice = 0;
		return this.indice;
	};
	
	this.cambiar = function() {
		if(this.flag){
			var imagen = opc.path+data[this.indice]+'/'+opc.name+'_'+ids[this.indice]+'.jpg';
			this.flag = false;
			load_div.show();
			cont_div.hide();
			$('#'+opc.name_back+'_img').unbind();
			$('#'+opc.name_back+'_img').remove();
			var img = new Image();
			$(img).load(function (){
				cont_div.append(this);
				$(this).hide();
							
				if(this.height < opc.h){
					var margen = (opc.h-this.height)/2;
					cont_div.css('height',(opc.h-30-margen)+'px');
					cont_div.css('padding-top',(margen-30)+'px');
				}
				load_div.hide();
				cont_div.show();
				$(this).fadeIn('normal');
				titu_di.html(titulo[instancia.indice]);
				$(this).wrap('<a href="javascript:;" id="'+opc.name_back+'_clk" />');	
				instancia.flag = true;
			}).attr('src',imagen).attr('id',opc.name_back+'_img').attr('border',0);	
		}
	}
}