var currentElementX;
var currentElementY;
var currentMouseX;
var currentMouseY;
var submitRequest;

function getElementWidth(item) {
	   if (typeof item.clip !== "undefined") {
	      return item.clip.width;
	   } else {
	      if (item.style.pixelWidth) {
	         return item.style.pixelWidth;
	      } else {
	         return item.offsetWidth;
	      }
	   }
	}

function findX(obj) {
	var x = 0;
	while (obj) {
		x += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return x;
}

function findY(obj) {
	var y = 0;
	while (obj) {
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return y;
}

function setPosition(obj) {
	submitRequest = false;
	currentElementX = findX(obj);
	currentElementY = findY(obj);
	return checkPosition();
}

function checkPosition() {
	if ((Math.abs(currentElementX - currentMouseX)) < 100
			&& (Math.abs(currentElementY - currentMouseY) < 100)) {
		return true;
	} else {
		return false;
	}
}

function showPopup(hoveritem) {
	hp = document.getElementById("hoverpopup");
	
	// Set popup to visible
	if (hp.style.visibility != "visible") {
		var x = currentElementX + getElementWidth(hoveritem);
		if ((screen.width - x) < 200) {
			x = currentElementX - 190;
		}
		var y = currentElementY;
		hp.style.top = y + "px";
		hp.style.left = x + "px";
		hp.style.visibility = "visible";
		hp.style.display = "block";
	}
}

function keepPopup(hoveritem) {
	hp = document.getElementById("hoverpopup");

	// Set popup to visible
	hp.style.visibility = "visible";
}

function hidePopup() {
	hp = document.getElementById("hoverpopup");
	hp.style.visibility = "hidden";
}

var IE = document.all ? true : false;
if (!IE)
	document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
	if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	} else { // grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if (tempX < 0) {
		tempX = 0;
	}
	if (tempY < 0) {
		tempY = 0;
	}
	currentMouseX = tempX;
	currentMouseY = tempY;
	return true;
}
