$(function() {
    $.fn.jSlide = function(config) {
        var defaults = {
            fadeTime  : 500,
            slideTime : 200,
            timeOut   : 8000,
            parents   : 'ul li',
            legendTag : 'span'
        }
        var opts = $.extend(defaults,config);
        return $(this).css({'overflow':'hidden'}).each(function() {
            var elems = $(this).find(opts.parents);
            var total = elems.length - 1;
            var atual = 0;
            var legend = $(elems).eq(atual).find(opts.legendTag);
            $(elems).eq(atual).fadeIn(opts.fadeTime,function() {
                $(legend).slideDown(opts.slideTime);
            });
            var t = setInterval(function() {
                $(legend).slideUp(opts.slideTime,function() {
                    $(elems).eq(atual).fadeOut(opts.fadeTime,function() {
                        atual = (atual==total)? 0 : atual+1;
                        $(elems).eq(atual).fadeIn(opts.fadeTime,function() {
                            legend = $(elems).eq(atual).find(opts.legendTag);
                            $(legend).slideDown(opts.slideTime);
                        });
                    });
                });
            },opts.timeOut);
        });
    }
});