// $Id: collapsiblock.js,v 1.8.2.6 2007/06/27 22:08:07 nedjo Exp $

Drupal.behaviors.collapsiblock = function (context) {
  $('div.block:not(.collapsiblock-processed)', context).addClass('collapsiblock-processed').each(function () {
    var selector = Drupal.settings.collapsiblock && Drupal.settings.collapsiblock.titleSelector ? Drupal.settings.collapsiblock.titleSelector : 'h2';
    var id = this.id;
    var titleElt = $(selector +':first', this);
    if (titleElt.size()) {
      titleElt = titleElt[0];
      // Status values: 1 = not collapsible, 2 = collapsible and expanded, 3 = collapsible and collapsed
      var status = Drupal.settings.collapsiblock.blocks[this.id] ? Drupal.settings.collapsiblock.blocks[this.id] : Drupal.settings.collapsiblock.default_state;
      if (status == 1) {
        return;
      }
      titleElt.target = $(this).find('div.content');
      $(titleElt)
        .addClass('collapsiblock')
        .click(function () {
          var st = $.cookie('collapsiblock-' + id);
          $.cookie('collapsiblock-' + id, st == 0 ? 1 : 0);
          $(this).toggleClass('collapsiblockCollapsed');
          $(this.target).slideToggle('slow');
        });
      if (status == 3 || $.cookie('collapsiblock-' + id) == 1) {
        $(titleElt).addClass('collapsiblockCollapsed');
        $(titleElt.target).slideUp();
      }
      else {
        $.cookie('collapsiblock-' + id, 0);
      }
    }
  });
};

