Рекомендации:
- использовать событие OnClick для заголовков и написать для обработки этого события функцию, которой бы передавался в качестве аргумента объект (или его имя) - раздел, который должен быть скрыт/показан.
- для скрытия/показа использовать поле display свойства style объекта. Для скрытия установите его в 'none', для показа - в ''.
Рекомендации:
Изначально можно создать таблицу, блоки будут находится в ячейчах этой таблицы. Для ячеек таблицы задайте свойство position:relative, а для блоков - position:absolute.
Для перемещения блоков меняйте их свойства left и top.
Для извлечения из этих свойств числового значения (отбрасывания 'px') можно использовать метод substr(0,сколько символов), количество символов хранится в поле length. Другой вариант - хранить позицию отдельно в соответствующей структуре данных.