var mouseX = 0;
var mouseY = 0;
var toolTipShow = false;
var ctrlID;
var caption='';
var text='';

if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=mtrack;

function mtrack(e) {
   if (e) 
   {
      mouseX = e.pageX;
      mouseY = e.pageY;
   }
   else
   {
      mouseX = event.x;
      mouseY = event.y;
   }
   
   if(toolTipShow)
   {
      setTooltip(ctrlID, caption, text);
   }
}


// -------------------------------------------------------------
// -      Show Tooltip
// -------------------------------------------------------------
function setTooltip(itemID, tooltipCaption, tooltipText)
{
   hideTooltip();
   var obj;
   obj = document.getElementById('TreeTooltip');
   var ctrlObj = document.getElementById(itemID);
   if(obj)
   {
      var titleObj = document.getElementById('tooltip_caption');
      if(titleObj)
      {
         if(tooltipCaption.length > 0)
         {
            titleObj.innerHTML = tooltipCaption;
         }
      }
      var textObj = document.getElementById('tooltip_text');
      if(textObj)
      {
         textObj.innerHTML = tooltipText;
      }
      if(ctrlObj)
      {
         ctrlID = itemID;
         caption = tooltipCaption;
         text = tooltipText;
         toolTipShow = true;
         var x = mouseX;
         var y = mouseY;
         if(!IsMozilla())
         {
            x+=ctrlObj.offsetLeft;
            y+=ctrlObj.offsetTop;
         }
         showElement('TreeTooltip', y+20, x+15);
      }
   }
}

function hideTooltip()
{
   toolTipShow = false;   
   hideElement('TreeTooltip');
}

function ShowHideSubtree(elemID, imageID, collapseImg, expandImg)
{
   var obj = document.getElementById(elemID);
   if(obj)
   {
      try
      {
         if(obj.filters.length > 0 && obj.filters[0].transition > 0)
         {
            obj.filters[0].Apply();
            obj.filters[0].Play();  
         }
      }
      catch(e){}
      if(obj.style.display != "none")
      {
         obj.style.display = "none"
         SetImage(imageID, expandImg);
      }
      else
      {
         obj.style.display = "inline";
         SetImage(imageID, collapseImg);
      }
   }
}


var ImagePicker;

function SetImage(imageID, imagePath)
{
   var imgObj = document.getElementById(imageID);
   if(imgObj)
   {
      ImagePicker = new Image();
      ImagePicker.src = imagePath;
      setTimeout("document.getElementById('"+imageID+"').src = ImagePicker.src", 10);
   }
}



