$(function()
{
    var aggregate = $('#aggregate');
    var open = $('#aggregate .open').show();
    var close = $('#aggregate .close');
    var content = $('#aggregate .content');
    
    var open_hover = {top: open.css('top'), height: open.css('height')};
    var open_demure = {top: parseInt(open.css('top')) + 16, height: parseInt(open.css('height')) - 16};
    open.hover(function() {
        open.stop(true).animate(open_hover, 'fast').fadeTo(1);
    },
    function () {
        if (aggregate.hasClass('open')) return open.css(open_demure);
        open.stop(true).animate(open_demure, 'fast');
    });
    
    open.css(open_demure);
    
    var close_hover = {height: close.css('height')};
    var close_demure = {height: parseInt(close.css('height')) - 16};
    close.hover(function() {
        if (!aggregate.hasClass('open')) return close.css('close_demure');
        close.animate(close_hover, 'fast');
    },
    function () {
        close.animate(close_demure, 'fast');
    });
    
    close.css(close_demure);
    
    var height = content.css('height');
    var top = -417;
    
    function open_content() {
        aggregate.addClass('open');
        open.hide();
        $('#content').fadeOut();
        content
            .css({height: 0, top: -7})
            .show()
            .animate({height: height, top: top});
    }
    open.click(open_content);
    
    function close_content() {
        aggregate.removeClass('open');
        content.animate({height: 0, top: -7}, function()
        {
            $(this).hide();
            open.stop(true).show().css({opacity: 0}).animate({opacity: 1})
        });
        $('#content').fadeIn();
    }
    close.click(close_content);
    
})
