/**
 * Funktion zum Hinufuegen von Event-Handlern zu window.onload.
 * Diese Funktion nimmt Ruecksicht auf vorhandene Handler und 
 * erlaubt es, mehrere Funktionen nacheinander einzubinden.
 * Dabei wird auf eval() verzichtet.
 * Quelle: http://www.webreference.com/programming/javascript/onloads/
 **/
function addWindowLoadEvent( f ) {
	var oldonload = window.onload; /* eventuell vorhandenen Handler holen */
	if ( typeof window.onload != 'function' ) { /* wenn kein Handler zugewiesen ist, */
		window.onload = f; /* dann ist unser neuer Handler der einzige */
	} else {
		window.onload = function() { /* ansonsten wird eine anonyme Funktion erstellt, die alte und neue Funktion aufruft. */
			if (oldonload) {
				oldonload();
			}
			f();
		}
	} 	
}

/**
 * Funktion zum Umschalten zwischen display:none und block/inline
 * Der optionale Parameter setzt display auf den übergebenen Wert.
 **/
function toggleShowHide( element, display ) {
	/* Hier spaeter testen, ob element = string (also ID) 
	 * oder object (also direkt das element) */ 	
	
	e = document.getElementById( element );	
	if( typeof( display ) != "undefined" ) {
		e.style.display = display;	
	} else { /* if( typeof( display ) != "undefined" ) { */
		e.style.display = (e.style.display == "none") ? "" : "none";
	} /* if( typeof( display ) != "undefined" ) { ... else } */
	
//	if( e.preventDefault ) { e.preventDefault(); }
//	e.returnValue = false;
}

/**
 * http://answers.google.com/answers/threadview?id=510976
 * addListener(this, "load", function() { myFunction(); });
 * addListener(document, "load", function() { myFunction(); });
 */
function addListener(element, event, listener, bubble) {
	if(element.addEventListener) {
		if(typeof(bubble) == "undefined") bubble = false;
		element.addEventListener(event, listener, bubble);
	} else if(this.attachEvent) {
		element.attachEvent("on" + event, listener);
	}
}


/* Hinzufuegen notwendiger Event-Handler */
addWindowLoadEvent( function () { if( top != self  ){ top.location = self.location;}});
