// JS für Animationen auf sinn.de bzw. sinn-test.de

// GLOBALE VARIABLEN:
var TimerAnimation = new Array();
var TimerBlenden = new Array();

// --------------------------------------

function setOpacity(level, Einzelbild) {
	Einzelbild.style.opacity = level;
	Einzelbild.style.MozOpacity = level;
	Einzelbild.style.KhtmlOpacity = level;
	Einzelbild.style.filter = "alpha(opacity=" + (level * 100) + ");";
}  
 
function Bildanimation() {
	var Bereiche = document.getElementsByTagName("div");
	var BereicheBilder = new Array();
	
	for (var h = 0; h < Bereiche.length; h++) {
		if ( Bereiche[h].className == "Bild" ) {
			BereicheBilder.push(Bereiche[h]);
		}
	}
	var AnzahlBereiche = BereicheBilder.length;
	
	for (var i = 0; i < AnzahlBereiche; i++) {
		var Bilder = BereicheBilder[i].getElementsByTagName("img");
		
		var AnzahlBilder = Bilder.length;
		if ( AnzahlBilder >= 2 ) {
			for (var ii = 0; ii < AnzahlBilder; ii++) {
				var Einzelbild = Bilder[ii];
				var level = 0.0;
				setOpacity(0.0, Einzelbild);
			}
			Einzelbild = Bilder[0];
			setOpacity(1.0, Einzelbild);
			Einzelbild.name = "Bild_Anzeige";
		}
	}
}

function setOpacity1(level, s_BereichID, intEinzelbild, Operant) {
	var Bereich = document.getElementById(s_BereichID);
	var Ausloeser = Bereich.getElementsByTagName("a")[0];
	var TimerIndex = fnBereichNr( s_BereichID );
	
	var Bild = Bereich.getElementsByTagName("img")[intEinzelbild];

	Bild.style.opacity = level;
	Bild.style.MozOpacity = level;
	Bild.style.KhtmlOpacity = level;
	Bild.style.filter = "alpha(opacity=" + (level * 100) + ");";
	
	if (Operant == 1) {
		if ( level >= 1) {
			clearTimeout(TimerBlenden[TimerIndex][Operant]);
			TimerBlenden[TimerIndex][Operant] = "";
			if ( TimerAnimation[TimerIndex] == "" && TimerBlenden[TimerIndex][0] == "" && TimerBlenden[TimerIndex][1] == "" ) {
				Ausloeser.onmouseover = function fnEventReaktivieren(){fnBildanimation2_Start(s_BereichID, Ausloeser);};
			}
			return;
		}
		level = level + 0.05;
	} else {
		if ( level <= 0) {
			clearTimeout(TimerBlenden[TimerIndex][Operant]);
			TimerBlenden[TimerIndex][Operant] = "";
			if ( TimerAnimation[TimerIndex] == "" && TimerBlenden[TimerIndex][0] == "" && TimerBlenden[TimerIndex][1] == "" ) {
				Ausloeser.onmouseover = function fnEventReaktivieren(){fnBildanimation2_Start(s_BereichID, Ausloeser);};
			}
			return;
		}
		level = level - 0.05;
	
	}
	
	if ( typeof TimerBlenden[TimerIndex] != "object" ) {
		// Muss für jeden "Bereich" beim 1. Start der Animation ausgeführt werden:
		TimerBlenden[TimerIndex] = new Array();
	}
	TimerBlenden[TimerIndex][Operant] = setTimeout( function callsetOpacity1() { setOpacity1( level, s_BereichID, intEinzelbild, Operant ); }, 30);
}  

function Bildanimation2( Bereich, Ausloeser ) {
	var TimerIndex = fnBereichNr( Bereich );
	TimerAnimation[TimerIndex] = "";
	
	var BereichDiv = document.getElementById(Bereich);
	var Bilder = BereichDiv.getElementsByTagName("img");
	var AnzahlBilder = Bilder.length;
		
	for (var ii = 0; ii < AnzahlBilder; ii++) {
		var Einzelbild = Bilder[ii];
		if (Einzelbild.name == "Bild_Anzeige") {
			Einzelbild.name = "Bild_Leer";
			setOpacity1(1.0, Bereich, ii, 0);
			var intNeuesBild = ii + 1;
			if (intNeuesBild < AnzahlBilder ) {
				NeuesEinzelbild = Bilder[intNeuesBild];
			} else {
				NeuesEinzelbild = Bilder[0];
				intNeuesBild = 0;
			}
			NeuesEinzelbild.name = "Bild_Anzeige";
			setOpacity1(0.0, Bereich, intNeuesBild, 1);
			
			TimerAnimation[TimerIndex] = setTimeout( function callBildanimation2() { Bildanimation2( Bereich, Ausloeser ); }, 4000);
			break;
		}
	}
}

function fnBildanimation2_Start( Bereich, Ausloeser ) {
	Ausloeser.onmouseover = "";
	var TimerIndex = fnBereichNr( Bereich );
	
	if ( typeof TimerAnimation[TimerIndex] == "undefined" ) {
		TimerAnimation[TimerIndex] = "";
	}
	if ( TimerAnimation[TimerIndex] == "" ) {
		Bildanimation2( Bereich, Ausloeser );
	}
}

function fnBildanimationStop( Bereich, Ausloeser ) {
	var TimerIndex = fnBereichNr( Bereich );
	
	try { clearTimeout(TimerAnimation[TimerIndex]); } catch(abc) {}
	TimerAnimation[TimerIndex] = "";
	
	if ( TimerAnimation[TimerIndex] == "" && TimerBlenden[TimerIndex][0] == "" && TimerBlenden[TimerIndex][1] == "" ) {
		Ausloeser.onmouseover = function fnEventReaktivieren(){fnBildanimation2_Start(Bereich, Ausloeser);};
	}
}

function fnOnmouseover( Bereich, Ausloeser ) {
	var TimerIndex = fnBereichNr( Bereich );
	
	Ausloeser.onmouseover = function fnEventReaktivieren(){fnBildanimation2_Start(Bereich, Ausloeser);};
}

function fnBereichNr( s_BereichID ) {
	var TimerIndex = s_BereichID.split("_");
	TimerIndex = parseInt(TimerIndex[1]);
	if ( !isNaN(TimerIndex) ) {
		return TimerIndex;
	} else {
		return 0;
	}
}

