function ActivateThumbnail(element)
{
    return element.fadeTo('fast',1).addClass('activeThumbnail');
}

function DeactivateThumbnail(element)
{
    return element.fadeTo('fast',0.7).removeClass('activeThumbnail');
}

function ThumbIsActive(element)
{
    if (element.hasClass('activeThumbnail')) {
        return true;
    }
    return false;
}

function ActivateImage(contentHTML)
{
    return $('.imageFocusedContainer').fadeTo('fast',0.2,function(){
        $(this).empty().html(contentHTML);

        var id = $(this).find('a').attr('id');
        $(this).find('a')
                .attr('title',id)
                .removeAttr('id');

        $('.imageFocusedContainer a.fancybox').removeAttr('rel');
        $('.imageFocusedContainer a.fancybox').removeAttr('href');
        $(this).fadeTo('fast',1);
    });
}

function GoToNext()
{
    var activeThumbnail = $('div.article-view .activeThumbnail');

    // get next position
    var nextThumbnail = activeThumbnail.parent().parent().next('li').find('span.thumbnail_img').find('img');
    var nextImage = nextThumbnail.parent().next('span.original_img').html();

    if(nextImage == null)
    {
        nextImage = $('.original_img').first().html();
        nextThumbnail = $('.thumbnail_img').first().find('img');
    }

    DeactivateThumbnail(activeThumbnail);
    ActivateThumbnail(nextThumbnail);
    ActivateImage(nextImage);
}

function loopImageSelector()
{
    GoToNext();
    setTimeout("loopImageSelector()",5000);
}

$(document).ready(function() {

    loopImageSelector();

    var firstImage = $('.original_img').first().html();
    var firstThumbnail = $('.thumbnail_img').first().find('img');

    DeactivateThumbnail($('.thumbnail_img img'));
    ActivateThumbnail(firstThumbnail);

    $('div.article-view .imageFocusedContainer').html(firstImage);

    $('.thumbnail_img img').each(function(){

        var thisThumb = $(this);

        thisThumb.mouseenter(function(){

            if(!ThumbIsActive($(this)))
            {
                $(this).fadeTo('fast',1);
            }

        });
        thisThumb.mouseleave(function(){

            if(!ThumbIsActive($(this)))
            {
                $(this).fadeTo('fast',0.7);
            }

        });

        thisThumb.click(function(){

            DeactivateThumbnail($('.thumbnail_img img'));

            ActivateThumbnail($(this));

            var thisOriginal = thisThumb.parent().next('span');
            ActivateImage(thisOriginal.html());
        });
    });


    // fancy box :
    $('.imageFocusedContainer').click(function() {

        var fancyBoxLink = $(this).find('a.fancybox');

        $('a[rel=gallery]').fancybox({
            'transitionIn'	:	'elastic',
            'transitionOut'	:	'elastic',
            'speedIn'		:	600,
            'speedOut'		:	200,
            'overlayShow'	:	true,
            'cyclic'        :   true
        });

        $('#'+fancyBoxLink.attr('title')).click();
    });
});
