﻿var _dateChooser,keyCode={TAB:9,ESC:27,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};function callback(e,t,a){document.forms[0].year.value=e,document.forms[0].month.value=getMonthName(t+1),document.forms[0].day.value=a}function createClickFunction(e){return function f(t){for(var a,n=WP.Events.getThis(t);"TD"!==n.nodeName.toUpperCase();)n=n.parentNode;if("calnext"===(a=n.id||n.getAttribute("name")))return _dateChooser.drawNextMonth(),WP.Events.cancelEvent(t),WP.Events.preventDefault(t),!1;if("calprev"===a)return _dateChooser.drawPreviousMonth(),WP.Events.cancelEvent(t),WP.Events.preventDefault(t),!1;if("calcancel"!==a){var o=a.replace("cal",""),r=makeDate(_dateChooser.year,_dateChooser.month+1,o);return r.getMonth()!=_dateChooser.month?(_dateChooser.year=r.getFullYear(),_dateChooser.month=r.getMonth(),_dateChooser.date=r.getDate()):_dateChooser.date=o,$afe.select(".currentselected").removeClass("currentselected"),$afe.jq(n).addClass("currentselected"),e.call(_dateChooser,_dateChooser.year,_dateChooser.month,_dateChooser.date,_dateChooser.input),_dateChooser.clearCalendar(),WP.Events.cancelEvent(t),WP.Events.preventDefault(t),!1}_dateChooser.clearCalendar()}}function DateChooser(e,t,a,n,o){this.trigger=e,this.callback=t,this.input=o,this.filter=a||function(){return!0},n&&"function"==typeof n.getYear?this.today=n:"string"==typeof n?(this.today=new Date(n),isNaN(this.today)&&(this.today=new Date)):this.today=new Date,this.month=this.today.getMonth(),this.year=this.today.getFullYear(),this.date=this.today.getDate(),this.calendar=null,this.clickFunction=createClickFunction(t)}function isInCalendar(e){var t,a;for(a=e,t=0;a&&t<8;a=a.parentNode,t++)if(a&&a.id&&"calendar"===a.id.toLowerCase())return!0;return!1}function lo(e){for(var t=WP.Events.getThis(e);"TD"!==t.nodeName.toUpperCase();)t=t.parentNode;$afe.jq(t).removeClass("hi")}function hi(e,t){return function(a){var n=WP.Events.getThis(a);if(t)for(;"DIV"!==n.nodeName.toUpperCase();)n=n.parentNode;else for(;"TD"!==n.nodeName.toUpperCase();)n=n.parentNode;$afe.jq(n).addClass("hi"),$afe.jq(n).hasClass("ctrl")&&!e||!_dateChooser.focusOn||_dateChooser.focusOn===n.id||(document.getElementById(_dateChooser.focusOn)&&lo({target:document.getElementById(_dateChooser.focusOn),srcElement:document.getElementById(_dateChooser.focusOn)}),_dateChooser.focusOn=n.id)}}function restoreHi(e){var t,a=WP.Events.getThis(e);a&&"calendar"!==a.className&&!isInCalendar(a)&&(t="cal"+_dateChooser.date,_dateChooser.focusOn&&t!==_dateChooser.focusOn&&(_dateChooser.month===_dateChooser.today.getMonth()&&_dateChooser.year===_dateChooser.today.getFullYear()&&document.getElementById(t).firstChild.tagName?document.getElementById(t).firstChild.focus():((t=document.getElementById(_dateChooser.focusOn)).firstChild&&t.firstChild.blur(),lo({target:t,srcElement:t}))))}function _removeCalendar(e){var t=$afe.select("#calendar");t.length>0&&(WP.Events.removeListener(document.body,"click",removeCalendar),WP.Events.removeListener(document.body,"mouseover",restoreHi),accessibilityRestorePage(),t.remove(),_dateChooser=null)}function removeCalendar(e){var t=WP.Events.getThis(e);t&&"calendar"!==t.className&&!isInCalendar(t)&&_removeCalendar()}function removeCalendarExternal(){_removeCalendar()}function keyOnPrevMonth(e){var t;if(9===e.keyCode)return e.shiftKey?((t=document.getElementById("calcancel").firstChild)&&"BUTTON"===t.nodeName.toUpperCase()?t.focus():document.getElementById("cal"+_dateChooser.lastDate).firstChild.focus(),WP.Events.preventDefault(e)):void 0;13===e.keyCode&&(_dateChooser.wasEnter=!0)}function keyOnNextMonth(e){var t;if(9===e.keyCode)return!e.shiftKey||(t=document.getElementById("calprev").firstChild)&&"BUTTON"===t.nodeName.toUpperCase()?void 0:((t=document.getElementById("calcancel").firstChild)&&"BUTTON"===t.nodeName.toUpperCase()?t.focus():document.getElementById("cal"+_dateChooser.lastDate).firstChild.focus(),WP.Events.preventDefault(e));13===e.keyCode&&(_dateChooser.wasEnter=!0)}function tabOnCancel(e){var t;if(9===e.keyCode){if(e.shiftKey)return;return(t=document.getElementById("calprev").firstChild)&&"BUTTON"===t.nodeName.toUpperCase()||(t=document.getElementById("calnext").firstChild)&&"BUTTON"===t.nodeName.toUpperCase()?t.focus():document.getElementById("cal"+_dateChooser.firstDate).firstChild.focus(),WP.Events.preventDefault(e)}}function HandleKeyUp(e){e.keyCode==keyCode.ESC&&(e.stopPropagation(),e.preventDefault(),_dateChooser.clearCalendar())}function HandleKeyDown(e){for(var t=!1,a=document.activeElement;"TD"!==a.nodeName.toUpperCase();)a=a.parentNode;var n=a.id||a.getAttribute("name");if(a.className.indexOf("ctrl")<0){var o=n.replace("cal","");switch(e.keyCode){case keyCode.RIGHT:moveFocusByDay(o,1),t=!0;break;case keyCode.LEFT:moveFocusByDay(o,-1),t=!0;break;case keyCode.DOWN:moveFocusByDay(o,7),t=!0;break;case keyCode.UP:moveFocusByDay(o,-7),t=!0;break;case keyCode.PAGEDOWN:moveFocusByMonth(o,1),t=!0;break;case keyCode.PAGEUP:moveFocusByMonth(o,-1),t=!0;break;case keyCode.HOME:moveFocusToFirstDayOfWeek(o),t=!0;break;case keyCode.END:moveFocusToLastDayOfWeek(o),t=!0;break;case keyCode.ESC:t=!0}a=document.activeElement,null!==_dateChooser&&"0"==a.tabIndex&&(_dateChooser.focusOn=a.parentElement.id),t&&(e.stopPropagation(),e.preventDefault())}}function moveFocusToFirstDayOfWeek(e){var t=_dateChooser.year,a=_dateChooser.month,n=new Date(t,a,e).getDay()-getFirstDayOfWeek(),o=e-(n=n<0?n+7:n);document.getElementById("cal"+o).firstChild.focus()}function moveFocusToLastDayOfWeek(e){var t=_dateChooser.year,a=_dateChooser.month,n=new Date(t,a,e).getDay()-getFirstDayOfWeek();n=n<0?-1-n:6-n;var o=parseInt(e)+n;document.getElementById("cal"+o).firstChild.focus()}function moveFocusByDay(e,t){var a=_dateChooser.year,n=_dateChooser.month,o=parseInt(e)+t,r=new Date(a,n,o),s=r.getMonth(),d=r.getFullYear();t>0&&(s>n||d>a)?hasSelectableDay(s,d)?_dateChooser.drawNextMonth(r.getDate()):_dateChooser.isDateDisplayed(o)&&document.getElementById("cal"+o).firstChild.focus():t<0&&(s<n||d<a)?hasSelectableDay(s,d)?_dateChooser.drawPreviousMonth(r.getDate()):_dateChooser.isDateDisplayed(o)&&document.getElementById("cal"+o).firstChild.focus():document.getElementById("cal"+o).firstChild.focus()}function moveFocusByMonth(e,t){e=parseInt(e);var a=_dateChooser.year,n=_dateChooser.month,o=new Date(a,n,e).getDate();1==t&&e<=0||-1==t&&e>_dateChooser.lastDateOfMonth?(o=o>_dateChooser.lastDateOfMonth?_dateChooser.lastDateOfMonth:o,document.getElementById("cal"+o).firstChild.focus()):hasSelectableDay(n+t,a)?1==t?_dateChooser.drawNextMonth(o):-1==t&&_dateChooser.drawPreviousMonth(o):1==Math.abs(t)&&(o=1===t?o+new Date(a,n+1,0).getDate():o-new Date(a,n,0).getDate(),_dateChooser.isDateDisplayed(o)&&document.getElementById("cal"+o).firstChild.focus())}function buildNavHeaderObject(e,t){var a=WP.DOM.Create.tag,n=$$WP.Strings.get("PrevButtonTooltip","UI.Calendar"),o=$$WP.Strings.get("NextButtonTooltip","UI.Calendar"),r=$$WP.Strings.get("PrevButtonOverride","UI.Calendar"),s=$$WP.Strings.get("NextButtonOverride","UI.Calendar");""===r&&(r="&laquo;"),""===s&&(s="&raquo");var d,i,l=!hasSelectableDay(e,t),c=document.createElement("nav"),h=a("table","calendarheader",""),u=document.createElement("thead"),m=document.createElement("tr");return h.setAttribute("role","presentation"),hasSelectableDay(e-1,t)||l?(d=a("td","ctrl"+(hasSelectableDay(e-1,t)||l?"":"n"),"calprev",n),i=a("button","","","",r),d.appendChild(i),i.setAttribute("aria-label",n)):(d=a("td","ctrl"+(hasSelectableDay(e-1,t)||l?"":"n"),"calprev",$$WP.I18N.monthTitleFormat(makeDate(t,e)),""),(i=a("button","","","",r)).setAttribute("aria-disabled","true"),i.setAttribute("aria-label",n),i.style.cursor="default",d.appendChild(i)),m.appendChild(d),m.appendChild(a("th","hdr calmonth","monthlabel","",$$WP.I18N.monthTitleFormat(makeDate(t,e+1)))),m.lastChild.colSpan=5,hasSelectableDay(e+1,t)||l?(d=a("td","ctrl"+(hasSelectableDay(e+1,t)||l?"":"n"),"calnext",o),i=a("button","","","",s),d.appendChild(i),i.setAttribute("aria-label",o)):(d=a("td","ctrl"+(hasSelectableDay(e+1,t)||l?"":"n"),"calnext",$$WP.I18N.monthTitleFormat(makeDate(t,e+2)),""),(i=a("button","","","",s)).setAttribute("aria-label",o),i.setAttribute("aria-disabled","true"),i.style.cursor="default",d.appendChild(i)),c.appendChild(h),h.appendChild(u),u.appendChild(m),m.appendChild(d),c}function dfltClndrCallbackFactory(e){return function(t,a,n){var o=document.getElementById(e);o&&(o.holdErrors=!1,o.openingCalendar=!1,t&&!isNaN(a)&&a>-1&&a<12&&n&&(o.value=formatDate(new Date(t,a,n)),_dateChooser.today=parseDate(o.value,!0),WP.Events.fireEvent(o,"change"),o.focus()))}}function textBoxDataChooser(e,t,a,n){var o,r,s,d;r=document.getElementById(t),"string"==typeof n&&n.length>0?o=window[n](t):"function"==typeof n&&(o=n),"function"!=typeof o&&(o=dfltClndrCallbackFactory(t)),d=$afe.jq(r).safeAttr("data-focus-dte"),""!==r.value?s=parseDate(r.value,!0):void 0!==d&&(s=WP.Utils.dte2date(d)),new DateChooser(e,o,WP.Validators.Calendar[a],s,r).drawCalendar()}function writeCalendar(e,t,a,n,o,r,s,d){var i,l;"string"==typeof e&&(e=$afe.select("#"+e)),i=$afe.jq(createElement("button","calendar datechooserAnchor")),$$WPUtil.IsNullOrEmpty(d)||i.safeAttr("id",d),i.safeAttr("type","button"),l=$afe.select('label[for="'+e.attr("id")+'"]').text(),$$WPUtil.IsNullOrEmpty(l)&&(l=$$WP.Strings.get("DefaultFieldDescription","UI.Calendar")),$$WP.Strings.addMnemonic("@MYCHART@AssociatedLabelText@",l,!1,"UI.Calendar",$$WP.Strings.EncodingTypes.HTML),i.safeAttr("aria-label",$$WP.Strings.get("DatePickerDescription","UI.Calendar")),i.safeAppend($$WP.SimpleTemplates.Img({src:a,"aria-hidden":"true",focusable:"false",alt:$$WP.Strings.get("DatePickerDescription","UI.Calendar")})),$$WP.Strings.removeMnemonic("@MYCHART@AssociatedLabelText@","UI.Calendar"),"range"===t&&($$WPUtil.IsNullOrEmpty(n)||(window.cachedStartDate=WP.Utils.dte2date(n)),$$WPUtil.IsNullOrEmpty(o)||(window.cachedEndDate=WP.Utils.dte2date(o))),i.click((function(){return e.prop("openingCalendar",!0),e.prop("holdErrors",!1),textBoxDataChooser(i[0],e.prop("id"),t,r),!1})).on("mousedown",(function(){e.prop("holdErrors",!0)})).on("mouseout",(function(){e.prop("holdErrors",!1),e.prop("openingCalendar",!1)})),i.safeInsertAfter(e)}function clearCalendarDateRange(){window.cachedStartDate=null,window.cachedEndDate=null}function hasSelectableDay(e,t){var a=1,n=makeDate(t,e+1,a);for(e=n.getMonth();n.getMonth()===e;){if(_dateChooser.filter(n.getFullYear(),n.getMonth(),a))return!0;n.setDate(++a)}return!1}function pageLo(e){for(var t=WP.Events.getThis(e);"DIV"!==t.nodeName.toUpperCase();)t=t.parentNode;$afe.jq(t).removeClass("hover")}function pageHi(){return function(e){for(var t=WP.Events.getThis(e);"DIV"!==t.nodeName.toUpperCase();)t=t.parentNode;$afe.jq(t).addClass("hover"),_dateChooser.focusOn&&_dateChooser.focusOn!==t.id&&pageLo({target:document.getElementById(_dateChooser.focusOn),srcElement:document.getElementById(_dateChooser.focusOn)}),_dateChooser.focusOn=t.id}}function pageCalendarEffects(){var e,t,a,n;if(null!==(e=document.getElementById("pagecalendar"))&&(_dateChooser=function(){},null!==(t=e.getElementsByTagName("div"))))for(a=0;a<t.length;a++)n=t[a],($afe.jq(n).hasClass("NoData")||$afe.jq(n).hasClass("EditData")||$afe.jq(n).hasClass("ctrl"))&&(WP.Events.addListener(n,"mouseover",(function(){this.firstChild.focus()})),WP.Events.addListener(n,"mouseout",(function(){this.firstChild.blur()})),WP.Events.addListener(n.firstChild,"focus",pageHi()),WP.Events.addListener(n.firstChild,"blur",pageLo))}function accessibilityHidePage(){var e=accessibilityGetElements();for(i=0;i<e.length;i++)e[i]&&e[i].setAttribute("aria-hidden","true")}function accessibilityRestorePage(){var e=accessibilityGetElements();for(i=0;i<e.length;i++)e[i]&&e[i].removeAttribute("aria-hidden")}function accessibilityGetElements(){var e=[document.getElementById("header"),document.getElementById("footer"),document.getElementById("content")];if(WP.DOM.Browser.isSafari||WP.DOM.Browser.isIPhone||WP.DOM.Browser.isIPad||WP.DOM.Browser.isIPod){var t=$afe.jq(_dateChooser.trigger).parents(".Popup, ._Popup");t.length>0&&e.push(t[0])}return e}DateChooser.prototype.drawCalendar=function(e){e=void 0===e?null:e,_removeCalendar(!0),_dateChooser=this;var t,a,n,o,r,s,d,i,l,c,h=document.createElement("div");r=new Date,h.id="calendar",h.className="calendar",h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-labelledby","monthlabel"),this.lastDayOfMonth=new Date(this.year,this.month+1,0),this.lastDateOfMonth=this.lastDayOfMonth.getDate();var u=getFirstDayOfWeek(),m=this.lastDayOfMonth.getDay()-u;if(this.lastDisplayedDateId=m>=0?this.lastDateOfMonth-m+6:this.lastDateOfMonth-m+7,m=new Date(this.year,this.month,1).getDay()-u,this.firstDisplayedDateId=m>=0?1-m:-m-6,h.appendChild(this.getCalendarObject()),this.setClickFunction(h),o=document.documentElement.className.indexOf("mobile")>=0||document.documentElement.className.indexOf("respquestionnaire")>=0,this.trigger.offsetParent||(this.trigger=document.getElementById(this.trigger.id)),this.trigger.offsetParent){if(h.style.position="absolute",(t=getElementPosition(this.trigger)).topElement.appendChild(h),$$WPContain.Popup.__zIndex+=3,h.style.zIndex=3e3+$$WPContain.Popup.__zIndex,h.style.left=t.x,h.style.top=t.y,l=$afe.select("html.datatile")[0],i=$afe.jq(this.trigger).parents(".Popup")[0],c=document.getElementById("main"),s=(a=i||l||c).offsetWidth,d=a.offsetHeight,t=getElementPosition(this.trigger,a),h.offsetWidth){var C=parseInt(h.style.left,10);(n=parseInt(t.x,10)+h.offsetWidth-s)>0&&(h.style.left=n<C?C-n+"px":"0px")}if(h.offsetHeight){var p=parseInt(h.style.top,10);(n=parseInt(t.y,10)+h.offsetHeight-d)>0&&(h.style.top=n<p?p-n+"px":"0px")}o&&(h.style.left="0px",h.style.position="fixed",h.style.top="0px")}else $afe.jq(this.trigger.parentNode).safeInsertBefore(h,this.trigger),$afe.jq(this.trigger).addClass("hidden");$afe.select(".currentselected").removeClass("currentselect"),this.calendar=h,WP.Events.addListener(document.body,"click",removeCalendar),WP.Events.addListener(document.body,"mouseover",restoreHi),null!=e?(e=e>this.lastDateOfMonth?this.lastDateOfMonth:e,document.getElementById("cal"+e).firstChild.focus()):this.month===this.today.getMonth()&&this.year===this.today.getFullYear()&&document.getElementById("cal"+r.getDate())?(document.getElementById("cal"+this.date).firstChild.focus(),this.focusOn="cal"+this.date):document.getElementById("cal"+this.firstDate)&&(document.getElementById("cal"+this.firstDate).firstChild.focus(),this.focusOn="cal"+this.firstDate),WP.Events.addListener(document.getElementById("calprev"),"keydown",keyOnPrevMonth),WP.Events.addListener(document.getElementById("calnext"),"keydown",keyOnNextMonth),WP.Events.addListener(document.getElementById("calcancel"),"keydown",tabOnCancel),accessibilityHidePage(),this.firstDate="",this.lastDate="",o&&$afe.jq(h).on("touchmove",(function(e){$$WP.Utilities.Mobile.Optimization.IgnoreTouchMove(e,!0)}))},DateChooser.prototype.clearCalendar=function(){_removeCalendar(),this.callback(),this.trigger.className=this.trigger.className.replace(" hidden",""),this.trigger.focus()},DateChooser.prototype.setClickFunction=function(e){var t,a,n,o=this.clickFunction,r=e.getElementsByTagName("td"),s=(new Date,document.all?"hand":"pointer"),enable=function(e){WP.Events.addListener(e,"click",o),"ctrl"===e.className?(WP.Events.addListener(e,"mouseover",hi()),WP.Events.addListener(e,"mouseout",lo),WP.Events.addListener(e.firstChild,"focus",hi(!0)),WP.Events.addListener(e.firstChild,"blur",lo)):(WP.Events.addListener(e,"mouseover",(function(){e.firstChild.focus()})),WP.Events.addListener(e.firstChild,"focus",hi())),e.style.cursor=s},disable=function(e){e.style.cursor="default"};for(a=0;a<r.length;++a)"null"!==(n=(t=r[a]).className)&&"hdr"!==n&&t.firstChild&&("ctrl"===n?enable(t):n.indexOf("wkndn")>=0||0===n.indexOf("n")||n.indexOf("ctrln")>=0?disable(t):enable(t));WP.Events.addListener(e,"keydown",HandleKeyDown),WP.Events.addListener(e,"keyup",HandleKeyUp)},DateChooser.prototype.isDateDisplayed=function(e){return e>=this.firstDisplayedDateId&&e<=this.lastDisplayedDateId},DateChooser.prototype.drawNextMonth=function(e){if(e=void 0===e?null:e,this.clearCalendar(),this.month=(this.month+1)%12,0===this.month&&this.year++,this.drawCalendar(e),!e){var t=document.getElementById("calnext");null!==t&&(t=t.firstChild)&&"BUTTON"===t.nodeName.toUpperCase()&&(t.focus(),lo({target:document.getElementById(_dateChooser.focusOn),srcElement:document.getElementById(_dateChooser.focusOn)}))}},DateChooser.prototype.drawPreviousMonth=function(e){if(e=void 0===e?null:e,this.clearCalendar(),this.month=this.month-1,this.month<0&&(this.month+=12),11===this.month&&this.year--,this.drawCalendar(e),!e){var t=document.getElementById("calprev").firstChild;t&&"BUTTON"===t.nodeName.toUpperCase()&&(t.focus(),lo({target:document.getElementById(_dateChooser.focusOn),srcElement:document.getElementById(_dateChooser.focusOn)}))}},DateChooser.prototype.getCalendarObject=function(){var e,t,a,n,o,r,s=document.createElement("div"),d=document.createElement("tbody"),i=this.month,l=this.year,c=this.filter,h=new Date,u=h.getDate(),m=h.getMonth(),C=h.getFullYear(),p=WP.DOM.Create.tag,y=$$WP.Strings.get("CancelButton","UI.Calendar"),g=buildNavHeaderObject(i,l);for(s.appendChild(g),e=document.createElement("table"),thead=document.createElement("thead"),t=document.createElement("tr"),o=0;o<7;o++)a=p("th","hdr","","",getDayLetter((o+getFirstDayOfWeek())%7)),$afe.jq(a).safeAttr("aria-hidden","true"),t.appendChild(a);thead.appendChild(t),e.appendChild(thead);for(var v,getClassName=function(e,t){var a,n,o=e.getMonth(),r=e.getDate(),s=e.getFullYear(),d=e.getDay();return a=0===d||6===d,n=o===m&&r===u&&s===C,(c(s,o,r)?a?"wknd":"d":a?"wkndn":"n")+(n?" today":"")+(t?" othermonth":"")},D=this.firstDisplayedDateId,E=new Date(l,i,D);E.getMonth()!==i+1&&E.getFullYear()<=l;){for(t=document.createElement("tr"),v=0;v<7;v++)r=E.getMonth()!==i,a=p("td",getClassName(E,r),"cal"+D),(n=p("button","","","",E.getDate())).setAttribute("aria-label",$$WP.I18N.getCalendarDateAriaString(E)),this.filter(E.getFullYear(),E.getMonth(),E.getDate())?(n.setAttribute("tabindex","0"),r||(this.firstDate&&""!==this.firstDate||(this.firstDate=E.getDate()),(!this.lastDate||this.lastDate<E.getDate())&&(this.lastDate=E.getDate()))):(n.setAttribute("tabindex","-1"),n.setAttribute("aria-disabled","true"),n.style.cursor="default"),a.appendChild(n),E.getTime()===_dateChooser.today.getTime()&&applyClass(a,"currentselected"),t.appendChild(a),E.setDate(E.getDate()+1),D++;d.appendChild(t)}e.appendChild(d),s.appendChild(e);var P=p("div");return e=p("table","calendarfooter",""),d=p("tbody"),t=document.createElement("tr"),a=p("td","ctrl","calcancel"),n=p("button","","","",y),a.appendChild(n),t.appendChild(a),d.appendChild(t),e.appendChild(d),P.appendChild(e),s.appendChild(P),e.setAttribute("role","presentation"),t.firstChild.colSpan=7,s},$$WP.Utilities.UI.Calendars=function $$WP$Utilities$UI$Calendars(e){"load"===e.type&&$afe.select("input.date.withCalendar").each((function(){var e=$afe.jq(this);e.next().is("button.datechooserAnchor")||writeCalendar(e,e.safeAttr("data-filter"),makeStaticLink("images/calendar.svg"),e.safeAttr("data-filter-from"),e.safeAttr("data-filter-to"),e.safeAttr("data-callback"),void 0,void 0,"Pears")}))},$$WP.Utilities.UI.Map.Support.calendars=$$WP.Utilities.UI.Calendars;