Formatierung und unnötiges Arrayelement entfernt
[kivitendo-erp.git] / js / kivi.js
index daedfaa..3ee73a7 100644 (file)
@@ -37,7 +37,7 @@ namespace("kivi", function(ns) {
     if (date === '')
       return null;
 
-    if (date === '0')
+    if (date === '0' || date === '00')
       return new Date();
 
     var parts = date.replace(/\s+/g, "").split(ns._date_format.sep);
@@ -68,19 +68,21 @@ namespace("kivi", function(ns) {
 
     if (parts.length == 3) {
       var year = +parts[ ns._date_format.y ] || 0 * 1 || (new Date()).getFullYear();
+      if (year > 9999)
+        return undefined;
       if (year < 100) {
         year += year > 70 ? 1900 : 2000;
       }
       date = new Date(
         year,
-        (parts[ ns._date_format.m ] || 0) * 1 - 1, // Months are 0-based.
-        (parts[ ns._date_format.d ] || 0) * 1
+        (parts[ ns._date_format.m ] || (today.getMonth() + 1)) * 1 - 1, // Months are 0-based.
+        (parts[ ns._date_format.d ] || today.getDate()) * 1
       );
     } else if (parts.length == 2) {
       date = new Date(
         (new Date()).getFullYear(),
-        (parts[ (ns._date_format.m > ns._date_format.d) * 1 ] || 0) * 1 - 1, // Months are 0-based.
-        (parts[ (ns._date_format.d > ns._date_format.m) * 1 ] || 0) * 1
+        (parts[ (ns._date_format.m > ns._date_format.d) * 1 ] || (today.getMonth() + 1)) * 1 - 1, // Months are 0-based.
+        (parts[ (ns._date_format.d > ns._date_format.m) * 1 ] || today.getDate()) * 1
       );
     } else
       return undefined;