%PDF- %PDF-
Direktori : /home1/lightco1/www/lightcolab.com/media/system/js/fields/ |
Current File : //home1/lightco1/www/lightcolab.com/media/system/js/fields/calendar.min.js |
!(function(window,document){'use strict';Date.convertNumbers=function(str){var str=str.toString();if(Object.prototype.toString.call(JoomlaCalLocale.localLangNumbers)==='[object Array]'){for(var i=0;i<JoomlaCalLocale.localLangNumbers.length;i++){str=str.replace(new RegExp(i,'g'),JoomlaCalLocale.localLangNumbers[i])}} return str};Date.toEnglish=function(str){str=this.toString();var nums=[0,1,2,3,4,5,6,7,8,9];for(var i=0;i<10;i++){str=str.replace(new RegExp(nums[i],'g'),i)} return str};var JoomlaCalendar=function(element){if(!element){throw new Error("Calendar setup failed:\n No valid element found, Please check your code")} if(typeof Date.parseFieldDate!=='function'){throw new Error("Calendar setup failed:\n No valid date helper, Please check your code")} if(element._joomlaCalendar){throw new Error('JoomlaCalendar instance already exists for the element')} element._joomlaCalendar=this;this.writable=!0;this.hidden=!0;this.params={};this.element=element;this.inputField=element.getElementsByTagName('input')[0];this.button=element.getElementsByTagName('button')[0];if(!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 self=this,btn=this.button,instanceParams={inputField:this.inputField,dateType:JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:'gregorian',direction:(document.dir!==undefined)?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir"),firstDayOfWeek:btn.getAttribute("data-firstday")?parseInt(btn.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:btn.getAttribute("data-min-year"),maxYearTmp:btn.getAttribute("data-max-year"),weekendTmp:btn.getAttribute("data-weekend"),time24:!0,showsOthers:(parseInt(btn.getAttribute("data-show-others"))===1)?!0:!1,showsTime:!0,weekNumbers:(parseInt(btn.getAttribute("data-week-numbers"))===1)?!0:!1,showsTodayBtn:!0,compressedHeader:(parseInt(btn.getAttribute("data-only-months-nav"))===1)?!0:!1,};if(btn.getAttribute("data-dayformat")){instanceParams.dateFormat=btn.getAttribute("data-dayformat")?btn.getAttribute("data-dayformat"):"%Y-%m-%d %H:%M:%S"} if(btn.getAttribute("data-time-24")){instanceParams.time24=parseInt(btn.getAttribute("data-time-24"))===24?!0:!1} if(btn.getAttribute("data-show-time")){instanceParams.showsTime=parseInt(btn.getAttribute("data-show-time"))===1?!0:!1} if(btn.getAttribute("data-today-btn")){instanceParams.showsTodayBtn=parseInt(btn.getAttribute("data-today-btn"))===1?!0:!1} for(var param in instanceParams){this.params[param]=instanceParams[param]} if(isInt(self.params.minYearTmp)){self.params.minYear=getBoundary(parseInt(self.params.minYearTmp),self.params.dateType)} if(isInt(self.params.maxYearTmp)){self.params.maxYear=getBoundary(parseInt(self.params.maxYearTmp),self.params.dateType)} if(self.params.weekendTmp!=="undefined"){self.params.weekend=self.params.weekendTmp.split(',').map(function(item){return parseInt(item,10)})} this._dayMouseDown=function(event){return self._handleDayMouseDown(event)};this._calKeyEvent=function(event){return self._handleCalKeyEvent(event)};this._documentClick=function(event){return self._handleDocumentClick(event)};this.checkInputs();if(this.inputField.getAttribute('readonly')){return} this._create();this._bindEvents()};JoomlaCalendar.prototype.checkInputs=function(){var inputAltValueDate=Date.parseFieldDate(this.inputField.getAttribute('data-alt-value'),this.params.dateFormat,'gregorian');if(this.inputField.value!==''){this.date=inputAltValueDate;this.inputField.value=inputAltValueDate.print(this.params.dateFormat,this.params.dateType,!0)}else{this.date=new Date()}};JoomlaCalendar.prototype.recreate=function(){var element=this.element,el=element.querySelector('.js-calendar');if(el){element._joomlaCalendar=null;el.parentNode.removeChild(el);new JoomlaCalendar(element)}};JoomlaCalendar.prototype.updateTime=function(hours,mins,secs){var self=this,date=self.date;var d=self.date.getLocalDate(self.params.dateType),m=self.date.getLocalMonth(self.params.dateType),y=self.date.getLocalFullYear(self.params.dateType),ampm=this.inputField.parentNode.parentNode.querySelectorAll('.time-ampm')[0];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){hours=0}} date.setHours(hours);date.setMinutes(parseInt(mins,10));date.setSeconds(date.getSeconds());date.setLocalFullYear(self.params.dateType,y);date.setLocalMonth(self.params.dateType,m);date.setLocalDate(self.params.dateType,d);self.dateClicked=!1;this.callHandler()};JoomlaCalendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this.date=date;this.processCalendar(this.params.firstDayOfWeek,date)}};JoomlaCalendar.prototype.moveCursorBy=function(step){var date=new Date(this.date);date.setDate(date.getDate()-step);this.setDate(date)};JoomlaCalendar.prototype.resetSelected=function(element){var options=element.options;var i=options.length;while(i--){var current=options[i];if(current.selected){current.selected=!1}}};JoomlaCalendar.prototype.callHandler=function(){this.inputField.setAttribute('data-alt-value',this.date.print(this.params.dateFormat,'gregorian',!1));if(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);if(this.params.dateType!=='gregorian'){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);if(typeof this.inputField.onchange=="function"){this.inputField.onchange()} if(this.dateClicked&&typeof this.params.onUpdate==="function"){this.params.onUpdate(this)} if(this.dateClicked){this.close()}else{this.processCalendar()}};JoomlaCalendar.prototype.close=function(){this.hide()};JoomlaCalendar.prototype.show=function(){if(navigator.appName.indexOf("Internet Explorer")!==-1){var badBrowser=(navigator.appVersion.indexOf("MSIE 9")===-1&&navigator.appVersion.indexOf("MSIE 1")===-1);if(badBrowser){if(window.jQuery&&jQuery().chosen){var selItems=this.element.getElementsByTagName('select');for(var i=0;i<selItems.length;i++){jQuery(selItems[i]).chosen('destroy')}}}} this.checkInputs();this.inputField.focus();this.dropdownElement.style.display="block";this.hidden=!1;document.addEventListener("keydown",this._calKeyEvent,!0);document.addEventListener("keypress",this._calKeyEvent,!0);document.addEventListener("mousedown",this._documentClick,!0);var containerTmp=this.element.querySelector('.js-calendar');if((window.innerHeight+window.scrollY)<containerTmp.getBoundingClientRect().bottom+20){containerTmp.style.marginTop=-(containerTmp.getBoundingClientRect().height+this.inputField.getBoundingClientRect().height)+"px"} this.processCalendar()};JoomlaCalendar.prototype.hide=function(){document.removeEventListener("keydown",this._calKeyEvent,!0);document.removeEventListener("keypress",this._calKeyEvent,!0);document.removeEventListener("mousedown",this._documentClick,!0);this.dropdownElement.style.display="none";this.hidden=!0};JoomlaCalendar.prototype._handleDocumentClick=function(ev){var el=ev.target;if(el!==null&&!el.classList.contains('time')){for(;el!==null&&el!==this.element;el=el.parentNode);} if(el===null){document.activeElement.blur();this.hide();return stopCalEvent(ev)}};JoomlaCalendar.prototype._handleDayMouseDown=function(ev){var self=this,el=ev.currentTarget,target=ev.target||ev.srcElement;if(target&&target.hasAttribute('data-action')){return} if(el.nodeName!=='TD'){var testel=el.getParent('TD');if(testel.nodeName==='TD'){el=testel}else{el=el.getParent('TD');if(el.classList.contains('js-calendar')){el=el.getElementsByTagName('table')[0]}}}else{if(!(target.classList.contains('js-btn'))&&!el.classList.contains('day')&&!el.classList.contains('title')){return}} if(!el||el.disabled){return!1} if(typeof el.navtype==="undefined"||el.navtype!==300){if(el.navtype===50){el._current=el.innerHTML} if(target===el||target.parentNode===el){self.cellClick(el,ev)} var mon=null;if(typeof el.month!=="undefined"){mon=el} if(typeof el.parentNode.month!=="undefined"){mon=el.parentNode} var date=null;if(mon){date=new Date(self.date);if(mon.month!==date.getLocalMonth(self.params.dateType)){date.setLocalMonth(self.params.dateType,mon.month);self.setDate(date);self.dateClicked=!1;this.callHandler()}}else{var year=null;if(typeof el.year!=="undefined"){year=target} if(typeof el.parentNode.year!=="undefined"){year=target.parentNode} if(year){date=new Date(self.date);if(year.year!==date.getLocalFullYear(self.params.dateType)){date.setFullYear(self.params.dateType,year.year);self.setDate(date);self.dateClicked=!1;this.callHandler()}}}} return stopCalEvent(ev)};JoomlaCalendar.prototype.cellClick=function(el,ev){var self=this,closing=!1,newdate=!1,date=null;if(typeof el.navtype==="undefined"){if(self.currentDateEl){el.classList.add("selected");self.currentDateEl=el.caldate;closing=(self.currentDateEl===el.caldate);if(!closing){self.currentDateEl=el.caldate}} self.date.setLocalDateOnly('gregorian',el.caldate);var other_month=!(self.dateClicked=!el.otherMonth);if(self.currentDateEl){newdate=!el.disabled} if(other_month){this.processCalendar()}}else{date=new Date(self.date);self.dateClicked=!1;var year=date.getOtherFullYear(self.params.dateType),mon=date.getLocalMonth(self.params.dateType);switch(el.navtype){case 400:break;case-2:if(!self.params.compressedHeader){if(year>self.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(year<self.params.maxYear){date.setOtherFullYear(self.params.dateType,year+1);var max=date.getLocalMonthDays(self.params.dateType,0);if(day>max){date.setLocalDate(self.params.dateType,max)} date.setLocalMonth(self.params.dateType,0)} break;case 2:if(!self.params.compressedHeader) if(year<self.params.maxYear){date.setOtherFullYear(self.params.dateType,year+1)} break;case 0:break} if(!date.equalsTo(self.date)){this.setDate(date);newdate=!0}else if(el.navtype===0){newdate=closing=!0}} if(newdate){if(self.params.showsTime){this.dateClicked=!1} ev&&this.callHandler()} el.classList.remove("hilite");if(closing&&!self.params.showsTime){self.dateClicked=!1;ev&&this.close()}};JoomlaCalendar.prototype._handleCalKeyEvent=function(ev){var self=this,K=ev.keyCode;if(ev.target===this.inputField&&(K===13||K===9)){this.close()} if(self.params.direction==='rtl'){if(K===37){K=39}else if(K===39){K=37}} if(K===32){if(ev.shiftKey){ev.preventDefault();this.cellClick(self._nav_now,ev);self.close()}} if(K===27){this.close()} if(K===38){this.moveCursorBy(7)} if(K===40){this.moveCursorBy(-7)} if(K===37){this.moveCursorBy(1)} if(K===39){this.moveCursorBy(-1)} if(ev.target===this.inputField&&!(K>48||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="<a "+classes+" style='display:inline;padding:2px 6px;cursor:pointer;text-decoration:none;' unselectable='on'>"+text+"</a>"}else{cell.innerHTML=cs?"<div unselectable='on'"+classes+">"+text+"</div>":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('<div style="text-align:center;font-size:18px"><span></span></div>',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('<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";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;i<days.length;i++){if(days[i].classList.contains('selected')){days[i].classList.remove('selected');break}} self.inputField.setAttribute('data-alt-value',"0000-00-00 00:00:00");self.inputField.setAttribute('value','');self.inputField.value=''})} if(this.params.showsTodayBtn){this._nav_now=hh(JoomlaCalLocale.today,'',0,'button','','js-btn btn btn-today',{"type":"button","data-action":"today"});var todaya=this.wrapper.querySelector('[data-action="today"]');todaya.addEventListener('click',function(e){e.preventDefault();self.date.setLocalDateOnly('gregorian',new Date());self.dateClicked=!0;self.callHandler();self.close()})} this._nav_exit=hh(JoomlaCalLocale.exit,'',999,'button','','js-btn btn btn-exit',{"type":"button","data-action":"exit"});var exita=this.wrapper.querySelector('[data-action="exit"]');exita.addEventListener('click',function(e){e.preventDefault();if(!self.dateClicked){if(self.inputField.value){if(self.params.dateType!=='gregorian'){self.inputField.setAttribute('data-local-value',self.inputField.value)} if(typeof self.dateClicked==='undefined'){self.inputField.setAttribute('data-alt-value',Date.parseFieldDate(self.inputField.value,self.params.dateFormat,self.params.dateType).print(self.params.dateFormat,'gregorian',!1))}else{self.inputField.setAttribute('data-alt-value',self.date.print(self.params.dateFormat,'gregorian',!1))}}else{self.inputField.setAttribute('data-alt-value','0000-00-00 00:00:00')} self.date=Date.parseFieldDate(self.inputField.getAttribute('data-alt-value'),self.params.dateFormat,self.params.dateType)} self.close()});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(year<this.params.minYear){year=this.params.minYear;date.getOtherFullYear(this.params.dateType,year)}else if(year>this.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;i<monthDays;++i,row=row.nextSibling){var cell=row.firstChild;if(this.params.weekNumbers){cell.className="day wn";cell.innerHTML=date.getLocalWeekNumber(this.params.dateType);cell=cell.nextSibling} row.className=this.params.weekNumbers?"daysrow wk":"daysrow";var hasdays=!1,iday,dpos=ar_days[i]=[],totalDays=monthDays+1;for(var j=0;j<totalDays;++j,cell=cell.nextSibling,date.setLocalDate(this.params.dateType,iday+1)){cell.className="day";cell.style.textAlign='center';iday=date.getLocalDate(this.params.dateType);var wday=date.getLocalDay(this.params.dateType);cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getLocalMonth(this.params.dateType)===month);if(!current_month){if(this.params.showsOthers){cell.className+=" disabled othermonth ";cell.otherMonth=!0}else{cell.className+=" emptycell";cell.innerHTML=" ";cell.disabled=!0;continue}}else{cell.otherMonth=!1;hasdays=!0;cell.style.cursor="pointer"} cell.disabled=!1;cell.innerHTML=this.params.debug?iday:Date.convertNumbers(iday);if(!cell.disabled){cell.caldate=new Date(date);if(current_month&&iday===mday){cell.className+=" selected";this.currentDateEl=cell} if(date.getLocalFullYear(this.params.dateType)===TY&&date.getLocalMonth(this.params.dateType)===TM&&iday===TD){cell.className+=" today"} if(weekend.indexOf(wday)!==-1) cell.className+=" weekend"}} if(!(hasdays||this.params.showsOthers)){row.style.display='none';row.className="emptyrow"}else{row.style.display=''}} if(this.params.showsTime){if(hrs>12&&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<len;from++){if(from in this&&this[from]===elt){return from}} return-1}} JoomlaCalendar.getCalObject=function(element){if(!element){return!1} while(element.parentNode){element=element.parentNode;if(element.classList.contains('field-calendar')){return element}} return!1};JoomlaCalendar.prototype.setAltValue=function(){var input=this.inputField;if(input.getAttribute('disabled'))return;input.value=input.getAttribute('data-alt-value')?input.getAttribute('data-alt-value'):''};JoomlaCalendar.onSubmit=function(){Joomla=window.Joomla||{};if(!Joomla.calendarProcessed){Joomla.calendarProcessed=!0;var elements=document.querySelectorAll(".field-calendar");for(var i=0;i<elements.length;i++){var element=elements[i],instance=element._joomlaCalendar;if(instance){instance.setAltValue()}}}};JoomlaCalendar.init=function(element,container){window.JoomlaCalLocale=window.JoomlaCalLocale?JoomlaCalLocale:{};JoomlaCalLocale.today=JoomlaCalLocale.today?JoomlaCalLocale.today:'today';JoomlaCalLocale.weekend=JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6];JoomlaCalLocale.localLangNumbers=JoomlaCalLocale.localLangNumbers?JoomlaCalLocale.localLangNumbers:[0,1,2,3,4,5,6,7,8,9];JoomlaCalLocale.wk=JoomlaCalLocale.wk?JoomlaCalLocale.wk:'wk';JoomlaCalLocale.AM=JoomlaCalLocale.AM?JoomlaCalLocale.AM:'AM';JoomlaCalLocale.PM=JoomlaCalLocale.PM?JoomlaCalLocale.PM:'PM';JoomlaCalLocale.am=JoomlaCalLocale.am?JoomlaCalLocale.am:'am';JoomlaCalLocale.pm=JoomlaCalLocale.pm?JoomlaCalLocale.pm:'pm';JoomlaCalLocale.dateType=JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:'gregorian';JoomlaCalLocale.time=JoomlaCalLocale.time?JoomlaCalLocale.time:'time';JoomlaCalLocale.days=JoomlaCalLocale.days?JoomlaCalLocale.days:'["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]';JoomlaCalLocale.shortDays=JoomlaCalLocale.shortDays?JoomlaCalLocale.shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"];JoomlaCalLocale.months=JoomlaCalLocale.months?JoomlaCalLocale.months:["January","February","March","April","May","June","July","August","September","October","November","December"];JoomlaCalLocale.shortMonths=JoomlaCalLocale.shortMonths?JoomlaCalLocale.shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];JoomlaCalLocale.minYear=JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900;JoomlaCalLocale.maxYear=JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100;JoomlaCalLocale.exit=JoomlaCalLocale.exit?JoomlaCalLocale.exit:'Cancel';JoomlaCalLocale.clear=JoomlaCalLocale.clear?JoomlaCalLocale.clear:'Clear';var instance=element._joomlaCalendar;if(!instance){new JoomlaCalendar(element)}else{instance.recreate()} if(element&&element.getElementsByTagName('input')[0]&&element.getElementsByTagName('input')[0].form&&!element.getElementsByTagName('input')[0].disabled){element.getElementsByTagName('input')[0].form.addEventListener('submit',JoomlaCalendar.onSubmit)}};window.JoomlaCalendar=JoomlaCalendar;document.addEventListener("DOMContentLoaded",function(){var elements,i;elements=document.querySelectorAll(".field-calendar");for(i=0;i<elements.length;i++){JoomlaCalendar.init(elements[i])} window.jQuery&&jQuery(document).on("subform-row-add",function(event,row){elements=row.querySelectorAll(".field-calendar");for(i=0;i<elements.length;i++){JoomlaCalendar.init(elements[i])}});window.Calendar={};Calendar.setup=function(obj){if(obj.inputField&&document.getElementById(obj.inputField)){var element=document.getElementById(obj.inputField),cal=element.parentNode.querySelectorAll('button')[0];for(var property in obj){if(obj.hasOwnProperty(property)){switch(property){case 'ifFormat':if(cal)cal.setAttribute('data-dayformat',obj.ifFormat);break;case 'firstDay':if(cal)cal.setAttribute('data-firstday',parseInt(obj.firstDay));break;case 'weekNumbers':if(cal)cal.setAttribute('data-week-numbers',(obj.weekNumbers==="true"||obj.weekNumbers===!0)?'1':'0');break;case 'showOthers':if(cal)cal.setAttribute('data-show-others',(obj.showOthers==="true"||obj.showOthers===!0)?'1':'0');break;case 'showsTime':if(cal)cal.setAttribute('data-show-time',(obj.showsTime==="true"||obj.showsTime===!0)?'1':'0');break;case 'timeFormat':if(cal)cal.setAttribute('data-time-24',parseInt(obj.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}}} JoomlaCalendar.init(element.parentNode.parentNode)} return null}})})(window,document)