Index: admin.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/Attic/admin.admin.inc,v
retrieving revision 1.1.2.3.2.5
diff -u -p -r1.1.2.3.2.5 admin.admin.inc
--- admin.admin.inc	25 Apr 2010 16:39:10 -0000	1.1.2.3.2.5
+++ admin.admin.inc	23 Jul 2010 05:45:12 -0000
@@ -31,6 +31,16 @@ function admin_settings_form() {  
     ),
     '#default_value' => admin_get_settings('position'),
   );
+  $form['admin_toolbar']['behavior'] = array(
+    '#type' => 'select',
+    '#title' => t('Behavior'),
+    '#description' => t('Choose toolbar toggle / hiding behavior.'),
+    '#options' => array(
+      'df' => t('Default'),
+      'ah' => t('Hide on load'),
+    ),
+    '#default_value' => admin_get_settings('behavior'),
+  );
 
   $block_info = array();
   foreach (module_implements('block') as $module) {
Index: admin.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/admin.module,v
retrieving revision 1.1.2.23.2.19
diff -u -p -r1.1.2.23.2.19 admin.module
--- admin.module	25 Apr 2010 17:26:45 -0000	1.1.2.23.2.19
+++ admin.module	23 Jul 2010 05:45:12 -0000
@@ -231,7 +231,8 @@ function admin_theme($cache, $type, $the
     'arguments' => array(
       'blocks' => array(),
       'position' => 'ne',
-      'layout' => 'horizontal'
+      'layout' => 'horizontal',
+      'behavior' => 'df',
     ),
     'template' => 'admin-toolbar',
     'path' => $path . '/theme',
@@ -300,6 +301,7 @@ function admin_get_settings($key = NULL)
     $settings = variable_get('admin_toolbar', array()) + array(
       'layout' => 'vertical',
       'position' => 'nw',
+      'behavior' => 'df',
       'blocks' => admin_get_default_blocks(),
       'expanded' => isset($cookie['expanded']) ? check_plain($cookie['expanded']) : 0,
       'active_tab' => isset($cookie['activeTab']) ? check_plain($cookie['activeTab']) : 0,
@@ -416,8 +418,9 @@ function admin_preprocess_page(&$vars) {
   if (!admin_suppress(FALSE) && $blocks = admin_get_admin_blocks()) {
     $position = admin_get_settings('position');
     $layout = admin_get_settings('layout');
+    $behavior = admin_get_settings('behavior');
     $class = admin_get_settings('expanded') ? 'admin-expanded' : '';
-    $vars['body_classes'] .= " admin-{$position} admin-{$layout} {$class}";
+    $vars['body_classes'] .= " admin-{$position} admin-{$layout} admin-{$behavior} {$class} ";
   }
 }
 
@@ -428,8 +431,9 @@ function admin_footer() {
   if (!admin_suppress(FALSE) && $blocks = admin_get_admin_blocks()) {
     $position = admin_get_settings('position');
     $layout = admin_get_settings('layout');
+    $behavior = admin_get_settings('behavior');
     $class = admin_get_settings('expanded') ? 'admin-expanded' : '';
-    return theme('admin_toolbar', $blocks, $position, $layout);
+    return theme('admin_toolbar', $blocks, $position, $layout, $behavior);
   }
 }
 
Index: includes/admin.toolbar.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/includes/Attic/admin.toolbar.js,v
retrieving revision 1.1.2.6
diff -u -p -r1.1.2.6 admin.toolbar.js
--- includes/admin.toolbar.js	16 Apr 2010 19:34:39 -0000	1.1.2.6
+++ includes/admin.toolbar.js	23 Jul 2010 05:45:12 -0000
@@ -8,8 +8,12 @@ Drupal.behaviors.adminToolbar = function
     // Set initial toolbar state.
     Drupal.adminToolbar.init(toolbar);
 
-    // Admin toggle.
-    $('.admin-toggle', this).click(function() { Drupal.adminToolbar.toggle(toolbar); });
+    // Admin toggle. If autohide set hide toolbar after clicking on a link that loads new page
+    if($(document.body).hasClass('admin-ah')) {
+      $('.admin-toggle', this).click(function() { Drupal.adminToolbar.toggle(toolbar); Drupal.adminToolbar.setState('expanded', 0); });
+    } else {
+      $('.admin-toggle', this).click(function() { Drupal.adminToolbar.toggle(toolbar); });  
+    }
 
     // Admin tabs.
     $('div.admin-tab', this).click(function() { Drupal.adminToolbar.tab(toolbar, $(this), true); });
@@ -61,6 +65,9 @@ Drupal.adminToolbar.init = function (too
   if (classes[1] === 'horizontal' || classes[1] === 'vertical') {
     $(document.body).addClass('admin-'+classes[1]);
   }
+  if (classes[2] === 'df' || classes[2] === 'ah') {
+    $(document.body).addClass('admin-'+classes[2]);
+  }
 };
 
 /**
Index: theme/admin-toolbar.tpl.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin/theme/Attic/admin-toolbar.tpl.php,v
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.2 admin-toolbar.tpl.php
--- theme/admin-toolbar.tpl.php	25 Apr 2010 16:39:10 -0000	1.1.2.2
+++ theme/admin-toolbar.tpl.php	23 Jul 2010 05:45:12 -0000
@@ -1,4 +1,4 @@
-<div id='admin-toolbar' class='<?php print $position ?> <?php print $layout ?>'>
+<div id='admin-toolbar' class='<?php print $position ?> <?php print $layout ?> <?php print $behavior ?>'>
   <span class='admin-toggle'><?php print t('Admin') ?></span>
 
   <div class='admin-blocks admin-blocks-<?php print count($blocks) ?>'>
