var menuOpened = null;
var menuTimeout = null;

function sluitMenu() {
    clearTimeout(menuTimeout);
    if (menuOpened != null) {
        menuOpened.className = "topsubmenu";
    }
    menuOpened = null;
    $('menuvlak').hide();
}

doonload = function() {

    var oBody=document.body;
    oBody.className=oBody.className ? oBody.className + ' js' : 'js';

    $('menuvlak').hide();

    $('menuvlak').observe('mouseover', function() {
                clearTimeout(menuTimeout);
           }
    );

    $('menuvlak').observe('mouseout', function() {
                clearTimeout(menuTimeout);
                menuTimeout = setTimeout('sluitMenu()', 10);
           }
    );

    pageHit();

    var a_top = $$('#topmenu>ul>li>a');
    i = a_top.length;

    var ul_sub = null;


    for (i = 0; i < a_top.length; i++) {
        ul_sub = null;
        ul_sub = a_top[i].up().getElementsByTagName('ul');
        if (ul_sub[0] == null || ul_sub[0]== undefined) {
            a_top[i].observe('mouseover', sluitMenu);
        }
        if (ul_sub[0] != null) {

            // er is een ul, dus een submenu!

            // extenden
            a_top[i] = $(a_top[i]);

            a_top[i].observe('mouseover',
                function(){
                    clearTimeout(menuTimeout);
                    if (menuOpened != null) {
                        menuOpened.className = "topsubmenu";
                    }
                    var ul = this.next();
                    ul.className = "topsubmenu over";
                    menuOpened = ul;
                    $('menuvlak').show();

                    //menuTimeout = setTimeout('sluitMenu()', 2500);
                }
            );

            a_top[i].observe('mouseout',
                function(){
                    clearTimeout(menuTimeout);
                    //alert('mouseout a_top[i]');
                    menuTimeout = setTimeout('sluitMenu()', 500);
                }
            );


            ul = $(ul_sub[0]);
            ul.observe('mouseover', function() {
                    clearTimeout(menuTimeout);
                    //menuTimeout = setTimeout('sluitMenu()', 2500);
                }
            );
            ul.observe('mouseout', function() {
                    clearTimeout(menuTimeout);
                    //alert('uit ul');
                    menuTimeout = setTimeout('sluitMenu()', 500);
                }
            );

            // maar hou het open als je op een link staat in submenu:
            var li_items = ul_sub[0].getElementsByTagName('li');
            for (j = 0; j < li_items.length; j++) {
                li = $(li_items[j]);
                li.observe('mouseover', function() {
                    clearTimeout(menuTimeout);
                    menuTimeout = setTimeout('sluitMenu()', 2500);
                    }
                );
                li.observe('mouseout', function() {
                    clearTimeout(menuTimeout);
                    menuTimeout = setTimeout('sluitMenu()', 2500);
                    }
                );
            }

        }
        else {
        // geen submenu
            a_top[i].observe('mouseover',
                function(){
                    clearTimeout(menuTimeout);
                    sluitMenu();
                }
            );
        }

    }


    if (document.all && document.getElementById) {
        if ((navRoot = document.getElementById("sidebaritems")) != null) {
            if (navRoot.childNodes[1] != null) {
                navRoot = navRoot.childNodes[1]; // ivm de legeruimte div
                for (i=0; i<navRoot.childNodes.length; i++) {
                    node = navRoot.childNodes[i];
                    if (node.nodeName=="LI") {
                        node.onmouseover=function() {
                            this.className+=" over";
                        }
                        node.onmouseout=function() {
                            this.className=this.className.replace(" over", "");
                        }
                    }
                }
            }
        }
    }

    //initLightbox();
}
Element.observe(document, 'dom:loaded', doonload);
