﻿var showitemindex;
var pe;
var items_count;
var fade_duration = 0.3;

document.observe("dom:loaded", function(){
items_count = $('homeLargePromotion').childElements().size();
    if(items_count > 1)
        $('homeSmallPromotion').observe('click',ChangeToSelected);
    if($('item0')) {
        new Effect.Appear($('item0'), { duration: fade_duration, offset: fade_duration/2, queue: { scope: 'animated'} });
        $('item0').writeAttribute({ hidden: 'false' });
        $('small_item0').addClassName('homeSmallPromotionSelected');
        showitemindex = 1;
        if (items_count > 1)
            pe = new PeriodicalExecuter(function () {showPromotion()}, 5);
    }
});

function showPromotion() 
{
    var hideitemindex;
    if(showitemindex != 0)
        {hideitemindex = showitemindex - 1;}
    else
        {hideitemindex = items_count-1;}
        new Effect.Fade($('item' + hideitemindex), { duration: fade_duration, queue: { scope: 'animated'} });
    $('item'+hideitemindex).writeAttribute({hidden: 'true'});
    new Effect.Appear($('item' + showitemindex), { duration: fade_duration, offset: fade_duration / 2, queue: { scope: 'animated'} });
    $('item' + showitemindex).writeAttribute({ hidden: 'false' });
    $('small_item' + showitemindex).addClassName('homeSmallPromotionSelected');
    $('small_item' + hideitemindex).removeClassName('homeSmallPromotionSelected');
    if(showitemindex <items_count-1)
        {showitemindex++;}
    else
        {showitemindex = 0;}
}

function ChangeToSelected(event)
{
    if(!pe.currentlyExecuting)
    {
        var to_select = Event.element(event);
        var hidden_divs = $('homeLargePromotion').select('[hidden="false"]');
        showitemindex = to_select.identify().gsub(/\D+/, '');
        var hideitemindex = $(hidden_divs[0]).identify().gsub(/\D+/, '');
        if (hideitemindex != showitemindex)
            if(Effect.Queues.get('animated').size() == 0)
            {
                new Effect.Appear($('item' + showitemindex), { duration: fade_duration, offset: fade_duration / 2, queue: { scope: 'animated'} });
                $('item' + showitemindex).writeAttribute({ hidden: 'false' });
                $('small_item' + showitemindex).addClassName('homeSmallPromotionSelected');
                $('small_item' + hideitemindex).removeClassName('homeSmallPromotionSelected');
                new Effect.Fade(hidden_divs[0], { duration: fade_duration, queue: { scope: 'animated'} });
                hidden_divs[0].writeAttribute({hidden: 'true'});
            }
    }
}
