// Z-tooltip version 2
// rmp@psyphi.net May 2000
// Originally from http://www.ensembl.org/js/zmenu.js
// Modified for use by WebChrom March 2002   scottjpearson@yahoo.com

var NS6 = (!document.all && document.getElementById)? 1:0;
var NS4 = (document.layers) ? 1:0;
var IE4 = (document.all) ? 1:0;

//if(NS4) {
//alert("you appear to be using netscape 4");
//}
//if(NS6) {
//alert("you appear to be using netscape 6");
//}
//if(IE4) {
//alert("you appear to be using IE4 or similar");
//}

var divname = "jstooldiv";
var args;
var x = 0;
var y = 0;
var window_width        = 800;
var timeoutId = 0;
var Z_MENU_XOFFSET        = 2;
var Z_MENU_YOFFSET        = 2;
var Z_MENU_CAPTIONBG      = "#dddddd";
var Z_MENU_CAPTIONFG      = "#000000";
var Z_MENU_TIPBG  = "#eeeeee";
var Z_MENU_BORDERBG       = "#aaaaaa";
var Z_MENU                = true;
var Z_MENU_WIDTH  = 250;

var Z_MENU_TIMEIN       = 1000000;
var Z_MENU_TIMEOUT      = 3500;
var Z_MENU_MAINTAIN     = 0;

if(NS4 || IE4 || NS6) {
    document.onmousemove = mouseMove;

    if(NS4 || NS6) {
  document.captureEvents(Event.MOUSEMOVE);
  window_width = window.innerWidth;
    }
}

function mouseMove(e) {
    if(NS4) {
	x = e.pageX +Z_MENU_XOFFSET;
	y = e.pageY +Z_MENU_YOFFSET;
    } else if(IE4) {
	x = event.x +Z_MENU_XOFFSET + document.body.scrollLeft;
	y = event.y +Z_MENU_YOFFSET + document.body.scrollTop;
    } else if(NS6) {
	x = e.clientX +Z_MENU_XOFFSET + window.pageXOffset;
	y = e.clientY +Z_MENU_YOFFSET + window.pageYOffset;
    }
}

function zmenu() {
    args = new Array (arguments.length);
    for (i = 0; i < arguments.length; i++) {
        args[i] = arguments[i];
    }
    if (Z_MENU_MAINTAIN == 1) return;
    zmenu_setup();
    window.clearTimeout(timeoutId);
    timeoutId = window.setTimeout('zmenuon_now()', Z_MENU_TIMEIN);
    return true;
}

function zmenu_setup() {
    zmenuoff();

    var txt = "";

    if(args.length < 1) {
	return true;

    } else if(args.length % 2 != 0) {
	return true;
    }

    txt += '<div id="title" style="position:relative;top:0;left:2;width='+Z_MENU_WIDTH+';" align ="left">'+
     '<table border="0" cellpadding="0" cellspacing="0" width="'+
           Z_MENU_WIDTH+'"><tr bgcolor="'+Z_MENU_CAPTIONBG+
           '"><td><h5>' + args[0] + '</h5></td><td align="right">'+
//     '<a href="javascript:void(zmenumaintain());" onmouseover="window.status=\'\';return true;">'+
//           '<font size="1">freeze</font></a> '+
     '<a href="javascript:void(zmenuoff());" onmouseover="window.status=\'\';return true;">'+
           '<font size="1">close</font></a></td></tr></table></div>';

    for(i = 1; i < args.length - 1; i+=2) {
  link = "";
  if(args[i] != "") {
      link = '<a href="'+args[i]+'">'+args[i+1]+'</a>';
  } else {
      link = args[i+1];
  }

  txt += '<div style="position:relative;top:0;left:2;" align="left"><font size="2">'+link+'</font></div>';
    }
    txt += '<div style="position:relative;top:0;left:2;" align="left"><font size="2">'+args[args.length - 1]+'</font></div>';

    if(x + Z_MENU_WIDTH > window_width) {
  x -= Z_MENU_WIDTH;
    }

    if(NS4) {
  l = document.layers[divname];
  l.document.open("text/html");
  l.document.write(txt);
  l.document.close();
  l.document.bgColor      = Z_MENU_TIPBG;
  l.width                 = Z_MENU_WIDTH;
  l.left                  = x;
  l.top                   = y;
    } else if(IE4) {
  l = document.all[divname];
  l.style.backgroundColor = Z_MENU_TIPBG;
  l.innerHTML             = txt;
  l.style.pixelWidth      = Z_MENU_WIDTH;
  l.style.pixelLeft       = x;
  l.style.pixelTop        = y;

    } else if(NS6) {
  l = document.getElementById(divname);

  rng = document.createRange();
  rng.setStartBefore(l);
  htmlFrag = rng.createContextualFragment(txt);

  while (l.hasChildNodes()) {
      l.removeChild(l.lastChild);
  }
  l.appendChild(htmlFrag);

  l.style.border          = 1;
  l.style.border
  l.style.backgroundColor = Z_MENU_TIPBG;
  l.style.left            = x;
  l.style.top             = y;
    }

    return true;
}

function zmenuon_now() {
    if(NS4) {
  l = document.layers[divname];
  l.visibility            = "show";

    } else if(IE4) {
  l = document.all[divname];
  l.style.visibility      = "visible";

    } else if(NS6) {
  l = document.getElementById(divname);
  l.style.visibility      = "visible";
    }
    window.clearTimeout(timeoutId);
    timeoutId = window.setTimeout('zmenuon_now()', Z_MENU_TIMEIN);
    return true;
}

function zmenuon_now() {
    if(NS4) {
  l = document.layers[divname];
  l.visibility            = "show";

    } else if(IE4) {
  l = document.all[divname];
  l.style.visibility      = "visible";

    } else if(NS6) {
  l = document.getElementById(divname);
  l.style.visibility      = "visible";
    }
    window.clearTimeout(timeoutId);
    timeoutId = window.setTimeout('endTimeout()', Z_MENU_TIMEOUT);
    return true;
}

function zmenumaintain() {
    Z_MENU_MAINTAIN = 1;
}

function zmenuonmaintain() {
    if (Z_MENU_MAINTAIN != 0) {
        zmenuoff();
        zmenu_setup();
    }
    zmenuon_now();
    zmenumaintain();
}

function endTimeout() {
    window.clearTimeout(timeoutId);
    if (Z_MENU_MAINTAIN == 0) { zmenuoff(); }
}
function zmenuoff() {
    window.clearTimeout(timeoutId);
    Z_MENU_MAINTAIN = 0;
    if(NS4) {
  document.layers[divname].visibility = "hide";
    } else if(IE4) {
  document.all[divname].style.visibility = "hidden";
    } else if(NS6) {
  document.getElementById(divname).style.visibility = "hidden";
    }
}

