diff --git a/media/system/js/fields/calendar.js b/media/system/js/fields/calendar.js index 0d0a1ba80fef0..36581ec4a50a6 100644 --- a/media/system/js/fields/calendar.js +++ b/media/system/js/fields/calendar.js @@ -178,7 +178,7 @@ if (!self.params.time24) { if (/pm/i.test(ampm.value) && hours < 12) { hours = parseInt(hours) + 12; - } else if (/am/i.test(ampm.value) && hours === 12) { + } else if (/am/i.test(ampm.value) && hours == 12) { hours = 0; } } @@ -748,7 +748,7 @@ if (t12) { var selAttr = true, altDate = Date.parseFieldDate(self.inputField.getAttribute('data-alt-value'), self.params.dateFormat, 'gregorian'); - pm = (altDate.getHours() > 12); + pm = (altDate.getHours() >= 12); var part = createElement("select", cell); part.className = "time-ampm"; @@ -963,7 +963,14 @@ /* remove the selected class for the hours*/ this.resetSelected(hoursEl); - hoursEl.value = hrs; + if (!this.params.time24) + { + hoursEl.value = (hrs == "00") ? "12" : hrs; + } + else + { + hoursEl.value = hrs; + } /* remove the selected class for the minutes*/ this.resetSelected(minsEl); diff --git a/media/system/js/fields/calendar.min.js b/media/system/js/fields/calendar.min.js index 5b40dfa5de2aa..fdcda3462d44e 100644 --- a/media/system/js/fields/calendar.min.js +++ b/media/system/js/fields/calendar.min.js @@ -1 +1,112 @@ -!function(e,a){"use strict";Date.convertNumbers=function(e){var e=e.toString();if("[object Array]"===Object.prototype.toString.call(JoomlaCalLocale.localLangNumbers))for(var a=0;at;t++)e=e.replace(new RegExp(a[t],"g"),t);return e};var t=function(e){if(!e)throw new Error("Calendar setup failed:\n No valid element found, Please check your code");if("function"!=typeof Date.parseFieldDate)throw new Error("Calendar setup failed:\n No valid date helper, Please check your code");if(e._joomlaCalendar)throw new Error("JoomlaCalendar instance already exists for the element");if(e._joomlaCalendar=this,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:\n No valid input found, Please check your code");this.params={debug:!1,clicked:!1,element:{style:{display:"none"}},writable:!0};var t=this,r=this.button,s={inputField:this.inputField,dateType:JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:"gregorian",direction:void 0!==a.dir?a.dir:a.getElementsByTagName("html")[0].getAttribute("dir"),firstDayOfWeek:r.getAttribute("data-firstday")?parseInt(r.getAttribute("data-firstday")):0,dateFormat:"%Y-%m-%d %H:%M:%S",weekend:JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6],minYear:JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900,maxYear:JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100,minYearTmp:r.getAttribute("data-min-year"),maxYearTmp:r.getAttribute("data-max-year"),weekendTmp:r.getAttribute("data-weekend"),time24:!0,showsOthers:1===parseInt(r.getAttribute("data-show-others"))?!0:!1,showsTime:!0,weekNumbers:1===parseInt(r.getAttribute("data-week-numbers"))?!0:!1,showsTodayBtn:!0,compressedHeader:1===parseInt(r.getAttribute("data-only-months-nav"))?!0:!1};r.getAttribute("data-dayformat")&&(s.dateFormat=r.getAttribute("data-dayformat")?r.getAttribute("data-dayformat"):"%Y-%m-%d %H:%M:%S"),r.getAttribute("data-time-24")&&(s.time24=24===parseInt(r.getAttribute("data-time-24"))?!0:!1),r.getAttribute("data-show-time")&&(s.showsTime=1===parseInt(r.getAttribute("data-show-time"))?!0:!1),r.getAttribute("data-today-btn")&&(s.showsTodayBtn=1===parseInt(r.getAttribute("data-today-btn"))?!0:!1);for(var i in s)this.params[i]=s[i];l(t.params.minYearTmp)&&(t.params.minYear=o(parseInt(t.params.minYearTmp),t.params.dateType)),l(t.params.maxYearTmp)&&(t.params.maxYear=o(parseInt(t.params.maxYearTmp),t.params.dateType)),"undefined"!==t.params.weekendTmp&&(t.params.weekend=t.params.weekendTmp.split(",").map(function(e){return parseInt(e,10)})),this._dayMouseDown=function(e){return t._handleDayMouseDown(e)},this._calKeyEvent=function(e){return t._handleCalKeyEvent(e)},this._documentClick=function(e){return t._handleDocumentClick(e)},this.checkInputs(),this.inputField.getAttribute("readonly")||(this._create(),this._bindEvents())};t.prototype.checkInputs=function(){var e=Date.parseFieldDate(this.inputField.getAttribute("data-alt-value"),this.params.dateFormat,"gregorian");""!==this.inputField.value?(this.date=e,this.inputField.value=e.print(this.params.dateFormat,this.params.dateType,!0)):this.date=new Date},t.prototype.recreate=function(){var e=this.element,a=e.querySelector(".js-calendar");a&&(e._joomlaCalendar=null,a.parentNode.removeChild(a),new t(e))},t.prototype.updateTime=function(e,a,t){var r=this,s=r.date,l=r.date.getLocalDate(r.params.dateType),o=r.date.getLocalMonth(r.params.dateType),i=r.date.getLocalFullYear(r.params.dateType),n=this.inputField.parentNode.parentNode.querySelectorAll(".time-ampm")[0];r.params.time24||(/pm/i.test(n.value)&&12>e?e=parseInt(e)+12:/am/i.test(n.value)&&12===e&&(e=0)),s.setHours(e),s.setMinutes(parseInt(a,10)),s.setSeconds(s.getSeconds()),s.setLocalFullYear(r.params.dateType,i),s.setLocalMonth(r.params.dateType,o),s.setLocalDate(r.params.dateType,l),r.dateClicked=!1,this.callHandler()},t.prototype.setDate=function(e){e.equalsTo(this.date)||(this.date=e,this.processCalendar(this.params.firstDayOfWeek,e))},t.prototype.moveCursorBy=function(e){var a=new Date(this.date);a.setDate(a.getDate()-e),this.setDate(a)},t.prototype.resetSelected=function(e){for(var a=e.options,t=a.length;t--;){var r=a[t];r.selected&&(r.selected=!1)}},t.prototype.callHandler=function(){this.inputField.setAttribute("data-alt-value",this.date.print(this.params.dateFormat,"gregorian",!1)),this.inputField.getAttribute("data-alt-value")&&"0000-00-00 00:00:00"!==this.inputField.getAttribute("data-alt-value")&&(this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0),"gregorian"!==this.params.dateType&&this.inputField.setAttribute("data-local-value",this.date.print(this.params.dateFormat,this.params.dateType,!0))),this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0),"function"==typeof this.inputField.onchange&&this.inputField.onchange(),this.dateClicked&&"function"==typeof this.params.onUpdate&&this.params.onUpdate(this),this.dateClicked?this.close():this.processCalendar()},t.prototype.close=function(){a.activeElement.blur(),this.hide()},t.prototype.show=function(){if(-1!==navigator.appName.indexOf("Internet Explorer")){var t=-1===navigator.appVersion.indexOf("MSIE 9")&&-1===navigator.appVersion.indexOf("MSIE 1");if(t&&e.jQuery&&jQuery().chosen)for(var r=this.element.getElementsByTagName("select"),s=0;st.params.minYear&&l.setOtherFullYear(t.params.dateType,i-1);break;case-1:var d=l.getLocalDate(t.params.dateType);if(n>0){var p=l.getLocalMonthDays(t.params.dateType,n-1);d>p&&l.setLocalDate(t.params.dateType,p),l.setLocalMonth(t.params.dateType,n-1)}else if(i-->t.params.minYear){l.setOtherFullYear(t.params.dateType,i);var p=l.getLocalMonthDays(t.params.dateType,11);d>p&&l.setLocalDate(t.params.dateType,p),l.setLocalMonth(t.params.dateType,11)}break;case 1:var d=l.getLocalDate(t.params.dateType);if(11>n){var p=l.getLocalMonthDays(t.params.dateType,n+1);d>p&&l.setLocalDate(t.params.dateType,p),l.setLocalMonth(t.params.dateType,n+1)}else if(ip&&l.setLocalDate(t.params.dateType,p),l.setLocalMonth(t.params.dateType,0)}break;case 2:t.params.compressedHeader||i48||57>t||186===t||189===t||190===t||32===t?void 0:r(e)},t.prototype._create=function(){var e=this,a=this.element,t=s("table"),r=s("div");this.table=t,t.className="table",t.cellSpacing=0,t.cellPadding=0,t.style.marginBottom=0,this.dropdownElement=r,a.appendChild(r),this.params.direction&&(r.style.direction=this.params.direction),r.className="js-calendar",r.style.position="absolute",r.style.boxShadow="0px 0px 70px 0px rgba(0,0,0,0.67)",r.style.minWidth=this.inputField.width,r.style.padding="0",r.style.display="none",r.style.left="auto",r.style.top="auto",r.style.zIndex=1060,r.style.borderRadius="20px",this.wrapper=s("div"),this.wrapper.className="calendar-container",r.appendChild(this.wrapper),this.wrapper.appendChild(t);var l=s("thead",t);l.className="calendar-header";var o=null,i=null,n=this,d=function(a,t,r,l,d,p,m){l=l?l:"td",d=d?d:{},o=s(l,i),t&&(p=p?'class="'+p+'"':"",o.colSpan=t);for(var c in d)o.style[c]=d[c];for(var c in m)o.setAttribute(c,m[c]);return 0!==r&&Math.abs(r)<=2&&(o.className+=" nav"),t&&o.addEventListener("mousedown",e._dayMouseDown,!0),o.calendar=n,o.navtype=r,0!==r&&Math.abs(r)<=2?o.innerHTML=""+a+"":(o.innerHTML=t?"
"+a+"
":a,!t&&p&&(o.className=p)),o};this.params.compressedHeader===!1&&(i=s("tr",l),i.className="calendar-head-row",this._nav_py=d("‹",1,-2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-prev-year"),this.title=d('
',this.params.weekNumbers?6:5,300),this.title.className="title",this._nav_ny=d(" ›",1,2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-next-year")),i=s("tr",l),i.className="calendar-head-row",this._nav_pm=d("‹",1,-1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-month"),this._nav_month=d('
',this.params.weekNumbers?6:5,888,"td",{textAlign:"center"}),this._nav_month.className="title",this._nav_nm=d(" ›",1,1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-month"),i=s("tr",l),i.className=e.params.weekNumbers?"daynames wk":"daynames",this.params.weekNumbers&&(o=s("td",i),o.className="day-name wn",o.innerHTML=JoomlaCalLocale.wk);for(var p=7;p>0;--p)o=s("td",i),p||(o.calendar=e);this.firstdayname=this.params.weekNumbers?i.firstChild.nextSibling:i.firstChild;for(var m=this.params.firstDayOfWeek,o=this.firstdayname,c=JoomlaCalLocale.weekend,p=0;7>p;++p){var u=(p+m)%7;o.classList.add("day-name"),this.params.weekNumbers?o.classList.add("day-name-week"):"",p&&(o.calendar=e,o.fdow=u),-1!==c.indexOf(c)&&o.classList.add("weekend"),o.innerHTML=JoomlaCalLocale.shortDays[(p+m)%7],o=o.nextSibling}var h=s("tbody",t);for(this.tbody=h,p=6;p>0;--p){i=s("tr",h),this.params.weekNumbers&&(o=s("td",i));for(var y=7;y>0;--y)o=s("td",i),o.calendar=this,o.addEventListener("mousedown",this._dayMouseDown,!0)}if(this.params.showsTime){i=s("tr",h),i.className="time",o=s("td",i),o.className="time time-title",o.colSpan=1,o.style.verticalAlign="middle",o.innerHTML=" ";var v=s("td",i);v.className="time hours-select",v.colSpan=2;var g=s("td",i);g.className="time minutes-select",g.colSpan=2,function(){function a(a,t,r,l,o){var i,n=s("select",o);n.calendar=e,n.className=a,n.setAttribute("data-chosen",!0),n.style.width="100%",n.navtype=50,n._range=[];for(var d=r;l>=d;++d){var p,m="";d===t&&(m=!0),10>d&&l>=10?(i="0"+d,p=Date.convertNumbers("0")+Date.convertNumbers(d)):(i=""+d,p=""+Date.convertNumbers(d)),n.options.add(new Option(p,i,m,m))}return n}var t=e.date.getHours(),r=e.date.getMinutes(),l=!e.params.time24,n=e.date.getHours()>12;l&&n&&(t-=12);var d=a("time time-hours",t,l?1:0,l?12:23,v),p=a("time time-minutes",r,0,59,g),m=null;if(o=s("td",i),o.className="time ampm-select",o.colSpan=e.params.weekNumbers?1:2,l){var c=!0,u=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,"gregorian");n=u.getHours()>12;var h=s("select",o);h.className="time-ampm",h.style.width="100%",h.options.add(new Option(JoomlaCalLocale.PM,"pm",n?c:"",n?c:"")),h.options.add(new Option(JoomlaCalLocale.AM,"am",n?"":c,n?"":c)),m=h,m.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}else o.innerHTML=" ",o.colSpan=e.params.weekNumbers?3:2;d.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1),p.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}()}if(i=s("div",this.wrapper),i.className="buttons-wrapper btn-group",this._nav_save=d(JoomlaCalLocale.save,"",100,"button","","js-btn btn btn-clear",{type:"button","data-action":"clear"}),!this.inputField.hasAttribute("required")){var f=i.querySelector('[data-action="clear"]');f.addEventListener("click",function(a){a.preventDefault();for(var t=e.table.querySelectorAll("td"),r=0;rthis.params.maxYear&&(o=this.params.maxYear,a.getOtherFullYear(this.params.dateType,o)),this.params.firstDayOfWeek=e,this.date=new Date(a);var p=a.getLocalMonth(this.params.dateType),m=a.getLocalDate(this.params.dateType);a.setLocalDate(this.params.dateType,1);var c=(a.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;0>c&&(c+=7),a.setLocalDate(this.params.dateType,-c),a.setLocalDate(this.params.dateType,a.getLocalDate(this.params.dateType)+1);for(var u=this.tbody.firstChild,h=this.ar_days=new Array,y=JoomlaCalLocale.weekend,v=parseInt(a.getLocalWeekDays(this.params.dateType)),g=0;v>g;++g,u=u.nextSibling){var f=u.firstChild;this.params.weekNumbers&&(f.className="day wn",f.innerHTML=a.getLocalWeekNumber(this.params.dateType),f=f.nextSibling),u.className=this.params.weekNumbers?"daysrow wk":"daysrow";for(var b,L=!1,C=h[g]=[],w=v+1,T=0;w>T;++T,f=f.nextSibling,a.setLocalDate(this.params.dateType,b+1)){f.className="day",f.style.textAlign="center",b=a.getLocalDate(this.params.dateType);var N=a.getLocalDay(this.params.dateType);f.pos=g<<4|T,C[T]=f;var D=a.getLocalMonth(this.params.dateType)===p;if(D)f.otherMonth=!1,L=!0,f.style.cursor="pointer";else{if(!this.params.showsOthers){f.className+=" emptycell",f.innerHTML=" ",f.disabled=!0;continue}f.className+=" disabled othermonth ",f.otherMonth=!0}f.disabled=!1,f.innerHTML=this.params.debug?b:Date.convertNumbers(b),f.disabled||(f.caldate=new Date(a),D&&b===m&&(f.className+=" selected",this.currentDateEl=f),a.getLocalFullYear(this.params.dateType)===r&&a.getLocalMonth(this.params.dateType)===s&&b===l&&(f.className+=" today"),-1!==y.indexOf(N)&&(f.className+=" weekend"))}L||this.params.showsOthers?u.style.display="":(u.style.display="none",u.className="emptyrow")}if(this.params.showsTime){i>12&&d&&(i-=12),i=10>i?"0"+i:i,n=10>n?"0"+n:n;var F=this.table.querySelector(".time-hours"),k=this.table.querySelector(".time-minutes");if(this.resetSelected(F),F.value=i,this.resetSelected(k),k.value=n,!this.params.time24){var J=new Date(this.inputField.getAttribute("data-alt-value")),A=this.table.querySelector(".time-ampm"),M=J.getHours();M>12&&(this.resetSelected(A),A.value="pm")}}if(this.params.compressedHeader){var x=Date.convertNumbers(o.toString());this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.monthBefore?x+" - "+JoomlaCalLocale.months[p]:JoomlaCalLocale.months[p]+" - "+x}else this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.debug?p+" "+JoomlaCalLocale.months[p]:JoomlaCalLocale.months[p],this.title.getElementsByTagName("span")[0].innerHTML=this.params.debug?o+" "+Date.convertNumbers(o.toString()):Date.convertNumbers(o.toString());this.table.style.visibility="visible"},t.prototype._bindEvents=function(){var e=this;this.inputField.addEventListener("blur",function(a){var r=t.getCalObject(this)._joomlaCalendar;if("block"===r.dropdownElement.style.display)return void a.preventDefault();if(r){if(r.inputField.value)if("undefined"==typeof r.params.dateClicked)if(r.inputField.setAttribute("data-local-value",r.inputField.value),"gregorian"!==r.params.dateType){var s,l=Date.parseFieldDate(r.inputField.value,r.params.dateFormat,r.params.dateType);s=Date.localCalToGregorian(l.getFullYear(),l.getMonth(),l.getDate()),l.setFullYear(s[0]),l.setMonth(s[1]),l.setDate(s[2]),r.inputField.setAttribute("data-alt-value",l.print(r.params.dateFormat,"gregorian",!1))}else r.inputField.setAttribute("data-alt-value",Date.parseFieldDate(r.inputField.value,r.params.dateFormat,r.params.dateType).print(r.params.dateFormat,"gregorian",!1));else r.inputField.setAttribute("data-alt-value",r.date.print(r.params.dateFormat,"gregorian",!1));else r.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");r.date=Date.parseFieldDate(r.inputField.getAttribute("data-alt-value"),r.params.dateFormat,r.params.dateType)}e.close()},!0),this.button.addEventListener("click",function(){e.show()},!1)};var r=function(a){return a||(a=e.event),a.preventDefault(),a.stopPropagation(),!1},s=function(e,t){var r=null;return r=a.createElement(e),"undefined"!=typeof t&&t.appendChild(r),r},l=function(e){return!isNaN(e)&&function(e){return(0|e)===e}(parseFloat(e))},o=function(e,a){var t=new Date,r=t.getLocalFullYear(a);return r+e};Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var a=this.length>>>0,t=Number(arguments[1])||0;for(t=0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=a);a>t;t++)if(t in this&&this[t]===e)return t;return-1}),t.getCalObject=function(e){if(!e)return!1;for(;e.parentNode;)if(e=e.parentNode,e.classList.contains("field-calendar"))return e;return!1},t.prototype.setAltValue=function(){var e=this.inputField;e.getAttribute("disabled")||(e.value=e.getAttribute("data-alt-value")?e.getAttribute("data-alt-value"):"")},t.onSubmit=function(){if(Joomla=e.Joomla||{},!Joomla.calendarProcessed){Joomla.calendarProcessed=!0;for(var t=a.querySelectorAll(".field-calendar"),r=0;rself.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,attributes){node=node?node:"td";styles=styles?styles:{};cell=createElement(node,row);if(cs){classes=classes?'class="'+classes+'"':'';cell.colSpan=cs} +for(var key in styles){cell.style[key]=styles[key]} +for(var key in attributes){cell.setAttribute(key,attributes[key])} +if(navtype!==0&&Math.abs(navtype)<=2){cell.className+=" nav"} +if(cs){cell.addEventListener("mousedown",self._dayMouseDown,!0)} +cell.calendar=cal;cell.navtype=navtype;if(navtype!==0&&Math.abs(navtype)<=2){cell.innerHTML=""+text+""}else{cell.innerHTML=cs?"
"+text+"
":text;if(!cs&&classes){cell.className=classes}} +return cell};if(this.params.compressedHeader===!1){row=createElement("tr",thead);row.className="calendar-head-row";this._nav_py=hh("‹",1,-2,'',{"text-align":"center","font-size":"18px","line-height":"18px"},'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":"18px","line-height":"18px"},'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=self.params.weekNumbers?"daynames wk":"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,!0)}} +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=" ";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',!0);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=!0} +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=!0,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)},!1)}else{cell.innerHTML=" ";cell.colSpan=self.params.weekNumbers?3:2} +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)},!1);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)},!1)})()} +row=createElement("div",this.wrapper);row.className="buttons-wrapper btn-group";this._nav_save=hh(JoomlaCalLocale.save,'',100,'button','','js-btn btn btn-clear',{"type":"button","data-action":"clear"});if(!this.inputField.hasAttribute('required')){var savea=row.querySelector('[data-action="clear"]');savea.addEventListener("click",function(e){e.preventDefault();var days=self.table.querySelectorAll('td');for(var i=0;ithis.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);if(!this.params.time24) +{hoursEl.value=(hrs=="00")?"12":hrs} +else{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('blur',function(event){var calObj=JoomlaCalendar.getCalObject(this)._joomlaCalendar;if(calObj.dropdownElement.style.display==='block'){event.preventDefault();return} +if(calObj){if(calObj.inputField.value){if(typeof calObj.params.dateClicked==='undefined'){calObj.inputField.setAttribute('data-local-value',calObj.inputField.value);if(calObj.params.dateType!=='gregorian'){var ndate,date=Date.parseFieldDate(calObj.inputField.value,calObj.params.dateFormat,calObj.params.dateType);ndate=Date.localCalToGregorian(date.getFullYear(),date.getMonth(),date.getDate());date.setFullYear(ndate[0]);date.setMonth(ndate[1]);date.setDate(ndate[2]);calObj.inputField.setAttribute('data-alt-value',date.print(calObj.params.dateFormat,'gregorian',!1))}else{calObj.inputField.setAttribute('data-alt-value',Date.parseFieldDate(calObj.inputField.value,calObj.params.dateFormat,calObj.params.dateType).print(calObj.params.dateFormat,'gregorian',!1))}}else{calObj.inputField.setAttribute('data-alt-value',calObj.date.print(calObj.params.dateFormat,'gregorian',!1))}}else{calObj.inputField.setAttribute('data-alt-value','0000-00-00 00:00:00')} +calObj.date=Date.parseFieldDate(calObj.inputField.getAttribute('data-alt-value'),calObj.params.dateFormat,calObj.params.dateType)} +self.close()},!0);this.button.addEventListener('click',function(){self.show()},!1)};var stopCalEvent=function(ev){ev||(ev=window.event);ev.preventDefault();ev.stopPropagation();return!1};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