// JavaScript Document

var bgImg = new Image(); // Hintergrundbild am Beginn laden
bgImg.src = 'fileadmin/user_upload/diashow/bg.gif';

var bilder = new Array('mq', 'pavillon', 'palmenhaus', 'herzblumen', 'gepard', 'pinguine', 'seehund', 'propeller', 'redbull', 'breitling', 'nebel', 'steine', 'wienblick', 'schiff', 'lokomotive');

var pos = -1; // aktuelle Position im Bilderarray

function initDiashow() {
	
	// Array mit Bildern durchgehen, jedes mit eigenem Preload
	if(pos < bilder.length-1) {
		pos++;
	}
	else {
		pos = 0;
	}
	
	window.setTimeout('Diashow()', 8000);
}


function Diashow() {
	// Preload
	preloadImg(bilder[pos]);
}


function setBackgroundBlack() {
	// Hintergrund schwarz machen
	var diabox = document.getElementById('boxCollage');
	diabox.style.backgroundImage = 'url(fileadmin/user_upload/diashow/bg.gif)';
}


function preloadImg(_img) {
	
	function myImgOnLoadHandler() {
		
		if(document.getElementById('imgDiashow')) {
			setBackgroundBlack();
			fadeOut('imgDiashow', 100, _img);
		}
		else {
			var diabild = document.createElement('img');
			var diabildID = document.createAttribute('id');
			diabildID.nodeValue = 'imgDiashow';
			diabild.setAttributeNode(diabildID);
			document.getElementById('boxCollage').appendChild(diabild);
			document.images['imgDiashow'].src = thisImg.src;
			fadeIn('imgDiashow', 0);
		}
	}
	
	function myImgOnErrorHandler() {
		alert("Das angeforderte Bild konnte nicht geladen werden!\nThe requested image could not be loaded.");
	}
	
	function myImgCompleteHandler() {
		; // wird nicht benötigt
	}
	
	var thisImg = new Image();
	thisImg.onload = myImgOnLoadHandler;
	thisImg.onerror = myImgOnErrorHandler;
	
	// Preloader: Unterscheidung IE und Mozilla, Opera
	if(navigator.userAgent.indexOf('MSIE') > -1) {
		var bool = true; // MS IE
	}
	else {
		var bool = false; // Mozilla, Opera
	}
	do {
		myImgCompleteHandler();
	}
	while(thisImg.complete == bool);
	
	thisImg.src = 'fileadmin/user_upload/diashow/'+_img+'.jpg';
}


function fadeOut(objId, opacity, _img) {
	if(document.getElementById) {
		obj = document.getElementById(objId);
		if(opacity >= 0) {
			setOpacity(obj, opacity);
			opacity -= 3;
			window.setTimeout("fadeOut('" + objId + "', " + opacity + ", '" + _img + "')", 50);
		}
		else {
			if(document.getElementById('imgDiashow')) document.getElementById('boxCollage').removeChild(document.getElementById('imgDiashow'));
			preloadImg(_img);
		}
	}
}


function fadeIn(objId, opacity) {
	if(document.getElementById) {
		obj = document.getElementById(objId);
		if(opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 3;
			window.setTimeout("fadeIn('" + objId + "', " + opacity + ")", 50);
		}
		else initDiashow();
	}
}


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;
	// ältere Mozilla und Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, neuere Firefox und Mozilla, CSS3
	obj.style.opacity = opacity/100;
}


window.onload = initDiashow;
