--- node.module	2005-07-07 15:37:18.000000000 +0200
+++ node_check_all.module	2005-07-15 14:35:53.992666224 +0200
@@ -918,7 +918,21 @@
 
   if (!$rows) {
     $rows[] = array(array('data' => t('No posts available.'), 'colspan' => '6'));
-  }
+  } else {
+     array_unshift($rows,array(array('data' => t('Check <a href="%all">all</a> | <a href="%none">none</a>', array('%all'=>'javascript:check(\'all\')', '%none'=>'javascript:check(\'none\')')), 'colspan' => '6')));
+     $rows[]=array(array('data' => t('Check <a href="%all">all</a> | <a href="%none">none</a>', array('%all'=>'javascript:check(\'all\')', '%none'=>'javascript:check(\'none\')')), 'colspan' => '6'));
+  }
+  $output .= "<script type='text/javascript'>
+    function check(what) {
+      status = (what=='all') ? true : false;
+      for (var e = 0; e < document.forms['0'].elements.length; e++) {
+        el = document.forms['0'].elements[e];
+        if (el.type == 'checkbox') {
+          el.checked = status;
+        }
+      }      
+    }
+  </script>";
 
   $output .= theme('table', $header, $rows);
   return form($output, 'post', url('admin/node/action'));
