// the storage lasts 24hrs
var expandableStorage = new CookieJar({ expires: 86400, path: '/' });
var data = expandableStorage.get('data') || [];

$$('.collapsable .content-container, .collapsable .footer-container').reject(function(element) { return data.indexOf($(element).up('.collapsable').id) > -1; }).invoke('toggle');

$$('.collapsable .switch').invoke('observe', 'click', function(event) {
  event.stop();
  var target = Event.findElement(event, 'a');
  var container = $(target).up('.collapsable');

  $(target).up('.header-container').siblings().invoke('toggle');

  if (data.indexOf(container.id) > -1)
  {
    data.splice(data.indexOf(container.id), 1);
  }
  else
  {
    data.push(container.id);
  }
  expandableStorage.put('data', data.uniq());
});
