Index: event.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.module,v
retrieving revision 1.404
diff -u -p -r1.404 event.module
--- event.module	5 Jun 2009 20:39:03 -0000	1.404
+++ event.module	30 Jun 2009 07:11:58 -0000
@@ -1656,19 +1656,34 @@ function expand_event($element) {
         $maxlength = 4;
         break;
       case 'hour':
-        $form_type = 'select';
-        if (variable_get('event_ampm', 0)) {
-          for ($i = 1; $i <= 12; $i++) $options["$i"] = $i < 10 ? "0$i" : "$i";
+        if ($sort['hour']) {
+          $form_type = 'select';
+          if (variable_get('event_ampm', 0)) {
+            for ($i = 1; $i <= 12; $i++) $options["$i"] = $i < 10 ? "0$i" : "$i";
+          }
+          else {
+            for ($i = 0; $i <= 23; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i";
+          }
+          asort($options);
         }
+        // No hour format was specified in the short date
         else {
-          for ($i = 0; $i <= 23; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i";
+          $form_type = 'hidden';
+          // We specify 12 instead of 00 because of midnight ambiguity
+          $element['#value'][$type] = '12';
         }
-        asort($options);
         break;
       case 'minute':
-        $form_type = 'select';
-        for ($i = 0; $i <= 59; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i";
-        asort($options);
+        if ($sort['minute']) {
+          $form_type = 'select';
+          for ($i = 0; $i <= 59; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i";
+          asort($options);
+        }
+        // No minute format was specified in the short date
+        else {
+          $form_type = 'hidden';
+          $element['#value'][$type] = '00';
+        }
         break;
       case 'ampm':
         if(variable_get('event_ampm', 0)) {
@@ -1684,7 +1699,7 @@ function expand_event($element) {
     $parents[] = $type;
     $element[$type] = array(
       '#type' => $form_type,
-      '#default_value' => $element['#value'][$type],
+      '#default_value' => isset($element['#value'][$type]) ? $element['#value'][$type] : 0,
       '#attributes' => $element['#attributes'],
     );
     if (isset($options)) {
