$(function () {
    $('div.cycle').simpleSpy(5, 4000);
});
(function ($) {
$.fn.simpleSpy = function (limit, interval) {
    limit = limit || 6;
    interval = interval || 4000;
    return this.each(function () {
    var $list = $(this),
            items = [],
            currentItem = limit,
            total = 0,
            height = $list.find('> div:first').height();
        $list.find('> div').each(function () {
            items.push('<div class="firma">' + $(this).html() + '</div>');
        });
        total = items.length;
        $list.find('> div').filter(':gt(' + (limit - 1) + ')').remove();
        function spy() {
            var $insert = $(items[currentItem]).css({
                height : 0,
                opacity : 0,
                display : 'none'
            }).prependTo($list);
            $list.find('> div:last').animate({ opacity : 0}, 1000, function () {
                $insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);
                    $(this).remove();
            });
            currentItem++;
            if (currentItem >= total) {
                currentItem = 0;
            }
            
            setTimeout(spy, interval)
        }
        
        spy();
    });
};
    
})(jQuery);
