/*
 * JavaScript Components Beta
 * http://dewcms.com/
 *
 * Copyright 2010, dewenir
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://www.dewenir.es/license
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */

var configflickr = {
	cssGaleria: '.galeria-flickr',
	init: function(){
		this.config();
		this.cambiarUrlImg();
	},
	config: function(){
		this.componente = $(this.cssGaleria);
		return;
	},
	cambiarUrlImg: function(){
		this.componente.find('img').each(function(){
			var miniatura = $(this);
			var urlImageSmall = miniatura.attr('src');
			var urlImageBig = urlImageSmall.replace('_s.jpg','_b.jpg');
			miniatura.parents('a').attr('href', urlImageBig).attr('rel', 'flickrGroup');
			});	
		}
	};
	
var cargarComponenteHomeFlickr = {
		id: '#section',
		css: '._galeriaflickr',
		cssIgnoreAjax: 'ignoreAjax',
		cssContenedorRedesSociales: '.listado-social-media',
		cssContenedorFlickr: '.galeria-flickr',
		init: function(capaEnLaQueSeIncluye){
			if($(this.css).size() == 0) return;
			this.capaDondeSeIncluye = $(capaEnLaQueSeIncluye);
			this.config();
			this.engancharAutomatico();
			this.traerGaleria();
		},
		config: function(){
			this.section = $(this.id);
			this.contenedor = this.section.find(this.cssContenedorRedesSociales);
			this.flickr = this.contenedor.find(this.css);
			this.flickrLI = this.flickr.parents('li');
			this.flickrUL = this.flickr.parents('ul');
			this.capaDondeSeIncluye.prepend(this.contenedorGaleria());
			this.contenedorFlickr = this.section.find(this.cssContenedorFlickr);
			//this.contenedorFlickr.hide();
			return;
		},
		engancharAutomatico: function(){
			//this.flickrLI.hide();
			this.contenedorFlickr.append(this.loadingTemplate());
			return;		
		},
		loadingTemplate: function(){
			var html = '';
			html += "<p class=\"loadingGaleria\">waiting flickr gallery, please wait...</p>\n";
			return html;
			
		},
		engancharEnlace: function(){
			var that = this;
			$(this.id).find(this.css).each(function(){
				if(!$(this).hasClass(that.cssIgnoreAjax)){
					that.eventClick(this);
					return false;
				}
			});
			return;		
		},
		contenedorGaleria: function(){
			var html = '';
			html += '<div class=\"galeria-flickr _flickr-inicio"\><\/div>';
			return html;
		},
		traerGaleria: function(){		
			var that = this;
			var action = this.flickr.attr('href');
			$.ajax({
				type: "POST",
			   	url: action,
			   	dataType: "html",
			   	success: function(respuesta){
					var servidor = $(respuesta);
					html = servidor.find('#section .galeria-flickr').html();
					//that.flickrLI.next().remove();
					//that.flickrLI.show();					
					that.contenedorFlickr.html(html);
					//that.contenedorFlickr.show();
					engancharZoomFlickr.init();
					return;
			   	},
			   	error: function (XMLHttpRequest, textStatus, errorThrown) {
			   		//$("#error").html(XMLHttpRequest.responseText);
				   alert('lo sentimos. Ha habido un error en el servidor ' + textStatus);
			   	}
			});
			
		}	
				
	};	

	var engancharZoomFlickr = {
		init: function(){
			configflickr.init();
			$('.galeria-flickr a[rel=flickrGroup]').fancybox({
				'titlePosition'	: 'inside'
			});		
		}
	}; 
