var gloss_to;
var gloss_clear;
var gloss_delay = 1000;

var glossIE = document.all?true:false
if (!glossIE) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;
window.onload = glossInit;

var gTempX = 0
var gTempY = 0

function glossInit()
{
	var glossp = objGPop();
	if (!glossp)
	{
		var glossps = document.createElement('div');
		var glossfrm = document.forms[0];
		glossps.setAttribute('id','gpop_shadow');
		glossp = document.createElement('div');
		glossp.setAttribute('id','gpop');
		glossp.innerHTML = ' ';
		glossfrm.appendChild(glossp);
		glossfrm.appendChild(glossps);
		objGPop().style["position"]="absolute";
		objGPopS().style["position"]="absolute";
		objGPop().style["display"]="none";
		objGPopS().style["display"]="none";
		glossp.onmouseout = eHideMe;
		glossp.onclick = eForceHide;
	}
}

function objGPop()
{
	return document.getElementById("gpop");
}
function objGPopS()
{
	return document.getElementById("gpop_shadow");
}


// Main function to retrieve mouse x-y pos.s
function getMouseXY(e) {
  if (glossIE) { // grab the x-y pos.s if browser is IE
    gTempX = event.clientX + document.documentElement.scrollLeft;
    gTempY = event.clientY + document.documentElement.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    gTempX = e.pageX
    gTempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (gTempX < 0){gTempX = 0}
  if (gTempY < 0){gTempY = 0}  
  return true;
}


function gOver(eid)
{
	gloss_to = setTimeout("gDisplay(" + eid + ")",gloss_delay);
}

function gOut(eid)
{
	clearTimeout(gloss_to);
}

function gDisplay(eid)
{
	var gp = objGPop();
	if (gp)
	{
		if (gloss_clear) clearTimeout(gloss_clear);
		//show progess animation
		gp.innerHTML = "<div class='gWait'>loading...</div>";
		pwBeginCallServerFunction("LoadGlossary", "displayGlossary", "", false, eid);
		var gps = objGPopS();
		var gptop = (gTempY-140) + "px";
		var gpleft = (gTempX-20) + "px";
		gp.style["top"] = gptop; gp.style["left"] = gpleft;
		gps.style["top"] = gptop; gps.style["left"] = gpleft;
		gp.style["display"] = "inline";
		gps.style["display"] = "inline";
		gloss_clear = setTimeout("eForceHide()",30000);
	}
}

function displayGlossary(pwRsCallbackResponse)
{
	objGPop().innerHTML = pwRsCallbackResponse.data;
}

function eHideMe()
{
	var yMin = parseInt(objGPop().style.top)
	var xMin = parseInt(objGPop().style.left)
	var yMax = yMin + 130;
	var xMax = xMin + 355;
	if (gTempX <= xMin || gTempX >= xMax || gTempY <= yMin || gTempY >= yMax)
	{
		setTimeout("eForceHide()",100);
	}
}
function eForceHide()
{
	objGPopS().style["display"] = "none";
	objGPop().style["display"] = "none";
}



