	var d = document;
	d.onmousemove = setTooltipPos;
	var OFFSET = 10;
	
	// cross browser Objekterfassung
	function DOMObj (elemId) {	
		if (d.getElementById && d.getElementById(elemId)) {//DOM-Browser allg.
			this.obj = d.getElementById(elemId);
			this.style = d.getElementById(elemId).style;
		}			
		else if (d.all && d.all[elemId]) {// IE > v4
			this.obj = d.all[elemId];
			this.style = d.all[elemId].style;
		}			
		else if (d.layers && d.layers[elemId]) {// NN > v4
			this.obj = d.layers[elemId];
			this.style = d.layers[elemId];
		}
		else{
			this.obj = false;
		}
	}
	
	// Position eines Elements ermitteln
	function getPos (elem) { 
		var pos = new Coord; //{x:0, y:0}; 
		var o = elem; 
		while(o) { 
			pos.y += o.offsetTop; 
			pos.x += o.offsetLeft; 
			o = o.offsetParent; 
		} 
		return pos; 
	}
	
	// scroll offset ermitteln cross browser
	function getScrollOffset() {
		var coord = new Coord(0, 0);
		
		if (self.pageYOffset) { // alle Browser außer IE
			coord.x = self.pageXOffset;
			coord.y = self.pageYOffset;
		}
		else if (d.documentElement && d.documentElement.scrollTop) { // IE > v6 im strict mode
			coord.x = d.documentElement.scrollLeft;
			coord.y = d.documentElement.scrollTop;
		}
		else if (d.body) { // alle anderen IE
			coord.x = d.body.scrollLeft;
			coord.y = d.body.scrollTop;
		}		
		return coord;
	}	
	
	// Tooltip positionieren
	function setTooltipPos(evt) {
		var mousePos = getMousePos(evt);		
		var center = new DOMObj('center');		
		centerPos = (center.obj) ? getPos(center.obj) : new Coord(0,0);
		
		if (mousePos && d.objTooltip) {
			d.objTooltip.style.top = (mousePos.y - centerPos.y + OFFSET) + "px";
			d.objTooltip.style.left = (mousePos.x - centerPos.x  + OFFSET) + "px";
		}
		
		status = d.getElementsByTagName('body')[0].scrollTop;
		return true;
	}
	
	// ermittelt aktuelle Mousezeiger-Koordinaten
	function getMousePos(evt) {
		var e = evt || window.event;
		if(!e) return null;
		
		if (d.all) {
			var scrollOffset = getScrollOffset();	
			return new Coord(e.clientX + scrollOffset.x, e.clientY + scrollOffset.y);
		}
		else if (window.opera) return new Coord(e.clientX, e.clientY);
		else if (d.layers || d.getElementById) return new Coord(e.pageX, e.pageY);
		else return null;
	}
	
	// Objekt fuer Koordinaten
	function Coord (x, y) {
		this.x = (!x) ? 0 : parseInt(x);
		this.y = (!y) ? 0 : parseInt(y);
	}
	
	// Tooltip anzeigen und event Ausblenden initialisieren
	function showTooltip(id, sender) {
		d.objTooltip = new DOMObj(id);
		if (d.objTooltip.obj) {
			setTooltipPos();
			d.objTooltip.style.display = 'block';
			sender.onmouseout = function() {
				d.objTooltip.style.display = 'none';
				d.objTooltip = null;
			}
		}
	}