// dom scripting, s. 103
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func()
		}
	}
}


function anzeigen(element){
	if (!document.getElementById) return false;
	if (!document.getElementById(element)) return false;
	var ele = document.getElementById(element);
	if (ele.style.display != "block"){
		ele.style.display = "block";
	} else {
		ele.style.display = "none";
	}
}

// bilder austausch via javascript
addLoadEvent(bildLinksVorbereiten);

// dom scripting, s. 87
function bildLinksVorbereiten(){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("Fotos")) return false;
	var bildauswahl = document.getElementById("Fotos");
	// nur die links bei "bildauswahl" sind betroffen!
	var links = bildauswahl.getElementsByTagName("a");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			bildZeigen(this.getAttribute("href"));
			classeAnfuegen(this, "aktiv");
			return false;
		}
	}
}

// dom scripting. s.69
function bildZeigen(quelle){
	if (!document.getElementById) return false;
	var objekt = "bild";
	if (!document.getElementById(objekt)) return false;
	var objektID = document.getElementById(objekt);
	objektID.setAttribute("src",quelle);
	// die naechsten 2 zeilen evtl. herausnehmen
	// falls die bilder nicht schnell geladen werden
	// blendet erst das alte bild ein und schaltet dann ploetzlich um...
	setOpacity(objektID, 0);
	fadeIn(objekt,0);
}

// image fadeIn
// http://clagnut.com/sandbox/imagefades/
function fadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 10;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 80); //umso kuerzer, um so schneller
		}
	}
}

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;
}

/*
	liest die "title"-attribute der vorschaubilder aus und zeigt diese in der zeile oberhalb der bilder;
	wenn kein mouseover oder kein title da ist, wird der vorher eingelesene text wieder gezeigt;
	z.b. bei regal-auswahl verwendet
	benoetigt 2 ids:
	"FlexHeader" = die ueberschriftzeile, die sich bei rollover aendern soll und bei der am anfang schon etwas steht z.b. "regal-auswahl"
	"vorschaubilder" = die liste mit den kleinen auswahlbildern; von diesen wird der "title"-tag ausgelesen;
	ist kein title-tag vorhanden, wird die alte ueberschrift wieder gezeigt; gleiches gilt bei "mouseout"

*/
addLoadEvent(vorschaubildTitelAuslesen);
function vorschaubildTitelAuslesen(){
	 bildTitelAuslesen("FlexHeader","vorschaubilder");
	  bildTitelAuslesen("FlexHeader2","vorschaubilder2");
}

// dom scripting, s. 87
function bildTitelAuslesen(Textzeile,Auswahl){
	// Textzeile = das ID-Element, von dem der Anfangs-Text eingelesen wird und dessen Text sich bei rollover dynamisch aendert;
	// Auswahl = die Liste mit Vorschaubilder, deren Title-Tags ausgelesen werden

	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;

	if (!document.getElementById(Textzeile)) return false;
	var FlexHeaderText = document.getElementById(Textzeile);
	var fixText = FlexHeaderText.firstChild.nodeValue; // der text, der am anfang innerhalb des elements Textzeile steht...
	//alert (fixText);

	if (!document.getElementById(Auswahl)) return false;
	var vorschaubilder = document.getElementById(Auswahl);

	// nur die imgs bei Auswahl sind betroffen! => Hallo Matthias. Ich habe hier das getElementsByTagName in a umgewandelt, war vorher img (zwecks TYPO3)
	var imgs = vorschaubilder.getElementsByTagName("a");
	for (var i=0; i<imgs.length; i++){
		imgs[i].onmouseover = function(){
			// caption-text aus title-attribute
			if (this.getAttribute("title")){
				var variText = this.getAttribute("title"); // variablerText aus title
				captionAendern(Textzeile,variText);
			} else {
				captionAendern(Textzeile,fixText); // wenn kein title tag vorhanden ist, wird der anfang-text gezeigt
			}
		}

		imgs[i].onmouseout = function(){
			captionAendern(Textzeile,fixText); // wenn kein title tag vorhanden ist, wird der anfang-text gezeigt
		}
	}
}

// dom scripting. s.69
function captionAendern(Textzeile,text){
	if (!document.getElementById) return false;
	if (!document.getElementById(Textzeile)) return false;
	var textBereich = document.getElementById(Textzeile);
	textBereich.firstChild.nodeValue = text;
}

// dom scripting. s.200
function classeAnfuegen(element, wert){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("bildauswahl")) return false;
	var bildauswahl = document.getElementById("bildauswahl");
	// nur die links bei "bildauswahl" sind betroffen!
	var links = bildauswahl.getElementsByTagName("a");
	// zuerst von allen links die class entfernen
	for (var i=0; i<links.length; i++){
		links[i].className = "";
	}
	// dann dem betroffenen classe anfuegen
	element.className = wert;
}
