1/** 2 * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> 3 * @license GNU General Public License version 2 or later; see LICENSE.txt 4 */(function(x,g){"use strict";var u=function(e){if(!e)throw new Error(`Calendar setup failed: 5 No valid element found, Please check your code`);if(typeof Date.parseFieldDate!="function")throw new Error(`Calendar setup failed: 6 No valid date helper, Please check your code`);if(e._joomlaCalendar)throw new Error("JoomlaCalendar instance already exists for the element");e._joomlaCalendar=this;var a=this;if(this.writable=!0,this.hidden=!0,this.params={},this.element=e,this.inputField=e.getElementsByTagName("input")[0],this.button=e.getElementsByTagName("button")[0],!this.inputField)throw new Error(`Calendar setup failed: 7 No valid input found, Please check your code`);this.params={debug:!1,clicked:!1,element:{style:{display:"none"}},writable:!0};var t=Joomla.Text._;this.strings={today:t("JLIB_HTML_BEHAVIOR_TODAY","Today"),wk:t("JLIB_HTML_BEHAVIOR_WK","wk"),days:["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"],shortDays:["SUN","MON","TUE","WED","THU","FRI","SAT"],months:["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"],shortMonths:["JANUARY_SHORT","FEBRUARY_SHORT","MARCH_SHORT","APRIL_SHORT","MAY_SHORT","JUNE_SHORT","JULY_SHORT","AUGUST_SHORT","SEPTEMBER_SHORT","OCTOBER_SHORT","NOVEMBER_SHORT","DECEMBER_SHORT"],am:t("JLIB_HTML_BEHAVIOR_AM","am"),pm:t("JLIB_HTML_BEHAVIOR_PM","pm"),exit:t("JCLOSE","Close"),clear:t("JCLEAR","Clear")},this.strings.days=this.strings.days.map(function(n){return t(n)}),this.strings.shortDays=this.strings.shortDays.map(function(n){return t(n)}),this.strings.months=this.strings.months.map(function(n){return t(n)}),this.strings.shortMonths=this.strings.shortMonths.map(function(n){return t(n)});var s=this.button,o={inputField:this.inputField,dateType:s.dataset.dateType||"gregorian",direction:g.dir?g.dir:g.getElementsByTagName("html")[0].getAttribute("dir"),firstDayOfWeek:s.dataset.firstday?parseInt(s.dataset.firstday,10):0,dateFormat:s.dataset.dateFormat||"%Y-%m-%d %H:%M:%S",weekend:[0,6],minYear:1e3,maxYear:2100,time24:!0,showsOthers:!0,showsTime:!0,weekNumbers:!0,showsTodayBtn:!0,compressedHeader:!1};"showOthers"in s.dataset&&(o.showsOthers=parseInt(s.dataset.showOthers,10)===1),"weekNumbers"in s.dataset&&(o.weekNumbers=parseInt(s.dataset.weekNumbers,10)===1),"onlyMonthsNav"in s.dataset&&(o.compressedHeader=parseInt(s.dataset.onlyMonthsNav,10)===1),"time24"in s.dataset&&(o.time24=parseInt(s.dataset.time24,10)===24),"showTime"in s.dataset&&(o.showsTime=parseInt(s.dataset.showTime,10)===1),"todayBtn"in s.dataset&&(o.showsTodayBtn=parseInt(s.dataset.todayBtn,10)===1);for(var i in o)this.params[i]=o[i];s.dataset.minYear&&(a.params.minYear=W(parseInt(s.dataset.minYear,10),a.params.dateType)),s.dataset.maxYear&&(a.params.maxYear=W(parseInt(s.dataset.maxYear,10),a.params.dateType)),s.dataset.weekend&&(a.params.weekend=s.dataset.weekend.split(",").map(function(n){return parseInt(n,10)})),this.params.direction==="rtl"&&(this.strings.days=this.strings.days.reverse(),this.strings.shortDays=this.strings.shortDays.reverse()),this.strings.months=Date.monthsToLocalOrder(this.strings.months,this.params.dateType),this.strings.shortMonths=Date.monthsToLocalOrder(this.strings.shortMonths,this.params.dateType),this._dayMouseDown=function(n){return a._handleDayMouseDown(n)},this._calKeyEvent=function(n){return a._handleCalKeyEvent(n)},this._documentClick=function(n){return a._handleDocumentClick(n)},this.checkInputs(),!this.inputField.getAttribute("readonly")&&(this._create(),this._bindEvents())};u.prototype.checkInputs=function(){var e=Date.parseFieldDate(this.inputField.getAttribute("data-alt-value"),this.params.dateFormat,"gregorian",this.strings,!1);this.inputField.value!==""?(this.date=e,this.inputField.value=e.print(this.params.dateFormat,this.params.dateType,!0,this.strings)):this.date=new Date},u.prototype.recreate=function(){var e=this.element,a=e.querySelector(".js-calendar");a&&(e._joomlaCalendar=null,a.parentNode.removeChild(a),new u(e))},u.prototype.updateTime=function(e,a,t){var s=this,o=s.date,i=s.date.getLocalDate(s.params.dateType),n=s.date.getLocalMonth(s.params.dateType),l=s.date.getLocalFullYear(s.params.dateType),h=this.inputField.parentNode.parentNode.querySelectorAll(".time-ampm")[0];s.params.time24||(/pm/i.test(h.value)&&e<12?e=parseInt(e)+12:/am/i.test(h.value)&&e==12&&(e=0)),o.setHours(e),o.setMinutes(parseInt(a,10)),o.setSeconds(o.getSeconds()),o.setLocalFullYear(s.params.dateType,l),o.setLocalMonth(s.params.dateType,n),o.setLocalDate(s.params.dateType,i),s.dateClicked=!1,this.callHandler()},u.prototype.setDate=function(e){e.equalsTo(this.date)||(this.date=e,this.processCalendar(this.params.firstDayOfWeek,e))},u.prototype.moveCursorBy=function(e){var a=new Date(this.date);a.setDate(a.getDate()-e),this.setDate(a)},u.prototype.resetSelected=function(e){for(var a=e.options,t=a.length;t--;){var s=a[t];s.selected&&(s.selected=!1)}},u.prototype.callHandler=function(){this.inputField.setAttribute("data-alt-value",this.date.print(this.params.dateFormat,"gregorian",!1,this.strings)),this.inputField.getAttribute("data-alt-value")&&this.inputField.getAttribute("data-alt-value")!=="0000-00-00 00:00:00"&&(this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0,this.strings),this.params.dateType!=="gregorian"&&this.inputField.setAttribute("data-local-value",this.date.print(this.params.dateFormat,this.params.dateType,!0,this.strings))),this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0,this.strings),this.dateClicked&&typeof this.params.onUpdate=="function"&&this.params.onUpdate(this),this.inputField.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0}
7)),this.dateClicked?this.close():this.processCalendar()},u.prototype.close=function(){this.hide()},u.prototype.show=function(){this.checkInputs(),this.inputField.focus(),this.dropdownElement.classList.add("open"),this.dropdownElement.removeAttribute("hidden"),this.hidden=!1,g.addEventListener("keydown",this._calKeyEvent,!0),g.addEventListener("keypress",this._calKeyEvent,!0),g.addEventListener("mousedown",this._documentClick,!0);var e=this.element.querySelector(".js-calendar");x.innerHeight<e.getBoundingClientRect().bottom+20?e.style.marginTop=-(e.getBoundingClientRect().height+this.inputField.getBoundingClientRect().height)+"px":e.style.marginTop="initial",this.processCalendar()},u.prototype.hide=function(){g.removeEventListener("keydown",this._calKeyEvent,!0),g.removeEventListener("keypress",this._calKeyEvent,!0),g.removeEventListener("mousedown",this._documentClick,!0),this.dropdownElement.classList.remove("open"),this.dropdownElement.setAttribute("hidden",""),this.hidden=!0},u.prototype._handleDocumentClick=function(e){var a=e.target;if(a!==null&&!a.classList.contains("time"))for(;a!==null&&a!==this.element;a=a.parentNode);if(a===null)return g.activeElement.blur(),this.hide(),P(e)},u.prototype._handleDayMouseDown=function(e){var a=this,t=e.currentTarget,s=e.target||e.srcElement;if(!(s&&s.hasAttribute("data-action"))){if(t.nodeName!=="TD"){var o=t.getParent("TD");o.nodeName==="TD"?t=o:(t=t.getParent("TD"),t.classList.contains("js-calendar")&&(t=t.getElementsByTagName("table")[0]))}else if(!s.classList.contains("js-btn")&&!t.classList.contains("day")&&!t.classList.contains("title"))return;if(!t||t.disabled)return!1;if(typeof t.navtype>"u"||t.navtype!==300){t.navtype===50&&(t._current=t.innerHTML),(s===t||s.parentNode===t)&&a.cellClick(t,e);var i=null;typeof t.month<"u"&&(i=t),typeof t.parentNode.month<"u"&&(i=t.parentNode);var n=null;if(i)n=new Date(a.date),i.month!==n.getLocalMonth(a.params.dateType)&&(n.setLocalMonth(a.params.dateType,i.month),a.setDate(n),a.dateClicked=!1,this.callHandler());else{var l=null;typeof t.year<"u"&&(l=s),typeof t.parentNode.year<"u"&&(l=s.parentNode),l&&(n=new Date(a.date),l.year!==n.getLocalFullYear(a.params.dateType)&&(n.setFullYear(a.params.dateType,l.year),a.setDate(n),a.dateClicked=!1,this.callHandler()))}}return P(e)}},u.prototype.cellClick=function(e,a){var t=this,s=!1,o=!1,i=null;if(typeof e.navtype>"u"){t.currentDateEl&&(e.classList.add("selected"),t.currentDateEl=e.caldate,s=t.currentDateEl===e.caldate,s||(t.currentDateEl=e.caldate)),t.date.setLocalDateOnly("gregorian",e.caldate);var n=!(t.dateClicked=!e.otherMonth);t.currentDateEl&&(o=!e.disabled),n&&this.processCalendar()}else{i=new Date(t.date),t.dateClicked=!1;var l=i.getOtherFullYear(t.params.dateType),h=i.getLocalMonth(t.params.dateType);switch(e.navtype){case 400:break;case-2:t.params.compressedHeader||l>t.params.minYear&&i.setOtherFullYear(t.params.dateType,l-1);break;case-1:var r=i.getLocalDate(t.params.dateType);if(h>0){var y=i.getLocalMonthDays(t.params.dateType,h-1);r>y&&i.setLocalDate(t.params.dateType,y),i.setLocalMonth(t.params.dateType,h-1)}else if(l-- >t.params.minYear){i.setOtherFullYear(t.params.dateType,l);var y=i.getLocalMonthDays(t.params.dateType,11);r>y&&i.setLocalDate(t.params.dateType,y),i.setLocalMonth(t.params.dateType,11)}break;case 1:var r=i.getLocalDate(t.params.dateType);if(h<11){var y=i.getLocalMonthDays(t.params.dateType,h+1);r>y&&i.setLocalDate(t.params.dateType,y),i.setLocalMonth(t.params.dateType,h+1)}else if(l<t.params.maxYear){i.setOtherFullYear(t.params.dateType,l+1);var y=i.getLocalMonthDays(t.params.dateType,0);r>y&&i.setLocalDate(t.params.dateType,y),i.setLocalMonth(t.params.dateType,0)}break;case 2:t.params.compressedHeader||l<t.params.maxYear&&i.setOtherFullYear(t.params.dateType,l+1);break;case 0:break}i.equalsTo(t.date)?e.navtype===0&&(o=s=!0):(this.setDate(i),o=!0)}o&&(t.params.showsTime&&(this.dateClicked=!1),a&&this.callHandler()),e.classList.remove("hilite"),s&&!t.params.showsTime&&(t.dateClicked=!1,a&&this.close())},u.prototype._handleCalKeyEvent=function(e){var a=this,t=e.code;e.target===this.inputField&&(t==="Enter"||t==="Tab")&&this.close(),a.params.direction==="rtl"&&(t==="ArrowLeft"?t="ArrowRight":t==="ArrowRight"&&(t="ArrowLeft")),e.shiftKey&&t==="Space"&&(e.preventDefault(),this.cellClick(a._nav_now,e),a.close()),t==="Escape"&&this.close(),t==="ArrowUp"&&this.moveCursorBy(7),t==="ArrowDown"&&this.moveCursorBy(-7),t==="ArrowLeft"&&this.moveCursorBy(1),t==="ArrowRight"&&this.moveCursorBy(-1)},u.prototype._create=function(){var e=this,a=this.element,t=c("table"),s=c("div");this.table=t,t.className="table",t.style.marginBottom=0,this.dropdownElement=s,a.appendChild(s),this.params.direction&&(s.style.direction=this.params.direction),s.className="js-calendar",s.style.position="absolute",s.style.boxShadow="0 0 70px 0 rgba(0,0,0,0.67)",s.style.minWidth=this.inputField.width,s.style.padding="0",s.setAttribute("hidden",""),s.style.left="auto",s.style.top="auto",s.style.zIndex=1060,s.style.borderRadius="20px",this.wrapper=c("div"),this.wrapper.className="
7calendar-container",s.appendChild(this.wrapper),this.wrapper.appendChild(t);var o=c("thead",t);o.className="calendar-header";var r=null,i=null,n=this,l=function(T,d,f,D,N,v,F){D=D||"td",N=N||{},r=c(D,i),d&&(v=v?'class="'+v+'"':"",r.colSpan=d);for(var b in N)r.style[b]=N[b];for(var b in F)r.setAttribute(b,F[b]);return f!==0&&Math.abs(f)<=2&&(r.className+=" nav"),d&&r.addEventListener("mousedown",e._dayMouseDown,!0),r.calendar=n,r.navtype=f,f!==0&&Math.abs(f)<=2?r.innerHTML=Joomla.sanitizeHtml("<a "+v+" style='display:inline;padding:2px 6px;cursor:pointer;text-decoration:none;' unselectable='on'>"+T+"</a>"):(r.innerHTML=d?Joomla.sanitizeHtml("<div unselectable='on'"+v+">"+T+"</div>"):Joomla.sanitizeHtml(T),!d&&v&&(r.className=v)),r};this.params.compressedHeader===!1&&(i=c("tr",o),i.className="calendar-head-row",this._nav_py=l("‹",1,-2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-prev-year"),this.title=l('<div style="text-align:center;font-size:18px"><span></span></div>',this.params.weekNumbers?6:5,300),this.title.className="title title-year",this._nav_ny=l(" ›",1,2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-next-year")),i=c("tr",o),i.className="calendar-head-row",this._nav_pm=l("‹",1,-1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-month"),this._nav_month=l('<div style="text-align:center;font-size:1.2em"><span></span></div>',this.params.weekNumbers?6:5,888,"td",{textAlign:"center"}),this._nav_month.className="title title-month",this._nav_nm=l(" ›",1,1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-month"),i=c("tr",o),i.className=e.params.weekNumbers?"daynames wk":"daynames",this.params.weekNumbers&&(r=c("td",i),r.className="day-name wn",r.textContent=e.strings.wk);for(var h=7;h>0;--h)r=c("td",i),h||(r.calendar=e);this.firstdayname=this.params.weekNumbers?i.firstChild.nextSibling:i.firstChild,this.params.direction==="rtl"&&this.strings.shortDays.reverse();for(var y=this.params.firstDayOfWeek,r=this.firstdayname,L=this.params.weekend,h=0;h<7;++h){var I=(h+y)%7;r.classList.add("day-name"),this.params.weekNumbers&&r.classList.add("day-name-week"),h&&(r.calendar=e,r.fdow=I),L.indexOf(L)!==-1&&r.classList.add("weekend"),r.textContent=this.strings.shortDays[(h+y)%7],r=r.nextSibling}var C=c("tbody",t);for(this.tbody=C,h=6;h>0;--h){i=c("tr",C),this.params.weekNumbers&&(r=c("td",i));for(var w=7;w>0;--w)r=c("td",i),r.calendar=this,r.addEventListener("mousedown",this._dayMouseDown,!0)}if(this.params.showsTime){i=c("tr",C),i.className="time",i.classList.add("calendar-time-row");var r=c("td",i);r.className="time time-title",r.colSpan=1,r.style.verticalAlign="middle",r.innerHTML=" ";var M=c("td",i);M.className="time hours-select",M.colSpan=e.params.time24?3:2;var S=c("td",i);S.className="time minutes-select",S.colSpan=e.params.time24?3:2,this.params.direction==="rtl"&&i.insertBefore(S,M),(function(){function d(p,E,V,K,j){var k=c("select",j),J;k.calendar=e,k.className=p,k.setAttribute("data-chosen",!0),k.style.width="100%",k.navtype=50,k._range=[];for(var A=V;A<=K;++A){var U,q="";A===E&&(q=!0),A<10&&K>=10?(J="0"+A,U=Date.convertNumbers("0")+Date.convertNumbers(A)):(J=""+A,U=""+Date.convertNumbers(A)),k.options.add(new Option(U,J,q,q))}return k}var f=e.date.getHours(),D=e.date.getMinutes(),N=!e.params.time24,v=e.date.getHours()>12;N&&v&&(f-=12);var F=d("time time-hours form-control form-select",f,N?1:0,N?12:23,M),b=d("time time-minutes form-control form-select",D,0,59,S),Y=null;if(N){r=c("td",i),r.className="time ampm-select",r.colSpan=e.params.weekNumbers?3:2;var H=!0,R=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,"gregorian",e.strings,!1);v=R.getHours()>=12;var _=c("select",r);_.className="time-ampm",_.style.width="100%",_.options.add(new Option(e.strings.pm,"pm",v?H:"",v?H:"")),_.options.add(new Option(e.strings.am,"am",v?"":H,v?"":H)),Y=_,Y.addEventListener("change",function(p){var E=p.target.parentNode.parentNode.childNodes;e.params.direction==="rtl"?e.updateTime(E[2].childNodes[0].value,E[1].childNodes[0].value,E[3].childNodes[0].value):e.updateTime(E[1].childNodes[0].value,E[2].childNodes[0].value,E[3].childNodes[0].value)},!1)}else e.params.weekNumbers&&(r=c("td",i),r.innerHTML=" ",r.colSpan=1);e.params.weekNumbers?e.params.direction==="rtl"?(F.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1),b.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)):(F.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1),b.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)):e.params.direction==="rtl"?(F.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[1].childNodes[0].value)},!1),b.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[2].childNodes[0].value,p.target.parentNode.parentNode.childNodes[1].childNodes[0].value)},!1)):(F.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[2].childNodes[0].value)},!1),b.addEventListener("change",function(p){e.updateTime(p.target.parentNode.parentNode.childNodes[1].childNodes[0].value,p.target.parentNode.parentNode.childNodes[2].childNodes[0].value)},!1))})()}i=c("div",this.wrapper),i.className="buttons-wrapper btn-group",this._nav_clear=l(this.strings.clear,"",100,"button","","js-btn btn btn-clear",{type:"button","data-action":"clear"});var B=i.querySelector('[data-action="clear"]');
7if(B.addEventListener("click",function(T){T.preventDefault();for(var d=e.table.querySelectorAll("td"),f=0;f<d.length;f++)if(d[f].classList.contains("selected")){d[f].classList.remove("selected");break}e.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00"),e.inputField.setAttribute("value",""),e.inputField.value="",e.inputField.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0}))}),this.params.showsTodayBtn){this._nav_now=l(this.strings.today,"",0,"button","","js-btn btn btn-today",{type:"button","data-action":"today"});var O=this.wrapper.querySelector('[data-action="today"]');O.addEventListener("click",function(T){T.preventDefault(),e.date.setLocalDateOnly("gregorian",new Date),e.dateClicked=!0,e.callHandler(),e.close()})}this._nav_exit=l(this.strings.exit,"",999,"button","","js-btn btn btn-exit",{type:"button","data-action":"exit"});var m=this.wrapper.querySelector('[data-action="exit"]');m.addEventListener("click",function(T){if(T.preventDefault(),!e.dateClicked){if(e.inputField.value)if(e.params.dateType!=="gregorian"&&e.inputField.setAttribute("data-local-value",e.inputField.value),typeof e.dateClicked>"u"){var d=Date.parseFieldDate(e.inputField.value,e.params.dateFormat,e.params.dateType,e.strings,!1);if(e.params.dateType!=="gregorian"){var f=Date.localCalToGregorian(d.rawYear,d.rawMonth+1,d.rawDay);d=new Date(f[0],f[1]-1,f[2],d.getHours(),d.getMinutes(),d.getSeconds())}e.inputField.setAttribute("data-alt-value",d.print(e.params.dateFormat,"gregorian",!1,e.strings))}else e.inputField.setAttribute("data-alt-value",e.date.print(e.params.dateFormat,"gregorian",!1,e.strings));else e.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");e.date=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,e.params.dateType,e.strings,!1)}e.close()}),e.inputField.addEventListener("input",function(T){if(e.inputField.value)if(e.params.dateType!=="gregorian"){e.inputField.setAttribute("data-local-value",e.inputField.value);var d=Date.parseFieldDate(e.inputField.value,e.params.dateFormat,e.params.dateType,e.strings,!0);if(!d)return;var f=Date.localCalToGregorian(d.rawYear,d.rawMonth+1,d.rawDay);d=new Date(f[0],f[1]-1,f[2],d.getHours(),d.getMinutes(),d.getSeconds()),e.inputField.setAttribute("data-alt-value",d.print(e.params.dateFormat,"gregorian",!1,e.strings))}else{var D=Date.parseFieldDate(e.inputField.value,e.params.dateFormat,e.params.dateType,e.strings,!0);if(!D)return;e.inputField.setAttribute("data-alt-value",D.print(e.params.dateFormat,"gregorian",!1,e.strings))}else e.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");e.date=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,e.params.dateType,e.strings,!1),e.hidden||e.processCalendar()}),this.processCalendar()},u.prototype.processCalendar=function(){this.table.style.visibility="hidden";var e=this.params.firstDayOfWeek,a=this.date,t=new Date,s=t.getLocalFullYear(this.params.dateType),o=t.getLocalMonth(this.params.dateType),i=t.getLocalDate(this.params.dateType),n=a.getOtherFullYear(this.params.dateType),l=a.getHours(),h=a.getMinutes(),y=a.getSeconds(),r=!this.params.time24;n<this.params.minYear?(n=this.params.minYear,a.setOtherFullYear(this.params.dateType,n)):n>this.params.maxYear&&(n=this.params.maxYear,a.setOtherFullYear(this.params.dateType,n)),this.params.firstDayOfWeek=e,this.date=new Date(a);var L=a.getLocalMonth(this.params.dateType),I=a.getLocalDate(this.params.dateType);a.setLocalDate(this.params.dateType,1);var C=(a.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;C<0&&(C+=7),a.setLocalDate(this.params.dateType,-C),a.setLocalDate(this.params.dateType,a.getLocalDate(this.params.dateType)+1);for(var w=this.tbody.firstChild,M=this.ar_days=new Array,S=this.params.weekend,B=parseInt(a.getLocalWeekDays(this.params.dateType)),O=0;O<B;++O,w=w.nextSibling){var m=w.firstChild;this.params.weekNumbers&&(m.className="day wn",m.textContent=a.getLocalWeekNumber(this.params.dateType),m=m.nextSibling),w.className=this.params.weekNumbers?"daysrow wk":"daysrow";
7for(var T=!1,d,f=M[O]=[],D=B+1,N=0;N<D;++N,m=m.nextSibling,a.setLocalDate(this.params.dateType,d+1)){m.className="day",m.style.textAlign="center",d=a.getLocalDate(this.params.dateType);var v=a.getLocalDay(this.params.dateType);m.pos=O<<4|N,f[N]=m;var F=a.getLocalMonth(this.params.dateType)===L;if(F)m.otherMonth=!1,T=!0,m.style.cursor="pointer";else if(this.params.showsOthers)m.className+=" disabled othermonth ",m.otherMonth=!0;else{m.className+=" emptycell",m.innerHTML=" ",m.disabled=!0;continue}m.disabled=!1,m.textContent=this.params.debug?d:Date.convertNumbers(d),m.disabled||(m.caldate=new Date(a),F&&d===I&&(m.className+=" selected",this.currentDateEl=m),a.getLocalFullYear(this.params.dateType)===s&&a.getLocalMonth(this.params.dateType)===o&&d===i&&(m.className+=" today"),S.indexOf(v)!==-1&&(m.className+=" weekend"))}T||this.params.showsOthers?(w.classList.remove("hidden"),w.removeAttribute("hidden","")):(w.classList.add("hidden"),w.setAttribute("hidden",""),w.className="emptyrow")}if(this.params.showsTime){l>12&&r&&(l-=12),l=l<10?"0"+l:l,h=h<10?"0"+h:h;var b=this.table.querySelector(".time-hours"),Y=this.table.querySelector(".time-minutes");if(this.resetSelected(b),this.params.time24?b.value=l:b.value=l=="00"?"12":l,this.resetSelected(Y),Y.value=h,!this.params.time24){var H=new Date(this.inputField.getAttribute("data-alt-value")),R=this.table.querySelector(".time-ampm"),_=H.getHours();_>12&&(this.resetSelected(R),R.value="pm")}}if(!this.params.compressedHeader)this._nav_month.getElementsByTagName("span")[0].textContent=this.params.debug?L+" "+this.strings.months[L]:this.strings.months[L],this.title.getElementsByTagName("span")[0].textContent=this.params.debug?n+" "+Date.convertNumbers(n.toString()):Date.convertNumbers(n.toString());else{var p=Date.convertNumbers(n.toString());this._nav_month.getElementsByTagName("span")[0].textContent=this.params.monthBefore?p+" - "+this.strings.months[L]:this.strings.months[L]+" - "+p}this.table.style.visibility="visible"},u.prototype._bindEvents=function(){var e=this;this.inputField.addEventListener("blur",function(a){var t=u.getCalObject(this)._joomlaCalendar;if(!t.dropdownElement.hasAttribute("hidden")){a.preventDefault();return}if(t){if(t.inputField.value)if(typeof t.params.dateClicked>"u")if(t.inputField.setAttribute("data-local-value",t.inputField.value),t.params.dateType!=="gregorian"){var s=Date.parseFieldDate(t.inputField.value,t.params.dateFormat,t.params.dateType,t.strings,!0);if(!s)t.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");else{var o=Date.localCalToGregorian(s.rawYear,s.rawMonth+1,s.rawDay);s=new Date(o[0],o[1]-1,o[2],e.date.getHours(),e.date.getMinutes(),s.getSeconds()),t.inputField.setAttribute("data-alt-value",s.print(t.params.dateFormat,"gregorian",!1,t.strings))}}else{var i=Date.parseFieldDate(t.inputField.value,t.params.dateFormat,t.params.dateType,t.strings,!0);t.inputField.setAttribute("data-alt-value",i?i.print(t.params.dateFormat,"gregorian",!1,t.strings):"0000-00-00 00:00:00")}else t.inputField.setAttribute("data-alt-value",t.date.print(t.params.dateFormat,"gregorian",!1,t.strings));else t.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");t.date=Date.parseFieldDate(t.inputField.getAttribute("data-alt-value"),t.params.dateFormat,t.params.dateType,t.strings,!1)}e.close()},!0),this.button.addEventListener("click",function(){e.show()},!1)};var P=function(e){return e||(e=x.event),e.preventDefault(),e.stopPropagation(),!1},c=function(e,a){var t=null;return t=g.createElement(e),typeof a<"u"&&a.appendChild(t),t},G=function(e){return!isNaN(e)&&(function(a){return(a|0)===a})(parseFloat(e))},W=function(e,a){var t=new Date,s=t.getLocalFullYear(a);return s+e};u.getCalObject=function(e){if(!e)return!1;for(;e.parentNode;)if(e=e.parentNode,e.classList.contains("field-calendar"))return e;return!1},u.prototype.setAltValue=function(){var e=this.inputField;e.getAttribute("disabled")||(e.value=e.getAttribute("data-alt-value")&&e.getAttribute("data-alt-value")!=="0000-00-00 00:00:00"?e.getAttribute("data-alt-value"):"")},u.onSubmit=function(){if(Joomla=x.Joomla||{},!Joomla.calendarProcessed){Joomla.calendarProcessed=!0;for(var e=g.querySelectorAll(".field-calendar"),a=0;a<e.length;a++){var t=e[a],s=t._joomlaCalendar;s&&s.setAltValue()}}}
7,u.init=function(e,a){var t=e._joomlaCalendar;t?t.recreate():new u(e),e&&e.getElementsByTagName("input")[0]&&e.getElementsByTagName("input")[0].form&&!e.getElementsByTagName("input")[0].disabled&&e.getElementsByTagName("input")[0].form.addEventListener("submit",u.onSubmit)},x.JoomlaCalendar=u;function z(e){for(var a=e.target.querySelectorAll(".field-calendar"),t=0,s=a.length;t<s;t++)u.init(a[t])}g.addEventListener("DOMContentLoaded",z),g.addEventListener("joomla:updated",z),x.Calendar={},Calendar.setup=function(e){if(e.inputField&&g.getElementById(e.inputField)){var a=g.getElementById(e.inputField),t=a.parentNode.querySelectorAll("button")[0];for(var s in e)if(e.hasOwnProperty(s))switch(s){case"ifFormat":t&&t.setAttribute("data-dayformat",e.ifFormat);break;case"firstDay":t&&t.setAttribute("data-firstday",parseInt(e.firstDay));break;case"weekNumbers":t&&t.setAttribute("data-week-numbers",e.weekNumbers==="true"||e.weekNumbers===!0?"1":"0");break;case"showOthers":t&&t.setAttribute("data-show-others",e.showOthers==="true"||e.showOthers===!0?"1":"0");break;case"showsTime":t&&t.setAttribute("data-show-time",e.showsTime==="true"||e.showsT
7ime===!0?"1":"0");break;case"timeFormat":t&&t.setAttribute("data-time-24",parseInt(e.timeFormat));break;case"displayArea":case"inputField":case"button":case"eventName":case"daFormat":case"disableFunc":case"dateStatusFunc":case"dateTooltipFunc":case"dateText":case"align":case"range":case"flat":case"flatCallback":case"onSelect":case"onClose":case"onUpdate":case"date":case"electric":case"step":case"position":case"cache":case"multiple":break}u.init(a.parentNode.parentNode)}return null}})(window,document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.