diff options
| author | Greg Roach <fisharebest@gmail.com> | 2013-09-07 07:34:59 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2013-09-07 07:34:59 +0100 |
| commit | 88974e64a9c4d53f9a092ce8f2bc1c5c0b754224 (patch) | |
| tree | 5d2d8b1a1a705d0e0b15b25a43a29a3d7704ffeb /js/webtrees-1.5.0.js | |
| parent | 7927a56bcc7c70c77a140da67ca98c2fd062839c (diff) | |
| download | webtrees-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.js | 23 |
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') |
