// $Id$

/**
 * Rotate the article images and texts.
 */

if (Drupal.jsEnabled)
{
    ArticleScroller = function()
    {
        this.init();
    }

    $.extend(ArticleScroller.prototype, {
        init: function()
        {
            this.imageScrollingEnabled = true;
            this.timeout = 6000;

            var tag = 'div#articlescroller .articlescrollerTitleLink';
            for (var i = 0; i < $(tag).length; i++)
            {
                var obj = $(tag)[i];
                $(obj).bind('click', function(e)
                {
                    var el = $(this).parent().parent();
                    document._articleScroller.imageScrollingEnabled = false;
                    document._articleScroller.selectItem(el);
                });
            }

            setTimeout(this.scrollImages, this.timeout);
        },

        scrollImages: function()
        {
            if (document._articleScroller.imageScrollingEnabled)
            {
                var tag = 'div#articlescroller .articlescrollerItem';
                var selected;
                var num = $(tag).length;
                for (var i = 0; i < $(tag).length; i++)
                {
                    var obj = $(tag)[i];
                    if ($(obj).hasClass('articleactive'))
                    {
                        selected = i;
                    }
                }

                selected++;

                if (selected >= num)
                {
                    selected = 0;
                }

                document._articleScroller.selectItem($($(tag)[selected]));

                setTimeout(document._articleScroller.scrollImages, document._articleScroller.timeout);
            }
        },

        unselectAll: function()
        {
            var tag = 'div#articlescroller .articlescrollerItem';
            for (var i = 0; i < $(tag).length; i++)
            {
                var obj = $(tag)[i];
                if ($(obj).hasClass('articleactive'))
                {
                    $(obj).removeClass('articleactive');
                    $(obj).children('div.articledescription').hide();
                    $(obj).addClass('articleinactive');
                }
            }
        },

        selectItem: function(el)
        {
            document._articleScroller.unselectAll();

            el = $(el);
            var image = el.children('input.image').val();
            var container = el.parent();
            var img = container.children('div').children('img');
            img.attr('src', image);

            el = $(el);
            el.removeClass('articleinactive');
            el.addClass('articleactive');
            el.children('div.articledescription').show();
        }
    });

    $(document).ready(function()
    {
        if ($('div#articlescroller'))
        {
            document._articleScroller = new ArticleScroller();
        }
    });
}
