var hAction;
var _mouseTrace;
if(_mouseTrace==undefined) {
	var mX=0,mY=0;
	var _mouseTraceF=new Array('move()');
	if(!document.all) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove=mTrace;
	_mouseTrace=1;
}

function mTrace(e) {
	if(!document.all) {
		mX=e.pageX;
		mY=e.pageY;
	} else {
		mX=document.body.scrollLeft+event.clientX;
		mY=document.body.scrollTop+event.clientY;
	}
	for(var i=0; i<_mouseTraceF.length; i++)
		eval(_mouseTraceF[i]);
}

function move() {
	if(hAction!=undefined&&document.getElementById('_Hint'+hAction)._s=="c") {
		var o=document.getElementById('_Hint'+hAction);
		var w=document.body.clientWidth;
		var h=document.body.clientHeight;
		posit(null,o,w,h);
	}
}

function hint_initialize(i,s,x,y,h) {
	document.write('<div onMouseOver="show(document.getElementById(\'_Hint'+i+'\')._a,'+i+');" onMouseOut="hide('+i+','+h+');" id="_Hint'+i+'" style="position: absolute; visibility: hidden;"></div>');
	var o=document.getElementById('_Hint'+i);
	o._s=s;
	o._x=x;
	o._y=y;
	o._h=undefined;
	o._a=undefined;
}

function show(a,i,t) {
	var o=document.getElementById('_Hint'+i);
	var w=document.body.clientWidth;
	var h=document.body.clientHeight;
	if(o._h!=undefined) clearTimeout(o._h);
	if(o._a==undefined||o._a!=a) o.style.visibility='hidden';
	if(t!=undefined) o.innerHTML=eval('tmpl'+i).replace(/\$title/gi,t);
	posit(a,o,w,h);
	if(o.scrollWidth>w||o.scrollHeight>h) return;
	setTimeout("document.getElementById('_Hint"+i+"').style.visibility='visible'",10);
	o.style.zIndex=20;
	if(hAction!=undefined) document.getElementById('_Hint'+hAction).style.zIndex=10;
	hAction=i;
	o._a=a;
}

function posit(a,o,w,h) {
	var sl=document.body.scrollLeft;
	var st=document.body.scrollTop;
	if(o._s=="c") {
		var x=o._x+mX;
		var y=o._y+mY;
	} else {
		var x=o._x+a.offsetLeft;
		var y=o._y+a.offsetTop;
	}
	if(x-sl+o.scrollWidth>w) x=sl-o.scrollWidth+w;
	if(x<sl) x=sl;
	if(y-st+o.scrollHeight>h) y=st-o.scrollHeight+h;
	if(y<st) y=st;
	o.style.left=x;
	o.style.top=y;
}

function hide(i,t) {
	var o=document.getElementById('_Hint'+i);
	if(t!=undefined) o._h=setTimeout('hide('+i+');',t*1000);
	else {
		o.style.visibility='hidden';
		if(hAction==i) hAction=undefined;
	}
}