summaryrefslogtreecommitdiff
path: root/js/webtrees-1.5.0.js
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2013-09-07 07:34:59 +0100
committerGreg Roach <fisharebest@gmail.com>2013-09-07 07:34:59 +0100
commit88974e64a9c4d53f9a092ce8f2bc1c5c0b754224 (patch)
tree5d2d8b1a1a705d0e0b15b25a43a29a3d7704ffeb /js/webtrees-1.5.0.js
parent7927a56bcc7c70c77a140da67ca98c2fd062839c (diff)
downloadwebtrees-88974e64a9c4d53f9a092ce8f2bc1c5c0b754224.tar.gz
webtrees-88974e64a9c4d53f9a092ce8f2bc1c5c0b754224.tar.bz2
webtrees-88974e64a9c4d53f9a092ce8f2bc1c5c0b754224.zip
#899483 - Date entry conversion issue
Diffstat (limited to 'js/webtrees-1.5.0.js')
-rw-r--r--js/webtrees-1.5.0.js23
1 files changed, 19 insertions, 4 deletions
diff --git a/js/webtrees-1.5.0.js b/js/webtrees-1.5.0.js
index a7f9c5c7db..c4a1615971 100644
--- a/js/webtrees-1.5.0.js
+++ b/js/webtrees-1.5.0.js
@@ -523,7 +523,11 @@ function addmedia_links(field, iid, iname) {
}
function valid_date(datefield) {
- var months = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
+ var months = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
+ var hijri_months = new Array("MUHAR","SAFAR","RABIA","RABIT","JUMAA","JUMAT","RAJAB","SHAAB","RAMAD","SHAWW","DHUAQ","DHUAH");
+ var jewish_months = new Array("TSH","CSH","KSL","TVT","SHV","ADR","ADS","NSN","IYR","SVN","TMZ","AAV","ELL");
+ var french_months = new Array("VEND","BRUM","FRIM","NIVO","PLUV","VENT","GERM","FLOR","PRAI","MESS","THER","FRUC","COMP");
+ var jalali_months = new Array("FARVA","ORDIB","KHORD","TIR","MORDA","SHAHR","MEHR","ABAN","AZAR","DEY","BAHMA","ESFAN");
var datestr=datefield.value;
// if a date has a date phrase marked by () this has to be excluded from altering
@@ -548,13 +552,24 @@ function valid_date(datefield) {
datestr = "BET "+months[RegExp.$1*3-3]+" "+RegExp.$2+" AND "+months[RegExp.$1*3-1]+" "+RegExp.$2;
}
+ // Shortcut for @#Dxxxxx@ 01 01 1400, etc.
+ if (datestr.match(/^(@#DHIJRI@|HIJRI)( \d\d )(\d\d)( \d\d\d\d)$/)) {
+ datestr = "@#DHIJRI@" + RegExp.$2 + hijri_months[parseInt(RegExp.$3)-1] + RegExp.$4;
+ }
+ if (datestr.match(/^(@#DJALALI@|JALALI)( \d\d )(\d\d)( \d\d\d\d)$/)) {
+ datestr = "@#DJALALI@" + RegExp.$2 + jalali_months[parseInt(RegExp.$3)-1] + RegExp.$4;
+ }
+ if (datestr.match(/^(@#DJHEBREW@|HEBREW)( \d\d )(\d\d)( \d\d\d\d)$/)) {
+ datestr = "@#DJHEBREW@" + RegExp.$2 + jewish_months[parseInt(RegExp.$3)-1] + RegExp.$4;
+ }
+
// e.g. 17.11.1860, 03/04/2005 or 1999-12-31. Use locale settings where DMY order is ambiguous.
var qsearch = /^([^\d]*)(\d+)[^\d](\d+)[^\d](\d+)$/i;
if (qsearch.exec(datestr)) {
var f0=RegExp.$1;
- var f1=parseInt(RegExp.$2, 10);
- var f2=parseInt(RegExp.$3, 10);
- var f3=parseInt(RegExp.$4, 10);
+ var f1=parseInt(RegExp.$2);
+ var f2=parseInt(RegExp.$3);
+ var f3=parseInt(RegExp.$4);
var f4=RegExp.$5;
var dmy='DMY';
if (typeof(locale_date_format)!='undefined')