Gallery = {
  onMouseOpacity : 0.67,
  // ---------------------------------------------------------
  // Esta es la galeria normal, no tiene ninguna gracia
  insertaSimple : function(selector, selectorInner) {
    // Initialize Advanced Galleriffic Gallery
  	objGalleryArt = {
    	imageContainerSel:      selector + ' .slideshowArt',
    	controlsContainerSel:   selectorInner + ' .controlsArt',
    	captionContainerSel:    selector + ' .emboxArt',
    	loadingContainerSel:    selector + ' .loaderArt',
    	thumbContainerSel:      selectorInner + ' ul.thumbs',
    	renderNavControls:      true,
    	renderSSControls:       true,
    	onPageTransitionIn:     function() {
    		$(this.thumbContainerSel).fadeIn('fast');
    		$(this.controlsContainerSel+' .nav-controls .next').html('&nbsp;');
    		$(this.controlsContainerSel+' .nav-controls .prev').html('&nbsp;');
    	}
    };
    Gallery.instalaGaleria(selector, selectorInner, objGalleryArt);
  },
  // ---------------------------------------------------------
  // Esta es la galeria que se usa en las portadas y que se
  // mueve sola (slideshow)
  insertaSlideshowPort : function(selector, selectorInner) {
    var timerSlideshow = 0;
    var timeDelay = 7000;
  	objGallery = {
  	  delay:                  timeDelay,
  		preloadAhead:           2,
    	imageContainerSel:      selector + ' .slideshow',
    	controlsContainerSel:   selector + ' .controls',
    	captionContainerSel:    selector + ' .embox',
    	loadingContainerSel:    selector + ' .loader',
    	thumbContainerSel:      selectorInner + ' ul.thumbs',
    	renderNavControls:      true,
    	renderSSControls:       true,
    	autoStart:              true,
    	onChange:               undefined,
    	onTransitionOut:        function(callback) {
        callback.call(this);
    	},
    	onTransitionIn:         function() {
    	  var theImg = $(this.imageContainerSel + ' img').attr('src');
    	  var thePage = $(this.captionContainerSel + ' a:first').attr('href');
    	  $(selector + ' .slideshowAlt').hide().html('<a href="'+thePage+'"><img src="'+theImg+'" /></a>').fadeIn();
    	},
    	onPageTransitionOut:    undefined,
    	onPageTransitionIn:     function() {
    	  $(this.controlsContainerSel+' .nav-controls .next').html('&nbsp;');
    		$(this.controlsContainerSel+' .nav-controls .prev').html('&nbsp;');
    	}
    };
    var theGallery = Gallery.instalaGaleria(selector, selectorInner, objGallery);
    $(selector + ' .controls .next, ' + selector + ' .controls .prev').click(function() {
      clearTimeout(timerSlideshow);
      timerSlideshow = setTimeout(function() {
          $(selector + ' .controls .ss-controls .play').click();
      }, timeDelay + 3000);
	  });
  },
  // ---------------------------------------------------------
  // En esta galeria, tiene un redirect "page" se usa en portadas
  // es similar a las Multi pero se usa en portada nomas.
  // Además es cíclica.
  insertaPort : function(selector, selectorInner, strThumbsPerPage) {
    var thumbsPerPage = strThumbsPerPage*1;
	  // Initialize Advanced Galleriffic Gallery
	  objGallery = {
  		numThumbs:              thumbsPerPage,
  		preloadAhead:           3,
  		onPageTransitionIn:     function() {
        // Para generar la paginación ciclica
        var newPag = $(selectorInner + ' .paginationReal');
        newPag.empty();
        var total = $(selectorInner + ' li').size();
        var lastPage = Math.floor(total / thumbsPerPage)*thumbsPerPage;
        if(lastPage == total) lastPage = 0;
        if($(selectorInner+' .pagination *:first').hasClass('current')) {
  		    newPag.append('<span class="void">&nbsp;&nbsp;</span>');
  		  } else {
  		    $(selectorInner+' .pagination *:first')
  		        .html('&nbsp;&nbsp;').appendTo(newPag).wrap('<span class="prev"></span>');
  		  };
  		  newPag.append('&nbsp;');
  		  if($(selectorInner+' .pagination *:last').hasClass('current')) {
  		    newPag.append('<span class="void">&nbsp;&nbsp;</span>');
  		  } else {
  		    $(selectorInner+' .pagination').children(':last')
  		        .html('&nbsp;&nbsp;').appendTo(newPag).wrap('<span class="next"></span>');
  		  };
       // Para hacer el redirect
        $(selectorInner+' a.thumb').bind('click', function() {
          $(this).fadeTo('fast', Gallery.onMouseOpacity);
  			  $(this).fadeTo('fast', 1.0);
          var page = $(this).attr('page');
  		    if(typeof page != 'undefined') {
            window.location.href = page;
    		  };
        });
  			$(this.thumbContainerSel).fadeIn('fast');
  		}
	  };
	   Gallery.instalaGaleria(selector, selectorInner, objGallery);
  },
  // ---------------------------------------------------------
  // En esta galeria, la pagina que viene en "page" se
  // carga en "selector" mediante un load
  insertaMultiLoad : function(selector, selectorInner, strThumbsPerPage) {
    var thumbsPerPage = strThumbsPerPage*1;
	  // Initialize Advanced Galleriffic Gallery
	  objGallery = {
  		numThumbs:              thumbsPerPage,
  		onPageTransitionIn:     function() {
  		  // alert($(selectorInner).prev().html());
        var newPag = $(selectorInner).prev().find('.paginationReal');
        newPag.empty();

        if($(selectorInner+' .pagination *:first').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Anterior" width="67" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination *:first')
  		        .html('<img src="/noticias/imag/site/be_anterior.jpg" alt="Anterior " width="67" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };
  		  //alert(newPag.html());
  		  newPag.append('&nbsp;');
  		  if($(selectorInner+' .pagination *:last').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Siguiente" width="70" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination').children(':last')
  		        .html('<img src="/noticias/imag/site/be_siguiente.jpg" alt="Siguiente" width="70" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };
        //alert(newPag.html());
  		  var actual = $(selectorInner+' .pagination .current').text();
        $(selectorInner).prev().find('.actual').text(actual);
        $(selectorInner+' .pagination').hide();
        newPag.css('float', 'left');

        var pageContainerSel = this.pageContainerSel;
        $(selectorInner+' a.thumb').bind('click', function() {
          $(this).fadeTo('fast', Gallery.onMouseOpacity);
  			  $(this).fadeTo('fast', 1.0);

          var page = $(this).attr('page');
  		    if(typeof page != 'undefined') {
            $(pageContainerSel).load(page);
    		  } else {
    		    $(pageContainerSel).html('&nbsp;');
    		  };
        });
  			$(this.thumbContainerSel).fadeIn('fast');
  		}
	  };
	  Gallery.instalaGaleria(selector, selectorInner, objGallery);
  },

  // ---------------------------------------------------------
  insertaMultiRedirect : function(selector, selectorInner, strThumbsPerPage) {

    var thumbsPerPage = strThumbsPerPage*1;
  	// Initialize Advanced Galleriffic Gallery
  	objGallery = {
  		numThumbs:              thumbsPerPage,
  		onPageTransitionIn:     function() {
        var newPag = $(selectorInner).prev().find('.paginationReal');
        newPag.empty();
  		  if($(selectorInner+' .pagination *:first').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Anterior" width="67" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination *:first')
  		        .html('<img src="/noticias/imag/site/be_anterior.jpg" alt="Anterior" width="67" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };
        newPag.append('&nbsp;');
  		  if($(selectorInner+' .pagination *:last').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Siguiente" width="70" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination').children(':last')
  		        .html('<img src="/noticias/imag/site/be_siguiente.jpg" alt="Siguiente" width="70" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };

  		  var actual = $(selectorInner+' .pagination .current').text();
        $(selectorInner).prev().find('.actual').text(actual);
        $(selectorInner+' .pagination').hide();
        newPag.css('float', 'left');

        $(selectorInner+' a.thumb').bind('click', function() {
          var first = $(selectorInner+' a.thumb:first').attr('href');
          var ref = $(this).attr('href');
          first = first.replace(/[^\d]/, '');
          ref = ref.replace(/[^\d]/, '');
          if(first>0) {
            ref = ref - first;
          };
          $(this).fadeTo('fast', Gallery.onMouseOpacity);
  			  $(this).fadeTo('fast', 1.0);
          var page = $(this).attr('page');
  		    if(typeof page != 'undefined') {
            window.location.href = page + '#' + ref;
  		    };
        });
  			$(this.thumbContainerSel).fadeIn('fast');
  		}
  	};
	  Gallery.instalaGaleria(selector, selectorInner, objGallery);
  },

  // ---------------------------------------------------------
  insertaMultiNormal : function(selector, selectorInner, strThumbsPerPage) {

    var thumbsPerPage = strThumbsPerPage*1;
    // Initialize Advanced Galleriffic Gallery
  	objGallery = {
    	numThumbs:              thumbsPerPage,
    	onTransitionOut:        function(callback) {
        callback.call(this);
    	},
    	onTransitionIn:         function() {
    		$(this.captionContainerSel).fadeIn('fast');
    	},
    	onPageTransitionIn:     function() {
    		var newPag = $(selectorInner).prev().find('.paginationReal');
        newPag.empty();
  		  if($(selectorInner+' .pagination *:first').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Anterior" width="67" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination *:first')
  		        .html('<img src="/noticias/imag/site/be_anterior.jpg" alt="Anterior" width="67" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };
        newPag.append('&nbsp;');
  		  if($(selectorInner+' .pagination *:last').hasClass('current')) {
  		    newPag.append('<img src="/noticias/imag/auxi/2pixeles.gif" alt="Siguiente" width="70" height="24" border="0" />');
  		  } else {
  		    $(selectorInner+' .pagination').children(':last')
  		        .html('<img src="/noticias/imag/site/be_siguiente.jpg" alt="Siguiente" width="70" height="24" border="0" />')
  		        .appendTo(newPag);
  		  };
  		  var actual = $(selectorInner+' .pagination .current').text();
        $(selectorInner).prev().find('.actual').text(actual);
        $(selectorInner+' .pagination').hide();
        newPag.css('float', 'left');

        $(selectorInner+' a.thumb').bind('click', function() {
          $(this).fadeTo('fast', Gallery.onMouseOpacity);
  			  $(this).fadeTo('fast', 1.0);
          // $(selector + ' .embox').html($(this).next('.caption').html());
        });
  			$(this.thumbContainerSel).fadeIn('fast');
    	}
    };
    Gallery.instalaGaleria(selector, selectorInner, objGallery);
  },

  // ---------------------------------------------------------
  instalaGaleria: function(selector, selectorInner, object) {




    Gallery.aplicaOpacity(selectorInner);
    objDefault = {
    	numThumbs:              24,
    	preloadAhead:           10,
  		imageContainerSel:      selector + ' .slideshow',
  		pageContainerSel:       selector,
  		controlsContainerSel:   selector + ' .controls',
  		captionContainerSel:    selector + ' .embox',
  		loadingContainerSel:    selector + ' .loader',
  		thumbContainerSel:      selectorInner + ' ul.thumbs',
    	playLinkText:           'Rep.Auto',
    	pauseLinkText:          'Rep.Manual',
    	prevLinkText:           '&lsaquo; Ant',
    	nextLinkText:           'Prox &rsaquo;',
    	nextPageLinkText:       'Next &rsaquo;',
    	prevPageLinkText:       '&lsaquo; Prev',
    	renderSSControls:       false,
    	renderNavControls:      false,
    	enableTopPager:         true,
    	enableBottomPager:      false,
      onChange:               function(prevIndex, nextIndex) {
    		$(this.thumbContainerSel).children()
    			.eq(prevIndex).fadeTo('fast', Gallery.onMouseOpacity).end()
    			.eq(nextIndex).fadeTo('fast', 1.0);
    	},
    	onTransitionOut:        function(callback) {
    		$(this.captionContainerSel).fadeOut('fast');
    		$(this.imageContainerSel).fadeOut('fast', callback);
    	},
    	onTransitionIn:         function() {
    		$(this.imageContainerSel + ', ' + this.captionContainerSel).fadeIn('fast');
    	},
    	onPageTransitionOut:    function(callback) {
    		$(this.thumbContainerSel).fadeOut('fast', callback);
    	}
    };
    objDefault = $.extend({}, objDefault, object);
    var galleryArt = $(selector).galleriffic(selectorInner, objDefault);
    return galleryArt;
  },

  // ---------------------------------------------------------
  aplicaOpacity : function(selectorInner) {
  	$(selectorInner+' ul.thumbs li').css('opacity', Gallery.onMouseOpacity).hover(function () {
  				    $(this).not('.selected').fadeTo('fast', 1.0);
  	      }, function () {
  				    $(this).not('.selected').fadeTo('fast', Gallery.onMouseOpacity);
  	      });
  }

};
