Если я правильно понимаю, чтоб подобные данные сохранились после перезагрузки страницы можно использовать:
1. Куки
2. незаметную отправку AJAX-запросов на сервер (прокатит только у зарегистрированных пользователей)
3. Использовать специальные библиотеки (например
http://browserpersistence.ru/), которые могут хранить данные на стороне клиента не в куках.
На приведенном Вами примере используются куки (если их удалить, то все свернутые блоки развернуться).
Какие еще кто знает методы?
Про куки тут можете почитать:
http://www.codenet.ru/webmast/js/Cookies.php