var left_offset = 20;
var top_offset = 20;
var makecapvisible = false;
		
function ShowCap(content) 
{
	if(document.getElementById)
	{
		var theDiv = document.getElementById("hoverdiv");
		if(theDiv)
			theDiv.innerHTML = content;
	}
	else if(document.layers && document.hoverdiv) 
	{
		document.hoverdiv.document.write(content); 
		document.hoverdiv.document.close();
	}
	else if(document.all && document.all.hoverdiv) 
		document.all.hoverdiv.innerHTML = content;

	if(document.layers)
		document.captureEvents(Event.MOUSEMOVE);
			
	document.onmousemove = MouseMove;

	makecapvisible = true;			
}

function CapVisible()
{
	if(document.getElementById)
	{
		var theDiv = document.getElementById("hoverdiv");
		if(theDiv)
			theDiv.style.visibility = "visible";
	}
	else if(document.layers && document.hoverdiv) 
		document.hoverdiv.visibility = "visible";
	else if(document.all && document.all.hoverdiv) 
		document.all.hoverdiv.style.visibility = "visible";  
}

function HideCap() 
{
	if(document.layers)
		document.releaseEvents(Event.MOUSEMOVE);

	document.onmousemove = null;
			
	if(document.getElementById)
	{
		var theDiv = document.getElementById("hoverdiv");
		if(theDiv)
			theDiv.style.visibility = "hidden";
	}
	else if(document.layers && document.hoverdiv) 
		document.hoverdiv.visibility = "hidden";
	else if(document.all && document.all.hoverdiv) 
		document.all.hoverdiv.style.visibility = "hidden";  
}

function MouseMove(e) 
{
	var posx = 0;
	var posy = 0;
	var window_width;
	var window_height;
	var scroll_top;
	var scroll_left;
	var e = e || window.event;
	if (e.pageX || e.pageY)
	{
		// Firefox, Chrome, Safari, Opera
		posx = e.pageX;
		posy = e.pageY;
		window_width = window.innerWidth;
		window_height = window.innerHeight;
		scroll_top = document.documentElement.scrollTop;
		scroll_left = document.documentElement.scrollLeft;
	}
	else if (e.clientX || e.clientY)
	{
		// IE
		posx = e.clientX;
		if(document.documentElement && document.documentElement.scrollTop)
			posy = e.clientY + document.documentElement.scrollTop;
		else if(document.body)	
			posy = e.clientY + document.body.scrollTop;
		window_width = document.documentElement.offsetWidth;
		window_height = document.documentElement.offsetHeight + 17;
		scroll_top = document.documentElement.scrollTop;
		scroll_left = document.documentElement.scrollLeft;
	}	

	var theDiv = document.getElementById("hoverdiv");
	if(theDiv)
	{
		var x = posx + left_offset;
		var y = posy + top_offset;
		//log("x: " + x + ", y: " + y + ", window: " + window_width + " x " + window_height +
			//", div: " + theDiv.offsetWidth + " x " + theDiv.offsetHeight + "<br>\n");
		if(x + theDiv.offsetWidth - scroll_left > window_width - 20)
			x -= theDiv.offsetWidth + left_offset;
		if(y + theDiv.offsetHeight - scroll_top > window_height - 20)
			y -= theDiv.offsetHeight + top_offset;
		theDiv.style.left = x + "px";
		theDiv.style.top = y + "px";
	}
	
	if(makecapvisible == true)
	{
		makecapvisible = false;
		CapVisible();
	}
}

