$(document).ready(function(){
    var messagesContainer = $('div.flash-messages');
    var messages          = messagesContainer.children('p');

    if(messages.length) {
        var height = messagesContainer.height();
        messages.hide();
        messagesContainer
            .height(height)
            .hide()
            .slideDown(400, function(){
                messages.fadeIn(400);
                $(this).height('auto');
            });

        messages.click(function(){
            $(this).fadeOut(400, function()
            {
                var nbFlashes = messages.length;
                var nbHiddenFlashes = messagesContainer.children(':hidden').length;

                if (nbFlashes == nbHiddenFlashes) {
                    messagesContainer.fadeOut(400);
                }
            });
        });
    }
});

