Only in blockbar.orig: LICENSE.txt
diff -u blockbar.orig/blockbar.css blockbar/blockbar.css
--- blockbar.orig/blockbar.css	2005-11-06 14:59:02.000000000 -0500
+++ blockbar/blockbar.css	2006-03-27 19:06:23.000000000 -0500
@@ -1,4 +1,26 @@
-.blockbar-head-img {
+/*
+** Collapsing blockbar is very similar to collapsing fieldsets in drupal core
+*/
+
+html.js .blockbar-collapsed * {
+  display: none;
+}
+
+html.js .blockbar-collapsible legend a {
+  padding-left: 15px;
+  background: url('images/menu-expanded-white.png') 5px 50% no-repeat;
+}
+  
+html.js .blockbar-collapsed legend a {
+  background: url('images/menu-collapsed-white.png') 5px 50% no-repeat;
+}
+/* Note: IE-only fix due to '* html' (breaks Konqueror otherwise). */
+
+* html.js blockbar.collapsible legend a {
+  display: block;
+}
+
+html.js .blockbar-head-img {
   background: url('images/menu-expanded-white.png') 5px 50% no-repeat;
   height: 15px;
   width: 2em;
@@ -6,10 +28,10 @@
   float: left;
   clear: both;
 }
-.blockbar-head-img.collapse {
+html.js .blockbar-head-img.collapse {
   background: url('images/menu-collapsed-white.png') 5px 50% no-repeat;
 }
-.blockbar-head {
+html.js .blockbar-head {
  	float: left;
   clear: right;
 }
diff -u blockbar.orig/blockbar.js blockbar/blockbar.js
--- blockbar.orig/blockbar.js	2005-11-04 13:05:28.000000000 -0500
+++ blockbar/blockbar.js	2006-03-27 19:05:08.000000000 -0500
@@ -2,33 +2,42 @@
 	blockbar javascript - toggle blocks and save state in cookies
 */
 
-function blockbar_toggle( targetId, blockId ) {
+if (isJsEnabled()) {
+  addLoadEvent(blockbar_onload);
+  if (document.getElementById)
+    window.onunload=blockbar_save_state
+}
+
+function blockbar_toggle( targetId, blockId) {
   if ( document.getElementById ) {
     var target = document.getElementById(targetId);
+  //  var target = document.getElementById("blockbar-content_"+blockId);
     var head = document.getElementById("blockbarhead_"+targetId);
+    
     // close all other panels if unique flag set for block bar
     var bar = document.getElementById("block_bar_unique"+blockId)
     var unique = (bar.getAttributeNode("class").value)
     if (unique == "block_unique") {
       var bar2 = document.getElementById("block_bar_panel"+blockId)
       var panel_num = (+bar2.getAttributeNode("class").value)+1
+      var bar3 = document.getElementById("block_bar_sticky"+blockId)
+      var sticky = bar3 ? (bar3.getAttributeNode("class").value) : ""
+      var block_state = (sticky == "block_sticky") ? "blockbar-collapsible" : "blockbar-collapsed"
       for (var i=1; i<panel_num; i++){
         block_id = "_block"+blockId+"_sub"+i
-        if (document.getElementById(block_id) && (block_id != targetId )){
-          if (document.getElementById(block_id).style.display!="none") { 
+        var this_block = document.getElementById(block_id)
+
+        if ((this_block) && (block_id != targetId)){
+          if (!hasClass(this_block, block_state)) {
             var head2= document.getElementById("blockbarhead_"+block_id);
             toggleClass(head2, 'collapse');
-            document.getElementById(block_id).style.display="none" 
+            toggleClass(document.getElementById(block_id), block_state);
           }  
         }
       }
     }  
     toggleClass(head, 'collapse');
-    if ( target.style.display == "none" ) {
-      target.style.display = "";
-    } else {
-      target.style.display = "none";
-    }
+    toggleClass(target, 'blockbar-collapsed');
   }
 }
 
@@ -55,7 +64,7 @@
     var bar2 = document.getElementById("block_bar_sticky"+i)
     var sticky = bar2 ? (bar2.getAttributeNode("class").value) : ""
     cookie_name = "block_bar"+i
-    if (sticky == "block_sticky") {
+    if ((sticky == "block_sticky") || (sticky == "block_sticky_default_open")) {
       var cookie_value=blockbar_get_cookie(cookie_name)
       if (cookie_value.length > 0) {
         var panels = cookie_value.split('|')
@@ -71,18 +80,21 @@
   var bar1 = document.getElementById("block_bar_num")
   var bar_num = (+bar1.getAttributeNode("class").value)+1
   var cookie_name = "", cookie_value = "", block_id = ""
-
   for (var i=1; i<bar_num; i++){
     var bar1 = document.getElementById("block_bar_panel"+i)
     var panel_num = bar1 ? ((+bar1.getAttributeNode("class").value)+1) : 0
     var bar2 = document.getElementById("block_bar_sticky"+i)
     var sticky = bar2 ? (bar2.getAttributeNode("class").value) : ""
     cookie_name = "block_bar"+i
-    if (sticky == "block_sticky") {
+    if ((sticky == "block_sticky") || (sticky == "block_sticky_default_open")) {
+      // If default = closed then cookie contains the blocks to open (ie toggle)
+      // If default = open then cookie contains the blocks to close (ie toggle)
+      var block_state = (sticky == "block_sticky") ? "blockbar-collapsible" : "blockbar-collapsed"
       for (var j=1; j<panel_num; j++){
         block_id = "_block"+i+"_sub"+j
-        if (document.getElementById(block_id)){
-          if (document.getElementById(block_id).style.display!="none") {
+        var this_block = document.getElementById(block_id)
+        if (this_block){
+          if (hasClass(this_block, block_state)) {
             cookie_value += block_id+"|" 
           }
         }
@@ -93,8 +105,4 @@
   }
 }
 
-if (isJsEnabled()) {
-  addLoadEvent(blockbar_onload);
-  if (document.getElementById)
-    window.onunload=blockbar_save_state
-}
+
diff -u blockbar.orig/blockbar.module blockbar/blockbar.module
--- blockbar.orig/blockbar.module	2006-03-27 07:21:54.000000000 -0500
+++ blockbar/blockbar.module	2006-03-27 19:05:56.000000000 -0500
@@ -42,7 +42,11 @@
   $content .= '</span>';
   //the following <span> tags are needed to control javascript behavior
   $content .= '<span id=block_bar_panel' . $block_num . ' class=' . ($i-1) . '></span>';
-  $sticky = (variable_get('blockbar_save_state' . $block_num, 1) == 1) ? 'block_sticky' : '';
+  $sticky = '';
+  if (variable_get('blockbar_save_state' . $block_num, 1)) {
+    $sticky = (variable_get('blockbar_default_open' . $block_num, 0)) 
+      ? 'block_sticky_default_open' : 'block_sticky';
+  }
   $content .= '<span id=block_bar_sticky' . $block_num . ' class=' . $sticky . '></span>';
   $unique = (variable_get('blockbar_open_unique' . $block_num, 1) == 1) ? 'block_unique' : '';
   $content .= '<span id=block_bar_unique' . $block_num . ' class=' . $unique . '></span>';
@@ -54,14 +58,25 @@
   // when overriding this theme function care should be taken so as to not break the javascript
   // being called in the onclick event of the title <div>
   
-  $output .= '<div class="blockbar-title blockbar-' . $blockbar_num . '-title" onclick="blockbar_toggle(\'' . $panel_id . '\',\'' . $blockbar_num . '\')">';
-  $output .= '      <div align="center" class="blockbar-head-img collapse" id="blockbarhead_' . $panel_id . '">';
+  $default_open = variable_get('blockbar_default_open' . $blockbar_num, 0);
+
+  if ($default_open) {
+    $block_state = 'blockbar-collapsible';
+    $header_state = 'collapsible';
+  } else {
+    $block_state = 'blockbar-collapsed';
+    $header_state = 'collapse';
+  }
+
+    $output .= '<div class="blockbar-title blockbar-' . $blockbar_num . '-title" onclick="blockbar_toggle(\'' . $panel_id . '\',\'' . $blockbar_num . '\')">';
+  $output .= '      <div align="center" class="blockbar-head-img ' . $header_state. '" id="blockbarhead_' . $panel_id . '">';
   $output .= '      </div>';
   $output .= '    <div class="blockbar-head blockbar-' . $blockbar_num . '-head" nowrap>' . $panel_title . '</div>';
   $output .= '</div>';
-  $output .= '<div class="blockbar-content blockbar-'. $blockbar_num .'-content" id="' . $panel_id . '" style="display:none;">'; 
+  $output .= '<div class="blockbar-content blockbar-'. $blockbar_num .'-content ' . $block_state . '" id="' . $panel_id . '">';  
+  $output .= $block->content;
   $output .= '</div>';
-
+  
   return $output;
 }
 
@@ -112,6 +127,14 @@
     '#tree' => FALSE,
     '#description' => t('Checking this box will restrict open panels to one at a time.')
   );
+  $form['blockbar_default_open' . $block_num] = array(
+    '#type' => 'checkbox', 
+    '#title' => t('Default to open state initially'), 
+    '#default_value' => variable_get('blockbar_default_open' . $block_num, 0), 
+    '#return_value' => 1, 
+    '#tree' => FALSE,
+    '#description' => t('Checking this box will make the default state open.')
+  );
   return $form;
 }
 
@@ -133,6 +156,7 @@
       variable_set('blockbar_region' . $delta, $edit['blockbar_region' . $delta]);
       variable_set('blockbar_save_state' . $delta, $edit['blockbar_save_state' . $delta]);
       variable_set('blockbar_open_unique' . $delta, $edit['blockbar_open_unique' . $delta]);
+      variable_set('blockbar_default_open' . $delta, $edit['blockbar_default_open' . $delta]);
     case 'view':
       //$block['subject'] = variable_get('blockbar_name' . $delta, t('block bar ' . $delta));
       $block['content'] = blockbar_build_blockbar($delta); 
Common subdirectories: blockbar.orig/images and blockbar/images
