function visSwitch( cat, expanded )
{
    var ids;
    var i;
    
    for( i = 0; i < rows.length; i++ )
    {
        ids = rows[i].id.split("_");
        
        if( ids[0] == cat )
        {
            rows[i].style.visibility = (expanded ? 'visible' : 'hidden');
            rows[i].style.display = (expanded ? '' : 'none');
            
            if( ids[1] != 'forum' )
            {
                if( expanded )
                    visSwitch( ids[1], getCookie( ids[1] + '_expanded' ) == 'Y' );
                else
                    visSwitch( ids[1], expanded );
            }
        }
    }
}

function expand( img, cat )
{
    tbl = document.getElementById('forum_cat');
    rows = tbl.getElementsByTagName("tr");
    
    expanded = img.id == 'plus' ? 'Y' : 'N';
    
    img.src = img.id == 'plus' ? 'images/cat_minus.gif' : 'images/cat_plus.gif';
    img.id = img.id == 'plus' ? 'minus' : 'plus';
    
    setCookie( cat + '_expanded', expanded );
    
    visSwitch( cat, expanded == 'Y' );
}