var w3c = (document.getElementById) ?true:false;
var iex = (document.all) ?true:false;
var ns4 = (document.layers) ?true:false;
var supported = (w3c || iex || ns4) ?true:false;
var active = false;
var curObj,curNest;
function mousemoved (evt)
{
	if(iex)
	{
		mousex = window.event.clientX+document.body.scrollLeft;
		mousey = window.event.clientY+document.body.scrollTop;
	}
	else if(ns4)
	{
		mousex = evt.pageX+window.pageXOffset;
		mousey = evt.pageY+window.pageYOffset;
	}
	else
	{
		mousex = evt.pageX;
		mousey = evt.pageY;
	}
	if(active)
		shiftTo(curObj, mousex+20, mousey+20, curNest);
	return true;
}

function getStyle (objstr, nest)
{
	nest = (nest) ? "document."+nest+"." : "";
	return (w3c) ? document.getElementById(objstr).style : (iex) ? document.all[objstr].style : (ns4) ? eval(nest+"document."+objstr) : false;
}

function shiftTo (objstr, x, y, nest)
{
	var obj = getStyle(objstr,nest);
	if(iex)
	{
		obj.pixelLeft = x-200;
		obj.pixelTop = y-60;
	}
	else if(ns4)
		obj.moveTo(x,y);
	else if(w3c)
	{
		obj.left = x;
		obj.top = y-20;
	}
}

function show (objstr,nest)
{
	curObj = objstr;
	curNest = (nest) ? nest : null;
	getStyle(objstr,nest).visibility = "visible";
	active = true;
}


function hide ()
{
	getStyle(curObj,curNest).visibility = "hidden";
	active = false;
}

if(supported)
{
	if(ns4)
		document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = mousemoved;
}