/**
 *  anaconsol Slideshow
 * (c) 2008
 *
 */

//  Definitions
current = 0; // StartUp
anistatus = 0; //  anistatus = 0, automatic start
delay = 5000; // Fade delay
anisteps = 80 // Number of Seqenzen in a fading process
navprev = 'navprev'; // Previous Button ID name
navprevpic = 'images/diashow_navprev.jpg'; // Previous Button image
navplaypause = 'navplaypause';  // PlayPause Button ID name
navplaypic = 'images/diashow_navplay.jpg'; // Play Button image
navplaytitle = 'Diashow fortsetzen';  // Play Button title
navpausepic = 'images/diashow_navpause.jpg'; // Pause Button image
navpausetitle = 'Diashow anhalten';// Pause Button title
navnext = 'navnext'; // Next Button ID name
navnextpic = 'images/diashow_navnext.jpg'; // Next Button image
imglist = 'diashow_imglist'; // enclosed div
pic = 'diashow_pic'; // Pic-ID
//

//create List
images = new Array();

// instantiate Slideshow
function preload_instance() {
	for(var i=0; i < images.length; i++) {
		if(images[i].complete == false) {
			setTimeout('preload_instance()', 100);
			return;
		}
	}
	document.getElementById(pic).src = images[0].src;
	document.getElementById(pic).alt = images[0].alt;
	document.getElementById(pic).title = images[0].title;
	document.getElementById(pic).style.display = 'block';
	document.getElementById(navprev).onclick = function() {
		previous();
	};
	document.getElementById(navplaypause).onclick = function() {
		start();
	};
	document.getElementById(navnext).onclick = function() {
		next();
	};
	start();
}

// Preload Imagelist
function preload() {
	var img_args = document.getElementById(imglist).getElementsByTagName('img');
	for(i=0; i<img_args.length; i++) {
		images[i] = new Image();
		images[i].src = img_args[i].src;
		images[i].alt = img_args[i].alt;
		images[i].title = img_args[i].title;
	}
	preload_instance();
}

// load current Image
function load() {
	document.getElementById(pic).src = images[current].src;
	document.getElementById(pic).alt = images[current].alt;
	document.getElementById(pic).title = images[current].title;
}

// start Animation
function start() {
	if(anistatus==0) {
		anistatus = 1;
		timeout = setTimeout('animation();', delay);
		document.getElementById(navplaypause).src = navpausepic;
		document.getElementById(navplaypause).title = navpausetitle;
		return;
	} else {
		anistatus = 0;
		clearTimeout(timeout);
		document.getElementById(navplaypause).src = navplaypic;
		document.getElementById(navplaypause).title = navplaytitle;
		return;
	}
}

// switch to next image
function next() {
	if(anistatus==1) {
		anistatus = 0;
		clearTimeout(timeout);
		document.getElementById(navplaypause).src = navplaypic;
		document.getElementById(navplaypause).title = navplaytitle;
		return;
	}
	current++;
	if(current >= images.length) {
		current = 0;
	}
	load();
}

// switch to previous image
function previous() {
	if(anistatus==1) {
		anistatus = 0;
		clearTimeout(timeout);
		document.getElementById(navplaypause).src = navplaypic;
		document.getElementById(navplaypause).title = navplaytitle;
		return;
	}
	current--;
	if(current<0) {
		current = images.length-1;
	}
	load();
}

// instantiate Animation
function animation() {
	current++;
	if(current >= images.length) {
		current = 0;
	}
	fade();
	timeout = setTimeout('animation();', delay);
}

// fading Images
function fade() {
	var timer = 0;
	for(i=9; i>=0; i--) {
		timer++;
		setTimeout("opacity(" + i + ");",timer*anisteps);
	}
	timer++;
	setTimeout("load();",timer*anisteps);

	for(i=1; i<=10; i++) {
		timer++;
		setTimeout("opacity(" + i + ");",timer*anisteps);
	}
}

// set Opacities
function opacity(value) {
	var object = document.getElementById(pic).style;
	object.opacity = (value / 10);
	object.MozOpacity = (value / 10);
	object.KhtmlOpacity = (value / 10);
	object.filter = 'alpha(opacity=' + value*10 + ')';
}

// load script on startup
window.onload = preload;