diff --git a/media/system/js/fields/calendar-vanilla.js b/media/system/js/fields/calendar-vanilla.js index e01f441143226..49e42819f515b 100644 --- a/media/system/js/fields/calendar-vanilla.js +++ b/media/system/js/fields/calendar-vanilla.js @@ -1020,11 +1020,16 @@ } }; - /** Init the Calendars on the page */ - JoomlaCalendar.init = function (className) { + /** + * Init the Calendars on the page + * + * @param {String} className The field class name (required) + * @param {HTMLElement} container The field container (optional) + */ + JoomlaCalendar.init = function (className, container) { var elements, i, instance; - elements = document.querySelectorAll(className); + elements = (container || document).querySelectorAll(className); // Fall back for translation strings window.JoomlaCalLocale = window.JoomlaCalLocale ? JoomlaCalLocale : {}; @@ -1065,6 +1070,10 @@ /** Instantiate all the calendar fields when the document is ready */ document.addEventListener("DOMContentLoaded", function() { JoomlaCalendar.init(".field-calendar"); + + window.jQuery && jQuery(document).on("subform-row-add", function (event, row) { + JoomlaCalendar.init(".field-calendar", row); + }); }); })(window, document); diff --git a/media/system/js/fields/calendar-vanilla.min.js b/media/system/js/fields/calendar-vanilla.min.js index b0cd29a6ec09e..512fd285c1332 100644 --- a/media/system/js/fields/calendar-vanilla.min.js +++ b/media/system/js/fields/calendar-vanilla.min.js @@ -1 +1 @@ -!function(a,b){"use strict";Date.convertNumbers=function(a){var a=a.toString();if("[object Array]"===Object.prototype.toString.call(JoomlaCalLocale.localLangNumbers))for(var b=0;b0;)for(var g=f[--e],h=g.getElementsByTagName("td"),i=h.length;i>0;){h[--i]}this.dropdownElement.style.display="block",this.hidden=!1,b.addEventListener("keydown",this._calKeyEvent,!0),b.addEventListener("keypress",this._calKeyEvent,!0),b.addEventListener("mousedown",this._documentClick,!0);var k=this.element.querySelector(".js-calendar");a.innerHeight+a.scrollYc.params.minYear&&f.setOtherFullYear(c.params.dateType,h-1);break;case-1:var j=f.getLocalDate(c.params.dateType);if(i>0){var k=f.getLocalMonthDays(c.params.dateType,i-1);j>k&&f.setLocalDate(c.params.dateType,k),f.setLocalMonth(c.params.dateType,i-1)}else if(h-- >c.params.minYear){f.setOtherFullYear(c.params.dateType,h);var k=f.getLocalMonthDays(c.params.dateType,11);j>k&&f.setLocalDate(c.params.dateType,k),f.setLocalMonth(c.params.dateType,11)}break;case 1:var j=f.getLocalDate(c.params.dateType);if(i<11){var k=f.getLocalMonthDays(c.params.dateType,i+1);j>k&&f.setLocalDate(c.params.dateType,k),f.setLocalMonth(c.params.dateType,i+1)}else if(hk&&f.setLocalDate(c.params.dateType,k),f.setLocalMonth(c.params.dateType,0)}break;case 2:c.params.compressedHeader||h48||c<57||186===c||189===c||190===c||32===c))return d(a)},c.prototype._create=function(){var a=this,b=this.element,c=e("table"),d=e("div");this.table=c,c.className="table",c.cellSpacing=0,c.cellPadding=0,c.style.marginBottom=0,this.dropdownElement=d,b.appendChild(d),this.params.direction&&(d.style.direction=this.params.direction),d.className="js-calendar",d.style.position="absolute",d.style.boxShadow="0px 0px 70px 0px rgba(0,0,0,0.67)",d.style.minWidth=this.inputField.width,d.style.padding="0",d.style.display="none",d.style.left="auto",d.style.top="auto",d.style.zIndex=1060,d.style.borderRadius="20px",this.wrapper=e("div"),this.wrapper.className="calendar-container",d.appendChild(this.wrapper),this.wrapper.appendChild(c);var f=e("thead",c);f.className="calendar-header";var g=null,h=null,i=this,j=function(b,c,d,f,j,k){f=f?f:"td",k=k?'class="'+k+'"':"",j=j?j:{},g=e(f,h),g.colSpan=c;for(var l in j)g.style[l]=j[l];return 0!=d&&Math.abs(d)<=2&&(g.className+=" nav"),g.addEventListener("mousedown",a._dayMouseDown,!0),g.calendar=i,g.navtype=d,0!=d&&Math.abs(d)<=2?g.innerHTML=""+b+"":g.innerHTML="
"+b+"
",g};this.params.compressedHeader===!1&&(h=e("tr",f),h.className="calendar-head-row",this._nav_py=j("‹",1,-2,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-year"),this.title=j('
',this.params.weekNumbers?6:5,300),this.title.className="title",this._nav_ny=j(" ›",1,2,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-year")),h=e("tr",f),h.className="calendar-head-row",this._nav_pm=j("‹",1,-1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-month"),this._nav_month=j('
',this.params.weekNumbers?6:5,888,"td",{textAlign:"center"}),this._nav_month.className="title",this._nav_nm=j(" ›",1,1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-month"),h=e("tr",f),h.className="daynames",this.params.weekNumbers&&(g=e("td",h),g.className="day-name wn",g.innerHTML=JoomlaCalLocale.wk);for(var k=7;k>0;--k)g=e("td",h),k||(g.calendar=a);this.firstdayname=this.params.weekNumbers?h.firstChild.nextSibling:h.firstChild;for(var l=this.params.firstDayOfWeek,g=this.firstdayname,m=JoomlaCalLocale.weekend,k=0;k<7;++k){var n=(k+l)%7;g.classList.add("day-name"),this.params.weekNumbers?g.classList.add("day-name-week"):"",k&&(g.calendar=a,g.fdow=n),m.indexOf(m)!=-1&&g.classList.add("weekend"),g.innerHTML=JoomlaCalLocale.shortDays[(k+l)%7],g=g.nextSibling}var o=e("tbody",c);for(this.tbody=o,k=6;k>0;--k){h=e("tr",o),this.params.weekNumbers&&(g=e("td",h));for(var p=7;p>0;--p)g=e("td",h),g.calendar=this,g.addEventListener("mousedown",this._dayMouseDown,!0)}if(this.params.showsTime){h=e("tr",o),h.className="time",g=e("td",h),g.className="time time-title",g.colSpan=1,g.style.verticalAlign="middle",g.innerHTML=JoomlaCalLocale.time||" ";var q=e("td",h);q.className="time hours-select",q.colSpan=2;var r=e("td",h);r.className="time minutes-select",r.colSpan=2,function(){function b(b,c,d,f,g){var i,h=e("select",g);h.calendar=a,h.className=b,h.setAttribute("data-chosen",!0),h.style.width="100%",h.navtype=50,h._range=[];for(var j=d;j<=f;++j){var k,l="";j==c&&(l=!0),j<10&&f>=10?(i="0"+j,k=Date.convertNumbers("0")+Date.convertNumbers(j)):(i=""+j,k=""+Date.convertNumbers(j)),h.options.add(new Option(k,i,l,l))}return h}var c=a.date.getHours(),d=a.date.getMinutes(),f=!a.params.time24,i=a.date.getHours()>12;f&&i&&(c-=12);var j=b("time time-hours",c,f?1:0,f?12:23,q),k=b("time time-minutes",d,0,59,r),l=null;if(g=e("td",h),g.className="time ampm-select",g.colSpan=a.params.weekNumbers?1:2,f){var m=!0,n=Date.parseFieldDate(a.inputField.getAttribute("data-alt-value"),a.params.dateFormat,"gregorian");i=n.getHours()>12;var o=e("select",g);o.className="time-ampm",o.style.width="100%",o.options.add(new Option(JoomlaCalLocale.PM,"pm",i?m:"",i?m:"")),o.options.add(new Option(JoomlaCalLocale.AM,"am",i?"":m,i?"":m)),l=o,l.addEventListener("change",function(b){a.updateTime(b.target.parentNode.parentNode.childNodes[1].childNodes[0].value,b.target.parentNode.parentNode.childNodes[2].childNodes[0].value,b.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}else g.innerHTML=" ",g.colSpan=a.params.weekNumbers?4:3;j.addEventListener("change",function(b){a.updateTime(b.target.parentNode.parentNode.childNodes[1].childNodes[0].value,b.target.parentNode.parentNode.childNodes[2].childNodes[0].value,b.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1),k.addEventListener("change",function(b){a.updateTime(b.target.parentNode.parentNode.childNodes[1].childNodes[0].value,b.target.parentNode.parentNode.childNodes[2].childNodes[0].value,b.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}()}h=e("tr",o),h.className="btn-row";var s=this.inputField.hasAttribute("required")?"none;":"block;";if(this._nav_save=j(''+JoomlaCalLocale.save+"",2,100,"td",{textAlign:"center"}),!this.inputField.hasAttribute("required")){var t=h.querySelector('a[data-action="clear"]');t.addEventListener("click",function(b){var c=t.parentNode.parentNode;"TD"===c.tagName&&a.cellClick(a._nav_save,b)},!0)}if(this.params.showsTodayBtn){this._nav_now=j(''+JoomlaCalLocale.today+"",this.params.weekNumbers?4:3,0,"td",{textAlign:"center"});var u=h.querySelector('a[data-action="today"]');u.addEventListener("click",function(b){var c=u.parentNode.parentNode;"TD"===c.tagName&&a.cellClick(a._nav_now,b)},!0)}else g=e("td",h),g.innerHTML=" ",g.colSpan=this.params.weekNumbers?4:3;this._nav_exit=j(''+JoomlaCalLocale.exit+"",2,200,"td",{textAlign:"center"});var v=h.querySelector('a[data-action="exit"]');v.addEventListener("click",function(b){var c=v.parentNode.parentNode;"TD"===c.tagName&&a.cellClick(a._nav_exit,b)},!0),this.processCalendar()},c.prototype.processCalendar=function(){this.table.style.visibility="hidden";var a=this.params.firstDayOfWeek,b=this.date,c=new Date,d=c.getLocalFullYear(this.params.dateType),e=c.getLocalMonth(this.params.dateType),f=c.getLocalDate(this.params.dateType),g=b.getOtherFullYear(this.params.dateType),h=b.getHours(),i=b.getMinutes(),k=(b.getSeconds(),!this.params.time24);gthis.params.maxYear&&(g=this.params.maxYear,b.getOtherFullYear(this.params.dateType,g)),this.params.firstDayOfWeek=a,this.date=new Date(b);var l=b.getLocalMonth(this.params.dateType),m=b.getLocalDate(this.params.dateType);b.setLocalDate(this.params.dateType,1);var n=(b.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;n<0&&(n+=7),b.setLocalDate(this.params.dateType,-n),b.setLocalDate(this.params.dateType,b.getLocalDate(this.params.dateType)+1);for(var o=this.tbody.firstChild,p=this.ar_days=new Array,q=JoomlaCalLocale.weekend,r=parseInt(b.getLocalWeekDays(this.params.dateType)),s=0;s12&&k&&(h-=12),h=h<10?"0"+h:h,i=i<10?"0"+i:i;var B=this.table.querySelector(".time-hours"),C=this.table.querySelector(".time-minutes");if(this.resetSelected(B),B.value=h,this.resetSelected(C),C.value=i,!this.params.time24){var D=new Date(this.inputField.getAttribute("data-alt-value")),E=this.table.querySelector(".time-ampm"),F=D.getHours();F>12&&(this.resetSelected(E),E.value="pm")}}if(this.params.compressedHeader){var G=Date.convertNumbers(g.toString());this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.monthBefore?G+" - "+JoomlaCalLocale.months[l]:JoomlaCalLocale.months[l]+" - "+G}else this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.debug?l+" "+JoomlaCalLocale.months[l]:JoomlaCalLocale.months[l],this.title.getElementsByTagName("span")[0].innerHTML=this.params.debug?g+" "+Date.convertNumbers(g.toString()):Date.convertNumbers(g.toString());this.table.style.visibility="visible"},c.prototype._bindEvents=function(){var a=this;this.inputField.addEventListener("focus",function(){a.show()},!0),this.inputField.addEventListener("blur",function(b){if(null==b.relatedTarget||!(b.relatedTarget.classList.contains("time-hours")||b.relatedTarget.classList.contains("time-minutes")||b.relatedTarget.classList.contains("time-ampm"))){for(var c=b.target;c.parentNode;)if(c=c.parentNode,c.classList.contains("field-calendar"))return;a.close()}},!0),this.button.addEventListener("click",function(){a.show()},!1)};var d=function(b){return b||(b=a.event),b.preventDefault(),b.stopPropagation(),!1},e=function(a,c){var d=null;return d=b.createElement(a),"undefined"!=typeof c&&c.appendChild(d),d},f=function(a){return!isNaN(a)&&function(a){return(0|a)===a}(parseFloat(a))},g=function(a,b){var c=new Date,d=c.getLocalFullYear(b);return d+a};Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=this.length>>>0,c=Number(arguments[1])||0;for(c=c<0?Math.ceil(c):Math.floor(c),c<0&&(c+=b);c0;){var row=rows[--i];var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j]}}this.dropdownElement.style.display="block";this.hidden=false;document.addEventListener("keydown",this._calKeyEvent,true);document.addEventListener("keypress",this._calKeyEvent,true);document.addEventListener("mousedown",this._documentClick,true);var containerTmp=this.element.querySelector(".js-calendar");if(window.innerHeight+window.scrollYself.params.minYear){date.setOtherFullYear(self.params.dateType,year-1)}break;case-1:var day=date.getLocalDate(self.params.dateType);if(mon>0){var max=date.getLocalMonthDays(self.params.dateType,mon-1);if(day>max)date.setLocalDate(self.params.dateType,max);date.setLocalMonth(self.params.dateType,mon-1)}else if(year-->self.params.minYear){date.setOtherFullYear(self.params.dateType,year);var max=date.getLocalMonthDays(self.params.dateType,11);if(day>max)date.setLocalDate(self.params.dateType,max);date.setLocalMonth(self.params.dateType,11)}break;case 1:var day=date.getLocalDate(self.params.dateType);if(mon<11){var max=date.getLocalMonthDays(self.params.dateType,mon+1);if(day>max)date.setLocalDate(self.params.dateType,max);date.setLocalMonth(self.params.dateType,mon+1)}else if(yearmax)date.setLocalDate(self.params.dateType,max);date.setLocalMonth(self.params.dateType,0)}break;case 2:if(!self.params.compressedHeader)if(year48||K<57||K===186||K===189||K===190||K===32))return stopCalEvent(ev)};JoomlaCalendar.prototype._create=function(){var self=this,parent=this.element,table=createElement("table"),div=createElement("div");this.table=table;table.className="table";table.cellSpacing=0;table.cellPadding=0;table.style.marginBottom=0;this.dropdownElement=div;parent.appendChild(div);if(this.params.direction){div.style.direction=this.params.direction}div.className="js-calendar";div.style.position="absolute";div.style.boxShadow="0px 0px 70px 0px rgba(0,0,0,0.67)";div.style.minWidth=this.inputField.width;div.style.padding="0";div.style.display="none";div.style.left="auto";div.style.top="auto";div.style.zIndex=1060;div.style.borderRadius="20px";this.wrapper=createElement("div");this.wrapper.className="calendar-container";div.appendChild(this.wrapper);this.wrapper.appendChild(table);var thead=createElement("thead",table);thead.className="calendar-header";var cell=null,row=null,cal=this,hh=function(text,cs,navtype,node,styles,classes){node=node?node:"td";classes=classes?'class="'+classes+'"':"";styles=styles?styles:{};cell=createElement(node,row);cell.colSpan=cs;for(var key in styles){cell.style[key]=styles[key]}if(navtype!=0&&Math.abs(navtype)<=2){cell.className+=" nav"}cell.addEventListener("mousedown",self._dayMouseDown,true);cell.calendar=cal;cell.navtype=navtype;if(navtype!=0&&Math.abs(navtype)<=2){cell.innerHTML=""+text+""}else{cell.innerHTML="
"+text+"
"}return cell};if(this.params.compressedHeader===false){row=createElement("tr",thead);row.className="calendar-head-row";this._nav_py=hh("‹",1,-2,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-year");this.title=hh('
',this.params.weekNumbers?6:5,300);this.title.className="title";this._nav_ny=hh(" ›",1,2,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-year")}row=createElement("tr",thead);row.className="calendar-head-row";this._nav_pm=hh("‹",1,-1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-month");this._nav_month=hh('
',this.params.weekNumbers?6:5,888,"td",{textAlign:"center"});this._nav_month.className="title";this._nav_nm=hh(" ›",1,1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-month");row=createElement("tr",thead);row.className="daynames";if(this.params.weekNumbers){cell=createElement("td",row);cell.className="day-name wn";cell.innerHTML=JoomlaCalLocale.wk}for(var i=7;i>0;--i){cell=createElement("td",row);if(!i){cell.calendar=self}}this.firstdayname=this.params.weekNumbers?row.firstChild.nextSibling:row.firstChild;var fdow=this.params.firstDayOfWeek,cell=this.firstdayname,weekend=JoomlaCalLocale.weekend;for(var i=0;i<7;++i){var realday=(i+fdow)%7;cell.classList.add("day-name");this.params.weekNumbers?cell.classList.add("day-name-week"):"";if(i){cell.calendar=self;cell.fdow=realday}if(weekend.indexOf(weekend)!=-1){cell.classList.add("weekend")}cell.innerHTML=JoomlaCalLocale.shortDays[(i+fdow)%7];cell=cell.nextSibling}var tbody=createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=createElement("tr",tbody);if(this.params.weekNumbers){cell=createElement("td",row)}for(var j=7;j>0;--j){cell=createElement("td",row);cell.calendar=this;cell.addEventListener("mousedown",this._dayMouseDown,true)}}if(this.params.showsTime){row=createElement("tr",tbody);row.className="time";cell=createElement("td",row);cell.className="time time-title";cell.colSpan=1;cell.style.verticalAlign="middle";cell.innerHTML=JoomlaCalLocale.time||" ";var cell1=createElement("td",row);cell1.className="time hours-select";cell1.colSpan=2;var cell2=createElement("td",row);cell2.className="time minutes-select";cell2.colSpan=2;(function(){function makeTimePart(className,selected,range_start,range_end,cellTml){var part=createElement("select",cellTml),num;part.calendar=self;part.className=className;part.setAttribute("data-chosen",true);part.style.width="100%";part.navtype=50;part._range=[];for(var i=range_start;i<=range_end;++i){var txt,selAttr="";if(i==selected)selAttr=true;if(i<10&&range_end>=10){num="0"+i;txt=Date.convertNumbers("0")+Date.convertNumbers(i)}else{num=""+i;txt=""+Date.convertNumbers(i)}part.options.add(new Option(txt,num,selAttr,selAttr))}return part}var hrs=self.date.getHours(),mins=self.date.getMinutes(),t12=!self.params.time24,pm=self.date.getHours()>12;if(t12&&pm){hrs-=12}var H=makeTimePart("time time-hours",hrs,t12?1:0,t12?12:23,cell1),M=makeTimePart("time time-minutes",mins,0,59,cell2),AP=null;cell=createElement("td",row);cell.className="time ampm-select";cell.colSpan=self.params.weekNumbers?1:2;if(t12){var selAttr=true,altDate=Date.parseFieldDate(self.inputField.getAttribute("data-alt-value"),self.params.dateFormat,"gregorian");pm=altDate.getHours()>12;var part=createElement("select",cell);part.className="time-ampm";part.style.width="100%";part.options.add(new Option(JoomlaCalLocale.PM,"pm",pm?selAttr:"",pm?selAttr:""));part.options.add(new Option(JoomlaCalLocale.AM,"am",pm?"":selAttr,pm?"":selAttr));AP=part;AP.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},false)}else{cell.innerHTML=" ";cell.colSpan=self.params.weekNumbers?4:3}H.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},false);M.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},false)})()}row=createElement("tr",tbody);row.className="btn-row";var clearAttr=this.inputField.hasAttribute("required")?"none;":"block;";this._nav_save=hh(''+JoomlaCalLocale.save+"",2,100,"td",{textAlign:"center"});if(!this.inputField.hasAttribute("required")){var savea=row.querySelector('a[data-action="clear"]');savea.addEventListener("click",function(e){var el=savea.parentNode.parentNode;if(el.tagName==="TD"){self.cellClick(self._nav_save,e)}},true)}if(this.params.showsTodayBtn){this._nav_now=hh(''+JoomlaCalLocale.today+"",this.params.weekNumbers?4:3,0,"td",{textAlign:"center"});var todaya=row.querySelector('a[data-action="today"]');todaya.addEventListener("click",function(e){var el=todaya.parentNode.parentNode;if(el.tagName==="TD"){self.cellClick(self._nav_now,e)}},true)}else{cell=createElement("td",row);cell.innerHTML=" ";cell.colSpan=this.params.weekNumbers?4:3}this._nav_exit=hh(''+JoomlaCalLocale.exit+"",2,200,"td",{textAlign:"center"});var exita=row.querySelector('a[data-action="exit"]');exita.addEventListener("click",function(e){var el=exita.parentNode.parentNode;if(el.tagName==="TD"){self.cellClick(self._nav_exit,e)}},true);this.processCalendar()};JoomlaCalendar.prototype.processCalendar=function(){this.table.style.visibility="hidden";var firstDayOfWeek=this.params.firstDayOfWeek,date=this.date,today=new Date,TY=today.getLocalFullYear(this.params.dateType),TM=today.getLocalMonth(this.params.dateType),TD=today.getLocalDate(this.params.dateType),year=date.getOtherFullYear(this.params.dateType),hrs=date.getHours(),mins=date.getMinutes(),secs=date.getSeconds(),t12=!this.params.time24;if(yearthis.params.maxYear){year=this.params.maxYear;date.getOtherFullYear(this.params.dateType,year)}this.params.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getLocalMonth(this.params.dateType);var mday=date.getLocalDate(this.params.dateType);date.setLocalDate(this.params.dateType,1);var day1=(date.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;if(day1<0){day1+=7}date.setLocalDate(this.params.dateType,-day1);date.setLocalDate(this.params.dateType,date.getLocalDate(this.params.dateType)+1);var row=this.tbody.firstChild,ar_days=this.ar_days=new Array,weekend=JoomlaCalLocale.weekend,monthDays=parseInt(date.getLocalWeekDays(this.params.dateType));for(var i=0;i12&&t12)hrs-=12;hrs=hrs<10?"0"+hrs:hrs;mins=mins<10?"0"+mins:mins;var hoursEl=this.table.querySelector(".time-hours"),minsEl=this.table.querySelector(".time-minutes");this.resetSelected(hoursEl);hoursEl.value=hrs;this.resetSelected(minsEl);minsEl.value=mins;if(!this.params.time24){var dateAlt=new Date(this.inputField.getAttribute("data-alt-value")),ampmEl=this.table.querySelector(".time-ampm"),hrsAlt=dateAlt.getHours();if(hrsAlt>12){this.resetSelected(ampmEl);ampmEl.value="pm"}}}if(!this.params.compressedHeader){this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.debug?month+" "+JoomlaCalLocale.months[month]:JoomlaCalLocale.months[month];this.title.getElementsByTagName("span")[0].innerHTML=this.params.debug?year+" "+Date.convertNumbers(year.toString()):Date.convertNumbers(year.toString())}else{var tmpYear=Date.convertNumbers(year.toString());this._nav_month.getElementsByTagName("span")[0].innerHTML=!this.params.monthBefore?JoomlaCalLocale.months[month]+" - "+tmpYear:tmpYear+" - "+JoomlaCalLocale.months[month]}this.table.style.visibility="visible"};JoomlaCalendar.prototype._bindEvents=function(){var self=this;this.inputField.addEventListener("focus",function(){self.show()},true);this.inputField.addEventListener("blur",function(event){if(event.relatedTarget!=null&&(event.relatedTarget.classList.contains("time-hours")||event.relatedTarget.classList.contains("time-minutes")||event.relatedTarget.classList.contains("time-ampm")))return;var elem=event.target;while(elem.parentNode){elem=elem.parentNode;if(elem.classList.contains("field-calendar"))return}self.close()},true);this.button.addEventListener("click",function(){self.show()},false)};var stopCalEvent=function(ev){ev||(ev=window.event);ev.preventDefault();ev.stopPropagation();return false};var createElement=function(type,parent){var el=null;el=document.createElement(type);if(typeof parent!="undefined"){parent.appendChild(el)}return el};var isInt=function(input){return!isNaN(input)&&function(x){return(x|0)===x}(parseFloat(input))};var getBoundary=function(input,type){var date=new Date;var y=date.getLocalFullYear(type);return y+input};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt){var len=this.length>>>0,from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0){from+=len}for(;from