﻿
var offsetxpoint=-20 //Customize x offset of tooltip
var offsetypoint=15 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
document.getElementById('contents').innerHTML=thetext;
//tipobj.all['contents'].innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e) {
    if (enabletip) {
        var curX = (ns6) ? e.pageX : event.x + ietruebody().scrollLeft;
        var curY = (ns6) ? e.pageY : event.y + 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 (tipobj.offsetWidth <= 140) tipobj.style.whiteSpace = 'nowrap';
        tipobj.style.width = (tipobj.offsetWidth > 170) ? '320px' : 'auto';
        //if the horizontal distance isn't enough to accomodate the width of the context menu
        if (rightedge < tipobj.offsetWidth) {
            //move the horizontal position of the menu to the left by it's width
            tipobj.style.left = curX + offsetxpoint - (rightedge <= 500 ? tipobj.offsetWidth + offsetxpoint : 0) + "px";
        }
        else if (curX < leftedge) {
            tipobj.style.left = "5px";
        }
        else {
            //position the horizontal position of the menu where the mouse is positioned
            tipobj.style.left = curX + offsetxpoint - (rightedge <= 500 ? tipobj.offsetWidth + offsetxpoint : 0) + "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"
        //tipobj.style.zIndex = 999;
    }
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width = ''
tipobj.style.whiteSpace = ''
}
}

document.onmousemove=positiontip
  
