(function($){
    $.fn.accordion = function(){
         var open = function($container){
            $container.removeClass('closed');
            $container.data('open',true);
            $container.animate(
                {height:$container.data('heightOpen')},
                200
            );
        };

        var close = function($container){
            $container.addClass('closed');
            $container.data('open',false);
            $container.animate(
                {height:$container.data('heightClosed')},
                200
            );
        };

        return $(this).each(function(){
            var list = $(this);
            $(this).find('ul li').each(function(){
                var $container = $(this);
                var $anchor = $(this).find('.title h3 a');
                var $title = $(this).find('.title');
                var $staffInfo = $container.find('.staff-info');
                var heightClosed = $container.height();
                var heightOpen = $title.outerHeight(true) + $staffInfo.outerHeight(true);

                $container.height(heightClosed);
                $container.data('open',false);
                $container.data('heightOpen',heightOpen);
                $container.data('heightClosed',heightClosed);
                $anchor.click(function(e){
                    e.preventDefault();
                    list.find('ul li:not(.closed)').each(function(){
                       if(this != $container.get(0)){
                           close($(this));
                       }
                    });
                    if($container.data('open')){
                        close($container);
                    }else{
                        open($container);
                    }
                });
                
            });
        });
    };

    $(document).ready(function(){
        $('ul.staff').accordion();
    });
})(jQuery);