(function($) {
    $.fn.ddAbreFecha = function() {
        if (!this.length) {
            return false;
        }
        
        var settings = {
            accordion : false,
            classe    : 'ativo'
        }
        
        return this.each(function(opts) {
            var $elem = $(this);
            
            if (opts) {
                $.extend(settings, opts);
            }
            
            $('dd', $elem).hide();
            $('dt', $elem).click(function() {
                if ($(this).hasClass(settings.classe)) {
                    $('dt.ativo', $elem).removeClass(settings.classe);
                    $('dd', $elem).slideUp();
                    return false;
                }

                $('dt.ativo', $elem).removeClass(settings.classe);
                $('dd', $elem).slideUp();

                $(this)
                    .addClass(settings.classe)
                    .next('dd')
                    .slideDown();
            });
        });
    }
})(jQuery);
