Описание:
Скрипт позволяет сворачивать и разворачивать категории для экономии места, или сортировки ненужных (неинтересных) категорий + сохранение. Такой метод используется на многих современных форумах.

<script type="text/javascript">
function findCat()
{
var ni=1
for (ni=1; ni<=12; 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="Картинка скрыть"
var tit="Скрыть"
}
else if (cook=="cl")
{document.getElementById(idx).getElementsByTagName("table")[0].style.display="none"
var pic="Картинка показать"
var tit="Показать"
}}
else if (document.cookie.indexOf("category")==-1)
{document.getElementById(idx).getElementsByTagName("table")[0].style.display="block"
var pic="Картинка скрыть"
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' align='absmiddle' /><span>"+document.getElementById(idx).getElementsByTagName("span")[0].innerHTML+"</span><div class=\"catright\"><!-- --></div>"}
}
if (!document.URL.indexOf(".php")!=-1 || document.URL.indexOf("index.php")!=-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="Картинка показать"
document.getElementById(img).title="Показать"}
else
{document.getElementById(tb).getElementsByTagName("table")[0].style.display="block"
document.getElementById(img).src="Картинка скрыть"
document.getElementById(img).title="Скрыть"}
}
function saveCooks()
{
var sample="category="
var vi=1
for (vi=1; vi<=12; 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>

В HTML-низ