(function($)
{
    $.fn.navigate = function()
    {
        $levels = this.children('span[class=level]');

        $levels.each(function()
        {   
            $level = $(this);
            $level.find("span[id=cats_"+$level.attr('level')+"]").find("div:first").nextAll("div").hide();
    
            $images = $level.children('span[class=image]');
            $images.each(function()
            {
                _showNhide($(this))
            });        
        });
    };

    function _showNhide($current)
    {
        $current.toggle(
            function ()
            {
                $(this).html('<image src="modpub/Sitemap/minus.gif">');
                $levels = $(this).parent().children('span[id=cats_'+$(this).attr('level')+']');
                $levels.each(function()
                {
                    $level = $(this);
                    $level.find("div:first").nextAll("div").slideDown('fast');
                });
            },
            function ()
            {
                $(this).html('<image src="modpub/Sitemap/plus.gif">');
                $levels = $(this).parent().children('span[id=cats_'+$(this).attr('level')+']');
                $levels.each(function()
                {
                    $level = $(this);
                    $level.find("div:first").nextAll("div").slideUp('fast');
                });
            }
        );
    }
})(jQuery);
