if (!MENU) { var MENU = new Object() }

MENU = {
	
    active                     		:   Array(),
    child                      		:   Array(),
	children						:	Array(),
    
    
    executeMenu                		:   function() {
		MENU.closeEverythingBitch($(MENU.getElementsByClassName('menu', 'ul')).children());
        MENU.active = MENU.getElementsByClassName('active', 'li');
		MENU.setThingsActiveBitch($(MENU.active).children());
    },
	
	setThingsActiveBitch			:	function(children) {

		var parents = children.parents();
		$(parents).each(function(currentParent) {
			$(this).css({ display:"block" });
		});
		
		if (children != null) {
			$(children).each(function(currentItem) {
				if (this.tagName == 'UL') {
					//$(this).css({ display:"block" });
					$(this).slideDown(500, function() {});
				}
			});
		}
	},
	
	closeEverythingBitch			:	function(children) {
		$(children).each(function(currentItem) {
			if (this.tagName == 'UL') {
				$(this).css({ display:"none" });
			}
			var itemsChildren = $(this).children();
			if (itemsChildren != null) {
				MENU.closeEverythingBitch(itemsChildren);	
			}
		});
	},
    
    getElementsByClassName          :   function(className, tag, elm) {
        
        var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
        var tag = tag || "*";
        var elm = elm || document;
        var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
        var returnElements = [];
        var current;
        var length = elements.length;
        for(var i=0; i<length; i++){
            current = elements[i];
            if(testClass.test(current.className)){
                returnElements.push(current);
            }
        }
        return returnElements;
        
    }

}

$(document).ready(MENU.executeMenu);