var slideshowtimer
var fadetimer
var SlideShowFadeDelta = 100 / (40 * FadeDauer/1000);
var SlideShowFadeOpacity = 100;


for (var aktslide in slideshow) 
{
	slideshow[aktslide]['GeladeneBilder'] = new Array();
	slideshow[aktslide]['aktBild'] = 1;
}

function nextBildgeladen() 
{
	for (var aktslide in slideshow) 
	{
		var aktbild = slideshow[aktslide]['aktBild'];
		if (!slideshow[aktslide]['GeladeneBilder'][aktbild]) 
		{
			//status = 'Bild wird nachgeladen... ' + 'Slide: ' + aktslide + ' Bild: ' + aktbild +' Datei: '+ slideshow[aktslide]['Bilder'][aktbild];
			slideshow[aktslide]['GeladeneBilder'][aktbild] = new Image();
	   		slideshow[aktslide]['GeladeneBilder'][aktbild].src = slideshow[aktslide]['Bilder'][aktbild];
		}
	}
}

function startSlideShow()
{
	slideshowtimer = setTimeout('runSlideShow()', Bilderwechsel-FadeDauer);
	nextBildgeladen();	
}

function runSlideShow() 
{
	var nextbildergeladen = true;
	for (var aktslide in slideshow) 
	{
		var aktbild = slideshow[aktslide]['aktBild'];
		if (!slideshow[aktslide]['GeladeneBilder'][aktbild]) nextbildergeladen = false;
	}	
	
	if (nextbildergeladen) 
	{
		for (var aktslide in slideshow) 
		{
			var image = document.getElementById(aktslide); 
			var div = document.getElementById(aktslide+'div'); 
			
			var aktbild = slideshow[aktslide]['aktBild'];
			// div mit dem neuen Bild befüllen
			div.style.backgroundImage='url(' + slideshow[aktslide]['Bilder'][aktbild] + ')';
			//div.style.backgroundImage=slideshow[aktslide]['GeladeneBilder'][aktbild];
			
			// Fade starten
			fadetimer = setTimeout('FadeSlideShow()', 25); // 40 mal Pro Sec

		}
	} else 
	{
		//status = 'Warten bis Bilder geladen ... ';
		slideshowtimer = setTimeout('runSlideShow()', 100);
	}
}


function FadeSlideShow() 
{
	for (var aktslide in slideshow) 
	{
		var image = document.getElementById(aktslide); 
		
		if (SlideShowFadeOpacity < 2*SlideShowFadeDelta ) 
		{
			// Fade beenden...
		  SlideShowFadeOpacity = 100;
		  SlideShowSwapImage();
    	  slideshowtimer = setTimeout('runSlideShow()', Bilderwechsel-FadeDauer)
			nextBildgeladen();	
		}
		else 
		{
			// Weiter Faden
			SlideShowFadeOpacity -= SlideShowFadeDelta;
			setOpacity(image, SlideShowFadeOpacity)
			fadetimer = setTimeout('FadeSlideShow()', 25);
		}
	}
}

function SlideShowSwapImage()
{
	for (var aktslide in slideshow) 
	{
		var image = document.getElementById(aktslide); 
		var div = document.getElementById(aktslide+'div'); 
		var aktbild = slideshow[aktslide]['aktBild'];

		// Div Bild wird nun zum Image Bild 
		image.src = slideshow[aktslide]['GeladeneBilder'][ aktbild ].src;
		// wieder undurchsichtig machen.
		setOpacity(image,100);
	
		slideshow[aktslide]['aktBild']++;
		if (slideshow[aktslide]['aktBild'] >= slideshow[aktslide]['Bilder'].length ) 
			slideshow[aktslide]['aktBild'] = 0

		aktbild = slideshow[aktslide]['aktBild']
		// Nächstes Bild im Hintergrund setzen.
		div.style.backgroundImage='url(' + slideshow[aktslide]['Bilder'][aktbild] + ')';
		//div.style.backgroundImage=slideshow[aktslide]['GeladeneBilder'][aktbild];
	}
}


function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
 // CSS Standard Firefox, Safari, and Opera
  obj.style.opacity = opacity/100;

}

