--- sites/all/modules/signup_status/signup_status.admin.inc	2009-01-19 06:02:54.000000000 -0500
+++ sites/all/modules/signup_status/signup_status.admin.inc-NEW	2009-07-02 17:37:52.000000000 -0400
@@ -21,6 +21,7 @@ function signup_status_admin_list() {
     t('Description'),
     t('Modifies signup count'),
     t('Show on form'),
+    t('Default'),
     array('data' => t('Operations'), 'colspan' => 2),
   );
 
@@ -31,6 +32,7 @@ function signup_status_admin_list() {
       $code['description'],
       empty($code['mod_signup_count']) ? t('No') : t('Yes'),
       empty($code['show_on_form']) ? t('No') : t('Yes'),
+      empty($code['default_status']) ? t('No') : t('Yes'),
       l(t('edit'), 'admin/settings/signup_status/edit/'. $cid),
       l(t('delete'), 'admin/settings/signup_status/delete/'. $cid),
     );
@@ -85,6 +87,12 @@ function signup_status_admin_form(&$form
     '#description' => t('If selected, users can select this status when signing up for a node.'),
     '#default_value' => isset($cid) ? $codes[$cid]['show_on_form'] : NULL,
   );
+  $form['default_status'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Default'),
+    '#description' => t('If selected, this status will be the default. If another status is already selected as the default, this selection will overwrite it so that there is only one default.'),
+    '#default_value' => isset($cid) ? $codes[$cid]['default_status'] : NULL,
+  );
 
   $form['submit'] = array(
     '#type' => 'submit',
@@ -117,12 +125,18 @@ function signup_status_admin_form_valida
 function signup_status_admin_form_submit($form, &$form_state) {
   $values = $form_state['values'];
   if (!isset($values['cid'])) {
-    db_query("INSERT INTO {signup_status_codes} (name, description, mod_signup_count, show_on_form) VALUES ('%s', '%s', %d, %d)", $values['name'], $values['description'], $values['mod_signup_count'], $values['show_on_form']);
+		if ((int)$values['default_status'] === 1) {
+			db_query("UPDATE {signup_status_codes} SET default_status = %d", 0);
+		}
+    db_query("INSERT INTO {signup_status_codes} (name, description, mod_signup_count, show_on_form, default_status) VALUES ('%s', '%s', %d, %d, %d)", $values['name'], $values['description'], $values['mod_signup_count'], $values['show_on_form'], $values['default_status']);
     drupal_set_message(t('Status code %name has been added.', array('%name' => $values['name'])));
     watchdog('signup_status', 'Status code %name has been added.', array('%name' => $values['name']));
   }
   else {
-    db_query("UPDATE {signup_status_codes} SET name = '%s', description = '%s', mod_signup_count = %d, show_on_form = %d WHERE cid = %d", $values['name'], $values['description'], $values['mod_signup_count'], $values['show_on_form'], $values['cid']);
+		if ((int)$values['default_status'] === 1) {
+			db_query("UPDATE {signup_status_codes} SET default_status = %d", 0);
+		}
+    db_query("UPDATE {signup_status_codes} SET name = '%s', description = '%s', mod_signup_count = %d, show_on_form = %d, default_status = %d WHERE cid = %d", $values['name'], $values['description'], $values['mod_signup_count'], $values['show_on_form'], $values['default_status'], $values['cid']);
     drupal_set_message(t('Status code %name has been updated.', array('%name' => $values['name'])));
     watchdog('signup_status', 'Status code %name has been updated.', array('%name' => $values['name']));
   }
