/**
* Skriptik pro rotovani novinek na homepage
* 
* @autor Jiří Praus @ Bartonstudio               
*/         

var actIndex = 0; /* aktualni aktivni polozka seznamu */
var timeoutID = 0; /* id timeoutu */

/**
 * Inicializace promennych a html
 *
 * @param int index - pocatecni index
 */
function initSlider(index)
{
    if (index > newscount - 1) index = 0;
    if (index < 0) index = newscount - 1;
    actIndex = index;

    $('#newsslider_slide div.panel').each(function(i)
    {
        $(this).attr('id','panel_' + i);
    });
    $('#newsslider_list li').removeClass('selected');
    $('#newsslider_list li').click(function()
    {
        i = $(this).attr('id').slice(9) - 1;
        changeSlide(i - actIndex, true, false);
    });

    $('#newsslider_list').mouseover(pauseSlider);
    $('#newsslider_slide').mouseover(pauseSlider);

    $('#newsslider_list').mouseout(startSlider);
    $('#newsslider_slide').mouseout(startSlider);

    $('#newsslider_list li').eq(actIndex).addClass('selected');
    changeSlide(0, true, true);
}

function pauseSlider()
{
    clearTimeout(timeoutID);
}

function startSlider()
{
    timeoutID = setTimeout('changeSlide(1,true,true)', looptimeout);
}

/**
 * Zmena novinky
 *
 * @param int change - zmena indexu (+1,-1,+2,0)
 * @param boolean instant - je zmena instantni nebo s efektem?
 * @param boolean start - ma se rotator i spustit, nebo jen nastavit
 */
function changeSlide(change,instant,start)
{
    pauseSlider()
    index = actIndex + change;
    if (index > newscount - 1) index = 0;
    if (index < 0) index = newscount - 1;
    if (actIndex != index || instant)
    {
        /* menime index */
        actIndex = index;
        $('#newsslider_list li').removeClass('selected');
        $('#newsslider_list li').eq(actIndex).addClass('selected');
        $('#newsslider_slide div.panel').each(function(i)
        {
            o = $(this).attr('id').slice(6);
            if (o == actIndex)
            {
                $(this).hide();
                panel = $(this);
                $(this).remove();
                $('#newsslider_slide div.panelContainer').append(panel);
                if (instant)
                {
                    $(panel).show();
                }
                else
                {
                    $(panel).fadeIn('slow');
                }
            }
        });
    }
    if (start)
        startSlider();
}

var newscount = 4; // pocet novinek, ktere budou rolovat
var looptimeout = 4000; // cas v ms, mezi rolovanim

$(function()
{
    /* newslider */
    initSlider(0);
});
