]> wagnertech.de Git - mfinanz.git/blobdiff - js/kivi.js
Javascriptabsturz falls es mehrere Partpicker gibt, bei denen aber einer keinen Dialo...
[mfinanz.git] / js / kivi.js
index a9270375cee6043c02bc41f5b31fabf38a9dd117..3ee73a7085d648b3540e27d7bfc21159b7dbd51f 100644 (file)
@@ -37,6 +37,9 @@ namespace("kivi", function(ns) {
     if (date === '')
       return null;
 
+    if (date === '0' || date === '00')
+      return new Date();
+
     var parts = date.replace(/\s+/g, "").split(ns._date_format.sep);
     var today = new Date();
 
@@ -65,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;
@@ -513,7 +518,7 @@ namespace("kivi", function(ns) {
     if (!kivi.Validator) {
       console.log('kivi.Validator is not loaded');
     } else {
-      kivi.Validator.validate_all(selector);
+      return kivi.Validator.validate_all(selector);
     }
   };