var navigation = new function(){
    var ret = {
        init:function(){
            bindings();
        }
    }
    var bindings = function(){
        $("#sidenav .main").mouseover(navHeaderBinding);
        $("#sidenav").parent().mouseleave(navHideAll);
        $("#leftnav h3").click(navTitleClick);
    }
    
    // function bindings
    var navHeaderBinding = function(){
        $("div",this.parentNode).slideDown(500);
    }
    var expandAll = function(){
        $("#sidenav div").slideDown(100);
    }
    var navHideAll = function(){
        $("#sidenav div").slideUp(250)
    }
    var navTitleClick = function(){
        expandAll();
        $("#sidenav").parent().unbind("mouseleave");
        $(this).unbind("click");
        $(this).click(function(){
            navHideAll();
            bindings();
        });
    }
    return ret;
}
$(document).ready(navigation.init);