Zlodar, если захотите воспользоваться моим кодом, то для того, чтобы открытый выбранный элемент закрывался, нужно видоизменить одну строчку:
function ShowOrHide(id)
{
// обозначаем контейнер
var container = documentGetElementById('container');
//собираем все div'ы внутри контейнера
var divs = container.getElementsBYTagName('div');
//проходимся циклом по всем div'ам
for(var i = 0; i<divs.length; i++)
{
var divId = divs[i].id;
if (divId == id)
// если id текущего div'а совпадает с id, переданным функции, делаем его видимым или невидимым, если он уже открыт
document.getElementById(divId).style.display = (document.getElementById(divId).style.display == 'none') ? 'block' : 'none';
else
//остальные элементы делаем невидимыми
document.getElementById(divId).style.display = 'none';
}
}