var slide = 1;
var slidecount = 6;
var firstTime = true;
var slideFileExtension = '.png';

/*

 1. #slideshow starts loading image
 2. #slideshow finishes loading image, onload event fires
 3. onload event calls fadeFromBlack
 4. fadeFromBlack calls startSlideShow when finished
 4. startSlideShow sets callback for fadeToBlack in 5 secs
 5. fadeToBlack calls changeImage when finished
 6. changeImage changes the src attribute of #slideshow

 */
            
function pause()
{
    setTimeout(fadeToBlack, 5000);
}
          
function fadeToBlack()
{
    new Effect.Opacity('slideshow', {from: 1, to: 0, duration: 3, fps: 60, afterFinish: changeImage});
}
            
function fadeFromBlack()
{

    new Effect.Opacity('slideshow', {from: 0, to: 1, duration: 3, fps: 60, afterFinish: pause});
}

function onLoadImage()
{
    if (firstTime)
    {
        firstTime = false;
        pause();
    }
    else
    {
        fadeFromBlack();
    }
}

function changeImage()
{
    slide = slide + 1;
    if (slide > slidecount)
    {
        slide = 1;
    }
                    
    var slideshow = document.getElementById('slideshow');
    slideshow.src = '/media/images/slides/' + slide + slideFileExtension;
}
