(function($) {
    $.fn.nestedAccordion = function(options, level) {
        var defaults = {
            autoHeight: false,
            alwaysOpen: false,
            active: false
        };

        options = $.extend(defaults, options || {});

        var self = $(this);

        level = level + 1 || 0;
        var header = $.format("level{0}", level);
        var e = self.children("ul");
        var children = e.children("li");
        e.addClass(header);

        if (children.length > 0) {
            children.each(function(i) {
                var child = $(this);
                child.children("a").addClass(header);
                if (child.children("ul").length > 0) {
                    child.children("a").addClass("accordion");
                    child.nestedAccordion(options, level);
                }
            });
            e.accordion($.extend(options, { header: $.format(".{0}.accordion", header) }));
        }
    };
})(jQuery);
