Element.extend({
	hide: function() {
		return this.setStyle('display', 'none');
	},
	show: function() {
		return this.setStyle('display', 'block');
	}
});

var DropdownMenu = new Class({	
	activeClass: 'active',
	activeEl: null,
	activeLeft: null,
	els: null,
	initialize: function(element) {
		try {
			this.activeEl = active.top; 
			this.activeLeft = active.left; 
			this.setActiveLeft();
		} catch(e) {
			this.activeEl = null; 
		}
		this.els = $A($(element).childNodes); 
		this.setupNav(); 
		this.setActive(); 
		return this;
	}, 
	setActiveLeft: function() {
		if(this.activeLeft) {
			$(this.activeLeft).addClass(this.activeClass); 
		}
	},
	setActive: function() {
		if(this.activeEl) {
			$(this.activeEl).addClass(this.activeClass); 
		}
	},
	setupNav: function() {
		this.els.each(function(el) {
			if(el.nodeName.toLowerCase() == 'li') {
				$A($(el).childNodes).each(function(el2) {
					if(el2.nodeName.toLowerCase() == 'ul') {
						$(el2).hide();
						el.addEvent('mouseover', function() {
							this.resetClasses(); 
							el.addClass(this.activeClass); 
							el2.show();
							return false;
						}.bind(this));
						el.addEvent('mouseout', function() {
							this.resetClasses(); 
							el2.hide();
						}.bind(this));
						new DropdownMenu(el2);
					}
				},this);
			}
		},this);
	},
	resetClasses: function() {
		this.els.each(function(el) {
			if(el.nodeName.toLowerCase() == 'li') {
				if(this.activeEl!=el.getProperty('id')) {
					el.removeClass(this.activeClass); 
				}
			}
		},this); 
	}
});

window.addEvent('domready',function(){
	new DropdownMenu($('dropdownMenu')); 
});
