+        ns.annotate($e_annotate);
+        return true;
+      }
+    },
+    time: function($e, $e_annotate) {
+      $e_annotate = $e_annotate || $e;
+
+      var time_string = $e.val();
+
+      var parsed_time = kivi.parse_time(time_string);
+      if (parsed_time === null) {
+        $e.val('');
+        ns.annotate($e_annotate);
+        return true;
+      } else
+      if (parsed_time === undefined) {
+        ns.annotate($e_annotate, kivi.t8('Wrong time format (#1)', [ kivi.myconfig.timeformat ]));
+        return false;
+      } else
+      {
+        var formatted_time = kivi.format_time(parsed_time);
+        if (formatted_time != time_string)
+          $e.val(formatted_time);
+        ns.annotate($e_annotate);