    	function $ (n) {
    		return document.getElementById(n);
    	}
    
    	function $r (n) {
    		return n.getAttribute('rel');
    	}

    	function toggle (o, b) {
    		if('undefined'!== typeof (o.style))
    			o.style.display = b ? 'block' : 'none';
    	}   	


		var opened = {};
    	var timeout = null;
    	
    	function init_menu (o) {
        	var As = (o || document.body).getElementsByTagName('A');
        	var l = As.length;

        	for (var i = 0; i< l; i++) {

        		var a = As[i];
				if (!a.getAttribute('rel')) {
					continue;
				}
       		
       			a.onmouseover = function () {
					clearTimeout(timeout);
	                var curr_level = $r(this.parentNode.parentNode);
	                
                    for (var level in opened) {
						if (level.indexOf(curr_level) != -1) {
    	                	toggle(opened[level], false);
                       	}
					}

       				var sub = $($r(this));
       				if (!sub) {
       					return;
					}
       				toggle(sub, true);
	       			opened[curr_level] = sub;
	       			
	       			sub.onmouseover = function() {clearTimeout(timeout);}
	       			sub.onmouseout = function() {
					timeout = setTimeout(function(){
						for (var level in opened) {
   		                	toggle(opened[level], false);
						}
					}, 500);
   	    		}
   	    		}

       			a.onmouseout = function () {
					timeout = setTimeout(function(){
						for (var level in opened) {
   		                	toggle(opened[level], false);
						}
					}, 500);
   	    		}
   	    		
        	      	}
		}
		window.onload =  function(){
		init_menu(document.getElementById('main-menu'));}
