
var nPics = 1;
var imgChangeTime = 3000; /* Important: imgChangeTime > imgFadeOut */
var imgFadeOut = 2000;
if(navigator.appName=="Microsoft Internet Explorer"){ imgFadeOut /= 3;}

var divWhiteOverlay = "slideshow_overlay";

var nextSlide = 1;
var prevSlide = 1;

var stopSlideshow = false;
var timer_SlideController = null;

/*
window.onload = function () {
	slide_setUp();
}
*/


function slide_setUp(){
	nPics = slide_nPics();
	prevSlide = nPics;
	slide_init();
	slide_controller(); 
}


function slide_nPics(){
	for(var i = 1;; i++){
        var obj = document.getElementById("slide_" + i);
        if(obj==null) return i-1;
    }
}

function slide_init(){
    for(var i = 1; i <= nPics; i++){
    	slide_changeOpacity(0, "slide_" + i);    	
        var obj = document.getElementById("slide_" + i);
        obj.style.position = "absolute";
        obj.style.display = "none";
        obj.style.left = "0px";
        obj.style.top = "0px";
    }
}

function slide_changeOpacity(opacity, id) {
    var obj = document.getElementById(id);
    if(obj == null) return;
    obj.style.opacity = (opacity / 100);
    obj.style.filter = "Alpha(opacity="+opacity+")";
    if(opacity==0) obj.style.display = "none";
    else obj.style.display = "block";
}

function slide_controller(){
    if(stopSlideshow) return;

    /* show next Slide */
    slide_showSlide(nextSlide);

    /* update variables */
    prevSlide = nextSlide;
    nextSlide++;
    if(nextSlide > nPics) nextSlide = 1;
    
    return; //noSliding;

    /* start slideController again */
    timer_SlideController = setTimeout("slide_controller()",imgChangeTime);
}

function slide_showSlide(){
    /* show white slide */
    slide_showWhite();

    /* disable previous slide */
    slide_changeOpacity(0, "slide_" + prevSlide);

    /* show next slide */
    slide_changeOpacity(100, "slide_" + nextSlide);

    /* update button jumps */
    //slide_updateButtons();

    /* fadeout white slide */
    slide_disableWhite();
}

function slide_showWhite(){
    slide_changeOpacity(100, divWhiteOverlay);
    var obj =document.getElementById(divWhiteOverlay);
    if(obj == null) return; 
    obj.style.display = "block";
}

function slide_disableWhite(){
    var timer = 0;
    var speed = Math.round(imgFadeOut / 100);
    for(var i = 100; i >= 0; i-=3){
        if(i<0)i==0;
        setTimeout("slide_changeOpacity("+i+", divWhiteOverlay)", timer*speed);
        timer++;
    }
    /* set white overlay display=none */
    setTimeout("slide_whiteToDisplayNone()",imgFadeOut);
}

function slide_whiteToDisplayNone(){
	var obj =document.getElementById(divWhiteOverlay);
    if(obj == null) return; 
    obj.style.display = "none";
}

function slide_updateButtons(){
    for(var i = 1; i <= nPics; i++){
        var obj = document.getElementById("slide_button_" + i);
        if(i!=nextSlide) obj.style.background = "#880e37";
        else obj.style.background = "#981642";
    }
    document.getElementById("slide_stop").style.background = "#880e37";
}

function slide_stop(){
    stopSlideshow = true;
    clearTimeout(timer_SlideController);
    //document.getElementById("slide_stop").style.background = "#981642";
}

function slide_reStart(){
    if(stopSlideshow){
        stopSlideshow = false;
        slide_controller();
    }
}

function slide_slideJump(slide){
    /* stop slideshow */
    slide_stop();

    /* disable previous slide */
    slide_changeOpacity(0, "slide_" + prevSlide);

    /* button jumps */
    if(slide > 0){
    	nextSlide = slide;
        if(nextSlide == 1) prevSlide = nPics;
        else prevSlide = nextSlide-1;
    }
    /* jump to previous slide */
    else if(slide < 0){
        if(prevSlide == 1) nextSlide = nPics;
        else nextSlide = prevSlide-1;

        if(nextSlide == 1) prevSlide = nPics;
        else prevSlide = nextSlide-1;
    }
    
    /* jumpt to next slide
     * if slide == 0 -> nothing is to do! */
     
    //slide_updateButtons();
     
    slide_reStart();
}


