function init() {
	
	rechterRandSubUeberUns(350);
	
	var lis = $$('#menu > ul > li');
	var l = location.toString();
	var regex = /id=(\d+)$/;
	var t = regex.exec(l);
	if (t) {
		var seitenid = t[1];
	}
	else var seitenid = 3; // id der startseite, ggf. anpassen
	
	for (var i = 0; i < lis.length; i++) {
		lis[i].writeAttribute('onmouseover', 'showSub(this)');
		lis[i].writeAttribute('onmouseout', 'backToAktuellerReiterCall(this)');
		var a = lis[i].down();
		a.writeAttribute('onmouseover', 'backToAktuellerReiterClear()');
		
		
		var t = regex.exec(a.readAttribute('href'));
		var id = t[1];
		
		if (id == seitenid) {
			a.addClassName('aAktiv');
			aktuellerReiter = lis[i];
			var activeItem = lis[i];
			showSub(lis[i]);
			//j = sublis.length;
		}
		
		var sub = lis[i].down('ul');
		if (typeof(sub)!='undefined') {
			var sublis = sub.childElements();
			for (var j = 0; j < sublis.length; j++) {
				sublis[j].writeAttribute('onmouseover', 'backToAktuellerReiterClear()');
				sublis[j].writeAttribute('onmouseout', 'backToAktuellerReiterCall(this)');
				var a = sublis[j].down();
				var t = regex.exec(a.readAttribute('href'));
				var id = t[1];
				
				
				if (id == seitenid ) {
					a.addClassName('aAktiv');
					aktuellerReiter = lis[i];
					showSub(lis[i]);
					j = sublis.length;
				}
			// start stth	
			var subsub = sublis[j].down('ul');
			if (typeof(subsub)!='undefined') {
				var subsublis = subsub.childElements();
				for(var k = 0; k < subsublis.length; k++){
					var b = subsublis[k].down();
					var t = regex.exec(b.readAttribute('href'));
					var id = t[1];
					
					if (id == seitenid ) {
						a.addClassName('aAktiv');
						aktuellerReiter = lis[i];
						showSub(lis[i]);
						j = sublis.length;
					}	
                                var subsubsub = subsublis[k].down('ul');
                                if (typeof(subsubsub)!='undefined') {
                                    var subsubsublis = subsubsub.childElements();
                                    for(var k2 = 0; k2 < subsubsublis.length; k2++){
                                            var c = subsubsublis[k2].down();
                                            var t = regex.exec(c.readAttribute('href'));
                                            var id = t[1];
                                            
                                            if (id == seitenid ) {
                                                    a.addClassName('aAktiv');
                                                    aktuellerReiter = lis[i];
                                                    showSub(lis[i]);
                                                    j = sublis.length;
                                            }	
                                    }
                                }

				}
                            }
			
			// end stth
			}
		}
	}
}

function rechterRandSubUeberUns(pixel) {
	if (!pixel) return;
	var regex = /id=(\d+)$/;
	var lis = $$('#menu > ul > li');
	for (var i = 0; i < lis.length; i++) {
		var a = lis[i].down();
		var t = regex.exec(a.readAttribute('href'));
		var id = t[1];
		if (id == 4) {    // ueber uns hat id 2, bitte anpassen
			var sub = lis[i].down('ul');
			if (typeof(sub)!='undefined') {
				var sublis = sub.childElements();
				if (sublis.length) {
					sublis[sublis.length-1].setStyle({marginRight: + pixel +'px'});
					return;
				}
				sub.update(sub.innerHTML + '<span style="width:' + pixel + 'px">aa&nbsp;</span>')
				return;
			}
		}
	}
}

var aktiverReiter = null;
function showSub(li) {
	if (li == aktiverReiter) return;
	aktiverReiter = li;

	Effect.Queues.get('menu').invoke('cancel');
	
	var layout = li.positionedOffset();
	var left = layout[0];
	new Effect.Move($('maske'),{ x: left, y: 70, duration: 0, mode: 'absolute', queue: { position: 'end', scope: 'menu' } })
	new Effect.Move($('maske'),{ x: 0, y: -24, duration: 0.3, mode: 'relative', queue: { position: 'end', scope: 'menu' } })
	var c = li.childElements();
	for (var i = 0; i < c.length; i++) {
		if (c[i].tagName.toUpperCase() == 'UL') {
			var ul = c[i];
			$('ulsub').hide();
			$('ulsub').update(ul.innerHTML);
			$('ulsub').appear();
			return;
		}
	}
	$('ulsub').update();
}

var aktuellerReiter;
var timeoutAktuellerReiter;
function backToAktuellerReiterCall(from) {
	if (from == backToAktuellerReiter) return;
	
	window.clearTimeout(timeoutAktuellerReiter);
	timeoutAktuellerReiter = window.setTimeout("backToAktuellerReiter()", 500);
}

function backToAktuellerReiterClear() {
	window.clearTimeout(timeoutAktuellerReiter);
}

function backToAktuellerReiter() {
	var lis = $$('#menu > ul > li');
	for (var i = 0; i < lis.length; i++) {
		if (lis[i] == aktuellerReiter) {
			var a = lis[i].down();
			a.addClassName('aAktiv');
			var activeItem = lis[i];
			showSub(lis[i]);
		}
		else {
			if (lis[i].hasClassName('aAktiv')) {
				lis[i].removeClassName('aAktiv');
			}
		}
	}
}
