Что нового:
1.Не надо вводить названия категорий вручную (надеюсь, у вас появится меньше шансов запутаться при его установке, хотя без работы моска все ранво не обойдется=)))

2.идентично работает во всех браузерах (все для меня - это ИЕ, Firefox и Опера, другими даже не хочу заниматься =)))

3.Закрытие и открытие категорий запоминаются и сохраняются в кукисах (также во всех браузерах). Разумеется пока вма не взбредет в голову вручную эти кукисы пойти потереть.

<script type="text/javascript">

function findCat()
{
var ni=1
for (ni=1; ni<=5; ni++)
{var idx="pun-category"+ni
var im="image"+ni
if (!document.getElementById(idx))
{break}
if (document.cookie.indexOf("category")!=-1)
{var cook1=document.cookie.substr(document.cookie.indexOf("category"))
var cook=cook1.substr((cook1.indexOf(ni)+String(ni).length), 2)
if (cook=="op")
{document.getElementById(idx).getElementsByTagName("table")[0].style.display="block"
var pic="http://uploads.ru/images/k/karpoff/up.gif"
var tit="Скрыть"
}
else if (cook=="cl")
{document.getElementById(idx).getElementsByTagName("table")[0].style.display="none"
var pic="http://uploads.ru/images/k/karpoff/down.gif"
var tit="Показать"
}}
else if (document.cookie.indexOf("category")==-1)
{document.getElementById(idx).getElementsByTagName("table")[0].style.display="block"
var pic="http://uploads.ru/images/k/karpoff/up.gif"
var tit="Скрыть"
}
document.getElementById(idx).getElementsByTagName("h2")[0].innerHTML="<div class=\"catleft\"><!-- --></div>"+"<img src='"+pic+"' "+"id='"+im+"' "+"style='cursor: hand;'"+"title='"+tit+"' "+"onclick='changeCat("+ni+")'"+" align='right' /><span>"+document.getElementById(idx).getElementsByTagName("span")[0].innerHTML+"</span><div class=\"catright\"><!-- --></div>"}
}
if (document.title.indexOf(" - Форум")!=-1)
{findCat()
window.onunload=saveCooks}


function changeCat(ru)
{var tb="pun-category"+ru
var img="image"+ru
if (document.getElementById(tb).getElementsByTagName("table")[0].style.display!="none")
{document.getElementById(tb).getElementsByTagName("table")[0].style.display="none"
document.getElementById(img).src="http://uploads.ru/images/k/karpoff/down.gif"
document.getElementById(img).title="Показать"}
else
{document.getElementById(tb).getElementsByTagName("table")[0].style.display="block"
document.getElementById(img).src="http://uploads.ru/images/k/karpoff/up.gif"
document.getElementById(img).title="Скрыть"}
}

function saveCooks()
{
var sample="category="
var vi=1
for (vi=1; vi<=5; vi++)
{var ct="pun-category"+vi
if (!document.getElementById(ct))
{break}
if (document.getElementById(ct).getElementsByTagName("table")[0].style.display!="none")
{sample+=vi+"op"}
else if (document.getElementById(ct).getElementsByTagName("table")[0].style.display=="none")
{sample+=vi+"cl"}}
var day=new Date()
day.setDate(day.getDate()+365)
sample+=";expires="+day.toGMTString()
document.cookie=sample}

</script>

Вместо пятерки (ОБРАТИТЕ ВНИМАНИЕ, ЧТО В ДВУХ МЕСТАХ) - количество категорий у вас.