var DropDownMenu = function(el1) {
	var that = this;
	this.el1 = el1;

	this.init = function() {
		/*
		 * Fix für Safari: Wenn man über Unterpunkte fährt, die ein title-Attribute
		 * haben, dann spinnt das Menü. Daher müssen wir die title-Attribute leeren.
		 */
		if($.browser.webkit) {
			$('a[title]').each(function(n,el2) { $(el2).attr('title',''); });
		};
		var chld = this.el1.children();
		chld.each(function(n,el2) {
			el2 = $(el2);
			if(el2[0].nodeName.toLowerCase() == 'li') {
				//z-index-Hack für IE 6,7
				if($.browser.msie6 || $.browser.msie7) el2.css('z-index',(chld.length-n));
				if($.browser.msie) {
					el2.bind({
						'mouseenter': function() { el2.addClass('hover'); },
						'mouseleave': function() { el2.removeClass('hover'); }
					});
				} else {
					el2.bind({
						'mouseover': function() { el2.addClass('hover'); },
						'mouseout': function() { el2.removeClass('hover'); }
					});
				};
				var xcl = el2.attr('id');
				el2.children().each(function(o,el3) {
					el3 = $(el3);
					if(el3[0].nodeName.toLowerCase() == 'ul') {
						if(
							typeof(xcl) === 'undefined' ||
							xcl === '' ||
							xcl !== 'uid-134'
						) {
							el3.css('display','none');
							if($.browser.msie) {
								el2.bind({
									'mouseenter': function() { el3.css('display','block'); },
									'mouseleave': function() { el3.css('display','none'); }
								});
							} else {
								el2.bind({
									'mouseover': function() { el3.css('display','block'); },
									'mouseout': function() { el3.css('display','none'); }
								});
							};
						};
						new DropDownMenu(el3);
					};
				});
			};
		});
		return this;
	};

	this.init();
};

$(document).ready(function() {
    new DropDownMenu($('#menu ul'));
});
