Иерархический список

Здесь приведен трехуровневый иерархический список. Узлы с изображением папок раскрываются щелчком.В данном примере выбор терминального (т.е. нераскрывающегося пункта) никак не обрабатывается. Разумеется, вы можете создать список с любым количеством уровней и с любыми маркерами его пунктов (опций).
Раскрывающиеся узлы поддерживаются однотипными скриптами, которые переключают нужные правила CSS.
Функция displayitem(thisobj,xid) изменяет картинки раскрывающегося пункта списка (объекта thisobj) и управляет видимостью подсписка со значением атрибута id, равным xid. Обработчик "event.cancelBubble=true" необходим, чтобы щелчок на терминальном пункте списка не приводил к свертыванию последнего.