(e)
| 14 | <div class="dhx_cal_ltitle_controls"> |
| 15 | <a class="dhx_cal_ltitle_close_btn scheduler_icon close"></a> |
| 16 | </div></div><div class='dhx_cal_larea'></div>`}function Jt(e){e._init_touch_events=function(){if((this.config.touch&&(navigator.userAgent.indexOf("Mobile")!=-1||navigator.userAgent.indexOf("iPad")!=-1||navigator.userAgent.indexOf("Android")!=-1||navigator.userAgent.indexOf("Touch")!=-1)&&!window.MSStream||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&(this.xy.scroll_width=0,this._mobile=!0),this.config.touch){var i=!0;try{document.createEvent("TouchEvent")}catch{i=!1}i?this._touch_events(["touchmove","touchstart","touchend"],function(t){return t.touches&&t.touches.length>1?null:t.touches[0]?{target:t.target,pageX:t.touches[0].pageX,pageY:t.touches[0].pageY,clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}:t},function(){return!1}):window.PointerEvent||window.navigator.pointerEnabled?this._touch_events(["pointermove","pointerdown","pointerup"],function(t){return t.pointerType=="mouse"?null:t},function(t){return!t||t.pointerType=="mouse"}):window.navigator.msPointerEnabled&&this._touch_events(["MSPointerMove","MSPointerDown","MSPointerUp"],function(t){return t.pointerType==t.MSPOINTER_TYPE_MOUSE?null:t},function(t){return!t||t.pointerType==t.MSPOINTER_TYPE_MOUSE})}},e._touch_events=function(i,t,n){var s,a,o,_,r,d,l=0;function h(v,g,c){e.event(v,g,function(u){return!!e._is_lightbox_open()||(n(u)?void 0:c(u))},{passive:!1})}function p(v){n(v)||(e._hide_global_tip(),_&&(e._on_mouse_up(t(v)),e._temp_touch_block=!1),e._drag_id=null,e._drag_mode=null,e._drag_pos=null,e._pointerDragId=null,clearTimeout(o),_=d=!1,r=!0)}h(document.body,i[0],function(v){if(!n(v)){var g=t(v);if(g){if(_)return function(c){if(!n(c)){var u=e.getState().drag_mode,f=!!e.matrix&&e.matrix[e._mode],y=e.render_view_data;u=="create"&&f&&(e.render_view_data=function(){for(var w=e.getState().drag_id,D=e.getEvent(w),M=f.y_property,k=e.getEvents(D.start_date,D.end_date),N=0;N<k.length;N++)k[N][M]!=D[M]&&(k.splice(N,1),N--);D._sorder=k.length-1,D._count=k.length,this.render_data([D],e.getState().mode)}),e._on_mouse_move(c),u=="create"&&f&&(e.render_view_data=y),c.preventDefault&&c.preventDefault(),c.cancelBubble=!0}}(g),v.preventDefault&&v.preventDefault(),v.cancelBubble=!0,e._update_global_tip(),!1;a=t(v),d&&(a?(s.target!=a.target||Math.abs(s.pageX-a.pageX)>5||Math.abs(s.pageY-a.pageY)>5)&&(r=!0,clearTimeout(o)):r=!0)}}}),h(this._els.dhx_cal_data[0],"touchcancel",p),h(this._els.dhx_cal_data[0],"contextmenu",function(v){if(!n(v))return d?(v&&v.preventDefault&&v.preventDefault(),v.cancelBubble=!0,!1):void 0}),h(this._obj,i[1],function(v){var g;if(document&&document.body&&document.body.classList.add("dhx_cal_touch_active"),!n(v))if(e._pointerDragId=v.pointerId,_=r=!1,d=!0,g=a=t(v)){var c=new Date;if(!r&&!_&&c-l<250)return e._click.dhx_cal_data(g),window.setTimeout(function(){e.$destroyed||e._on_dbl_click(g)},50),v.preventDefault&&v.preventDefault(),v.cancelBubble=!0,e._block_next_stop=!0,!1;if(l=c,!r&&!_&&e.config.touch_drag){var u=e._locate_event(document.activeElement),f=e._locate_event(g.target),y=s?e._locate_event(s.target):null;if(u&&f&&u==f&&u!=y)return v.preventDefault&&v.preventDefault(),v.cancelBubble=!0,e._ignore_next_click=!1,e._click.dhx_cal_data(g),s=g,!1;o=setTimeout(function(){if(!e.$destroyed){_=!0;var w=s.target,D=e._getClassName(w);w&&D.indexOf("dhx_body")!=-1&&(w=w.previousSibling),e._on_mouse_down(s,w),e._drag_mode&&e._drag_mode!="create"&&e.for_rendered(e._drag_id,function(M,k){M.style.display="none",e._rendered.splice(k,1)}),e.config.touch_tip&&e._show_global_tip(),e.updateEvent(e._drag_id)}},e.config.touch_drag),s=g}}else r=!0}),h(this._els.dhx_cal_data[0],i[2],function(v){if(document&&document.body&&document.body.classList.remove("dhx_cal_touch_active"),!n(v))return e.config.touch_swipe_dates&&!_&&function(g,c,u,f){if(!g||!c)return!1;for(var y=g.target;y&&y!=e._obj;)y=y.parentNode;if(y!=e._obj||e.matrix&&e.matrix[e.getState().mode]&&e.matrix[e.getState().mode].scrollable)return!1;var w=Math.abs(g.pageY-c.pageY),D=Math.abs(g.pageX-c.pageX);return w<f&&D>u&&(!w||D/w>3)&&(g.pageX>c.pageX?e._click.dhx_cal_next_button():e._click.dhx_cal_prev_button(),!0)}(s,a,200,100)&&(e._block_next_stop=!0),_&&(e._ignore_next_click=!0,setTimeout(function(){e._ignore_next_click=!1},100)),p(v),e._block_next_stop?(e._block_next_stop=!1,v.preventDefault&&v.preventDefault(),v.cancelBubble=!0,!1):void 0}),e.event(document.body,i[2],p)},e._show_global_tip=function(){e._hide_global_tip();var i=e._global_tip=document.createElement("div");i.className="dhx_global_tip",e._update_global_tip(1),document.body.appendChild(i)},e._update_global_tip=function(i){var t=e._global_tip;if(t){var n="";if(e._drag_id&&!i){var s=e.getEvent(e._drag_id);s&&(n="<div>"+(s._timed?e.templates.event_header(s.start_date,s.end_date,s):e.templates.day_date(s.start_date,s.end_date,s))+"</div>")}e._drag_mode=="create"||e._drag_mode=="new-size"?t.innerHTML=(e.locale.labels.drag_to_create||"Drag to create")+n:t.innerHTML=(e.locale.labels.drag_to_move||"Drag to move")+n}},e._hide_global_tip=function(){var i=e._global_tip;i&&i.parentNode&&(i.parentNode.removeChild(i),e._global_tip=0)}}function Wt(e){var i,t;function n(){if(e._is_material_skin())return!0;if(t!==void 0)return t;var _=document.createElement("div");_.style.position="absolute",_.style.left="-9999px",_.style.top="-9999px",_.innerHTML="<div class='dhx_cal_container'><div class='dhx_cal_data'><div class='dhx_cal_event'><div class='dhx_body'></div></div><div>",document.body.appendChild(_);var r=window.getComputedStyle(_.querySelector(".dhx_body")).getPropertyValue("box-sizing");document.body.removeChild(_),(t=r==="border-box")||setTimeout(function(){t=void 0},1e3)}function s(){if(!e._is_material_skin()&&!e._border_box_events()){var _=t;t=void 0,i=void 0,_!==n()&&e.$container&&e.getState().mode&&e.setCurrentView()}}function a(_){var r=_.getMinutes();return r=r<10?"0"+r:r,"<span class='dhx_scale_h'>"+_.getHours()+"</span><span class='dhx_scale_m'> "+r+"</span>"}e._addThemeClass=function(){document.documentElement.setAttribute("data-scheduler-theme",e.skin)},e._skin_settings={fix_tab_position:[1,0],use_select_menu_space:[1,0],wide_form:[1,0],hour_size_px:[44,42],displayed_event_color:["#ff4a4a","ffc5ab"],displayed_event_text_color:["#ffef80","7e2727"]},e._skin_xy={lightbox_additional_height:[90,50],nav_height:[59,22],bar_height:[24,20]},e._is_material_skin=function(){return e.skin?(e.skin+"").indexOf("material")>-1:function(){if(i===void 0){var _=document.createElement("div");_.style.position="absolute",_.style.left="-9999px",_.style.top="-9999px",_.innerHTML="<div class='dhx_cal_container'><div class='dhx_cal_scale_placeholder'></div><div>",document.body.appendChild(_);var r=window.getComputedStyle(_.querySelector(".dhx_cal_scale_placeholder")).getPropertyValue("position");i=r==="absolute",setTimeout(function(){i=null,_&&_.parentNode&&_.parentNode.removeChild(_)},500)}return i}()},e._build_skin_info=function(){(function(){const v=e.$container;clearInterval(o),v&&(o=setInterval(()=>{const g=getComputedStyle(v).getPropertyValue("--dhx-scheduler-theme");g&&g!==e.skin&&e.setSkin(g)},100))})();const _=getComputedStyle(this.$container),r=_.getPropertyValue("--dhx-scheduler-theme");let d,l=!!r,h={},p=!1;if(l){d=r;for(let v in e.xy)h[v]=_.getPropertyValue(`--dhx-scheduler-xy-${v}`);h.hour_size_px=_.getPropertyValue("--dhx-scheduler-config-hour_size_px"),h.wide_form=_.getPropertyValue("--dhx-scheduler-config-form_wide")}else d=function(){for(var v=document.getElementsByTagName("link"),g=0;g<v.length;g++){var c=v[g].href.match("dhtmlxscheduler_([a-z]+).css");if(c)return c[1]}}(),p=e._is_material_skin();if(e._theme_info={theme:d,cssVarTheme:l,oldMaterialTheme:p,values:h},e._theme_info.cssVarTheme){const v=this._theme_info.values;for(let g in e.xy)isNaN(parseInt(v[g]))||(e.xy[g]=parseInt(v[g]))}},typeof window<"u"&&(e.event(window,"DOMContentLoaded",s),e.event(window,"load",s)),e._border_box_events=function(){return n()},e._configure=function(_,r,d){for(var l in r)_[l]===void 0&&(_[l]=r[l][d])},e.setSkin=function(_){this.skin=_,e._addThemeClass(),e.$container&&(this._skin_init(),this.render())};let o=null;e.attachEvent("onDestroy",function(){clearInterval(o)}),e._skin_init=function(){this._build_skin_info(),this.skin||(this.skin=this._theme_info.theme),e._addThemeClass(),e.skin==="flat"?e.templates.hour_scale=a:e.templates.hour_scale===a&&(e.templates.hour_scale=e.date.date_to_str(e.config.hour_date)),e.attachEvent("onTemplatesReady",function(){var _=e.date.date_to_str("%d");e.templates._old_month_day||(e.templates._old_month_day=e.templates.month_day);var r=e.templates._old_month_day;e.templates.month_day=function(d){if(this._mode=="month"){var l=_(d);return d.getDate()==1&&(l=e.locale.date.month_full[d.getMonth()]+" "+l),+d==+e.date.date_part(this._currentDate())&&(l=e.locale.labels.dhx_cal_today_button+" "+l),l}return r.call(this,d)},e.config.fix_tab_position&&(e._els.dhx_cal_navline[0].querySelectorAll("[data-tab]").forEach(d=>{switch(d.getAttribute("data-tab")||d.getAttribute("name")){case"day":case"day_tab":d.classList.add("dhx_cal_tab_first"),d.classList.add("dhx_cal_tab_segmented");break;case"week":case"week_tab":d.classList.add("dhx_cal_tab_segmented");break;case"month":case"month_tab":d.classList.add("dhx_cal_tab_last"),d.classList.add("dhx_cal_tab_segmented");break;default:d.classList.add("dhx_cal_tab_standalone")}}),function(d){if(e.config.header)return;const l=Array.from(d.querySelectorAll(".dhx_cal_tab")),h=["day","week","month"].map(v=>l.find(g=>g.getAttribute("data-tab")===v)).filter(v=>v!==void 0);let p=l.length>0?l[0]:null;h.reverse().forEach(v=>{d.insertBefore(v,p),p=v})}(e._els.dhx_cal_navline[0]))},{once:!0})}}function Kt(e,i){this.$scheduler=e,this.$dp=i,this._dataProcessorHandlers=[],this.attach=function(){var t=this.$dp,n=this.$scheduler;this._dataProcessorHandlers.push(n.attachEvent("onEventAdded",function(s){!this._loading&&this._validId(s)&&t.setUpdated(s,!0,"inserted")})),this._dataProcessorHandlers.push(n.attachEvent("onConfirmedBeforeEventDelete",function(s){if(this._validId(s)){var a=t.getState(s);return a=="inserted"||this._new_event?(t.setUpdated(s,!1),!0):a!="deleted"&&(a=="true_deleted"||(t.setUpdated(s,!0,"deleted"),!1))}})),this._dataProcessorHandlers.push(n.attachEvent("onEventChanged",function(s){!this._loading&&this._validId(s)&&t.setUpdated(s,!0,"updated")})),this._dataProcessorHandlers.push(n.attachEvent("onClearAll",function(){t._in_progress={},t._invalid={},t.updatedRows=[],t._waitMode=0})),t.attachEvent("insertCallback",n._update_callback),t.attachEvent("updateCallback",n._update_callback),t.attachEvent("deleteCallback",function(s,a){n.getEvent(a)?(n.setUserData(a,this.action_param,"true_deleted"),n.deleteEvent(a)):n._add_rec_marker&&n._update_callback(s,a)})},this.detach=function(){for(var t in this._dataProcessorHandlers){var n=this._dataProcessorHandlers[t];this.$scheduler.detachEvent(n)}this._dataProcessorHandlers=[]}}function $e(e){return this.serverProcessor=e,this.action_param="!nativeeditor_status",this.object=null,this.updatedRows=[],this.autoUpdate=!0,this.updateMode="cell",this._tMode="GET",this._headers=null,this._payload=null,this.post_delim="_",this._waitMode=0,this._in_progress={},this._invalid={},this.messages=[],this.styles={updated:"font-weight:bold;",inserted:"font-weight:bold;",deleted:"text-decoration : line-through;",invalid:"background-color:FFE0E0;",invalid_cell:"border-bottom:2px solid red;",error:"color:red;",clear:"font-weight:normal;text-decoration:none;"},this.enableUTFencoding(!0),Oe(this),this}function Gt(e){var i="data-dhxbox",t=null;function n(f,y,w){var D=f.callback;D&&D(y,w),g.hide(f.box),t=f.box=null}function s(f){if(t){var y=f.which||f.keyCode,w=!1;if(c.keyboard){if(y==13||y==32){var D=f.target||f.srcElement;le.getClassName(D).indexOf("scheduler_popup_button")>-1&&D.click?D.click():(n(t,!0),w=!0)}y==27&&(n(t,!1),w=!0)}return w?(f.preventDefault&&f.preventDefault(),!(f.cancelBubble=!0)):void 0}}function a(f){a.cover||(a.cover=document.createElement("div"),e.event(a.cover,"keydown",s),a.cover.className="dhx_modal_cover",document.body.appendChild(a.cover)),a.cover.style.display=f?"inline-block":"none"}function o(f,y,w){var D=e._waiAria.messageButtonAttrString(f),M=(y||"").toLowerCase().replace(/ /g,"_");return`<div ${D} class='scheduler_popup_button dhtmlx_popup_button ${`scheduler_${M}_button dhtmlx_${M}_button`}' data-result='${w}' result='${w}' ><div>${f}</div></div>`}function _(){for(var f=[].slice.apply(arguments,[0]),y=0;y<f.length;y++)if(f[y])return f[y]}function r(f,y,w){var D=f.tagName?f:function(N,m,x){var b=document.createElement("div"),E=ne.uid();e._waiAria.messageModalAttr(b,E),b.className=" scheduler_modal_box dhtmlx_modal_box scheduler-"+N.type+" dhtmlx-"+N.type,b.setAttribute(i,1);var S="";if(N.width&&(b.style.width=N.width),N.height&&(b.style.height=N.height),N.title&&(S+='<div class="scheduler_popup_title dhtmlx_popup_title">'+N.title+"</div>"),S+='<div class="scheduler_popup_text dhtmlx_popup_text" id="'+E+'"><span>'+(N.content?"":N.text)+'</span></div><div class="scheduler_popup_controls dhtmlx_popup_controls">',m&&(S+=o(_(N.ok,e.locale.labels.message_ok,"OK"),"ok",!0)),x&&(S+=o(_(N.cancel,e.locale.labels.message_cancel,"Cancel"),"cancel",!1)),N.buttons)for(var T=0;T<N.buttons.length;T++){var A=N.buttons[T];S+=typeof A=="object"?o(A.label,A.css||"scheduler_"+A.label.toLowerCase()+"_button dhtmlx_"+A.label.toLowerCase()+"_button",A.value||T):o(A,A,T)}if(S+="</div>",b.innerHTML=S,N.content){var C=N.content;typeof C=="string"&&(C=document.getElementById(C)),C.style.display=="none"&&(C.style.display=""),b.childNodes[N.title?1:0].appendChild(C)}return e.event(b,"click",function($){var H=$.target||$.srcElement;if(H.className||(H=H.parentNode),le.closest(H,".scheduler_popup_button")){var O=H.getAttribute("data-result");n(N,O=O=="true"||O!="false"&&O,$)}}),N.box=b,(m||x)&&(t=N),b}(f,y,w);f.hidden||a(!0),document.body.appendChild(D);var M=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-D.offsetWidth)/2)),k=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-D.offsetHeight)/2));return f.position=="top"?D.style.top="-3px":D.style.top=k+"px",D.style.left=M+"px",e.event(D,"keydown",s),g.focus(D),f.hidden&&g.hide(D),e.callEvent("onMessagePopup",[D]),D}function d(f){return r(f,!0,!1)}function l(f){return r(f,!0,!0)}function h(f){return r(f)}function p(f,y,w){return typeof f!="object"&&(typeof y=="function"&&(w=y,y=""),f={text:f,type:y,callback:w}),f}function v(f,y,w,D,M){return typeof f!="object"&&(f={text:f,type:y,expire:w,id:D,callback:M}),f.id=f.id||ne.uid(),f.expire=f.expire||c.expire,f}typeof window<"u"&&e.event(document,"keydown",s,!0);var g=function(){var f=p.apply(this,arguments);return f.type=f.type||"alert",h(f)};g.hide=function(f){for(;f&&f.getAttribute&&!f.getAttribute(i);)f=f.parentNode;f&&(f.parentNode.removeChild(f),a(!1),e.callEvent("onAfterMessagePopup",[f]))},g.focus=function(f){setTimeout(function(){var y=le.getFocusableNodes(f);y.length&&y[0].focus&&y[0].focus()},1)};var c=function(f,y,w,D){switch((f=v.apply(this,arguments)).type=f.type||"info",f.type.split("-")[0]){case"alert":return d(f);case"confirm":return l(f);case"modalbox":return h(f);default:return function(M){c.area||(c.area=document.createElement("div"),c.area.className="scheduler_message_area dhtmlx_message_area",c.area.style[c.position]="5px",document.body.appendChild(c.area)),c.hide(M.id);var k=document.createElement("div");return k.innerHTML="<div>"+M.text+"</div>",k.className="scheduler-info dhtmlx-info scheduler-"+M.type+" dhtmlx-"+M.type,e.event(k,"click",function(N){M.callback&&M.callback.call(this,N),c.hide(M.id),M=null}),e._waiAria.messageInfoAttr(k),c.position=="bottom"&&c.area.firstChild?c.area.insertBefore(k,c.area.firstChild):c.area.appendChild(k),M.expire>0&&(c.timers[M.id]=window.setTimeout(function(){c&&c.hide(M.id)},M.expire)),c.pull[M.id]=k,k=null,M.id}(f)}};c.seed=new Date().valueOf(),c.uid=ne.uid,c.expire=4e3,c.keyboard=!0,c.position="top",c.pull={},c.timers={},c.hideAll=function(){for(var f in c.pull)c.hide(f)},c.hide=function(f){var y=c.pull[f];y&&y.parentNode&&(window.setTimeout(function(){y.parentNode.removeChild(y),y=null},2e3),y.className+=" hidden",c.timers[f]&&window.clearTimeout(c.timers[f]),delete c.pull[f])};var u=[];return e.attachEvent("onMessagePopup",function(f){u.push(f)}),e.attachEvent("onAfterMessagePopup",function(f){for(var y=0;y<u.length;y++)u[y]===f&&(u.splice(y,1),y--)}),e.attachEvent("onDestroy",function(){a.cover&&a.cover.parentNode&&a.cover.parentNode.removeChild(a.cover);for(var f=0;f<u.length;f++)u[f].parentNode&&u[f].parentNode.removeChild(u[f]);u=null,c.area&&c.area.parentNode&&c.area.parentNode.removeChild(c.area),c=null}),{alert:function(){var f=p.apply(this,arguments);return f.type=f.type||"confirm",d(f)},confirm:function(){var f=p.apply(this,arguments);return f.type=f.type||"alert",l(f)},message:c,modalbox:g}}$e.prototype={setTransactionMode:function(e,i){typeof e=="object"?(this._tMode=e.mode||this._tMode,e.headers!==void 0&&(this._headers=e.headers),e.payload!==void 0&&(this._payload=e.payload),this._tSend=!!i):(this._tMode=e,this._tSend=i),this._tMode=="REST"&&(this._tSend=!1,this._endnm=!0),this._tMode==="JSON"||this._tMode==="REST-JSON"?(this._tSend=!1,this._endnm=!0,this._serializeAsJson=!0,this._headers=this._headers||{},this._headers["Content-Type"]="application/json"):this._headers&&!this._headers["Content-Type"]&&(this._headers["Content-Type"]="application/x-www-form-urlencoded"),this._tMode==="CUSTOM"&&(this._tSend=!1,this._endnm=!0,this._router=e.router)},escape:function(e){return this._utf?encodeURIComponent(e):escape(e)},enableUTFencoding:function(e){this._utf=!!e},setDataColumns:function(e){this._columns=typeof e=="string"?e.split(","):e},getSyncState:function(){return!this.updatedRows.length},enableDataNames:function(e){this._endnm=!!e},enablePartialDataSend:function(e){this._changed=!!e},setUpdateMode:function(e,i){this.autoUpdate=e=="cell",this.updateMode=e,this.dnd=i},ignore:function(e,i){this._silent_mode=!0,e.call(i||window),this._silent_mode=!1},setUpdated:function(e,i,t){if(!this._silent_mode){var n=this.findRow(e);t=t||"updated";var s=this.$scheduler.getUserData(e,this.action_param);s&&t=="updated"&&(t=s),i?(this.set_invalid(e,!1),this.updatedRows[n]=e,this.$scheduler.setUserData(e,this.action_param,t),this._in_progress[e]&&(this._in_progress[e]="wait")):this.is_invalid(e)||(this.updatedRows.splice(n,1),this.$scheduler.setUserData(e,this.action_param,"")),this.markRow(e,i,t),i&&this.autoUpdate&&this.sendData(e)}},markRow:function(e,i,t){var n="",s=this.is_invalid(e);if(s&&(n=this.styles[s],i=!0),this.callEvent("onRowMark",[e,i,t,s])&&(n=this.styles[i?t:"clear"]+n,this.$scheduler[this._methods[0]](e,n),s&&s.details)){n+=this.styles[s+"_cell"];for(var a=0;a<s.details.length;a++)s.details[a]&&this.$scheduler[this._methods[1]](e,a,n)}},getActionByState:function(e){return e==="inserted"?"create":e==="updated"?"update":e==="deleted"?"delete":"update"},getState:function(e){return this.$scheduler.getUserData(e,this.action_param)},is_invalid:function(e){return this._invalid[e]},set_invalid:function(e,i,t){t&&(i={value:i,details:t,toString:function(){return this.value.toString()}}),this._invalid[e]=i},checkBeforeUpdate:function(e){return!0},sendData:function(e){return this.$scheduler.editStop&&this.$scheduler.editStop(),e===void 0||this._tSend?this.sendAllData():!this._in_progress[e]&&(this.messages=[],!(!this.checkBeforeUpdate(e)&&this.callEvent("onValidationError",[e,this.messages]))&&void this._beforeSendData(this._getRowData(e),e))},_beforeSendData:function(e,i){if(!this.callEvent("onBeforeUpdate",[i,this.getState(i),e]))return!1;this._sendData(e,i)},serialize:function(e,i){if(this._serializeAsJson)return this._serializeAsJSON(e);if(typeof e=="string")return e;if(i!==void 0)return this.serialize_one(e,"");var t=[],n=[];for(var s in e)e.hasOwnProperty(s)&&(t.push(this.serialize_one(e[s],s+this.post_delim)),n.push(s));return t.push("ids="+this.escape(n.join(","))),this.$scheduler.security_key&&t.push("dhx_security="+this.$scheduler.security_key),t.join("&")},serialize_one:function(e,i){if(typeof e=="string")return e;var t=[],n="";for(var s in e)if(e.hasOwnProperty(s)){if((s=="id"||s==this.action_param)&&this._tMode=="REST")continue;n=typeof e[s]=="string"||typeof e[s]=="number"?e[s]:JSON.stringify(e[s]),t.push(this.escape((i||"")+s)+"="+this.escape(n))}return t.join("&")},_applyPayload:function(e){var i=this.$scheduler.ajax;if(this._payload)for(var t in this._payload)e=e+i.urlSeparator(e)+this.escape(t)+"="+this.escape(this._payload[t]);return e},_sendData:function(e,i){if(e){if(!this.callEvent("onBeforeDataSending",i?[i,this.getState(i),e]:[null,null,e]))return!1;i&&(this._in_progress[i]=new Date().valueOf());var t=this,n=this.$scheduler.ajax;if(this._tMode==="CUSTOM"){var s=this.getState(i),a=this.getActionByState(s);delete e[this.action_param];var o=function(c){var u=s;if(c&&c.responseText&&c.setRequestHeader){c.status!==200&&(u="error");try{c=JSON.parse(c.responseText)}catch{}}u=u||"updated";var f=i,y=i;c&&(u=c.action||u,f=c.sid||f,y=c.id||c.tid||y),t.afterUpdateCallback(f,y,u,c)};const g="event";var _;if(this._router instanceof Function)_=this._router(g,a,e,i);else switch(s){case"inserted":_=this._router[g].create(e);break;case"deleted":_=this._router[g].delete(i);break;default:_=this._router[g].update(e,i)}if(_){if(!_.then&&_.id===void 0&&_.tid===void 0&&_.action===void 0)throw new Error("Incorrect router return value. A Promise or a response object is expected");_.then?_.then(o).catch(function(c){c&&c.action?o(c):o({action:"error",value:c})}):o(_)}else o(null);return}var r,d={callback:function(g){var c=[];if(i)c.push(i);else if(e)for(var u in e)c.push(u);return t.afterUpdate(t,g,c)},headers:t._headers},l=this.serverProcessor+(this._user?n.urlSeparator(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.$scheduler.getUserData(0,"version")].join("&"):""),h=this._applyPayload(l);switch(this._tMode){case"GET":r=this._cleanupArgumentsBeforeSend(e),d.url=h+n.urlSeparator(h)+this.serialize(r,i),d.method="GET";break;case"POST":r=this._cleanupArgumentsBeforeSend(e),d.url=h,d.method="POST",d.data=this.serialize(r,i);break;case"JSON":r={};var p=this._cleanupItemBeforeSend(e);for(var v in p)v!==this.action_param&&v!=="id"&&v!=="gr_id"&&(r[v]=p[v]);d.url=h,d.method="POST",d.data=JSON.stringify({id:i,action:e[this.action_param],data:r});break;case"REST":case"REST-JSON":switch(h=l.replace(/(&|\?)editing=true/,""),r="",this.getState(i)){case"inserted":d.method="POST",d.data=this.serialize(e,i);break;case"deleted":d.method="DELETE",h=h+(h.slice(-1)==="/"?"":"/")+i;break;default:d.method="PUT",d.data=this.serialize(e,i),h=h+(h.slice(-1)==="/"?"":"/")+i}d.url=this._applyPayload(h)}return this._waitMode++,n.query(d)}},sendAllData:function(){if(this.updatedRows.length&&this.updateMode!=="off"){this.messages=[];var e=!0;if(this._forEachUpdatedRow(function(i){e=e&&this.checkBeforeUpdate(i)}),!e&&!this.callEvent("onValidationError",["",this.messages]))return!1;this._tSend?this._sendData(this._getAllData()):this._forEachUpdatedRow(function(i){if(!this._in_progress[i]){if(this.is_invalid(i))return;this._beforeSendData(this._getRowData(i),i)}})}},_getAllData:function(e){var i={},t=!1;return this._forEachUpdatedRow(function(n){if(!this._in_progress[n]&&!this.is_invalid(n)){var s=this._getRowData(n);this.callEvent("onBeforeUpdate",[n,this.getState(n),s])&&(i[n]=s,t=!0,this._in_progress[n]=new Date().valueOf())}}),t?i:null},findRow:function(e){var i=0;for(i=0;i<this.updatedRows.length&&e!=this.updatedRows[i];i++);return i},defineAction:function(e,i){this._uActions||(this._uActions={}),this._uActions[e]=i},afterUpdateCallback:function(e,i,t,n){if(this.$scheduler){var s=e,a=t!=="error"&&t!=="invalid";if(a||this.set_invalid(e,t),this._uActions&&this._uActions[t]&&!this._uActions[t](n))return delete this._in_progress[s];this._in_progress[s]!=="wait"&&this.setUpdated(e,!1);var o=e;switch(t){case"inserted":case"insert":i!=e&&(this.setUpdated(e,!1),this.$scheduler[this._methods[2]](e,i),e=i);break;case"delete":case"deleted":return this.$scheduler.setUserData(e,this.action_param,"true_deleted"),this.$scheduler[this._methods[3]](e,i),delete this._in_progress[s],this.callEvent("onAfterUpdate",[e,t,i,n])}this._in_progress[s]!=="wait"?(a&&this.$scheduler.setUserData(e,this.action_param,""),delete this._in_progress[s]):(delete this._in_progress[s],this.setUpdated(i,!0,this.$scheduler.getUserData(e,this.action_param))),this.callEvent("onAfterUpdate",[o,t,i,n])}},_errorResponse:function(e,i){return this.$scheduler&&this.$scheduler.callEvent&&this.$scheduler.callEvent("onSaveError",[i,e.xmlDoc]),this.cleanUpdate(i)},_setDefaultTransactionMode:function(){this.serverProcessor&&(this.setTransactionMode("POST",!0),this.serverProcessor+=(this.serverProcessor.indexOf("?")!==-1?"&":"?")+"editing=true",this._serverProcessor=this.serverProcessor)},afterUpdate:function(e,i,t){var n=this.$scheduler.ajax;if(i.xmlDoc.status===200){var s;try{s=JSON.parse(i.xmlDoc.responseText)}catch{i.xmlDoc.responseText.length||(s={})}if(s){var a=s.action||this.getState(t)||"updated",o=s.sid||t[0],_=s.tid||t[0];return e.afterUpdateCallback(o,_,a,s),void e.finalizeUpdate()}var r=n.xmltop("data",i.xmlDoc);if(!r)return this._errorResponse(i,t);var d=n.xpath("//data/action",r);if(!d.length)return this._errorResponse(i,t);for(var l=0;l<d.length;l++){var h=d[l];a=h.getAttribute("type"),o=h.getAttribute("sid"),_=h.getAttribute("tid"),e.afterUpdateCallback(o,_,a,h)}e.finalizeUpdate()}else this._errorResponse(i,t)},cleanUpdate:function(e){if(e)for(var i=0;i<e.length;i++)delete this._in_progress[e[i]]},finalizeUpdate:function(){this._waitMode&&this._waitMode--,this.callEvent("onAfterUpdateFinish",[]),this.updatedRows.length||this.callEvent("onFullSync",[])},init:function(e){if(!this._initialized){this.$scheduler=e,this.$scheduler._dp_init&&this.$scheduler._dp_init(this),this._setDefaultTransactionMode(),this._methods=this._methods||["_set_event_text_style","","_dp_change_event_id","_dp_hook_delete"],function(t,n){t._validId=function(s){return!this._is_virtual_event||!this._is_virtual_event(s)},t.setUserData=function(s,a,o){if(s){var _=this.getEvent(s);_&&(_[a]=o)}else this._userdata[a]=o},t.getUserData=function(s,a){if(s){var o=this.getEvent(s);return o?o[a]:null}return this._userdata[a]},t._set_event_text_style=function(s,a){if(t.getEvent(s)){this.for_rendered(s,function(_){_.style.cssText+=";"+a});var o=this.getEvent(s);o._text_style=a,this.event_updated(o)}},t._update_callback=function(s,a){var o=t._xmlNodeToJSON(s.firstChild);o.rec_type=="none"&&(o.rec_pattern="none"),o.text=o.text||o._tagvalue,o.start_date=t._helpers.parseDate(o.start_date),o.end_date=t._helpers.parseDate(o.end_date),t.addEvent(o),t._add_rec_marker&&t.setCurrentView()},t._dp_change_event_id=function(s,a){t.getEvent(s)&&t.changeEventId(s,a)},t._dp_hook_delete=function(s,a){if(t.getEvent(s))return a&&s!=a&&(this.getUserData(s,n.action_param)=="true_deleted"&&this.setUserData(s,n.action_param,"updated"),this.changeEventId(s,a)),this.deleteEvent(a,!0)},t.setDp=function(){this._dp=n},t.setDp()}(this.$scheduler,this);var i=new Kt(this.$scheduler,this);i.attach(),this.attachEvent("onDestroy",function(){delete this._getRowData,delete this.$scheduler._dp,delete this.$scheduler._dataprocessor,delete this.$scheduler._set_event_text_style,delete this.$scheduler._dp_change_event_id,delete this.$scheduler._dp_hook_delete,delete this.$scheduler,i.detach()}),this.$scheduler.callEvent("onDataProcessorReady",[this]),this._initialized=!0,e._dataprocessor=this}},setOnAfterUpdate:function(e){this.attachEvent("onAfterUpdate",e)},setOnBeforeUpdateHandler:function(e){this.attachEvent("onBeforeDataSending",e)},setAutoUpdate:function(e,i){e=e||2e3,this._user=i||new Date().valueOf(),this._need_update=!1,this._update_busy=!1,this.attachEvent("onAfterUpdate",function(s,a,o,_){this.afterAutoUpdate(s,a,o,_)}),this.attachEvent("onFullSync",function(){this.fullSync()});var t=this;let n=Q.setInterval(function(){t.loadUpdate()},e);this.attachEvent("onDestroy",function(){clearInterval(n)})},afterAutoUpdate:function(e,i,t,n){return i!="collision"||(this._need_update=!0,!1)},fullSync:function(){return this._need_update&&(this._need_update=!1,this.loadUpdate()),!0},getUpdates:function(e,i){var t=this.$scheduler.ajax;if(this._update_busy)return!1;this._update_busy=!0,t.get(e,i)},_getXmlNodeValue:function(e){return e.firstChild?e.firstChild.nodeValue:""},loadUpdate:function(){var e=this,i=this.$scheduler.ajax,t=this.$scheduler.getUserData(0,"version"),n=this.serverProcessor+i.urlSeparator(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+t].join("&");n=n.replace("editing=true&",""),this.getUpdates(n,function(s){var a=i.xpath("//userdata",s);e.$scheduler.setUserData(0,"version",e._getXmlNodeValue(a[0]));var o=i.xpath("//update",s);if(o.length){e._silent_mode=!0;for(var _=0;_<o.length;_++){var r=o[_].getAttribute("status"),d=o[_].getAttribute("id"),l=o[_].getAttribute("parent");switch(r){case"inserted":this.callEvent("insertCallback",[o[_],d,l]);break;case"updated":this.callEvent("updateCallback",[o[_],d,l]);break;case"deleted":this.callEvent("deleteCallback",[o[_],d,l])}}e._silent_mode=!1}e._update_busy=!1,e=null})},destructor:function(){this.callEvent("onDestroy",[]),this.detachAllEvents(),this.updatedRows=[],this._in_progress={},this._invalid={},this._headers=null,this._payload=null,delete this._initialized},url:function(e){this.serverProcessor=this._serverProcessor=e},_serializeAsJSON:function(e){if(typeof e=="string")return e;var i=this.$scheduler.utils.copy(e);return this._tMode==="REST-JSON"&&(delete i.id,delete i[this.action_param]),JSON.stringify(i)},_cleanupArgumentsBeforeSend:function(e){var i;if(e[this.action_param]===void 0)for(var t in i={},e)i[t]=this._cleanupArgumentsBeforeSend(e[t]);else i=this._cleanupItemBeforeSend(e);return i},_cleanupItemBeforeSend:function(e){var i=null;return e&&(e[this.action_param]==="deleted"?((i={}).id=e.id,i[this.action_param]=e[this.action_param]):i=e),i},_forEachUpdatedRow:function(e){for(var i=this.updatedRows.slice(),t=0;t<i.length;t++){var n=i[t];this.$scheduler.getUserData(n,this.action_param)&&e.call(this,n)}},_prepareItemForJson(e){const i={},t=this.$scheduler,n=t.utils.copy(e);for(let s in n){let a=n[s];s.indexOf("_")!==0&&(a?a.getUTCFullYear?i[s]=t._helpers.formatDate(a):i[s]=typeof a=="object"?this._prepareItemForJson(a):a:a!==void 0&&(i[s]=a))}return i[this.action_param]=t.getUserData(e.id,this.action_param),i},_prepareItemForForm(e){const i={},t=this.$scheduler,n=t.utils.copy(e);for(var s in n){let a=n[s];s.indexOf("_")!==0&&(a?a.getUTCFullYear?i[s]=t._helpers.formatDate(a):i[s]=typeof a=="object"?this._prepareItemForForm(a):a:i[s]="")}return i[this.action_param]=t.getUserData(e.id,this.action_param),i},_prepareDataItem:function(e){return this._serializeAsJson?this._prepareItemForJson(e):this._prepareItemForForm(e)},_getRowData:function(e){var i=this.$scheduler.getEvent(e);return i||(i={id:e}),this._prepareDataItem(i)}};class Xt{constructor(i){this._locales={};for(const t in i)this._locales[t]=i[t]}addLocale(i,t){this._locales[i]=t}getLocale(i){return this._locales[i]}}const Zt=Object.freeze(Object.defineProperty({__proto__:null,ar:{date:{month_full:["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],month_short:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],day_full:["الأحد","الأثنين","ألثلاثاء","الأربعاء","ألحميس","ألجمعة","السبت"],day_short:["احد","اثنين","ثلاثاء","اربعاء","خميس","جمعة","سبت"]},labels:{dhx_cal_today_button:"اليوم",day_tab:"يوم",week_tab:"أسبوع",month_tab:"شهر",new_event:"حدث جديد",icon_save:"اخزن",icon_cancel:"الغاء",icon_details:"تفاصيل",icon_edit:"تحرير",icon_delete:"حذف",confirm_closing:"التغييرات سوف تضيع, هل انت متأكد؟",confirm_deleting:"الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟",section_description:"الوصف",section_time:"الفترة الزمنية",full_day:"طوال اليوم",confirm_recurring:"هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟",section_recurring:"تكرار الحدث",button_recurring:"تعطيل",button_recurring_open:"تمكين",button_edit_series:"تحرير سلسلة",button_edit_occurrence:"تعديل نسخة",button_edit_occurrence_and_following:"This and following events",grid_tab:"جدول",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"يومي",repeat_radio_week:"أسبوعي",repeat_radio_month:"شهري",repeat_radio_year:"سنوي",repeat_radio_day_type:"كل",repeat_text_day_count:"يوم",repeat_radio_day_type2:"كل يوم عمل",repeat_week:" تكرار كل",repeat_text_week_count:"أسبوع في الأيام التالية:",repeat_radio_month_type:"تكرار",repeat_radio_month_start:"في",repeat_text_month_day:"يوم كل",repeat_text_month_count:"شهر",repeat_text_month_count2_before:"كل",repeat_text_month_count2_after:"شهر",repeat_year_label:"في",select_year_day2:"من",repeat_text_year_day:"يوم",select_year_month:"شهر",repeat_radio_end:"بدون تاريخ انتهاء",repeat_text_occurrences_count:"تكرارات",repeat_radio_end2:"بعد",repeat_radio_end3:"ينتهي في",repeat_never:"أبداً",repeat_daily:"كل يوم",repeat_workdays:"كل يوم عمل",repeat_weekly:"كل أسبوع",repeat_monthly:"كل شهر",repeat_yearly:"كل سنة",repeat_custom:"تخصيص",repeat_freq_day:"يوم",repeat_freq_week:"أسبوع",repeat_freq_month:"شهر",repeat_freq_year:"سنة",repeat_on_date:"في التاريخ",repeat_ends:"ينتهي",month_for_recurring:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],day_for_recurring:["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"]}},be:{date:{month_full:["Студзень","Люты","Сакавік","Красавік","Maй","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань"],month_short:["Студз","Лют","Сак","Крас","Maй","Чэр","Ліп","Жнів","Вер","Каст","Ліст","Снеж"],day_full:["Нядзеля","Панядзелак","Аўторак","Серада","Чацвер","Пятніца","Субота"],day_short:["Нд","Пн","Аўт","Ср","Чцв","Пт","Сб"]},labels:{dhx_cal_today_button:"Сёння",day_tab:"Дзень",week_tab:"Тыдзень",month_tab:"Месяц",new_event:"Новая падзея",icon_save:"Захаваць",icon_cancel:"Адмяніць",icon_details:"Дэталі",icon_edit:"Змяніць",icon_delete:"Выдаліць",confirm_closing:"",confirm_deleting:"Падзея будзе выдалена незваротна, працягнуць?",section_description:"Апісанне",section_time:"Перыяд часу",full_day:"Увесь дзень",confirm_recurring:"Вы хочаце змяніць усю серыю паўтаральных падзей?",section_recurring:"Паўтарэнне",button_recurring:"Адключана",button_recurring_open:"Уключана",button_edit_series:"Рэдагаваць серыю",button_edit_occurrence:"Рэдагаваць асобнік",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Спіс",date:"Дата",description:"Апісанне",year_tab:"Год",week_agenda_tab:"Спіс",grid_tab:"Спic",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Дзень",repeat_radio_week:"Тыдзень",repeat_radio_month:"Месяц",repeat_radio_year:"Год",repeat_radio_day_type:"Кожны",repeat_text_day_count:"дзень",repeat_radio_day_type2:"Кожны працоўны дзень",repeat_week:" Паўтараць кожны",repeat_text_week_count:"тыдзень",repeat_radio_month_type:"Паўтараць",repeat_radio_month_start:"",repeat_text_month_day:" чысла кожнага",repeat_text_month_count:"месяцу",repeat_text_month_count2_before:"кожны ",repeat_text_month_count2_after:"месяц",repeat_year_label:"",select_year_day2:"",repeat_text_year_day:"дзень",select_year_month:"",repeat_radio_end:"Без даты заканчэння",repeat_text_occurrences_count:"паўтораў",repeat_radio_end2:"",repeat_radio_end3:"Да ",repeat_never:"Ніколі",repeat_daily:"Кожны дзень",repeat_workdays:"Кожны працоўны дзень",repeat_weekly:"Кожны тыдзень",repeat_monthly:"Кожны месяц",repeat_yearly:"Кожны год",repeat_custom:"Наладжвальны",repeat_freq_day:"Дзень",repeat_freq_week:"Тыдзень",repeat_freq_month:"Месяц",repeat_freq_year:"Год",repeat_on_date:"На дату",repeat_ends:"Заканчваецца",month_for_recurring:["Студзеня","Лютага","Сакавіка","Красавіка","Мая","Чэрвеня","Ліпeня","Жніўня","Верасня","Кастрычніка","Лістапада","Снежня"],day_for_recurring:["Нядзелю","Панядзелак","Аўторак","Сераду","Чацвер","Пятніцу","Суботу"]}},ca:{date:{month_full:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],month_short:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],day_full:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],day_short:["Dg","Dl","Dm","Dc","Dj","Dv","Ds"]},labels:{dhx_cal_today_button:"Hui",day_tab:"Dia",week_tab:"Setmana",month_tab:"Mes",new_event:"Nou esdeveniment",icon_save:"Guardar",icon_cancel:"Cancel·lar",icon_details:"Detalls",icon_edit:"Editar",icon_delete:"Esborrar",confirm_closing:"",confirm_deleting:"L'esdeveniment s'esborrarà definitivament, continuar ?",section_description:"Descripció",section_time:"Periode de temps",full_day:"Tot el dia",confirm_recurring:"¿Desitja modificar el conjunt d'esdeveniments repetits?",section_recurring:"Repeteixca l'esdeveniment",button_recurring:"Impedit",button_recurring_open:"Permés",button_edit_series:"Edit sèrie",button_edit_occurrence:"Edita Instància",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Data",description:"Descripció",year_tab:"Any",week_agenda_tab:"Agenda",grid_tab:"Taula",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Diari",repeat_radio_week:"Setmanal",repeat_radio_month:"Mensual",repeat_radio_year:"Anual",repeat_radio_day_type:"Cada",repeat_text_day_count:"dia",repeat_radio_day_type2:"Cada dia laborable",repeat_week:" Repetir cada",repeat_text_week_count:"setmana els dies següents:",repeat_radio_month_type:"Repetir",repeat_radio_month_start:"El",repeat_text_month_day:"dia cada",repeat_text_month_count:"mes",repeat_text_month_count2_before:"cada",repeat_text_month_count2_after:"mes",repeat_year_label:"El",select_year_day2:"de",repeat_text_year_day:"dia",select_year_month:"mes",repeat_radio_end:"Sense data de finalització",repeat_text_occurrences_count:"ocurrències",repeat_radio_end2:"Després",repeat_radio_end3:"Finalitzar el",repeat_never:"Mai",repeat_daily:"Cada dia",repeat_workdays:"Cada dia laborable",repeat_weekly:"Cada setmana",repeat_monthly:"Cada mes",repeat_yearly:"Cada any",repeat_custom:"Personalitzat",repeat_freq_day:"Dia",repeat_freq_week:"Setmana",repeat_freq_month:"Mes",repeat_freq_year:"Any",repeat_on_date:"En la data",repeat_ends:"Finalitza",month_for_recurring:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],day_for_recurring:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]}},cn:{date:{month_full:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],month_short:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],day_full:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],day_short:["日","一","二","三","四","五","六"]},labels:{dhx_cal_today_button:"今天",day_tab:"日",week_tab:"周",month_tab:"月",new_event:"新建日程",icon_save:"保存",icon_cancel:"关闭",icon_details:"详细",icon_edit:"编辑",icon_delete:"删除",confirm_closing:"请确认是否撤销修改!",confirm_deleting:"是否删除日程?",section_description:"描述",section_time:"时间范围",full_day:"整天",confirm_recurring:"请确认是否将日程设为重复模式?",section_recurring:"重复周期",button_recurring:"禁用",button_recurring_open:"启用",button_edit_series:"编辑系列",button_edit_occurrence:"编辑实例",button_edit_occurrence_and_following:"This and following events",agenda_tab:"议程",date:"日期",description:"说明",year_tab:"今年",week_agenda_tab:"议程",grid_tab:"电网",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"按天",repeat_radio_week:"按周",repeat_radio_month:"按月",repeat_radio_year:"按年",repeat_radio_day_type:"每",repeat_text_day_count:"天",repeat_radio_day_type2:"每个工作日",repeat_week:" 重复 每",repeat_text_week_count:"星期的:",repeat_radio_month_type:"重复",repeat_radio_month_start:"在",repeat_text_month_day:"日 每",repeat_text_month_count:"月",repeat_text_month_count2_before:"每",repeat_text_month_count2_after:"月",repeat_year_label:"在",select_year_day2:"的",repeat_text_year_day:"日",select_year_month:"月",repeat_radio_end:"无结束日期",repeat_text_occurrences_count:"次结束",repeat_radio_end2:"重复",repeat_radio_end3:"结束于",repeat_never:"从不",repeat_daily:"每天",repeat_workdays:"每个工作日",repeat_weekly:"每周",repeat_monthly:"每月",repeat_yearly:"每年",repeat_custom:"自定义",repeat_freq_day:"天",repeat_freq_week:"周",repeat_freq_month:"月",repeat_freq_year:"年",repeat_on_date:"在日期",repeat_ends:"结束",month_for_recurring:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],day_for_recurring:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]}},cs:{date:{month_full:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],month_short:["Led","Ún","Bře","Dub","Kvě","Čer","Čec","Srp","Září","Říj","List","Pro"],day_full:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],day_short:["Ne","Po","Út","St","Čt","Pá","So"]},labels:{dhx_cal_today_button:"Dnes",day_tab:"Den",week_tab:"Týden",month_tab:"Měsíc",new_event:"Nová událost",icon_save:"Uložit",icon_cancel:"Zpět",icon_details:"Detail",icon_edit:"Edituj",icon_delete:"Smazat",confirm_closing:"",confirm_deleting:"Událost bude trvale smazána, opravdu?",section_description:"Poznámky",section_time:"Doba platnosti",confirm_recurring:"Přejete si upravit celou řadu opakovaných událostí?",section_recurring:"Opakování události",button_recurring:"Vypnuto",button_recurring_open:"Zapnuto",button_edit_series:"Edit series",button_edit_occurrence:"Upravit instance",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Program",date:"Datum",description:"Poznámka",year_tab:"Rok",full_day:"Full day",week_agenda_tab:"Program",grid_tab:"Mřížka",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Denně",repeat_radio_week:"Týdně",repeat_radio_month:"Měsíčně",repeat_radio_year:"Ročně",repeat_radio_day_type:"každý",repeat_text_day_count:"Den",repeat_radio_day_type2:"pracovní dny",repeat_week:"Opakuje každých",repeat_text_week_count:"Týdnů na:",repeat_radio_month_type:"u každého",repeat_radio_month_start:"na",repeat_text_month_day:"Den každého",repeat_text_month_count:"Měsíc",repeat_text_month_count2_before:"každý",repeat_text_month_count2_after:"Měsíc",repeat_year_label:"na",select_year_day2:"v",repeat_text_year_day:"Den v",select_year_month:"",repeat_radio_end:"bez data ukončení",repeat_text_occurrences_count:"Události",repeat_radio_end2:"po",repeat_radio_end3:"Konec",repeat_never:"Nikdy",repeat_daily:"Každý den",repeat_workdays:"Každý pracovní den",repeat_weekly:"Každý týden",repeat_monthly:"Každý měsíc",repeat_yearly:"Každý rok",repeat_custom:"Vlastní",repeat_freq_day:"Den",repeat_freq_week:"Týden",repeat_freq_month:"Měsíc",repeat_freq_year:"Rok",repeat_on_date:"Na datum",repeat_ends:"Končí",month_for_recurring:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],day_for_recurring:["Neděle ","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"]}},da:{date:{month_full:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Man","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Uge",month_tab:"Måned",new_event:"Ny begivenhed",icon_save:"Gem",icon_cancel:"Fortryd",icon_details:"Detaljer",icon_edit:"Tilret",icon_delete:"Slet",confirm_closing:"Dine rettelser vil gå tabt.. Er dy sikker?",confirm_deleting:"Bigivenheden vil blive slettet permanent. Er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",confirm_recurring:"Vil du tilrette hele serien af gentagne begivenheder?",section_recurring:"Gentag begivenhed",button_recurring:"Frakoblet",button_recurring_open:"Tilkoblet",button_edit_series:"Rediger serien",button_edit_occurrence:"Rediger en kopi",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Dagsorden",date:"Dato",description:"Beskrivelse",year_tab:"År",week_agenda_tab:"Dagsorden",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Daglig",repeat_radio_week:"Ugenlig",repeat_radio_month:"Månedlig",repeat_radio_year:"Årlig",repeat_radio_day_type:"Hver",repeat_text_day_count:"dag",repeat_radio_day_type2:"På hver arbejdsdag",repeat_week:" Gentager sig hver",repeat_text_week_count:"uge på følgende dage:",repeat_radio_month_type:"Hver den",repeat_radio_month_start:"Den",repeat_text_month_day:" i hver",repeat_text_month_count:"måned",repeat_text_month_count2_before:"hver",repeat_text_month_count2_after:"måned",repeat_year_label:"Den",select_year_day2:"i",repeat_text_year_day:"dag i",select_year_month:"",repeat_radio_end:"Ingen slutdato",repeat_text_occurrences_count:"gentagelse",repeat_radio_end2:"Efter",repeat_radio_end3:"Slut",repeat_never:"Aldrig",repeat_daily:"Hver dag",repeat_workdays:"Hver hverdag",repeat_weekly:"Hver uge",repeat_monthly:"Hver måned",repeat_yearly:"Hvert år",repeat_custom:"Brugerdefineret",repeat_freq_day:"Dag",repeat_freq_week:"Uge",repeat_freq_month:"Måned",repeat_freq_year:"År",repeat_on_date:"På dato",repeat_ends:"Slutter",month_for_recurring:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],day_for_recurring:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]}},de:{date:{month_full:[" Januar"," Februar"," März "," April"," Mai"," Juni"," Juli"," August"," September "," Oktober"," November "," Dezember"],month_short:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],day_full:["Sonntag","Montag","Dienstag"," Mittwoch"," Donnerstag","Freitag","Samstag"],day_short:["So","Mo","Di","Mi","Do","Fr","Sa"]},labels:{dhx_cal_today_button:"Heute",day_tab:"Tag",week_tab:"Woche",month_tab:"Monat",new_event:"neuer Eintrag",icon_save:"Speichern",icon_cancel:"Abbrechen",icon_details:"Details",icon_edit:"Ändern",icon_delete:"Löschen",confirm_closing:"",confirm_deleting:"Der Eintrag wird gelöscht",section_description:"Beschreibung",section_time:"Zeitspanne",full_day:"Ganzer Tag",confirm_recurring:"Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?",section_recurring:"Wiederholung",button_recurring:"Aus",button_recurring_open:"An",button_edit_series:"Bearbeiten Sie die Serie",button_edit_occurrence:"Bearbeiten Sie eine Kopie",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Datum",description:"Beschreibung",year_tab:"Jahre",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Täglich",repeat_radio_week:"Wöchentlich",repeat_radio_month:"Monatlich",repeat_radio_year:"Jährlich",repeat_radio_day_type:"jeden",repeat_text_day_count:"Tag",repeat_radio_day_type2:"an jedem Arbeitstag",repeat_week:" Wiederholt sich jede",repeat_text_week_count:"Woche am:",repeat_radio_month_type:"an jedem",repeat_radio_month_start:"am",repeat_text_month_day:"Tag eines jeden",repeat_text_month_count:"Monats",repeat_text_month_count2_before:"jeden",repeat_text_month_count2_after:"Monats",repeat_year_label:"am",select_year_day2:"im",repeat_text_year_day:"Tag im",select_year_month:"",repeat_radio_end:"kein Enddatum",repeat_text_occurrences_count:"Ereignissen",repeat_radio_end3:"Schluß",repeat_radio_end2:"nach",repeat_never:"Nie",repeat_daily:"Jeden Tag",repeat_workdays:"Jeden Werktag",repeat_weekly:"Jede Woche",repeat_monthly:"Jeden Monat",repeat_yearly:"Jedes Jahr",repeat_custom:"Benutzerdefiniert",repeat_freq_day:"Tag",repeat_freq_week:"Woche",repeat_freq_month:"Monat",repeat_freq_year:"Jahr",repeat_on_date:"Am Datum",repeat_ends:"Endet",month_for_recurring:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],day_for_recurring:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]}},el:{date:{month_full:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάϊος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],month_short:["ΙΑΝ","ΦΕΒ","ΜΑΡ","ΑΠΡ","ΜΑΙ","ΙΟΥΝ","ΙΟΥΛ","ΑΥΓ","ΣΕΠ","ΟΚΤ","ΝΟΕ","ΔΕΚ"],day_full:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],day_short:["ΚΥ","ΔΕ","ΤΡ","ΤΕ","ΠΕ","ΠΑ","ΣΑ"]},labels:{dhx_cal_today_button:"Σήμερα",day_tab:"Ημέρα",week_tab:"Εβδομάδα",month_tab:"Μήνας",new_event:"Νέο έργο",icon_save:"Αποθήκευση",icon_cancel:"Άκυρο",icon_details:"Λεπτομέρειες",icon_edit:"Επεξεργασία",icon_delete:"Διαγραφή",confirm_closing:"",confirm_deleting:"Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;",section_description:"Περιγραφή",section_time:"Χρονική περίοδος",full_day:"Πλήρης Ημέρα",confirm_recurring:"Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;",section_recurring:"Επαναλαμβανόμενο έργο",button_recurring:"Ανενεργό",button_recurring_open:"Ενεργό",button_edit_series:"Επεξεργαστείτε τη σειρά",button_edit_occurrence:"Επεξεργασία ένα αντίγραφο",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Ημερήσια Διάταξη",date:"Ημερομηνία",description:"Περιγραφή",year_tab:"Έτος",week_agenda_tab:"Ημερήσια Διάταξη",grid_tab:"Πλέγμα",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Ημερησίως",repeat_radio_week:"Εβδομαδιαίως",repeat_radio_month:"Μηνιαίως",repeat_radio_year:"Ετησίως",repeat_radio_day_type:"Κάθε",repeat_text_day_count:"ημέρα",repeat_radio_day_type2:"Κάθε εργάσιμη",repeat_week:" Επανάληψη κάθε",repeat_text_week_count:"εβδομάδα τις επόμενες ημέρες:",repeat_radio_month_type:"Επανάληψη",repeat_radio_month_start:"Την",repeat_text_month_day:"ημέρα κάθε",repeat_text_month_count:"μήνα",repeat_text_month_count2_before:"κάθε",repeat_text_month_count2_after:"μήνα",repeat_year_label:"Την",select_year_day2:"του",repeat_text_year_day:"ημέρα",select_year_month:"μήνα",repeat_radio_end:"Χωρίς ημερομηνία λήξεως",repeat_text_occurrences_count:"επαναλήψεις",repeat_radio_end3:"Λήγει την",repeat_radio_end2:"Μετά από",repeat_never:"Ποτέ",repeat_daily:"Κάθε μέρα",repeat_workdays:"Κάθε εργάσιμη μέρα",repeat_weekly:"Κάθε εβδομάδα",repeat_monthly:"Κάθε μήνα",repeat_yearly:"Κάθε χρόνο",repeat_custom:"Προσαρμοσμένο",repeat_freq_day:"Ημέρα",repeat_freq_week:"Εβδομάδα",repeat_freq_month:"Μήνας",repeat_freq_year:"Χρόνος",repeat_on_date:"Σε ημερομηνία",repeat_ends:"Λήγει",month_for_recurring:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάϊος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],day_for_recurring:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]}},en:{date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{dhx_cal_today_button:"Today",day_tab:"Day",week_tab:"Week",month_tab:"Month",new_event:"New event",icon_save:"Save",icon_cancel:"Cancel",icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",confirm_deleting:"Event will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",full_day:"Full day",confirm_recurring:"Edit recurring event",section_recurring:"Repeat event",button_recurring:"Disabled",button_recurring_open:"Enabled",button_edit_series:"All events",button_edit_occurrence:"This event",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Date",description:"Description",year_tab:"Year",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Daily",repeat_radio_week:"Weekly",repeat_radio_month:"Monthly",repeat_radio_year:"Yearly",repeat_radio_day_type:"Every",repeat_text_day_count:"day",repeat_radio_day_type2:"Every workday",repeat_week:" Repeat every",repeat_text_week_count:"week next days:",repeat_radio_month_type:"Repeat",repeat_radio_month_start:"On",repeat_text_month_day:"day every",repeat_text_month_count:"month",repeat_text_month_count2_before:"every",repeat_text_month_count2_after:"month",repeat_year_label:"On",select_year_day2:"of",repeat_text_year_day:"day",select_year_month:"month",repeat_radio_end:"No end date",repeat_text_occurrences_count:"occurrences",repeat_radio_end2:"After",repeat_radio_end3:"End by",repeat_never:"Never",repeat_daily:"Every day",repeat_workdays:"Every weekday",repeat_weekly:"Every week",repeat_monthly:"Every month",repeat_yearly:"Every year",repeat_custom:"Custom",repeat_freq_day:"Day",repeat_freq_week:"Week",repeat_freq_month:"Month",repeat_freq_year:"Year",repeat_on_date:"On date",repeat_ends:"Ends",month_for_recurring:["January","February","March","April","May","June","July","August","September","October","November","December"],day_for_recurring:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}},es:{date:{month_full:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],month_short:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],day_full:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],day_short:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"]},labels:{dhx_cal_today_button:"Hoy",day_tab:"Día",week_tab:"Semana",month_tab:"Mes",new_event:"Nuevo evento",icon_save:"Guardar",icon_cancel:"Cancelar",icon_details:"Detalles",icon_edit:"Editar",icon_delete:"Eliminar",confirm_closing:"",confirm_deleting:"El evento se borrará definitivamente, ¿continuar?",section_description:"Descripción",section_time:"Período",full_day:"Todo el día",confirm_recurring:"¿Desea modificar el conjunto de eventos repetidos?",section_recurring:"Repita el evento",button_recurring:"Impedido",button_recurring_open:"Permitido",button_edit_series:"Editar la serie",button_edit_occurrence:"Editar este evento",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Día",date:"Fecha",description:"Descripción",year_tab:"Año",week_agenda_tab:"Día",grid_tab:"Reja",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Diariamente",repeat_radio_week:"Semanalmente",repeat_radio_month:"Mensualmente",repeat_radio_year:"Anualmente",repeat_radio_day_type:"Cada",repeat_text_day_count:"dia",repeat_radio_day_type2:"Cada jornada de trabajo",repeat_week:" Repetir cada",repeat_text_week_count:"semana:",repeat_radio_month_type:"Repita",repeat_radio_month_start:"El",repeat_text_month_day:"dia cada ",repeat_text_month_count:"mes",repeat_text_month_count2_before:"cada",repeat_text_month_count2_after:"mes",repeat_year_label:"El",select_year_day2:"del",repeat_text_year_day:"dia",select_year_month:"mes",repeat_radio_end:"Sin fecha de finalización",repeat_text_occurrences_count:"ocurrencias",repeat_radio_end3:"Fin",repeat_radio_end2:"Después de",repeat_never:"Nunca",repeat_daily:"Cada día",repeat_workdays:"Cada día laborable",repeat_weekly:"Cada semana",repeat_monthly:"Cada mes",repeat_yearly:"Cada año",repeat_custom:"Personalizado",repeat_freq_day:"Día",repeat_freq_week:"Semana",repeat_freq_month:"Mes",repeat_freq_year:"Año",repeat_on_date:"En la fecha",repeat_ends:"Termina",month_for_recurring:["Enero","Febrero","Маrzo","Аbril","Mayo","Junio","Julio","Аgosto","Setiembre","Octubre","Noviembre","Diciembre"],day_for_recurring:["Domingo","Lunes","Martes","Miércoles","Jeuves","Viernes","Sabado"]}},fi:{date:{month_full:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],month_short:["Tam","Hel","Maa","Huh","Tou","Kes","Hei","Elo","Syy","Lok","Mar","Jou"],day_full:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],day_short:["Su","Ma","Ti","Ke","To","Pe","La"]},labels:{dhx_cal_today_button:"Tänään",day_tab:"Päivä",week_tab:"Viikko",month_tab:"Kuukausi",new_event:"Uusi tapahtuma",icon_save:"Tallenna",icon_cancel:"Peru",icon_details:"Tiedot",icon_edit:"Muokkaa",icon_delete:"Poista",confirm_closing:"",confirm_deleting:"Haluatko varmasti poistaa tapahtuman?",section_description:"Kuvaus",section_time:"Aikajakso",full_day:"Koko päivä",confirm_recurring:"Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?",section_recurring:"Toista tapahtuma",button_recurring:"Ei käytössä",button_recurring_open:"Käytössä",button_edit_series:"Muokkaa sarja",button_edit_occurrence:"Muokkaa kopio",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Esityslista",date:"Päivämäärä",description:"Kuvaus",year_tab:"Vuoden",week_agenda_tab:"Esityslista",grid_tab:"Ritilä",drag_to_create:"Luo uusi vetämällä",drag_to_move:"Siirrä vetämällä",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Päivittäin",repeat_radio_week:"Viikoittain",repeat_radio_month:"Kuukausittain",repeat_radio_year:"Vuosittain",repeat_radio_day_type:"Joka",repeat_text_day_count:"päivä",repeat_radio_day_type2:"Joka arkipäivä",repeat_week:"Toista joka",repeat_text_week_count:"viikko näinä päivinä:",repeat_radio_month_type:"Toista",repeat_radio_month_start:"",repeat_text_month_day:"päivänä joka",repeat_text_month_count:"kuukausi",repeat_text_month_count2_before:"joka",repeat_text_month_count2_after:"kuukausi",repeat_year_label:"",select_year_day2:"",repeat_text_year_day:"päivä",select_year_month:"kuukausi",repeat_radio_end:"Ei loppumisaikaa",repeat_text_occurrences_count:"Toiston jälkeen",repeat_radio_end3:"Loppuu",repeat_radio_end2:"",repeat_never:"Ei koskaan",repeat_daily:"Joka päivä",repeat_workdays:"Joka arkipäivä",repeat_weekly:"Joka viikko",repeat_monthly:"Joka kuukausi",repeat_yearly:"Joka vuosi",repeat_custom:"Mukautettu",repeat_freq_day:"Päivä",repeat_freq_week:"Viikko",repeat_freq_month:"Kuukausi",repeat_freq_year:"Vuosi",repeat_on_date:"Tiettynä päivänä",repeat_ends:"Päättyy",month_for_recurring:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],day_for_recurring:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"]}},fr:{date:{month_full:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],month_short:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Aoû","Sep","Oct","Nov","Déc"],day_full:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],day_short:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"]},labels:{dhx_cal_today_button:"Aujourd'hui",day_tab:"Jour",week_tab:"Semaine",month_tab:"Mois",new_event:"Nouvel événement",icon_save:"Enregistrer",icon_cancel:"Annuler",icon_details:"Détails",icon_edit:"Modifier",icon_delete:"Effacer",confirm_closing:"",confirm_deleting:"L'événement sera effacé sans appel, êtes-vous sûr ?",section_description:"Description",section_time:"Période",full_day:"Journée complète",confirm_recurring:"Voulez-vous éditer toute une série d'évènements répétés?",section_recurring:"Périodicité",button_recurring:"Désactivé",button_recurring_open:"Activé",button_edit_series:"Modifier la série",button_edit_occurrence:"Modifier une copie",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Jour",date:"Date",description:"Description",year_tab:"Année",week_agenda_tab:"Jour",grid_tab:"Grille",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Quotidienne",repeat_radio_week:"Hebdomadaire",repeat_radio_month:"Mensuelle",repeat_radio_year:"Annuelle",repeat_radio_day_type:"Chaque",repeat_text_day_count:"jour",repeat_radio_day_type2:"Chaque journée de travail",repeat_week:" Répéter toutes les",repeat_text_week_count:"semaine:",repeat_radio_month_type:"Répéter",repeat_radio_month_start:"Le",repeat_text_month_day:"jour chaque",repeat_text_month_count:"mois",repeat_text_month_count2_before:"chaque",repeat_text_month_count2_after:"mois",repeat_year_label:"Le",select_year_day2:"du",repeat_text_year_day:"jour",select_year_month:"mois",repeat_radio_end:"Pas de date d"achèvement",repeat_text_occurrences_count:"occurrences",repeat_radio_end3:"Fin",repeat_radio_end2:"Après",repeat_never:"Jamais",repeat_daily:"Chaque jour",repeat_workdays:"Chaque jour ouvrable",repeat_weekly:"Chaque semaine",repeat_monthly:"Chaque mois",repeat_yearly:"Chaque année",repeat_custom:"Personnalisé",repeat_freq_day:"Jour",repeat_freq_week:"Semaine",repeat_freq_month:"Mois",repeat_freq_year:"Année",repeat_on_date:"À la date",repeat_ends:"Se termine",month_for_recurring:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],day_for_recurring:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"]}},he:{date:{month_full:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],month_short:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],day_full:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],day_short:["א","ב","ג","ד","ה","ו","ש"]},labels:{dhx_cal_today_button:"היום",day_tab:"יום",week_tab:"שבוע",month_tab:"חודש",new_event:"ארוע חדש",icon_save:"שמור",icon_cancel:"בטל",icon_details:"פרטים",icon_edit:"ערוך",icon_delete:"מחק",confirm_closing:"",confirm_deleting:"ארוע ימחק סופית.להמשיך?",section_description:"תיאור",section_time:"תקופה",confirm_recurring:"האם ברצונך לשנות כל סדרת ארועים מתמשכים?",section_recurring:"להעתיק ארוע",button_recurring:"לא פעיל",button_recurring_open:"פעיל",full_day:"יום שלם",button_edit_series:"ערוך את הסדרה",button_edit_occurrence:"עריכת עותק",button_edit_occurrence_and_following:"This and following events",agenda_tab:"סדר יום",date:"תאריך",description:"תיאור",year_tab:"לשנה",week_agenda_tab:"סדר יום",grid_tab:"סורג",drag_to_create:"Drag to create",drag_to_move:"גרור כדי להזיז",message_ok:"OK",message_cancel:"בטל",next:"הבא",prev:"הקודם",year:"שנה",month:"חודש",day:"יום",hour:"שעה",minute:"דקה",repeat_radio_day:"יומי",repeat_radio_week:"שבועי",repeat_radio_month:"חודשי",repeat_radio_year:"שנתי",repeat_radio_day_type:"חזור כל",repeat_text_day_count:"ימים",repeat_radio_day_type2:"חזור כל יום עבודה",repeat_week:" חזור כל",repeat_text_week_count:"שבוע לפי ימים:",repeat_radio_month_type:"חזור כל",repeat_radio_month_start:"כל",repeat_text_month_day:"ימים כל",repeat_text_month_count:"חודשים",repeat_text_month_count2_before:"חזור כל",repeat_text_month_count2_after:"חודש",repeat_year_label:"כל",select_year_day2:"בחודש",repeat_text_year_day:"ימים",select_year_month:"חודש",repeat_radio_end:"לעולם לא מסתיים",repeat_text_occurrences_count:"אירועים",repeat_radio_end3:"מסתיים ב",repeat_radio_end2:"אחרי",repeat_never:"אף פעם",repeat_daily:"כל יום",repeat_workdays:"כל יום עבודה",repeat_weekly:"כל שבוע",repeat_monthly:"כל חודש",repeat_yearly:"כל שנה",repeat_custom:"מותאם אישית",repeat_freq_day:"יום",repeat_freq_week:"שבוע",repeat_freq_month:"חודש",repeat_freq_year:"שנה",repeat_on_date:"בתאריך",repeat_ends:"מסתיים",month_for_recurring:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],day_for_recurring:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"]}},hu:{date:{month_full:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],month_short:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],day_full:["Vasárnap","Hétfõ","Kedd","Szerda","Csütörtök","Péntek","szombat"],day_short:["Va","Hé","Ke","Sze","Csü","Pé","Szo"]},labels:{dhx_cal_today_button:"Ma",day_tab:"Nap",week_tab:"Hét",month_tab:"Hónap",new_event:"Új esemény",icon_save:"Mentés",icon_cancel:"Mégse",icon_details:"Részletek",icon_edit:"Szerkesztés",icon_delete:"Törlés",confirm_closing:"",confirm_deleting:"Az esemény törölve lesz, biztosan folytatja?",section_description:"Leírás",section_time:"Idõszak",full_day:"Egesz napos",confirm_recurring:"Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?",section_recurring:"Esemény ismétlése",button_recurring:"Tiltás",button_recurring_open:"Engedélyezés",button_edit_series:"Edit series",button_edit_occurrence:"Szerkesztés bíróság",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Napirend",date:"Dátum",description:"Leírás",year_tab:"Év",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Napi",repeat_radio_week:"Heti",repeat_radio_month:"Havi",repeat_radio_year:"Éves",repeat_radio_day_type:"Minden",repeat_text_day_count:"nap",repeat_radio_day_type2:"Minden munkanap",repeat_week:" Ismételje meg minden",repeat_text_week_count:"héten a következő napokon:",repeat_radio_month_type:"Ismétlés",repeat_radio_month_start:"Ekkor",repeat_text_month_day:"nap minden",repeat_text_month_count:"hónapban",repeat_text_month_count2_before:"minden",repeat_text_month_count2_after:"hónapban",repeat_year_label:"Ekkor",select_year_day2:"-án/-én",repeat_text_year_day:"nap",select_year_month:"hónap",repeat_radio_end:"Nincs befejezési dátum",repeat_text_occurrences_count:"esemény",repeat_radio_end2:"Után",repeat_radio_end3:"Befejező dátum",repeat_never:"Soha",repeat_daily:"Minden nap",repeat_workdays:"Minden munkanap",repeat_weekly:"Minden héten",repeat_monthly:"Minden hónapban",repeat_yearly:"Minden évben",repeat_custom:"Egyedi",repeat_freq_day:"Nap",repeat_freq_week:"Hét",repeat_freq_month:"Hónap",repeat_freq_year:"Év",repeat_on_date:"Dátum szerint",repeat_ends:"Befejeződik",month_for_recurring:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],day_for_recurring:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"]}},id:{date:{month_full:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],day_full:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],day_short:["Ming","Sen","Sel","Rab","Kam","Jum","Sab"]},labels:{dhx_cal_today_button:"Hari Ini",day_tab:"Hari",week_tab:"Minggu",month_tab:"Bulan",new_event:"Acara Baru",icon_save:"Simpan",icon_cancel:"Batal",icon_details:"Detail",icon_edit:"Edit",icon_delete:"Hapus",confirm_closing:"",confirm_deleting:"Acara akan dihapus",section_description:"Keterangan",section_time:"Periode",full_day:"Hari penuh",confirm_recurring:"Apakah acara ini akan berulang?",section_recurring:"Acara Rutin",button_recurring:"Tidak Difungsikan",button_recurring_open:"Difungsikan",button_edit_series:"Mengedit seri",button_edit_occurrence:"Mengedit salinan",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Tanggal",description:"Keterangan",year_tab:"Tahun",week_agenda_tab:"Agenda",grid_tab:"Tabel",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Harian",repeat_radio_week:"Mingguan",repeat_radio_month:"Bulanan",repeat_radio_year:"Tahunan",repeat_radio_day_type:"Setiap",repeat_text_day_count:"hari",repeat_radio_day_type2:"Setiap hari kerja",repeat_week:" Ulangi setiap",repeat_text_week_count:"minggu pada hari berikut:",repeat_radio_month_type:"Ulangi",repeat_radio_month_start:"Pada",repeat_text_month_day:"hari setiap",repeat_text_month_count:"bulan",repeat_text_month_count2_before:"setiap",repeat_text_month_count2_after:"bulan",repeat_year_label:"Pada",select_year_day2:"dari",repeat_text_year_day:"hari",select_year_month:"bulan",repeat_radio_end:"Tanpa tanggal akhir",repeat_text_occurrences_count:"kejadian",repeat_radio_end2:"Setelah",repeat_radio_end3:"Berakhir pada",repeat_never:"Tidak pernah",repeat_daily:"Setiap hari",repeat_workdays:"Setiap hari kerja",repeat_weekly:"Setiap minggu",repeat_monthly:"Setiap bulan",repeat_yearly:"Setiap tahun",repeat_custom:"Kustom",repeat_freq_day:"Hari",repeat_freq_week:"Minggu",repeat_freq_month:"Bulan",repeat_freq_year:"Tahun",repeat_on_date:"Pada tanggal",repeat_ends:"Berakhir",month_for_recurring:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],day_for_recurring:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]}},it:{date:{month_full:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],month_short:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],day_full:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],day_short:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"]},labels:{dhx_cal_today_button:"Oggi",day_tab:"Giorno",week_tab:"Settimana",month_tab:"Mese",new_event:"Nuovo evento",icon_save:"Salva",icon_cancel:"Chiudi",icon_details:"Dettagli",icon_edit:"Modifica",icon_delete:"Elimina",confirm_closing:"",confirm_deleting:"L'evento sarà eliminato, siete sicuri?",section_description:"Descrizione",section_time:"Periodo di tempo",full_day:"Intera giornata",confirm_recurring:"Vuoi modificare l'intera serie di eventi?",section_recurring:"Ripetere l'evento",button_recurring:"Disattivato",button_recurring_open:"Attivato",button_edit_series:"Modificare la serie",button_edit_occurrence:"Modificare una copia",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Data",description:"Descrizione",year_tab:"Anno",week_agenda_tab:"Agenda",grid_tab:"Griglia",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Quotidiano",repeat_radio_week:"Settimanale",repeat_radio_month:"Mensile",repeat_radio_year:"Annuale",repeat_radio_day_type:"Ogni",repeat_text_day_count:"giorno",repeat_radio_day_type2:"Ogni giornata lavorativa",repeat_week:" Ripetere ogni",repeat_text_week_count:"settimana:",repeat_radio_month_type:"Ripetere",repeat_radio_month_start:"Il",repeat_text_month_day:"giorno ogni",repeat_text_month_count:"mese",repeat_text_month_count2_before:"ogni",repeat_text_month_count2_after:"mese",repeat_year_label:"Il",select_year_day2:"del",repeat_text_year_day:"giorno",select_year_month:"mese",repeat_radio_end:"Senza data finale",repeat_text_occurrences_count:"occorenze",repeat_radio_end3:"Fine",repeat_radio_end2:"Dopo",repeat_never:"Mai",repeat_daily:"Ogni giorno",repeat_workdays:"Ogni giorno feriale",repeat_weekly:"Ogni settimana",repeat_monthly:"Ogni mese",repeat_yearly:"Ogni anno",repeat_custom:"Personalizzato",repeat_freq_day:"Giorno",repeat_freq_week:"Settimana",repeat_freq_month:"Mese",repeat_freq_year:"Anno",repeat_on_date:"Alla data",repeat_ends:"Finisce",month_for_recurring:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Jiugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],day_for_recurring:["Domenica","Lunedì","Martedì","Mercoledì","Jovedì","Venerdì","Sabato"]}},jp:{date:{month_full:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],month_short:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],day_full:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],day_short:["日","月","火","水","木","金","土"]},labels:{dhx_cal_today_button:"今日",day_tab:"日",week_tab:"週",month_tab:"月",new_event:"新イベント",icon_save:"保存",icon_cancel:"キャンセル",icon_details:"詳細",icon_edit:"編集",icon_delete:"削除",confirm_closing:"",confirm_deleting:"イベント完全に削除されます、宜しいですか?",section_description:"デスクリプション",section_time:"期間",confirm_recurring:"繰り返されているイベントを全て編集しますか?",section_recurring:"イベントを繰り返す",button_recurring:"無効",button_recurring_open:"有効",full_day:"終日",button_edit_series:"シリーズを編集します",button_edit_occurrence:"コピーを編集",button_edit_occurrence_and_following:"This and following events",agenda_tab:"議題は",date:"日付",description:"説明",year_tab:"今年",week_agenda_tab:"議題は",grid_tab:"グリッド",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"毎日",repeat_radio_week:"毎週",repeat_radio_month:"毎月",repeat_radio_year:"毎年",repeat_radio_day_type:"毎",repeat_text_day_count:"日",repeat_radio_day_type2:"毎営業日",repeat_week:" 繰り返し毎",repeat_text_week_count:"週 次の日:",repeat_radio_month_type:"繰り返し",repeat_radio_month_start:"オン",repeat_text_month_day:"日毎",repeat_text_month_count:"月",repeat_text_month_count2_before:"毎",repeat_text_month_count2_after:"月",repeat_year_label:"オン",select_year_day2:"の",repeat_text_year_day:"日",select_year_month:"月",repeat_radio_end:"終了日なし",repeat_text_occurrences_count:"回数",repeat_radio_end2:"後",repeat_radio_end3:"終了日まで",repeat_never:"決して",repeat_daily:"毎日",repeat_workdays:"毎営業日",repeat_weekly:"毎週",repeat_monthly:"毎月",repeat_yearly:"毎年",repeat_custom:"カスタム",repeat_freq_day:"日",repeat_freq_week:"週",repeat_freq_month:"月",repeat_freq_year:"年",repeat_on_date:"日にち",repeat_ends:"終了",month_for_recurring:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],day_for_recurring:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]}},nb:{date:{month_full:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Mon","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"I dag",day_tab:"Dag",week_tab:"Uke",month_tab:"Måned",new_event:"Ny hendelse",icon_save:"Lagre",icon_cancel:"Avbryt",icon_details:"Detaljer",icon_edit:"Rediger",icon_delete:"Slett",confirm_closing:"",confirm_deleting:"Hendelsen vil bli slettet permanent. Er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",confirm_recurring:"Vil du forandre hele dette settet av repeterende hendelser?",section_recurring:"Repeter hendelsen",button_recurring:"Av",button_recurring_open:"På",button_edit_series:"Rediger serien",button_edit_occurrence:"Redigere en kopi",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Dato",description:"Beskrivelse",year_tab:"År",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Daglig",repeat_radio_week:"Ukentlig",repeat_radio_month:"Månedlig",repeat_radio_year:"Årlig",repeat_radio_day_type:"Hver",repeat_text_day_count:"dag",repeat_radio_day_type2:"Alle hverdager",repeat_week:" Gjentas hver",repeat_text_week_count:"uke på:",repeat_radio_month_type:"På hver",repeat_radio_month_start:"På",repeat_text_month_day:"dag hver",repeat_text_month_count:"måned",repeat_text_month_count2_before:"hver",repeat_text_month_count2_after:"måned",repeat_year_label:"på",select_year_day2:"i",repeat_text_year_day:"dag i",select_year_month:"",repeat_radio_end:"Ingen sluttdato",repeat_text_occurrences_count:"forekomst",repeat_radio_end3:"Stop den",repeat_radio_end2:"Etter",repeat_never:"Aldri",repeat_daily:"Hver dag",repeat_workdays:"Hver ukedag",repeat_weekly:"Hver uke",repeat_monthly:"Hver måned",repeat_yearly:"Hvert år",repeat_custom:"Tilpasset",repeat_freq_day:"Dag",repeat_freq_week:"Uke",repeat_freq_month:"Måned",repeat_freq_year:"År",repeat_on_date:"På dato",repeat_ends:"Slutter",month_for_recurring:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],day_for_recurring:["Sondag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]}},nl:{date:{month_full:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],month_short:["Jan","Feb","mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],day_short:["Zo","Ma","Di","Wo","Do","Vr","Za"]},labels:{dhx_cal_today_button:"Vandaag",day_tab:"Dag",week_tab:"Week",month_tab:"Maand",new_event:"Nieuw item",icon_save:"Opslaan",icon_cancel:"Annuleren",icon_details:"Details",icon_edit:"Bewerken",icon_delete:"Verwijderen",confirm_closing:"",confirm_deleting:"Item zal permanent worden verwijderd, doorgaan?",section_description:"Beschrijving",section_time:"Tijd periode",full_day:"Hele dag",confirm_recurring:"Wilt u alle terugkerende items bijwerken?",section_recurring:"Item herhalen",button_recurring:"Uit",button_recurring_open:"Aan",button_edit_series:"Bewerk de serie",button_edit_occurrence:"Bewerk een kopie",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Datum",description:"Omschrijving",year_tab:"Jaar",week_agenda_tab:"Agenda",grid_tab:"Tabel",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Dagelijks",repeat_radio_week:"Wekelijks",repeat_radio_month:"Maandelijks",repeat_radio_year:"Jaarlijks",repeat_radio_day_type:"Elke",repeat_text_day_count:"dag(en)",repeat_radio_day_type2:"Elke werkdag",repeat_week:" Herhaal elke",repeat_text_week_count:"week op de volgende dagen:",repeat_radio_month_type:"Herhaal",repeat_radio_month_start:"Op",repeat_text_month_day:"dag iedere",repeat_text_month_count:"maanden",repeat_text_month_count2_before:"iedere",repeat_text_month_count2_after:"maanden",repeat_year_label:"Op",select_year_day2:"van",repeat_text_year_day:"dag",select_year_month:"maand",repeat_radio_end:"Geen eind datum",repeat_text_occurrences_count:"keren",repeat_radio_end3:"Eindigd per",repeat_radio_end2:"Na",repeat_never:"Nooit",repeat_daily:"Elke dag",repeat_workdays:"Elke werkdag",repeat_weekly:"Elke week",repeat_monthly:"Elke maand",repeat_yearly:"Elk jaar",repeat_custom:"Aangepast",repeat_freq_day:"Dag",repeat_freq_week:"Week",repeat_freq_month:"Maand",repeat_freq_year:"Jaar",repeat_on_date:"Op datum",repeat_ends:"Eindigt",month_for_recurring:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],day_for_recurring:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"]}},no:{date:{month_full:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],month_short:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],day_full:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],day_short:["Søn","Man","Tir","Ons","Tor","Fre","Lør"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Uke",month_tab:"Måned",new_event:"Ny",icon_save:"Lagre",icon_cancel:"Avbryt",icon_details:"Detaljer",icon_edit:"Endre",icon_delete:"Slett",confirm_closing:"Endringer blir ikke lagret, er du sikker?",confirm_deleting:"Oppføringen vil bli slettet, er du sikker?",section_description:"Beskrivelse",section_time:"Tidsperiode",full_day:"Full dag",confirm_recurring:"Vil du endre hele settet med repeterende oppføringer?",section_recurring:"Repeterende oppføring",button_recurring:"Ikke aktiv",button_recurring_open:"Aktiv",button_edit_series:"Rediger serien",button_edit_occurrence:"Redigere en kopi",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Dato",description:"Beskrivelse",year_tab:"År",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Daglig",repeat_radio_week:"Ukentlig",repeat_radio_month:"Månedlig",repeat_radio_year:"Årlig",repeat_radio_day_type:"Hver",repeat_text_day_count:"dag",repeat_radio_day_type2:"Hver arbeidsdag",repeat_week:" Gjenta hver",repeat_text_week_count:"uke neste dager:",repeat_radio_month_type:"Gjenta",repeat_radio_month_start:"På",repeat_text_month_day:"dag hver",repeat_text_month_count:"måned",repeat_text_month_count2_before:"hver",repeat_text_month_count2_after:"måned",repeat_year_label:"På",select_year_day2:"av",repeat_text_year_day:"dag",select_year_month:"måned",repeat_radio_end:"Ingen sluttdato",repeat_text_occurrences_count:"forekomster",repeat_radio_end2:"Etter",repeat_radio_end3:"Slutt innen",repeat_never:"Aldri",repeat_daily:"Hver dag",repeat_workdays:"Hver ukedag",repeat_weekly:"Hver uke",repeat_monthly:"Hver måned",repeat_yearly:"Hvert år",repeat_custom:"Tilpasset",repeat_freq_day:"Dag",repeat_freq_week:"Uke",repeat_freq_month:"Måned",repeat_freq_year:"År",repeat_on_date:"På dato",repeat_ends:"Slutter",month_for_recurring:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],day_for_recurring:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]}},pl:{date:{month_full:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],month_short:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],day_full:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],day_short:["Nie","Pon","Wto","Śro","Czw","Pią","Sob"]},labels:{dhx_cal_today_button:"Dziś",day_tab:"Dzień",week_tab:"Tydzień",month_tab:"Miesiąc",new_event:"Nowe zdarzenie",icon_save:"Zapisz",icon_cancel:"Anuluj",icon_details:"Szczegóły",icon_edit:"Edytuj",icon_delete:"Usuń",confirm_closing:"",confirm_deleting:"Zdarzenie zostanie usunięte na zawsze, kontynuować?",section_description:"Opis",section_time:"Okres czasu",full_day:"Cały dzień",confirm_recurring:"Czy chcesz edytować cały zbiór powtarzających się zdarzeń?",section_recurring:"Powtórz zdarzenie",button_recurring:"Nieaktywne",button_recurring_open:"Aktywne",button_edit_series:"Edytuj serię",button_edit_occurrence:"Edytuj kopię",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Data",description:"Opis",year_tab:"Rok",week_agenda_tab:"Agenda",grid_tab:"Tabela",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Codziennie",repeat_radio_week:"Co tydzie",repeat_radio_month:"Co miesic",repeat_radio_year:"Co rok",repeat_radio_day_type:"Kadego",repeat_text_day_count:"dnia",repeat_radio_day_type2:"Kadego dnia roboczego",repeat_week:" Powtarzaj kadego",repeat_text_week_count:"tygodnia w dni:",repeat_radio_month_type:"Powtrz",repeat_radio_month_start:"W",repeat_text_month_day:"dnia kadego",repeat_text_month_count:"miesica",repeat_text_month_count2_before:"kadego",repeat_text_month_count2_after:"miesica",repeat_year_label:"W",select_year_day2:"miesica",repeat_text_year_day:"dnia miesica",select_year_month:"",repeat_radio_end:"Bez daty kocowej",repeat_text_occurrences_count:"wystpieniu/ach",repeat_radio_end3:"Zakocz w",repeat_radio_end2:"Po",repeat_never:"Nigdy",repeat_daily:"Codziennie",repeat_workdays:"Każdy dzień roboczy",repeat_weekly:"Co tydzień",repeat_monthly:"Co miesiąc",repeat_yearly:"Co rok",repeat_custom:"Niestandardowy",repeat_freq_day:"Dzień",repeat_freq_week:"Tydzień",repeat_freq_month:"Miesiąc",repeat_freq_year:"Rok",repeat_on_date:"W dniu",repeat_ends:"Kończy się",month_for_recurring:["Stycznia","Lutego","Marca","Kwietnia","Maja","Czerwca","Lipca","Sierpnia","Wrzenia","Padziernka","Listopada","Grudnia"],day_for_recurring:["Niedziela","Poniedziaek","Wtorek","roda","Czwartek","Pitek","Sobota"]}},pt:{date:{month_full:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],month_short:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],day_full:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],day_short:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"]},labels:{dhx_cal_today_button:"Hoje",day_tab:"Dia",week_tab:"Semana",month_tab:"Mês",new_event:"Novo evento",icon_save:"Salvar",icon_cancel:"Cancelar",icon_details:"Detalhes",icon_edit:"Editar",icon_delete:"Deletar",confirm_closing:"",confirm_deleting:"Tem certeza que deseja excluir?",section_description:"Descrição",section_time:"Período de tempo",full_day:"Dia inteiro",confirm_recurring:"Deseja editar todos esses eventos repetidos?",section_recurring:"Repetir evento",button_recurring:"Desabilitar",button_recurring_open:"Habilitar",button_edit_series:"Editar a série",button_edit_occurrence:"Editar uma cópia",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Dia",date:"Data",description:"Descrição",year_tab:"Ano",week_agenda_tab:"Dia",grid_tab:"Grade",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Diário",repeat_radio_week:"Semanal",repeat_radio_month:"Mensal",repeat_radio_year:"Anual",repeat_radio_day_type:"Cada",repeat_text_day_count:"dia(s)",repeat_radio_day_type2:"Cada trabalho diário",repeat_week:" Repita cada",repeat_text_week_count:"semana:",repeat_radio_month_type:"Repetir",repeat_radio_month_start:"Em",repeat_text_month_day:"todo dia",repeat_text_month_count:"mês",repeat_text_month_count2_before:"todo",repeat_text_month_count2_after:"mês",repeat_year_label:"Em",select_year_day2:"of",repeat_text_year_day:"dia",select_year_month:"mês",repeat_radio_end:"Sem data final",repeat_text_occurrences_count:"ocorrências",repeat_radio_end3:"Fim",repeat_radio_end2:"Depois",repeat_never:"Nunca",repeat_daily:"Todos os dias",repeat_workdays:"Todos os dias úteis",repeat_weekly:"Toda semana",repeat_monthly:"Todo mês",repeat_yearly:"Todo ano",repeat_custom:"Personalizado",repeat_freq_day:"Dia",repeat_freq_week:"Semana",repeat_freq_month:"Mês",repeat_freq_year:"Ano",repeat_on_date:"Na data",repeat_ends:"Termina",month_for_recurring:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],day_for_recurring:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]}},ro:{date:{month_full:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","November","December"],month_short:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],day_full:["Duminica","Luni","Marti","Miercuri","Joi","Vineri","Sambata"],day_short:["Du","Lu","Ma","Mi","Jo","Vi","Sa"]},labels:{dhx_cal_today_button:"Astazi",day_tab:"Zi",week_tab:"Saptamana",month_tab:"Luna",new_event:"Eveniment nou",icon_save:"Salveaza",icon_cancel:"Anuleaza",icon_details:"Detalii",icon_edit:"Editeaza",icon_delete:"Sterge",confirm_closing:"Schimbarile nu vor fi salvate, esti sigur?",confirm_deleting:"Evenimentul va fi sters permanent, esti sigur?",section_description:"Descriere",section_time:"Interval",full_day:"Toata ziua",confirm_recurring:"Vrei sa editezi toata seria de evenimente repetate?",section_recurring:"Repetare",button_recurring:"Dezactivata",button_recurring_open:"Activata",button_edit_series:"Editeaza serie",button_edit_occurrence:"Editeaza doar intrare",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Agenda",date:"Data",description:"Descriere",year_tab:"An",week_agenda_tab:"Agenda",grid_tab:"Lista",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Zilnic",repeat_radio_week:"Saptamanal",repeat_radio_month:"Lunar",repeat_radio_year:"Anual",repeat_radio_day_type:"La fiecare",repeat_text_day_count:"zi(le)",repeat_radio_day_type2:"Fiecare zi lucratoare",repeat_week:" Repeta la fiecare",repeat_text_week_count:"saptamana in urmatoarele zile:",repeat_radio_month_type:"Repeta in",repeat_radio_month_start:"In a",repeat_text_month_day:"zi la fiecare",repeat_text_month_count:"luni",repeat_text_month_count2_before:"la fiecare",repeat_text_month_count2_after:"luni",repeat_year_label:"In",select_year_day2:"a lunii",repeat_text_year_day:"zi a lunii",select_year_month:"",repeat_radio_end:"Fara data de sfarsit",repeat_text_occurrences_count:"evenimente",repeat_radio_end3:"La data",repeat_radio_end2:"Dupa",repeat_never:"Niciodată",repeat_daily:"În fiecare zi",repeat_workdays:"În fiecare zi lucrătoare",repeat_weekly:"În fiecare săptămână",repeat_monthly:"În fiecare lună",repeat_yearly:"În fiecare an",repeat_custom:"Personalizat",repeat_freq_day:"Zi",repeat_freq_week:"Săptămână",repeat_freq_month:"Lună",repeat_freq_year:"An",repeat_on_date:"La data",repeat_ends:"Se termină",month_for_recurring:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],day_for_recurring:["Duminica","Luni","Marti","Miercuri","Joi","Vineri","Sambata"]}},ru:{date:{month_full:["Январь","Февраль","Март","Апрель","Maй","Июнь","Июль","Август","Сентябрь","Oктябрь","Ноябрь","Декабрь"],month_short:["Янв","Фев","Maр","Aпр","Maй","Июн","Июл","Aвг","Сен","Окт","Ноя","Дек"],day_full:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],day_short:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]},labels:{dhx_cal_today_button:"Сегодня",day_tab:"День",week_tab:"Неделя",month_tab:"Месяц",new_event:"Новое событие",icon_save:"Сохранить",icon_cancel:"Отменить",icon_details:"Детали",icon_edit:"Изменить",icon_delete:"Удалить",confirm_closing:"",confirm_deleting:"Событие будет удалено безвозвратно, продолжить?",section_description:"Описание",section_time:"Период времени",full_day:"Весь день",confirm_recurring:"Вы хотите изменить всю серию повторяющихся событий?",section_recurring:"Повторение",button_recurring:"Отключено",button_recurring_open:"Включено",button_edit_series:"Редактировать серию",button_edit_occurrence:"Редактировать экземпляр",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Список",date:"Дата",description:"Описание",year_tab:"Год",week_agenda_tab:"Список",grid_tab:"Таблица",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"День",repeat_radio_week:"Неделя",repeat_radio_month:"Месяц",repeat_radio_year:"Год",repeat_radio_day_type:"Каждый",repeat_text_day_count:"день",repeat_radio_day_type2:"Каждый рабочий день",repeat_week:" Повторять каждую",repeat_text_week_count:"неделю , в:",repeat_radio_month_type:"Повторять",repeat_radio_month_start:"",repeat_text_month_day:" числа каждый ",repeat_text_month_count:"месяц",repeat_text_month_count2_before:"каждый ",repeat_text_month_count2_after:"месяц",repeat_year_label:"",select_year_day2:"",repeat_text_year_day:"день",select_year_month:"",repeat_radio_end:"Без даты окончания",repeat_text_occurrences_count:"повторений",repeat_radio_end3:"До ",repeat_radio_end2:"",repeat_never:"Никогда",repeat_daily:"Каждый день",repeat_workdays:"Каждый будний день",repeat_weekly:"Каждую неделю",repeat_monthly:"Каждый месяц",repeat_yearly:"Каждый год",repeat_custom:"Настроить",repeat_freq_day:"День",repeat_freq_week:"Неделя",repeat_freq_month:"Месяц",repeat_freq_year:"Год",repeat_on_date:"В дату",repeat_ends:"Заканчивается",month_for_recurring:["Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря"],day_for_recurring:["Воскресенье","Понедельник","Вторник","Среду","Четверг","Пятницу","Субботу"]}},si:{date:{month_full:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],day_short:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"]},labels:{dhx_cal_today_button:"Danes",day_tab:"Dan",week_tab:"Teden",month_tab:"Mesec",new_event:"Nov dogodek",icon_save:"Shrani",icon_cancel:"Prekliči",icon_details:"Podrobnosti",icon_edit:"Uredi",icon_delete:"Izbriši",confirm_closing:"",confirm_deleting:"Dogodek bo izbrisan. Želite nadaljevati?",section_description:"Opis",section_time:"Časovni okvir",full_day:"Ves dan",confirm_recurring:"Želite urediti celoten set ponavljajočih dogodkov?",section_recurring:"Ponovi dogodek",button_recurring:"Onemogočeno",button_recurring_open:"Omogočeno",button_edit_series:"Edit series",button_edit_occurrence:"Edit occurrence",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Zadeva",date:"Datum",description:"Opis",year_tab:"Leto",week_agenda_tab:"Zadeva",grid_tab:"Miza",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Dnevno",repeat_radio_week:"Tedensko",repeat_radio_month:"Mesečno",repeat_radio_year:"Letno",repeat_radio_day_type:"Vsak",repeat_text_day_count:"dan",repeat_radio_day_type2:"Vsak delovni dan",repeat_week:" Ponavljaj vsak",repeat_text_week_count:"teden na naslednje dni:",repeat_radio_month_type:"Ponavljaj",repeat_radio_month_start:"Na",repeat_text_month_day:"dan vsak",repeat_text_month_count:"mesec",repeat_text_month_count2_before:"vsak",repeat_text_month_count2_after:"mesec",repeat_year_label:"Na",select_year_day2:"od",repeat_text_year_day:"dan",select_year_month:"mesec",repeat_radio_end:"Brez končnega datuma",repeat_text_occurrences_count:"pojavitve",repeat_radio_end2:"Po",repeat_radio_end3:"Končaj do",repeat_never:"Nikoli",repeat_daily:"Vsak dan",repeat_workdays:"Vsak delovni dan",repeat_weekly:"Vsak teden",repeat_monthly:"Vsak mesec",repeat_yearly:"Vsako leto",repeat_custom:"Po meri",repeat_freq_day:"Dan",repeat_freq_week:"Teden",repeat_freq_month:"Mesec",repeat_freq_year:"Leto",repeat_on_date:"Na datum",repeat_ends:"Konča se",month_for_recurring:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],day_for_recurring:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]}},sk:{date:{month_full:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],month_short:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sept","Okt","Nov","Dec"],day_full:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],day_short:["Ne","Po","Ut","St","Št","Pi","So"]},labels:{dhx_cal_today_button:"Dnes",day_tab:"Deň",week_tab:"Týždeň",month_tab:"Mesiac",new_event:"Nová udalosť",icon_save:"Uložiť",icon_cancel:"Späť",icon_details:"Detail",icon_edit:"Edituj",icon_delete:"Zmazať",confirm_closing:"Vaše zmeny nebudú uložené. Skutočne?",confirm_deleting:"Udalosť bude natrvalo vymazaná. Skutočne?",section_description:"Poznámky",section_time:"Doba platnosti",confirm_recurring:"Prajete si upraviť celú radu opakovaných udalostí?",section_recurring:"Opakovanie udalosti",button_recurring:"Vypnuté",button_recurring_open:"Zapnuté",button_edit_series:"Upraviť opakovania",button_edit_occurrence:"Upraviť inštancie",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Program",date:"Dátum",description:"Poznámka",year_tab:"Rok",full_day:"Celý deň",week_agenda_tab:"Program",grid_tab:"Mriežka",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Denne",repeat_radio_week:"Týždenne",repeat_radio_month:"Mesaène",repeat_radio_year:"Roène",repeat_radio_day_type:"Každý",repeat_text_day_count:"deò",repeat_radio_day_type2:"Každý prac. deò",repeat_week:"Opakova každý",repeat_text_week_count:"týždeò v dòoch:",repeat_radio_month_type:"Opakova",repeat_radio_month_start:"On",repeat_text_month_day:"deò každý",repeat_text_month_count:"mesiac",repeat_text_month_count2_before:"každý",repeat_text_month_count2_after:"mesiac",repeat_year_label:"On",select_year_day2:"poèas",repeat_text_year_day:"deò",select_year_month:"mesiac",repeat_radio_end:"Bez dátumu ukonèenia",repeat_text_occurrences_count:"udalostiach",repeat_radio_end3:"Ukonèi",repeat_radio_end2:"Po",repeat_never:"Nikdy",repeat_daily:"Každý deň",repeat_workdays:"Každý pracovný deň",repeat_weekly:"Každý týždeň",repeat_monthly:"Každý mesiac",repeat_yearly:"Každý rok",repeat_custom:"Vlastné",repeat_freq_day:"Deň",repeat_freq_week:"Týždeň",repeat_freq_month:"Mesiac",repeat_freq_year:"Rok",repeat_on_date:"Na dátum",repeat_ends:"Koniec",month_for_recurring:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],day_for_recurring:["Nede¾a","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]}},sv:{date:{month_full:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],month_short:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],day_full:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],day_short:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},labels:{dhx_cal_today_button:"Idag",day_tab:"Dag",week_tab:"Vecka",month_tab:"Månad",new_event:"Ny händelse",icon_save:"Spara",icon_cancel:"Ångra",icon_details:"Detaljer",icon_edit:"Ändra",icon_delete:"Ta bort",confirm_closing:"",confirm_deleting:"Är du säker på att du vill ta bort händelsen permanent?",section_description:"Beskrivning",section_time:"Tid",full_day:"Hela dagen",confirm_recurring:"Vill du redigera hela serien med repeterande händelser?",section_recurring:"Upprepa händelse",button_recurring:"Inaktiverat",button_recurring_open:"Aktiverat",button_edit_series:"Redigera serien",button_edit_occurrence:"Redigera en kopia",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Dagordning",date:"Datum",description:"Beskrivning",year_tab:"År",week_agenda_tab:"Dagordning",grid_tab:"Galler",drag_to_create:"Dra för att skapa ny",drag_to_move:"Dra för att flytta",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Dagligen",repeat_radio_week:"Veckovis",repeat_radio_month:"Månadsvis",repeat_radio_year:"Årligen",repeat_radio_day_type:"Var",repeat_text_day_count:"dag",repeat_radio_day_type2:"Varje arbetsdag",repeat_week:" Upprepa var",repeat_text_week_count:"vecka dessa dagar:",repeat_radio_month_type:"Upprepa",repeat_radio_month_start:"Den",repeat_text_month_day:"dagen var",repeat_text_month_count:"månad",repeat_text_month_count2_before:"var",repeat_text_month_count2_after:"månad",repeat_year_label:"Den",select_year_day2:"i",repeat_text_year_day:"dag i",select_year_month:"månad",repeat_radio_end:"Inget slutdatum",repeat_text_occurrences_count:"upprepningar",repeat_radio_end3:"Sluta efter",repeat_radio_end2:"Efter",repeat_never:"Aldrig",repeat_daily:"Varje dag",repeat_workdays:"Varje vardag",repeat_weekly:"Varje vecka",repeat_monthly:"Varje månad",repeat_yearly:"Varje år",repeat_custom:"Anpassad",repeat_freq_day:"Dag",repeat_freq_week:"Vecka",repeat_freq_month:"Månad",repeat_freq_year:"År",repeat_on_date:"På datum",repeat_ends:"Slutar",month_for_recurring:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],day_for_recurring:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]}},tr:{date:{month_full:["Ocak","Þubat","Mart","Nisan","Mayýs","Haziran","Temmuz","Aðustos","Eylül","Ekim","Kasým","Aralýk"],month_short:["Oca","Þub","Mar","Nis","May","Haz","Tem","Aðu","Eyl","Eki","Kas","Ara"],day_full:["Pazar","Pazartes,","Salý","Çarþamba","Perþembe","Cuma","Cumartesi"],day_short:["Paz","Pts","Sal","Çar","Per","Cum","Cts"]},labels:{dhx_cal_today_button:"Bugün",day_tab:"Gün",week_tab:"Hafta",month_tab:"Ay",new_event:"Uygun",icon_save:"Kaydet",icon_cancel:"Ýptal",icon_details:"Detaylar",icon_edit:"Düzenle",icon_delete:"Sil",confirm_closing:"",confirm_deleting:"Etkinlik silinecek, devam?",section_description:"Açýklama",section_time:"Zaman aralýðý",full_day:"Tam gün",confirm_recurring:"Tüm tekrar eden etkinlikler silinecek, devam?",section_recurring:"Etkinliði tekrarla",button_recurring:"Pasif",button_recurring_open:"Aktif",button_edit_series:"Dizi düzenleme",button_edit_occurrence:"Bir kopyasını düzenleyin",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Ajanda",date:"Tarih",description:"Açýklama",year_tab:"Yýl",week_agenda_tab:"Ajanda",grid_tab:"Izgara",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"Günlük",repeat_radio_week:"Haftalık",repeat_radio_month:"Aylık",repeat_radio_year:"Yıllık",repeat_radio_day_type:"Her",repeat_text_day_count:"gün",repeat_radio_day_type2:"Her iş günü",repeat_week:" Tekrar her",repeat_text_week_count:"hafta şu günlerde:",repeat_radio_month_type:"Tekrar et",repeat_radio_month_start:"Tarihinde",repeat_text_month_day:"gün her",repeat_text_month_count:"ay",repeat_text_month_count2_before:"her",repeat_text_month_count2_after:"ay",repeat_year_label:"Tarihinde",select_year_day2:"ayın",repeat_text_year_day:"günü",select_year_month:"ay",repeat_radio_end:"Bitiş tarihi yok",repeat_text_occurrences_count:"olay",repeat_radio_end2:"Sonra",repeat_radio_end3:"Tarihinde bitir",repeat_never:"Asla",repeat_daily:"Her gün",repeat_workdays:"Her iş günü",repeat_weekly:"Her hafta",repeat_monthly:"Her ay",repeat_yearly:"Her yıl",repeat_custom:"Özel",repeat_freq_day:"Gün",repeat_freq_week:"Hafta",repeat_freq_month:"Ay",repeat_freq_year:"Yıl",repeat_on_date:"Tarihinde",repeat_ends:"Biter",month_for_recurring:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],day_for_recurring:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]}},ua:{date:{month_full:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],month_short:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],day_full:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],day_short:["Нед","Пон","Вів","Сер","Чет","Птн","Суб"]},labels:{dhx_cal_today_button:"Сьогодні",day_tab:"День",week_tab:"Тиждень",month_tab:"Місяць",new_event:"Нова подія",icon_save:"Зберегти",icon_cancel:"Відміна",icon_details:"Деталі",icon_edit:"Редагувати",icon_delete:"Вилучити",confirm_closing:"",confirm_deleting:"Подія вилучиться назавжди. Ви впевнені?",section_description:"Опис",section_time:"Часовий проміжок",full_day:"Весь день",confirm_recurring:"Хочете редагувати весь перелік повторюваних подій?",section_recurring:"Повторювана подія",button_recurring:"Відключено",button_recurring_open:"Включено",button_edit_series:"Редагувати серію",button_edit_occurrence:"Редагувати примірник",button_edit_occurrence_and_following:"This and following events",agenda_tab:"Перелік",date:"Дата",description:"Опис",year_tab:"Рік",week_agenda_tab:"Перелік",grid_tab:"Таблиця",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute",repeat_radio_day:"День",repeat_radio_week:"Тиждень",repeat_radio_month:"Місяць",repeat_radio_year:"Рік",repeat_radio_day_type:"Кожний",repeat_text_day_count:"день",repeat_radio_day_type2:"Кожний робочий день",repeat_week:" Повторювати кожен",repeat_text_week_count:"тиждень , по:",repeat_radio_month_type:"Повторювати",repeat_radio_month_start:"",repeat_text_month_day:" числа кожний ",repeat_text_month_count:"місяць",repeat_text_month_count2_before:"кожен ",repeat_text_month_count2_after:"місяць",repeat_year_label:"",select_year_day2:"",repeat_text_year_day:"день",select_year_month:"",repeat_radio_end:"Без дати закінчення",repeat_text_occurrences_count:"повторень",repeat_radio_end3:"До ",repeat_radio_end2:"",repeat_never:"Ніколи",repeat_daily:"Щодня",repeat_workdays:"Щодня в робочі дні",repeat_weekly:"Щотижня",repeat_monthly:"Щомісяця",repeat_yearly:"Щороку",repeat_custom:"Налаштоване",repeat_freq_day:"День",repeat_freq_week:"Тиждень",repeat_freq_month:"Місяць",repeat_freq_year:"Рік",repeat_on_date:"На дату",repeat_ends:"Закінчується",month_for_recurring:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],day_for_recurring:["Неділям","Понеділкам","Вівторкам","Середам","Четвергам","П'ятницям","Суботам"]}}},Symbol.toStringTag,{value:"Module"}));class Qt{constructor(i,t,n={}){this.state={date:new Date,modes:["days","months","years"],currentRange:[],eventDates:[],filterDays:null,currentModeIndex:0,...n},this.container=null,this.element=null,this.onStateChangeHandlers=[],this.scheduler=i,this._domEvents=i._createDomEventScope(),this.state=this.getState(),Oe(this),t&&(this.container=t,this.render(this.container)),this.onStateChange((s,a)=>{this.callEvent("onStateChange",[a,s])})}getState(){return{...this.state,mode:this.state.modes[this.state.currentModeIndex]}}setState(i){const t={...this.state};i.mode&&(i.currentModeIndex=this.state.modes.indexOf(i.mode)),this.state={...this.state,...i},this._notifyStateChange(t,this.state),this.container&&this.render(this.container)}onStateChange(i){return this.onStateChangeHandlers.push(i),()=>{const t=this.onStateChangeHandlers.indexOf(i);t!==-1&&this.onStateChangeHandlers.splice(t,1)}}_notifyStateChange(i,t){this.onStateChangeHandlers.forEach(n=>n(i,t))}_adjustDate(i){const{mode:t,date:n}=this.getState(),s=new Date(n);t==="days"?s.setMonth(n.getMonth()+i):t==="months"?s.setFullYear(n.getFullYear()+i):s.setFullYear(n.getFullYear()+10*i),this.setState({date:s})}_toggleMode(){const i=(this.state.currentModeIndex+1)%this.state.modes.length;this.setState({currentModeIndex:i})}_renderCalendarHeader(i){const{mode:t,date:n}=this.getState(),s=document.createElement("div");s.classList.add("dhx_cal_datepicker_header");const a=document.createElement("button");a.classList.add("dhx_cal_datepicker_arrow","scheduler_icon","arrow_left"),s.appendChild(a);const o=document.createElement("div");if(o.classList.add("dhx_cal_datepicker_title"),t==="days")o.innerText=n.toLocaleString("default",{month:"long"})+" "+n.getFullYear();else if(t==="months")o.innerText=n.getFullYear();else{const r=10*Math.floor(n.getFullYear()/10);o.innerText=`${r} - ${r+9}`}this._domEvents.attach(o,"click",this._toggleMode.bind(this)),s.appendChild(o);const _=document.createElement("button");_.classList.add("dhx_cal_datepicker_arrow","scheduler_icon","arrow_right"),s.appendChild(_),i.appendChild(s),this._domEvents.attach(a,"click",this._adjustDate.bind(this,-1)),this._domEvents.attach(_,"click",this._adjustDate.bind(this,1))}render(i){this._domEvents.detachAll(),this.container=i||this.container,this.container.innerHTML="",this.element||(this.element=document.createElement("div"),this.element.classList.add("dhx_cal_datepicker")),this.element.innerHTML="",this.container.appendChild(this.element),this._renderCalendarHeader(this.element);const t=document.createElement("div");t.classList.add("dhx_cal_datepicker_data"),this.element.appendChild(t);const{mode:n}=this.getState();n==="days"?this._renderDayGrid(t):n==="months"?this._renderMonthGrid(t):this._renderYearGrid(t)}_renderDayGridHeader(i){const{date:t,filterDays:n}=this.getState(),s=this.scheduler;let a=s.date.week_start(new Date(t));const o=s.date.add(s.date.week_start(new Date(t)),1,"week");i.classList.add("dhx_cal_datepicker_days");const _=s.date.date_to_str("%D");for(;a.valueOf()<o.valueOf();){if(!n||!n(a)){const r=_(a),d=document.createElement("div");d.setAttribute("data-day",a.getDay()),d.classList.add("dhx_cal_datepicker_dayname"),d.innerText=r,i.appendChild(d)}a=s.date.add(a,1,"day")}}_weeksBetween(i,t){const n=this.scheduler;let s=0,a=new Date(i);for(;a.valueOf()<t.valueOf();)s+=1,a=n.date.week_start(n.date.add(a,1,"week"));return s}_renderDayGrid(i){const{date:t,currentRange:n,eventDates:s,minWeeks:a,filterDays:o}=this.getState();let _=n[0],r=n[1];const d=s.reduce((M,k)=>(M[this.scheduler.date.day_start(new Date(k)).valueOf()]=!0,M),{}),l=document.createElement("div");this._renderDayGridHeader(l);const h=l.children.length;i.appendChild(l),h!==7&&i.style.setProperty("--dhx-scheduler-week-length",h);const p=this.scheduler,v=p.date.week_start(p.date.month_start(new Date(t))),g=p.date.month_start(new Date(t)),c=p.date.add(p.date.month_start(new Date(t)),1,"month");let u=p.date.add(p.date.month_start(new Date(t)),1,"month");const f=p.date.date_part(p._currentDate());if(u.getDay()!==0&&p.config.start_on_monday){const M=(7-u.getDay())%7;u=p.date.add(u,M+1,"day")}else u=p.date.add(p.date.week_start(u),1,"week");let y=this._weeksBetween(v,u);a&&y<a&&(u=p.date.add(u,a-y,"week"));let w=v;const D=document.createElement("div");for(D.classList.add("dhx_cal_datepicker_days"),this._domEvents.attach(D,"click",M=>{const k=M.target.closest("[data-cell-date]"),N=new Date(k.getAttribute("data-cell-date"));this.callEvent("onDateClick",[N,M])});w.valueOf()<u.valueOf();){if(!o||!o(w)){const M=document.createElement("div");M.setAttribute("data-cell-date",p.templates.format_date(w)),M.setAttribute("data-day",w.getDay()),M.innerHTML=p.templates.month_day(w),w.valueOf()<g.valueOf()?M.classList.add("dhx_before"):w.valueOf()>=c.valueOf()&&M.classList.add("dhx_after"),w.getDay()!==0&&w.getDay()!==6||M.classList.add("dhx_cal_datepicker_weekend"),w.valueOf()==f.valueOf()&&M.classList.add("dhx_now"),_&&r&&w.valueOf()>=_.valueOf()&&w.valueOf()<r.valueOf()&&M.classList.add("dhx_cal_datepicker_current"),d[w.valueOf()]&&M.classList.add("dhx_cal_datepicker_event"),M.classList.add("dhx_cal_datepicker_date"),D.appendChild(M)}w=p.date.add(w,1,"day")}i.appendChild(D)}_renderMonthGrid(i){const{date:t}=this.getState(),n=document.createElement("div");n.classList.add("dhx_cal_datepicker_months");const s=[];for(let r=0;r<12;r++)s.push(new Date(t.getFullYear(),r,1));const a=this.scheduler.date.date_to_str("%M");s.forEach(r=>{const d=document.createElement("div");d.classList.add("dhx_cal_datepicker_month"),t.getMonth()===r.getMonth()&&d.classList.add("dhx_cal_datepicker_current"),d.setAttribute("data-month",r.getMonth()),d.innerHTML=a(r),this._domEvents.attach(d,"click",()=>{const l=new Date(r);this.setState({date:l,mode:"days"})}),n.appendChild(d)}),i.appendChild(n);const o=document.createElement("div");o.classList.add("dhx_cal_datepicker_done");const _=document.createElement("button");_.innerText="Done",_.classList.add("dhx_cal_datepicker_done_btn"),this._domEvents.attach(_,"click",()=>{this.setState({mode:"days"})}),o.appendChild(_),i.appendChild(o)}_renderYearGrid(i){const{date:t}=this.getState(),n=10*Math.floor(t.getFullYear()/10),s=document.createElement("div");s.classList.add("dhx_cal_datepicker_years");for(let _=n-1;_<=n+10;_++){const r=document.createElement("div");r.innerText=_,r.classList.add("dhx_cal_datepicker_year"),r.setAttribute("data-year",_),t.getFullYear()===_&&r.classList.add("dhx_cal_datepicker_current"),this._domEvents.attach(r,"click",()=>{this.setState({date:new Date(_,t.getMonth(),1),mode:"months"})}),s.appendChild(r)}i.appendChild(s);const a=document.createElement("div");a.classList.add("dhx_cal_datepicker_done");const o=document.createElement("button");o.innerText="Done",o.classList.add("dhx_cal_datepicker_done_btn"),this._domEvents.attach(o,"click",()=>{this.setState({mode:"months"})}),a.appendChild(o),i.appendChild(a)}destructor(){this.onStateChangeHandlers=[],this.element&&(this.element.innerHTML="",this.element.remove()),this._domEvents.detachAll(),this.callEvent("onDestroy",[]),this.detachAllEvents(),this.scheduler=null}}function ea(e){const i={version:"7.2.14"};i.$stateProvider=function(){const r={};return{getState:function(d){if(r[d])return r[d].method();{const l={};for(const h in r)r[h].internal||ne.mixin(l,r[h].method(),!0);return l}},registerProvider:function(d,l,h){r[d]={method:l,internal:h}},unregisterProvider:function(d){delete r[d]}}}(),i.getState=i.$stateProvider.getState,function(r){var d={agenda:"https://docs.dhtmlx.com/scheduler/agenda_view.html",grid:"https://docs.dhtmlx.com/scheduler/grid_view.html",map:"https://docs.dhtmlx.com/scheduler/map_view.html",unit:"https://docs.dhtmlx.com/scheduler/units_view.html",timeline:"https://docs.dhtmlx.com/scheduler/timeline_view.html",week_agenda:"https://docs.dhtmlx.com/scheduler/weekagenda_view.html",year:"https://docs.dhtmlx.com/scheduler/year_view.html",anythingElse:"https://docs.dhtmlx.com/scheduler/views.html"},l={agenda:"scheduler.plugins({ agenda_view: true })",grid:"scheduler.plugins({ grid_view: true })",map:"scheduler.plugins({ map_view: true })",unit:"scheduler.plugins({ units: true })",timeline:"scheduler.plugins({ timeline: true, treetimeline: true, daytimeline: true})",week_agenda:"scheduler.plugins({ week_agenda: true })",year:"scheduler.plugins({ year_view: true })",limit:"scheduler.plugins({ limit: true })"};r._commonErrorMessages={unknownView:function(h){var p=l[h]?"You're probably missing "+l[h]+".":"";return"`"+h+"` view is not defined. \nPlease check parameters you pass to `scheduler.init` or `scheduler.setCurrentView` in your code and ensure you've imported appropriate extensions. \nRelated docs: "+(d[h]||d.anythingElse)+` |
| 17 | `+(p?p+` |
| 18 | `:"")},collapsedContainer:function(h){return`Scheduler container height is set to *100%* but the rendered height is zero and the scheduler is not visible. |
| 19 | Make sure that the container has some initial height or use different units. For example: |
| 20 | <div id='scheduler_here' class='dhx_cal_container' style='width:100%; height:600px;'> |
| 21 | `}},r.createTimelineView=function(){throw new Error("scheduler.createTimelineView is not implemented. Be sure to add the required extension: "+l.timeline+` |
| 22 | Related docs: `+d.timeline)},r.createUnitsView=function(){throw new Error("scheduler.createUnitsView is not implemented. Be sure to add the required extension: "+l.unit+` |
| 23 | Related docs: `+d.unit)},r.createGridView=function(){throw new Error("scheduler.createGridView is not implemented. Be sure to add the required extension: "+l.grid+` |
| 24 | Related docs: `+d.grid)},r.addMarkedTimespan=function(){throw new Error(`scheduler.addMarkedTimespan is not implemented. Be sure to add the required extension: scheduler.plugins({ limit: true }) |
| 25 | Related docs: https://docs.dhtmlx.com/scheduler/limits.html`)},r.renderCalendar=function(){throw new Error(`scheduler.renderCalendar is not implemented. Be sure to add the required extension: scheduler.plugins({ minical: true }) |
| 26 | https://docs.dhtmlx.com/scheduler/minicalendar.html`)},r.exportToPNG=function(){throw new Error(["scheduler.exportToPNG is not implemented.","This feature requires an additional module, be sure to check the related doc here https://docs.dhtmlx.com/scheduler/png.html","Licensing info: https://dhtmlx.com/docs/products/dhtmlxScheduler/export.shtml"].join(` |
| 27 | `))},r.exportToPDF=function(){throw new Error(["scheduler.exportToPDF is not implemented.","This feature requires an additional module, be sure to check the related doc here https://docs.dhtmlx.com/scheduler/pdf.html","Licensing info: https://dhtmlx.com/docs/products/dhtmlxScheduler/export.shtml"].join(` |
| 28 | `))}}(i),jt(i),function(r){Oe(r),Ht(r),r._detachDomEvent=function(c,u,f){c.removeEventListener?c.removeEventListener(u,f,!1):c.detachEvent&&c.detachEvent("on"+u,f)},r._init_once=function(){zt(r),r._init_once=function(){}};const d={render:function(c){return r._init_nav_bar(c)}},l={render:function(c){const u=document.createElement("div");return u.className="dhx_cal_header",u}},h={render:function(c){const u=document.createElement("div");return u.className="dhx_cal_data",u}};function p(c){return!!(c.querySelector(".dhx_cal_header")&&c.querySelector(".dhx_cal_data")&&c.querySelector(".dhx_cal_navline"))}r._getInitialState=function(c){return{date:c.date||this._currentDate(),mode:c.mode||"week"}},r.init=function(c,u,f){if(this.$destroyed)return;if(this._obj=typeof c=="string"?document.getElementById(c):c,this.$container=this._obj,this.$root=this._obj,this._obj&&this.unset_actions(),!this.$container.offsetHeight&&this.$container.offsetWidth&&this.$container.style.height==="100%"&&window.console.error(r._commonErrorMessages.collapsedContainer(),this.$container),this.config.wai_aria_attributes&&this.config.wai_aria_application_role&&this.$container.setAttribute("role","application"),this.config.header||p(this.$container)||(this.config.header=function(M){const k=["day","week","month"];if(M.matrix)for(const N in M.matrix)k.push(N);if(M._props)for(const N in M._props)k.push(N);if(M._grid&&M._grid.names)for(const N in M._grid.names)k.push(N);return["map","agenda","week_agenda","year"].forEach(function(N){M[N+"_view"]&&k.push(N)}),k.concat(["date"]).concat(["prev","today","next"])}(this),window.console.log(["Required DOM elements are missing from the scheduler container and **scheduler.config.header** is not specified.","Using a default header configuration: ","scheduler.config.header = "+JSON.stringify(this.config.header,null,2),"Check this article for the details: https://docs.dhtmlx.com/scheduler/initialization.html"].join(` |
| 29 | `))),this.config.header)this.$container.innerHTML="",this.$container.classList.add("dhx_cal_container"),this.config.header.height&&(this.xy.nav_height=this.config.header.height),this.$container.appendChild(d.render(this.config.header)),this.$container.appendChild(l.render()),this.$container.appendChild(h.render());else if(!p(this.$container))throw new Error(["Required DOM elements are missing from the scheduler container.","Be sure to either specify them manually in the markup: https://docs.dhtmlx.com/scheduler/initialization.html#initializingschedulerviamarkup","Or to use **scheduler.config.header** setting so they could be created automatically: https://docs.dhtmlx.com/scheduler/initialization.html#initializingschedulerviaheaderconfig"].join(` |
| 30 | `));this.config.rtl&&(this.$container.className+=" dhx_cal_container_rtl"),this._skin_init&&r._skin_init(),r.date.init(),this._scroll=!0,this._els=[],this.get_elements(),this.init_templates(),this.set_actions(),this._init_once(),this._init_touch_events(),this.set_sizes();const y=r._getInitialState({date:u,mode:f}),w=y.date,D=y.mode;r.callEvent("onSchedulerReady",[]),r.$initialized=!0,this.setCurrentView(w,D)},r.xy={min_event_height:20,bar_height:24,scale_width:50,scroll_width:18,scale_height:20,month_scale_height:20,menu_width:25,margin_top:0,margin_left:0,editor_width:140,month_head_height:22,event_header_height:14},r.keys={edit_save:13,edit_cancel:27},r.bind=function(c,u){return c.bind?c.bind(u):function(){return c.apply(u,arguments)}},r.set_sizes=function(){var c=this._x=this._obj.clientWidth-this.xy.margin_left,u=this._table_view?0:this.xy.scale_width+this.xy.scroll_width,f=this.$container.querySelector(".dhx_cal_scale_placeholder");if(r._is_material_skin()){f||((f=document.createElement("div")).className="dhx_cal_scale_placeholder",this.$container.insertBefore(f,this._els.dhx_cal_header[0])),f.style.display="block";const w=r.$root.querySelector(".dhx_cal_navline");let D=0;w&&(D+=w.offsetHeight);const M=r.$root.querySelector(".dhx_cal_header");let k,N,m=0;M&&(m+=M.offsetHeight),m?(k=D+1,N=m):(k=D-4,N=5),this.set_xy(f,c,N,0,k)}else f&&f.parentNode.removeChild(f);this._lightbox&&(r.$container.offsetWidth<1200||this._setLbPosition(document.querySelector(".dhx_cal_light"))),this._data_width=c-u,this._els.dhx_cal_navline[0].style.width=c+"px";const y=this._els.dhx_cal_header[0];this.set_xy(y,this._data_width,this.xy.scale_height),y.style.left="",y.style.right="",this._table_view?this.config.rtl?y.style.right="-1px":y.style.left="-1px":this.config.rtl?y.style.right=`${this.xy.scale_width}px`:y.style.left=`${this.xy.scale_width}px`},r.set_xy=function(c,u,f,y,w){function D(k){let N=k;return isNaN(Number(N))||(N=Math.max(0,N)+"px"),N}var M="left";u!==void 0&&(c.style.width=D(u)),f!==void 0&&(c.style.height=D(f)),arguments.length>3&&(y!==void 0&&(this.config.rtl&&(M="right"),c.style[M]=y+"px"),w!==void 0&&(c.style.top=w+"px"))},r.get_elements=function(){const c=this._obj.getElementsByTagName("DIV");for(let u=0;u<c.length;u++){let f=r._getClassName(c[u]);const y=c[u].getAttribute("data-tab")||c[u].getAttribute("name")||"";f&&(f=f.split(" ")[0]),this._els[f]||(this._els[f]=[]),this._els[f].push(c[u]);let w=r.locale.labels[y+"_tab"]||r.locale.labels[y||f];typeof w!="string"&&y&&!c[u].innerHTML&&(w=y.split("_")[0]),w&&(this._waiAria.labelAttr(c[u],w),c[u].innerHTML=w)}};const v=r._createDomEventScope();function g(c,u){const f=new Date(c),y=(new Date(u).getTime()-f.getTime())/864e5;return Math.abs(y)}r.unset_actions=function(){v.detachAll()},r.set_actions=function(){for(const c in this._els)if(this._click[c])for(let u=0;u<this._els[c].length;u++){const f=this._els[c][u],y=this._click[c].bind(f);v.attach(f,"click",y)}v.attach(this._obj,"selectstart",function(c){return c.preventDefault(),!1}),v.attach(this._obj,"mousemove",function(c){r._temp_touch_block||r._on_mouse_move(c)}),v.attach(this._obj,"mousedown",function(c){r._ignore_next_click||r._on_mouse_down(c)}),v.attach(this._obj,"mouseup",function(c){r._ignore_next_click||r._on_mouse_up(c)}),v.attach(this._obj,"dblclick",function(c){r._on_dbl_click(c)}),v.attach(this._obj,"contextmenu",function(c){return r.checkEvent("onContextMenu")&&c.preventDefault(),r.callEvent("onContextMenu",[r._locate_event(c.target),c])})},r.select=function(c){this._select_id!=c&&(r._close_not_saved(),this.editStop(!1),this._select_id&&this.unselect(),this._select_id=c,this.updateEvent(c),this.callEvent("onEventSelected",[c]))},r.unselect=function(c){if(c&&c!=this._select_id)return;const u=this._select_id;this._select_id=null,u&&this.getEvent(u)&&this.updateEvent(u),this.callEvent("onEventUnselected",[u])},r.$stateProvider.registerProvider("global",(function(){return{mode:this._mode,date:new Date(this._date),min_date:new Date(this._min_date),max_date:new Date(this._max_date),editor_id:this._edit_id,lightbox_id:this._lightbox_id,new_event:this._new_event,select_id:this._select_id,expanded:this.expanded,drag_id:this._drag_id,drag_mode:this._drag_mode}}).bind(r)),r._click={dhx_cal_data:function(c){if(r._ignore_next_click)return c.preventDefault&&c.preventDefault(),c.cancelBubble=!0,r._ignore_next_click=!1,!1;const u=r._locate_event(c.target);if(u){if(!r.callEvent("onClick",[u,c])||r.config.readonly)return}else r.callEvent("onEmptyClick",[r.getActionData(c).date,c]);if(u&&r.config.select){r.select(u);const f=c.target.closest(".dhx_menu_icon"),y=r._getClassName(f);y.indexOf("_icon")!=-1&&r._click.buttons[y.split(" ")[1].replace("icon_","")](u)}else r._close_not_saved(),r.getState().select_id&&new Date().valueOf()-(r._new_event||0)>500&&r.unselect()},dhx_cal_prev_button:function(){r._click.dhx_cal_next_button(0,-1)},dhx_cal_next_button:function(c,u){let f=1;r.config.rtl&&(u=-u,f=-f),r.setCurrentView(r.date.add(r.date[r._mode+"_start"](new Date(r._date)),u||f,r._mode))},dhx_cal_today_button:function(){r.callEvent("onBeforeTodayDisplayed",[])&&r.setCurrentView(r._currentDate())},dhx_cal_tab:function(){const c=this.getAttribute("data-tab"),u=this.getAttribute("name"),f=c||u.substring(0,u.search("_tab"));r.setCurrentView(r._date,f)},buttons:{delete:function(c){const u=r.locale.labels.confirm_deleting;r._delete_event_confirm({event:r.getEvent(c),message:u,title:r.locale.labels.title_confirm_deleting,callback:function(){r.deleteEvent(c)},config:{ok:r.locale.labels.icon_delete}})},edit:function(c){r.edit(c)},save:function(c){r.editStop(!0)},details:function(c){r.showLightbox(c)},form:function(c){r.showLightbox(c)},cancel:function(c){r.editStop(!1)}}},r._dhtmlx_confirm=function({message:c,title:u,callback:f,config:y}){if(!c)return f();y=y||{};const w={...y,text:c};u&&(w.title=u),f&&(w.callback=function(D){D&&f()}),r.confirm(w)},r.addEventNow=function(c,u,f){let y={};r._isObject(c)&&!r._isDate(c)&&(y=c,c=null);const w=6e4*(this.config.event_duration||this.config.time_step);c||(c=y.start_date||Math.round(r._currentDate().valueOf()/w)*w);let D=new Date(c);if(!u){let N=this.config.first_hour;N>D.getHours()&&(D.setHours(N),c=D.valueOf()),u=c.valueOf()+w}let M=new Date(u);D.valueOf()==M.valueOf()&&M.setTime(M.valueOf()+w),y.start_date=y.start_date||D,y.end_date=y.end_date||M,y.text=y.text||this.locale.labels.new_event,y.id=this._drag_id=y.id||this.uid(),this._drag_mode="new-size",this._loading=!0;const k=this.addEvent(y);return this.callEvent("onEventCreated",[this._drag_id,f]),this._loading=!1,this._drag_event={},this._on_mouse_up(f),k},r._on_dbl_click=function(c,u){if(u=u||c.target,this.config.readonly)return;const f=r._getClassName(u).split(" ")[0];switch(f){case"dhx_scale_bar":this.callEvent("onScaleDblClick");break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_wa_day_data":if(!r.config.dblclick_create)break;this.addEventNow(this.getActionData(c).date,null,c);break;case"dhx_cal_event":case"dhx_wa_ev_body":case"dhx_agenda_line":case"dhx_cal_agenda_event_line":case"dhx_grid_event":case"dhx_cal_event_line":case"dhx_cal_event_clear":{const y=this._locate_event(u);if(!this.callEvent("onDblClick",[y,c]))return;this.config.details_on_dblclick||this._table_view||!this.getEvent(y)._timed||!this.config.select?this.showLightbox(y):this.edit(y);break}case"dhx_time_block":case"dhx_cal_container":return;default:{const y=this["dblclick_"+f];if(y)y.call(this,c);else if(u.parentNode&&u!=this)return r._on_dbl_click(c,u.parentNode);break}}},r._get_column_index=function(c){let u=0;if(this._cols){let f=0,y=0;for(;f+this._cols[y]<c&&y<this._cols.length;)f+=this._cols[y],y++;if(u=y+(this._cols[y]?(c-f)/this._cols[y]:0),this._ignores&&u>=this._cols.length)for(;u>=1&&this._ignores[Math.floor(u)];)u--}return u},r._week_indexes_from_pos=function(c){if(this._cols){const u=this._get_column_index(c.x);return c.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(u)-1)),c.y=Math.max(0,Math.ceil(60*c.y/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step),c}return c},r._mouse_coords=function(c){let u;const f=document.body,y=document.documentElement;u=this.$env.isIE||!c.pageX&&!c.pageY?{x:c.clientX+(f.scrollLeft||y.scrollLeft||0)-f.clientLeft,y:c.clientY+(f.scrollTop||y.scrollTop||0)-f.clientTop}:{x:c.pageX,y:c.pageY},this.config.rtl&&this._colsS?(u.x=this.$container.querySelector(".dhx_cal_data").offsetWidth-u.x,u.x+=this.$domHelpers.getAbsoluteLeft(this._obj),this._mode!=="month"&&(u.x-=this.xy.scale_width)):u.x-=this.$domHelpers.getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width);const w=this.$container.querySelector(".dhx_cal_data");u.y-=this.$domHelpers.getAbsoluteTop(w)-this._els.dhx_cal_data[0].scrollTop,u.ev=c;const D=this["mouse_"+this._mode];if(D)u=D.call(this,u);else if(this._table_view){const M=this._get_column_index(u.x);if(!this._cols||!this._colsS)return u;let k=0;for(k=1;k<this._colsS.heights.length&&!(this._colsS.heights[k]>u.y);k++);u.y=Math.ceil(24*(Math.max(0,M)+7*Math.max(0,k-1))*60/this.config.time_step),(r._drag_mode||this._mode=="month")&&(u.y=24*(Math.max(0,Math.ceil(M)-1)+7*Math.max(0,k-1))*60/this.config.time_step),this._drag_mode=="move"&&r._ignores_detected&&r.config.preserve_length&&(u._ignores=!0,this._drag_event._event_length||(this._drag_event._event_length=this._get_real_event_length(this._drag_event.start_date,this._drag_event.end_date,{x_step:1,x_unit:"day"}))),u.x=0}else u=this._week_indexes_from_pos(u);return u.timestamp=+new Date,u},r._close_not_saved=function(){if(new Date().valueOf()-(r._new_event||0)>500&&r._edit_id){const c=r.locale.labels.confirm_closing;r._dhtmlx_confirm({message:c,title:r.locale.labels.title_confirm_closing,callback:function(){r.editStop(r.config.positive_closing)}}),c&&(this._drag_id=this._drag_pos=this._drag_mode=null)}},r._correct_shift=function(c,u){return c-6e4*(new Date(r._min_date).getTimezoneOffset()-new Date(c).getTimezoneOffset())*(u?-1:1)},r._is_pos_changed=function(c,u){function f(y,w,D){return Math.abs(y-w)>D}return!c||!this._drag_pos||!!(this._drag_pos.has_moved||!this._drag_pos.timestamp||u.timestamp-this._drag_pos.timestamp>100||f(c.ev.clientX,u.ev.clientX,5)||f(c.ev.clientY,u.ev.clientY,5))},r._correct_drag_start_date=function(c){let u;r.matrix&&(u=r.matrix[r._mode]),u=u||{x_step:1,x_unit:"day"},c=new Date(c);let f=1;return(u._start_correction||u._end_correction)&&(f=60*(u.last_hour||0)-(60*c.getHours()+c.getMinutes())||1),1*c+(r._get_fictional_event_length(c,f,u)-f)},r._correct_drag_end_date=function(c,u){let f;r.matrix&&(f=r.matrix[r._mode]),f=f||{x_step:1,x_unit:"day"};const y=1*c+r._get_fictional_event_length(c,u,f);return new Date(1*y-(r._get_fictional_event_length(y,-1,f,-1)+1))},r._on_mouse_move=function(c){if(this._drag_mode){var u=this._mouse_coords(c);if(this._is_pos_changed(this._drag_pos,u)){var f,y;if(this._edit_id!=this._drag_id&&this._close_not_saved(),!this._drag_mode)return;var w=null;if(this._drag_pos&&!this._drag_pos.has_moved&&((w=this._drag_pos).has_moved=!0),this._drag_pos=u,this._drag_pos.has_moved=!0,this._drag_mode=="create"){if(w&&(u=w),this._close_not_saved(),this.unselect(this._select_id),this._loading=!0,f=this._get_date_from_pos(u).valueOf(),!this._drag_start)return this.callEvent("onBeforeEventCreated",[c,this._drag_id])?(this._loading=!1,void(this._drag_start=f)):void(this._loading=!1);y=f,this._drag_start;var D=new Date(this._drag_start),M=new Date(y);this._mode!="day"&&this._mode!="week"||D.getHours()!=M.getHours()||D.getMinutes()!=M.getMinutes()||(M=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(D,M,this.locale.labels.new_event,this._drag_id,u.fields),this.callEvent("onEventCreated",[this._drag_id,c]),this._loading=!1,this._drag_mode="new-size"}var k,N=this.config.time_step,m=this.getEvent(this._drag_id);if(r.matrix&&(k=r.matrix[r._mode]),k=k||{x_step:1,x_unit:"day"},this._drag_mode=="move")f=this._min_date.valueOf()+6e4*(u.y*this.config.time_step+24*u.x*60),!u.custom&&this._table_view&&(f+=1e3*this.date.time_part(m.start_date)),!this._table_view&&this._dragEventBody&&this._drag_event._move_event_shift===void 0&&(this._drag_event._move_event_shift=f-m.start_date),this._drag_event._move_event_shift&&(f-=this._drag_event._move_event_shift),f=this._correct_shift(f),u._ignores&&this.config.preserve_length&&this._table_view&&k?(f=r._correct_drag_start_date(f),y=r._correct_drag_end_date(f,this._drag_event._event_length)):y=m.end_date.valueOf()-(m.start_date.valueOf()-f);else{if(f=m.start_date.valueOf(),y=m.end_date.valueOf(),this._table_view){var x=this._min_date.valueOf()+u.y*this.config.time_step*6e4+(u.custom?0:864e5);if(this._mode=="month")if(x=this._correct_shift(x,!1),this._drag_from_start){var b=864e5;x<=r.date.date_part(new Date(y+b-1)).valueOf()&&(f=x-b)}else y=x;else if(this.config.preserve_length){if(u.resize_from_start)f=r._correct_drag_start_date(x),k.round_position&&k.first_hour&&k.last_hour&&k.x_unit=="day"&&(f=new Date(1*f+k._start_correction));else if(y=r._correct_drag_end_date(x,0),k.round_position&&k.first_hour&&k.last_hour&&k.x_unit=="day"&&(y=r.date.date_part(new Date(y)),y=new Date(1*y-k._end_correction)),k.round_position&&r["ignore_"+r._mode]&&k.x_unit=="day"){const W=this["ignore_"+this._mode];let ve=r.date.add(new Date(y),-k.x_step,k.x_unit);W(ve)&&(y=ve)}}else u.resize_from_start?f=x:y=x}else{var E=this.date.date_part(new Date(m.end_date.valueOf()-1)).valueOf(),S=new Date(E),T=this.config.first_hour,A=60/N*(this.config.last_hour-T);this.config.time_step=1;var C=this._mouse_coords(c);this.config.time_step=N;var $=u.y*N*6e4,H=Math.min(u.y+1,A)*N*6e4,O=6e4*C.y;y=Math.abs($-O)>Math.abs(H-O)?E+H:E+$,y+=6e4*(new Date(y).getTimezoneOffset()-S.getTimezoneOffset()),this._els.dhx_cal_data[0].style.cursor="s-resize",this._mode!="week"&&this._mode!="day"||(y=this._correct_shift(y))}if(this._drag_mode=="new-size")if(y<=this._drag_start){var R=u.shift||(this._table_view&&!u.custom?864e5:0);f=y-(u.shift?0:R),y=this._drag_start+(R||6e4*N)}else f=this._drag_start;else y<=f&&(y=k&&k.round_position?k.x_unit=="hour"||k.x_unit=="minute"?r.date.add(f,k.x_step,k.x_unit):r.date.add(r.date.date_part(new Date(f)),1,k.x_unit):f+6e4*N)}var P=new Date(y-1),j=new Date(f);if(this._drag_mode=="move"&&r.config.limit_drag_out&&(+j<+r._min_date||+y>+r._max_date)){if(+m.start_date<+r._min_date||+m.end_date>+r._max_date)j=new Date(m.start_date),y=new Date(m.end_date);else{var I=y-j;+j<+r._min_date?(j=new Date(r._min_date),u._ignores&&this.config.preserve_length&&this._table_view?(j=new Date(r._correct_drag_start_date(j)),k._start_correction&&(j=new Date(j.valueOf()+k._start_correction)),y=new Date(1*j+this._get_fictional_event_length(j,this._drag_event._event_length,k))):y=new Date(+j+I)):(y=new Date(r._max_date),u._ignores&&this.config.preserve_length&&this._table_view?(k._end_correction&&(y=new Date(y.valueOf()-k._end_correction)),y=new Date(1*y-this._get_fictional_event_length(y,0,k,!0)),j=new Date(1*y-this._get_fictional_event_length(y,this._drag_event._event_length,k,!0)),this._ignores_detected&&(j=r.date.add(j,k.x_step,k.x_unit),y=new Date(1*y-this._get_fictional_event_length(y,0,k,!0)),y=r.date.add(y,k.x_step,k.x_unit))):j=new Date(+y-I))}P=new Date(y-1)}if(!this._table_view&&this._dragEventBody&&!r.config.all_timed&&(!r._get_section_view()&&u.x!=this._get_event_sday({start_date:new Date(f),end_date:new Date(f)})||new Date(f).getHours()<this.config.first_hour)&&(I=y-j,this._drag_mode=="move"&&(b=this._min_date.valueOf()+24*u.x*60*6e4,(j=new Date(b)).setHours(this.config.first_hour),+j<=+m.start_date?y=new Date(+j+I):j=new Date(+y-I))),this._table_view||r.config.all_timed||!(!r.getView()&&u.x!=this._get_event_sday({start_date:new Date(y),end_date:new Date(y)})||new Date(y).getHours()>=this.config.last_hour)||(I=y-j,b=this._min_date.valueOf()+24*u.x*60*6e4,(y=r.date.date_part(new Date(b))).setHours(this.config.last_hour),P=new Date(y-1),this._drag_mode=="move"&&(+j<=+m.start_date?y=new Date(+j+I):j=new Date(+y-I))),!this._table_view&&r.config.all_timed){let W=this._min_date.valueOf()+24*u.x*60*6e4;new Date(r._drag_start).getDay()!=new Date(W)&&(W=new Date(r._drag_start));let ve=new Date(W).setHours(this.config.last_hour);r._drag_start&&this._drag_mode=="new-size"&&ve<new Date(y)&&((y=r.date.date_part(new Date(W))).setHours(this.config.last_hour),P=new Date(y-1))}if(this._table_view&&r["ignore_"+this._mode]&&(this._drag_mode=="resize"||this._drag_mode=="new-size")&&+y>+r._max_date){y=new Date(r._max_date);const W=this["ignore_"+this._mode];for(;W(y);)y=r.date.add(y,-k.x_step,k.x_unit);y=r.date.add(y,k.x_step,k.x_unit)}if(this._table_view||P.getDate()==j.getDate()&&P.getHours()<this.config.last_hour||r._allow_dnd)if(m.start_date=j,m.end_date=new Date(y),this.config.update_render){var U=r._els.dhx_cal_data[0].scrollTop;this.update_view(),r._els.dhx_cal_data[0].scrollTop=U}else this.updateEvent(this._drag_id);this._table_view&&this.for_rendered(this._drag_id,function(W){W.className+=" dhx_in_move dhx_cal_event_drag"}),this.callEvent("onEventDrag",[this._drag_id,this._drag_mode,c])}}else if(r.checkEvent("onMouseMove")){var B=this._locate_event(c.target||c.srcElement);this.callEvent("onMouseMove",[B,c])}},r._on_mouse_down=function(c,u){if(c.button!=2&&!this.config.readonly&&!this._drag_mode){u=u||c.target||c.srcElement;var f=r._getClassName(u).split(" ")[0];switch(this.config.drag_event_body&&f=="dhx_body"&&u.parentNode&&u.parentNode.className.indexOf("dhx_cal_select_menu")===-1&&(f="dhx_event_move",this._dragEventBody=!0),f){case"dhx_cal_event_line":case"dhx_cal_event_clear":this._table_view&&(this._drag_mode="move");break;case"dhx_event_move":case"dhx_wa_ev_body":this._drag_mode="move";break;case"dhx_event_resize":this._drag_mode="resize",r._getClassName(u).indexOf("dhx_event_resize_end")<0?r._drag_from_start=!0:r._drag_from_start=!1;break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":this._drag_mode="create";break;case"":if(u.parentNode)return r._on_mouse_down(c,u.parentNode);break;default:if((!r.checkEvent("onMouseDown")||r.callEvent("onMouseDown",[f,c]))&&u.parentNode&&u!=this&&f!="dhx_body")return r._on_mouse_down(c,u.parentNode);this._drag_mode=null,this._drag_id=null}if(this._drag_mode){var y=this._locate_event(u);if(this.config["drag_"+this._drag_mode]&&this.callEvent("onBeforeDrag",[y,this._drag_mode,c])){if(this._drag_id=y,(this._edit_id!=this._drag_id||this._edit_id&&this._drag_mode=="create")&&this._close_not_saved(),!this._drag_mode)return;this._drag_event=r._lame_clone(this.getEvent(this._drag_id)||{}),this._drag_pos=this._mouse_coords(c)}else this._drag_mode=this._drag_id=0}this._drag_start=null}},r._get_private_properties=function(c){var u={};for(var f in c)f.indexOf("_")===0&&(u[f]=!0);return u},r._clear_temporary_properties=function(c,u){var f=this._get_private_properties(c),y=this._get_private_properties(u);for(var w in y)f[w]||delete u[w]},r._on_mouse_up=function(c){if(!c||c.button!=2||!this._mobile){if(this._drag_mode&&this._drag_id){this._els.dhx_cal_data[0].style.cursor="default";var u=this._drag_id,f=this._drag_mode,y=!this._drag_pos||this._drag_pos.has_moved;delete this._drag_event._move_event_shift;var w=this.getEvent(this._drag_id);if(y&&(this._drag_event._dhx_changed||!this._drag_event.start_date||w.start_date.valueOf()!=this._drag_event.start_date.valueOf()||w.end_date.valueOf()!=this._drag_event.end_date.valueOf())){var D=this._drag_mode=="new-size";if(this.callEvent("onBeforeEventChanged",[w,c,D,this._drag_event]))if(this._drag_id=this._drag_mode=null,D&&this.config.edit_on_create){if(this.unselect(),this._new_event=new Date,w.$new=!0,this._table_view||this.config.details_on_create||!this.config.select||!this.isOneDayEvent(this.getEvent(u)))return r.callEvent("onDragEnd",[u,f,c]),this.showLightbox(u);this._drag_pos=!0,this._select_id=this._edit_id=u}else this._new_event||this.callEvent(D?"onEventAdded":"onEventChanged",[u,this.getEvent(u)]);else D?this.deleteEvent(w.id,!0):(this._drag_event._dhx_changed=!1,this._clear_temporary_properties(w,this._drag_event),r._lame_copy(w,this._drag_event),this.updateEvent(w.id))}this._drag_pos&&(this._drag_pos.has_moved||this._drag_pos===!0)&&(this._drag_id=this._drag_mode=null,this.render_view_data()),r.callEvent("onDragEnd",[u,f,c])}this._drag_id=null,this._drag_mode=null,this._drag_pos=null,this._drag_event=null,this._drag_from_start=null}},r._trigger_dyn_loading=function(){return!(!this._load_mode||!this._load()||(this._render_wait=!0,0))},r.update_view=function(){this._reset_ignores(),this._update_nav_bar(this.config.header,this.$container.querySelector(".dhx_cal_navline"));var c=this[this._mode+"_view"];if(c?c.call(this,!0):this._reset_scale(),this._trigger_dyn_loading())return!0;this.render_view_data()},r.isViewExists=function(c){return!!(r[c+"_view"]||r.date[c+"_start"]&&r.templates[c+"_date"]&&r.templates[c+"_scale_date"])},r._set_aria_buttons_attrs=function(){for(var c=["dhx_cal_next_button","dhx_cal_prev_button","dhx_cal_tab","dhx_cal_today_button"],u=0;u<c.length;u++)for(var f=this._els[c[u]],y=0;f&&y<f.length;y++){var w=f[y].getAttribute("data-tab")||f[y].getAttribute("name"),D=this.locale.labels[c[u]];w&&(D=this.locale.labels[w+"_tab"]||this.locale.labels[w]||D),c[u]=="dhx_cal_next_button"?D=this.locale.labels.next:c[u]=="dhx_cal_prev_button"&&(D=this.locale.labels.prev),this._waiAria.headerButtonsAttributes(f[y],D||"")}},r.updateView=function(c,u){if(!this.$container)throw new Error(`The scheduler is not initialized. |
| 31 | **scheduler.updateView** or **scheduler.setCurrentView** can be called only after **scheduler.init**`);c=c||this._date,u=u||this._mode;var f="dhx_cal_data";this.locale.labels.icon_form||(this.locale.labels.icon_form=this.locale.labels.icon_edit);var y=this._obj,w="dhx_scheduler_"+this._mode,D="dhx_scheduler_"+u;y.classList.remove(w),y.classList.add(D);var M,k="dhx_multi_day",N=!(this._mode!=u||!this.config.preserve_scroll)&&this._els[f][0].scrollTop;this._els[k]&&this._els[k][0]&&(M=this._els[k][0].scrollTop),this[this._mode+"_view"]&&u&&this._mode!=u&&this[this._mode+"_view"](!1),this._close_not_saved(),this._els[k]&&(this._els[k][0].parentNode.removeChild(this._els[k][0]),this._els[k]=null),this._mode=u,this._date=c,this._table_view=this._mode=="month",this._dy_shift=0,this.update_view(),this._set_aria_buttons_attrs();var m=this._els.dhx_cal_tab;if(m)for(var x=0;x<m.length;x++){var b=m[x];b.getAttribute("data-tab")==this._mode||b.getAttribute("name")==this._mode+"_tab"?(b.classList.add("active"),this._waiAria.headerToggleState(b,!0)):(b.classList.remove("active"),this._waiAria.headerToggleState(b,!1))}typeof N=="number"&&(this._els[f][0].scrollTop=N),typeof M=="number"&&this._els[k]&&this._els[k][0]&&(this._els[k][0].scrollTop=M)},r.setCurrentView=function(c,u){this.callEvent("onBeforeViewChange",[this._mode,this._date,u||this._mode,c||this._date])&&(this.updateView(c,u),this.callEvent("onViewChange",[this._mode,this._date]))},r.render=function(c,u){r.setCurrentView(c,u)},r._render_x_header=function(c,u,f,y,w){w=w||0;var D=document.createElement("div");D.className="dhx_scale_bar",this.templates[this._mode+"_scalex_class"]&&(D.className+=" "+this.templates[this._mode+"_scalex_class"](f));var M=this._cols[c];this._mode=="month"&&c===0&&this.config.left_border&&(D.className+=" dhx_scale_bar_border",u+=1),this.set_xy(D,M,this.xy.scale_height-1,u,w);var k=this.templates[this._mode+"_scale_date"](f,this._mode);D.innerHTML=k,this._waiAria.dayHeaderAttr(D,k),y.appendChild(D)},r._get_columns_num=function(c,u){var f=7;if(!r._table_view){var y=r.date["get_"+r._mode+"_end"];y&&(u=y(c)),f=Math.round((u.valueOf()-c.valueOf())/864e5)}return f},r._get_timeunit_start=function(){return this.date[this._mode+"_start"](new Date(this._date.valueOf()))},r._get_view_end=function(){var c=this._get_timeunit_start(),u=r.date.add(c,1,this._mode);if(!r._table_view){var f=r.date["get_"+r._mode+"_end"];f&&(u=f(c))}return u},r._calc_scale_sizes=function(c,u,f){var y=this.config.rtl,w=c,D=this._get_columns_num(u,f);this._process_ignores(u,D,"day",1);for(var M=D-this._ignores_detected,k=0;k<D;k++)this._ignores[k]?(this._cols[k]=0,M++):this._cols[k]=Math.floor(w/(M-k)),w-=this._cols[k],this._colsS[k]=(this._cols[k-1]||0)+(this._colsS[k-1]||(this._table_view?0:y?this.xy.scroll_width:this.xy.scale_width));this._colsS.col_length=D,this._colsS[D]=this._cols[D-1]+this._colsS[D-1]||0},r._set_scale_col_size=function(c,u,f){var y=this.config;this.set_xy(c,u,y.hour_size_px*(y.last_hour-y.first_hour),f+this.xy.scale_width+1,0)},r._render_scales=function(c,u){var f=new Date(r._min_date),y=new Date(r._max_date),w=this.date.date_part(r._currentDate()),D=parseInt(c.style.width,10)-1,M=new Date(this._min_date),k=this._get_columns_num(f,y);this._calc_scale_sizes(D,f,y);var N=0;c.innerHTML="";for(var m=0;m<k;m++){if(this._ignores[m]||this._render_x_header(m,N,M,c),!this._table_view){var x=document.createElement("div"),b="dhx_scale_holder";M.valueOf()==w.valueOf()&&(b+=" dhx_scale_holder_now"),x.setAttribute("data-column-index",m),this._ignores_detected&&this._ignores[m]&&(b+=" dhx_scale_ignore");for(let E=1*this.config.first_hour;E<this.config.last_hour;E++){const S=document.createElement("div");S.className="dhx_scale_time_slot dhx_scale_time_slot_hour_start",S.style.height=this.config.hour_size_px/2+"px";let T=new Date(M.getFullYear(),M.getMonth(),M.getDate(),E,0);S.setAttribute("data-slot-date",this.templates.format_date(T));let A=this.templates.time_slot_text(T);A&&(S.innerHTML=A);let C=this.templates.time_slot_class(T);C&&S.classList.add(C),x.appendChild(S);const $=document.createElement("div");$.className="dhx_scale_time_slot",T=new Date(M.getFullYear(),M.getMonth(),M.getDate(),E,30),$.setAttribute("data-slot-date",this.templates.format_date(T)),$.style.height=this.config.hour_size_px/2+"px",A=this.templates.time_slot_text(T),A&&($.innerHTML=A),C=this.templates.time_slot_class(T),C&&$.classList.add(C),x.appendChild($)}x.className=b+" "+this.templates.week_date_class(M,w),this._waiAria.dayColumnAttr(x,M),this._set_scale_col_size(x,this._cols[m],N),u.appendChild(x),this.callEvent("onScaleAdd",[x,M])}N+=this._cols[m],M=this.date.add(M,1,"day"),M=this.date.day_start(M)}},r._getNavDateElement=function(){return this.$container.querySelector(".dhx_cal_date")},r._reset_scale=function(){if(this.templates[this._mode+"_date"]){var c=this._els.dhx_cal_header[0],u=this._els.dhx_cal_data[0],f=this.config;c.innerHTML="",u.innerHTML="";var y,w,D=(f.readonly||!f.drag_resize?" dhx_resize_denied":"")+(f.readonly||!f.drag_move?" dhx_move_denied":"");u.className="dhx_cal_data"+D,this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var M=this._get_timeunit_start(),k=r._get_view_end();y=w=this._table_view?r.date.week_start(M):M,this._min_date=y;var N=this.templates[this._mode+"_date"](M,k,this._mode),m=this._getNavDateElement();if(m&&(m.innerHTML=N,this._waiAria.navBarDateAttr(m,N)),this._max_date=k,r._render_scales(c,u),this._table_view)this._reset_month_scale(u,M,w);else if(this._reset_hours_scale(u,M,w),f.multi_day){var x="dhx_multi_day";this._els[x]&&(this._els[x][0].parentNode.removeChild(this._els[x][0]),this._els[x]=null);var b=document.createElement("div");b.className=x,b.style.visibility="hidden",b.style.display="none";var E=this._colsS[this._colsS.col_length],S=f.rtl?this.xy.scale_width:this.xy.scroll_width,T=Math.max(E+S,0);this.set_xy(b,T,0,0),u.parentNode.insertBefore(b,u);var A=b.cloneNode(!0);A.className=x+"_icon",A.style.visibility="hidden",A.style.display="none",this.set_xy(A,this.xy.scale_width+1,0,0),b.appendChild(A),this._els[x]=[b,A],r.event(this._els[x][0],"click",this._click.dhx_cal_data)}}},r._reset_hours_scale=function(c,u,f){var y=document.createElement("div");y.className="dhx_scale_holder";for(var w=new Date(1980,1,1,this.config.first_hour,0,0),D=1*this.config.first_hour;D<this.config.last_hour;D++){var M=document.createElement("div");M.className="dhx_scale_hour",M.style.height=this.config.hour_size_px+"px";var k=this.xy.scale_width;this.config.left_border&&(M.className+=" dhx_scale_hour_border"),M.style.width=k+"px";var N=r.templates.hour_scale(w);M.innerHTML=N,this._waiAria.hourScaleAttr(M,N),y.appendChild(M),w=this.date.add(w,1,"hour")}c.appendChild(y),this.config.scroll_hour&&(c.scrollTop=this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour))},r._currentDate=function(){return r.config.now_date?new Date(r.config.now_date):new Date},r._reset_ignores=function(){this._ignores={},this._ignores_detected=0},r._process_ignores=function(c,u,f,y,w){this._reset_ignores();var D=r["ignore_"+this._mode];if(D)for(var M=new Date(c),k=0;k<u;k++)D(M)&&(this._ignores_detected+=1,this._ignores[k]=!0,w&&u++),M=r.date.add(M,y,f),r.date[f+"_start"]&&(M=r.date[f+"_start"](M))},r._render_month_scale=function(c,u,f,y){var w=r.date.add(u,1,"month"),D=new Date(f),M=r._currentDate();M=this.date.date_part(M),f=this.date.date_part(f),y=y||Math.ceil(Math.round((w.valueOf()-f.valueOf())/864e5)/7);for(var k=[],N=0;N<=7;N++){var m=this._cols[N]||0;isNaN(Number(m))||(m+="px"),k[N]=m}function x(j){var I=r._colsS.height;return r._colsS.heights[j+1]!==void 0&&(I=r._colsS.heights[j+1]-(r._colsS.heights[j]||0)),I}var b=0;const E=document.createElement("div");for(E.classList.add("dhx_cal_month_table"),N=0;N<y;N++){var S=document.createElement("div");S.classList.add("dhx_cal_month_row"),S.style.height=x(N)+"px",E.appendChild(S);for(var T=0;T<7;T++){var A=document.createElement("div");S.appendChild(A);var C="dhx_cal_month_cell";f<u?C+=" dhx_before":f>=w?C+=" dhx_after":f.valueOf()==M.valueOf()&&(C+=" dhx_now"),this._ignores_detected&&this._ignores[T]&&(C+=" dhx_scale_ignore"),A.className=C+" "+this.templates.month_date_class(f,M),A.setAttribute("data-cell-date",r.templates.format_date(f));var $="dhx_month_body",H="dhx_month_head";if(T===0&&this.config.left_border&&($+=" dhx_month_body_border",H+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[T])A.appendChild(document.createElement("div")),A.appendChild(document.createElement("div"));else{A.style.width=k[T],this._waiAria.monthCellAttr(A,f);var O=document.createElement("div");O.style.height=r.xy.month_head_height+"px",O.className=H,O.innerHTML=this.templates.month_day(f),A.appendChild(O);var R=document.createElement("div");R.className=$,A.appendChild(R)}var P=f.getDate();(f=this.date.add(f,1,"day")).getDate()-P>1&&(f=new Date(f.getFullYear(),f.getMonth(),P+1,12,0))}r._colsS.heights[N]=b,b+=x(N)}return this._min_date=D,this._max_date=f,c.innerHTML="",c.appendChild(E),this._scales={},c.querySelectorAll("[data-cell-date]").forEach(j=>{const I=r.templates.parse_date(j.getAttribute("data-cell-date")),U=j.querySelector(".dhx_month_body");this._scales[+I]=U,this.callEvent("onScaleAdd",[this._scales[+I],I])}),this._max_date},r._reset_month_scale=function(c,u,f,y){var w=r.date.add(u,1,"month");f=this.date.date_part(f),y=y||Math.ceil(Math.round((w.valueOf()-f.valueOf())/864e5)/7);var D=Math.floor(c.clientHeight/y)-this.xy.month_head_height;return this._colsS.height=D+this.xy.month_head_height,this._colsS.heights=[],r._render_month_scale(c,u,f,y)},r.getView=function(c){return c||(c=r.getState().mode),r.matrix&&r.matrix[c]?r.matrix[c]:r._props&&r._props[c]?r._props[c]:null},r.getLabel=function(c,u){for(var f=this.config.lightbox.sections,y=0;y<f.length;y++)if(f[y].map_to==c){for(var w=f[y].options,D=0;D<w.length;D++)if(w[D].key==u)return w[D].label}return""},r.updateCollection=function(c,u){var f=r.serverList(c);return!!f&&(f.splice(0,f.length),f.push.apply(f,u||[]),r.callEvent("onOptionsLoad",[]),r.resetLightbox(),r.hideCover(),!0)},r._lame_clone=function(c,u){var f,y,w;for(u=u||[],f=0;f<u.length;f+=2)if(c===u[f])return u[f+1];if(c&&typeof c=="object"){for(w=Object.create(c),y=[Array,Date,Number,String,Boolean],f=0;f<y.length;f++)c instanceof y[f]&&(w=f?new y[f](c):new y[f]);for(f in u.push(c,w),c)Object.prototype.hasOwnProperty.apply(c,[f])&&(w[f]=r._lame_clone(c[f],u))}return w||c},r._lame_copy=function(c,u){for(var f in u)u.hasOwnProperty(f)&&(c[f]=u[f]);return c},r._get_date_from_pos=function(c){var u=this._min_date.valueOf()+6e4*(c.y*this.config.time_step+24*(this._table_view?0:c.x)*60);return new Date(this._correct_shift(u))},r.getActionData=function(c){var u=this._mouse_coords(c);return{date:this._get_date_from_pos(u),section:u.section}},r._focus=function(c,u){if(c&&c.focus)if(this._mobile)window.setTimeout(function(){c.focus()},10);else try{u&&c.select&&c.offsetWidth&&c.select(),c.focus()}catch{}},r._get_real_event_length=function(c,u,f){var y,w=u-c,D=this["ignore_"+this._mode],M=0;f.render?(M=this._get_date_index(f,c),y=this._get_date_index(f,u),c.valueOf()<r.getState().min_date.valueOf()&&(M=-g(c,r.getState().min_date)),u.valueOf()>r.getState().max_date.valueOf()&&(y+=g(u,r.getState().max_date))):y=Math.round(w/60/60/1e3/24);for(var k=!0;M<y;){var N=r.date.add(u,-f.x_step,f.x_unit);if(D&&D(u)&&(!k||k&&D(N)))w-=u-N;else{let m=0;const x=new Date(Math.max(N.valueOf(),c.valueOf())),b=u,E=new Date(x.getFullYear(),x.getMonth(),x.getDate(),f.first_hour||0),S=new Date(x.getFullYear(),x.getMonth(),x.getDate(),f.last_hour||24),T=new Date(u.getFullYear(),u.getMonth(),u.getDate(),f.first_hour||0),A=new Date(u.getFullYear(),u.getMonth(),u.getDate(),f.last_hour||24);b.valueOf()>A.valueOf()&&(m+=b-A),b.valueOf()>T.valueOf()?m+=f._start_correction:m+=60*b.getHours()*60*1e3+60*b.getMinutes()*1e3,x.valueOf()<=S.valueOf()&&(m+=f._end_correction),x.valueOf()<E.valueOf()&&(m+=E.valueOf()-x.valueOf()),w-=m,k=!1}u=N,y--}return w},r._get_fictional_event_length=function(c,u,f,y){var w=new Date(c),D=y?-1:1;if(f._start_correction||f._end_correction){var M;M=y?60*w.getHours()+w.getMinutes()-60*(f.first_hour||0):60*(f.last_hour||0)-(60*w.getHours()+w.getMinutes());var k=60*(f.last_hour-f.first_hour),N=Math.ceil((u/6e4-M)/k);N<0&&(N=0),u+=N*(1440-k)*60*1e3}var m,x=new Date(1*c+u*D),b=this["ignore_"+this._mode],E=0;function S(){return f.x_unit==="day"?E*D<m*D:E*D<=m*D}for(f.render?(E=this._get_date_index(f,w),m=this._get_date_index(f,x)):m=Math.round(u/60/60/1e3/24);S();){var T=r.date.add(w,f.x_step*D,f.x_unit);b&&b(w)&&(u+=(T-w)*D,m+=D),w=T,E+=D}return u},r._get_section_view=function(){return this.getView()},r._get_section_property=function(){return this.matrix&&this.matrix[this._mode]?this.matrix[this._mode].y_property:this._props&&this._props[this._mode]?this._props[this._mode].map_to:null},r._is_initialized=function(){var c=this.getState();return this._obj&&c.date&&c.mode},r._is_lightbox_open=function(){var c=this.getState();return c.lightbox_id!==null&&c.lightbox_id!==void 0}}(i),function(r){(function(){var d=new RegExp(`<(?:.| |
| 32 | )*?>`,"gm"),l=new RegExp(" +","gm");function h(c){return(c+"").replace(d," ").replace(l," ")}var p=new RegExp("'","gm");function v(c){return(c+"").replace(p,"'")}for(var g in r._waiAria={getAttributeString:function(c){var u=[" "];for(var f in c)if(typeof c[f]!="function"&&typeof c[f]!="object"){var y=v(h(c[f]));u.push(f+"='"+y+"'")}return u.push(" "),u.join(" ")},setAttributes:function(c,u){for(var f in u)c.setAttribute(f,h(u[f]));return c},labelAttr:function(c,u){return this.setAttributes(c,{"aria-label":u})},label:function(c){return r._waiAria.getAttributeString({"aria-label":c})},hourScaleAttr:function(c,u){this.labelAttr(c,u)},monthCellAttr:function(c,u){this.labelAttr(c,r.templates.day_date(u))},navBarDateAttr:function(c,u){this.labelAttr(c,u)},dayHeaderAttr:function(c,u){this.labelAttr(c,u)},dayColumnAttr:function(c,u){this.dayHeaderAttr(c,r.templates.day_date(u))},headerButtonsAttributes:function(c,u){return this.setAttributes(c,{role:"button","aria-label":u})},headerToggleState:function(c,u){return this.setAttributes(c,{"aria-pressed":u?"true":"false"})},getHeaderCellAttr:function(c){return r._waiAria.getAttributeString({"aria-label":c})},eventAttr:function(c,u){this._eventCommonAttr(c,u)},_eventCommonAttr:function(c,u){u.setAttribute("aria-label",h(r.templates.event_text(c.start_date,c.end_date,c))),r.config.readonly&&u.setAttribute("aria-readonly",!0),c.$dataprocessor_class&&u.setAttribute("aria-busy",!0),u.setAttribute("aria-selected",r.getState().select_id==c.id?"true":"false")},setEventBarAttr:function(c,u){this._eventCommonAttr(c,u)},_getAttributes:function(c,u){var f={setAttribute:function(y,w){this[y]=w}};return c.apply(this,[u,f]),f},eventBarAttrString:function(c){return this.getAttributeString(this._getAttributes(this.setEventBarAttr,c))},agendaHeadAttrString:function(){return this.getAttributeString({role:"row"})},agendaHeadDateString:function(c){return this.getAttributeString({role:"columnheader","aria-label":c})},agendaHeadDescriptionString:function(c){return this.agendaHeadDateString(c)},agendaDataAttrString:function(){return this.getAttributeString({role:"grid"})},agendaEventAttrString:function(c){var u=this._getAttributes(this._eventCommonAttr,c);return u.role="row",this.getAttributeString(u)},agendaDetailsBtnString:function(){return this.getAttributeString({role:"button","aria-label":r.locale.labels.icon_details})},gridAttrString:function(){return this.getAttributeString({role:"grid"})},gridRowAttrString:function(c){return this.agendaEventAttrString(c)},gridCellAttrString:function(c,u,f){return this.getAttributeString({role:"gridcell","aria-label":[u.label===void 0?u.id:u.label,": ",f]})},mapAttrString:function(){return this.gridAttrString()},mapRowAttrString:function(c){return this.gridRowAttrString(c)},mapDetailsBtnString:function(){return this.agendaDetailsBtnString()},minicalHeader:function(c,u){this.setAttributes(c,{id:u+"","aria-live":"assertice","aria-atomic":"true"})},minicalGrid:function(c,u){this.setAttributes(c,{"aria-labelledby":u+"",role:"grid"})},minicalRow:function(c){this.setAttributes(c,{role:"row"})},minicalDayCell:function(c,u){var f=u.valueOf()<r._max_date.valueOf()&&u.valueOf()>=r._min_date.valueOf();this.setAttributes(c,{role:"gridcell","aria-label":r.templates.day_date(u),"aria-selected":f?"true":"false"})},minicalHeadCell:function(c){this.setAttributes(c,{role:"columnheader"})},weekAgendaDayCell:function(c,u){var f=c.querySelector(".dhx_wa_scale_bar"),y=c.querySelector(".dhx_wa_day_data"),w=r.uid()+"";this.setAttributes(f,{id:w}),this.setAttributes(y,{"aria-labelledby":w})},weekAgendaEvent:function(c,u){this.eventAttr(u,c)},lightboxHiddenAttr:function(c){c.setAttribute("aria-hidden","true")},lightboxVisibleAttr:function(c){c.setAttribute("aria-hidden","false")},lightboxSectionButtonAttrString:function(c){return this.getAttributeString({role:"button","aria-label":c,tabindex:"0"})},yearHeader:function(c,u){this.setAttributes(c,{id:u+""})},yearGrid:function(c,u){this.minicalGrid(c,u)},yearHeadCell:function(c){return this.minicalHeadCell(c)},yearRow:function(c){return this.minicalRow(c)},yearDayCell:function(c){this.setAttributes(c,{role:"gridcell"})},lightboxAttr:function(c){c.setAttribute("role","dialog"),c.setAttribute("aria-hidden","true"),c.firstChild.setAttribute("role","heading")},lightboxButtonAttrString:function(c){return this.getAttributeString({role:"button","aria-label":r.locale.labels[c],tabindex:"0"})},eventMenuAttrString:function(c){return this.getAttributeString({role:"button","aria-label":r.locale.labels[c]})},lightboxHeader:function(c,u){c.setAttribute("aria-label",u)},lightboxSelectAttrString:function(c){var u="";switch(c){case"%Y":u=r.locale.labels.year;break;case"%m":u=r.locale.labels.month;break;case"%d":u=r.locale.labels.day;break;case"%H:%i":u=r.locale.labels.hour+" "+r.locale.labels.minute}return r._waiAria.getAttributeString({"aria-label":u})},messageButtonAttrString:function(c){return"tabindex='0' role='button' aria-label='"+c+"'"},messageInfoAttr:function(c){c.setAttribute("role","alert")},messageModalAttr:function(c,u){c.setAttribute("role","dialog"),u&&c.setAttribute("aria-labelledby",u)},quickInfoAttr:function(c){c.setAttribute("role","dialog")},quickInfoHeaderAttrString:function(){return" role='heading' "},quickInfoHeader:function(c,u){c.setAttribute("aria-label",u)},quickInfoButtonAttrString:function(c){return r._waiAria.getAttributeString({role:"button","aria-label":c,tabindex:"0"})},tooltipAttr:function(c){c.setAttribute("role","tooltip")},tooltipVisibleAttr:function(c){c.setAttribute("aria-hidden","false")},tooltipHiddenAttr:function(c){c.setAttribute("aria-hidden","true")}},r._waiAria)r._waiAria[g]=function(c){return function(){return r.config.wai_aria_attributes?c.apply(this,arguments):" "}}(r._waiAria[g])})()}(i),i.utils=ne,i.$domHelpers=le,i.utils.dom=le,i.uid=ne.uid,i.mixin=ne.mixin,i.defined=ne.defined,i.assert=function(r){return function(d,l){d||r.config.show_errors&&r.callEvent("onError",[l])!==!1&&(r.message?r.message({type:"error",text:l,expire:-1}):console.log(l))}}(i),i.copy=ne.copy,i._createDatePicker=function(r,d){return new Qt(i,r,d)},i._getFocusableNodes=le.getFocusableNodes,i._getClassName=le.getClassName,i._locate_css=le.locateCss;const t=Gt(i);var n,s,a;i.utils.mixin(i,t),i.env=i.$env=Yt,i.Promise=Promise,function(r){r.destructor=function(){for(var d in r.callEvent("onDestroy",[]),this.clearAll(),this.$container&&(this.$container.innerHTML="",this.$container.classList.remove(`dhx_scheduler_${this._mode}`)),this._eventRemoveAll&&this._eventRemoveAll(),this.resetLightbox&&this.resetLightbox(),this._dp&&this._dp.destructor&&this._dp.destructor(),this.detachAllEvents(),this)d.indexOf("$")===0&&delete this[d];r.$destroyed=!0}}(i),function(r){function d(l,h){var p={method:l};if(h.length===0)throw new Error("Arguments list of query is wrong.");if(h.length===1)return typeof h[0]=="string"?(p.url=h[0],p.async=!0):(p.url=h[0].url,p.async=h[0].async||!0,p.callback=h[0].callback,p.headers=h[0].headers),h[0].data?typeof h[0].data!="string"?p.data=Le(h[0].data):p.data=h[0].data:p.data="",p;switch(p.url=h[0],l){case"GET":case"DELETE":p.callback=h[1],p.headers=h[2];break;case"POST":case"PUT":h[1]?typeof h[1]!="string"?p.data=Le(h[1]):p.data=h[1]:p.data="",p.callback=h[2],p.headers=h[3]}return p}r.Promise=typeof window<"u"?window.Promise:Promise,r.ajax={cache:!0,method:"get",serializeRequestParams:Le,parse:function(l){return typeof l!="string"?l:(l=l.replace(/^[\s]+/,""),typeof DOMParser>"u"||r.$env.isIE?window.ActiveXObject!==void 0&&((h=new window.ActiveXObject("Microsoft.XMLDOM")).async="false",h.loadXML(l)):h=new DOMParser().parseFromString(l,"text/xml"),h);var h},xmltop:function(l,h,p){if(h.status===void 0||h.status<400){var v=h.responseXML?h.responseXML||h:this.parse(h.responseText||h);if(v&&v.documentElement!==null&&!v.getElementsByTagName("parsererror").length)return v.getElementsByTagName(l)[0]}return p!==-1&&r.callEvent("onLoadXMLError",["Incorrect XML",arguments[1],p]),document.createElement("DIV")},xpath:function(l,h){if(h.nodeName||(h=h.responseXML||h),r.$env.isIE)return h.selectNodes(l)||[];for(var p,v=[],g=(h.ownerDocument||h).evaluate(l,h,null,XPathResult.ANY_TYPE,null);p=g.iterateNext();)v.push(p);return v},query:function(l){return this._call(l.method||"GET",l.url,l.data||"",l.async||!0,l.callback,l.headers)},get:function(l,h,p){var v=d("GET",arguments);return this.query(v)},getSync:function(l,h){var p=d("GET",arguments);return p.async=!1,this.query(p)},put:function(l,h,p,v){var g=d("PUT",arguments);return this.query(g)},del:function(l,h,p){var v=d("DELETE",arguments);return this.query(v)},post:function(l,h,p,v){arguments.length==1?h="":arguments.length==2&&typeof h=="function"&&(p=h,h="");var g=d("POST",arguments);return this.query(g)},postSync:function(l,h,p){h=h===null?"":String(h);var v=d("POST",arguments);return v.async=!1,this.query(v)},_call:function(l,h,p,v,g,c){return new r.Promise((function(u,f){var y=typeof XMLHttpRequest===void 0||r.$env.isIE?new window.ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest,w=navigator.userAgent.match(/AppleWebKit/)!==null&&navigator.userAgent.match(/Qt/)!==null&&navigator.userAgent.match(/Safari/)!==null;if(v&&y.addEventListener("readystatechange",function(){if(y.readyState==4||w&&y.readyState==3){if((y.status!=200||y.responseText==="")&&!r.callEvent("onAjaxError",[y]))return;setTimeout(function(){typeof g=="function"&&g.apply(window,[{xmlDoc:y,filePath:h}]),u(y),typeof g=="function"&&(g=null,y=null)},0)}}),l!="GET"||this.cache||(h+=(h.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime()+"=1"),y.open(l,h,v),c)for(var D in c)y.setRequestHeader(D,c[D]);else l.toUpperCase()=="POST"||l=="PUT"||l=="DELETE"?y.setRequestHeader("Content-Type","application/x-www-form-urlencoded"):l=="GET"&&(p=null);if(y.setRequestHeader("X-Requested-With","XMLHttpRequest"),y.send(p),!v)return{xmlDoc:y,filePath:h}}).bind(this))},urlSeparator:function(l){return l.indexOf("?")!=-1?"&":"?"}},r.$ajax=r.ajax}(i),Vt(i),function(r){r.config={default_date:"%j %M %Y",month_date:"%F %Y",load_date:"%Y-%m-%d",week_date:"%l",day_date:"%D %j",hour_date:"%H:%i",month_day:"%d",date_format:"%Y-%m-%d %H:%i",api_date:"%d-%m-%Y %H:%i",parse_exact_format:!1,preserve_length:!0,time_step:5,displayed_event_color:"#ff4a4a",displayed_event_text_color:"#ffef80",wide_form:0,day_column_padding:8,use_select_menu_space:!0,fix_tab_position:!0,start_on_monday:!0,first_hour:0,last_hour:24,readonly:!1,drag_resize:!0,drag_move:!0,drag_create:!0,drag_event_body:!0,dblclick_create:!0,details_on_dblclick:!0,edit_on_create:!0,details_on_create:!0,header:null,hour_size_px:44,resize_month_events:!1,resize_month_timed:!1,responsive_lightbox:!1,separate_short_events:!0,rtl:!1,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,multi_day:!0,multi_day_height_limit:200,drag_lightbox:!0,preserve_scroll:!0,select:!0,undo_deleted:!0,server_utc:!1,touch:!0,touch_tip:!0,touch_drag:500,touch_swipe_dates:!1,quick_info_detached:!0,positive_closing:!1,drag_highlight:!0,limit_drag_out:!1,icons_edit:["icon_save","icon_cancel"],icons_select:["icon_details","icon_edit","icon_delete"],buttons_right:["dhx_save_btn","dhx_cancel_btn"],buttons_left:["dhx_delete_btn"],lightbox:{sections:[{name:"description",map_to:"text",type:"textarea",focus:!0},{name:"time",height:72,type:"time",map_to:"auto"}]},highlight_displayed_event:!0,left_border:!1,ajax_error:"alert",delay_render:0,timeline_swap_resize:!0,wai_aria_attributes:!0,wai_aria_application_role:!0,csp:"auto",event_attribute:"data-event-id",show_errors:!0},r.config.buttons_left.$initial=r.config.buttons_left.join(),r.config.buttons_right.$initial=r.config.buttons_right.join(),r._helpers={parseDate:function(d){return(r.templates.xml_date||r.templates.parse_date)(d)},formatDate:function(d){return(r.templates.xml_format||r.templates.format_date)(d)}},r.templates={},r.init_templates=function(){var d=r.date.date_to_str,l=r.config;(function(h,p){for(var v in p)h[v]||(h[v]=p[v])})(r.templates,{day_date:d(l.default_date),month_date:d(l.month_date),week_date:function(h,p){return l.rtl?r.templates.day_date(r.date.add(p,-1,"day"))+" – "+r.templates.day_date(h):r.templates.day_date(h)+" – "+r.templates.day_date(r.date.add(p,-1,"day"))},day_scale_date:d(l.default_date),time_slot_text:function(h){return""},time_slot_class:function(h){return""},month_scale_date:d(l.week_date),week_scale_date:d(l.day_date),hour_scale:d(l.hour_date),time_picker:d(l.hour_date),event_date:d(l.hour_date),month_day:d(l.month_day),load_format:d(l.load_date),format_date:d(l.date_format,l.server_utc),parse_date:r.date.str_to_date(l.date_format,l.server_utc),api_date:r.date.str_to_date(l.api_date,!1,!1),event_header:function(h,p,v){return v._mode==="small"||v._mode==="smallest"?r.templates.event_date(h):r.templates.event_date(h)+" - "+r.templates.event_date(p)},event_text:function(h,p,v){return v.text},event_class:function(h,p,v){return""},month_date_class:function(h){return""},week_date_class:function(h){return""},event_bar_date:function(h,p,v){return r.templates.event_date(h)},event_bar_text:function(h,p,v){return v.text},month_events_link:function(h,p){return"<a>View more("+p+" events)</a>"},drag_marker_class:function(h,p,v){return""},drag_marker_content:function(h,p,v){return""},tooltip_date_format:r.date.date_to_str("%Y-%m-%d %H:%i"),tooltip_text:function(h,p,v){return"<b>Event:</b> "+v.text+"<br/><b>Start date:</b> "+r.templates.tooltip_date_format(h)+"<br/><b>End date:</b> "+r.templates.tooltip_date_format(p)},calendar_month:d("%F %Y"),calendar_scale_date:d("%D"),calendar_date:d("%d"),calendar_time:d("%d-%m-%Y")}),this.callEvent("onTemplatesReady",[])}}(i),function(r){r._events={},r.clearAll=function(){this._events={},this._loaded={},this._edit_id=null,this._select_id=null,this._drag_id=null,this._drag_mode=null,this._drag_pos=null,this._new_event=null,this.clear_view(),this.callEvent("onClearAll",[])},r.addEvent=function(d,l,h,p,v){if(!arguments.length)return this.addEventNow();var g=d;arguments.length!=1&&((g=v||{}).start_date=d,g.end_date=l,g.text=h,g.id=p),g.id=g.id||r.uid(),g.text=g.text||"",typeof g.start_date=="string"&&(g.start_date=this.templates.api_date(g.start_date)),typeof g.end_date=="string"&&(g.end_date=this.templates.api_date(g.end_date));var c=6e4*(this.config.event_duration||this.config.time_step);new Date(g.end_date).valueOf()-new Date(g.start_date).valueOf()<=c&&g.end_date.setTime(g.start_date.valueOf()+c),g.start_date.setMilliseconds(0),g.end_date.setMilliseconds(0),g._timed=this.isOneDayEvent(g);var u=!this._events[g.id];return this._events[g.id]=g,this.event_updated(g),this._loading||this.callEvent(u?"onEventAdded":"onEventChanged",[g.id,g]),g.id},r.deleteEvent=function(d,l){var h=this._events[d];(l||this.callEvent("onBeforeEventDelete",[d,h])&&this.callEvent("onConfirmedBeforeEventDelete",[d,h]))&&(h&&(r.getState().select_id==d&&r.unselect(),delete this._events[d],this.event_updated(h),this._drag_id==h.id&&(this._drag_id=null,this._drag_mode=null,this._drag_pos=null)),this.callEvent("onEventDeleted",[d,h]))},r.getEvent=function(d){return this._events[d]},r.setEvent=function(d,l){l.id||(l.id=d),this._events[d]=l},r.for_rendered=function(d,l){for(var h=this._rendered.length-1;h>=0;h--)this._rendered[h].getAttribute(this.config.event_attribute)==d&&l(this._rendered[h],h)},r.changeEventId=function(d,l){if(d!=l){var h=this._events[d];h&&(h.id=l,this._events[l]=h,delete this._events[d]),this.for_rendered(d,function(p){p.setAttribute("event_id",l),p.setAttribute(r.config.event_attribute,l)}),this._select_id==d&&(this._select_id=l),this._edit_id==d&&(this._edit_id=l),this.callEvent("onEventIdChange",[d,l])}},function(){for(var d=["text","Text","start_date","StartDate","end_date","EndDate"],l=function(v){return function(g){return r.getEvent(g)[v]}},h=function(v){return function(g,c){var u=r.getEvent(g);u[v]=c,u._changed=!0,u._timed=this.isOneDayEvent(u),r.event_updated(u,!0)}},p=0;p<d.length;p+=2)r["getEvent"+d[p+1]]=l(d[p]),r["setEvent"+d[p+1]]=h(d[p])}(),r.event_updated=function(d,l){this.is_visible_events(d)?this.render_view_data():this.clear_event(d.id)},r.is_visible_events=function(d){if(!this._min_date||!this._max_date)return!1;if(d.start_date.valueOf()<this._max_date.valueOf()&&this._min_date.valueOf()<d.end_date.valueOf()){var l=d.start_date.getHours(),h=d.end_date.getHours()+d.end_date.getMinutes()/60,p=this.config.last_hour,v=this.config.first_hour;return!(!this._table_view&&(h>p||h<=v)&&(l>=p||l<v)&&!((d.end_date.valueOf()-d.start_date.valueOf())/36e5>24-(this.config.last_hour-this.config.first_hour)||l<p&&h>v))}return!1},r.isOneDayEvent=function(d){var l=new Date(d.end_date.valueOf()-1);return d.start_date.getFullYear()===l.getFullYear()&&d.start_date.getMonth()===l.getMonth()&&d.start_date.getDate()===l.getDate()&&d.end_date.valueOf()-d.start_date.valueOf()<864e5},r.get_visible_events=function(d){var l=[];for(var h in this._events)this.is_visible_events(this._events[h])&&(d&&!this._events[h]._timed||this.filter_event(h,this._events[h])&&l.push(this._events[h]));return l},r.filter_event=function(d,l){var h=this["filter_"+this._mode];return!h||h(d,l)},r._is_main_area_event=function(d){return!!d._timed},r.render_view_data=function(d,l){var h=!1;if(!d){if(h=!0,this._not_render)return void(this._render_wait=!0);this._render_wait=!1,this.clear_view(),d=this.get_visible_events(!(this._table_view||this.config.multi_day))}for(var p=0,v=d.length;p<v;p++)this._recalculate_timed(d[p]);if(this.config.multi_day&&!this._table_view){var g=[],c=[];for(p=0;p<d.length;p++)this._is_main_area_event(d[p])?g.push(d[p]):c.push(d[p]);if(!this._els.dhx_multi_day){var u=r._commonErrorMessages.unknownView(this._mode);throw new Error(u)}this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(c,l),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(g,l)}else{var f=document.createDocumentFragment(),y=this._els.dhx_cal_data[0];this._rendered_location=f,this.render_data(d,l),y.appendChild(f),this._rendered_location=y}h&&this.callEvent("onDataRender",[])},r._view_month_day=function(d){var l=r.getActionData(d).date;r.callEvent("onViewMoreClick",[l])&&r.setCurrentView(l,"day")},r._render_month_link=function(d){for(var l=this._rendered_location,h=this._lame_clone(d),p=d._sday;p<d._eday;p++){h._sday=p,h._eday=p+1;var v=r.date,g=r._min_date;g=v.add(g,h._sweek,"week"),g=v.add(g,h._sday,"day");var c=r.getEvents(g,v.add(g,1,"day")).length,u=this._get_event_bar_pos(h),f=u.x2-u.x,y=document.createElement("div");r.event(y,"click",function(w){r._view_month_day(w)}),y.className="dhx_month_link",y.style.top=u.y+"px",y.style.left=u.x+"px",y.style.width=f+"px",y.innerHTML=r.templates.month_events_link(g,c),this._rendered.push(y),l.appendChild(y)}},r._recalculate_timed=function(d){var l;d&&(l=typeof d!="object"?this._events[d]:d)&&(l._timed=r.isOneDayEvent(l))},r.attachEvent("onEventChanged",r._recalculate_timed),r.attachEvent("onEventAdded",r._recalculate_timed),r.render_data=function(d,l){d=this._pre_render_events(d,l);for(var h={},p=0;p<d.length;p++)if(this._table_view)if(r._mode!="month")this.render_event_bar(d[p]);else{var v=r.config.max_month_events;v!==1*v||d[p]._sorder<v?this.render_event_bar(d[p]):v!==void 0&&d[p]._sorder==v&&r._render_month_link(d[p])}else{var g=d[p],c=r.locate_holder(g._sday);if(!c)continue;h[g._sday]||(h[g._sday]={real:c,buffer:document.createDocumentFragment(),width:c.clientWidth});var u=h[g._sday];this.render_event(g,u.buffer,u.width)}for(var p in h)(u=h[p]).real&&u.buffer&&u.real.appendChild(u.buffer)},r._get_first_visible_cell=function(d){for(var l=0;l<d.length;l++)if((d[l].className||"").indexOf("dhx_scale_ignore")==-1)return d[l];return d[0]},r._pre_render_events=function(d,l){var h=this.xy.bar_height,p=this._colsS.heights,v=this._colsS.heights=[0,0,0,0,0,0,0],g=this._els.dhx_cal_data[0];if(d=this._table_view?this._pre_render_events_table(d,l):this._pre_render_events_line(d,l),this._table_view)if(l)this._colsS.heights=p;else{var c=g.querySelectorAll(".dhx_cal_month_row");if(c.length){for(var u=0;u<c.length;u++){v[u]++;var f=c[u].querySelectorAll(".dhx_cal_month_cell"),y=this._colsS.height-this.xy.month_head_height;if(v[u]*h>y){var w=y;1*this.config.max_month_events!==this.config.max_month_events||v[u]<=this.config.max_month_events?w=v[u]*h:(this.config.max_month_events+1)*h>y&&(w=(this.config.max_month_events+1)*h),c[u].style.height=w+this.xy.month_head_height+"px"}v[u]=(v[u-1]||0)+r._get_first_visible_cell(f).offsetHeight}v.unshift(0);const S=this.$container.querySelector(".dhx_cal_data");if(S.offsetHeight<S.scrollHeight&&!r._colsS.scroll_fix&&r.xy.scroll_width){var D=r._colsS,M=D[D.col_length],k=D.heights.slice();M-=r.xy.scroll_width||0,this._calc_scale_sizes(M,this._min_date,this._max_date),r._colsS.heights=k,this.set_xy(this._els.dhx_cal_header[0],M),r._render_scales(this._els.dhx_cal_header[0]),r._render_month_scale(this._els.dhx_cal_data[0],this._get_timeunit_start(),this._min_date),D.scroll_fix=!0}}else if(d.length||this._els.dhx_multi_day[0].style.visibility!="visible"||(v[0]=-1),d.length||v[0]==-1){var N=(v[0]+1)*h+4,m=N,x=N+"px";this.config.multi_day_height_limit&&(x=(m=Math.min(N,this.config.multi_day_height_limit))+"px");var b=this._els.dhx_multi_day[0];b.style.height=x,b.style.visibility=v[0]==-1?"hidden":"visible",b.style.display=v[0]==-1?"none":"";var E=this._els.dhx_multi_day[1];E.style.height=x,E.style.visibility=v[0]==-1?"hidden":"visible",E.style.display=v[0]==-1?"none":"",E.className=v[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(v[0]+1)*h,this.config.multi_day_height_limit&&(this._dy_shift=Math.min(this.config.multi_day_height_limit,this._dy_shift)),v[0]=0,m!=N&&(b.style.overflowY="auto",E.style.position="fixed",E.style.top="",E.style.left="")}}return d},r._get_event_sday=function(d){var l=this.date.day_start(new Date(d.start_date));return Math.round((l.valueOf()-this._min_date.valueOf())/864e5)},r._get_event_mapped_end_date=function(d){var l=d.end_date;if(this.config.separate_short_events){var h=(d.end_date-d.start_date)/6e4;h<this._min_mapped_duration&&(l=this.date.add(l,this._min_mapped_duration-h,"minute"))}return l},r._pre_render_events_line=function(d,l){d.sort(function(E,S){return E.start_date.valueOf()==S.start_date.valueOf()?E.id>S.id?1:-1:E.start_date>S.start_date?1:-1});var h=[],p=[];this._min_mapped_duration=Math.floor(60*this.xy.min_event_height/this.config.hour_size_px);for(var v=0;v<d.length;v++){var g=d[v],c=g.start_date,u=g.end_date,f=c.getHours(),y=u.getHours();if(g._sday=this._get_event_sday(g),this._ignores[g._sday])d.splice(v,1),v--;else{if(h[g._sday]||(h[g._sday]=[]),!l){g._inner=!1;for(var w=h[g._sday];w.length;){var D=w[w.length-1];if(!(this._get_event_mapped_end_date(D).valueOf()<=g.start_date.valueOf()))break;w.splice(w.length-1,1)}for(var M=w.length,k=!1,N=0;N<w.length;N++)if(D=w[N],this._get_event_mapped_end_date(D).valueOf()<=g.start_date.valueOf()){k=!0,g._sorder=D._sorder,M=N,g._inner=!0;break}if(w.length&&(w[w.length-1]._inner=!0),!k)if(w.length)if(w.length<=w[w.length-1]._sorder){if(w[w.length-1]._sorder)for(N=0;N<w.length;N++){for(var m=!1,x=0;x<w.length;x++)if(w[x]._sorder==N){m=!0;break}if(!m){g._sorder=N;break}}else g._sorder=0;g._inner=!0}else{var b=w[0]._sorder;for(N=1;N<w.length;N++)w[N]._sorder>b&&(b=w[N]._sorder);g._sorder=b+1,g._inner=!1}else g._sorder=0;w.splice(M,M==w.length?0:1,g),w.length>(w.max_count||0)?(w.max_count=w.length,g._count=w.length):g._count=g._count?g._count:1}(f<this.config.first_hour||y>=this.config.last_hour)&&(p.push(g),d[v]=g=this._copy_event(g),f<this.config.first_hour&&(g.start_date.setHours(this.config.first_hour),g.start_date.setMinutes(0)),y>=this.config.last_hour&&(g.end_date.setMinutes(0),g.end_date.setHours(this.config.last_hour)),g.start_date>g.end_date||f==this.config.last_hour)&&(d.splice(v,1),v--)}}if(!l){for(v=0;v<d.length;v++)d[v]._count=h[d[v]._sday].max_count;for(v=0;v<p.length;v++)p[v]._count=h[p[v]._sday].max_count}return d},r._time_order=function(d){d.sort(function(l,h){return l.start_date.valueOf()==h.start_date.valueOf()?l._timed&&!h._timed?1:!l._timed&&h._timed?-1:l.id>h.id?1:-1:l.start_date>h.start_date?1:-1})},r._is_any_multiday_cell_visible=function(d,l,h){var p=this._cols.length,v=!1,g=d,c=!0,u=new Date(l);for(r.date.day_start(new Date(l)).valueOf()!=l.valueOf()&&(u=r.date.day_start(u),u=r.date.add(u,1,"day"));g<u;){c=!1;var f=this.locate_holder_day(g,!1,h)%p;if(!this._ignores[f]){v=!0;break}g=r.date.add(g,1,"day")}return c||v},r._pre_render_events_table=function(d,l){this._time_order(d);for(var h,p=[],v=[[],[],[],[],[],[],[]],g=this._colsS.heights,c=this._cols.length,u={},f=0;f<d.length;f++){var y=d[f],w=y.id;u[w]||(u[w]={first_chunk:!0,last_chunk:!0});var D=u[w],M=h||y.start_date,k=y.end_date;M<this._min_date&&(D.first_chunk=!1,M=this._min_date),k>this._max_date&&(D.last_chunk=!1,k=this._max_date);var N=this.locate_holder_day(M,!1,y);if(y._sday=N%c,!this._ignores[y._sday]||!y._timed){var m=this.locate_holder_day(k,!0,y)||c;if(y._eday=m%c||c,y._length=m-N,y._sweek=Math.floor((this._correct_shift(M.valueOf(),1)-this._min_date.valueOf())/(864e5*c)),r._is_any_multiday_cell_visible(M,k,y)){var x,b=v[y._sweek];for(x=0;x<b.length&&!(b[x]._eday<=y._sday);x++);if(y._sorder&&l||(y._sorder=x),y._sday+y._length<=c)h=null,p.push(y),b[x]=y,g[y._sweek]=b.length-1,y._first_chunk=D.first_chunk,y._last_chunk=D.last_chunk;else{var E=this._copy_event(y);E.id=y.id,E._length=c-y._sday,E._eday=c,E._sday=y._sday,E._sweek=y._sweek,E._sorder=y._sorder,E.end_date=this.date.add(M,E._length,"day"),E._first_chunk=D.first_chunk,D.first_chunk&&(D.first_chunk=!1),p.push(E),b[x]=E,h=E.end_date,g[y._sweek]=b.length-1,f--}}else h=null}}return p},r._copy_dummy=function(){var d=new Date(this.start_date),l=new Date(this.end_date);this.start_date=d,this.end_date=l},r._copy_event=function(d){return this._copy_dummy.prototype=d,new this._copy_dummy},r._rendered=[],r.clear_view=function(){for(var d=0;d<this._rendered.length;d++){var l=this._rendered[d];l.parentNode&&l.parentNode.removeChild(l)}this._rendered=[]},r.updateEvent=function(d){var l=this.getEvent(d);this.clear_event(d),l&&this.is_visible_events(l)&&this.filter_event(d,l)&&(this._table_view||this.config.multi_day||l._timed)&&(this.config.update_render?this.render_view_data():this.getState().mode!="month"||this.getState().drag_id||this.isOneDayEvent(l)?this.render_view_data([l],!0):this.render_view_data())},r.clear_event=function(d){this.for_rendered(d,function(l,h){l.parentNode&&l.parentNode.removeChild(l),r._rendered.splice(h,1)})},r._y_from_date=function(d){var l=60*d.getHours()+d.getMinutes();return Math.round((60*l*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px)},r._calc_event_y=function(d,l){l=l||0;var h=60*d.start_date.getHours()+d.start_date.getMinutes(),p=60*d.end_date.getHours()+d.end_date.getMinutes()||60*r.config.last_hour;return{top:this._y_from_date(d.start_date),height:Math.max(l,(p-h)*this.config.hour_size_px/60)}},r.render_event=function(d,l,h){var p=r.xy.menu_width,v=this.config.use_select_menu_space?0:p;if(!(d._sday<0)){var g=r.locate_holder(d._sday);if(g){l=l||g;var c=this._calc_event_y(d,r.xy.min_event_height),u=c.top,f=c.height,y=d._count||1,w=d._sorder||0;h=h||g.clientWidth,this.config.day_column_padding&&(h-=this.config.day_column_padding);var D=Math.floor((h-v)/y),M=w*D+1;if(d._inner||(D*=y-w),this.config.cascade_event_display){const A=this.config.cascade_event_count,C=this.config.cascade_event_margin;let $,H=(y-w-1)%A*C,O=w%A*C;y*C<h-this.config.day_column_padding?$=d._inner?H/2:0:($=d._inner?H/3:0,M=O/3,y*C/2>h-this.config.day_column_padding&&($=d._inner?H/A:0,M=O/A)),D=Math.floor(h-v-M-$)}d._mode=f<30?"smallest":f<42?"small":null;var k=this._render_v_bar(d,v+M,u,D,f,d._text_style,r.templates.event_header(d.start_date,d.end_date,d),r.templates.event_text(d.start_date,d.end_date,d));if(d._mode==="smallest"?k.classList.add("dhx_cal_event--xsmall"):d._mode==="small"&&k.classList.add("dhx_cal_event--small"),this._waiAria.eventAttr(d,k),this._rendered.push(k),l.appendChild(k),M=M+parseInt(this.config.rtl?g.style.right:g.style.left,10)+v,this._edit_id==d.id){k.style.zIndex=1,D=Math.max(D,r.xy.editor_width),(k=document.createElement("div")).setAttribute("event_id",d.id),k.setAttribute(this.config.event_attribute,d.id),this._waiAria.eventAttr(d,k),k.className="dhx_cal_event dhx_cal_editor",this.config.rtl&&M++,this.set_xy(k,D,f,M,u),d.color&&k.style.setProperty("--dhx-scheduler-event-background",d.color);var N=r.templates.event_class(d.start_date,d.end_date,d);N&&(k.className+=" "+N);var m=document.createElement("div");m.style.cssText+="overflow:hidden;height:100%",k.appendChild(m),this._els.dhx_cal_data[0].appendChild(k),this._rendered.push(k),m.innerHTML="<textarea class='dhx_cal_editor'>"+d.text+"</textarea>",this._editor=m.querySelector("textarea"),r.event(this._editor,"keydown",function(A){if(A.shiftKey)return!0;var C=A.keyCode;C==r.keys.edit_save&&r.editStop(!0),C==r.keys.edit_cancel&&r.editStop(!1),C!=r.keys.edit_save&&C!=r.keys.edit_cancel||A.preventDefault&&A.preventDefault()}),r.event(this._editor,"selectstart",function(A){return A.cancelBubble=!0,!0}),r._focus(this._editor,!0),this._els.dhx_cal_data[0].scrollLeft=0}if(this.xy.menu_width!==0&&this._select_id==d.id){this.config.cascade_event_display&&this._drag_mode&&(k.style.zIndex=1);for(var x,b=this.config["icons_"+(this._edit_id==d.id?"edit":"select")],E="",S=0;S<b.length;S++){const A=b[S];x=this._waiAria.eventMenuAttrString(A),E+=`<div class='dhx_menu_icon ${A}' title='${this.locale.labels[A]}' ${x}></div>`}var T=this._render_v_bar(d,M-p-1,u,p,null,"","<div class='dhx_menu_head'></div>",E,!0);d.color&&T.style.setProperty("--dhx-scheduler-event-background",d.color),d.textColor&&T.style.setProperty("--dhx-scheduler-event-color",d.textColor),this._els.dhx_cal_data[0].appendChild(T),this._rendered.push(T)}this.config.drag_highlight&&this._drag_id==d.id&&this.highlightEventPosition(d)}}},r._render_v_bar=function(d,l,h,p,v,g,c,u,f){var y=document.createElement("div"),w=d.id,D=f?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event",M=r.getState();M.drag_id==d.id&&(D+=" dhx_cal_event_drag"),M.select_id==d.id&&(D+=" dhx_cal_event_selected");var k=r.templates.event_class(d.start_date,d.end_date,d);k&&(D=D+" "+k),this.config.cascade_event_display&&(D+=" dhx_cal_event_cascade");var N=p-1,m=`<div event_id="${w}" ${this.config.event_attribute}="${w}" class="${D}" |
| 33 | style="position:absolute; top:${h}px; ${this.config.rtl?"right:":"left:"}${l}px; width:${N}px; height:${v}px; ${g||""}" |
| 34 | data-bar-start="${d.start_date.valueOf()}" data-bar-end="${d.end_date.valueOf()}"> |
| 35 | </div>`;y.innerHTML=m;var x=y.cloneNode(!0).firstChild;if(!f&&r.renderEvent(x,d,p,v,c,u))return d.color&&x.style.setProperty("--dhx-scheduler-event-background",d.color),d.textColor&&x.style.setProperty("--dhx-scheduler-event-color",d.textColor),x;x=y.firstChild,d.color&&x.style.setProperty("--dhx-scheduler-event-background",d.color),d.textColor&&x.style.setProperty("--dhx-scheduler-event-color",d.textColor);var b='<div class="dhx_event_move dhx_header" > </div>';b+='<div class="dhx_event_move dhx_title">'+c+"</div>",b+='<div class="dhx_body">'+u+"</div>";var E="dhx_event_resize dhx_footer";return(f||d._drag_resize===!1)&&(E="dhx_resize_denied "+E),b+='<div class="'+E+'" style=" width:'+(f?" margin-top:-1px;":"")+'" ></div>',x.innerHTML=b,x},r.renderEvent=function(){return!1},r.locate_holder=function(d){return this._mode=="day"?this._els.dhx_cal_data[0].firstChild:this._els.dhx_cal_data[0].childNodes[d]},r.locate_holder_day=function(d,l){var h=Math.floor((this._correct_shift(d,1)-this._min_date)/864e5);return l&&this.date.time_part(d)&&h++,h},r._get_dnd_order=function(d,l,h){if(!this._drag_event)return d;this._drag_event._orig_sorder?d=this._drag_event._orig_sorder:this._drag_event._orig_sorder=d;for(var p=l*d;p+l>h;)d--,p-=l;return Math.max(d,0)},r._get_event_bar_pos=function(d){var l=this.config.rtl,h=this._colsS,p=h[d._sday],v=h[d._eday];l&&(p=h[h.col_length]-h[d._eday]+h[0],v=h[h.col_length]-h[d._sday]+h[0]),v==p&&(v=h[d._eday+1]);var g=this.xy.bar_height,c=d._sorder;if(d.id==this._drag_id){var u=h.heights[d._sweek+1]-h.heights[d._sweek]-this.xy.month_head_height;c=r._get_dnd_order(c,g,u)}var f=c*g;return{x:p,x2:v,y:h.heights[d._sweek]+(h.height?this.xy.month_scale_height+2:2)+f}},r.render_event_bar=function(d){var l=this._rendered_location,h=this._get_event_bar_pos(d),p=h.y,v=h.x,g=h.x2,c="";if(g){var u=r.config.resize_month_events&&this._mode=="month"&&(!d._timed||r.config.resize_month_timed),f=document.createElement("div"),y=d.hasOwnProperty("_first_chunk")&&d._first_chunk,w=d.hasOwnProperty("_last_chunk")&&d._last_chunk,D=u&&(d._timed||y),M=u&&(d._timed||w),k=!0,N="dhx_cal_event_clear";d._timed&&!u||(k=!1,N="dhx_cal_event_line"),y&&(N+=" dhx_cal_event_line_start"),w&&(N+=" dhx_cal_event_line_end"),D&&(c+="<div class='dhx_event_resize dhx_event_resize_start'></div>"),M&&(c+="<div class='dhx_event_resize dhx_event_resize_end'></div>");var m=r.templates.event_class(d.start_date,d.end_date,d);m&&(N+=" "+m);var x=d.color?"--dhx-scheduler-event-background:"+d.color+";":"",b=d.textColor?"--dhx-scheduler-event-color:"+d.textColor+";":"",E=["position:absolute","top:"+p+"px","left:"+v+"px","width:"+(g-v-(k?1:0))+"px","height:"+(this.xy.bar_height-2)+"px",b,x,d._text_style||""].join(";"),S="<div event_id='"+d.id+"' "+this.config.event_attribute+"='"+d.id+"' class='"+N+"' style='"+E+"'"+this._waiAria.eventBarAttrString(d)+">";u&&(S+=c),r.getState().mode!="month"||d._beforeEventChangedFlag||(d=r.getEvent(d.id)),d._timed&&(S+=`<span class='dhx_cal_event_clear_date'>${r.templates.event_bar_date(d.start_date,d.end_date,d)}</span>`),S+="<div class='dhx_cal_event_line_content'>",S+=r.templates.event_bar_text(d.start_date,d.end_date,d)+"</div>",S+="</div>",S+="</div>",f.innerHTML=S,this._rendered.push(f.firstChild),l.appendChild(f.firstChild)}},r._locate_event=function(d){for(var l=null;d&&!l&&d.getAttribute;)l=d.getAttribute(this.config.event_attribute),d=d.parentNode;return l},r.edit=function(d){this._edit_id!=d&&(this.editStop(!1,d),this._edit_id=d,this.updateEvent(d))},r.editStop=function(d,l){if(!l||this._edit_id!=l){var h=this.getEvent(this._edit_id);h&&(d&&(h.text=this._editor.value),this._edit_id=null,this._editor=null,this.updateEvent(h.id),this._edit_stop_event(h,d))}},r._edit_stop_event=function(d,l){this._new_event?(l?this.callEvent("onEventAdded",[d.id,d]):d&&this.deleteEvent(d.id,!0),delete d.$new,this._new_event=null):l&&this.callEvent("onEventChanged",[d.id,d])},r.getEvents=function(d,l){var h=[];for(var p in this._events){var v=this._events[p];v&&(!d&&!l||v.start_date<l&&v.end_date>d)&&h.push(v)}return h},r.getRenderedEvent=function(d){if(d){for(var l=r._rendered,h=0;h<l.length;h++){var p=l[h];if(p.getAttribute(r.config.event_attribute)==d)return p}return null}},r.showEvent=function(d,l){d&&typeof d=="object"&&(l=d.mode,w=d.section,d=d.section);var h=typeof d=="number"||typeof d=="string"?r.getEvent(d):d;if(l=l||r._mode,h&&(!this.checkEvent("onBeforeEventDisplay")||this.callEvent("onBeforeEventDisplay",[h,l]))){var p=r.config.scroll_hour;r.config.scroll_hour=h.start_date.getHours();var v=r.config.preserve_scroll;r.config.preserve_scroll=!1;var g=h.color,c=h.textColor;if(r.config.highlight_displayed_event&&(h.color=r.config.displayed_event_color,h.textColor=r.config.displayed_event_text_color),r.setCurrentView(new Date(h.start_date),l),r.config.scroll_hour=p,r.config.preserve_scroll=v,r.matrix&&r.matrix[l]){var u=r.getView(),f=u.y_property,y=r.getEvent(h.id);if(y){if(!w){var w=y[f];Array.isArray(w)?w=w[0]:typeof w=="string"&&r.config.section_delimiter&&w.indexOf(r.config.section_delimiter)>-1&&(w=w.split(r.config.section_delimiter)[0])}var D=u.getSectionTop(w),M=u.posFromDate(y.start_date),k=r.$container.querySelector(".dhx_timeline_data_wrapper");if(M-=(k.offsetWidth-u.dx)/2,D=D-k.offsetHeight/2+u.dy/2,u._smartRenderingEnabled())var N=u.attachEvent("onScroll",function(){m(),u.detachEvent(N)});u.scrollTo({left:M,top:D}),u._smartRenderingEnabled()||m()}}else m();r.callEvent("onAfterEventDisplay",[h,l])}function m(){h.color=g,h.textColor=c}}}(i),function(r){r._append_drag_marker=function(d){if(!d.parentNode){var l=r._els.dhx_cal_data[0].lastChild,h=r._getClassName(l);h.indexOf("dhx_scale_holder")<0&&l.previousSibling&&(l=l.previousSibling),h=r._getClassName(l),l&&h.indexOf("dhx_scale_holder")===0&&l.appendChild(d)}},r._update_marker_position=function(d,l){var h=r._calc_event_y(l,0);d.style.top=h.top+"px",d.style.height=h.height+"px"},r.highlightEventPosition=function(d){var l=document.createElement("div");l.setAttribute("event_id",d.id),l.setAttribute(this.config.event_attribute,d.id),this._rendered.push(l),this._update_marker_position(l,d);var h=this.templates.drag_marker_class(d.start_date,d.end_date,d),p=this.templates.drag_marker_content(d.start_date,d.end_date,d);l.className="dhx_drag_marker",h&&(l.className+=" "+h),p&&(l.innerHTML=p),this._append_drag_marker(l)}}(i),Ft(i),Bt(i),Jt(i),function(r){r.getRootView=function(){return{view:{render:function(){return{tag:"div",type:1,attrs:{style:"width:100%;height:100%;"},hooks:{didInsert:function(){r.setCurrentView()}},body:[{el:this.el,type:1}]}},init:function(){var d=document.createElement("DIV");d.id="scheduler_"+r.uid(),d.style.width="100%",d.style.height="100%",d.classList.add("dhx_cal_container"),d.cmp="grid",d.innerHTML='<div class="dhx_cal_navline"><div class="dhx_cal_prev_button"></div><div class="dhx_cal_next_button"></div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_cal_tab" data-tab="day"></div><div class="dhx_cal_tab" data-tab="week"></div><div class="dhx_cal_tab" data-tab="month"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div>',r.init(d),this.el=d}},type:4}}}(i),Wt(i),typeof window<"u"&&window.jQuery&&(n=window.jQuery,s=0,a=[],n.fn.dhx_scheduler=function(r){if(typeof r!="string"){var d=[];return this.each(function(){if(this&&this.getAttribute)if(this.getAttribute("dhxscheduler"))d.push(window[this.getAttribute("dhxscheduler")]);else{var l="scheduler";s&&(l="scheduler"+(s+1),window[l]=Scheduler.getSchedulerInstance());var h=window[l];for(var p in this.setAttribute("dhxscheduler",l),r)p!="data"&&(h.config[p]=r[p]);this.getElementsByTagName("div").length||(this.innerHTML='<div class="dhx_cal_navline"><div class="dhx_cal_prev_button"></div><div class="dhx_cal_next_button"></div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_cal_tab" name="day_tab" data-tab="day" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" data-tab="week" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" data-tab="month" style="right:76px;"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div>',this.className+=" dhx_cal_container"),h.init(this,h.config.date,h.config.mode),r.data&&h.parse(r.data),d.push(h),s++}}),d.length===1?d[0]:d}if(a[r])return a[r].apply(this,[]);n.error("Method "+r+" does not exist on jQuery.dhx_scheduler")}),function(r){(function(){var d=r.setCurrentView,l=r.updateView,h=null,p=null,v=function(u,f){var y=this;Q.clearTimeout(p),Q.clearTimeout(h);var w=y._date,D=y._mode;c(this,u,f),p=setTimeout(function(){r.$destroyed||(y.callEvent("onBeforeViewChange",[D,w,f||y._mode,u||y._date])?(l.call(y,u,f),y.callEvent("onViewChange",[y._mode,y._date]),Q.clearTimeout(h),p=0):c(y,w,D))},r.config.delay_render)},g=function(u,f){var y=this,w=arguments;c(this,u,f),Q.clearTimeout(h),h=setTimeout(function(){r.$destroyed||p||l.apply(y,w)},r.config.delay_render)};function c(u,f,y){f&&(u._date=f),y&&(u._mode=y)}r.attachEvent("onSchedulerReady",function(){r.config.delay_render?(r.setCurrentView=v,r.updateView=g):(r.setCurrentView=d,r.updateView=l)})})()}(i),function(r){r.createDataProcessor=function(d){var l,h;d instanceof Function?l=d:d.hasOwnProperty("router")?l=d.router:d.hasOwnProperty("event")&&(l=d),h=l?"CUSTOM":d.mode||"REST-JSON";var p=new $e(d.url);return p.init(r),p.setTransactionMode({mode:h,router:l},d.batchUpdate),p},r.DataProcessor=$e}(i),function(r){r.attachEvent("onSchedulerReady",function(){typeof dhtmlxError<"u"&&window.dhtmlxError.catchError("LoadXML",function(d,l,h){var p=h[0].responseText;switch(r.config.ajax_error){case"alert":Q.alert(p);break;case"console":Q.console.log(p)}})})}(i);const o=new Xt(Zt);i.i18n={addLocale:o.addLocale,setLocale:function(r){if(typeof r=="string"){var d=o.getLocale(r);d||(d=o.getLocale("en")),i.locale=d}else if(r)if(i.locale)for(var l in r)r[l]&&typeof r[l]=="object"?(i.locale[l]||(i.locale[l]={}),i.mixin(i.locale[l],r[l],!0)):i.locale[l]=r[l];else i.locale=r;var h=i.locale.labels;h.dhx_save_btn=h.icon_save,h.dhx_cancel_btn=h.icon_cancel,h.dhx_delete_btn=h.icon_delete,i.$container&&i.get_elements()},getLocale:o.getLocale},i.i18n.setLocale("en"),i.ext={},Lt(i);const _={};return i.plugins=function(r){return function(l,h,p){const v=[];for(const g in l)if(l[g]){const c=g.toLowerCase();h[c]&&h[c].forEach(function(u){const f=u.toLowerCase();l[f]||v.push(f)}),v.push(c)}return v.sort(function(g,c){const u=p[g]||0,f=p[c]||0;return u>f?1:u<f?-1:0}),v}(r,{treetimeline:["timeline"],daytimeline:["timeline"],outerdrag:["legacy"]},{legacy:1,limit:1,timeline:2,daytimeline:3,treetimeline:3,outerdrag:6}).forEach(function(l){if(!_[l]){const h=e.getExtension(l);if(!h)throw new Error("unknown plugin "+l);h(i),_[l]=!0}}),_},i.plugins({all_timed:"short"}),i}class ta{constructor(i){this._extensions={};for(const t in i)this._extensions[t]=i[t]}addExtension(i,t){this._extensions[i]=t}getExtension(i){return this._extensions[i]}}typeof dhtmlx<"u"&&dhtmlx.attaches&&(dhtmlx.attaches.attachScheduler=function(e,i,t,n){t=t||'<div class="dhx_cal_tab" name="day_tab" data-tab="day" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" data-tab="week" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" data-tab="month" style="right:76px;"></div>';var s=document.createElement("DIV");return s.id="dhxSchedObj_"+this._genStr(12),s.innerHTML='<div id="'+s.id+'" class="dhx_cal_container" style="width:100%; height:100%;"><div class="dhx_cal_navline"><div class="dhx_cal_prev_button"></div><div class="dhx_cal_next_button"></div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div>'+t+'</div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div></div>',document.body.appendChild(s.firstChild),this.attachObject(s.id,!1,!0),this.vs[this.av].sched=n,this.vs[this.av].schedId=s.id,n.setSizes=n.updateView,n.destructor=function(){},n.init(s.id,e,i),this.vs[this._viewRestore()].sched});const he=(e,i)=>{i(!1,`The ${e} extension is not included in this version of dhtmlxScheduler.<br> |
| 36 | You may need a <a href="https://docs.dhtmlx.com/scheduler/editions_comparison.html" target="_blank">Professional version of the component</a>.<br> |
| 37 | Contact us at <a href="https://dhtmlx.com/docs/contact.shtml" target="_blank">https://dhtmlx.com/docs/contact.shtml</a> if you have any questions.`)};function aa(e){(function(){var i=[];function t(){return!!i.length}function n(_){setTimeout(function(){if(e.$destroyed)return!0;t()||function(r,d){for(;r&&r!=d;)r=r.parentNode;return r==d}(document.activeElement,e.$container)||e.focus()},1)}function s(_){var r=(_=_||window.event).currentTarget;r==i[i.length-1]&&e.$keyboardNavigation.trapFocus(r,_)}if(e.attachEvent("onLightbox",function(){var _;_=e.getLightbox(),e.eventRemove(_,"keydown",s),e.event(_,"keydown",s),i.push(_)}),e.attachEvent("onAfterLightbox",function(){var _=i.pop();_&&e.eventRemove(_,"keydown",s),n()}),e.attachEvent("onAfterQuickInfo",function(){n()}),!e._keyNavMessagePopup){e._keyNavMessagePopup=!0;var a=null,o=null;const _=[];e.attachEvent("onMessagePopup",function(r){for(a=document.activeElement,o=a;o&&e._getClassName(o).indexOf("dhx_cal_data")<0;)o=o.parentNode;o&&(o=o.parentNode),e.eventRemove(r,"keydown",s),e.event(r,"keydown",s),_.push(r)}),e.attachEvent("onAfterMessagePopup",function(){var r=_.pop();r&&e.eventRemove(r,"keydown",s),setTimeout(function(){if(e.$destroyed)return!0;for(var d=document.activeElement;d&&e._getClassName(d).indexOf("dhx_cal_light")<0;)d=d.parentNode;d||(a&&a.parentNode?a.focus():o&&o.parentNode&&o.focus(),a=null,o=null)},1)})}e.$keyboardNavigation.isModal=t})()}function na(e){e._temp_key_scope=function(){e.config.key_nav=!0,e.$keyboardNavigation._pasteDate=null,e.$keyboardNavigation._pasteSection=null;var i=null,t={};function n(o){o=o||window.event,t.x=o.clientX,t.y=o.clientY}function s(){for(var o,_,r=document.elementFromPoint(t.x,t.y);r&&r!=e._obj;)r=r.parentNode;return o=r==e._obj,_=e.$keyboardNavigation.dispatcher.isEnabled(),o||_}function a(o){return e._lame_copy({},o)}document.body?e.event(document.body,"mousemove",n):e.event(window,"load",function(){e.event(document.body,"mousemove",n)}),e.attachEvent("onMouseMove",function(o,_){var r=e.getState();if(r.mode&&r.min_date){var d=e.getActionData(_);e.$keyboardNavigation._pasteDate=d.date,e.$keyboardNavigation._pasteSection=d.section}}),e._make_pasted_event=function(o){var _=e.$keyboardNavigation._pasteDate,r=e.$keyboardNavigation._pasteSection,d=o.end_date-o.start_date,l=a(o);if(function(p){delete p.rec_type,delete p.rec_pattern,delete p.event_pid,delete p.event_length}(l),l.start_date=new Date(_),l.end_date=new Date(l.start_date.valueOf()+d),r){var h=e._get_section_property();e.config.multisection&&o[h]&&e.isMultisectionEvent&&e.isMultisectionEvent(o)?l[h]=o[h]:l[h]=r}return l},e._do_paste=function(o,_,r){e.callEvent("onBeforeEventPasted",[o,_,r])!==!1&&(e.addEvent(_),e.callEvent("onEventPasted",[o,_,r]))},e._is_key_nav_active=function(){return!(!this._is_initialized()||this._is_lightbox_open()||!this.config.key_nav)},e.event(document,"keydown",function(o){(o.ctrlKey||o.metaKey)&&o.keyCode==86&&e._buffer_event&&!e.$keyboardNavigation.dispatcher.isEnabled()&&(e.$keyboardNavigation.dispatcher.isActive=s())}),e._key_nav_copy_paste=function(o){if(!e._is_key_nav_active())return!0;if(o.keyCode==37||o.keyCode==39){o.cancelBubble=!0;var _=e.date.add(e._date,o.keyCode==37?-1:1,e._mode);return e.setCurrentView(_),!0}var r,d=(r=e.$keyboardNavigation.dispatcher.getActiveNode())&&r.eventId?r.eventId:e._select_id;if((o.ctrlKey||o.metaKey)&&o.keyCode==67)return d&&(e._buffer_event=a(e.getEvent(d)),i=!0,e.callEvent("onEventCopied",[e.getEvent(d)])),!0;if((o.ctrlKey||o.metaKey)&&o.keyCode==88&&d){i=!1;var l=e._buffer_event=a(e.getEvent(d));e.updateEvent(l.id),e.callEvent("onEventCut",[l])}if((o.ctrlKey||o.metaKey)&&o.keyCode==86&&s()){if(l=(l=e._buffer_event?e.getEvent(e._buffer_event.id):e._buffer_event)||e._buffer_event){var h=e._make_pasted_event(l);i?(h.id=e.uid(),e._do_paste(i,h,l)):e.callEvent("onBeforeEventChanged",[h,o,!1,l])&&(e._do_paste(i,h,l),i=!0)}return!0}}},e._temp_key_scope()}function ra(e){e.$keyboardNavigation.attachSchedulerHandlers=function(){var i,t=e.$keyboardNavigation.dispatcher,n=function(r){if(e.config.key_nav)return t.keyDownHandler(r)},s=function(){t.keepScrollPosition(function(){t.focusGlobalNode()})};e.attachEvent("onDataRender",function(){e.config.key_nav&&t.isEnabled()&&!e.getState().editor_id&&(clearTimeout(i),i=setTimeout(function(){if(e.$destroyed)return!0;t.isEnabled()||t.enable(),a()}))});var a=function(){if(t.isEnabled()){var r=t.getActiveNode();r&&(r.isValid()||(r=r.fallback()),!r||r instanceof e.$keyboardNavigation.MinicalButton||r instanceof e.$keyboardNavigation.MinicalCell||t.keepScrollPosition(function(){r.focus(!0)}))}};function o(r){if(!e.config.key_nav)return!0;const d=e.getView();let l=!1;if(e.getState().mode==="month")l=e.$keyboardNavigation.isChildOf(r.target||r.srcElement,e.$container.querySelector(".dhx_cal_month_table"));else if(d&&d.layout==="timeline")l=e.$keyboardNavigation.isChildOf(r.target||r.srcElement,e.$container.querySelector(".dhx_timeline_data_col"));else{const v=e.$container.querySelectorAll(".dhx_scale_holder");l=Array.from(v).some(g=>g===r.target.parentNode)}var h,p=e.getActionData(r);e._locate_event(r.target||r.srcElement)?h=new e.$keyboardNavigation.Event(e._locate_event(r.target||r.srcElement)):l&&(h=new e.$keyboardNavigation.TimeSlot,p.date&&l&&(h=h.nextSlot(new e.$keyboardNavigation.TimeSlot(p.date,null,p.section)))),h&&(t.isEnabled()?p.date&&l&&t.delay(function(){t.setActiveNode(h)}):t.activeNode=h)}e.attachEvent("onSchedulerReady",function(){var r=e.$container;e.eventRemove(document,"keydown",n),e.eventRemove(r,"mousedown",o),e.eventRemove(r,"focus",s),e.config.key_nav?(e.event(document,"keydown",n),e.event(r,"mousedown",o),e.event(r,"focus",s),r.setAttribute("tabindex","0")):r.removeAttribute("tabindex")});var _=e.updateEvent;e.updateEvent=function(r){var d=_.apply(this,arguments);if(e.config.key_nav&&t.isEnabled()&&e.getState().select_id==r){var l=new e.$keyboardNavigation.Event(r);e.getState().lightbox_id||function(h){if(e.config.key_nav&&t.isEnabled()){var p=h,v=new e.$keyboardNavigation.Event(p.eventId);if(!v.isValid()){var g=v.start||p.start,c=v.end||p.end,u=v.section||p.section;(v=new e.$keyboardNavigation.TimeSlot(g,c,u)).isValid()||(v=new e.$keyboardNavigation.TimeSlot)}t.setActiveNode(v);var f=t.getActiveNode();f&&f.getNode&&document.activeElement!=f.getNode()&&t.focusNode(t.getActiveNode())}}(l)}return d},e.attachEvent("onEventDeleted",function(r){return e.config.key_nav&&t.isEnabled()&&t.getActiveNode().eventId==r&&t.setActiveNode(new e.$keyboardNavigation.TimeSlot),!0}),e.attachEvent("onClearAll",function(){if(!e.config.key_nav)return!0;t.isEnabled()&&t.getActiveNode()instanceof e.$keyboardNavigation.Event&&t.setActiveNode(new e.$keyboardNavigation.TimeSlot)})}}class ia{constructor(i){this.map=null,this._markers=[],this.scheduler=i}onEventClick(i){if(this._markers&&this._markers.length>0){for(let t=0;t<this._markers.length;t++)if(i.id==this._markers[t].event.id){let n=this.settings.zoom_after_resolve||this.settings.initial_zoom;i.lat&&i.lng?(this.map.setCenter({lat:i.lat,lng:i.lng}),this.map.setZoom(n)):(this.map.setCenter({lat:this.settings.error_position.lat,lng:this.settings.error_position.lng}),this.map.setZoom(n)),google.maps.event.trigger(this._markers[t].marker,"click")}}}initialize(i,t){this.settings=t;let n=this.scheduler,s={center:{lat:t.initial_position.lat,lng:t.initial_position.lng},zoom:t.initial_zoom,mapId:i.id,scrollwheel:!0,mapTypeId:t.type};if(this.map===null)this.map=new google.maps.Map(i,s);else{let a=this.map;i.appendChild(this.map.__gm.messageOverlay),i.appendChild(this.map.__gm.outerContainer),setTimeout(function(){a.setOptions({container:i.id})},500)}google.maps.event.addListener(this.map,"dblclick",function(a){const o=new google.maps.Geocoder;if(!n.config.readonly&&n.config.dblclick_create){let _=a.latLng;o.geocode({latLng:_},function(r,d){d==google.maps.GeocoderStatus.OK?(_=r[0].geometry.location,n.addEventNow({lat:_.lat(),lng:_.lng(),event_location:r[0].formatted_address,start_date:n.getState().date,end_date:n.date.add(n.getState().date,n.config.time_step,"minute")})):console.error("Geocode was not successful for the following reason: "+d)})}})}destroy(i){for(google.maps.event.clearInstanceListeners(window),google.maps.event.clearInstanceListeners(document),google.maps.event.clearInstanceListeners(i);i.firstChild;)i.firstChild.remove();i.innerHTML=""}async addEventMarker(i){let t={title:i.text,position:{},map:{}};i.lat&&i.lng?t.position={lat:i.lat,lng:i.lng}:t.position={lat:this.settings.error_position.lat,lng:this.settings.error_position.lng};const{AdvancedMarkerElement:n}=await google.maps.importLibrary("marker");let s;this.scheduler.ext.mapView.createMarker?(t.map=this.map,s=this.scheduler.ext.mapView.createMarker(t)):(s=new n(t),s.map=this.map),s.setMap(this.map),i["!nativeeditor_status"]=="true_deleted"&&s.setMap(null),google.maps.event.addListener(s,"click",()=>{this.infoWindow&&this.infoWindow.close(),this.infoWindow=new google.maps.InfoWindow({maxWidth:this.settings.info_window_max_width}),this.infoWindow.setContent(this.scheduler.templates.map_info_content(i)),this.infoWindow.open({anchor:s,map:this.map})});let a={event:i,...t,marker:s};this._markers.push(a)}removeEventMarker(i){for(let t=0;t<this._markers.length;t++)i==this._markers[t].event.id&&(this._markers[t].marker.setVisible(!1),this._markers[t].marker.setMap(null),this._markers[t].marker.setPosition(null),this._markers[t].marker=null,this._markers.splice(t,1),t--)}updateEventMarker(i){for(let t=0;t<this._markers.length;t++)if(this._markers[t].event.id==i.id){this._markers[t].event=i,this._markers[t].position.lat=i.lat,this._markers[t].position.lng=i.lng,this._markers[t].text=i.text;let n=new google.maps.LatLng(i.lat,i.lng);this._markers[t].marker.setPosition(n)}}clearEventMarkers(){if(this._markers.length>0){for(let i=0;i<this._markers.length;i++)this._markers[i].marker.setMap(null);this._markers=[]}}setView(i,t,n){this.map.setCenter({lat:i,lng:t}),this.map.setZoom(n)}async resolveAddress(i){const t=new google.maps.Geocoder;return await new Promise(n=>{t.geocode({address:i},function(s,a){a==google.maps.GeocoderStatus.OK?n({lat:s[0].geometry.location.lat(),lng:s[0].geometry.location.lng()}):(console.error("Geocode was not successful for the following reason: "+a),n({}))})})}}class oa{constructor(i){this.map=null,this._markers=[],this.scheduler=i}onEventClick(i){if(this._markers&&this._markers.length>0)for(let t=0;t<this._markers.length;t++)i.id==this._markers[t].event.id&&(this._markers[t].marker.openPopup(),this._markers[t].marker.closeTooltip(),i.lat&&i.lng?this.setView(i.lat,i.lng,this.settings.zoom_after_resolve||this.settings.initial_zoom):this.setView(this.settings.error_position.lat,this.settings.error_position.lng,this.settings.zoom_after_resolve||this.settings.initial_zoom))}initialize(i,t){let n=this.scheduler,s=document.createElement("div");s.className="mapWrapper",s.id="mapWrapper",s.style.width=i.style.width,s.style.height=i.style.height,i.appendChild(s);let a=L.map(s,{center:L.latLng(t.initial_position.lat,t.initial_position.lng),zoom:t.initial_zoom,keyboard:!1});L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png").addTo(a),a.on("dblclick",async function(o){let _=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${o.latlng.lat}&lon=${o.latlng.lng}&format=json`,{method:"GET",headers:{"Accept-Language":"en"}}).then(r=>r.json());if(_.address){let r=_.address.country;n.addEventNow({lat:o.latlng.lat,lng:o.latlng.lng,event_location:r,start_date:n.getState().date,end_date:n.date.add(n.getState().date,n.config.time_step,"minute")})}else console.error("unable recieve a position of the event",_.error)}),this.map=a,this.settings=t}destroy(i){for(this.map.remove();i.firstChild;)i.firstChild.remove();i.innerHTML=""}addEventMarker(i){const t=L.icon({iconUrl:"https://unpkg.com/leaflet@1.0.3/dist/images/marker-icon.png",iconSize:[25,41],shadowSize:[30,65],iconAnchor:[12,41],shadowAnchor:[7,65]});let n={minWidth:180,maxWidth:this.settings.info_window_max_width};const s=L.popup(n).setContent(this.scheduler.templates.map_info_content(i)),a=L.tooltip().setContent(i.text);let o=[i.lat,i.lng];i.lat&&i.lng||(o=[this.settings.error_position.lat,this.settings.error_position.lng]);const _={event:i,marker:L.marker(o,{icon:t}).bindPopup(s).bindTooltip(a).addTo(this.map)};this._markers.push(_)}removeEventMarker(i){for(let t=0;t<this._markers.length;t++)i==this._markers[t].event.id&&(this.map.removeLayer(this._markers[t].marker),this._markers.splice(t,1),t--)}updateEventMarker(i){for(let t=0;t<this._markers.length;t++)this._markers[t].event.id==i.id&&(this._markers[t].event=i,i.lat&&i.lng?this._markers[t].marker.setLatLng([i.lat,i.lng]):this._markers[t].marker.setLatLng([this.settings.error_position.lat,this.settings.error_position.lng]))}clearEventMarkers(){if(this._markers){for(let i=0;i<this._markers.length;i++)this.map.removeLayer(this._markers[i].marker);this._markers=[]}}setView(i,t,n){this.map.setView([i,t],n)}async resolveAddress(i){let t={},n=await fetch(`https://nominatim.openstreetmap.org/search?q=${i}&format=json`,{method:"GET",headers:{"Accept-Language":"en"}}).then(s=>s.json());return n&&n.length?(t.lat=+n[0].lat,t.lng=+n[0].lon):console.error(`Unable recieve a position of the event's location: ${i}`),t}}class sa{constructor(i){this.map=null,this._markers=[],this.scheduler=i}onEventClick(i){if(this._markers&&this._markers.length>0)for(let t=0;t<this._markers.length;t++){const n=this._markers[t].marker.getPopup();n.isOpen()&&n.remove(),i.id==this._markers[t].event.id&&(this._markers[t].marker.togglePopup(),i.lat&&i.lng?this.setView(i.lat,i.lng,this.settings.zoom_after_resolve||this.settings.initial_zoom):this.setView(this.settings.error_position.lat,this.settings.error_position.lng,this.settings.zoom_after_resolve||this.settings.initial_zoom))}}initialize(i,t){let n=this.scheduler;mapboxgl.accessToken=t.accessToken;const s=new mapboxgl.Map({container:i,center:[t.initial_position.lng,t.initial_position.lat],zoom:t.initial_zoom+1});s.on("dblclick",async function(a){let o=await fetch(`https://api.mapbox.com/geocoding/v5/mapbox.places/${a.lngLat.lng},${a.lngLat.lat}.json?access_token=${t.accessToken}`).then(_=>_.json());if(o.features){let _=o.features[0].place_name;n.addEventNow({lat:a.lngLat.lat,lng:a.lngLat.lng,event_location:_,start_date:n.getState().date,end_date:n.date.add(n.getState().date,n.config.time_step,"minute")})}else console.error("unable recieve a position of the event")}),this.map=s,this.settings=t}destroy(i){for(this.map.remove();i.firstChild;)i.firstChild.remove();i.innerHTML=""}addEventMarker(i){let t=[i.lng,i.lat];i.lat&&i.lng||(t=[this.settings.error_position.lng,this.settings.error_position.lat]);const n=new mapboxgl.Popup({offset:25,focusAfterOpen:!1}).setMaxWidth(`${this.settings.info_window_max_width}px`).setHTML(this.scheduler.templates.map_info_content(i)),s={event:i,marker:new mapboxgl.Marker().setLngLat(t).setPopup(n).addTo(this.map)};this._markers.push(s)}removeEventMarker(i){for(let t=0;t<this._markers.length;t++)i==this._markers[t].event.id&&(this._markers[t].marker.remove(),this._markers.splice(t,1),t--)}updateEventMarker(i){for(let t=0;t<this._markers.length;t++)this._markers[t].event.id==i.id&&(this._markers[t].event=i,i.lat&&i.lng?this._markers[t].marker.setLngLat([i.lng,i.lat]):this._markers[t].marker.setLngLat([this.settings.error_position.lng,this.settings.error_position.lat]))}clearEventMarkers(){for(let i=0;i<this._markers.length;i++)this._markers[i].marker.remove();this._markers=[]}setView(i,t,n){this.map.setCenter([t,i]),this.map.setZoom(n)}async resolveAddress(i){let t=await fetch(`https://api.mapbox.com/geocoding/v5/mapbox.places/${i}.json?access_token=${this.settings.accessToken}`).then(s=>s.json()),n={};return t&&t.features.length?(n.lng=t.features[0].center[0],n.lat=t.features[0].center[1]):console.error(`Unable recieve a position of the event's location: ${i}`),n}}var He=["MO","TU","WE","TH","FR","SA","SU"],Z=function(){function e(i,t){if(t===0)throw new Error("Can't create weekday with n == 0");this.weekday=i,this.n=t}return e.fromStr=function(i){return new e(He.indexOf(i))},e.prototype.nth=function(i){return this.n===i?this:new e(this.weekday,i)},e.prototype.equals=function(i){return this.weekday===i.weekday&&this.n===i.n},e.prototype.toString=function(){var i=He[this.weekday];return this.n&&(i=(this.n>0?"+":"")+String(this.n)+i),i},e.prototype.getJsWeekday=function(){return this.weekday===6?0:this.weekday+1},e}(),J=function(e){return e!=null},ie=function(e){return typeof e=="number"},nt=function(e){return typeof e=="string"&&He.includes(e)},ee=Array.isArray,oe=function(e,i){i===void 0&&(i=e),arguments.length===1&&(i=e,e=0);for(var t=[],n=e;n<i;n++)t.push(n);return t},Y=function(e,i){var t=0,n=[];if(ee(e))for(;t<i;t++)n[t]=[].concat(e);else for(;t<i;t++)n[t]=e;return n},da=function(e){return ee(e)?e:[e]};function ye(e,i,t){t===void 0&&(t=" ");var n=String(e);return i|=0,n.length>i?String(n):((i-=n.length)>t.length&&(t+=Y(t,i/t.length)),t.slice(0,i)+String(n))}var ae=function(e,i){var t=e%i;return t*i<0?t+i:t},ze=function(e,i){return{div:Math.floor(e/i),mod:ae(e,i)}},se=function(e){return!J(e)||e.length===0},K=function(e){return!se(e)},F=function(e,i){return K(e)&&e.indexOf(i)!==-1},ge=function(e,i,t,n,s,a){return n===void 0&&(n=0),s===void 0&&(s=0),a===void 0&&(a=0),new Date(Date.UTC(e,i-1,t,n,s,a))},_a=[31,28,31,30,31,30,31,31,30,31,30,31],rt=864e5,it=ge(1970,1,1),la=[6,0,1,2,3,4,5],ke=function(e){return e%4==0&&e%100!=0||e%400==0},ot=function(e){return e instanceof Date},Ee=function(e){return ot(e)&&!isNaN(e.getTime())},qe=function(e){return i=it,t=e.getTime()-i.getTime(),Math.round(t/rt);var i,t},st=function(e){return new Date(it.getTime()+e*rt)},ca=function(e){var i=e.getUTCMonth();return i===1&&ke(e.getUTCFullYear())?29:_a[i]},be=function(e){return la[e.getUTCDay()]},dt=function(e,i){var t=ge(e,i+1,1);return[be(t),ca(t)]},_t=function(e,i){return i=i||e,new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()))},je=function(e){return new Date(e.getTime())},lt=function(e){for(var i=[],t=0;t<e.length;t++)i.push(je(e[t]));return i},De=function(e){e.sort(function(i,t){return i.getTime()-t.getTime()})},Ie=function(e,i){i===void 0&&(i=!0);var t=new Date(e);return[ye(t.getUTCFullYear().toString(),4,"0"),ye(t.getUTCMonth()+1,2,"0"),ye(t.getUTCDate(),2,"0"),"T",ye(t.getUTCHours(),2,"0"),ye(t.getUTCMinutes(),2,"0"),ye(t.getUTCSeconds(),2,"0"),i?"Z":""].join("")},Re=function(e){var i=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z?)?$/.exec(e);if(!i)throw new Error("Invalid UNTIL value: ".concat(e));return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10),parseInt(i[5],10)||0,parseInt(i[6],10)||0,parseInt(i[7],10)||0))},ct=function(e,i){return e.toLocaleString("sv-SE",{timeZone:i}).replace(" ","T")+"Z"},xe=function(){function e(i,t){this.minDate=null,this.maxDate=null,this._result=[],this.total=0,this.method=i,this.args=t,i==="between"?(this.maxDate=t.inc?t.before:new Date(t.before.getTime()-1),this.minDate=t.inc?t.after:new Date(t.after.getTime()+1)):i==="before"?this.maxDate=t.inc?t.dt:new Date(t.dt.getTime()-1):i==="after"&&(this.minDate=t.inc?t.dt:new Date(t.dt.getTime()+1))}return e.prototype.accept=function(i){++this.total;var t=this.minDate&&i<this.minDate,n=this.maxDate&&i>this.maxDate;if(this.method==="between"){if(t)return!0;if(n)return!1}else if(this.method==="before"){if(n)return!1}else if(this.method==="after")return!!t||(this.add(i),!1);return this.add(i)},e.prototype.add=function(i){return this._result.push(i),!0},e.prototype.getValue=function(){var i=this._result;switch(this.method){case"all":case"between":return i;default:return i.length?i[i.length-1]:null}},e.prototype.clone=function(){return new e(this.method,this.args)},e}(),Pe=function(e,i){return Pe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])},Pe(e,i)};function Ue(e,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function t(){this.constructor=e}Pe(e,i),e.prototype=i===null?Object.create(i):(t.prototype=i.prototype,new t)}var te=function(){return te=Object.assign||function(e){for(var i,t=1,n=arguments.length;t<n;t++)for(var s in i=arguments[t])Object.prototype.hasOwnProperty.call(i,s)&&(e[s]=i[s]);return e},te.apply(this,arguments)};function q(e,i,t){if(t||arguments.length===2)for(var n,s=0,a=i.length;s<a;s++)!n&&s in i||(n||(n=Array.prototype.slice.call(i,0,s)),n[s]=i[s]);return e.concat(n||Array.prototype.slice.call(i))}typeof SuppressedError=="function"&&SuppressedError;var V,ht=function(e){function i(t,n,s){var a=e.call(this,t,n)||this;return a.iterator=s,a}return Ue(i,e),i.prototype.add=function(t){return!!this.iterator(t,this._result.length)&&(this._result.push(t),!0)},i}(xe),Me={dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],tokens:{SKIP:/^[ \r\n\t]+|^\.$/,number:/^[1-9][0-9]*/,numberAsText:/^(one|two|three)/i,every:/^every/i,"day(s)":/^days?/i,"weekday(s)":/^weekdays?/i,"week(s)":/^weeks?/i,"hour(s)":/^hours?/i,"minute(s)":/^minutes?/i,"month(s)":/^months?/i,"year(s)":/^years?/i,on:/^(on|in)/i,at:/^(at)/i,the:/^the/i,first:/^first/i,second:/^second/i,third:/^third/i,nth:/^([1-9][0-9]*)(\.|th|nd|rd|st)/i,last:/^last/i,for:/^for/i,"time(s)":/^times?/i,until:/^(un)?til/i,monday:/^mo(n(day)?)?/i,tuesday:/^tu(e(s(day)?)?)?/i,wednesday:/^we(d(n(esday)?)?)?/i,thursday:/^th(u(r(sday)?)?)?/i,friday:/^fr(i(day)?)?/i,saturday:/^sa(t(urday)?)?/i,sunday:/^su(n(day)?)?/i,january:/^jan(uary)?/i,february:/^feb(ruary)?/i,march:/^mar(ch)?/i,april:/^apr(il)?/i,may:/^may/i,june:/^june?/i,july:/^july?/i,august:/^aug(ust)?/i,september:/^sep(t(ember)?)?/i,october:/^oct(ober)?/i,november:/^nov(ember)?/i,december:/^dec(ember)?/i,comma:/^(,\s*|(and|or)\s*)+/i}},ut=function(e,i){return e.indexOf(i)!==-1},ha=function(e){return e.toString()},ua=function(e,i,t){return"".concat(i," ").concat(t,", ").concat(e)},de=function(){function e(i,t,n,s){if(t===void 0&&(t=ha),n===void 0&&(n=Me),s===void 0&&(s=ua),this.text=[],this.language=n||Me,this.gettext=t,this.dateFormatter=s,this.rrule=i,this.options=i.options,this.origOptions=i.origOptions,this.origOptions.bymonthday){var a=[].concat(this.options.bymonthday),o=[].concat(this.options.bynmonthday);a.sort(function(l,h){return l-h}),o.sort(function(l,h){return h-l}),this.bymonthday=a.concat(o),this.bymonthday.length||(this.bymonthday=null)}if(J(this.origOptions.byweekday)){var _=ee(this.origOptions.byweekday)?this.origOptions.byweekday:[this.origOptions.byweekday],r=String(_);this.byweekday={allWeeks:_.filter(function(l){return!l.n}),someWeeks:_.filter(function(l){return!!l.n}),isWeekdays:r.indexOf("MO")!==-1&&r.indexOf("TU")!==-1&&r.indexOf("WE")!==-1&&r.indexOf("TH")!==-1&&r.indexOf("FR")!==-1&&r.indexOf("SA")===-1&&r.indexOf("SU")===-1,isEveryDay:r.indexOf("MO")!==-1&&r.indexOf("TU")!==-1&&r.indexOf("WE")!==-1&&r.indexOf("TH")!==-1&&r.indexOf("FR")!==-1&&r.indexOf("SA")!==-1&&r.indexOf("SU")!==-1};var d=function(l,h){return l.weekday-h.weekday};this.byweekday.allWeeks.sort(d),this.byweekday.someWeeks.sort(d),this.byweekday.allWeeks.length||(this.byweekday.allWeeks=null),this.byweekday.someWeeks.length||(this.byweekday.someWeeks=null)}else this.byweekday=null}return e.isFullyConvertible=function(i){if(!(i.options.freq in e.IMPLEMENTED)||i.origOptions.until&&i.origOptions.count)return!1;for(var t in i.origOptions){if(ut(["dtstart","tzid","wkst","freq"],t))return!0;if(!ut(e.IMPLEMENTED[i.options.freq],t))return!1}return!0},e.prototype.isFullyConvertible=function(){return e.isFullyConvertible(this.rrule)},e.prototype.toString=function(){var i=this.gettext;if(!(this.options.freq in e.IMPLEMENTED))return i("RRule error: Unable to fully convert this rrule to text");if(this.text=[i("every")],this[z.FREQUENCIES[this.options.freq]](),this.options.until){this.add(i("until"));var t=this.options.until;this.add(this.dateFormatter(t.getUTCFullYear(),this.language.monthNames[t.getUTCMonth()],t.getUTCDate()))}else this.options.count&&this.add(i("for")).add(this.options.count.toString()).add(this.plural(this.options.count)?i("times"):i("time"));return this.isFullyConvertible()||this.add(i("(~ approximate)")),this.text.join("")},e.prototype.HOURLY=function(){var i=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?i("hours"):i("hour"))},e.prototype.MINUTELY=function(){var i=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?i("minutes"):i("minute"))},e.prototype.DAILY=function(){var i=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()),this.byweekday&&this.byweekday.isWeekdays?this.add(this.plural(this.options.interval)?i("weekdays"):i("weekday")):this.add(this.plural(this.options.interval)?i("days"):i("day")),this.origOptions.bymonth&&(this.add(i("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday?this._byweekday():this.origOptions.byhour&&this._byhour()},e.prototype.WEEKLY=function(){var i=this.gettext;this.options.interval!==1&&this.add(this.options.interval.toString()).add(this.plural(this.options.interval)?i("weeks"):i("week")),this.byweekday&&this.byweekday.isWeekdays?this.options.interval===1?this.add(this.plural(this.options.interval)?i("weekdays"):i("weekday")):this.add(i("on")).add(i("weekdays")):this.byweekday&&this.byweekday.isEveryDay?this.add(this.plural(this.options.interval)?i("days"):i("day")):(this.options.interval===1&&this.add(i("week")),this.origOptions.bymonth&&(this.add(i("in")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.origOptions.byhour&&this._byhour())},e.prototype.MONTHLY=function(){var i=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()).add(i("months")),this.plural(this.options.interval)&&this.add(i("in"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?i("months"):i("month"))),this.bymonthday?this._bymonthday():this.byweekday&&this.byweekday.isWeekdays?this.add(i("on")).add(i("weekdays")):this.byweekday&&this._byweekday()},e.prototype.YEARLY=function(){var i=this.gettext;this.origOptions.bymonth?(this.options.interval!==1&&(this.add(this.options.interval.toString()),this.add(i("years"))),this._bymonth()):(this.options.interval!==1&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?i("years"):i("year"))),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.options.byyearday&&this.add(i("on the")).add(this.list(this.options.byyearday,this.nth,i("and"))).add(i("day")),this.options.byweekno&&this.add(i("in")).add(this.plural(this.options.byweekno.length)?i("weeks"):i("week")).add(this.list(this.options.byweekno,void 0,i("and")))},e.prototype._bymonthday=function(){var i=this.gettext;this.byweekday&&this.byweekday.allWeeks?this.add(i("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext,i("or"))).add(i("the")).add(this.list(this.bymonthday,this.nth,i("or"))):this.add(i("on the")).add(this.list(this.bymonthday,this.nth,i("and")))},e.prototype._byweekday=function(){var i=this.gettext;this.byweekday.allWeeks&&!this.byweekday.isWeekdays&&this.add(i("on")).add(this.list(this.byweekday.allWeeks,this.weekdaytext)),this.byweekday.someWeeks&&(this.byweekday.allWeeks&&this.add(i("and")),this.add(i("on the")).add(this.list(this.byweekday.someWeeks,this.weekdaytext,i("and"))))},e.prototype._byhour=function(){var i=this.gettext;this.add(i("at")).add(this.list(this.origOptions.byhour,void 0,i("and")))},e.prototype._bymonth=function(){this.add(this.list(this.options.bymonth,this.monthtext,this.gettext("and")))},e.prototype.nth=function(i){var t;i=parseInt(i.toString(),10);var n=this.gettext;if(i===-1)return n("last");var s=Math.abs(i);switch(s){case 1:case 21:case 31:t=s+n("st");break;case 2:case 22:t=s+n("nd");break;case 3:case 23:t=s+n("rd");break;default:t=s+n("th")}return i<0?t+" "+n("last"):t},e.prototype.monthtext=function(i){return this.language.monthNames[i-1]},e.prototype.weekdaytext=function(i){var t=ie(i)?(i+1)%7:i.getJsWeekday();return(i.n?this.nth(i.n)+" ":"")+this.language.dayNames[t]},e.prototype.plural=function(i){return i%100!=1},e.prototype.add=function(i){return this.text.push(" "),this.text.push(i),this},e.prototype.list=function(i,t,n,s){var a=this;s===void 0&&(s=","),ee(i)||(i=[i]),t=t||function(_){return _.toString()};var o=function(_){return t&&t.call(a,_)};return n?function(_,r,d){for(var l="",h=0;h<_.length;h++)h!==0&&(h===_.length-1?l+=" "+d+" ":l+=r+" "),l+=_[h];return l}(i.map(o),s,n):i.map(o).join(s+" ")},e}(),fa=function(){function e(i){this.done=!0,this.rules=i}return e.prototype.start=function(i){return this.text=i,this.done=!1,this.nextSymbol()},e.prototype.isDone=function(){return this.done&&this.symbol===null},e.prototype.nextSymbol=function(){var i,t;this.symbol=null,this.value=null;do{if(this.done)return!1;for(var n in i=null,this.rules){var s=this.rules[n].exec(this.text);s&&(i===null||s[0].length>i[0].length)&&(i=s,t=n)}if(i!=null&&(this.text=this.text.substr(i[0].length),this.text===""&&(this.done=!0)),i==null)return this.done=!0,this.symbol=null,void(this.value=null)}while(t==="SKIP");return this.symbol=t,this.value=i,!0},e.prototype.accept=function(i){if(this.symbol===i){if(this.value){var t=this.value;return this.nextSymbol(),t}return this.nextSymbol(),!0}return!1},e.prototype.acceptNumber=function(){return this.accept("number")},e.prototype.expect=function(i){if(this.accept(i))return!0;throw new Error("expected "+i+" but found "+this.symbol)},e}();function ft(e,i){i===void 0&&(i=Me);var t={},n=new fa(i.tokens);return n.start(e)?(function(){n.expect("every");var l=n.acceptNumber();if(l&&(t.interval=parseInt(l[0],10)),n.isDone())throw new Error("Unexpected end");switch(n.symbol){case"day(s)":t.freq=z.DAILY,n.nextSymbol()&&(a(),d());break;case"weekday(s)":t.freq=z.WEEKLY,t.byweekday=[z.MO,z.TU,z.WE,z.TH,z.FR],n.nextSymbol(),a(),d();break;case"week(s)":t.freq=z.WEEKLY,n.nextSymbol()&&(s(),a(),d());break;case"hour(s)":t.freq=z.HOURLY,n.nextSymbol()&&(s(),d());break;case"minute(s)":t.freq=z.MINUTELY,n.nextSymbol()&&(s(),d());break;case"month(s)":t.freq=z.MONTHLY,n.nextSymbol()&&(s(),d());break;case"year(s)":t.freq=z.YEARLY,n.nextSymbol()&&(s(),d());break;case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":t.freq=z.WEEKLY;var h=n.symbol.substr(0,2).toUpperCase();if(t.byweekday=[z[h]],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var p=_();if(!p)throw new Error("Unexpected symbol "+n.symbol+", expected weekday");t.byweekday.push(z[p]),n.nextSymbol()}a(),function(){n.accept("on"),n.accept("the");var g=r();if(g)for(t.bymonthday=[g],n.nextSymbol();n.accept("comma");){if(!(g=r()))throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.bymonthday.push(g),n.nextSymbol()}}(),d();break;case"january":case"february":case"march":case"april":case"may":case"june":case"july":case"august":case"september":case"october":case"november":case"december":if(t.freq=z.YEARLY,t.bymonth=[o()],!n.nextSymbol())return;for(;n.accept("comma");){if(n.isDone())throw new Error("Unexpected end");var v=o();if(!v)throw new Error("Unexpected symbol "+n.symbol+", expected month");t.bymonth.push(v),n.nextSymbol()}s(),d();break;default:throw new Error("Unknown symbol")}}(),t):null;function s(){var l=n.accept("on"),h=n.accept("the");if(l||h)do{var p=r(),v=_(),g=o();if(p)v?(n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(z[v].nth(p))):(t.bymonthday||(t.bymonthday=[]),t.bymonthday.push(p),n.accept("day(s)"));else if(v)n.nextSymbol(),t.byweekday||(t.byweekday=[]),t.byweekday.push(z[v]);else if(n.symbol==="weekday(s)")n.nextSymbol(),t.byweekday||(t.byweekday=[z.MO,z.TU,z.WE,z.TH,z.FR]);else if(n.symbol==="week(s)"){n.nextSymbol();var c=n.acceptNumber();if(!c)throw new Error("Unexpected symbol "+n.symbol+", expected week number");for(t.byweekno=[parseInt(c[0],10)];n.accept("comma");){if(!(c=n.acceptNumber()))throw new Error("Unexpected symbol "+n.symbol+"; expected monthday");t.byweekno.push(parseInt(c[0],10))}}else{if(!g)return;n.nextSymbol(),t.bymonth||(t.bymonth=[]),t.bymonth.push(g)}}while(n.accept("comma")||n.accept("the")||n.accept("on"))}function a(){if(n.accept("at"))do{var l=n.acceptNumber();if(!l)throw new Error("Unexpected symbol "+n.symbol+", expected hour");for(t.byhour=[parseInt(l[0],10)];n.accept("comma");){if(!(l=n.acceptNumber()))throw new Error("Unexpected symbol "+n.symbol+"; expected hour");t.byhour.push(parseInt(l[0],10))}}while(n.accept("comma")||n.accept("at"))}function o(){switch(n.symbol){case"january":return 1;case"february":return 2;case"march":return 3;case"april":return 4;case"may":return 5;case"june":return 6;case"july":return 7;case"august":return 8;case"september":return 9;case"october":return 10;case"november":return 11;case"december":return 12;default:return!1}}function _(){switch(n.symbol){case"monday":case"tuesday":case"wednesday":case"thursday":case"friday":case"saturday":case"sunday":return n.symbol.substr(0,2).toUpperCase();default:return!1}}function r(){switch(n.symbol){case"last":return n.nextSymbol(),-1;case"first":return n.nextSymbol(),1;case"second":return n.nextSymbol(),n.accept("last")?-2:2;case"third":return n.nextSymbol(),n.accept("last")?-3:3;case"nth":var l=parseInt(n.value[1],10);if(l<-366||l>366)throw new Error("Nth out of range: "+l);return n.nextSymbol(),n.accept("last")?-l:l;default:return!1}}function d(){if(n.symbol==="until"){var l=Date.parse(n.text);if(!l)throw new Error("Cannot parse until date:"+n.text);t.until=new Date(l)}else n.accept("for")&&(t.count=parseInt(n.value[0],10),n.expect("number"))}}function Ye(e){return e<V.HOURLY}(function(e){e[e.YEARLY=0]="YEARLY",e[e.MONTHLY=1]="MONTHLY",e[e.WEEKLY=2]="WEEKLY",e[e.DAILY=3]="DAILY",e[e.HOURLY=4]="HOURLY",e[e.MINUTELY=5]="MINUTELY",e[e.SECONDLY=6]="SECONDLY"})(V||(V={}));var pa=function(e,i){return i===void 0&&(i=Me),new z(ft(e,i)||void 0)},we=["count","until","interval","byweekday","bymonthday","bymonth"];de.IMPLEMENTED=[],de.IMPLEMENTED[V.HOURLY]=we,de.IMPLEMENTED[V.MINUTELY]=we,de.IMPLEMENTED[V.DAILY]=["byhour"].concat(we),de.IMPLEMENTED[V.WEEKLY]=we,de.IMPLEMENTED[V.MONTHLY]=we,de.IMPLEMENTED[V.YEARLY]=["byweekno","byyearday"].concat(we);var ga=de.isFullyConvertible,Ne=function(){function e(i,t,n,s){this.hour=i,this.minute=t,this.second=n,this.millisecond=s||0}return e.prototype.getHours=function(){return this.hour},e.prototype.getMinutes=function(){return this.minute},e.prototype.getSeconds=function(){return this.second},e.prototype.getMilliseconds=function(){return this.millisecond},e.prototype.getTime=function(){return 1e3*(60*this.hour*60+60*this.minute+this.second)+this.millisecond},e}(),ma=function(e){function i(t,n,s,a,o,_,r){var d=e.call(this,a,o,_,r)||this;return d.year=t,d.month=n,d.day=s,d}return Ue(i,e),i.fromDate=function(t){return new this(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.valueOf()%1e3)},i.prototype.getWeekday=function(){return be(new Date(this.getTime()))},i.prototype.getTime=function(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond)).getTime()},i.prototype.getDay=function(){return this.day},i.prototype.getMonth=function(){return this.month},i.prototype.getYear=function(){return this.year},i.prototype.addYears=function(t){this.year+=t},i.prototype.addMonths=function(t){if(this.month+=t,this.month>12){var n=Math.floor(this.month/12),s=ae(this.month,12);this.month=s,this.year+=n,this.month===0&&(this.month=12,--this.year)}},i.prototype.addWeekly=function(t,n){n>this.getWeekday()?this.day+=-(this.getWeekday()+1+(6-n))+7*t:this.day+=-(this.getWeekday()-n)+7*t,this.fixDay()},i.prototype.addDaily=function(t){this.day+=t,this.fixDay()},i.prototype.addHours=function(t,n,s){for(n&&(this.hour+=Math.floor((23-this.hour)/t)*t);;){this.hour+=t;var a=ze(this.hour,24),o=a.div,_=a.mod;if(o&&(this.hour=_,this.addDaily(o)),se(s)||F(s,this.hour))break}},i.prototype.addMinutes=function(t,n,s,a){for(n&&(this.minute+=Math.floor((1439-(60*this.hour+this.minute))/t)*t);;){this.minute+=t;var o=ze(this.minute,60),_=o.div,r=o.mod;if(_&&(this.minute=r,this.addHours(_,!1,s)),(se(s)||F(s,this.hour))&&(se(a)||F(a,this.minute)))break}},i.prototype.addSeconds=function(t,n,s,a,o){for(n&&(this.second+=Math.floor((86399-(3600*this.hour+60*this.minute+this.second))/t)*t);;){this.second+=t;var _=ze(this.second,60),r=_.div,d=_.mod;if(r&&(this.second=d,this.addMinutes(r,!1,s,a)),(se(s)||F(s,this.hour))&&(se(a)||F(a,this.minute))&&(se(o)||F(o,this.second)))break}},i.prototype.fixDay=function(){if(!(this.day<=28)){var t=dt(this.year,this.month-1)[1];if(!(this.day<=t))for(;this.day>t;){if(this.day-=t,++this.month,this.month===13&&(this.month=1,++this.year,this.year>9999))return;t=dt(this.year,this.month-1)[1]}}},i.prototype.add=function(t,n){var s=t.freq,a=t.interval,o=t.wkst,_=t.byhour,r=t.byminute,d=t.bysecond;switch(s){case V.YEARLY:return this.addYears(a);case V.MONTHLY:return this.addMonths(a);case V.WEEKLY:return this.addWeekly(a,o);case V.DAILY:return this.addDaily(a);case V.HOURLY:return this.addHours(a,n,_);case V.MINUTELY:return this.addMinutes(a,n,_,r);case V.SECONDLY:return this.addSeconds(a,n,_,r,d)}},i}(Ne);function pt(e){for(var i=[],t=0,n=Object.keys(e);t<n.length;t++){var s=n[t];F(Ra,s)||i.push(s),ot(e[s])&&!Ee(e[s])&&i.push(s)}if(i.length)throw new Error("Invalid options: "+i.join(", "));return te({},e)}function va(e){var i=te(te({},Be),pt(e));if(J(i.byeaster)&&(i.freq=z.YEARLY),!J(i.freq)||!z.FREQUENCIES[i.freq])throw new Error("Invalid frequency: ".concat(i.freq," ").concat(e.freq));if(i.dtstart||(i.dtstart=new Date(new Date().setMilliseconds(0))),J(i.wkst)?ie(i.wkst)||(i.wkst=i.wkst.weekday):i.wkst=z.MO.weekday,J(i.bysetpos)){ie(i.bysetpos)&&(i.bysetpos=[i.bysetpos]);for(var t=0;t<i.bysetpos.length;t++)if((a=i.bysetpos[t])===0||!(a>=-366&&a<=366))throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}if(!(i.byweekno||K(i.byweekno)||K(i.byyearday)||i.bymonthday||K(i.bymonthday)||J(i.byweekday)||J(i.byeaster)))switch(i.freq){case z.YEARLY:i.bymonth||(i.bymonth=i.dtstart.getUTCMonth()+1),i.bymonthday=i.dtstart.getUTCDate();break;case z.MONTHLY:i.bymonthday=i.dtstart.getUTCDate();break;case z.WEEKLY:i.byweekday=[be(i.dtstart)]}if(J(i.bymonth)&&!ee(i.bymonth)&&(i.bymonth=[i.bymonth]),J(i.byyearday)&&!ee(i.byyearday)&&ie(i.byyearday)&&(i.byyearday=[i.byyearday]),J(i.bymonthday))if(ee(i.bymonthday)){var n=[],s=[];for(t=0;t<i.bymonthday.length;t++){var a;(a=i.bymonthday[t])>0?n.push(a):a<0&&s.push(a)}i.bymonthday=n,i.bynmonthday=s}else i.bymonthday<0?(i.bynmonthday=[i.bymonthday],i.bymonthday=[]):(i.bynmonthday=[],i.bymonthday=[i.bymonthday]);else i.bymonthday=[],i.bynmonthday=[];if(J(i.byweekno)&&!ee(i.byweekno)&&(i.byweekno=[i.byweekno]),J(i.byweekday))if(ie(i.byweekday))i.byweekday=[i.byweekday],i.bynweekday=null;else if(nt(i.byweekday))i.byweekday=[Z.fromStr(i.byweekday).weekday],i.bynweekday=null;else if(i.byweekday instanceof Z)!i.byweekday.n||i.freq>z.MONTHLY?(i.byweekday=[i.byweekday.weekday],i.bynweekday=null):(i.bynweekday=[[i.byweekday.weekday,i.byweekday.n]],i.byweekday=null);else{var o=[],_=[];for(t=0;t<i.byweekday.length;t++){var r=i.byweekday[t];ie(r)?o.push(r):nt(r)?o.push(Z.fromStr(r).weekday):!r.n||i.freq>z.MONTHLY?o.push(r.weekday):_.push([r.weekday,r.n])}i.byweekday=K(o)?o:null,i.bynweekday=K(_)?_:null}else i.bynweekday=null;return J(i.byhour)?ie(i.byhour)&&(i.byhour=[i.byhour]):i.byhour=i.freq<z.HOURLY?[i.dtstart.getUTCHours()]:null,J(i.byminute)?ie(i.byminute)&&(i.byminute=[i.byminute]):i.byminute=i.freq<z.MINUTELY?[i.dtstart.getUTCMinutes()]:null,J(i.bysecond)?ie(i.bysecond)&&(i.bysecond=[i.bysecond]):i.bysecond=i.freq<z.SECONDLY?[i.dtstart.getUTCSeconds()]:null,{parsedOptions:i}}function Ve(e){var i=e.split(` |
| 38 | `).map(ya).filter(function(t){return t!==null});return te(te({},i[0]),i[1])}function Te(e){var i={},t=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(e);if(!t)return i;var n=t[1],s=t[2];return n&&(i.tzid=n),i.dtstart=Re(s),i}function ya(e){if(!(e=e.replace(/^\s+|\s+$/,"")).length)return null;var i=/^([A-Z]+?)[:;]/.exec(e.toUpperCase());if(!i)return gt(e);var t=i[1];switch(t.toUpperCase()){case"RRULE":case"EXRULE":return gt(e);case"DTSTART":return Te(e);default:throw new Error("Unsupported RFC prop ".concat(t," in ").concat(e))}}function gt(e){var i=Te(e.replace(/^RRULE:/i,""));return e.replace(/^(?:RRULE|EXRULE):/i,"").split(";").forEach(function(t){var n=t.split("="),s=n[0],a=n[1];switch(s.toUpperCase()){case"FREQ":i.freq=V[a.toUpperCase()];break;case"WKST":i.wkst=re[a.toUpperCase()];break;case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":var o=function(d){return d.indexOf(",")!==-1?d.split(",").map(mt):mt(d)}(a),_=s.toLowerCase();i[_]=o;break;case"BYWEEKDAY":case"BYDAY":i.byweekday=function(d){var l=d.split(",");return l.map(function(h){if(h.length===2)return re[h];var p=h.match(/^([+-]?\d{1,2})([A-Z]{2})$/);if(!p||p.length<3)throw new SyntaxError("Invalid weekday string: ".concat(h));var v=Number(p[1]),g=p[2],c=re[g].weekday;return new Z(c,v)})}(a);break;case"DTSTART":case"TZID":var r=Te(e);i.tzid=r.tzid,i.dtstart=r.dtstart;break;case"UNTIL":i.until=Re(a);break;case"BYEASTER":i.byeaster=Number(a);break;default:throw new Error("Unknown RRULE property '"+s+"'")}}),i}function mt(e){return/^[+-]?\d+$/.test(e)?Number(e):e}var Ae=function(){function e(i,t){if(isNaN(i.getTime()))throw new RangeError("Invalid date passed to DateWithZone");this.date=i,this.tzid=t}return Object.defineProperty(e.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),e.prototype.toString=function(){var i=Ie(this.date.getTime(),this.isUTC);return this.isUTC?":".concat(i):";TZID=".concat(this.tzid,":").concat(i)},e.prototype.getTime=function(){return this.date.getTime()},e.prototype.rezonedDate=function(){return this.isUTC?this.date:(i=this.date,t=this.tzid,n=Intl.DateTimeFormat().resolvedOptions().timeZone,s=new Date(ct(i,n)),a=new Date(ct(i,t??"UTC")).getTime()-s.getTime(),new Date(i.getTime()-a));var i,t,n,s,a},e}();function Fe(e){for(var i=[],t="",n=Object.keys(e),s=Object.keys(Be),a=0;a<n.length;a++)if(n[a]!=="tzid"&&F(s,n[a])){var o=n[a].toUpperCase(),_=e[n[a]],r="";if(J(_)&&(!ee(_)||_.length)){switch(o){case"FREQ":r=z.FREQUENCIES[e.freq];break;case"WKST":r=ie(_)?new Z(_).toString():_.toString();break;case"BYWEEKDAY":o="BYDAY",r=da(_).map(function(v){return v instanceof Z?v:ee(v)?new Z(v[0],v[1]):new Z(v)}).toString();break;case"DTSTART":t=ba(_,e.tzid);break;case"UNTIL":r=Ie(_,!e.tzid);break;default:if(ee(_)){for(var d=[],l=0;l<_.length;l++)d[l]=String(_[l]);r=d.toString()}else r=String(_)}r&&i.push([o,r])}}var h=i.map(function(v){var g=v[0],c=v[1];return"".concat(g,"=").concat(c.toString())}).join(";"),p="";return h!==""&&(p="RRULE:".concat(h)),[t,p].filter(function(v){return!!v}).join(` |