123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- function PRMT_DateHelper( oForm, oEditBox, sRef, sDefaultDate, iType, sInputOrder, iStartOfWeek, iDateTimeType,
- sFirstDate, sLastDate, bRequired)
- {
- this.m_oForm = oForm;
- this.m_oEditBox = oEditBox;
- this.m_sRef = sRef;
-
- this.m_sInputOrder = g_dateOrder;
-
- if (sDefaultDate)
- {
-
- var sTestDate = sDefaultDate.split("T");
-
- this.m_dDate = dParseDate(sTestDate[0], "YMD");
- if ((this.m_dDate === false) || (!this.m_dDate))
- {
- this.m_dDate = new Date();
- }
- }
- else
- {
- this.m_dDate = new Date();
- }
-
- this.m_iStartOfWeek = g_startDayOfWeek;
-
- this.m_iType = iType;
-
-
-
- this.m_iDateTimeType = iDateTimeType;
-
- if (sFirstDate)
- {
- this.m_dFirstDate = dParseDate(sFirstDate,"YMD");
- if (this.m_dFirstDate > this.m_dDate)
- {
-
-
- this.m_dDate = this.m_dFirstDate;
- }
- }
-
- if (sLastDate)
- {
- this.m_dLastDate = dParseDate(sLastDate,"YMD");
- if (this.m_dLastDate < this.m_dDate)
- {
-
-
- this.m_dDate = this.m_dLastDate;
- }
- }
-
- this.m_bRequired = bRequired;
- this.m_bDisabled = false;
-
- this.m_bValid = false;
-
- };
- PRMT_DateHelper.prototype.getCurrentDate = function() { return this.m_dDate; };
- PRMT_DateHelper.prototype.f_checkDate = function(dateValue)
- {
- var bTestResult = true;
-
- var sTestDateStrip = sStripNonAlphanumerics(dateValue).f_trim();
-
- if (this.m_iDateTimeType === 0) {
- var rSplit = /[T]/;
- var arSplitValue = sTestDateStrip.split(rSplit);
- sTestDateStrip = arSplitValue[0];
- }
- var dTestDate = null;
-
- if ( !( this.m_bRequired === false && sTestDateStrip === K_PRMT_sEMPTY) ) {
- var iTestDate = false;
-
- var tempInputOrder = "YMD";
-
- if (this.m_iType === 1) {
- iTestDate = dParseEra(sTestDateStrip, tempInputOrder);
- } else {
- iTestDate = dParseDate(sTestDateStrip,tempInputOrder);
- }
-
- if (!iTestDate) {
- bTestResult = false;
- }
-
-
- if ( bTestResult ) {
- dTestDate = iTestDate;
-
-
-
-
- if ( (this.m_dFirstDate && (dTestDate < this.m_dFirstDate)) ||
- (this.m_dLastDate && (dTestDate > this.m_dLastDate)) ) {
- bTestResult = false;
- }
- }
- }
-
- this.m_dDate = dTestDate;
- this.m_bValid = bTestResult;
- return bTestResult;
- };
- PRMT_DateHelper.prototype.f_formatDateYMD = function(dateValue)
- {
- var result = null;
- if (dateValue) {
- var nMonth = dateValue.getMonth() + 1;
- var sMonth = (nMonth > 9 ? String(nMonth) : "0" + nMonth);
- var nDay = dateValue.getDate();
- var sDay = (nDay > 9 ? String(nDay) : "0" + nDay);
- result = dateValue.getFullYear() + "-" + sMonth + "-" + sDay;
- }
- return result;
- }
- PRMT_DateHelper.prototype.f_formatDateCurrentLocale = function(dateObj)
- {
- return getFormatDate (dateObj, this.m_iType, this.m_sInputOrder);
- }
- PRMT_DateHelper.prototype.f_formatSubmitDate = function(dNewDate)
- {
- var result;
-
- if (dNewDate) {
-
-
-
- var sNewYear = dNewDate.getFullYear();
-
- sNewYear = "0000" + sNewYear;
- sNewYear = sNewYear.substring(sNewYear.length-4, sNewYear.length);
- var sNewMonth = (parseInt(dNewDate.getMonth(), 10) + 1).toString();
-
- if (sNewMonth.length == 1) {
- sNewMonth = "0" + sNewMonth;
- }
- var sNewDay = (dNewDate.getDate()).toString();
-
- if (sNewDay.length == 1) {
- sNewDay = "0" + sNewDay;
- }
- var sNewValue = sNewYear + "-" + sNewMonth + "-" + sNewDay;
-
-
- if (this.m_iDateTimeType === 0) {
- sNewValue += "T00:00:00.000";
- }
- result = sNewValue;
- } else {
-
- result = K_PRMT_sEMPTY;
- }
- return result;
- }
|