
var slideshows = new Array();

var currentSlideshow = null;
var currentSlideshowName = null;

function createSlideshow()
{
    currentSlideshowName = 'slideshow' + Math.random();
    
    currentSlideshow = new Array();
    slideshows[currentSlideshowName] = currentSlideshow;
}

function addToSlideshow(element)
{
    element.style.visibility = 'hidden';
    element.style.display = 'none';

    currentSlideshow.push(element);
}

function startSlideshow(delay)
{
    var element = currentSlideshow.shift();
    
    if (element)
    {
        currentSlideshow.unshift(element);
        
        element.style.visibility = 'visible';
        element.style.display = '';

        setTimeout('runSlideshow(\''+currentSlideshowName+'\', '+delay+');', delay);
        
        currentSlideshow = null;
        currentSlideshowName = null;
    }
}

function runSlideshow(slideshowName, delay)
{
    var s = slideshows[slideshowName];
 
    if (s)
    {   
        var element = s.shift();
        s.push(element);
    
        element.style.visibility = 'hidden';
        element.style.display = 'none';
        
        element = s.shift();
        s.unshift(element);
        
        element.style.visibility = 'visible';
        element.style.display = '';
    
        setTimeout('runSlideshow(\''+slideshowName+'\', '+delay+');', delay);
    }
}

function stopSlideshows()
{
    for (var i = 0; i < slideshows.length; i++)
        slideshows[i] = null;
        
    slideshows = new Array();
}