var slideshow = new Array();
var buffer = new Image;
var timeId = null;

function nextTimedSlide () {
    if (action == "play") {
        offset = counter + 1;
        if (offset >= slideshow.length) {
            offset = 0;
        }
        preloadSlide (offset);
        timeId = setTimeout ("displayBuffer("+offset+")", timeout);
    }
}
function nextSlide () {
    if (action == "play") {
        counter++;
        if (counter >= slideshow.length) {
            counter = 0;
        }   
        clearTimeout (timeId);
        loadSlide (counter);
    }
}
function previousSlide () {
    if (action == "play") {
        counter--;
        if (counter < 0) {
            counter = slideshow.length-1;
        }
        clearTimeout (timeId);
        loadSlide (counter);
    }
}
function loadSlide (slideNum) {
    if (action == "play") {
        document.getElementById("slide").src = slideshow[slideNum]['file'];
        document.getElementById("slideDescription").innerHTML = slideshow[slideNum]['description'];
        document.getElementById("slideName").innerHTML = slideshow[slideNum]['name'];
        if (slideshow.length > 1) {
            document.getElementById("slideInfos").innerHTML = (slideNum+1) + ' / ' + slideshow.length;
        }
    }
}
function displayBuffer (slideNum) {
    if (action == "play") {
        counter++;
        if (counter >= slideshow.length) {
            counter = 0;
        } 
        document.getElementById("slide").src = buffer.src;
        document.getElementById("slideName").innerHTML = slideshow[slideNum]['name'];
        document.getElementById("slideDescription").innerHTML = slideshow[slideNum]['description'];
        if (slideshow.length > 1) {
            document.getElementById("slideInfos").innerHTML = (slideNum+1) + ' / ' + slideshow.length;
        }
    }
}
function stopSlideshow () {
    if (action != "stop") {
        loadSlide (begin);
        action = "stop";
        counter = begin;
        clearTimeout (timeId);
    }
}
function pauseSlideshow () {
    if (action == "play") {
        action = "pause";
        clearTimeout (timeId);
    }
}
function playSlideshow () {
    if (action != "play") {
        action = "play";
        nextSlide ();
    }
}
function preloadSlide (slideNum) {
    buffer.src = slideshow[slideNum]['file'];
}
function slideGetUrl () {
	if (slideshow[counter]['url']) {
		//alert (slideshow[counter-1]['url']);
    	window.location = slideshow[counter]['url'];
	} else {
		slidePopup ();
	}
}
function slidePopup () {
    offset = counter
    url = slideshow[offset]['enlarge'];
    width = slideshow[offset]['width'];
    height = slideshow[offset]['height'];
    name = slideshow[offset]['name'];
    imagePopup (url, name, "width="+width+",height="+height+",resizable=0,scrollbar=0");
}