var timerId;
var browser = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
var browserType = "";
var browserCompatible = 0;
var lastLayer = new Array();
var xoffset = new Array();
var yoffset = new Array();
xoffset[1] = -20;
yoffset[1] = 5;
xoffset[2] = 30;
yoffset[2] = 10;

if (browser.indexOf("Netscape") > -1) {
   browserType = "ns";
}
else if (browser.indexOf("Microsoft") > -1) {
   browserType = "ie";
}
if ((browserType == "ns" && browserVer >= 3) ||
    (browserType == "ie" && browserVer >= 4)) {
   browserCompatible = 1;
}
if ((browserType == "ns" && browserVer >= 4) ||
    (browserType == "ie" && browserVer >= 4)) {
   browserCompatible = 2;
}

function layerOn(layerName, e, level) {
   if (!level) {
      level = 1;
   }
   if (browserCompatible > 1) {
      if (lastLayer[level] && lastLayer[level] == layerName) {
         return;
      }
      layerOff(lastLayer[level], level);
      clearTimer();
      if (browserType == "ns") {
         moveLayer(layerName, e, level);
         window.document.layers[layerName].visibility = "visible";
      }
      else if (browserType == "ie") {
         moveLayer(layerName, this.event, level);
         window.document.all[layerName].style.visibility = "visible";
      }
      lastLayer[level] = layerName;
   }
}

function layerOff(layerName, level) {
   if (!level) {
      level = 1;
   }
   if (level == 1) {
      var i;
      for(i=2;i < lastLayer.length;i++) {
         layerOff('', i);
      }
   }
   if (!layerName) {
      layerName = lastLayer[level];
   }
   if (browserCompatible > 1) {
      if (!lastLayer[level] || lastLayer[level] == '') {
         return;
      }
      if (browserType == "ns") {
         window.document.layers[layerName].visibility = "hidden";
      }
      else if (browserType == "ie") {
         window.document.all[layerName].style.visibility = "hidden";
      }
      lastLayer[level] = '';
   }
}

function moveLayer(layerName, e, level) {
   if (browserType == "ns") {
      window.document.layers[layerName].left = e.x + xoffset[level];
      window.document.layers[layerName].top = e.y + 2*yoffset[level];
   }
   else if (browserType == "ie") {
      var x = parseInt(window.document.all[layerName].style.left);
      x = this.event.x + xoffset[level];
      while ((x + 200) > 717) {
         x -= 10;
      }
      window.document.all[layerName].style.left = x + document.body.scrollLeft;
      window.document.all[layerName].style.top = this.event.y + yoffset[level]
	 + document.body.scrollTop;
   }
}

function dummy() {
}

function setTimer() {
   clearTimer();
   timerId = setTimeout('layerOff()', 1000);
}

function clearTimer() {
   clearTimeout(timerId);
}


