var fadespeed			= 40 // Geschwindigkeit des fadens (kleiner=schneller)
var transparencylimit	= 80 // Restdurchsichtigkeit in % (100% = undurchsichtig)

function ietruebody()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var IE4 = (document.all && !document.getElementById)? true : false;
var IE5 = (document.getElementById && document.all)? true : false;
var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var W3C = (document.getElementById)? true : false;
var w_y, w_x, tooltip, boxheight, boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims()
{
	w_y=(NS4||NS6||window.opera)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
	w_x=(NS4||NS6||window.opera)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth()
{
	if(NS4)boxwidth=(tooltip.document.width)? tooltip.document.width : tooltip.clip.width;
	if(IE5||IE4)boxwidth=(tooltip.style.pixelWidth)? tooltip.style.pixelWidth : tooltip.offsetWidth;
	if(NS6)boxwidth=(tooltip.style.width)? parseInt(tooltip.style.width) : parseInt(tooltip.offsetWidth);
}

function getboxheight()
{
	if(NS4)boxheight=(tooltip.document.height)? tooltip.document.height : tooltip.clip.height;
	if(IE4||IE5)boxheight=(tooltip.style.pixelHeight)? tooltip.style.pixelHeight : tooltip.offsetHeight;
	if(NS6)boxheight=parseInt(tooltip.offsetHeight);
}

function movetooltip(x,y)
{
	if(NS4)tooltip.moveTo(x,y);
	if(W3C||IE4)
	{
		tooltip.style.left=x+'px';
		tooltip.style.top=y+'px';
	}
}

function getpagescrolly()
{
	if(NS4||NS6)return window.pageYOffset;
	if(IE5||IE4)return ietruebody().scrollTop;
}

function getpagescrollx()
{
	if(NS4||NS6)return window.pageXOffset;
	if(IE5||IE4)return ietruebody().scrollLeft;
}

function writeindiv(text)
{
	if(NS4)
	{
		tooltip.document.open();
		tooltip.document.write(text);
		tooltip.document.close();
	}
	if(W3C||IE4)tooltip.innerHTML=text;
}


function writetxt(text)
{
	if(isloaded)
	{
		if(text!=0)
		{
			ishover=true;
			if(NS4)text='<div class="tooltip"><center>'+text+'</center></div>';
			writeindiv(text);
			getboxheight();
			if(W3C || IE4)
			{
				ieop=0;
				incropacity();
			}
		}
		else
		{
			if(NS4)tooltip.visibility="hide";
			if(IE4||W3C)
			{
				clearTimeout(op_id);
				tooltip.style.visibility="hidden";
			}
			writeindiv("");
			ishover=false;
		}
	}
}

function incropacity()
{
	if(ieop<=transparencylimit)
	{
		ieop+=7;
		if(IE4 || IE5)tooltip.style.filter="alpha(opacity="+ieop+")";
		if(NS6)tooltip.style.MozOpacity=ieop/100;
		op_id=setTimeout('incropacity()', fadespeed);
	}
}

function moveobj(evt)
{
	if(isloaded && ishover)
	{
		margin=(IE4||IE5)? 1 : 23;
		if(NS6)if(document.height+27-window.innerHeight<0)margin=15;
		if(NS4)if(document.height-window.innerHeight<0)margin=10;
		if (NS4)
		{
			mx=evt.pageX;
			my=evt.pageY;
		}
		else if (NS6)
		{
			mx=evt.clientX;
			my=evt.clientY;
		}
		else if (IE5)
		{
			mx=event.clientX;
			my=event.clientY;
		}
		else if (IE4)
		{
			mx=0;
			my=0;
		}

		if(NS4)
		{
			mx-=getpagescrollx();
			my-=getpagescrolly();
		}
		xoff=mx+5;
		yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 0;
		movetooltip( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx() , my+yoff+getpagescrolly());
		if(NS4)tooltip.visibility="show";
		if(W3C||IE4)tooltip.style.visibility="visible";
	}
}

if(NS4)document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=moveobj;

window.onload=function()
{
	tooltip=(NS4)? document.layers['tooltip'] : (IE4)? document.all['tooltip'] : (W3C)? document.getElementById('tooltip') : null;
	getboxwidth();
	getboxheight();
	getwindowdims();
	isloaded=true;
	if(W3C || IE4)tooltip.style.textAlign="center";
	if(W3C)tooltip.style.padding='4px';
	if(IE4 || IE5)tooltip.style.filter="alpha(opacity=0)";
}

window.onresize=getwindowdims;
