// JavaScript Document

var slideshow_current_action = "";
var imageId = 'fading_images';
var slideshow_last_manual = "";

function init_image() {
	// This is the name of the 	
	image = document.getElementById(imageId);
	if(image) {
		setOpacity(image, 100);
		image.style.visibility = "visible";
		slideshow_current_action = fadeWait(imageId,100,0,'fadeOut');
	} else {
		// No image with current ID found
		return;
	}
}

function fadeIn(objId,opacity) {
	if (document.getElementById(objId)) {
		obj = document.getElementById(objId);
		if(obj.style.visibility == 'hidden') { obj.style.visibility = 'visible'; }
		if (opacity < 100) {
			setOpacity(obj, opacity);
			opacity += 5;
			slideshow_current_action = window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 10);
		} else {
			image = document.getElementById(objId);
			setOpacity(image, 100);

			cur_image += 1;
			if(cur_image > (images.length - 1)) { cur_image = 0; }

			fadeWait(objId,opacity,0,'fadeOut');
		}
	}
}

function fadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity > 0) {
			setOpacity(obj, opacity);
			opacity -= 5;
			slideshow_current_action = window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 10);
		} else {
			obj.style.visibility = 'hidden';
			obj.src = images[cur_image];
			fadeWait(objId,opacity,600,'fadeIn');
		}
	}
}

function fadeWait(objId,opacity,wait,other) {
	if (wait < 500) {
		wait += 10;
		slideshow_current_action = window.setTimeout("fadeWait('"+objId+"',"+opacity+","+wait+",'"+other+"')", 100);
	} else {
		if(other == 'fadeIn') {
			document.getElementById('slideshow_info_'+ (cur_image == 0 ? images.length : cur_image)).className = 'slideshow_info';
			document.getElementById('slideshow_info_'+ ((cur_image + 1) == (images.length + 1) ? 1 : (cur_image + 1))).className = 'slideshow_current_auto';
			fadeIn(objId,opacity);
		} else {
			fadeOut(objId,opacity);
		}
	}
}

function setOpacity(obj, opacity) {
	
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

function slideshow_pause() {
	if(document.getElementById('slideshow_pause').className == 'slideshow_pause') {
		document.getElementById('slideshow_pause').className = 'slideshow_play';
		document.getElementById('slideshow_pause').innerHTML = '';
		image = document.getElementById(imageId);
		image.style.visibility = "visible";
		setOpacity(image, 100);
		clearTimeout(slideshow_current_action);
	} else {
		document.getElementById('slideshow_pause').className = 'slideshow_pause';
		document.getElementById('slideshow_pause').innerHTML = '';
		if(slideshow_last_manual != "") { document.getElementById("slideshow_info_"+ slideshow_last_manual).className = 'slideshow_current_auto'; }
		image = document.getElementById(imageId);
		image.style.visibility = "visible";
		slideshow_current_action = fadeWait(imageId,0,0,'fadeOut');
	}
}

function slideshow_manual_change(image_num) {
	image = document.getElementById(imageId);
	image.style.visibility = "visible";
	setOpacity(image, 100);
	
	//document.getElementById('slideshow_pause').className = 'slideshow_play';
	//document.getElementById('slideshow_pause').innerHTML = '';

	document.getElementById("slideshow_info_"+ (cur_image == 0 ? images.length : cur_image)).className = 'slideshow_info';
	if(slideshow_last_manual != "") { document.getElementById("slideshow_info_"+ slideshow_last_manual).className = 'slideshow_info'; }
	slideshow_last_manual = image_num;
	
	cur_image = image_num;
	if(cur_image > (images.length - 1)) { cur_image = 0; }
	
	document.getElementById("slideshow_info_"+ image_num).className = 'slideshow_current';

	document.getElementById(imageId).src = images[(image_num - 1)];

	clearTimeout(slideshow_current_action);
}
