
function next() {
    direction = 1;
    next_location = (parseInt(current_location) + parseInt(direction));
    
	if (next_location > photo_count) {
	next_location = 1;
	if (!loop) {
	    stop();
	}
	}
    if (next_location == 0) {
        next_location = photo_count;
	if (!loop) {
	    stop();
	}
	}
    current_location=next_location;
    preload_photo(current_location);

    document.slide.src = images[current_location].src;
    if (onoff==1) 
	stop();
}



function back() {
    direction = -1;
    next_location = (parseInt(current_location) + parseInt(direction));
    if (next_location > photo_count) {
	next_location = 1;
	if (!loop) {
	    stop();
	}
    }
    if (next_location == 0) {
        next_location = photo_count;
	if (!loop) {
	    stop();
	}
    }
    current_location = next_location;
    preload_photo(current_location);

    document.slide.src = images[current_location].src;
    if (onoff==1)
   	stop();
}

function weiter() {
    direction = 1;
    next_location = (parseInt(current_location) + parseInt(direction));
    if (next_location > photo_count) {
	next_location = 1;
	if (!loop) {
	    stop();
	}
    }
    if (next_location == 0) {
        next_location = photo_count;
	if (!loop) {
	    stop();
	}
    }
    current_location=next_location;
    preload_photo(current_location);

    document.slide.src = images[current_location].src;
    if (onoff==1)
    	stop();
}



function NewStartSlideShow() {
    if (onoff) {
	stop();
    } else {
	play();
    }
}

function toggleLoop() {
    if (loop) {
	loop = 0;
    } else {
	loop = 1;
    }
}



function stop() {
 
    onoff = 0;
    clearTimeout(timer);
}


function play() {
	if (browserCanBlend) {
    	if (!onoff) {
	}
       } else {

  	if (!onoff) {
        }
       }
    onoff = 1;
    go_to_next_photo();
}


function preload_next_photo() {
    next_location = (parseInt(current_location) + parseInt(direction));
    if (next_location > photo_count) {
	next_location = 1;
	if (!loop) {
	    stop();
	}
    }
    if (next_location == 0) {
        next_location = photo_count;
	if (!loop) {
	    stop();
	}
    }
    preload_photo(next_location);
}

function show_current_photo() {
    if (!images[current_location] || !images[current_location].complete) {
	preload_photo(current_location);
	return 0;
    }
    
    if (browserCanBlend){
	var do_transition;
	if (current_transition == (transition_count)) {
	    do_transition = Math.floor(Math.random() * transition_count);
	} else {
	    do_transition = current_transition;
	}
	document.images.slide.style.filter=transitions[do_transition];
	document.images.slide.filters[0].Apply();
    }
    document.slide.src = images[current_location].src;
        
    if (browserCanBlend) {
	document.images.slide.filters[0].Play();
    }
    return 1;
}

function preload_photo(index) {

    if (pics_loaded < photo_count) {

	if (!images[index]) {
	    images[index] = new Image;
	    images[index].onLoad = preload_complete();
	    images[index].src = photo_urls[index];
	    pics_loaded++;
	}
    } 
}


function change_transition() {
	current_transition = document.album.transitionType.selectedIndex;
	}

function preload_complete()  {}

function reset_timer() {
	clearTimeout(timer);
	   
    if (onoff) {         
        timeout_value = 4 * 1000;
        timer = setTimeout('go_to_next_photo()', timeout_value);
    }
}

function wait_for_current_photo() {
    if (!show_current_photo()) {
	status = "Bild wird geladen ...(" + current_location + " von " + photo_count + ").  Bitte warten!" ;
	clearTimeout(timer);
	timer = setTimeout('wait_for_current_photo()', 505);
	return 0;
    } 
	else {
	status = "Slideshow is running...";
	preload_next_photo();
	reset_timer();
    }
}

function go_to_next_photo() {
    current_location = next_location;

    if (!show_current_photo()) {
	wait_for_current_photo();
	return 0;
    }

    preload_next_photo();
    reset_timer();
}

