startList = function() {  if ( document.all && document.getElementById ) {    navRoot = document.getElementById("nav");    for ( i = 0; i < navRoot.childNodes.length; i ++ ) {      node = navRoot.childNodes[i];      if (node.nodeName == "LI") {        node.onmouseover = function() {          this.className += " over";        }        node.onmouseout = function() {          this.className = this.className.replace(" over", "");        }      }    }  }}function CenterPage(){  var x, y;  if ( self.innerHeight ) // all except Explorer  {  	x = self.innerWidth;  	y = self.innerHeight;  }  else  	if ( document.documentElement && document.documentElement.clientHeight )  	// Explorer 6 Strict Mode  	{  		x = document.documentElement.clientWidth;  		y = document.documentElement.clientHeight;  	}  	else  		if ( document.body ) // other Explorers  		{  			x = document.body.clientWidth;  			y = document.body.clientHeight;  		}  var breite_gesamt = x;  var breite_inhalt = document.getElementById("fixiert").offsetWidth;  var offset_left =    breite_inhalt < breite_gesamt ?    Math.floor((breite_gesamt - breite_inhalt) / 2) :    0;  var hoehe_gesamt = y;  var hoehe_fix = document.getElementById("fixiert").offsetHeight;  var hoehe_scroll = document.getElementById("Scrollbereich").offsetHeight;  var hoehe_inhalt = hoehe_fix + hoehe_scroll;  var offset_top =    hoehe_inhalt < hoehe_gesamt ?    Math.floor((hoehe_gesamt - hoehe_inhalt) / 2) :    0;  document.getElementById("fixiert").style.left = offset_left + "px";  document.getElementById("fixiert").style.top = offset_top + "px";  document.getElementById("Scrollbereich").style.left = offset_left + "px";  document.getElementById("Scrollbereich").style.top = hoehe_fix + offset_top + "px";}/** *  @fileoverview TextResizeDetector * *  Detects changes to font sizes when user changes browser settings *  Fires a custom event with the following data: *  iBase  : base font size *  iDelta : difference in pixels from previous setting *  iSize  : size in pixel of text * *  @author Lawrence Carvalho carvalho@uk.yahoo-inc.com *  @version 1.0 *//** * @constructor */TextResizeDetector = function() {  var el = null;	var iIntervalDelay  = 200;	var iInterval = null;	var iCurrSize = -1;	var iBase = -1;	var aListeners = [];	var createControlElement = function() {	 	el = document.createElement('span');		el.id = 'textResizeControl';		el.innerHTML = '&nbsp;';		el.style.position = "absolute";		el.style.left = "-9999px";		var elC = document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID);		// insert before firstChild		if (elC)			elC.insertBefore(el, elC.firstChild);		iBase = iCurrSize = TextResizeDetector.getSize(); 	}; 	function _stopDetector() {		window.clearInterval(iInterval);		iInterval = null;	};	function _startDetector() {		if ( ! iInterval )			iInterval = window.setInterval('TextResizeDetector.detect()', iIntervalDelay);	};	function _detect() {		var iNewSize = TextResizeDetector.getSize();		if( iNewSize !== iCurrSize )			for ( var i = 0; i < aListeners.length; i ++ ) {				aListnr = aListeners[i];				var oArgs = {					iBase: iBase,					iDelta: (						iCurrSize != -1 ?						iNewSize - iCurrSize + 'px' :						"0px"					),					iSize: iCurrSize = iNewSize				};				if ( ! aListnr.obj )					aListnr.fn('textSizeChanged', [oArgs]);				else					aListnr.fn.apply(aListnr.obj, ['textSizeChanged', [oArgs] ]);			}		return iCurrSize;	};	var onAvailable = function() {		if ( ! TextResizeDetector.onAvailableCount_i )			TextResizeDetector.onAvailableCount_i = 0;		if ( document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID) ) {			TextResizeDetector.init();			if ( TextResizeDetector.USER_INIT_FUNC )				TextResizeDetector.USER_INIT_FUNC();			TextResizeDetector.onAvailableCount_i = null;		}		else {			if ( TextResizeDetector.onAvailableCount_i < 600 ) {				TextResizeDetector.onAvailableCount_i ++;				setTimeout(onAvailable, 200)			}		}	};	setTimeout(onAvailable, 500);	return {		/*		 * Initializes the detector		 *		 * @param {String} sId The id of the element in which to create the control element		 */		init: function() {			createControlElement();			_startDetector();		},		/**		 * Adds listeners to the ontextsizechange event.		 * Returns the base font size		 *		 */		addEventListener: function(fn, obj, bScope) {			aListeners[aListeners.length] = {				fn: fn,				obj: obj			}			return iBase;		},		/**		 * performs the detection and fires textSizeChanged event		 * @return the current font size		 * @type {integer}		 */		detect: function() {			return _detect();		},		/**		 * Returns the height of the control element		 *		 * @return the current height of control element		 * @type {integer}		 */		getSize: function() {			var iSize;			return el.offsetHeight;		},		/**		 * Stops the detector		 */		stopDetector: function() {			return _stopDetector();		},		/*		 * Starts the detector		 */		startDetector:function() {			return _startDetector();		}	} }();TextResizeDetector.TARGET_ELEMENT_ID = 'doc';TextResizeDetector.USER_INIT_FUNC = null;function initWindow(){  startList();  CenterPage();  document.getElementsByTagName("body")[0].style.visibility = "visible";}	function init() {		var iBase = TextResizeDetector.addEventListener(onFontResize, null);		/*		alert("The base font size = " + iBase);		*/	}	function onFontResize(e, args) {		/*		var msg = "\nThe base font size in pixels: " + args[0].iBase;		msg +="\nThe current font size in pixels: " + args[0].iSize;		msg += "\nThe change in pixels from the last size:" + args[0].iDelta;		alert(msg);		*/		CenterPage();	}	// id of element to check for and insert control	TextResizeDetector.TARGET_ELEMENT_ID = 'header';	// function to call once TextResizeDetector has init'd	TextResizeDetector.USER_INIT_FUNC = init;
