Index: lang/en_utf8/access.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/access.php,v
retrieving revision 1.9
diff -u -r1.9 access.php
--- lang/en_utf8/access.php	22 Oct 2007 06:43:02 -0000	1.9
+++ lang/en_utf8/access.php	17 Dec 2007 14:43:13 -0000
@@ -14,7 +14,8 @@
 $string['currenttopic'] = 'This topic ';
 $string['monthnext'] = 'Next month';
 $string['monthprev'] = 'Previous month';
-$string['showhideblock'] = 'Show or hide block';
+$string['showblocka'] = 'Show $a block';
+$string['hideblocka'] = 'Hide $a block';
 $string['sitemap'] = 'Site map';
 $string['skipa'] = 'Skip $a';
 $string['skipblock'] = 'Skip block';
Index: lib/javascript-static.js
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/javascript-static.js,v
retrieving revision 1.40
diff -u -r1.40 javascript-static.js
--- lib/javascript-static.js	23 Oct 2007 22:29:04 -0000	1.40
+++ lib/javascript-static.js	17 Dec 2007 14:43:13 -0000
@@ -347,19 +347,30 @@
 
     If persistent == true, also sets a cookie for this.
 */
-function elementToggleHide(el, persistent, elementFinder) {
+function elementToggleHide(el, persistent, elementFinder, strShow, strHide) {
     if(!elementFinder) {
-        var obj = el;
+        var obj = el;  //el:container
+        el = document.getElementById('togglehide_'+obj.id);
     }
     else {
-        var obj = elementFinder(el);
+        var obj = elementFinder(el);  //el:button.
     }
     if(obj.className.indexOf('hidden') == -1) {
         obj.className += ' hidden';
+        if (el.src) {
+            el.src = el.src.replace('switch_minus', 'switch_plus');
+            el.alt = strShow;
+            el.title = strShow;
+        }
         var shown = 0;
     }
     else {
-        obj.className = obj.className.replace(new RegExp(' ?hidden'), '')
+        obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
+        if (el.src) {
+            el.src = el.src.replace('switch_plus', 'switch_minus');
+            el.alt = strHide;
+            el.title = strHide;
+        }
         var shown = 1;
     }
 
@@ -368,12 +379,11 @@
     }
 }
 
-
-function elementCookieHide(id) {
+function elementCookieHide(id, strShow, strHide) {
     var obj  = document.getElementById(id);
     var cook = new cookie('hide:' + id).read();
     if(cook != null) {
-        elementToggleHide(obj, false);
+        elementToggleHide(obj, false, null, strShow, strHide);
     }
 }
 
Index: lib/weblib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/weblib.php,v
retrieving revision 1.1001
diff -u -r1.1001 weblib.php
--- lib/weblib.php	11 Dec 2007 13:58:39 -0000	1.1001
+++ lib/weblib.php	17 Dec 2007 14:43:15 -0000
@@ -6341,7 +6341,7 @@
 
     }
 
-    print_side_block_end($attributes);
+    print_side_block_end($attributes, $title);
     echo $skip_dest;
 }
 
@@ -6391,8 +6391,7 @@
         echo '<div class="wrap">'."\n";
     }
     if ($heading) {
-        //Accessibility: replaced <div> with H2; no, H2 more appropriate in moodleblock.class.php: _title_html.
-        // echo '<div class="header">'.$heading.'</div>';
+        //Accessibility:  H2 more appropriate in moodleblock.class.php: _title_html.
         echo '<div class="header">';
         if (!empty($THEME->customcorners)) {
             echo '<div class="bt"><div>&nbsp;</div></div>';
@@ -6422,7 +6421,7 @@
 /**
  * Print table ending tags for a side block box.
  */
-function print_side_block_end($attributes = array()) {
+function print_side_block_end($attributes = array(), $title='') {
     global $CFG, $THEME;
 
     echo '</div>';
@@ -6433,10 +6432,13 @@
 
     echo '</div>';
 
+    $strshow = addslashes_js(get_string('showblocka', 'access', $title));
+    $strhide = addslashes_js(get_string('hideblocka', 'access', $title));
+
     // IE workaround: if I do it THIS way, it works! WTF?
     if (!empty($CFG->allowuserblockhiding) && isset($attributes['id'])) {
-        echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].'"); '.
-             "\n//]]>\n".'</script>';
+        echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].
+             '","'.$strshow.'","'.$strhide."\");\n//]]>\n".'</script>';
     }
 
 }
Index: pix/t/switch_plus.gif
===================================================================
RCS file: /cvsroot/moodle/moodle/pix/t/switch_plus.gif,v
retrieving revision 1.1
diff -u -r1.1 switch_plus.gif
Binary files /tmp/cvseme6ug and switch_plus.gif differ
Index: pix/t/switch_minus.gif
===================================================================
RCS file: /cvsroot/moodle/moodle/pix/t/switch_minus.gif,v
retrieving revision 1.1
diff -u -r1.1 switch_minus.gif
Binary files /tmp/cvsxUbL11 and switch_minus.gif differ
Index: theme/standard/styles_color.css
===================================================================
RCS file: /cvsroot/moodle/moodle/theme/standard/styles_color.css,v
retrieving revision 1.156
diff -u -r1.156 styles_color.css
--- theme/standard/styles_color.css	27 Nov 2007 15:40:04 -0000	1.156
+++ theme/standard/styles_color.css	17 Dec 2007 14:43:15 -0000
@@ -408,19 +408,6 @@
   border-bottom-color: #dddddd;
 }
 
