// $Name:  $
// $Header: /home/cvs/DC5/dc5_barchasp/www/js/dc_tooltip.js,v 1.8 2008/02/18 12:44:24 kirill Exp $
//
// Code taken from http://www.dynamicdrive.com/

var offsetxpoint = 10; //Customize x offset of tooltip
var offsetypoint = 5;  //Customize y offset of tooltip
var ie = document.all;
var ns6 = document.getElementById && !document.all;
var enabletip=false;

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

function ddrivetip(thetext, dcWidth)
  { tipobj = document.getElementById("dcTooltip");
    
    // change innerHTML to DOM methods!
    tipobj.innerHTML= thetext;
    if (dcWidth)
      { tipobj.style.width = dcWidth + 'px';
        tipobj.style.background = '#C6DBEE';
      }
    else
      { 
        tipobj.style.width = '450px';
        tipobj.style.color = '#000000';
      }

     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;
        
        var relX = (ns6)? e.clientX : event.x;
        var relY = (ns6)? e.clientY : event.y;
                
        var rightedge  = (ie && !window.opera) ? ietruebody().clientWidth  - event.clientX : window.innerWidth - e.clientX;
        var bottomedge = (ie && !window.opera) ? ietruebody().clientHeight - event.clientY : window.innerHeight - e.clientY;
        
        if (rightedge > relX)
          tipobj.style.left = curX + offsetxpoint + 'px';
        else
          tipobj.style.left = curX - tipobj.offsetWidth - offsetxpoint + 'px';      
        
        if (bottomedge > relY)
          { 
              if ((bottomedge - offsetypoint) > tipobj.offsetHeight)
                tipobj.style.top = curY + offsetypoint + "px";
              else
                tipobj.style.top = curY - (tipobj.offsetHeight - bottomedge) + "px";      
          }    
        else
          { 
              if ((relY - tipobj.offsetHeight - offsetypoint) > 0)
                tipobj.style.top = curY - tipobj.offsetHeight - offsetypoint + "px";      
              else
                tipobj.style.top = curY - relY + "px";  
          }    
        
        tipobj.style.visibility="visible";
      }
  }

function hideddrivetip()
  { enabletip=false;
    tipobj.style.visibility="hidden";
    tipobj.style.left="-1000px";
    tipobj.style.width="450px";
    tipobj.style.background="#F0F0F0";
    tipobj.style.color = '#000000';
  }

document.onmousemove=positiontip;
