(function($){
    $.fn.menu = function(options) {
        var defaults = {
            duration: 50
        };
        options = $.extend(defaults, options);
        var menuMouseover = function() {
            var sub = $(this).next();
            if($(sub).is('.submenu')) {
                var pos = $(this).position();
                $(sub).css({
                    left: pos.left+"px"
                });
                $(sub).find('li').css({
                    "height": "0px"
                });
                var animateLink = function(index) {
                    var el = $(sub).find('li:eq('+index+')');
                    if($(el).is('li')) {
                        //alert($(el).find('a').text());
                        $(el).animate({
                            "height": "24px"
                        }, options.duration,
                        function(){
                            animateLink(index+1);
                        });
                    }
                };
                $(sub).find('li').eq(0).each(animateLink);
                $(sub).dequeue();
                $(sub).show();
            }
        };
        var menuMouseout = function() {
            var sub = $(this).next();
            if($(sub).is('.submenu')) {
                $(sub).hide();
            }
        };
        var subMouseover = function() {
            $(this).show();
        };
        var subMouseout = function() {
            $(this).hide();
        };
        return this.each(function() {
            $(this).children("a").each(function() {
                $(this).mouseover(menuMouseover);
                $(this).mouseout(menuMouseout);
                var sub = $(this).next();
                if($(sub).is('.submenu')) {
                    $(sub).mouseover(subMouseover);
                    $(sub).mouseout(subMouseout);
                }
            });
        });
    };
})(jQuery);
