var timer = null;
var sub = null;
var sublink = null;
var active = false;

var useMenu = true;

function setActive(){
	active = true;
}

function menuEnter() {
	
	if ( ! useMenu) return true;
	
	window.clearTimeout(timer);
}

function menuLeave() {
	
	if ( ! useMenu) return true;
	
	if(!active){
		timer = window.setTimeout( hideSub, 500 );
	}
    
}

function hideSub() {
	
	if ( ! useMenu) return true;
	
    if( !sub || active) {
        // kein menü zum schließen
        return;
    }

    sub.style.display = "none";
    sublink.className = "";

    sub = null;
}

function getPosition( element ){
    var el = element, left = 0, top = 0;
    do {
        left += el.offsetLeft || 0;
        top  += el.offsetTop || 0;
        el = el.offsetParent;
    } while (el);
    return {'x': left, 'y': top};
}

function showSub( id, element ) {
	
	if ( ! useMenu) return true;
	
    hideSub();
    
    var Div = document.getElementsByTagName('div');
    var regexNavDiv = /^navigation_/;
    for (var i=0; i<Div.length; i++) {
    	
    	if (regexNavDiv.exec(Div[i].id)) {
			Div[i].style.display = 'none';
		}
    }

    sub = document.getElementById(id);
    if( !sub ) {
        return;
    }

    sublink = element;
    sublink.className = "active";

    var aPosition = getPosition( element );

    sub.style.display = "block";
    sub.style.left = aPosition.x + "px";
    sub.style.top  = ( aPosition.y ) + "px";

    menuEnter();
}