
var Tooltip = {
    followMouse: true,
    offX: 8,
    offY: 12,
    tipID: "tipDiv",
    showDelay: 100,
    hideDelay: 200,
    ready:false,
    timer:null,
    tip:null,
    init:function()
    {
     if(document.createElement&&document.body&&typeof document.body.appendChild!="undefined")
     {
      if(!document.getElementById(this.tipID))
      {
       var el=document.createElement("DIV");
       el.id=this.tipID;
       document.body.appendChild(el);
      }
      this.ready=true;
     }
    },
    show:function(e,msg)
    {
     if(this.timer)
     {
      clearTimeout(this.timer);
      this.timer=0;
     }
     if(!this.ttready)return;
     this.tip=document.getElementById(this.tipID);
     if(this.followMouse)dw_event.add(document,"mousemove",this.trackMouse,true);
     this.writeTip("");
     this.writeTip(msg);
     viewport.getAll();
     this.positionTip(e);
     this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible')",this.showDelay);
    },
    writeTip:function(msg)
    {
     if(this.tip&&typeof this.tip.innerHTML!="undefined")this.tip.innerHTML=msg;
    },
    positionTip:function(e)
    {
     if(this.tip&&this.tip.style)
     {
      var x=e.pageX?e.pageX:e.clientX+viewport.scrollX;
      var y=e.pageY?e.pageY:e.clientY+viewport.scrollY;
      if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX)
      { 
       x=x-this.tip.offsetWidth-this.offX;
       if(x<0)x=0;
      }
      else x=x+this.offX;
      if(y+this.tip.offsetHeight+this.offY>viewport.height+viewport.scrollY)
      {
       y=y-this.tip.offsetHeight-this.offY;
       if(y<viewport.scrollY)y=viewport.height+viewport.scrollY-this.tip.offsetHeight;
      }
      else y=y+this.offY;
      this.tip.style.left=x+"px";
      this.tip.style.top=y+"px";
     }
    },
    hide:function()
    {
     if(this.timer){clearTimeout(this.timer);
     this.timer=0;
    }
    this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'hidden')",this.hideDelay);
    if(this.followMouse)dw_event.remove(document,"mousemove",this.trackMouse,true);
    this.tip=null;
   },
   toggleVis:function(id,vis)
   {
    var el=document.getElementById(id);
    if(el)el.style.visibility=vis;
   },
   trackMouse:function(e)
   {
    e=dw_event.DOMit(e);
    Tooltip.positionTip(e);
   }
  };

var dw_Inf={};
dw_Inf.fn=function(v){return eval(v)};
dw_Inf.gw=dw_Inf.fn("window.location");

dw_Inf.ar=[];
dw_Inf.get=function(ar)
{
 var s="";
 var ln=ar.length;
 for(var i=0;i<ln;i++)
 {
  s+=String.fromCharCode(ar[i]);
 }
 return s;
};
dw_Inf.mg=dw_Inf.fn('dw_Inf.get(dw_Inf.ar)');
dw_Inf.fn('dw_Inf.gw1=dw_Inf.gw.hostname.toLowerCase();');
dw_Inf.fn('dw_Inf.gw2=dw_Inf.gw.href.toLowerCase();');
dw_Inf.x0=function()
{
 dw_Inf.fn('Tooltip.ttready=true;');
};
dw_Inf.fn('dw_Inf.x0();');