var Gallery = {

    Opacity: 0.67,

    installArticFotos: function(idGal, idThumb) {

        Gallery.setOpacityHandlers(idGal, idThumb);
        var gallery = $(idGal).galleriffic(idThumb, {
            preloadAhead:           1,
            numThumbs:              5,
            loadingContainerSel:    idGal + ' .loading',
            imageContainerSel:      idGal + ' .slideshow',
            controlsContainerSel:   idGal + ' .controls',
            // captionContainerSel:    idGal + ' .captionReal',
            renderSSControls:       false,
            onChange:               function(prevIndex, nextIndex) {
                var prev = $(idThumb + ' ul.thumbs').children().eq(prevIndex);
                var next = $(idThumb + ' ul.thumbs').children().eq(nextIndex);
                prev.fadeTo('fast', Gallery.Opacity);
                next.fadeTo('fast', 1.0);
                var lnk = next.children().filter('div.link').html();
                var cpn = next.children().filter('div.caption2').html();
                var vermas = (lnk!='') ? '<div class="vermas"><a href="'+lnk+'">Ir a la Nota</a></div>' : '';
                $(idGal + ' .captionReal').html(cpn + vermas);
                $(this.loadingContainerSel).hide();
            },
            onTransitionOut:        function(callback) {
                $(idGal + ' .caption').fadeTo('fast', 0.0);
                $(idGal + ' .slideshow').fadeTo('fast', 0.0, callback);
            },
            onTransitionIn:         function() {
                $(idGal + ' .slideshow').fadeTo('fast', 1.0);
                $(idGal + ' .caption').fadeTo('fast', 1.0);
            }
        });
    },

    installArticVideos: function(idGal, idThumb) {

        Gallery.setOpacityHandlers(idGal, idThumb);
        var gallery = $(idGal).galleriffic(idThumb, {
            preloadAhead:           1,
            numThumbs:              16,
            loadingContainerSel:    idGal + ' .loading',
            imageContainerSel:      idGal + ' .slideshow',
            //controlsContainerSel:   idGal + ' .controls',
            renderSSControls:       false,
            renderNavControls:      false,
            onChange:               function(prevIndex, nextIndex) {
                $(idThumb + ' ul.thumbs').children().eq(prevIndex).fadeTo('fast', Gallery.Opacity);
                var next = $(idThumb + ' ul.thumbs').children().eq(nextIndex);
                next.fadeTo('fast', 1.0);
                var lnk = next.children().filter('div.link').html();
                var cpn = next.children().filter('div.caption2').html();
                var vermas = (lnk!='') ? '<div class="vermas"><a href="'+lnk+'">Ir a la Nota</a></div>' : '';
                $(idGal + ' .captionReal').html(cpn + vermas);

                var hrf = next.children().filter('div.video').html();
                $(idGal + ' .slideshowReal').html('<a href="'+hrf+'" class="media"></a>');
                $(idGal + ' .slideshowReal .media').media({
                    width: 620, //Ancho
                    height: 350, //Alto
                    src: '/deportes/flash/players/playerVideo.swf',
                    params: {wmode: 'transparent', allowfullscreen: true},
                    attrs: {wmode: 'transparent', allowfullscreen: true},
                    flashvars: {VURL: hrf}
                });

            },
            onTransitionOut:        function(callback) {
                $(idGal + ' .caption').fadeTo('fast', 0.0);
                $(idGal + ' .slideshow').fadeTo('fast', 0.0, callback);
            },
            onTransitionIn:         function() {
                $(idGal + ' .slideshow').fadeTo('fast', 1.0);
                $(idGal + ' .caption').fadeTo('fast', 1.0);
            }
        });
    },

    SlideshowPort : function(selectorCont, selectorNav,width,height) {
        $(selectorNav + ' .thumbs').css('display', 'none');
        $(selectorCont + ' .slideshow-container').css('display', 'none');
        $(selectorCont).css('display', 'block');
        $(selectorCont + ' .slideshowAlt').css({
            'background':'#FFFFFF url(/deportes/imag/auxi/loader.gif) no-repeat scroll center center',
            'width':width,
            'height':height,
            'overflow':'hidden'
        });
        optionsGallery  = {
            numThumbs:              24,
            preloadAhead:           10,
            delay:                  7000,
            imageContainerSel:      selectorCont + ' .slideshow',
            controlsContainerSel:   selectorCont + ' .controls',
            captionContainerSel:    selectorCont + ' .caption',
            renderNavControls:      true,
            renderSSControls:       false,
            autoStart:              true,
            prevLinkText:           '&nbsp;',
            nextLinkText:           '&nbsp;',
            onTransitionIn:         function() {
                var theImg = $(this.imageContainerSel + ' img').attr('src');
                var thePage = $(this.captionContainerSel + ' a:first').attr('href');
                $(selectorCont + ' .slideshowAlt').hide()
                    .html('<a href="'+thePage+'"><img src="'+theImg+'" /></a>').fadeIn();
                $(this.captionContainerSel).css('display', 'block');


            }
        }
        var theGallery = $(selectorNav).galleriffic(selectorNav, optionsGallery);
    },

    setOpacityHandlers: function(idGal, idThumb) {
        $(idGal + ' ' + idThumb + ' ul.thumbs li').css('opacity', Gallery.Opacity).hover(
            function () {$(this).not('.selected').fadeTo('fast', 1.0);},
            function () {$(this).not('.selected').fadeTo('fast', Gallery.Opacity);}
        );
    },


    // ---------------------------------------------------------
    // funciones adicionales  para portadas multimedia
     onMouseOpacity : 0.67,

    // Esta es la galeria normal, no tiene ninguna gracia
    insertaSimple : function(selector, selectorInner) {
        // alert('insertaSimple');
        // Initialize Advanced Galleriffic Gallery
        var 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;
        var 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;');
            }
        };
        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
        var 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
        var 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="/deportes/imag/auxi/2pixeles.gif" alt="Anterior" width="67" height="24" border="0" />');
                } else {
                    $(selectorInner+' .pagination *:first')
                        .html('<img src="/deportes/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="/deportes/imag/auxi/2pixeles.gif" alt="Siguiente" width="70" height="24" border="0" />');
                } else {
                    $(selectorInner+' .pagination').children(':last')
                      .html('<img src="/deportes/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');
                $(this.thumbContainerSel).fadeIn('fast');
            }
        };
        Gallery.instalaGaleria(selector, selectorInner, objGallery);

        //alert(selectorInner +', '+ 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') {
                $(selector).load(page);
            } else {
                $(selector).html('&nbsp;');
            }
        });
    },

    // ---------------------------------------------------------
    insertaMultiRedirect : function(selector, selectorInner, strThumbsPerPage) {

        var thumbsPerPage = strThumbsPerPage*1;
        // Initialize Advanced Galleriffic Gallery
        var objGallery = {
            numThumbs:              thumbsPerPage,
            onPageTransitionIn:     function() {
                var newPag = $(selectorInner).prev().find('.paginationReal');
                newPag.empty();
                if($(selectorInner+' .pagination *:first').hasClass('current')) {
                    newPag.append('<img src="/deportes/imag/auxi/2pixeles.gif" alt="Anterior" width="67" height="24" border="0" />');
                } else {
                    $(selectorInner+' .pagination *:first')
                        .html('<img src="/deportes/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="/deportes/imag/auxi/2pixeles.gif" alt="Siguiente" width="70" height="24" border="0" />');
                } else {
                    $(selectorInner+' .pagination').children(':last')
                        .html('<img src="/deportes/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');

                $(this.thumbContainerSel).fadeIn('fast');
            }
        };
        Gallery.instalaGaleria(selector, selectorInner, objGallery);
        $(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;
            }
        });
    },

    // ---------------------------------------------------------
    insertaMultiNormal : function(selector, selectorInner, strThumbsPerPage) {

        var thumbsPerPage = strThumbsPerPage*1;

        // Initialize Advanced Galleriffic Gallery
        var objGallery = {
            numThumbs:              thumbsPerPage,
            onChange:               function(prevIndex, nextIndex) {
                var prev = $(selectorInner + ' ul.thumbs').children().eq(prevIndex);
                var next = $(selectorInner + ' ul.thumbs').children().eq(nextIndex);
                prev.fadeTo('fast', Gallery.Opacity);
                next.fadeTo('fast', 1.0);
                var lnk = next.children().filter('div.link').html();
                var cpn = next.children().filter('div.caption2').html();
                var vermas = (lnk!='') ? '<div class="vermas"><a href="'+lnk+'">Ir a la Nota</a></div>' : '';
                $(selector + ' .captionReal').html(cpn + vermas);

            },
            onTransitionOut:        function(callback) {
                callback.call(this);
            },
            onTransitionIn:         function() {
                $(this.captionContainerSel).fadeIn('fast');
            },
            onPageTransitionIn:     function() {
                var newPag = $('.paginationReal');
                newPag.empty();


                if($(selectorInner+' .pagination *:first').hasClass('current')) {
                   newPag.append('<img src="/deportes/imag/auxi/2pixeles.gif" alt="Anterior" width="1" height="80" border="0" class="ocultar_btn"/>');
                } else {
                     $(selectorInner+' .pagination *:first').html('<img src="/deportes/imag/auxi/be_anterior.jpg" alt="Anterior" width="20" height="80" border="0" class="anterior" />').appendTo(newPag);
                    $('.pag2 .paginationReal a:first').hide();
                    $('.pag2 .paginationReal .anterior').hide();
                }

                newPag.append('&nbsp;');
                if($(selectorInner+' .pagination *:last').hasClass('current')) {
                    newPag.append('<img src="/deportes/imag/auxi/2pixeles.gif" alt="Siguiente" width="1" height="80" border="0" class="ocultar_btn"/>');
                } else {
                    $(selectorInner+' .pagination').children(':last').html('<img src="/deportes/imag/auxi/be_siguiente.jpg" alt="Siguiente" width="20" height="80" class="siguiente" border="0" />').appendTo(newPag);
                    //Si esta en la primera hasta la penultima.
                    $('.pag1 .paginationReal .siguiente').hide();
                }




                var actual = $(selectorInner+' .pagination .current').text();

                $(selectorInner).prev().find('.actual').text(actual);
                $(selectorInner+' .pagination').hide();

                newPag.css('float', 'left');
                $(this.thumbContainerSel).fadeIn('fast');
            }
        };
        Gallery.instalaGaleria(selector, selectorInner, objGallery);
        $(selectorInner+' a.thumb').bind('click', function() {
            $(this).fadeTo('fast', Gallery.onMouseOpacity);
            $(this).fadeTo('fast', 1.0);
            // $(selector + ' .embox').html($(this).next('.caption').html());
        });
    },


    // ---------------------------------------------------------
    instalaGaleria: function(selector, selectorInner, object) {

        Gallery.aplicaOpacity(selectorInner);
        var objDefault = {
            numThumbs:              5,
            preloadAhead:           1,
            imageContainerSel:      selector + ' .slideshow',
            pageContainerSel:       selector,
            controlsContainerSel:   selector + ' .controls',
            captionContainerSel:    selector + ' .embox',
            loadingContainerSel:    selector + ' .loader, ' + selector + ' .loading',
            thumbContainerSel:      selectorInner + ' ul.thumbs',
            playLinkText:           'Rep.Auto',
            pauseLinkText:          'Rep.Manual',
            prevLinkText:           '',
            nextLinkText:           '',
            nextPageLinkText:       'Next &rsaquo;',
            prevPageLinkText:       '',
            renderSSControls:       false,
            renderNavControls:      true,
            enableTopPager:         true,
            enableBottomPager:      true,
            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);
            }
        );
    }
};
