framework.widget.calendar={init:function(s,d,l,g,m,i,e,c,a){if(!framework.util.isType(s,framework.DataType.STRING)||!framework.util.isType(d,framework.DataType.ARRAY)||!framework.util.isType(l,framework.DataType.STRING)||!framework.util.isType(g,framework.DataType.STRING)||!framework.util.isType(m,framework.DataType.NUMBER)||!framework.util.isType(i,framework.DataType.BOOLEAN)||!framework.util.isType(e,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(s)||framework.util.isEmpty(d)||framework.util.isEmpty(l)||framework.util.isEmpty(g)||!framework.util.isType(m,framework.DataType.FINITE)||(!framework.util.isUndefinedOrNull(c)&&!framework.util.isType(c,framework.DataType.FUNCTION))||(!framework.util.isUndefinedOrNull(a)&&!framework.util.isType(a,framework.DataType.FUNCTION))){return framework.Status.INVALID_ARGUMENT_VALUE;
}var j=document.getElementById(s);framework.widget.calendar._getCalendarAttributes(j);framework.widget.calendar._buildDIVs(j);j._isPopupWindowVisible=false;var f=framework.widget.calendar._closePopupWindow(s);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._icon",framework.EventType.CLICK,framework.widget.calendar._iconOnClickEventHandler);
if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._text",framework.EventType.BLUR,framework.widget.calendar._textOnBlurEventHandler);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._text",framework.EventType.FOCUS,framework.widget.calendar._textOnClickEventHandler);
if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._body",framework.EventType.CLICK,framework.widget.calendar._dateOnClickEventHandler);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._body",framework.EventType.MOUSEOVER,framework.widget.calendar._dateOnMouseOverEventHandler);
if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._body",framework.EventType.MOUSEOUT,framework.widget.calendar._dateOnMouseOutEventHandler);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._window",framework.EventType.MOUSEOUT,framework.widget.calendar._windowOnMouseOutEventHandler);
if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._nextMonth",framework.EventType.CLICK,framework.widget.calendar._nextOnClickEventHandler);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._previousMonth",framework.EventType.CLICK,framework.widget.calendar._previousOnClickEventHandler);
if(f!=framework.Status.SUCCESS){return f;}if(j._showYearButtons){f=framework.eventmodel.addElementEvent(s+"._nextYear",framework.EventType.CLICK,framework.widget.calendar._nextYearOnClickEventHandler);if(f!=framework.Status.SUCCESS){return f;}f=framework.eventmodel.addElementEvent(s+"._previousYear",framework.EventType.CLICK,framework.widget.calendar._previousYearOnClickEventHandler);
if(f!=framework.Status.SUCCESS){return f;}}var q=framework.widget.calendar._localizedDayOfWeekNames;var k=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.SUNDAY,m);if(framework.util.isUndefinedOrNull(k)){return framework.Status.INVALID_ARGUMENT_VALUE;}var b=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.MONDAY,m);
if(framework.util.isUndefinedOrNull(b)){return framework.Status.INVALID_ARGUMENT_VALUE;}var r=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.TUESDAY,m);if(framework.util.isUndefinedOrNull(r)){return framework.Status.INVALID_ARGUMENT_VALUE;}var h=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.WEDNESDAY,m);
if(framework.util.isUndefinedOrNull(h)){return framework.Status.INVALID_ARGUMENT_VALUE;}var o=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.THURSDAY,m);if(framework.util.isUndefinedOrNull(o)){return framework.Status.INVALID_ARGUMENT_VALUE;}var n=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.FRIDAY,m);
if(framework.util.isUndefinedOrNull(n)){return framework.Status.INVALID_ARGUMENT_VALUE;}var p=framework.widget.calendar._calculateAppropriateDay(framework.WidgetConstants.SATURDAY,m);if(framework.util.isUndefinedOrNull(p)){return framework.Status.INVALID_ARGUMENT_VALUE;}f=framework.util.setInnerHTML((s+"._daysoftheweek1"),q[k].toString());
if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek2"),q[b].toString());if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek3"),q[r].toString());if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek4"),q[h].toString());
if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek5"),q[o].toString());if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek6"),q[n].toString());if(f!=framework.Status.SUCCESS){return f;}f=framework.util.setInnerHTML((s+"._daysoftheweek7"),q[p].toString());
if(f!=framework.Status.SUCCESS){return f;}j=document.getElementById(s);if(framework.util.isUndefinedOrNull(j)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}j._allowableDates=d;j._dateFormat=l;j._headerTextFormat=g;j._dateChangeHandler=e;j._currentCalendarDateOnWidget=null;j._startingDate=m;j._insideWindow=false;
j._range=i;if(framework.util.isUndefinedOrNull(c)){j._beforeOpenHandler=null;}else{j._beforeOpenHandler=c;}if(framework.util.isUndefinedOrNull(a)){j._afterCloseHandler=null;}else{j._afterCloseHandler=a;}return framework.Status.SUCCESS;},setSelectableDates:function(c,b,a){if(!framework.util.isType(c,framework.DataType.STRING)||!framework.util.isType(b,framework.DataType.ARRAY)||!framework.util.isType(a,framework.DataType.BOOLEAN)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(c)||framework.util.isEmpty(b)){return framework.Status.INVALID_ARGUMENT_VALUE;}var d=document.getElementById(c);if(framework.util.isUndefinedOrNull(d)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}d._allowableDates=b;d._range=a;return framework.Status.SUCCESS;},getSelectedDateObject:function(d){if(!framework.util.isType(d,framework.DataType.STRING)){return null;
}if(framework.util.isEmpty(d)){return null;}var f=document.getElementById(d+"._date");if(framework.util.isUndefinedOrNull(f)){return null;}var b=/\d\d\/\d\d\/\d\d\d\d/;if(b.test(f.value)){var e=f.value.slice(0,2);var a=f.value.slice(3,5);var c=f.value.slice(6,10);var g=new Date();g.setFullYear(c,e-1,a);
return g;}else{return null;}},setSelectedDateObject:function(d,b){if(!framework.util.isType(d,framework.DataType.STRING)||!framework.util.isType(b,framework.DataType.DATE)){return framework.Status.UNDEFINED_ARGUMENT;}if(framework.util.isEmpty(d)){return framework.Status.INVALID_ARGUMENT_VALUE;}var e=document.getElementById(d);
if(framework.util.isUndefinedOrNull(e)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(framework.widget.calendar._validateAllowableDate(b,d)){if(b!=framework.widget.calendar.getSelectedDateObject(d)){var c=document.getElementById(d+"._text");if(framework.util.isUndefinedOrNull(c)){return framework.Status.ELEMENT_DOES_NOT_EXIST;
}c.value=framework.widget.calendar.setDateFormat(e._dateFormat,b);var a=document.getElementById(d+"._date");if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}a.value=framework.widget.calendar.setDateFormat("%mm/%dd/%yyyy",b);if(framework.util.isUndefinedOrNull(a.value)){return framework.Status.INVALID_ARGUMENT_VALUE;
}}else{return framework.Status.INVALID_ARGUMENT_VALUE;}}else{return framework.Status.INVALID_DATE;}return framework.Status.SUCCESS;},setFirstAvailableDate:function(f,b){if(!framework.util.isType(f,framework.DataType.STRING)||!framework.util.isType(b,framework.DataType.DATE)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(f)){return framework.Status.INVALID_ARGUMENT_VALUE;}var g=document.getElementById(f);if(framework.util.isUndefinedOrNull(g)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}g._allowableDates.sort(framework.widget.calendar._sortDateArray);var c=new Date();if(framework.widget.calendar.beforeDate(b,g._allowableDates[0],true,true)){c=framework.util.clone(g._allowableDates[0]);
}if(framework.widget.calendar.beforeDate(b,g._allowableDates[g._allowableDates.length-1],true,true)){if(g._range){c=framework.util.clone(b);}else{for(var d=0;d<g._allowableDates.length;d+=1){if((g._allowableDates[d].getFullYear()==b.getFullYear())&&(g._allowableDates[d].getMonth()==b.getMonth())&&(g._allowableDates[d].getDate()==b.getDate())){c=framework.util.clone(b);
break;}else{if(framework.widget.calendar.afterDate(g._allowableDates[d],b,true,false)){c=framework.util.clone(g._allowableDates[d]);break;}}}}}else{return framework.Status.INVALID_DATE;}if(c!=framework.widget.calendar.getSelectedDateObject(f)){var e=document.getElementById(f+"._text");if(framework.util.isUndefinedOrNull(e)){return framework.Status.ELEMENT_DOES_NOT_EXIST;
}e.value=framework.widget.calendar.setDateFormat(g._dateFormat,c);var a=document.getElementById(f+"._date");if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}a.value=framework.widget.calendar.setDateFormat("%mm/%dd/%yyyy",c);if(framework.util.isUndefinedOrNull(a.value)){return framework.Status.INVALID_ARGUMENT_VALUE;
}}return framework.Status.SUCCESS;},resetSelectedDateObject:function(c){if(!framework.util.isType(c,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}if(framework.util.isEmpty(c)){return framework.Status.INVALID_ARGUMENT_VALUE;}var d=document.getElementById(c);if(framework.util.isUndefinedOrNull(d)){return framework.Status.ELEMENT_DOES_NOT_EXIST;
}var b=document.getElementById(c+"._text");if(framework.util.isUndefinedOrNull(b)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}b.value="";var a=document.getElementById(c+"._date");if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}a.value="";return framework.Status.SUCCESS;
},clearTime:function(a){if(!framework.util.isType(a,framework.DataType.DATE)){return null;}a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0);return a;},beforeDate:function(d,c,a,b){if(!framework.util.isType(d,framework.DataType.DATE)&&!framework.util.isType(c,framework.DataType.DATE)&&!framework.util.isType(b,framework.DataType.BOOLEAN)&&!framework.util.isType(a,framework.DataType.BOOLEAN)){return null;
}if(a){framework.widget.calendar.clearTime(d);framework.widget.calendar.clearTime(c);}if(b){return d.getTime()<=c;}else{return d.getTime()<c.getTime();}return null;},afterDate:function(d,c,a,b){if(!framework.util.isType(d,framework.DataType.DATE)&&!framework.util.isType(c,framework.DataType.DATE)&&!framework.util.isType(b,framework.DataType.BOOLEAN)&&!framework.util.isType(a,framework.DataType.BOOLEAN)){return null;
}if(a){framework.widget.calendar.clearTime(d);framework.widget.calendar.clearTime(c);}if(b){return d.getTime()>=c;}else{return d.getTime()>c.getTime();}return null;},setLocalizedMonthNames:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var b=framework.widget.calendar._splitArray(a);
if(b.length!=12&&!framework.util.isEmpty(b)){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._localizedMonthNames=b;},setLocalizedMonthNamesAbr:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var a=framework.widget.calendar._splitArray(b);
if(a.length!=12&&!framework.util.isEmpty(a)){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._localizedMonthNamesAbr=a;},setLocalizedDayOfWeekNames:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var b=framework.widget.calendar._splitArray(a);
if(b.length!=7&&!framework.util.isEmpty(b)){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._localizedDayOfWeekNames=b;},setLocalizedDayOfWeekNamesAbr:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var b=framework.widget.calendar._splitArray(a);
if(b.length!=7&&!framework.util.isEmpty(b)){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._localizedDayOfWeekNamesAbr=b;},setLocalizedAntePostMeridiem:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var a=framework.widget.calendar._splitArray(b);
if(a.length!=2&&!framework.util.isEmpty(a)){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._localizedAntePostMeridiem=a;},setLocalizedHourSuffix:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}framework.widget.calendar._localizedHourSuffix=a;
},setLocalizedMinuteSuffix:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}framework.widget.calendar._localizedMinuteSuffix=a;},setMilitaryTime:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}if(!framework.util.isEmpty(a)&&a!="false"&&a!="true"){return framework.Status.INVALID_ARGUMENT_VALUE;}framework.widget.calendar._MilitaryTime=new Boolean(a);},setLocalizedYearSuffix:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}framework.widget.calendar._localizedYearSuffix=a;
},setLocalizedDaySuffix:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}framework.widget.calendar._localizedDaySuffix=a;},setDateFormat:function(a,f){if(!framework.util.isType(a,framework.DataType.STRING)||!framework.util.isType(f,framework.DataType.DATE)){return null;
}if(framework.util.isEmpty(a,framework.DataType.STRING)){return null;}a=a.replace("%sm",framework.widget.calendar._localizedMonthNames[f.getMonth()]);a=a.replace("%sn",framework.widget.calendar._localizedMonthNamesAbr[f.getMonth()]);a=a.replace("%sy",framework.widget.calendar._localizedYearSuffix);a=a.replace("%sd",framework.widget.calendar._localizedDaySuffix);
a=a.replace("%sw",framework.widget.calendar._localizedDayOfWeekNames[f.getDay()]);a=a.replace("%so",framework.widget.calendar._localizedDayOfWeekNamesAbr[f.getDay()]);var d;if(f.getHours()<12){d=0;}else{d=1;}a=a.replace("%sa",framework.widget.calendar._localizedAntePostMeridiem[d]);a=a.replace("%si",framework.widget.calendar._localizedMinuteSuffix);
a=a.replace("%sh",framework.widget.calendar._localizedHourSuffix);var b;if(f.getMinutes()<10){b="0"+(f.getMinutes());}else{b=(f.getMinutes());}a=a.replace("%ii",b);a=a.replace("%i",f.getMinutes());var g;if(framework.widget.calendar._MilitaryTime){if(f.getHours()<10){g="0"+(f.getHours());}else{g=(f.getHours());
}}else{if(f.getHours()===0){g=12;}if(f.getHours()>12){g=f.getHours()-12;}else{g=f.getHours();}if(f.getHours()<10){g="0"+g;}else{g=(f.getHours());}}a=a.replace("%hh",g);a=a.replace("%h",f.getHours());var e;if(f.getMonth()+1<10){e="0"+(f.getMonth()+1);}else{e=(f.getMonth()+1);}a=a.replace("%mm",e);a=a.replace("%m",f.getMonth()+1);
var c;if(f.getDate()<10){c="0"+f.getDate();}else{c=f.getDate();}a=a.replace("%dd",c);a=a.replace("%d",f.getDate());a=a.replace("%yyyy",f.getFullYear());a=a.replace("%yy",f.getFullYear().toString().slice(2,4));return a.toString();},isPopupWindowVisible:function(a){if(framework.util.isUndefinedOrNull(a)){return null;
}if(!framework.util.isType(a,framework.DataType.STRING)){return null;}var b=document.getElementById(a);if(framework.util.isUndefinedOrNull(b)){return null;}return b._isPopupWindowVisible;},closePopupWindow:function(a){var c=framework.widget.calendar._closePopupWindow(a);if(c==framework.Status.SUCCESS){var b=document.getElementById(a);
if(!framework.util.isUndefinedOrNull(b)){if(!framework.util.isUndefinedOrNull(b._afterCloseHandler)){b._afterCloseHandler(b._position,a);}}}return c;},_closePopupWindow:function(a){if(framework.util.isUndefinedOrNull(a)){return framework.Status.INVALID_ARGUMENT_VALUE;}if(!framework.util.isType(a,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}var c=framework.widget.calendar.isPopupWindowVisible(a);if(framework.util.isUndefinedOrNull(c)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(c===true){var b=document.getElementById(a);c=framework.util.showSelects(a);if(c!=framework.Status.SUCCESS){return c;}framework.util.hideElement(a+"._window");
b._isPopupWindowVisible=false;}return framework.Status.SUCCESS;},_windowOnMouseOutEventHandler:function(c){var b=framework.widget.calendar._sliceOutMainId(this.id);var d=document.getElementById(b);if(framework.util.mouseInsideElement(b+"._window",c)){d._insideWindow=true;}else{d._insideWindow=false;var a=document.getElementById(b+"._text");
if(!framework.util.isUndefinedOrNull(a)){d._blurred=false;a.blur();}if(d._blurred===false){return framework.widget.calendar.closePopupWindow(b);}}return framework.Status.SUCCESS;},_textOnBlurEventHandler:function(b){var a=framework.widget.calendar._sliceOutMainId(this.id);var d=document.getElementById(a);
if(!d._insideWindow){var c=framework.widget.calendar.closePopupWindow(a);if(c!=framework.Status.SUCCESS){return c;}}d._blurred=true;return framework.Status.SUCCESS;},_iconOnClickEventHandler:function(c){c.stopPropagation();var b=framework.widget.calendar._sliceOutMainId(this.id);var a=document.getElementById(b+"._text");
if(!framework.util.isUndefinedOrNull(a)){a.focus();}},_textOnClickEventHandler:function(b){var a=framework.widget.calendar._sliceOutMainId(this.id);var c=document.getElementById(a);framework.widget.calendar._showCalendar(a);if(!framework.util.isUndefinedOrNull(c._beforeOpenHandler)){c._beforeOpenHandler(c._position,a);
}b.stopPropagation();},_dateOnClickEventHandler:function(event){var eventTarget=framework.eventmodel.getEventTarget(event);if(!framework.util.isEmpty(eventTarget.innerHTML)&&eventTarget.calendarDateEnabled===true){var calendarId=framework.widget.calendar._sliceOutMainId(this.id);var calendar=document.getElementById(calendarId);
var retVal=framework.widget.calendar._closePopupWindow(calendarId);if(retVal!=framework.Status.SUCCESS){return retVal;}var currentCalendarDateOnWidgetClone=framework.util.clone(calendar._currentCalendarDateOnWidget);currentCalendarDateOnWidgetClone.setDate(eventTarget.innerHTML);framework.widget.calendar.setSelectedDateObject(calendarId,currentCalendarDateOnWidgetClone);
if(!framework.util.isUndefinedOrNull(calendar._dateChangeHandler)){var dateChangeHandler=calendar._dateChangeHandler+"('"+calendarId+"')";eval(dateChangeHandler);}if(!framework.util.isUndefinedOrNull(calendar._afterCloseHandler)){calendar._afterCloseHandler(calendar._position,calendarId);}}event.stopPropagation();
return framework.Status.SUCCESS;},_nextOnClickEventHandler:function(b){if(this.enabled===true){var a=framework.widget.calendar._sliceOutMainId(this.id);var d=document.getElementById(a);var c=framework.util.clone(d._currentCalendarDateOnWidget);c.setMonth(c.getMonth()+1);framework.util.showElement(a+"._week6");
framework.widget.calendar._showMonth(a,c.getMonth(),c.getFullYear());}b.stopPropagation();},_previousOnClickEventHandler:function(c){if(this.enabled===true){var b=framework.widget.calendar._sliceOutMainId(this.id);var d=document.getElementById(b);var a=framework.util.clone(d._currentCalendarDateOnWidget);
a=new Date(a.setMonth(a.getMonth()-1));framework.util.showElement(b+"._week6");framework.widget.calendar._showMonth(b,a.getMonth(),a.getFullYear());}c.stopPropagation();},_nextYearOnClickEventHandler:function(b){if(this.enabled===true){var a=framework.widget.calendar._sliceOutMainId(this.id);var d=document.getElementById(a);
var c=framework.util.clone(d._currentCalendarDateOnWidget);c.setFullYear(c.getFullYear()+1);framework.util.showElement(a+"._week6");framework.widget.calendar._showMonth(a,c.getMonth(),c.getFullYear());}b.stopPropagation();},_previousYearOnClickEventHandler:function(c){if(this.enabled===true){var b=framework.widget.calendar._sliceOutMainId(this.id);
var d=document.getElementById(b);var a=framework.util.clone(d._currentCalendarDateOnWidget);a.setFullYear(a.getFullYear()-1);framework.util.showElement(b+"._week6");framework.widget.calendar._showMonth(b,a.getMonth(),a.getFullYear());}c.stopPropagation();},_dateOnMouseOverEventHandler:function(a){var b=framework.eventmodel.getEventTarget(a);
if(!framework.util.isEmpty(b.innerHTML)&&b.calendarDateEnabled===true){framework.util.setClassName(b.id,"mouseOverDateStyle");}},_dateOnMouseOutEventHandler:function(e){var g=framework.eventmodel.getEventTarget(e);if(g.innerHTML!==""&&g.calendarDateEnabled===true){var d=framework.widget.calendar._sliceOutMainId(g.id);
var f=document.getElementById(d);var c=framework.util.clone(f._currentCalendarDateOnWidget);c.setDate(g.innerHTML);c=framework.widget.calendar.clearTime(c);var b=framework.widget.calendar.getSelectedDateObject(d);var a=null;if(!framework.util.isUndefinedOrNull(b)){a=framework.util.clone(b);a=framework.widget.calendar.clearTime(a);
}if(!framework.util.isUndefinedOrNull(a)&&a.getTime()==c.getTime()){framework.util.setClassName(g.id,"selectedDateStyle");}else{framework.util.setClassName(g.id,"enabledDateStyle");}}},_validateAllowableDate:function(c,b){if(!framework.util.isType(c,framework.DataType.DATE)||!framework.util.isType(b,framework.DataType.STRING)){return null;
}if(framework.util.isEmpty(b)){return null;}var f=document.getElementById(b);if(framework.util.isUndefinedOrNull(f)){return null;}if(f._range===false){for(var a=0;a<f._allowableDates.length;a+=1){if((f._allowableDates[a].getFullYear()==c.getFullYear())&&(f._allowableDates[a].getMonth()==c.getMonth())&&(f._allowableDates[a].getDate()==c.getDate())){return true;
}}}else{var e=framework.util.clone(f._allowableDates[0]);var d=framework.util.clone(f._allowableDates[1]);if(framework.widget.calendar.beforeDate(e,c,true,true)&&framework.widget.calendar.afterDate(d,c,true,true)){return true;}}return false;},_sliceOutMainId:function(a){if(!framework.util.isType(a,framework.DataType.STRING)){return null;
}if(framework.util.isEmpty(a)){return null;}return a.substring(0,a.lastIndexOf("."));},_calculateAppropriateDay:function(c,b){if(!framework.util.isType(c,framework.DataType.NUMBER)||!framework.util.isType(b,framework.DataType.NUMBER)){return null;}var a=c+b;if(a<0){a=a+7;}if(a>6){a=a-7;}return a;},_showCalendar:function(d){if(!framework.util.isType(d,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(d)){return framework.Status.INVALID_ARGUMENT_VALUE;}var c;var b=framework.widget.calendar.getSelectedDateObject(d);var a=new Date();var e=document.getElementById(d);if(framework.util.isUndefinedOrNull(e)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(framework.util.isUndefinedOrNull(b)&&(framework.widget.calendar._validateAllowableDate(a,d))){b=a;
}else{if(framework.util.isUndefinedOrNull(b)&&(!framework.widget.calendar._validateAllowableDate(a,d))){e._allowableDates.sort(framework.widget.calendar._sortDateArray);b=e._allowableDates[0];}}c=framework.util.showElement(d+"._week6");if(c!=framework.Status.SUCCESS){return c;}c=framework.widget.calendar._showMonth(d,b.getMonth(),b.getFullYear());
if(c!=framework.Status.SUCCESS){return c;}c=framework.widget.calendar._calculatePosition(d);if(c!=framework.Status.SUCCESS){return c;}c=framework.util.showElement(d+"._window");if(c!=framework.Status.SUCCESS){return c;}e._isPopupWindowVisible=true;return framework.Status.SUCCESS;},_sortDateArray:function(b,a){return b.getTime()-a.getTime();
},_getCalendarAttributes:function(a){if(a.getAttribute("includeYearButtons")=="true"){a._showYearButtons=true;}else{a._showYearButtons=false;}return framework.Status.SUCCESS;},_showMonth:function(D,B,m){if(!framework.util.isType(D,framework.DataType.STRING)||!framework.util.isType(B,framework.DataType.NUMBER)||!framework.util.isType(m,framework.DataType.NUMBER)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(D)||!framework.util.isType(B,framework.DataType.FINITE)||!framework.util.isType(m,framework.DataType.FINITE)){return framework.Status.INVALID_ARGUMENT_VALUE;}var y=new Date();y.setDate(1);y.setMonth(B);y.setFullYear(m);y=framework.widget.calendar.clearTime(y);if(framework.util.isUndefinedOrNull(y)){return framework.Status.INVALID_ARGUMENT_VALUE;
}var p=document.getElementById(D);if(framework.util.isUndefinedOrNull(p)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}p._currentCalendarDateOnWidget=y;var k=framework.util.setInnerHTML(D+"._title",framework.widget.calendar.setDateFormat(p._headerTextFormat,y));if(k!=framework.Status.SUCCESS){return k;
}var q;if(((m%4===0)&&(m%100!==0))||(m%400===0)){q=29;}else{q=28;}var c=[31,q,31,30,31,30,31,31,30,31,30,31];var o=y.getDay();o=o-p._startingDate;if(o<0){o=o+7;}if(o>6){o=o-7;}var e=[document.getElementById(D+"._week1day1"),document.getElementById(D+"._week1day2"),document.getElementById(D+"._week1day3"),document.getElementById(D+"._week1day4"),document.getElementById(D+"._week1day5"),document.getElementById(D+"._week1day6"),document.getElementById(D+"._week1day7"),document.getElementById(D+"._week2day1"),document.getElementById(D+"._week2day2"),document.getElementById(D+"._week2day3"),document.getElementById(D+"._week2day4"),document.getElementById(D+"._week2day5"),document.getElementById(D+"._week2day6"),document.getElementById(D+"._week2day7"),document.getElementById(D+"._week3day1"),document.getElementById(D+"._week3day2"),document.getElementById(D+"._week3day3"),document.getElementById(D+"._week3day4"),document.getElementById(D+"._week3day5"),document.getElementById(D+"._week3day6"),document.getElementById(D+"._week3day7"),document.getElementById(D+"._week4day1"),document.getElementById(D+"._week4day2"),document.getElementById(D+"._week4day3"),document.getElementById(D+"._week4day4"),document.getElementById(D+"._week4day5"),document.getElementById(D+"._week4day6"),document.getElementById(D+"._week4day7"),document.getElementById(D+"._week5day1"),document.getElementById(D+"._week5day2"),document.getElementById(D+"._week5day3"),document.getElementById(D+"._week5day4"),document.getElementById(D+"._week5day5"),document.getElementById(D+"._week5day6"),document.getElementById(D+"._week5day7"),document.getElementById(D+"._week6day1"),document.getElementById(D+"._week6day2"),document.getElementById(D+"._week6day3"),document.getElementById(D+"._week6day4"),document.getElementById(D+"._week6day5"),document.getElementById(D+"._week6day6"),document.getElementById(D+"._week6day7")];
var u=document.getElementById(D+"._previousMonth");if(framework.util.isUndefinedOrNull(u)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}var j=document.getElementById(D+"._nextMonth");if(framework.util.isUndefinedOrNull(j)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(p._showYearButtons){var v=document.getElementById(D+"._previousYear");
if(framework.util.isUndefinedOrNull(v)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}var C=document.getElementById(D+"._nextYear");if(framework.util.isUndefinedOrNull(C)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}}k=framework.util.setClassName((D+"._previousMonth"),"calendarDisablePreviousMonthButton");
if(k!=framework.Status.SUCCESS){return k;}k=framework.util.setClassName((D+"._nextMonth"),"calendarDisableNextMonthButton");if(k!=framework.Status.SUCCESS){return k;}if(p._showYearButtons){k=framework.util.setClassName((D+"._previousYear"),"calendarDisablePreviousYearButton");if(k!=framework.Status.SUCCESS){return k;
}k=framework.util.setClassName((D+"._nextYear"),"calendarDisableNextYearButton");if(k!=framework.Status.SUCCESS){return k;}v.enabled=false;C.enabled=false;}u.enabled=false;j.enabled=false;var b=[];if(p._range===false){for(var g=0;g<p._allowableDates.length;g+=1){var s=framework.widget.calendar.clearTime(p._allowableDates[g]);
if(framework.util.isUndefinedOrNull(s)){return framework.Status.INVALID_ARGUMENT_VALUE;}if(y.getFullYear()==s.getFullYear()&&y.getMonth()==s.getMonth()){b.push(p._allowableDates[g].getDate());}else{if(y.getTime()>s.getTime()){u.enabled=true;k=framework.util.setClassName((D+"._previousMonth"),"calendarEnablePreviousMonthButton");
if(k!=framework.Status.SUCCESS){return k;}}if(y.getTime()<s.getTime()){j.enabled=true;k=framework.util.setClassName((D+"._nextMonth"),"calendarEnableNextMonthButton");if(k!=framework.Status.SUCCESS){return k;}}if(p._showYearButtons){if(y.getFullYear()>s.getFullYear()){v.enabled=true;k=framework.util.setClassName((D+"._previousYear"),"calendarEnablePreviousYearButton");
if(k!=framework.Status.SUCCESS){return k;}}if(y.getFullYear()<s.getFullYear()){C.enabled=true;k=framework.util.setClassName((D+"._nextYear"),"calendarEnableNextYearButton");if(k!=framework.Status.SUCCESS){return k;}}}}}}else{var A=1;var x=31;if(y.getFullYear()==p._allowableDates[0].getFullYear()&&y.getMonth()==p._allowableDates[0].getMonth()){A=p._allowableDates[0].getDate();
}if(y.getFullYear()==p._allowableDates[1].getFullYear()&&y.getMonth()==p._allowableDates[1].getMonth()){x=p._allowableDates[1].getDate();}var n=c[y.getMonth()]<x?c[y.getMonth()]:x;for(var f=A;f<=n;f+=1){b.push(f);}var t=framework.util.clone(y);t.setDate(1);t.setDate(t.getDate()-1);var h=framework.util.clone(y);
h.setDate(c[h.getMonth()]);h.setDate(h.getDate()+1);if(framework.widget.calendar.beforeDate(p._allowableDates[0],t,true,true)){u.enabled=true;k=framework.util.setClassName((D+"._previousMonth"),"calendarEnablePreviousMonthButton");if(k!=framework.Status.SUCCESS){return k;}}if(framework.widget.calendar.beforeDate(h,p._allowableDates[1],true,true)){j.enabled=true;
k=framework.util.setClassName((D+"._nextMonth"),"calendarEnableNextMonthButton");if(k!=framework.Status.SUCCESS){return k;}}if(p._showYearButtons){var a=framework.util.clone(y);a.setDate(1);a.setFullYear(a.getFullYear()-1);if(a.getFullYear()==p._allowableDates[0].getFullYear()&&a.getMonth()==p._allowableDates[0].getMonth()){a.setDate(p._allowableDates[0].getDate());
}if(framework.widget.calendar.beforeDate(p._allowableDates[0],a,true,true)){v.enabled=true;k=framework.util.setClassName((D+"._previousYear"),"calendarEnablePreviousYearButton");if(k!=framework.Status.SUCCESS){return k;}}var z=framework.util.clone(y);z.setDate(1);z.setFullYear(z.getFullYear()+1);if(framework.widget.calendar.beforeDate(z,p._allowableDates[1],true,true)){C.enabled=true;
k=framework.util.setClassName((D+"._nextYear"),"calendarEnableNextYearButton");if(k!=framework.Status.SUCCESS){return k;}}}}var w=1;for(g=0;g<o;g+=1){k=framework.util.setInnerHTML(e[g].id," ");if(k!=framework.Status.SUCCESS){return k;}e[g].calendarDateEnabled=false;k=framework.util.setClassName(e[g].id,"disabledDateStyle");
if(k!=framework.Status.SUCCESS){return k;}}for(var d=o;d<(c[B]+o);d+=1){k=framework.util.setInnerHTML(e[d].id,w.toString());if(k!=framework.Status.SUCCESS){return k;}var i=","+b.toString()+",";if(i.indexOf(","+w+",")>-1){k=framework.util.setClassName(e[d].id,"enabledDateStyle");if(k!=framework.Status.SUCCESS){return k;
}e[d].calendarDateEnabled=true;}else{k=framework.util.setClassName(e[d].id,"disabledDateStyle");if(k!=framework.Status.SUCCESS){return k;}e[d].calendarDateEnabled=false;}var r=framework.widget.calendar.getSelectedDateObject(D);if((!framework.util.isUndefinedOrNull(r))&&(r.getFullYear()==m)&&(r.getMonth()==B)&&(r.getDate()==w)){if(i.indexOf(r.getDate()+",")>-1){e[d].calendarDateEnabled=true;
k=framework.util.setClassName(e[d].id,"selectedDateStyle");if(k!=framework.Status.SUCCESS){return k;}}else{}}w+=1;}for(var l=c[B]+o;l<42;l+=1){k=framework.util.setInnerHTML(e[l].id,"");if(k!=framework.Status.SUCCESS){return k;}e[l].calendarDateEnabled=false;k=framework.util.setClassName(e[l].id,"disabledDateStyle");
if(k!=framework.Status.SUCCESS){return k;}}if((42-(c[B]+o))>=7){k=framework.util.hideElement(D+"._week6");if(k!=framework.Status.SUCCESS){return k;}}return framework.Status.SUCCESS;},_splitArray:function(d){if(!framework.util.isType(d,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(d)){return framework.Status.INVALID_ARGUMENT_VALUE;}var a=framework.widget.calendar._allowedComma;var b=",";for(var c=0;c<a.length;c+=1){if(d.indexOf(a[c])>-1){b=a[c];break;}}return d.split(b);},_calculatePosition:function(i){if(!framework.util.isType(i,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;
}if(framework.util.isEmpty(i)){return framework.Status.INVALID_ARGUMENT_VALUE;}var d=document.getElementById(i);var g=document.getElementById(i+"._window");var a=document.getElementById(i+"._text");var j=framework.util.getElementPosition(i+"._text");if(framework.util.isUndefinedOrNull(j)){return framework.Status.INVALID_ARGUMENT_VALUE;
}var f=j[1];var c=j[0];var h=f+a.offsetHeight+framework.WidgetConstants.CALENDAR_MAX_HEIGHT;var b;if(framework.util.isUndefinedOrNull(window.pageYOffset)){b=document.documentElement.scrollTop+document.documentElement.clientHeight;}else{b=window.pageYOffset+self.innerHeight;}var e;if(h<b){f=f+a.offsetHeight;
e=framework.WidgetConstants.POSITION_BELOW;d._position=framework.WidgetConstants.POSITION_BELOW;}else{f=j[1]-framework.WidgetConstants.CALENDAR_MAX_HEIGHT;e=framework.WidgetConstants.POSITION_ABOVE;d._position=framework.WidgetConstants.POSITION_ABOVE;}g.style.top=f+"px";g.style.left=c+"px";if(framework.util.isInternetExplorer()&&!framework.util.isIE7()){statusCode=framework.widget.calendar._hideDropDowns(i,e);
if(statusCode!=framework.Status.SUCCESS){return statusCode;}}return framework.Status.SUCCESS;},_hideDropDowns:function(f,a){if(!framework.util.isType(f,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}if(framework.util.isEmpty(f)){return framework.Status.INVALID_ARGUMENT_VALUE;
}var g=document.getElementById(f+"._window");var c=parseInt(g.style.top);if(framework.util.isType(c,framework.DataType.NAN)){return framework.Status.UNDEFINED_ARGUMENT;}var b=0;if(a==framework.WidgetConstants.POSITION_ABOVE){var h=framework.util.getElementPosition(f+"._text");b=h[1];}else{b=c+framework.WidgetConstants.CALENDAR_MAX_HEIGHT;
}var d=parseInt(g.style.left);if(framework.util.isType(d,framework.DataType.NAN)){return framework.Status.UNDEFINED_ARGUMENT;}var e=[c,d+framework.WidgetConstants.CALENDAR_MAX_WIDTH,b,d];return framework.util.hideSelects(f,e);},_buildDIVs:function(e){var f=new Array(),g=e.id,a="",b="",d=0,c=0;f.push('<div id="'+g+'._window" class="calendarWindow">');
f.push('<div id="'+g+'._header" class="calendarHeader">');if(e._showYearButtons===true){f.push('<div id="'+g+'._previousYear" class="calendarDisablePreviousYearButton"></div>');f.push('<div id="'+g+'._previousMonth" class="calendarDisablePreviousMonthButton"></div>');f.push('<div id="'+g+'._title" class="calendarTitleWithYearButtons"></div>');
f.push('<div id="'+g+'._nextMonth" class="calendarDisableNextMonthButton"></div>');f.push('<div id="'+g+'._nextYear" class="calendarDisableNextYearButton"></div>');}else{f.push('<div id="'+g+'._previousMonth" class="calendarDisablePreviousMonthButton"></div>');f.push('<div id="'+g+'._title" class="calendarTitle"></div>');
f.push('<div id="'+g+'._nextMonth" class="calendarDisableNextMonthButton"></div>');}f.push("</div>");a='<div id="'+g+"._daysoftheweek";f.push(a+'" class="calendarDaysOfTheWeek">');for(d=1;d<=7;d+=1){f.push(a+d+'" class="calendarWeekDay"></div>');}f.push("</div>");f.push('<div id="'+g+'._body" class="calendarBody">');
a='<div id="'+g+"._week";for(d=1;d<=6;d+=1){f.push(a+d+'" class="calendarWeek">');b=a+d+"day";for(c=1;c<=7;c+=1){f.push(b+c+'" class="enabledDateStyle"></div>');}f.push("</div>");}f.push("</div></div>");e.innerHTML+=f.join("");},_localizedMonthNames:[],_localizedDaySuffix:"",_localizedYearSuffix:"",_localizedMinuteSuffix:"",_MilitaryTime:false,_localizedMonthNamesAbr:[],_localizedDayOfWeekNames:[],_localizedDayOfWeekNamesAbr:[],_localizedAntePostMeridiem:[],_localizedHourSuffix:"",_allowedComma:["\u002c","\uff0c","\u060c","\u201a","\u3001"],loaded:true};
