//insert in body: <div id="ToolTip" class="ToolTip"></div>
//insert in styles: .ToolTip{ background-color: #bbbbbb; position:absolute; top:1px; left:1px; z-index:4000; visibility:hidden; }

//init: document.tip = new sk_tip();
//usage (normal): <div onMouseover="document.tip.show('content');" onMouseout="document.tip.hide()">test</div>
//usage (grap):   <div onMouseover="document.tip.showGrap('someIdHere');" onMouseout="document.tip.hide()">test1</div>

function sk_tip(){
	this.contentInfo = "";
	this.mouse_X     = 0;
	this.mouse_Y     = 0;
	this.tip_active  = 0;
	this.tip_vis     = 0;
	this.ie          = document.all ? true : false;
	}

sk_tip.prototype.show = function(content, w){
	if(w == null){ w = "auto";}
	else{ w += "px";}
	document.currentTip = this;
	document.onmousemove = this.getMouseXY;
	this.tip_active = 1;
	var tt = document.getElementById('ToolTip');
	tt.style.width = w;
	tt.innerHTML = content;
	}

sk_tip.prototype.showGrap = function(id, w){
	if(w == null){ w = "auto";}
	else{ w += "px";}
	var elem = document.getElementById(id);
	if(!elem.innerHTML){ return; }
	document.currentTip = this;
	document.onmousemove = this.getMouseXY;
	this.tip_active = 1;
	var tt = document.getElementById('ToolTip');
	tt.style.width = w;
	tt.innerHTML = elem.innerHTML;
	}

sk_tip.prototype.hide = function(){
	this.tip_active = 0;
	this.tip_vis    = 0;
	document.getElementById('ToolTip').style.visibility = "hidden";
	}

sk_tip.prototype.updateTipPos = function(){
	if(!this.tip_vis){
		document.getElementById('ToolTip').style.visibility = "visible";
		this.tip_vis = 1;
		}
	
	var elem = document.getElementById('ToolTip');
	if(!elem) { return; }
	elem.style.position = "absolute";
	elem.style.left = String(this.mouse_X + 15) + 'px';
	elem.style.top  = String(this.mouse_Y + 15) + 'px';
	}

sk_tip.prototype.getMouseXY = function(e){
	if(!document.currentTip){
		return;
		}
	var cT = document.currentTip;


/* 
	Im Internet Explorer ab Version 4 ist die vertikale Scroll-Position in der Eigenschaft 
	document.body.scrollTop gespeichert. Wenn Sie eine  Dokumenttyp-Deklaration einsetzen, 
	die im Internet Explorer 6 den  standardkonformen Modus auslöst, müssen Sie 
	document.documentElement.scrollTop statt document.body.scrollTop verwenden. 
	Zu diesem Zeitpunkt muss jedoch das body- bzw. html-Element bereits vorhanden sein, 
	d.h. es ist sinnvoll, die Ermittlung dieser Eigenschaften vom Event-Handler onload 
	abhängig zu machen.

*/

	if(cT.ie){ // grab the x-y pos.s if browser is IE
		cT.mouse_X = event.clientX;
		cT.mouse_Y = event.clientY;
		
		if (document.body && !document.body.scrollTop){ // IE6 +4.01 but no scrolling going on
			cT.mouse_X += 0;
			cT.mouse_Y += 0;
			}
		else if (document.body && document.body.scrollTop){ // IE6 +4.01 (Doctype) and user has scrolled
			cT.mouse_X += document.body.scrollLeft;
			cT.mouse_Y += document.body.scrollTop;
			}
		else if (document.body && document.body.scrollTop){// IE5 or DTD 3.2
			cT.mouse_X += document.body.scrollLeft;
			cT.mouse_Y += document.body.scrollTop;
			}
		}
	else{ // grab the x-y pos.s if browser is NS
		cT.mouse_X = e.pageX;
		cT.mouse_Y = e.pageY;
		}
		
	if(cT.mouse_X < 0){cT.mouse_X = 0;}
	if(cT.mouse_Y < 0){cT.mouse_Y = 0;}

	if(cT.tip_active){
		cT.updateTipPos();
		}
	}
