Index: django/contrib/admin/media/js/admin/CollapsedFieldsets.js
===================================================================
--- django/contrib/admin/media/js/admin/CollapsedFieldsets.js	(revision 6668)
+++ django/contrib/admin/media/js/admin/CollapsedFieldsets.js	(working copy)
@@ -11,27 +11,36 @@
 }
 
 var CollapsedFieldsets = {
-    collapse_re: /\bcollapse\b/,   // Class of fieldsets that should be dealt with.
+    collapse_re: /\bcollaps(e|ible)\b/,   // Class of fieldsets that should be dealt with.
     collapsed_re: /\bcollapsed\b/, // Class that fieldsets get when they're hidden.
     collapsed_class: 'collapsed',
+    collapsible_class: 'collapsible', // This will not be initially collapsed
     init: function() {
         var fieldsets = document.getElementsByTagName('fieldset');
         var collapsed_seen = false;
         for (var i = 0, fs; fs = fieldsets[i]; i++) {
-            // Collapse this fieldset if it has the correct class, and if it
-            // doesn't have any errors. (Collapsing shouldn't apply in the case
+            // Collapse this fieldset or make it collapsible if it has the correct class,
+            // and if it doesn't have any errors. (Collapsing shouldn't apply in the case
             // of error messages.)
-            if (fs.className.match(CollapsedFieldsets.collapse_re) && !CollapsedFieldsets.fieldset_has_errors(fs)) {
-                collapsed_seen = true;
-                // Give it an additional class, used by CSS to hide it.
-                fs.className += ' ' + CollapsedFieldsets.collapsed_class;
-                // (<a id="fieldsetcollapser3" class="collapse-toggle" href="#">Show</a>)
+            var collapse_match = fs.className.match(CollapsedFieldsets.collapse_re);
+            if (collapse_match && !CollapsedFieldsets.fieldset_has_errors(fs)) {
+                var start_collapsed = collapse_match[0] != CollapsedFieldsets.collapsible_class;
+                // If needed Give it an additional class, used by CSS to hide it.
+                if (start_collapsed) {
+                    fs.className += ' ' + CollapsedFieldsets.collapsed_class;
+                }
+                // (<a id="fieldsetcollapser3" class="collapse-toggle" href="#">Show/Hide</a>)
                 var collapse_link = document.createElement('a');
                 collapse_link.className = 'collapse-toggle';
                 collapse_link.id = 'fieldsetcollapser' + i;
-                collapse_link.onclick = new Function('CollapsedFieldsets.show('+i+'); return false;');
                 collapse_link.href = '#';
-                collapse_link.innerHTML = gettext('Show');
+                if (start_collapsed) {
+                    collapse_link.onclick = new Function('CollapsedFieldsets.show('+i+'); return false;');
+                    collapse_link.innerHTML = gettext('Show');
+                } else {
+                    collapse_link.onclick = new Function('CollapsedFieldsets.hide('+i+'); return false;');
+                    collapse_link.innerHTML = gettext('Hide');
+                }
                 var h2 = fs.getElementsByTagName('h2')[0];
                 h2.appendChild(document.createTextNode(' ('));
                 h2.appendChild(collapse_link);
Index: django/contrib/admin/options.py
===================================================================
--- django/contrib/admin/options.py	(revision 6668)
+++ django/contrib/admin/options.py	(working copy)
@@ -78,7 +78,7 @@
 
     def _media(self):
         from django.conf import settings
-        if 'collapse' in self.classes:
+        if 'collapse' in self.classes or 'collapsible' in self.classes:
             return forms.Media(js=['%sjs/admin/CollapsedFieldsets.js' % settings.ADMIN_MEDIA_PREFIX])
         return forms.Media()
     media = property(_media)
Index: docs/tutorial02.txt
===================================================================
--- docs/tutorial02.txt	(revision 6668)
+++ docs/tutorial02.txt	(working copy)
@@ -179,10 +179,11 @@
    :alt: Form has fieldsets now
    :target: http://media.djangoproject.com/img/doc/tutorial/admin08.png
 
-You can assign arbitrary HTML classes to each fieldset. Django provides a
-``"collapse"`` class that displays a particular fieldset initially collapsed.
-This is useful when you have a long form that contains a number of fields that
-aren't commonly used::
+You can assign arbitrary HTML classes to each fieldset. Django provides the
+``"collapse"`` and ``"collapsible"`` classes that allow a particular fieldset
+to be initially collapsed, respectively to be collapsible. This is useful when
+you have a long form that contains a number of fields that aren't commonly
+used::
 
         class Admin:
             fields = (
Index: docs/model-api.txt
===================================================================
--- docs/model-api.txt	(revision 6668)
+++ docs/model-api.txt	(working copy)
@@ -1324,6 +1324,8 @@
 ``collapse`` and ``wide``. Fieldsets with the ``collapse`` style will be
 initially collapsed in the admin and replaced with a small "click to expand"
 link. Fieldsets with the ``wide`` style will be given extra horizontal space.
+Alternatively you can use ``collapsible`` which has the same effect as
+``collapse``, but fieldsets will be initially expanded.
 
 ``description``
 ~~~~~~~~~~~~~~~
