$(document).ready(function() {

    $("a.arrowLeft, a.arrowRight").html("");

    $(".imageViewer").each(function() {
        var imageViewer = {};
        imageViewer.holder = $(this);
        imageViewer.thumbHolder = $(this).find(".content .thumbs .thumbHolder");
        imageViewer.imageHolder = $(this).find(".content .images .imageHolder");
        imageViewer.title = $(this).find(".content .info .title");
        imageViewer.fichaLink = $(this).find(".content .info .fichaLink");
        imageViewer.total = $(imageViewer.thumbHolder).find("a").length;
        imageViewer.maxVisible = 3;
        imageViewer.selected = 0;
        imageViewer.urls = [];
        imageViewer.disableTimer = false;
        
        if( $(".imageViewer").hasClass("ficha") )
        {
            imageViewer.thumbWidth = 110;
            imageViewer.imageWidth = 384;
        }
        else if( $(".imageViewer").hasClass("galeria") )
        {
            imageViewer.thumbWidth = 148;
            imageViewer.imageWidth = 559;
        }
        else
        {
            imageViewer.thumbWidth = 60;
            imageViewer.imageWidth = 224;
            imageViewer.home = true;
            jQuery.fjTimer({
                interval: 2000,
                repeat: true,
                tick: function(counter, timerId) {
                    if(!imageViewer.disableTimer)
                    {
                        imageViewer.selected++;
                        if(imageViewer.selected > imageViewer.total-1) imageViewer.selected = 0;
                        imageViewer.showSelectedImage();
                    }
                }
            });
        }
        
        $(imageViewer.thumbHolder).css("width", imageViewer.total * imageViewer.thumbWidth);
        $(imageViewer.imageHolder).css("width", imageViewer.total * imageViewer.imageWidth);
        
        $(this).find(".thumbClick").each(function() {
            imageViewer.urls.push($(this).attr('href'));
        });
        
        imageViewer.showSelectedImage = function() {
            var thumbIndex = imageViewer.selected;
            if(imageViewer.total > imageViewer.maxVisible)
            {
                if(thumbIndex > imageViewer.total - imageViewer.maxVisible) thumbIndex = imageViewer.total - imageViewer.maxVisible;
            }
            else
            {
                thumbIndex = 0;
            }
            
            $(imageViewer.thumbHolder).animate( {marginLeft:-thumbIndex * imageViewer.thumbWidth}, {queue:false, duration:500} );
            $(imageViewer.imageHolder).animate( {marginLeft:-imageViewer.selected * imageViewer.imageWidth}, {queue:false, duration:500} );
            var index = 0;
            $(imageViewer.thumbHolder).find("a img").each(function() {
                if(index == imageViewer.selected)
                {
                    //$(this).addClass("selected");
                    $(this).fadeTo(300, 1);
                    imageViewer.fichaLink.attr("href", imageViewer.urls[index]);
                    imageViewer.title.html($(this).attr("title"));
                }
                else
                {
                    //$(this).removeClass("selected");
                    $(this).fadeTo(300, 0.75);
                }
                index++;
            });
        }
        
        imageViewer.showSelectedImage();
        
        $(this).find(".content a.arrowLeft").click(function() {
            imageViewer.selected--;
            if(imageViewer.selected < 0) imageViewer.selected = 0;
            imageViewer.showSelectedImage();
            imageViewer.disableTimer = true;
            return false;
        });
        
        $(this).find(".content a.arrowRight").click(function() {
            imageViewer.selected++;
            if(imageViewer.selected > imageViewer.total-1) imageViewer.selected = imageViewer.total-1;
            imageViewer.showSelectedImage();
            imageViewer.disableTimer = true;
            return false;
        });
        
        $(imageViewer.thumbHolder).find("a").click(function () {
            imageViewer.disableTimer = true;
            var index = 0;
            var search = this;
            $(imageViewer.thumbHolder).find("a").each(function (){
                if(this == search)
                {
                    imageViewer.selected = index;
                    imageViewer.showSelectedImage();
                }
                else
                {
                    index++;
                }
            });
            return false;
        });
        
    });
})
