var offSetXPoint = -17;
var offSetYPoint = 17;
var IE = document.all;
var NS6 = document.getElementById && !document.all;
var enableTip = false;
if (IE||NS6) {
  var tipObject = document.all ? document.all["tool-tip"] : document.getElementById ? document.getElementById("tool-tip") : "";
  function IETrueBody() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
  }
  function toolTip(theText, theColor, theWidth) {
    if (NS6||IE) {
      if (typeof theWidth != "undefined") {
        tipObject.style.width = theWidth + "px";
      }
      if (typeof theColor != "undefined" && theColor != "") {
        tipObject.style.backgroundColor = theColor;
      }
      tipObject.innerHTML = theText;
      enableTip = true;
      return false;
    }
  }
  function positionTip(e) {
    if (enableTip) {
      var curX = (NS6) ? e.pageX : event.clientX + IETrueBody().scrollLeft;
      var curY = (NS6) ? e.pageY : event.clientY + IETrueBody().scrollTop;
      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 (rightEdge < tipObject.offsetWidth) {
        tipObject.style.left = IE ? IETrueBody().scrollLeft + event.clientX - tipObject.offsetWidth + "px" : window.pageXOffset + e.clientX - tipObject.offsetWidth + "px";
      } else if (curX < leftEdge) {
        tipObject.style.left = "5px";
      } else {
        tipObject.style.left = curX + offSetXPoint + "px";
      }
      
      if (bottomEdge < tipObject.offsetHeight) {
        tipObject.style.top = IE ? IETrueBody().scrollTop + event.clientY - tipObject.offsetHeight - offSetYPoint + "px" : window.pageYOffset + e.clientY - tipObject.offsetHeight - offSetYPoint + "px";
      } else {
        tipObject.style.top = curY + offSetYPoint + "px";
        tipObject.style.visibility = "visible";
      }
    }
  }
  function hideToolTip() {
    if (NS6||IE) {
      enableTip = false;
      tipObject.style.visibility = "hidden";
      tipObject.style.left = "-1000px";
      tipObject.style.backgroundColor = '';
      tipObject.style.width = '';
    }
  }
}
document.onmousemove = positionTip;