New:Socket for Asana Is Now Available.Learn more
Sign In

@samhammer/cibulcalendar

Package Overview
Dependencies
Maintainers
8
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@samhammer/cibulcalendar - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+1
-1
package.json
{
"name": "@samhammer/cibulcalendar",
"version": "1.0.0",
"version": "1.0.1",
"description": "CibulCalendar is a date picker that enables users to easily pick dates or date ranges.",

@@ -5,0 +5,0 @@ "repository": {

@@ -0,1 +1,3 @@

## Only forked to publish npm package!
# Overview

@@ -2,0 +4,0 @@

@@ -605,3 +605,3 @@ /*!

getElementsByClassName(this.element, this.options.classes.originCalendar)[0].setAttribute('style', 'display:block;');
getElementsByClassName(this.element, this.options.classes.originCalendar)[0].style.display = 'block';
getElementsByClassName(this.element, this.options.classes.originCalendar)[0].className = this.options.classes.calendar;

@@ -615,3 +615,3 @@

if (!getElementsByClassName(this.element, this.options.classes.originCalendar).length) {
getElementsByClassName(this.element, this.options.classes.calendar)[0].setAttribute('style', 'display:none;');
getElementsByClassName(this.element, this.options.classes.calendar)[0].setAttribute.style.display = 'none';
getElementsByClassName(this.element, this.options.classes.calendar)[0].className = this.options.classes.originCalendar;

@@ -618,0 +618,0 @@ } else {

@@ -6,2 +6,2 @@ /*!

!function(e,t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var n=t();e.CibulCalendar=n.CibulCalendar,e.setCibulCalendar=n.setCibulCalendar}}(this,function(){"use strict";var e="ontouchstart"in window&&!/hp-tablet/gi.test(navigator.appVersion),t=function(e,t){t||(t={}),a(e)&&(s(this,{options:s({init:this._getMonthFirstDate(),range:!0,lang:"en",enabled:!0,firstDayOfWeek:1,selected:!1,filter:!1,template:'<div class="calhead"><ul class="calmonthnav"><li class="calprevmonth"><span>#navprev</span></li><li class="calmonth"><span class="month">#title</span></li><li class="calnextmonth"><span>#navnext</span></li></ul><ul class="calweekdays"><li><span>#wd0</span></li><li><span>#wd1</span></li><li><span>#wd2</span></li><li><span>#wd3</span></li><li><span>#wd4</span></li><li><span>#wd5</span></li><li><span>#wd6</span></li></ul></div><div class="calbody"><ul><li#cls00><span>#d00</span></li><li#cls01><span>#d01</span></li><li#cls02><span>#d02</span></li><li#cls03><span>#d03</span></li><li#cls04><span>#d04</span></li><li#cls05><span>#d05</span></li><li#cls06><span>#d06</span></li></ul><ul><li#cls07><span>#d07</span></li><li#cls08><span>#d08</span></li><li#cls09><span>#d09</span></li><li#cls10><span>#d10</span></li><li#cls11><span>#d11</span></li><li#cls12><span>#d12</span></li><li#cls13><span>#d13</span></li></ul><ul><li#cls14><span>#d14</span></li><li#cls15><span>#d15</span></li><li#cls16><span>#d16</span></li><li#cls17><span>#d17</span></li><li#cls18><span>#d18</span></li><li#cls19><span>#d19</span></li><li#cls20><span>#d20</span></li></ul><ul><li#cls21><span>#d21</span></li><li#cls22><span>#d22</span></li><li#cls23><span>#d23</span></li><li#cls24><span>#d24</span></li><li#cls25><span>#d25</span></li><li#cls26><span>#d26</span></li><li#cls27><span>#d27</span></li></ul><ul><li#cls28><span>#d28</span></li><li#cls29><span>#d29</span></li><li#cls30><span>#d30</span></li><li#cls31><span>#d31</span></li><li#cls32><span>#d32</span></li><li#cls33><span>#d33</span></li><li#cls34><span>#d34</span></li></ul><ul><li#cls35><span>#d35</span></li><li#cls36><span>#d36</span></li><li#cls37><span>#d37</span></li><li#cls38><span>#d38</span></li><li#cls39><span>#d39</span></li><li#cls40><span>#d40</span></li><li#cls41><span>#d41</span></li></ul></div>',classes:s({calendar:"ccal",locale:s({en:"en",fr:"fr",it:"it",es:"es",sv:"sv",no:"no",da:"da",ar:"ar",de:"de"}),navDomPrev:"calprevmonth",navDomNext:"calnextmonth",calendarBody:"calbody",selected:"selected",preSelected:"preselected",today:"today",month:"month",prevMonthDate:"calprev",nextMonthDate:"calnext",disabled:"disabled",originCalendar:"origincal"},t.classes?t.classes:{}),navDomContent:{prev:"<",next:">"},monthNames:s({en:["January","February","March","April","May","June","July","August","September","October","November","December"],fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],it:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],es:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Augosto","Septiembre","Octubre","Noviembre","Diciembre"],sv:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],no:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],da:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],ar:["دجمبر","نونبر","أكتوبر","شتمبر","غشت","يوليو","يونيو","ماي","أبريل","مارس","فبراير","يناير"],de:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},t.monthNames?t.monthNames:{}),weekDays:s({en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],it:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],es:["Dom","Lun","Mar","Mie","Jue","Vie","Sab"],sv:["Sön","Mån","Tid","Ons","Tor","Fre","Lör"],no:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],da:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],ar:["اﻷحد","السبت","الجمعة","الخميس","اﻷربعاء","الثلاتاء","اﻷتنين"],de:["Son","Mon","Die","Mit","Don","Fre","Sam"]},t.weekDays),switchMonthOnHoverDelay:800},t),displayedCalendarElement:!1,preSelection:!1,selecting:!1,element:e}),this.enabled=this.options.enabled,this.setSelected(this.options.selected),this._renderCalendar())};t.prototype={disable:function(){this.enabled=!1,u(i(this.element,this.options.classes.calendar)[0],this.options.classes.disabled)},enable:function(){this.enabled=!0,m(i(this.element,this.options.classes.calendar)[0],this.options.classes.disabled)},showNext:function(){this.enabled&&this._incDisplayedMonth()},showPrevious:function(){this.enabled&&this._decDisplayedMonth()},setSelected:function(e,t){e?("undefined"==typeof e.begin&&(e={begin:e,end:e}),"undefined"==typeof t&&(t=!0),this.selection=e.begin>e.end?{begin:e.end,end:e.begin}:e,this.selection&&t?this.setDisplayedMonth(new Date(this.selection.begin.getTime())):this._renderSelection(this.selection)):(this.selection=!1,this._clearSelectionRender())},setDisplayedMonth:function(e){this.displayedMonth=this._getMonthFirstDate(e),this._renderCalendar()},_getMonthFirstDate:function(e){return"undefined"==typeof e&&(e=new Date),new Date(e.getFullYear(),e.getMonth(),1)},_getSelected:function(){return"undefined"==typeof this.selection&&(this.selection=!1),this.selection},_getSelectedElements:function(){return i(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0],this.options.classes.selected)},_applyBehavior:function(){var e=this;o(i(this.displayedCalendarElement,this.options.classes.navDomPrev)[0],"click",function(t){e.showPrevious()}),o(i(this.displayedCalendarElement,this.options.classes.navDomNext)[0],"click",function(t){e.showNext()}),l(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0].getElementsByTagName("li"),function(t){e._applySelectionBehavior(t)}),o(i(this.displayedCalendarElement,this.options.classes.month)[0],"click",function(){e._selectMonth()})},_selectMonth:function(){if(this.enabled&&this.options.range){var e=this._getDisplayedMonth();this.setSelected({begin:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}),this._renderCalendar(),"undefined"!=typeof this.options.onSelect&&this.options.onSelect(this.selection)}},_applySelectionBehavior:function(e){var t=this;o(e,["touchstart","mousedown"],function(n){!t.selecting&&t.enabled&&(t.selecting=!0,t._beginPreselection(e))}),o(e,["mouseover","touchmove"],function(n){t.selecting&&t.enabled&&t._updatePreselection(t._getActualListItem(e,n))}),o(e,["mouseup","touchend"],function(n){t.selecting&&t.enabled&&(t.selecting=!1,t._completePreselection(e),i(t.element,t.options.classes.originCalendar).length&&t.element.removeChild(i(t.element,t.options.classes.originCalendar)[0]))})},_preventDefaultBodyMove:function(e){e.preventDefault&&e.preventDefault()},_beginPreselection:function(t){e&&o(document.getElementsByTagName("body")[0],"touchmove",this._preventDefaultBodyMove),this.selection=!1,this.currentListItem=t,this.anchorDate=this._getDateFromElement(t),this.preSelection={begin:this.anchorDate,end:this.anchorDate},this._renderSelection(this.preSelection,!0)},_updatePreselection:function(e){if(this.currentListItem!=e){this.currentListItem=e;var t=this._getDateFromElement(e);this.options.range?this.preSelection=t<this.anchorDate?{begin:t,end:this.anchorDate}:{begin:this.anchorDate,end:t}:this.preSelection={begin:t,end:t},this._switchMonthOnTimer(e,t),this._renderSelection(this.preSelection,!0)}},_completePreselection:function(t){e&&document.getElementsByTagName("body")[0].removeEventListener("touchmove",this._preventDefaultBodyMove,!1),this.currentListItem=!1,this.setSelected(this.preSelection,!1),this._renderSelection(this.selection),this.preSelection=!1,"undefined"!=typeof this.options.onSelect&&this.options.onSelect(this.options.range?this.selection:this.selection.begin),this._clearHoverTimer()},_switchMonthOnTimer:function(e,t){var n=!1,s=this,i=s._getDisplayedMonth().getMonth()==t.getMonth();switch(d(e.parentNode)){case 0:0!==d(e)&&i||(n="prev");break;case 4:i||(n="next");break;case 5:6!=d(e)&&i||(n="next")}n?"undefined"==typeof this.hoverTimer&&(this.hoverTimer=setTimeout(function(){"next"==n?s.showNext():"prev"==n&&s.showPrevious(),s._clearHoverTimer()},this.options.switchMonthOnHoverDelay)):this._clearHoverTimer()},_clearHoverTimer:function(){this.hoverTimer&&clearTimeout(this.hoverTimer),this.hoverTimer=void 0},_getDateFromElement:function(e){var t=d(e.parentNode),n=0,s=parseInt(e.getElementsByTagName("span")[0].innerHTML,10),i=this._getDisplayedMonth();return 0===t&&s>10&&(n=-1),t>=4&&15>s&&(n=1),new Date(i.getFullYear(),i.getMonth()+n,s)},_incDisplayedMonth:function(){var e=this._getDisplayedMonth();e.setMonth(e.getMonth()+1),this.setDisplayedMonth(e)},_decDisplayedMonth:function(){var e=this._getDisplayedMonth();e.setMonth(e.getMonth()-1),this.setDisplayedMonth(e)},_getDisplayedMonth:function(){return"undefined"==typeof this.displayedMonth&&(this.displayedMonth=this.options.init),this.displayedMonth},_clearSelectionRender:function(){var e=this;this.displayedCalendarElement&&l(i(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0],this.options.classes.selected),function(t){m(t,e.options.classes.selected)})},_renderSelection:function(e,t){if(this.displayedCalendarElement){var n,s=!1,a=0,o=this,r=o._getDisplayedMonth().getMonth();t="undefined"==typeof t?!1:t,l(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0].getElementsByTagName("li"),function(i){n=[],s?s.setDate(s.getDate()+1):s=o._getDateFromElement(i),o._isWithinRange(s,e)&&n.push(t?o.options.classes.preSelected:o.options.classes.selected),o._isToday(s)&&n.push(o.options.classes.today),s.getMonth()!=r&&n.push(o.options.classes[a++<7?"prevMonthDate":"nextMonthDate"]),o.options.filter&&(n=o.options.filter(s,n)),i.className=n.join(" ")})}},_generateCalendarHTML:function(e){var t,n,s,i=this.options.template,a=0,l=this._getSelected(),o=this._getMonthStack(e.getMonth(),e.getFullYear());for(t=0;t<o.length;t++){n=new RegExp("#d"+(t>9?"":"0")+t),i=i.replace(n,o[t]);var r=parseInt(o[t],10),c=[];n=new RegExp("#cls"+(t>9?"":"0")+t),a=0,7>t&&r>10?(c.push(this.options.classes.prevMonthDate),a=-1):t>27&&15>r&&(c.push(this.options.classes.nextMonthDate),a=1),s=new Date(e.getFullYear(),e.getMonth()+a,r),l&&this._isWithinRange(s,l)&&c.push(this.options.classes.selected),this._isToday(s)&&c.push(this.options.classes.today),this.options.filter&&this.options.filter(s,c),i=i.replace(n,c.length?' class="'+c.join(" ")+'"':"")}for(t=0;7>t;t++)n=new RegExp("#wd"+t),i=i.replace(n,this.options.weekDays[this.options.lang][(t+this.options.firstDayOfWeek)%7]);return i=i.replace("#title",this.options.monthNames[this.options.lang][e.getMonth()]+" "+e.getFullYear()),i=i.replace("#navprev",this.options.navDomContent.prev).replace("#navnext",this.options.navDomContent.next)},_renderCalendar:function(){var e=this._getDisplayedMonth();if(this.selecting){if(e.getMonth()==this.anchorDate.getMonth()&&e.getFullYear()==this.anchorDate.getFullYear()&&i(this.element,this.options.classes.originCalendar).length)return this.element.removeChild(i(this.element,this.options.classes.calendar)[0]),i(this.element,this.options.classes.originCalendar)[0].setAttribute("style","display:block;"),void(i(this.element,this.options.classes.originCalendar)[0].className=this.options.classes.calendar);i(this.element,this.options.classes.originCalendar).length?this.element.removeChild(i(this.element,this.options.classes.calendar)[0]):(i(this.element,this.options.classes.calendar)[0].setAttribute("style","display:none;"),i(this.element,this.options.classes.calendar)[0].className=this.options.classes.originCalendar)}else i(this.element,this.options.classes.calendar).length&&this.element.removeChild(i(this.element,this.options.classes.calendar)[0]);var t=document.createElement("div");t.className=this.options.classes.calendar+" "+this.options.classes.locale[this.options.lang],t.innerHTML=this._generateCalendarHTML(e),this.element.appendChild(t),this.displayedCalendarElement=i(this.element,this.options.classes.calendar)[0],c(this.element),this._applyBehavior()},_getMonthStack:function(e,t){var n,s=[],i=new Date(t,e+1,0);for(n=i.getDate();n--;)s.unshift((n+1).toString());i=new Date(t,e,1);var a=(i.getDay()-this.options.firstDayOfWeek)%7;for(a=0>a?a+7:a;a--;)i.setDate(i.getDate()-1),s.unshift(i.getDate().toString());for(i=new Date(t,e+1,0);s.length<42;)i.setDate(i.getDate()+1),s.push(i.getDate().toString());return s},_isToday:function(e){return"undefined"==typeof this.today&&(this.today=(new Date).toDateString()),e.toDateString()==this.today},_isWithinRange:function(e,t){var n=e.toDateString(),s={begin:t.begin.toDateString(),end:t.end.toDateString()};return n==s.begin||n==s.end?!0:e>=t.begin&&e<=t.end?!0:!1},_getActualListItem:function(e,t){return"undefined"==typeof t?e:"undefined"==typeof t.touches?e:f(t.touches[0].pageX,t.touches[0].pageY).parentNode}};var n=function(e,n){var i,a=document.getElementById(e),l=!1,c=function(){n=s({onSelect:u,separator:" - ",canvasClass:"calendar-canvas",offset:{top:5,left:0}},n?n:{}),o(a,"click",p),o(document.getElementsByTagName("body")[0],"click",function(){l||d(),l=!1})},p=function(){l=!0,i||h(),s(i.style,{position:"absolute",top:a.offsetTop+a.offsetHeight+n.offset.top+"px",left:a.offsetLeft+n.offset.left+"px"}),i.style.display="block",a.blur()},d=function(){i&&(i.style.display="none")},h=function(){i=document.createElement("div"),i.className=n.canvasClass,a.parentNode.style.position||(a.parentNode.style.position="relative"),i.style.position="absolute",o(i,"click",p),a.parentNode.appendChild(i),new t(i,n)},u=function(e){a.value=e.begin?m(e.begin)+(e.begin!=e.end?n.separator+m(e.end):""):m(e),r(a,"change"),setTimeout(d,200)},m=function(e){return g(e.getDate())+"/"+g(e.getMonth()+1)+"/"+e.getFullYear()},g=function(e){return(e>9?"":"0")+e};c()},s=function(){for(var e=1;e<arguments.length;e++)for(var t in arguments[e])arguments[e].hasOwnProperty(t)&&(arguments[0][t]=arguments[e][t]);return arguments[0]},i=function(e,t){for(var n=[],s=new RegExp("(^| )"+t+"( |$)"),i=e.getElementsByTagName("*"),a=0,l=i.length;l>a;a++)s.test(i[a].className)&&n.push(i[a]);return n},a=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},l=function(e,t){for(var n=0;n<e.length;n++)t(e[n])},o=function(e,t,n){null!==e&&void 0!==e&&("string"==typeof t&&(t=[t]),l(t,function(t){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n}))},r=function(e,t){null!==e&&void 0!==e&&("string"==typeof t&&(t=[t]),l(t,function(t){if("fireEvent"in e)e.fireEvent(t);else{var n=document.createEvent("HTMLEvents");n.initEvent(t,!1,!0),e.dispatchEvent(n)}}))},c=function(e){1==e.nodeType&&e.setAttribute("unselectable","on");for(var t=e.firstChild;t;)c(t),t=t.nextSibling},p=function(e){for(e=e.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e},d=function(e){for(var t=0;null!==(e=p(e));)t++;return t},h=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},u=function(e,t){h(e,t)||(e.className=e.className+" "+t)},m=function(e,t){if(h(e,t)){var n=new RegExp(t,"g");e.className=e.className.replace(n,"")}},g=function(){return window.pageYOffset>0?null===window.document.elementFromPoint(0,window.pageYOffset+window.innerHeight-1):window.pageXOffset>0?null===window.document.elementFromPoint(window.pageXOffset+window.innerWidth-1,0):!1},f=function(e,t){return g()?window.document.elementFromPoint(e-window.pageXOffset,t-window.pageYOffset):window.document.elementFromPoint(e,t)};return{CibulCalendar:t,setCibulCalendar:n}});
!function(e,t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var n=t();e.CibulCalendar=n.CibulCalendar,e.setCibulCalendar=n.setCibulCalendar}}(this,function(){"use strict";var e="ontouchstart"in window&&!/hp-tablet/gi.test(navigator.appVersion),t=function(e,t){t||(t={}),a(e)&&(s(this,{options:s({init:this._getMonthFirstDate(),range:!0,lang:"en",enabled:!0,firstDayOfWeek:1,selected:!1,filter:!1,template:'<div class="calhead"><ul class="calmonthnav"><li class="calprevmonth"><span>#navprev</span></li><li class="calmonth"><span class="month">#title</span></li><li class="calnextmonth"><span>#navnext</span></li></ul><ul class="calweekdays"><li><span>#wd0</span></li><li><span>#wd1</span></li><li><span>#wd2</span></li><li><span>#wd3</span></li><li><span>#wd4</span></li><li><span>#wd5</span></li><li><span>#wd6</span></li></ul></div><div class="calbody"><ul><li#cls00><span>#d00</span></li><li#cls01><span>#d01</span></li><li#cls02><span>#d02</span></li><li#cls03><span>#d03</span></li><li#cls04><span>#d04</span></li><li#cls05><span>#d05</span></li><li#cls06><span>#d06</span></li></ul><ul><li#cls07><span>#d07</span></li><li#cls08><span>#d08</span></li><li#cls09><span>#d09</span></li><li#cls10><span>#d10</span></li><li#cls11><span>#d11</span></li><li#cls12><span>#d12</span></li><li#cls13><span>#d13</span></li></ul><ul><li#cls14><span>#d14</span></li><li#cls15><span>#d15</span></li><li#cls16><span>#d16</span></li><li#cls17><span>#d17</span></li><li#cls18><span>#d18</span></li><li#cls19><span>#d19</span></li><li#cls20><span>#d20</span></li></ul><ul><li#cls21><span>#d21</span></li><li#cls22><span>#d22</span></li><li#cls23><span>#d23</span></li><li#cls24><span>#d24</span></li><li#cls25><span>#d25</span></li><li#cls26><span>#d26</span></li><li#cls27><span>#d27</span></li></ul><ul><li#cls28><span>#d28</span></li><li#cls29><span>#d29</span></li><li#cls30><span>#d30</span></li><li#cls31><span>#d31</span></li><li#cls32><span>#d32</span></li><li#cls33><span>#d33</span></li><li#cls34><span>#d34</span></li></ul><ul><li#cls35><span>#d35</span></li><li#cls36><span>#d36</span></li><li#cls37><span>#d37</span></li><li#cls38><span>#d38</span></li><li#cls39><span>#d39</span></li><li#cls40><span>#d40</span></li><li#cls41><span>#d41</span></li></ul></div>',classes:s({calendar:"ccal",locale:s({en:"en",fr:"fr",it:"it",es:"es",sv:"sv",no:"no",da:"da",ar:"ar",de:"de"}),navDomPrev:"calprevmonth",navDomNext:"calnextmonth",calendarBody:"calbody",selected:"selected",preSelected:"preselected",today:"today",month:"month",prevMonthDate:"calprev",nextMonthDate:"calnext",disabled:"disabled",originCalendar:"origincal"},t.classes?t.classes:{}),navDomContent:{prev:"<",next:">"},monthNames:s({en:["January","February","March","April","May","June","July","August","September","October","November","December"],fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],it:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],es:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Augosto","Septiembre","Octubre","Noviembre","Diciembre"],sv:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],no:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],da:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],ar:["دجمبر","نونبر","أكتوبر","شتمبر","غشت","يوليو","يونيو","ماي","أبريل","مارس","فبراير","يناير"],de:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},t.monthNames?t.monthNames:{}),weekDays:s({en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],it:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],es:["Dom","Lun","Mar","Mie","Jue","Vie","Sab"],sv:["Sön","Mån","Tid","Ons","Tor","Fre","Lör"],no:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],da:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],ar:["اﻷحد","السبت","الجمعة","الخميس","اﻷربعاء","الثلاتاء","اﻷتنين"],de:["Son","Mon","Die","Mit","Don","Fre","Sam"]},t.weekDays),switchMonthOnHoverDelay:800},t),displayedCalendarElement:!1,preSelection:!1,selecting:!1,element:e}),this.enabled=this.options.enabled,this.setSelected(this.options.selected),this._renderCalendar())};t.prototype={disable:function(){this.enabled=!1,u(i(this.element,this.options.classes.calendar)[0],this.options.classes.disabled)},enable:function(){this.enabled=!0,m(i(this.element,this.options.classes.calendar)[0],this.options.classes.disabled)},showNext:function(){this.enabled&&this._incDisplayedMonth()},showPrevious:function(){this.enabled&&this._decDisplayedMonth()},setSelected:function(e,t){e?("undefined"==typeof e.begin&&(e={begin:e,end:e}),"undefined"==typeof t&&(t=!0),this.selection=e.begin>e.end?{begin:e.end,end:e.begin}:e,this.selection&&t?this.setDisplayedMonth(new Date(this.selection.begin.getTime())):this._renderSelection(this.selection)):(this.selection=!1,this._clearSelectionRender())},setDisplayedMonth:function(e){this.displayedMonth=this._getMonthFirstDate(e),this._renderCalendar()},_getMonthFirstDate:function(e){return"undefined"==typeof e&&(e=new Date),new Date(e.getFullYear(),e.getMonth(),1)},_getSelected:function(){return"undefined"==typeof this.selection&&(this.selection=!1),this.selection},_getSelectedElements:function(){return i(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0],this.options.classes.selected)},_applyBehavior:function(){var e=this;o(i(this.displayedCalendarElement,this.options.classes.navDomPrev)[0],"click",function(t){e.showPrevious()}),o(i(this.displayedCalendarElement,this.options.classes.navDomNext)[0],"click",function(t){e.showNext()}),l(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0].getElementsByTagName("li"),function(t){e._applySelectionBehavior(t)}),o(i(this.displayedCalendarElement,this.options.classes.month)[0],"click",function(){e._selectMonth()})},_selectMonth:function(){if(this.enabled&&this.options.range){var e=this._getDisplayedMonth();this.setSelected({begin:new Date(e.getFullYear(),e.getMonth(),1),end:new Date(e.getFullYear(),e.getMonth()+1,0)}),this._renderCalendar(),"undefined"!=typeof this.options.onSelect&&this.options.onSelect(this.selection)}},_applySelectionBehavior:function(e){var t=this;o(e,["touchstart","mousedown"],function(n){!t.selecting&&t.enabled&&(t.selecting=!0,t._beginPreselection(e))}),o(e,["mouseover","touchmove"],function(n){t.selecting&&t.enabled&&t._updatePreselection(t._getActualListItem(e,n))}),o(e,["mouseup","touchend"],function(n){t.selecting&&t.enabled&&(t.selecting=!1,t._completePreselection(e),i(t.element,t.options.classes.originCalendar).length&&t.element.removeChild(i(t.element,t.options.classes.originCalendar)[0]))})},_preventDefaultBodyMove:function(e){e.preventDefault&&e.preventDefault()},_beginPreselection:function(t){e&&o(document.getElementsByTagName("body")[0],"touchmove",this._preventDefaultBodyMove),this.selection=!1,this.currentListItem=t,this.anchorDate=this._getDateFromElement(t),this.preSelection={begin:this.anchorDate,end:this.anchorDate},this._renderSelection(this.preSelection,!0)},_updatePreselection:function(e){if(this.currentListItem!=e){this.currentListItem=e;var t=this._getDateFromElement(e);this.options.range?this.preSelection=t<this.anchorDate?{begin:t,end:this.anchorDate}:{begin:this.anchorDate,end:t}:this.preSelection={begin:t,end:t},this._switchMonthOnTimer(e,t),this._renderSelection(this.preSelection,!0)}},_completePreselection:function(t){e&&document.getElementsByTagName("body")[0].removeEventListener("touchmove",this._preventDefaultBodyMove,!1),this.currentListItem=!1,this.setSelected(this.preSelection,!1),this._renderSelection(this.selection),this.preSelection=!1,"undefined"!=typeof this.options.onSelect&&this.options.onSelect(this.options.range?this.selection:this.selection.begin),this._clearHoverTimer()},_switchMonthOnTimer:function(e,t){var n=!1,s=this,i=s._getDisplayedMonth().getMonth()==t.getMonth();switch(d(e.parentNode)){case 0:0!==d(e)&&i||(n="prev");break;case 4:i||(n="next");break;case 5:6!=d(e)&&i||(n="next")}n?"undefined"==typeof this.hoverTimer&&(this.hoverTimer=setTimeout(function(){"next"==n?s.showNext():"prev"==n&&s.showPrevious(),s._clearHoverTimer()},this.options.switchMonthOnHoverDelay)):this._clearHoverTimer()},_clearHoverTimer:function(){this.hoverTimer&&clearTimeout(this.hoverTimer),this.hoverTimer=void 0},_getDateFromElement:function(e){var t=d(e.parentNode),n=0,s=parseInt(e.getElementsByTagName("span")[0].innerHTML,10),i=this._getDisplayedMonth();return 0===t&&s>10&&(n=-1),t>=4&&15>s&&(n=1),new Date(i.getFullYear(),i.getMonth()+n,s)},_incDisplayedMonth:function(){var e=this._getDisplayedMonth();e.setMonth(e.getMonth()+1),this.setDisplayedMonth(e)},_decDisplayedMonth:function(){var e=this._getDisplayedMonth();e.setMonth(e.getMonth()-1),this.setDisplayedMonth(e)},_getDisplayedMonth:function(){return"undefined"==typeof this.displayedMonth&&(this.displayedMonth=this.options.init),this.displayedMonth},_clearSelectionRender:function(){var e=this;this.displayedCalendarElement&&l(i(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0],this.options.classes.selected),function(t){m(t,e.options.classes.selected)})},_renderSelection:function(e,t){if(this.displayedCalendarElement){var n,s=!1,a=0,o=this,r=o._getDisplayedMonth().getMonth();t="undefined"==typeof t?!1:t,l(i(this.displayedCalendarElement,this.options.classes.calendarBody)[0].getElementsByTagName("li"),function(i){n=[],s?s.setDate(s.getDate()+1):s=o._getDateFromElement(i),o._isWithinRange(s,e)&&n.push(t?o.options.classes.preSelected:o.options.classes.selected),o._isToday(s)&&n.push(o.options.classes.today),s.getMonth()!=r&&n.push(o.options.classes[a++<7?"prevMonthDate":"nextMonthDate"]),o.options.filter&&(n=o.options.filter(s,n)),i.className=n.join(" ")})}},_generateCalendarHTML:function(e){var t,n,s,i=this.options.template,a=0,l=this._getSelected(),o=this._getMonthStack(e.getMonth(),e.getFullYear());for(t=0;t<o.length;t++){n=new RegExp("#d"+(t>9?"":"0")+t),i=i.replace(n,o[t]);var r=parseInt(o[t],10),c=[];n=new RegExp("#cls"+(t>9?"":"0")+t),a=0,7>t&&r>10?(c.push(this.options.classes.prevMonthDate),a=-1):t>27&&15>r&&(c.push(this.options.classes.nextMonthDate),a=1),s=new Date(e.getFullYear(),e.getMonth()+a,r),l&&this._isWithinRange(s,l)&&c.push(this.options.classes.selected),this._isToday(s)&&c.push(this.options.classes.today),this.options.filter&&this.options.filter(s,c),i=i.replace(n,c.length?' class="'+c.join(" ")+'"':"")}for(t=0;7>t;t++)n=new RegExp("#wd"+t),i=i.replace(n,this.options.weekDays[this.options.lang][(t+this.options.firstDayOfWeek)%7]);return i=i.replace("#title",this.options.monthNames[this.options.lang][e.getMonth()]+" "+e.getFullYear()),i=i.replace("#navprev",this.options.navDomContent.prev).replace("#navnext",this.options.navDomContent.next)},_renderCalendar:function(){var e=this._getDisplayedMonth();if(this.selecting){if(e.getMonth()==this.anchorDate.getMonth()&&e.getFullYear()==this.anchorDate.getFullYear()&&i(this.element,this.options.classes.originCalendar).length)return this.element.removeChild(i(this.element,this.options.classes.calendar)[0]),i(this.element,this.options.classes.originCalendar)[0].style.display = "block",void(i(this.element,this.options.classes.originCalendar)[0].className=this.options.classes.calendar);i(this.element,this.options.classes.originCalendar).length?this.element.removeChild(i(this.element,this.options.classes.calendar)[0]):(i(this.element,this.options.classes.calendar)[0].style.display = "none",i(this.element,this.options.classes.calendar)[0].className=this.options.classes.originCalendar)}else i(this.element,this.options.classes.calendar).length&&this.element.removeChild(i(this.element,this.options.classes.calendar)[0]);var t=document.createElement("div");t.className=this.options.classes.calendar+" "+this.options.classes.locale[this.options.lang],t.innerHTML=this._generateCalendarHTML(e),this.element.appendChild(t),this.displayedCalendarElement=i(this.element,this.options.classes.calendar)[0],c(this.element),this._applyBehavior()},_getMonthStack:function(e,t){var n,s=[],i=new Date(t,e+1,0);for(n=i.getDate();n--;)s.unshift((n+1).toString());i=new Date(t,e,1);var a=(i.getDay()-this.options.firstDayOfWeek)%7;for(a=0>a?a+7:a;a--;)i.setDate(i.getDate()-1),s.unshift(i.getDate().toString());for(i=new Date(t,e+1,0);s.length<42;)i.setDate(i.getDate()+1),s.push(i.getDate().toString());return s},_isToday:function(e){return"undefined"==typeof this.today&&(this.today=(new Date).toDateString()),e.toDateString()==this.today},_isWithinRange:function(e,t){var n=e.toDateString(),s={begin:t.begin.toDateString(),end:t.end.toDateString()};return n==s.begin||n==s.end?!0:e>=t.begin&&e<=t.end?!0:!1},_getActualListItem:function(e,t){return"undefined"==typeof t?e:"undefined"==typeof t.touches?e:f(t.touches[0].pageX,t.touches[0].pageY).parentNode}};var n=function(e,n){var i,a=document.getElementById(e),l=!1,c=function(){n=s({onSelect:u,separator:" - ",canvasClass:"calendar-canvas",offset:{top:5,left:0}},n?n:{}),o(a,"click",p),o(document.getElementsByTagName("body")[0],"click",function(){l||d(),l=!1})},p=function(){l=!0,i||h(),s(i.style,{position:"absolute",top:a.offsetTop+a.offsetHeight+n.offset.top+"px",left:a.offsetLeft+n.offset.left+"px"}),i.style.display="block",a.blur()},d=function(){i&&(i.style.display="none")},h=function(){i=document.createElement("div"),i.className=n.canvasClass,a.parentNode.style.position||(a.parentNode.style.position="relative"),i.style.position="absolute",o(i,"click",p),a.parentNode.appendChild(i),new t(i,n)},u=function(e){a.value=e.begin?m(e.begin)+(e.begin!=e.end?n.separator+m(e.end):""):m(e),r(a,"change"),setTimeout(d,200)},m=function(e){return g(e.getDate())+"/"+g(e.getMonth()+1)+"/"+e.getFullYear()},g=function(e){return(e>9?"":"0")+e};c()},s=function(){for(var e=1;e<arguments.length;e++)for(var t in arguments[e])arguments[e].hasOwnProperty(t)&&(arguments[0][t]=arguments[e][t]);return arguments[0]},i=function(e,t){for(var n=[],s=new RegExp("(^| )"+t+"( |$)"),i=e.getElementsByTagName("*"),a=0,l=i.length;l>a;a++)s.test(i[a].className)&&n.push(i[a]);return n},a=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},l=function(e,t){for(var n=0;n<e.length;n++)t(e[n])},o=function(e,t,n){null!==e&&void 0!==e&&("string"==typeof t&&(t=[t]),l(t,function(t){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n}))},r=function(e,t){null!==e&&void 0!==e&&("string"==typeof t&&(t=[t]),l(t,function(t){if("fireEvent"in e)e.fireEvent(t);else{var n=document.createEvent("HTMLEvents");n.initEvent(t,!1,!0),e.dispatchEvent(n)}}))},c=function(e){1==e.nodeType&&e.setAttribute("unselectable","on");for(var t=e.firstChild;t;)c(t),t=t.nextSibling},p=function(e){for(e=e.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e},d=function(e){for(var t=0;null!==(e=p(e));)t++;return t},h=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},u=function(e,t){h(e,t)||(e.className=e.className+" "+t)},m=function(e,t){if(h(e,t)){var n=new RegExp(t,"g");e.className=e.className.replace(n,"")}},g=function(){return window.pageYOffset>0?null===window.document.elementFromPoint(0,window.pageYOffset+window.innerHeight-1):window.pageXOffset>0?null===window.document.elementFromPoint(window.pageXOffset+window.innerWidth-1,0):!1},f=function(e,t){return g()?window.document.elementFromPoint(e-window.pageXOffset,t-window.pageYOffset):window.document.elementFromPoint(e,t)};return{CibulCalendar:t,setCibulCalendar:n}});