// JavaScript Document
$(document).ready(function(){
	window.JOw = {}
	JOw.Eventos = function(){
		this.Evento;
		this.Page;
	}
	JOw.Eventos.prototype.setPage =function(Page){
		this.Page= Page;
	}
	JOw.Eventos.prototype.getPage =function(){
		return  this.Page;
	}
	JOw.Eventos.prototype.setEvento = function(Evento){
		this.Evento = Evento;
		$.post(this.getPage(),function(rs){
			Evento.html(rs);								  
			$(".toolevento").Tooltip({ofX : 90,ofY : -120 });
			$.Log("Cargando Calendario Eventos...(OK)",{clear:true});
		});	
	}
	JOw.Eventos.prototype.getEvento = function(){
		return this.Evento;
	}
	JOw.Eventos.prototype.ActualizarData = function(mes,ano){
		inst= this;
		$.post(this.getPage(),{ nuevo_mes: mes  , nuevo_ano: ano },function(rs){
			inst.Evento.html(rs);													  
			$(".toolevento").Tooltip({ofX : 90,ofY : -120 });
			$.Log("Eventos..."+mes+"/"+ano+"(OK)",{clear:true});
		});
	}
	JOw.Galeria = function(){
		this.Galeria;
		this.Paginacion;
		this.Items;
		this.Data;
	}
	JOw.Galeria.prototype.setData =function(Data){
		this.Data= Data;
	}
	JOw.Galeria.prototype.setGaleria =function(Galeria){
		this.Galeria= Galeria;
	}
	JOw.Galeria.prototype.getGaleria =function(){
		return  this.Galeria;
	}
	JOw.Galeria.prototype.setPaginacion =function(Paginacion){
		this.Paginacion= Paginacion;
	}
	JOw.Galeria.prototype.getPaginacion =function(){
		return  this.Paginacion;
	}
	JOw.Galeria.prototype.setItems =function(Items){
		this.Items= Items;
	}
	JOw.Galeria.prototype.getItems =function(){
		return  this.Items;
	}
	JOw.Galeria.prototype.getData =function(){
		inst = this;
		$.getJSON(this.Data,function(json){
					var $total 	= 0; 
					var $ip		= inst.getItems(); //items por pagina
					var $limit = $ip;
					var CapaPaginacion = inst.getPaginacion();
					$total =  (json.length / $ip );
					$num = parseInt( (json.length / $ip ) );
					
					
					if($total > $num){
						$total += 1;
					}
					LoadPage = function(start,limit,page){
						var lista_html = '';
						if(json.length < limit){
							limit = json.length;
						}
						for($i=start;	$i < limit ; $i++){
							if(typeof json[$i]== 'object' ){;
									lista_html +='<li>'+
													'<table onclick="$.MostrarFoto('+json[$i].id+')" style="cursor:pointer;background-repeat:no-repeat;background-image:url(images/fondo_flyer.png)" id="tabla_1" width="154" border="0" cellpadding="0" cellspacing="0">'+
													  '<tr><td width="154" height="105"  align="center"><img  class="borde2" src="images/eventos/'+json[$i].thumbnail+'" width="136" height="90" border="0" /></td></tr>'+
													  '<tr><td class="txt_flyer" >'+json[$i].nombre+'</td></tr><tr><td class="txt_flyer" >'+json[$i].fecha+'</td></tr>'+
													'</table>'
											 ' </li>';
									$.Preload("images/"+json[$i].imagen)		 
							}
						}
						inst.getGaleria().html(lista_html);
						$.Log("Mostrando "+start+" a "+(limit)+" Items de "+json.length+" Total / Pagina "+page,{clear:true});
					}
					LoadPage(($ip-$ip),$limit,($ip/$ip));
					PageClick = function(number) {
						CapaPaginacion.pager({ pagenumber: number, pagecount: $total, buttonClickCallback: PageClick });
						LoadPage( ( (number * $ip) -$ip ) , (number * $ip) , number );
					
					}
					CapaPaginacion.pager({ pagenumber: $ip/$ip , pagecount: $total , buttonClickCallback: PageClick });
					
		});
	}
	JOw.Galeria.prototype.getFotos =function(){
		inst = this;
		$.getJSON(this.Data,function(json){
					var $total 	= 0; 
					var $ip		= inst.getItems(); //items por pagina
					var $limit = $ip;
					var CapaPaginacion = inst.getPaginacion();
					$total =  (json.length / $ip );
					$num = parseInt( (json.length / $ip ) );
					
					if($total > $num){
						$total += 1;
					}
					LoadPage = function(start,limit,page){
						var lista_html = '';
						if(json.length < limit){
							limit = json.length;
						}
						var PrecargaFotos = new Array();
						for($i=start;	$i < limit ; $i++){
							if(typeof json[$i]== 'object' ){;
									lista_html +='<li>'+
													'<table style="cursor:pointer;background-repeat:no-repeat;background-image:url(images/fondo_flyer.png)" id="tabla_1" width="154" border="0" cellpadding="0" cellspacing="0">'+
													  '<tr><td width="154" height="105"  align="center"><a href="images/eventos/'+json[$i].foto+'" onclick="return hs.expand(this, {captionId: \'caption1\'})" ><img class="borde2" src="images/eventos/'+json[$i].thumbnail+'" width="136" height="90" border="0" /></a></td></tr>'+
													'</table>'
											 ' </li>';
									PrecargaFotos.push("images/eventos/"+json[$i].foto)		 
							}
						}
						inst.getGaleria().fadeOut("slow",function(){
							inst.getGaleria().hide();
							$.Preloads(PrecargaFotos,function(){
								inst.getGaleria().html(lista_html).
								ready(function(){
									setTimeout(function(){
											inst.getGaleria().fadeIn();			
									},200)
								})							  
							});									  
						});
						
						$.Log("Mostrando "+start+" a "+(limit)+" Items de "+json.length+" Total / Pagina "+page,{clear:true});
					}
					LoadPage(($ip-$ip),$limit,($ip/$ip));
					PageClick = function(number) {
						CapaPaginacion.pager({ pagenumber: number, pagecount: $total, buttonClickCallback: PageClick });
						LoadPage( ( (number * $ip) -$ip ) , (number * $ip) , number );
					
					}
					CapaPaginacion.pager({ pagenumber: $ip/$ip , pagecount: $total , buttonClickCallback: PageClick });
					
					if(json.length == 0){
						inst.getGaleria().html('<center><div style="width:300px;height:100px;margin-top:90px;font:10px verdana;color:#747546" > No se encontraron Resultados... </div></center>');
					}
					
		});
	}
	
	/*--------------------------------------------------*/
	var galeria = new JOw.Galeria();
	galeria.setGaleria($("#lista_galeria"));
	galeria.setPaginacion($("#paginacion"));
	
	$.MostrarGaleria = function(){
		$("#lista_galeria").html('<center><div style="width:100px;height:100px;margin-top:90px;font:10px verdana;color:#747546"><img src="images/35.gif" /><br />Cargando...</div></center>');
		$("#regresar").fadeOut();
		galeria.setData("clases/_json.php?List=Galeria");
		galeria.setItems(6);
		galeria.getData();
	}
	$.MostrarFoto = function(evento){
		$("#lista_galeria").html('<center><div style="width:100px;height:100px;margin-top:90px;font:10px verdana;color:#747546"><img src="images/35.gif" /><br />Cargando...</div></center>');
		$("#regresar").fadeIn();
		galeria.setData("clases/_json.php?List=Fotos&Evento="+evento);
		galeria.setItems(9);
		galeria.getFotos();
	
	}
	
	var page    = window.location.toString();
	var Name 	= page.substring(page.length,page.lastIndexOf("/")+1);
	var reg 	= new RegExp("(.+)\\.(html|php|htm)","g");
	PageName 	= Name.replace(reg ,"$1");	
	
	switch(PageName){
		case 'galeria':
			$.MostrarGaleria(); 
			var obj = new JOw.Eventos();
			obj.setPage("_galeria.php");
			obj.setEvento($("#calendario_eventos"));
			$.MoveGaleria = function(mes,ano){	obj.ActualizarData(mes,ano);	}
		break;
		default:
			var obj = new JOw.Eventos();
			obj.setPage("_eventos.php");
			obj.setEvento($("#calendario_eventos"));
			$.MoveEventos = function(mes,ano){obj.ActualizarData(mes,ano);
			}
	}
})
