var msie=document.all;
var other=document.getElementById && !document.all;
var runTooltip=false;
var tooltipObject=document.all? document.all["tooltip"] : document.getElementById? document.getElementById("tooltip") : "";
var msieHack=(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;

function posTooltip(val) {
	var offsetX=-60
	var offsetY=20
	if (runTooltip) {
		var cursorX=(other)?val.pageX : event.x+msieHack.scrollLeft;
		var cursorY=(other)?val.pageY : event.y+msieHack.scrollTop;
		var workspaceRight=msie&&!window.opera? msieHack.clientWidth-event.clientX-offsetX : window.innerWidth-val.clientX-offsetX-20;
		var workspaceBottom=msie&&!window.opera? msieHack.clientHeight-event.clientY-offsetY : window.innerHeight-val.clientY-offsetY-20;
		var workspaceLeft=(offsetX<0)? offsetX*(-1) : -1000;

		if (workspaceRight<tooltipObject.offsetWidth) {
			tooltipObject.style.left=msie? msieHack.scrollLeft+event.clientX-tooltipObject.offsetWidth+"px" : window.pageXOffset+val.clientX-tooltipObject.offsetWidth+"px";
		}
		else {
			if (cursorX>workspaceLeft) {
				tooltipObject.style.left=cursorX+offsetX+"px";
			}
		}
		if (workspaceBottom<tooltipObject.offsetHeight) {
			tooltipObject.style.top=msie? msieHack.scrollTop+event.clientY-tooltipObject.offsetHeight-offsetY+"px" : window.pageYOffset+val.clientY-tooltipObject.offsetHeight-offsetY+"px";
		}
		else {
			tooltipObject.style.top=cursorY+offsetY+"px";
			tooltipObject.style.visibility="visible";
		}
	}
}

function showTooltip(val){
	tooltipObject.innerHTML=val;
	runTooltip=true;
	return false;
}

function hideTooltip(){
	runTooltip=false;
	tooltipObject.style.visibility="hidden";
}

document.onmousemove=posTooltip;