

var scroll ;
var HideControlsTimer = null ;
var MouseIsOnControls = false ;

function startScroll(dir)
{
    scroll = true ;
    scrollMenu(dir,200) ;
}

function scrollMenu(dir, nextTimeout)
{
    var BildoToc = document.getElementById("BildoToc") ;
    if ( scroll && BildoToc )
    {
        nextTimeout = Math.max(50, nextTimeout - 10 ) ;
        BildoToc.scrollTop += dir ;
        window.setTimeout("scrollMenu("+dir+","+nextTimeout+")",nextTimeout);
    }
}

function stopScroll()
{
    scroll = false ;
}

function startScrollUp()
{
    startScroll(-10) ;
}

function startScrollDown()
{
    startScroll(10) ;
}

var HideControlsTimer = null ;
var MouseIsOnControls = false ;

function theme_init()
{
    if ( navigator.appName == 'Opera' && navigator.appVersion.substring(0,1) == '8' )
    {
        var BildoToc = document.getElementById("BildoToc") ;
        // scroll dont work with opera 8...
        if ( BildoToc ) BildoToc.style.overflow = 'auto' ; 
    }
    else
    {
        AddEvent('ScrollDown',"mouseover", startScrollDown, true) ;
        AddEvent('ScrollDown',"mouseout", stopScroll, true) ;
        AddEvent('ScrollUp',"mouseover", startScrollUp, true) ;
        AddEvent('ScrollUp',"mouseout", stopScroll, true) ;
    }

    theme_initThumbnails() ;
}

function theme_initSlide()
{
    SetElementsVisibility('SlideMode,SlideBox,SlideControls,SlideInfos,SlideTitle', 'visible') ;
    SetElementsVisibility('ThumbnailsBox,ThumbnailsMode,BildoMenu', 'hidden') ;

    AddEvent('SlideControls',"mouseover", MouseOnControls, true) ;
    AddEvent('SlideControls',"mouseout", MouseLeaveControls, true) ;

    if ( !MouseIsOnControls )
        HideControlsTimer = window.setTimeout('hideControls();', 3000) ;

    // initialiser les gestionnaires d'evenements
    AddEvent('SlideMode',"mousemove", showControls, true) ;
    AddEvent('SlideControls',"mouseover", MouseOnControls, true) ;
    AddEvent('SlideControls',"mouseout", MouseLeaveControls, true) ;
}

function theme_initThumbnails()
{
    SetElementsVisibility('SlideTitle,SlideMode,SlideBox,SlideControls,SlideInfos', 'hidden') ;
    SetElementsVisibility('ThumbnailsBox,ThumbnailsMode,BildoMenu', 'visible') ;

    RemoveEvent('SlideMode',"mousemove", showControls, true) ;
    RemoveEvent('SlideControls',"mouseover", MouseOnControls, true) ;
    RemoveEvent('SlideControls',"mouseout", MouseLeaveControls, true) ;

    ClearSlide() ;
}


function MouseOnControls()
{
    if ( HideControlsTimer )
        window.clearTimeout(HideControlsTimer) ;

    MouseIsOnControls = true;
}

function MouseLeaveControls()
{
    if ( HideControlsTimer )
        window.clearTimeout(HideControlsTimer) ;

    HideControlsTimer = window.setTimeout('hideControls();', 3000) ;

    MouseIsOnControls = false ;
}

function showControls()
{
    // enlever le gestionnaire
    RemoveEvent('SlideMode',"mousemove", showControls, true) ;

    // afficher le cadre de contrôle et les informations sur la diapositive en cours
    SetElementsDisplay('SlideInfos,SlideControls', 'block') ;

    HideControlsTimer = window.setTimeout('hideControls();', 3000) ;
}

function hideControls()
{
    if ( !MouseIsOnControls )
    {
        if ( HideControlsTimer )
            window.clearTimeout(HideControlsTimer) ;

        // cacher le cadre de contrôle et les informations sur la diapositive en cours
        SetElementsDisplay('SlideControls,SlideInfos', 'none') ;

        // ajouter le gestionnaire
        AddEvent('SlideMode',"mousemove", showControls, true) ;
    }
}
