/*============================================================
Capturing The Mouse Position in IE4-6 & NS4-6
(C) 2000 www.CodeLifter.com
Free for all users, but leave in this  header
*/

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0


// Main function to retrieve mouse x-y pos.s

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
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  
  return true
}

function showTooltip(word)
{
        var definitionDiv;
        definitionDiv = document.getElementById("definition");
        definitionDiv.innerHTML = getDefinition(word);
        definitionDiv.style.display = "block";
        definitionDiv.style.position = "absolute";
	    definitionDiv.style.width = "";

        if(definitionDiv.offsetWidth > document.body.clientWidth / 3)
	        definitionDiv.style.width = document.body.clientWidth / 3;

		//if you need to offset it, then do it here
		//tempX = tempX + offsetX;
		tempY = tempY - definitionDiv.offsetHeight;

        if(!IE)
        {
          if(tempX + definitionDiv.offsetWidth > window.innerWidth)
                  definitionDiv.style.left = tempX - definitionDiv.offsetWidth;
          else
                  definitionDiv.style.left = tempX;

          /*if(tempY + definitionDiv.offsetHeight > window.innerHeight)
                  definitionDiv.style.top = tempY - definitionDiv.offsetHeight;
          else*/
                  definitionDiv.style.top = tempY;
        }
        else
        {
          if(tempX + definitionDiv.offsetWidth > document.body.clientWidth)
                  definitionDiv.style.left = tempX - definitionDiv.offsetWidth;
          else
                  definitionDiv.style.left = tempX;

          /*if(tempY + definitionDiv.offsetHeight > document.body.clientHeight)
                  definitionDiv.style.top = tempY - definitionDiv.offsetHeight;
          else*/
                  definitionDiv.style.top = tempY;
        }
        //window.status = "(" + tempX + "," + tempY + ")";
}

function hideTooltip()
{
        var definitionDiv;
        definitionDiv = document.getElementById("definition");
        definitionDiv.style.display = "none";
        definitionDiv.innerHTML = "";
}

function getDefinition(word)
{
		word = word.toLowerCase();
        formattedword = word.substring(0,1).toUpperCase() + word.substring(1, word.length).toLowerCase();
        formattedword = "<span class=\"glossaryWord\">" + word + "</span>";
        if(definitionArray[word])
                return formattedword + ": " + definitionArray[word];
        else
                return formattedword + ": No definition found.";
}