var ns4 = (document.layers) ? true : false;
var ie4 = (document.all) ? true : false;
var ns6 = (!document.all && document.getElementById) ? true : false;
var TimerID,CurrentMenu = null; var x, y;

if(ns4) { document.captureEvents(Event.MOUSEMOVE); }
document.onmousemove=get_mouse;

function show(id) {
    if( CurrentMenu != null) { hide(CurrentMenu); }
    CurrentMenu = id

    var l
	if (ns4) {
	    l = document.layers[id]; l.visibility = "show"; l.left = x+5; l.top = y-10;
	} else if (ns6) {
	    l = document.getElementById(id);
	    l.style.visibility = "visible";
	    l.style.left = x+5;l.style.top = y-10;
	} else if (ie4) {
	    l = document.all[id];
	    l.style.visibility = "visible";
	    l.style.left = x+5;
	    l.style.top = y-10;
	}
    l.onmouseover = new Function("show('" + id +"');");
    l.onmouseout  = new Function("hide_delay('" + id + "');")
}

function hide(id) {
    clearTimeout(TimerID);
	if (ns4) {
	    document.layers[id].visibility = "hide";
	    document.layers[id].onmouseover = null;
	    document.layers[id].onmouseout  = null;
	} else if (ns6) {
	    document.getElementById(id).style.visibility = "hidden";
	    document.getElementById(id).onmouseover = null;
	    document.getElementById(id).onmouseout  = null
	} else if (ie4) {
	    document.all[id].style.visibility = "hidden";
	    document.all[id].onmouseover = null;
	    document.all[id].onmouseout  = null
	}
	CurrentMenu = null;
}

function hide_delay(id) {
    TimerID = setTimeout("hide('" + id + "')",150);
}

function get_mouse(e) {
    if( CurrentMenu == null ) { x = (ns4 || ns6) ? e.pageX : event.x+document.body.scrollLeft;
    y = (ns4 || ns6) ? e.pageY : event.y+document.body.scrollTop; }
}