var menuids=new Array("verticalmenu") //Enter id(s) of UL menus, separated by commas
var submenuoffset=-2 //Offset of submenus from main menu. Default is -2 pixels.
var fade_out_timer = 0;
var fading_object = null;

function force_closing()
{
    if (fade_out_timer) {
	window.clearTimeout(fade_out_timer);
	fade_out_timer = 0;
	__cssmenu_onMouseOut();
    }
}
function cssmenu_onMouseOver()
{
    var total_offset = 0;
    force_closing();

    for (var p = this.parentNode; p && (p.tagName == "UL" || p.tagName == "LI"); p = p.parentNode) 
	if (p.tagName == "UL") total_offset += p.offsetWidth;
         
    this.getElementsByTagName("ul")[0].style.left = total_offset + submenuoffset + "px";
    this.getElementsByTagName("ul")[0].style.display = "block";
}
function cssmenu_onMouseOut()
{
    force_closing();
    fading_object = this;
    fade_out_timer = window.setTimeout(__cssmenu_onMouseOut,1000);
}

function __cssmenu_onMouseOut()
{
    fading_object.getElementsByTagName("ul")[0].style.display = "none";
}

function cssmenu_find_ULs(node)
{
    var array = new Array();
    for (var t = 0; t < node.childNodes.length; t++)
	if (node.childNodes[t].tagName == "LI") 
	    for (var i = 0; i < node.childNodes[t].childNodes.length; i++) 
		if (node.childNodes[t].childNodes[i].tagName == "UL") 
		    array.push(node.childNodes[t].childNodes[i]);
    return array;
}

function createcssmenu_recursive(node) { // (c) plog, 2008. super duper PATCH=)
    var span;
    var ul;
    var li;
    var uls = cssmenu_find_ULs(node);
    
    if (uls.length <= 0) return;  // no submenu's :[
    
    for (var i = 0; i < uls.length; i++) {
	ul = uls[i];
	li = uls[i].parentNode;
	
        span = document.createElement("span");
        span.className="arrowdiv";
	span.innerHTML="&nbsp;&nbsp;";
	li.getElementsByTagName("a")[0].appendChild(span);
	
	li.onmouseover = cssmenu_onMouseOver;
	li.onmouseout = cssmenu_onMouseOut;
	li.style.zIndex = 1;
	ul.style.zIndex = 1;
	ul.style.position = "absolute";
	ul.className = "glossymenu2";
	createcssmenu_recursive(ul);
    }
}

function createcssmenu()
{
    var node;
    for (var i=0; i<menuids.length; i++){
	node = document.getElementById(menuids[i]);
        if (node)  {
	    createcssmenu_recursive(node);
	    
	}
    }
}

if (window.addEventListener) window.addEventListener("load", createcssmenu, false);
else if (window.attachEvent) window.attachEvent("onload", createcssmenu);

