// JavaScript Document

var offsetxpoint = 10; //Customize x offset of tooltip
var offsetypoint = 20; //Customize y offset of tooltip
var ie = document.all;
var ns6 = document.getElementById && !document.all;
if (ie || ns6) {
	var tipobj=document.all? document.all["floatbox"] : document.getElementById? document.getElementById("floatbox") : ""
}

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function startActivity() {
	document.getElementsByTagName('body')[0].style.cursor = 'wait';
	$('indicator').style.display = '';
	$('messageArea').innerHTML = 'LOADING';
	$('messageArea').style.marginTop = '8px';
	$('floatbox').className = 'activity';
	if (ns6||ie) tipobj.style.visibility = "visible";
}

function popup(message) {
	$('indicator').style.display = 'none';
	$('messageArea').innerHTML = message;
	$('messageArea').style.marginTop = '0';
	$('floatbox').className = 'popup';
	if (ns6||ie) tipobj.style.visibility = "visible";
}

function positiontip(e){

	var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
	var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
	//Find out how close the mouse is to the corner of the window
	var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
	var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20
	//if the horizontal distance isn't enough to accomodate the width of the activity indicator
	if (rightedge < tipobj.offsetWidth) {
		//move the horizontal position of the menu to the left by it's width
		tipobj.style.left = ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth + -20 + "px" : window.pageXOffset+e.clientX-tipobj.offsetWidth + -20 + "px"
	} else {
		//position the horizontal position of the activity indicator where the mouse is positioned
		tipobj.style.left = curX + offsetxpoint+"px"
	}
	//same concept with the vertical position
	if (bottomedge < tipobj.offsetHeight) {
		tipobj.style.top = ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
	} else {
	tipobj.style.top = curY + offsetypoint+"px"
	}

}

function kill(){
	document.getElementsByTagName('body')[0].style.cursor = 'auto';
	if (ns6||ie) tipobj.style.visibility = "hidden";
	$('messageArea').innerHTML = '';
	$('floatbox').className = 'activity';
}

document.onmousemove = positiontip;