-.sideblock .header .hide-show img.hide-show-image {
-  background: url('../../pix/t/switch_minus.gif') no-repeat bottom;
-}
-
-.sideblock.hidden .header .hide-show img.hide-show-image {
-  background: url('../../pix/t/switch_plus.gif') no-repeat bottom;
-}
-
-/* Accessibility: for Windows High Contrast, partial fix MDL-7493. */
-.sideblock .hide-show a {
-  border:1px solid white;
-}
-
 
 /***
  *** Blogs
Index: theme/standard/styles_layout.css
===================================================================
RCS file: /cvsroot/moodle/moodle/theme/standard/styles_layout.css,v
retrieving revision 1.538
diff -u -r1.538 styles_layout.css
--- theme/standard/styles_layout.css	30 Nov 2007 11:00:48 -0000	1.538
+++ theme/standard/styles_layout.css	17 Dec 2007 14:43:15 -0000
@@ -1184,11 +1184,8 @@
   padding:0;
 }
 
-.sideblock .header .hide-show {
+.sideblock .header .hide-show-image {
   float:right;
-}
-
-.sideblock .header .hide-show img.hide-show-image {
   height:11px;
   width:11px;
   margin-top:0.25em;
Index: blocks/moodleblock.class.php
===================================================================
RCS file: /cvsroot/moodle/moodle/blocks/moodleblock.class.php,v
retrieving revision 1.94
diff -u -r1.94 moodleblock.class.php
--- blocks/moodleblock.class.php	15 Nov 2007 05:00:44 -0000	1.94
+++ blocks/moodleblock.class.php	17 Dec 2007 14:43:13 -0000
@@ -332,16 +332,16 @@
         $title = '<div class="title">';
 
         if (!empty($CFG->allowuserblockhiding)) {
-            //Accessibility: added static 'alt' text for the +- icon.
-            //TODO (nfreear): language string 'hide OR show block'
-            $title .= '<div class="hide-show">'.
-                '<a title="'.get_string('showhideblock','access').
-                '" href="#" onclick="elementToggleHide(this, true, function(el) {'.
-                'return findParentNode(el, \'DIV\', \'sideblock\'); '.
-                '}, \''.$CFG->pixpath.'\' ); return false;">'.
-                '<img src="'.$CFG->pixpath.'/spacer.gif" '.
-                'id = "togglehide_inst'.$this->instance->id.'" '.
-                'alt="'.get_string('showhideblock','access').'" class="hide-show-image" /></a></div>';
+            //Accessibility: added 'alt' text for the +- icon.
+            //Theme the buttons using, Admin - Miscellaneous - smartpix.
+            $strshow = addslashes_js(get_string('showblocka', 'access', $this->title));
+            $strhide = addslashes_js(get_string('hideblocka', 'access', $this->title));
+            $title .= '<input type="image" src="'.$CFG->pixpath.'/t/switch_minus.gif" '. 
+                'id="togglehide_inst'.$this->instance->id.'" '.
+                'onclick="elementToggleHide(this, true, function(el) {'.
+                'return findParentNode(el, \'DIV\', \'sideblock\'); },'.
+                ' \''.$strshow.'\', \''.$strhide.'\'); return false;" '.
+                'alt="'.$strhide.'" title="'.$strhide.'" class="hide-show-image" />';
         }
 
         //Accesssibility: added H2 (was in, weblib.php: print_side_block)
