--- save_as_draft.module.org	2009-08-07 12:59:14.000000000 -0600
+++ save_as_draft.module	2009-08-07 12:56:43.000000000 -0600
@@ -104,10 +104,21 @@
         '#required'       => FALSE,
         '#weight'         => -1,
       );
+
+
       // Disable save as draft on node creation
       if ($form['nid']['#value'] != NULL) {
         $form['options']['save_as_draft']['#disabled'] = FALSE;
-	$form['options']['save_as_draft']['#default_value'] = $node->save_as_draft;
+				$form['options']['save_as_draft']['#default_value'] = $node->save_as_draft;
+				
+				// button to save the node as a draft for later use
+				// turn on the checkbox and simulate the click from the save button.
+				$form['buttons']['save_as_draft'] = array(
+					'#type' => 'button',
+					'#value' => t('Save As Draft'),
+					'#weight' => 15,
+					'#attributes' => array('onclick' => 'document.getElementById("edit-save-as-draft-1").checked=true;document.getElementById("edit-submit").click();return false;'),
+					);
       }
     }
   }
@@ -127,7 +138,7 @@
  * Implementation of hook_nodeapi().
  */
 function save_as_draft_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
-  switch ($op) {
+	switch ($op) {
     case 'presave':
       // Auto enable revision on nodes when Save as Draft is checked.
       if ($node->save_as_draft == TRUE) {
@@ -155,7 +166,8 @@
       // Display more descriptive message at the top of node revision views, including operations
       // that the current user has available to them.
       $current_vid = db_result(db_query('SELECT vid FROM {node} WHERE nid = %d', $node->nid));
-      if ($node->vid != $current_vid) {
+			
+			if ($node->vid != $current_vid) {
         drupal_set_message(t('You are currently viewing a revision of this post created on @date by @author.', array('@date' => format_date($node->changed, 'small'), '@author' => $node->name)));
         if (node_access('update', $node)) {
           drupal_set_message(l(t('Edit revision'), "node/$node->nid/revisions/$node->vid/edit"));
@@ -175,7 +187,7 @@
       elseif ($node->save_as_draft == 1) {
         // Notify admin if a node has pending revisions.
         if (user_access('view revisions') && arg(2) != 'revisions' && save_as_draft_get_node_pending_drafts($node->nid)) {
-          drupal_set_message(t('This post has one or more draft revisions: <a href="@list">view list of revisions</a>.', array('@list' => url("node/$node->nid/revisions"))));
+          drupal_set_message(t('This post has one or more draft revisions: <a href="@list">view list of revisions</a>.', array('@list' => url("node/$node->nid/revisions"))),'status',false);
         }
       }
       break;
