var ToolTip = {
  dom:null, // need to be set before use of this class     ToolTip.dom = document.getElementById("ToolTip");
  x:10,
  y:20,
  fixedX:false,
  fixedY:false,
  visible:true,
  showing:1,
  animation:1,
  show:function(event, sender, setTitle, setX, setY, setFixedX, setFixedY)
  {
    sender = sender == null?this:sender;
    ToolTip.dom.innerHTML = setTitle==null?sender.getAttribute("title"):setTitle;
    ToolTip.dom.style.zIndex = Global.zIndex();
    
    ToolTip.x = setX == null?-1*(ToolTip.dom.offsetWidth/2)+5:setX;
    ToolTip.y = setY == null?20:setY;
    ToolTip.fixedX = setFixedX == null?false:setFixedX;
    ToolTip.fixedY = setFixedY == null?false:setFixedY;
    
    var image = sender.getElementsByTagName("img")[0];
    image.src = image.src.replace(/.png/, "_Hover.png");
    
    ToolTip.move(event);

    ToolTip.visible=true;
    ToolTip.animation++;
    ToolTip.hiding(ToolTip.animation);
  },
  hide:function()
  {
//    ToolTip.dom.getElementsByTagName("span")[0].style.fontColor = "#cccccc";
//    ToolTip.dom.getElementsByTagName("span")[0].style.backgroundColor = "#e3e1ff";

//    ToolTip.dom.style.visibility = "hidden";
    
    ToolTip.visible=false;
    ToolTip.animation++;
    ToolTip.hiding(ToolTip.animation);
    var image = this.getElementsByTagName("img");
    if(image.length > 0)
    {
      image[0].src = image[0].src.replace(/_Hover.png/, ".png");
    }
  },
  hiding:function(animation)
  {
    if(animation != ToolTip.animation) {return;}
    
    ToolTip.showing += ToolTip.visible?1:-1;
    ToolTip.dom.className = "ToolTip"+ToolTip.showing;
    
    if(ToolTip.showing>1 && ToolTip.showing <5)
    {

      setTimeout("ToolTip.hiding("+animation+");", 25);
    }
  },
  move:function(event)
  {
    var mouse = Mouse.position(event);
    
    mouse.X = ToolTip.fixedX?ToolTip.x:mouse.X + ToolTip.x;
    mouse.Y = ToolTip.fixedY?ToolTip.y:mouse.Y + ToolTip.y;

    ToolTip.dom.style.left = mouse.X+"px";
    ToolTip.dom.style.top = mouse.Y+"px";
  }
}
