var oldbgcolour='';
var newwindow = '';

function ms_on(obj)
{
  oldbgcolour = obj.style.backgroundColor;
  obj.style.backgroundColor = '#CCC';
}

function ms_off(obj)
{
  obj.style.backgroundColor = oldbgcolour;
}

var offsetxpoint = -250; //Customize x offset of tooltip
var offsetypoint = 20;  //Customize y offset of tooltip
var ie = document.all;
var ns6 = document.getElementById && !document.all;
var enabletip = false;
var tipobj;


function activateToolTip()
{
  if (ie || ns6)
  {
    if (document.all) tipobj = document.all["tooltip"];
    else if (document.getElementById) tipobj = document.getElementById("tooltip");
    else tipobj = '';
  }
}

function ietruebody()
{
  return (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
}

function popup(str, thewidth)
{
  if (ns6||ie)
  {
    if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px";
    tipobj.innerHTML = str;
    enabletip = true;
    return false;
  }
}

function popoff()
{
  if (ns6 || ie)
  {
    enabletip = false;
    tipobj.style.visibility = "hidden";
//    tipobj.style.left = "-1000px";				
    tipobj.style.backgroundColor = '';
    tipobj.style.width = '';
  }
}

function positiontip(e)
{
  if (enabletip)
  {
    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;

    var leftedge = (offsetxpoint < 0) ? offsetxpoint * (-1) : -1000;

    // If the horizontal distance isn't enough to accomodate the width of the context menu

    // Move the horizontal position of the menu to the left by it's width
    if (rightedge < tipobj.offsetWidth) tipobj.style.left=ie ? ietruebody().scrollLeft + event.clientX-tipobj.offsetWidth + "px" : window.pageXOffset + e.clientX-tipobj.offsetWidth + "px";

    else if (curX < leftedge) tipobj.style.left = "5px";

    // Position the horizontal position of the menu where the mouse is positioned
    else 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";

    tipobj.style.visibility="visible";
  }
}

document.onmousemove=positiontip;
