dhtmlx-scheduler 7.2.12 → 7.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,19 @@
1
1
  (function(pe,Q){typeof exports=="object"&&typeof module<"u"?Q(exports):typeof define=="function"&&define.amd?define(["exports"],Q):Q((pe=typeof globalThis<"u"?globalThis:pe||self).dhtmlxscheduler={})})(this,function(pe){"use strict";/** @license
2
2
 
3
- dhtmlxScheduler v.7.2.12 Standard
3
+ dhtmlxScheduler v.7.2.13 Standard
4
4
 
5
5
  To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
6
6
 
7
7
  (c) XB Software Ltd.
8
8
 
9
- */const Q=typeof window<"u"?window:global;function Mt(e){let i=[],t=!1,n=null,s=null;function a(){return e.config.drag_highlight&&e.markTimespan}function o(d){const l=e.getView(d);return l?l.layout:d}function _(d){const{event:l,layout:h,viewName:p,sectionId:v,eventNode:g}=d;(function(f,y){switch(y){case"month":f.style.top="",f.style.left="";break;case"timeline":f.style.left="",f.style.marginLeft="1px";break;default:f.style.top=""}})(g,h);const c={};let u={start_date:l.start_date,end_date:l.end_date,css:"dhx_scheduler_dnd_marker",html:g};if(h=="timeline"){const f=e.getView(p);if(f.round_position){const y=e._get_date_index(f,l.start_date),w=f._trace_x[y];u.start_date=w}}return h!="timeline"&&h!="month"||(u={...u,end_date:e.date.add(l.start_date,1,"minute")}),v&&(c[p]=v,u.sections=c),u}function r(d){const{layout:l}=d;let h;switch(l){case"month":h=function(p){let v=[];const{event:g,layout:c,viewName:u,sectionId:f}=p,y=[];let w=new Date(g.start_date);for(;w.valueOf()<g.end_date.valueOf();){let M={start_date:w};y.push(M),w=e.date.week_start(e.date.add(w,1,"week"))}let D=e.$container.querySelectorAll(`[${e.config.event_attribute}='${g.id}']`);for(let M=0;M<D.length;M++){const k={event:y[M],layout:c,viewName:u,sectionId:f,eventNode:D[M].cloneNode(!0)};v.push(_(k))}return v}(d);break;case"timeline":case"units":h=function(p){let v=[];const{event:g,layout:c,viewName:u,eventNode:f}=p;let y=function(w){const D=e.getView(w);return D.y_property?D.y_property:D.map_to?D.map_to:void 0}(u);if(y){const w=String(g[y]).split(e.config.section_delimiter).map(M=>String(M)),D=[];for(let M=0;M<w.length;M++){D[M]=f.cloneNode(!0);const k={event:g,layout:c,viewName:u,sectionId:w[M],eventNode:D[M]};v.push(_(k))}}return v}(d);break;default:h=function(p){const{event:v,layout:g,viewName:c,sectionId:u}=p;let f=[],y=e.$container.querySelectorAll(`[${e.config.event_attribute}='${v.id}']:not(.dhx_cal_select_menu):not(.dhx_drag_marker)`);if(y)for(let w=0;w<y.length;w++){let D=y[w].cloneNode(!0);const M={event:{start_date:new Date(+D.getAttribute("data-bar-start")),end_date:new Date(+D.getAttribute("data-bar-end"))},layout:g,viewName:c,sectionId:u,eventNode:D};f.push(_(M))}return f}(d)}h.forEach(p=>{i.push(e.markTimespan(p))})}e.attachEvent("onBeforeDrag",function(d,l,h){return a()&&(t=!0,s=e.getEvent(d),n=h.target.closest(`[${e.config.event_attribute}]`),o(e.getState().mode)=="units"&&e.config.cascade_event_display&&(e.unselect(d),n=h.target.closest(`[${e.config.event_attribute}]`))),!0}),e.attachEvent("onEventDrag",function(d,l,h){if(t&&a()){t=!1;const p=e.getState().mode,v=o(p),g=e.getActionData(h).section;s&&r({event:s,layout:v,viewName:p,sectionId:g,eventNode:n})}}),e.attachEvent("onDragEnd",function(d,l,h){for(let p=0;p<i.length;p++)e.unmarkTimespan(i[p]);i=[],n=null,s=null})}function Nt(e){e.config.mark_now=!0,e.config.display_marked_timespans=!0,e.config.overwrite_marked_timespans=!0;var i="dhx_time_block",t="default",n=function(a,o,_){var r=typeof a=="object"?a:{days:a};return r.type=i,r.css="",o&&(_&&(r.sections=_),r=function(d,l,h){return l instanceof Date&&h instanceof Date?(d.start_date=l,d.end_date=h):(d.days=l,d.zones=h),d}(r,a,o)),r};function s(a,o,_,r,d){var l=e,h=[],p={_props:"map_to",matrix:"y_property"};for(var v in p){var g=p[v];if(l[v])for(var c in l[v]){var u=l[v][c][g];a[u]&&(h=l._add_timespan_zones(h,e._get_blocked_zones(o[c],a[u],_,r,d)))}}return h=l._add_timespan_zones(h,e._get_blocked_zones(o,"global",_,r,d))}e.blockTime=function(a,o,_){var r=n(a,o,_);return e.addMarkedTimespan(r)},e.unblockTime=function(a,o,_){var r=n(a,o=o||"fullday",_);return e.deleteMarkedTimespan(r)},e.checkInMarkedTimespan=function(a,o,_){o=o||t;for(var r=!0,d=new Date(a.start_date.valueOf()),l=e.date.add(d,1,"day"),h=e._marked_timespans;d<a.end_date;d=e.date.date_part(l),l=e.date.add(d,1,"day")){var p=+e.date.date_part(new Date(d)),v=s(a,h,d.getDay(),p,o);if(v)for(var g=0;g<v.length;g+=2){var c=e._get_zone_minutes(d),u=a.end_date>l||a.end_date.getDate()!=d.getDate()?1440:e._get_zone_minutes(a.end_date),f=v[g],y=v[g+1];if(f<u&&y>c&&!(r=typeof _=="function"&&_(a,c,u,f,y)))break}}return!r},e.checkLimitViolation=function(a){if(!a||!e.config.check_limits)return!0;var o=e,_=o.config,r=[];if(a.rec_type&&a._end_date||a.rrule){const v=a._end_date||a.end_date;return!_.limit_start||!_.limit_end||v.valueOf()>=_.limit_start.valueOf()&&a.start_date.valueOf()<=_.limit_end.valueOf()}r=[a];for(var d=!0,l=0;l<r.length;l++){var h=!0,p=r[l];p._timed=e.isOneDayEvent(p),(h=!_.limit_start||!_.limit_end||p.start_date.valueOf()>=_.limit_start.valueOf()&&p.end_date.valueOf()<=_.limit_end.valueOf())&&(h=!e.checkInMarkedTimespan(p,i,function(v,g,c,u,f){var y=!0;return g<=f&&g>=u&&((f==1440||c<=f)&&(y=!1),v._timed&&o._drag_id&&o._drag_mode=="new-size"?(v.start_date.setHours(0),v.start_date.setMinutes(f)):y=!1),(c>=u&&c<=f||g<u&&c>f)&&(v._timed&&o._drag_id&&o._drag_mode=="new-size"?(v.end_date.setHours(0),v.end_date.setMinutes(u)):y=!1),y})),h||(h=o.checkEvent("onLimitViolation")?o.callEvent("onLimitViolation",[p.id,p]):h),d=d&&h}return d||(o._drag_id=null,o._drag_mode=null),d},e._get_blocked_zones=function(a,o,_,r,d){var l=[];if(a&&a[o])for(var h=a[o],p=this._get_relevant_blocked_zones(_,r,h,d),v=0;v<p.length;v++)l=this._add_timespan_zones(l,p[v].zones);return l},e._get_relevant_blocked_zones=function(a,o,_,r){var d;return e.config.overwrite_marked_timespans?d=_[o]&&_[o][r]?_[o][r]:_[a]&&_[a][r]?_[a][r]:[]:(d=[],_[o]&&_[o][r]&&(d=d.concat(_[o][r])),_[a]&&_[a][r]&&(d=d.concat(_[a][r]))),d},e._mark_now=function(a){var o="dhx_now_time";this._els[o]||(this._els[o]=[]);var _=e._currentDate(),r=this.config;if(e._remove_mark_now(),!a&&r.mark_now&&_<this._max_date&&_>this._min_date&&_.getHours()>=r.first_hour&&_.getHours()<r.last_hour){var d=this.locate_holder_day(_);this._els[o]=e._append_mark_now(d,_)}},e._append_mark_now=function(a,o){var _="dhx_now_time",r=e._get_zone_minutes(o),d={zones:[r,r+1],css:_,type:_};if(!this._table_view){if(this._props&&this._props[this._mode]){var l,h,p=this._props[this._mode],v=p.size||p.options.length;p.days>1?(p.size&&p.options.length&&(a=(p.position+a)/p.options.length*p.size),l=a,h=a+v):h=(l=0)+v;for(var g=[],c=l;c<h;c++){var u=c;d.days=u;var f=e._render_marked_timespan(d,null,u)[0];g.push(f)}return g}return d.days=a,e._render_marked_timespan(d,null,a)}if(this._mode=="month")return d.days=+e.date.date_part(o),e._render_marked_timespan(d,null,null)},e._remove_mark_now=function(){for(var a="dhx_now_time",o=this._els[a],_=0;_<o.length;_++){var r=o[_],d=r.parentNode;d&&d.removeChild(r)}this._els[a]=[]},e._marked_timespans={global:{}},e._get_zone_minutes=function(a){return 60*a.getHours()+a.getMinutes()},e._prepare_timespan_options=function(a){var o=[],_=[];if(a.days=="fullweek"&&(a.days=[0,1,2,3,4,5,6]),a.days instanceof Array){for(var r=a.days.slice(),d=0;d<r.length;d++){var l=e._lame_clone(a);l.days=r[d],o.push.apply(o,e._prepare_timespan_options(l))}return o}if(!a||!(a.start_date&&a.end_date&&a.end_date>a.start_date||a.days!==void 0&&a.zones)&&!a.type)return o;a.zones=="fullday"&&(a.zones=[0,1440]),a.zones&&a.invert_zones&&(a.zones=e.invertZones(a.zones)),a.id=e.uid(),a.css=a.css||"",a.type=a.type||t;var h=a.sections;if(h){for(var p in h)if(h.hasOwnProperty(p)){var v=h[p];for(v instanceof Array||(v=[v]),d=0;d<v.length;d++)(D=e._lame_copy({},a)).sections={},D.sections[p]=v[d],_.push(D)}}else _.push(a);for(var g=0;g<_.length;g++){var c=_[g],u=c.start_date,f=c.end_date;if(u&&f)for(var y=e.date.date_part(new Date(u)),w=e.date.add(y,1,"day");y<f;){var D;delete(D=e._lame_copy({},c)).start_date,delete D.end_date,D.days=y.valueOf();var M=u>y?e._get_zone_minutes(u):0,k=f>w||f.getDate()!=y.getDate()?1440:e._get_zone_minutes(f);D.zones=[M,k],o.push(D),y=w,w=e.date.add(w,1,"day")}else c.days instanceof Date&&(c.days=e.date.date_part(c.days).valueOf()),c.zones=a.zones.slice(),o.push(c)}return o},e._get_dates_by_index=function(a,o,_){var r=[];o=e.date.date_part(new Date(o||e._min_date)),_=new Date(_||e._max_date);for(var d=o.getDay(),l=a-d>=0?a-d:7-o.getDay()+a,h=e.date.add(o,l,"day");h<_;h=e.date.add(h,1,"week"))r.push(h);return r},e._get_css_classes_by_config=function(a){var o=[];return a.type==i&&(o.push(i),a.css&&o.push(i+"_reset")),o.push("dhx_marked_timespan",a.css),o.join(" ")},e._get_block_by_config=function(a){var o=document.createElement("div");if(a.html){let _=a.html;typeof _=="function"&&(_=_(a)),typeof _=="string"?o.innerHTML=a.html:e.config.external_render&&e.config.external_render.isElement(_)?e.config.external_render.renderElement(_,o):o.appendChild(_)}return o},e._render_marked_timespan=function(a,o,_){var r=[],d=e.config,l=this._min_date,h=this._max_date,p=!1;if(!d.display_marked_timespans)return r;if(!_&&_!==0){if(a.days<7)_=a.days;else{var v=new Date(a.days);if(p=+v,!(+h>+v&&+l<=+v))return r;_=v.getDay()}var g=l.getDay();g>_?_=7-(g-_):_-=g}var c=a.zones,u=e._get_css_classes_by_config(a);if(e._table_view&&e._mode=="month"){var f=[],y=[];if(o)f.push(o),y.push(_);else{y=p?[p]:e._get_dates_by_index(_);for(var w=0;w<y.length;w++)f.push(this._scales[y[w]])}for(w=0;w<f.length;w++){o=f[w],_=y[w];var D=this.locate_holder_day(_,!1)%this._cols.length;if(!this._ignores[D]){var M=e._get_block_by_config(a);M.className=u,M.style.top="0px",M.style.height="100%";for(var k=0;k<c.length;k+=2){var N=c[w];if((E=c[w+1])<=N)return[];(S=M.cloneNode(!0)).style.left="0px",S.style.width="100%",o.appendChild(S),r.push(S)}}}}else{var m=_;if(this._ignores[this.locate_holder_day(_,!1)])return r;if(this._props&&this._props[this._mode]&&a.sections&&a.sections[this._mode]){var b=this._props[this._mode];m=b.order[a.sections[this._mode]];var x=b.order[a.sections[this._mode]];b.days>1?m=m*(b.size||b.options.length)+x:(m=x,b.size&&m>b.position+b.size&&(m=0))}for(o=o||e.locate_holder(m),w=0;w<c.length;w+=2){var E,S;if(N=Math.max(c[w],60*d.first_hour),(E=Math.min(c[w+1],60*d.last_hour))<=N){if(w+2<c.length)continue;return[]}(S=e._get_block_by_config(a)).className=u;var T=24*this.config.hour_size_px+1,A=36e5;S.style.top=Math.round((60*N*1e3-this.config.first_hour*A)*this.config.hour_size_px/A)%T+"px",S.style.height=Math.max(Math.round(60*(E-N)*1e3*this.config.hour_size_px/A)%T,1)+"px",o.appendChild(S),r.push(S)}}return r},e._mark_timespans=function(){var a=this._els.dhx_cal_data[0],o=[];if(e._table_view&&e._mode=="month")for(var _ in this._scales){var r=new Date(+_);o.push.apply(o,e._on_scale_add_marker(this._scales[_],r))}else{r=new Date(e._min_date);for(var d=0,l=a.childNodes.length;d<l;d++){var h=a.childNodes[d];h.firstChild&&e._getClassName(h.firstChild).indexOf("dhx_scale_hour")>-1||(o.push.apply(o,e._on_scale_add_marker(h,r)),r=e.date.add(r,1,"day"))}}return o},e.markTimespan=function(a){if(!this._els)throw new Error("`scheduler.markTimespan` can't be used before scheduler initialization. Place `scheduler.markTimespan` call after `scheduler.init`.");var o=!1;this._els.dhx_cal_data||(e.get_elements(),o=!0);var _=e._marked_timespans_ids,r=e._marked_timespans_types,d=e._marked_timespans;e.deleteMarkedTimespan(),e.addMarkedTimespan(a);var l=e._mark_timespans();return o&&(e._els=[]),e._marked_timespans_ids=_,e._marked_timespans_types=r,e._marked_timespans=d,l},e.unmarkTimespan=function(a){if(a)for(var o=0;o<a.length;o++){var _=a[o];_.parentNode&&_.parentNode.removeChild(_)}},e._addMarkerTimespanConfig=function(a){var o="global",_=e._marked_timespans,r=a.id,d=e._marked_timespans_ids;d[r]||(d[r]=[]);var l=a.days,h=a.sections,p=a.type;if(a.id=r,h){for(var v in h)if(h.hasOwnProperty(v)){_[v]||(_[v]={});var g=h[v],c=_[v];c[g]||(c[g]={}),c[g][l]||(c[g][l]={}),c[g][l][p]||(c[g][l][p]=[],e._marked_timespans_types||(e._marked_timespans_types={}),e._marked_timespans_types[p]||(e._marked_timespans_types[p]=!0));var u=c[g][l][p];a._array=u,u.push(a),d[r].push(a)}}else _[o][l]||(_[o][l]={}),_[o][l][p]||(_[o][l][p]=[]),e._marked_timespans_types||(e._marked_timespans_types={}),e._marked_timespans_types[p]||(e._marked_timespans_types[p]=!0),u=_[o][l][p],a._array=u,u.push(a),d[r].push(a)},e._marked_timespans_ids={},e.addMarkedTimespan=function(a){var o=e._prepare_timespan_options(a);if(o.length){for(var _=o[0].id,r=0;r<o.length;r++)e._addMarkerTimespanConfig(o[r]);return _}},e._add_timespan_zones=function(a,o){var _=a.slice();if(o=o.slice(),!_.length)return o;for(var r=0;r<_.length;r+=2)for(var d=_[r],l=_[r+1],h=r+2==_.length,p=0;p<o.length;p+=2){var v=o[p],g=o[p+1];if(g>l&&v<=l||v<d&&g>=d)_[r]=Math.min(d,v),_[r+1]=Math.max(l,g),r-=2;else{if(!h)continue;var c=d>v?0:2;_.splice(r+c,0,v,g)}o.splice(p--,2);break}return _},e._subtract_timespan_zones=function(a,o){for(var _=a.slice(),r=0;r<_.length;r+=2)for(var d=_[r],l=_[r+1],h=0;h<o.length;h+=2){var p=o[h],v=o[h+1];if(v>d&&p<l){var g=!1;d>=p&&l<=v&&_.splice(r,2),d<p&&(_.splice(r,2,d,p),g=!0),l>v&&_.splice(g?r+2:r,g?0:2,v,l),r-=2;break}}return _},e.invertZones=function(a){return e._subtract_timespan_zones([0,1440],a.slice())},e._delete_marked_timespan_by_id=function(a){var o=e._marked_timespans_ids[a];if(o){for(var _=0;_<o.length;_++)for(var r=o[_],d=r._array,l=0;l<d.length;l++)if(d[l]==r){d.splice(l,1);break}}},e._delete_marked_timespan_by_config=function(a){var o,_=e._marked_timespans,r=a.sections,d=a.days,l=a.type||t;if(r){for(var h in r)if(r.hasOwnProperty(h)&&_[h]){var p=r[h];_[h][p]&&(o=_[h][p])}}else o=_.global;if(o){if(d!==void 0)o[d]&&o[d][l]&&(e._addMarkerTimespanConfig(a),e._delete_marked_timespans_list(o[d][l],a));else for(var v in o)if(o[v][l]){var g=e._lame_clone(a);a.days=v,e._addMarkerTimespanConfig(g),e._delete_marked_timespans_list(o[v][l],a)}}},e._delete_marked_timespans_list=function(a,o){for(var _=0;_<a.length;_++){var r=a[_],d=e._subtract_timespan_zones(r.zones,o.zones);if(d.length)r.zones=d;else{a.splice(_,1),_--;for(var l=e._marked_timespans_ids[r.id],h=0;h<l.length;h++)if(l[h]==r){l.splice(h,1);break}}}},e.deleteMarkedTimespan=function(a){if(arguments.length||(e._marked_timespans={global:{}},e._marked_timespans_ids={},e._marked_timespans_types={}),typeof a!="object")e._delete_marked_timespan_by_id(a);else{a.start_date&&a.end_date||(a.days!==void 0||a.type||(a.days="fullweek"),a.zones||(a.zones="fullday"));var o=[];if(a.type)o.push(a.type);else for(var _ in e._marked_timespans_types)o.push(_);for(var r=e._prepare_timespan_options(a),d=0;d<r.length;d++)for(var l=r[d],h=0;h<o.length;h++){var p=e._lame_clone(l);p.type=o[h],e._delete_marked_timespan_by_config(p)}}},e._get_types_to_render=function(a,o){var _=a?e._lame_copy({},a):{};for(var r in o||{})o.hasOwnProperty(r)&&(_[r]=o[r]);return _},e._get_configs_to_render=function(a){var o=[];for(var _ in a)a.hasOwnProperty(_)&&o.push.apply(o,a[_]);return o},e._on_scale_add_marker=function(a,o){if(!e._table_view||e._mode=="month"){var _=o.getDay(),r=o.valueOf(),d=this._mode,l=e._marked_timespans,h=[],p=[];if(this._props&&this._props[d]){var v=this._props[d],g=v.options,c=g[e._get_unit_index(v,o)];if(v.days>1){var u=Math.round((o-e._min_date)/864e5),f=v.size||g.length;o=e.date.add(e._min_date,Math.floor(u/f),"day"),o=e.date.date_part(o)}else o=e.date.date_part(new Date(this._date));if(_=o.getDay(),r=o.valueOf(),l[d]&&l[d][c.key]){var y=l[d][c.key],w=e._get_types_to_render(y[_],y[r]);h.push.apply(h,e._get_configs_to_render(w))}}var D=l.global;if(e.config.overwrite_marked_timespans){var M=D[r]||D[_];h.push.apply(h,e._get_configs_to_render(M))}else D[r]&&h.push.apply(h,e._get_configs_to_render(D[r])),D[_]&&h.push.apply(h,e._get_configs_to_render(D[_]));for(var k=0;k<h.length;k++)p.push.apply(p,e._render_marked_timespan(h[k],a,o));return p}},e.attachEvent("onScaleAdd",function(){e._on_scale_add_marker.apply(e,arguments)}),e.dblclick_dhx_marked_timespan=function(a,o){e.callEvent("onScaleDblClick",[e.getActionData(a).date,o,a]),e.config.dblclick_create&&e.addEventNow(e.getActionData(a).date,null,a)}}function Tt(e){var i={},t=!1;function n(r,d){d=typeof d=="function"?d:function(){},i[r]||(i[r]=this[r],this[r]=d)}function s(r){i[r]&&(this[r]=i[r],i[r]=null)}function a(r){for(var d in r)n.call(this,d,r[d])}function o(){for(var r in i)s.call(this,r)}function _(r){try{r()}catch(d){window.console.error(d)}}return e.$stateProvider.registerProvider("batchUpdate",function(){return{batch_update:t}},!1),function(r,d){if(t)return void _(r);var l,h=this._dp&&this._dp.updateMode!="off";h&&(l=this._dp.updateMode,this._dp.setUpdateMode("off"));const p={setModeDate:{date:null,mode:null},needRender:!1,needUpdateView:!1,repaintEvents:{}},v=(c,u)=>{c&&(p.setModeDate.date=c),u&&(p.setModeDate.mode=u)};var g={render:(c,u)=>{p.needRender=!0,v(c,u)},setCurrentView:(c,u)=>{p.needRender=!0,v(c,u)},updateView:(c,u)=>{p.needUpdateView=!0,v(c,u)},render_data:()=>p.needRender=!0,render_view_data:c=>{c&&c.length?c.forEach(u=>p.repaintEvents[u.id]=!0):p.needRender=!0}};if(a.call(this,g),t=!0,this.callEvent("onBeforeBatchUpdate",[]),_(r),this.callEvent("onAfterBatchUpdate",[]),o.call(this),t=!1,!d)if(p.needRender)e.render(p.setModeDate.date,p.setModeDate.mode);else if(p.needUpdateView)e.updateView(p.setModeDate.date,p.setModeDate.mode);else for(const c in p.repaintEvents)e.updateEvent(c);h&&(this._dp.setUpdateMode(l),this._dp.sendData())}}class At{constructor(i){const{url:t,token:n}=i;this._url=t,this._token=n,this._mode=1,this._seed=1,this._queue=[],this.data={},this.api={},this._events={}}headers(){return{Accept:"application/json","Content-Type":"application/json","Remote-Token":this._token}}fetch(i,t){const n={credentials:"include",headers:this.headers()};return t&&(n.method="POST",n.body=t),fetch(i,n).then(s=>s.json())}load(i){return i&&(this._url=i),this.fetch(this._url).then(t=>this.parse(t))}parse(i){const{key:t,websocket:n}=i;t&&(this._token=i.key);for(const s in i.data)this.data[s]=i.data[s];for(const s in i.api){const a=this.api[s]={},o=i.api[s];for(const _ in o)a[_]=this._wrapper(s+"."+_)}return n&&this.connect(),this}connect(){const i=this._socket;i&&(this._socket=null,i.onclose=function(){},i.close()),this._mode=2,this._socket=function(t,n,s,a){let o=n;o[0]==="/"&&(o=document.location.protocol+"//"+document.location.host+n),o=o.replace(/^http(s|):/,"ws$1:");const _=o.indexOf("?")!=-1?"&":"?";o=`${o}${_}token=${s}&ws=1`;const r=new WebSocket(o);return r.onclose=()=>setTimeout(()=>t.connect(),2e3),r.onmessage=d=>{const l=JSON.parse(d.data);switch(l.action){case"result":t.result(l.body,[]);break;case"event":t.fire(l.body.name,l.body.value);break;case"start":a();break;default:t.onError(l.data)}},r}(this,this._url,this._token,()=>(this._mode=3,this._send(),this._resubscribe(),this))}_wrapper(i){return(function(){const t=[].slice.call(arguments);let n=null;const s=new Promise((a,o)=>{n={data:{id:this._uid(),name:i,args:t},status:1,resolve:a,reject:o},this._queue.push(n)});return this.onCall(n,s),this._mode===3?this._send(n):setTimeout(()=>this._send(),1),s}).bind(this)}_uid(){return(this._seed++).toString()}_send(i){if(this._mode==2)return void setTimeout(()=>this._send(),100);const t=i?[i]:this._queue.filter(s=>s.status===1);if(!t.length)return;const n=t.map(s=>(s.status=2,s.data));this._mode!==3?this.fetch(this._url,JSON.stringify(n)).catch(s=>this.onError(s)).then(s=>this.result(s,n)):this._socket.send(JSON.stringify({action:"call",body:n}))}result(i,t){const n={};if(i)for(let s=0;s<i.length;s++)n[i[s].id]=i[s];else for(let s=0;s<t.length;s++)n[t[s].id]={id:t[s].id,error:"Network Error",data:null};for(let s=this._queue.length-1;s>=0;s--){const a=this._queue[s],o=n[a.data.id];o&&(this.onResponse(a,o),o.error?a.reject(o.error):a.resolve(o.data),this._queue.splice(s,1))}}on(i,t){const n=this._uid();let s=this._events[i];const a=!!s;return a||(s=this._events[i]=[]),s.push({id:n,handler:t}),a||this._mode!=3||this._socket.send(JSON.stringify({action:"subscribe",name:i})),{name:i,id:n}}_resubscribe(){if(this._mode==3)for(const i in this._events)this._socket.send(JSON.stringify({action:"subscribe",name:i}))}detach(i){if(!i){if(this._mode==3)for(const a in this._events)this._socket.send(JSON.stringify({action:"unsubscribe",key:a}));return void(this._events={})}const{id:t,name:n}=i,s=this._events[n];if(s){const a=s.filter(o=>o.id!=t);a.length?this._events[n]=a:(delete this._events[n],this._mode==3&&this._socket.send(JSON.stringify({action:"unsubscribe",name:n})))}}fire(i,t){const n=this._events[i];if(n)for(let s=0;s<n.length;s++)n[s].handler(t)}onError(i){return null}onCall(i,t){}onResponse(i,t){}}class Ct{constructor(i,t){const n=new At({url:i,token:t});n.fetch=function(s,a){const o={headers:this.headers()};return a&&(o.method="POST",o.body=a),fetch(s,o).then(_=>_.json())},this._ready=n.load().then(s=>this._remote=s)}ready(){return this._ready}on(i,t){this.ready().then(n=>{if(typeof i=="string")n.on(i,t);else for(const s in i)n.on(s,i[s])})}}function Ot(e){function i(n,s){switch(n){case"add-event":(function(a){if(e.getEvent(a.id))return void console.warn(`Event with ID ${a.id} already exists. Skipping add.`);typeof a.start_date=="string"&&(a.start_date=e.templates.parse_date(a.start_date)),typeof a.end_date=="string"&&(a.end_date=e.templates.parse_date(a.end_date)),a.original_start&&typeof a.original_start=="string"&&(a.original_start=e.templates.parse_date(a.original_start)),t(()=>{e.addEvent(a)})})(s);break;case"update-event":(function(a){const o=a.id;if(!e.getEvent(o))return void console.warn(`Event with ID ${o} does not exist. Skipping update.`);const _=e.getEvent(o);t(()=>{for(let r in a)r!=="start_date"&&r!=="end_date"&&(_[r]=a[r]);typeof a.start_date=="string"&&(a.start_date=e.templates.parse_date(a.start_date)),typeof a.end_date=="string"&&(a.end_date=e.templates.parse_date(a.end_date)),a.original_start&&typeof a.original_start=="string"&&(a.original_start=e.templates.parse_date(a.original_start)),e.callEvent("onEventChanged",[o,_]),e.updateEvent(o),o!==a.id&&e.changeEventId(o,a.id)})})(s);break;case"delete-event":(function(a){const o=a.id;if(!e.getEvent(o))return void((a.event_pid||a.recurring_event_id)&&t(()=>{e.addEvent(a)}));t(()=>{const _=e.getEvent(o);if(_){if(_.rec_type||_.rrule){e._roll_back_dates(_);const r=e._get_rec_markers(o);for(const d in r)e.getEvent(d)&&e.deleteEvent(d,!0)}if(e.getState().lightbox_id==o&&(this._new_event=this._lightbox_id,a.id=this._lightbox_id,this._events[this._lightbox_id]=a,e.callEvent("onLiveUpdateCollision",[o,null,"delete",a])===!1))return void e.endLightbox(!1,e._lightbox);e.deleteEvent(o,!0)}})})(s)}}function t(n){e._dp?e._dp.ignore(n):n()}return{events:function(n){if(!n||!n.event||!n.event.id)return void console.error("Invalid message format:",n);const{type:s,event:a}=n;if(!e._dp||!e._dp._in_progress[a.id]){if(s==="add-event"&&e._dp){for(const o in e._dp._in_progress)if(e._dp.getState(o)==="inserted")return void e._dp.attachEvent("onFullSync",function(){e.getEvent(a.id)||i(s,a)},{once:!0})}i(s,a)}}}}function Lt(e){(function(i){const t={};i.attachEvent("onConfirmedBeforeEventDelete",function(n){return t[n]=!0,!0}),i.attachEvent("onEventDeleted",function(n,s){if(!t[n])return;delete t[n];let a=i.copy(s);i.config.undo_deleted&&!i.getState().new_event&&i.message({text:`<div class="dhx_info_message">
9
+ */const Q=typeof window<"u"?window:global;function Mt(e){let i=[],t=!1,n=null,s=null;function a(){return e.config.drag_highlight&&e.markTimespan}function o(d){const l=e.getView(d);return l?l.layout:d}function _(d){const{event:l,layout:h,viewName:p,sectionId:v,eventNode:g}=d;(function(f,y){switch(y){case"month":f.style.top="",f.style.left="";break;case"timeline":f.style.left="",f.style.marginLeft="1px";break;default:f.style.top=""}})(g,h);const c={};let u={start_date:l.start_date,end_date:l.end_date,css:"dhx_scheduler_dnd_marker",html:g};if(h=="timeline"){const f=e.getView(p);if(f.round_position){const y=e._get_date_index(f,l.start_date),w=f._trace_x[y];u.start_date=w}}return h!="timeline"&&h!="month"||(u={...u,end_date:e.date.add(l.start_date,1,"minute")}),v&&(c[p]=v,u.sections=c),u}function r(d){const{layout:l}=d;let h;switch(l){case"month":h=function(p){let v=[];const{event:g,layout:c,viewName:u,sectionId:f}=p,y=[];let w=new Date(g.start_date);for(;w.valueOf()<g.end_date.valueOf();){let M={start_date:w};y.push(M),w=e.date.week_start(e.date.add(w,1,"week"))}let D=e.$container.querySelectorAll(`[${e.config.event_attribute}='${g.id}']`);for(let M=0;M<D.length;M++){const k={event:y[M],layout:c,viewName:u,sectionId:f,eventNode:D[M].cloneNode(!0)};v.push(_(k))}return v}(d);break;case"timeline":case"units":h=function(p){let v=[];const{event:g,layout:c,viewName:u,eventNode:f}=p;let y=function(w){const D=e.getView(w);return D.y_property?D.y_property:D.map_to?D.map_to:void 0}(u);if(y){const w=String(g[y]).split(e.config.section_delimiter).map(M=>String(M)),D=[];for(let M=0;M<w.length;M++){D[M]=f.cloneNode(!0);const k={event:g,layout:c,viewName:u,sectionId:w[M],eventNode:D[M]};v.push(_(k))}}return v}(d);break;default:h=function(p){const{event:v,layout:g,viewName:c,sectionId:u}=p;let f=[],y=e.$container.querySelectorAll(`[${e.config.event_attribute}='${v.id}']:not(.dhx_cal_select_menu):not(.dhx_drag_marker)`);if(y)for(let w=0;w<y.length;w++){let D=y[w].cloneNode(!0);const M={event:{start_date:new Date(+D.getAttribute("data-bar-start")),end_date:new Date(+D.getAttribute("data-bar-end"))},layout:g,viewName:c,sectionId:u,eventNode:D};f.push(_(M))}return f}(d)}h.forEach(p=>{i.push(e.markTimespan(p))})}e.attachEvent("onBeforeDrag",function(d,l,h){return a()&&(t=!0,s=e.getEvent(d),n=h.target.closest(`[${e.config.event_attribute}]`),o(e.getState().mode)=="units"&&e.config.cascade_event_display&&(e.unselect(d),n=h.target.closest(`[${e.config.event_attribute}]`))),!0}),e.attachEvent("onEventDrag",function(d,l,h){if(t&&a()){t=!1;const p=e.getState().mode,v=o(p),g=e.getActionData(h).section;s&&r({event:s,layout:v,viewName:p,sectionId:g,eventNode:n})}}),e.attachEvent("onDragEnd",function(d,l,h){for(let p=0;p<i.length;p++)e.unmarkTimespan(i[p]);i=[],n=null,s=null})}function Nt(e){e.config.mark_now=!0,e.config.display_marked_timespans=!0,e.config.overwrite_marked_timespans=!0;var i="dhx_time_block",t="default",n=function(a,o,_){var r=typeof a=="object"?a:{days:a};return r.type=i,r.css="",o&&(_&&(r.sections=_),r=function(d,l,h){return l instanceof Date&&h instanceof Date?(d.start_date=l,d.end_date=h):(d.days=l,d.zones=h),d}(r,a,o)),r};function s(a,o,_,r,d){var l=e,h=[],p={_props:"map_to",matrix:"y_property"};for(var v in p){var g=p[v];if(l[v])for(var c in l[v]){var u=l[v][c][g];a[u]&&(h=l._add_timespan_zones(h,e._get_blocked_zones(o[c],a[u],_,r,d)))}}return h=l._add_timespan_zones(h,e._get_blocked_zones(o,"global",_,r,d))}e.blockTime=function(a,o,_){var r=n(a,o,_);return e.addMarkedTimespan(r)},e.unblockTime=function(a,o,_){var r=n(a,o=o||"fullday",_);return e.deleteMarkedTimespan(r)},e.checkInMarkedTimespan=function(a,o,_){o=o||t;for(var r=!0,d=new Date(a.start_date.valueOf()),l=e.date.add(d,1,"day"),h=e._marked_timespans;d<a.end_date;d=e.date.date_part(l),l=e.date.add(d,1,"day")){var p=+e.date.date_part(new Date(d)),v=s(a,h,d.getDay(),p,o);if(v)for(var g=0;g<v.length;g+=2){var c=e._get_zone_minutes(d),u=a.end_date>l||a.end_date.getDate()!=d.getDate()?1440:e._get_zone_minutes(a.end_date),f=v[g],y=v[g+1];if(f<u&&y>c&&!(r=typeof _=="function"&&_(a,c,u,f,y)))break}}return!r},e.checkLimitViolation=function(a){if(!a||!e.config.check_limits)return!0;var o=e,_=o.config,r=[];if(a.rec_type&&a._end_date||a.rrule){const v=a._end_date||a.end_date;return!_.limit_start||!_.limit_end||v.valueOf()>=_.limit_start.valueOf()&&a.start_date.valueOf()<=_.limit_end.valueOf()}r=[a];for(var d=!0,l=0;l<r.length;l++){var h=!0,p=r[l];p._timed=e.isOneDayEvent(p),(h=!_.limit_start||!_.limit_end||p.start_date.valueOf()>=_.limit_start.valueOf()&&p.end_date.valueOf()<=_.limit_end.valueOf())&&(h=!e.checkInMarkedTimespan(p,i,function(v,g,c,u,f){var y=!0;return g<=f&&g>=u&&((f==1440||c<=f)&&(y=!1),v._timed&&o._drag_id&&o._drag_mode=="new-size"?(v.start_date.setHours(0),v.start_date.setMinutes(f)):y=!1),(c>=u&&c<=f||g<u&&c>f)&&(v._timed&&o._drag_id&&o._drag_mode=="new-size"?(v.end_date.setHours(0),v.end_date.setMinutes(u)):y=!1),y})),h||(h=o.checkEvent("onLimitViolation")?o.callEvent("onLimitViolation",[p.id,p]):h),d=d&&h}return d||(o._drag_id=null,o._drag_mode=null),d},e._get_blocked_zones=function(a,o,_,r,d){var l=[];if(a&&a[o])for(var h=a[o],p=this._get_relevant_blocked_zones(_,r,h,d),v=0;v<p.length;v++)l=this._add_timespan_zones(l,p[v].zones);return l},e._get_relevant_blocked_zones=function(a,o,_,r){var d;return e.config.overwrite_marked_timespans?d=_[o]&&_[o][r]?_[o][r]:_[a]&&_[a][r]?_[a][r]:[]:(d=[],_[o]&&_[o][r]&&(d=d.concat(_[o][r])),_[a]&&_[a][r]&&(d=d.concat(_[a][r]))),d},e._mark_now=function(a){var o="dhx_now_time";this._els[o]||(this._els[o]=[]);var _=e._currentDate(),r=this.config;if(e._remove_mark_now(),!a&&r.mark_now&&_<this._max_date&&_>this._min_date&&_.getHours()>=r.first_hour&&_.getHours()<r.last_hour){var d=this.locate_holder_day(_);this._els[o]=e._append_mark_now(d,_)}},e._append_mark_now=function(a,o){var _="dhx_now_time",r=e._get_zone_minutes(o),d={zones:[r,r+1],css:_,type:_};if(!this._table_view){if(this._props&&this._props[this._mode]){var l,h,p=this._props[this._mode],v=p.size||p.options.length;p.days>1?(p.size&&p.options.length&&(a=(p.position+a)/p.options.length*p.size),l=a,h=a+v):h=(l=0)+v;for(var g=[],c=l;c<h;c++){var u=c;d.days=u;var f=e._render_marked_timespan(d,null,u)[0];g.push(f)}return g}return d.days=a,e._render_marked_timespan(d,null,a)}if(this._mode=="month")return d.days=+e.date.date_part(o),e._render_marked_timespan(d,null,null)},e._remove_mark_now=function(){for(var a="dhx_now_time",o=this._els[a],_=0;_<o.length;_++){var r=o[_],d=r.parentNode;d&&d.removeChild(r)}this._els[a]=[]},e._marked_timespans={global:{}},e._get_zone_minutes=function(a){return 60*a.getHours()+a.getMinutes()},e._prepare_timespan_options=function(a){var o=[],_=[];if(a.days=="fullweek"&&(a.days=[0,1,2,3,4,5,6]),a.days instanceof Array){for(var r=a.days.slice(),d=0;d<r.length;d++){var l=e._lame_clone(a);l.days=r[d],o.push.apply(o,e._prepare_timespan_options(l))}return o}if(!a||!(a.start_date&&a.end_date&&a.end_date>a.start_date||a.days!==void 0&&a.zones)&&!a.type)return o;a.zones=="fullday"&&(a.zones=[0,1440]),a.zones&&a.invert_zones&&(a.zones=e.invertZones(a.zones)),a.id=e.uid(),a.css=a.css||"",a.type=a.type||t;var h=a.sections;if(h){for(var p in h)if(h.hasOwnProperty(p)){var v=h[p];for(v instanceof Array||(v=[v]),d=0;d<v.length;d++)(D=e._lame_copy({},a)).sections={},D.sections[p]=v[d],_.push(D)}}else _.push(a);for(var g=0;g<_.length;g++){var c=_[g],u=c.start_date,f=c.end_date;if(u&&f)for(var y=e.date.date_part(new Date(u)),w=e.date.add(y,1,"day");y<f;){var D;delete(D=e._lame_copy({},c)).start_date,delete D.end_date,D.days=y.valueOf();var M=u>y?e._get_zone_minutes(u):0,k=f>w||f.getDate()!=y.getDate()?1440:e._get_zone_minutes(f);D.zones=[M,k],o.push(D),y=w,w=e.date.add(w,1,"day")}else c.days instanceof Date&&(c.days=e.date.date_part(c.days).valueOf()),c.zones=a.zones.slice(),o.push(c)}return o},e._get_dates_by_index=function(a,o,_){var r=[];o=e.date.date_part(new Date(o||e._min_date)),_=new Date(_||e._max_date);for(var d=o.getDay(),l=a-d>=0?a-d:7-o.getDay()+a,h=e.date.add(o,l,"day");h<_;h=e.date.add(h,1,"week"))r.push(h);return r},e._get_css_classes_by_config=function(a){var o=[];return a.type==i&&(o.push(i),a.css&&o.push(i+"_reset")),o.push("dhx_marked_timespan",a.css),o.join(" ")},e._get_block_by_config=function(a){var o=document.createElement("div");if(a.html){let _=a.html;typeof _=="function"&&(_=_(a)),typeof _=="string"?o.innerHTML=a.html:e.config.external_render&&e.config.external_render.isElement(_)?e.config.external_render.renderElement(_,o):o.appendChild(_)}return o},e._render_marked_timespan=function(a,o,_){var r=[],d=e.config,l=this._min_date,h=this._max_date,p=!1;if(!d.display_marked_timespans)return r;if(!_&&_!==0){if(a.days<7)_=a.days;else{var v=new Date(a.days);if(p=+v,!(+h>+v&&+l<=+v))return r;_=v.getDay()}var g=l.getDay();g>_?_=7-(g-_):_-=g}var c=a.zones,u=e._get_css_classes_by_config(a);if(e._table_view&&e._mode=="month"){var f=[],y=[];if(o)f.push(o),y.push(_);else{y=p?[p]:e._get_dates_by_index(_);for(var w=0;w<y.length;w++)f.push(this._scales[y[w]])}for(w=0;w<f.length;w++){o=f[w],_=y[w];var D=this.locate_holder_day(_,!1)%this._cols.length;if(!this._ignores[D]){var M=e._get_block_by_config(a);M.className=u,M.style.top="0px",M.style.height="100%";for(var k=0;k<c.length;k+=2){var N=c[w];if((E=c[w+1])<=N)return[];(S=M.cloneNode(!0)).style.left="0px",S.style.width="100%",o.appendChild(S),r.push(S)}}}}else{var m=_;if(this._ignores[this.locate_holder_day(_,!1)])return r;if(this._props&&this._props[this._mode]&&a.sections&&a.sections[this._mode]){var b=this._props[this._mode];m=b.order[a.sections[this._mode]];var x=b.order[a.sections[this._mode]];b.days>1?m=m*(b.size||b.options.length)+x:(m=x,b.size&&m>b.position+b.size&&(m=0))}for(o=o||e.locate_holder(m),w=0;w<c.length;w+=2){var E,S;if(N=Math.max(c[w],60*d.first_hour),(E=Math.min(c[w+1],60*d.last_hour))<=N){if(w+2<c.length)continue;return[]}(S=e._get_block_by_config(a)).className=u;var T=24*this.config.hour_size_px+1,A=36e5;S.style.top=Math.round((60*N*1e3-this.config.first_hour*A)*this.config.hour_size_px/A)%T+"px",S.style.height=Math.max(Math.round(60*(E-N)*1e3*this.config.hour_size_px/A)%T,1)+"px",o.appendChild(S),r.push(S)}}return r},e._mark_timespans=function(){var a=this._els.dhx_cal_data[0],o=[];if(e._table_view&&e._mode=="month")for(var _ in this._scales){var r=new Date(+_);o.push.apply(o,e._on_scale_add_marker(this._scales[_],r))}else{r=new Date(e._min_date);for(var d=0,l=a.childNodes.length;d<l;d++){var h=a.childNodes[d];h.firstChild&&e._getClassName(h.firstChild).indexOf("dhx_scale_hour")>-1||(o.push.apply(o,e._on_scale_add_marker(h,r)),r=e.date.add(r,1,"day"))}}return o},e.markTimespan=function(a){if(!this._els)throw new Error("`scheduler.markTimespan` can't be used before scheduler initialization. Place `scheduler.markTimespan` call after `scheduler.init`.");var o=!1;this._els.dhx_cal_data||(e.get_elements(),o=!0);var _=e._marked_timespans_ids,r=e._marked_timespans_types,d=e._marked_timespans;e.deleteMarkedTimespan(),e.addMarkedTimespan(a);var l=e._mark_timespans();return o&&(e._els=[]),e._marked_timespans_ids=_,e._marked_timespans_types=r,e._marked_timespans=d,l},e.unmarkTimespan=function(a){if(a)for(var o=0;o<a.length;o++){var _=a[o];_.parentNode&&_.parentNode.removeChild(_)}},e._addMarkerTimespanConfig=function(a){var o="global",_=e._marked_timespans,r=a.id,d=e._marked_timespans_ids;d[r]||(d[r]=[]);var l=a.days,h=a.sections,p=a.type;if(a.id=r,h){for(var v in h)if(h.hasOwnProperty(v)){_[v]||(_[v]={});var g=h[v],c=_[v];c[g]||(c[g]={}),c[g][l]||(c[g][l]={}),c[g][l][p]||(c[g][l][p]=[],e._marked_timespans_types||(e._marked_timespans_types={}),e._marked_timespans_types[p]||(e._marked_timespans_types[p]=!0));var u=c[g][l][p];a._array=u,u.push(a),d[r].push(a)}}else _[o][l]||(_[o][l]={}),_[o][l][p]||(_[o][l][p]=[]),e._marked_timespans_types||(e._marked_timespans_types={}),e._marked_timespans_types[p]||(e._marked_timespans_types[p]=!0),u=_[o][l][p],a._array=u,u.push(a),d[r].push(a)},e._marked_timespans_ids={},e.addMarkedTimespan=function(a){var o=e._prepare_timespan_options(a);if(o.length){for(var _=o[0].id,r=0;r<o.length;r++)e._addMarkerTimespanConfig(o[r]);return _}},e._add_timespan_zones=function(a,o){var _=a.slice();if(o=o.slice(),!_.length)return o;for(var r=0;r<_.length;r+=2)for(var d=_[r],l=_[r+1],h=r+2==_.length,p=0;p<o.length;p+=2){var v=o[p],g=o[p+1];if(g>l&&v<=l||v<d&&g>=d)_[r]=Math.min(d,v),_[r+1]=Math.max(l,g),r-=2;else{if(!h)continue;var c=d>v?0:2;_.splice(r+c,0,v,g)}o.splice(p--,2);break}return _},e._subtract_timespan_zones=function(a,o){for(var _=a.slice(),r=0;r<_.length;r+=2)for(var d=_[r],l=_[r+1],h=0;h<o.length;h+=2){var p=o[h],v=o[h+1];if(v>d&&p<l){var g=!1;d>=p&&l<=v&&_.splice(r,2),d<p&&(_.splice(r,2,d,p),g=!0),l>v&&_.splice(g?r+2:r,g?0:2,v,l),r-=2;break}}return _},e.invertZones=function(a){return e._subtract_timespan_zones([0,1440],a.slice())},e._delete_marked_timespan_by_id=function(a){var o=e._marked_timespans_ids[a];if(o){for(var _=0;_<o.length;_++)for(var r=o[_],d=r._array,l=0;l<d.length;l++)if(d[l]==r){d.splice(l,1);break}}},e._delete_marked_timespan_by_config=function(a){var o,_=e._marked_timespans,r=a.sections,d=a.days,l=a.type||t;if(r){for(var h in r)if(r.hasOwnProperty(h)&&_[h]){var p=r[h];_[h][p]&&(o=_[h][p])}}else o=_.global;if(o){if(d!==void 0)o[d]&&o[d][l]&&(e._addMarkerTimespanConfig(a),e._delete_marked_timespans_list(o[d][l],a));else for(var v in o)if(o[v][l]){var g=e._lame_clone(a);a.days=v,e._addMarkerTimespanConfig(g),e._delete_marked_timespans_list(o[v][l],a)}}},e._delete_marked_timespans_list=function(a,o){for(var _=0;_<a.length;_++){var r=a[_],d=e._subtract_timespan_zones(r.zones,o.zones);if(d.length)r.zones=d;else{a.splice(_,1),_--;for(var l=e._marked_timespans_ids[r.id],h=0;h<l.length;h++)if(l[h]==r){l.splice(h,1);break}}}},e.deleteMarkedTimespan=function(a){if(arguments.length||(e._marked_timespans={global:{}},e._marked_timespans_ids={},e._marked_timespans_types={}),typeof a!="object")e._delete_marked_timespan_by_id(a);else{a.start_date&&a.end_date||(a.days!==void 0||a.type||(a.days="fullweek"),a.zones||(a.zones="fullday"));var o=[];if(a.type)o.push(a.type);else for(var _ in e._marked_timespans_types)o.push(_);for(var r=e._prepare_timespan_options(a),d=0;d<r.length;d++)for(var l=r[d],h=0;h<o.length;h++){var p=e._lame_clone(l);p.type=o[h],e._delete_marked_timespan_by_config(p)}}},e._get_types_to_render=function(a,o){var _=a?e._lame_copy({},a):{};for(var r in o||{})o.hasOwnProperty(r)&&(_[r]=o[r]);return _},e._get_configs_to_render=function(a){var o=[];for(var _ in a)a.hasOwnProperty(_)&&o.push.apply(o,a[_]);return o},e._on_scale_add_marker=function(a,o){if(!e._table_view||e._mode=="month"){var _=o.getDay(),r=o.valueOf(),d=this._mode,l=e._marked_timespans,h=[],p=[];if(this._props&&this._props[d]){var v=this._props[d],g=v.options,c=g[e._get_unit_index(v,o)];if(v.days>1){var u=Math.round((o-e._min_date)/864e5),f=v.size||g.length;o=e.date.add(e._min_date,Math.floor(u/f),"day"),o=e.date.date_part(o)}else o=e.date.date_part(new Date(this._date));if(_=o.getDay(),r=o.valueOf(),l[d]&&l[d][c.key]){var y=l[d][c.key],w=e._get_types_to_render(y[_],y[r]);h.push.apply(h,e._get_configs_to_render(w))}}var D=l.global;if(e.config.overwrite_marked_timespans){var M=D[r]||D[_];h.push.apply(h,e._get_configs_to_render(M))}else D[r]&&h.push.apply(h,e._get_configs_to_render(D[r])),D[_]&&h.push.apply(h,e._get_configs_to_render(D[_]));for(var k=0;k<h.length;k++)p.push.apply(p,e._render_marked_timespan(h[k],a,o));return p}},e.attachEvent("onScaleAdd",function(){e._on_scale_add_marker.apply(e,arguments)}),e.dblclick_dhx_marked_timespan=function(a,o){e.callEvent("onScaleDblClick",[e.getActionData(a).date,o,a]),e.config.dblclick_create&&e.addEventNow(e.getActionData(a).date,null,a)}}function Tt(e){var i={},t=!1;function n(r,d){d=typeof d=="function"?d:function(){},i[r]||(i[r]=this[r],this[r]=d)}function s(r){i[r]&&(this[r]=i[r],i[r]=null)}function a(r){for(var d in r)n.call(this,d,r[d])}function o(){for(var r in i)s.call(this,r)}function _(r){try{r()}catch(d){window.console.error(d)}}return e.$stateProvider.registerProvider("batchUpdate",function(){return{batch_update:t}},!1),function(r,d){if(t)return void _(r);var l,h=this._dp&&this._dp.updateMode!="off";h&&(l=this._dp.updateMode,this._dp.setUpdateMode("off"));const p={setModeDate:{date:null,mode:null},needRender:!1,needUpdateView:!1,repaintEvents:{}},v=(c,u)=>{c&&(p.setModeDate.date=c),u&&(p.setModeDate.mode=u)};var g={render:(c,u)=>{p.needRender=!0,v(c,u)},setCurrentView:(c,u)=>{p.needRender=!0,v(c,u)},updateView:(c,u)=>{p.needUpdateView=!0,v(c,u)},render_data:()=>p.needRender=!0,render_view_data:c=>{c&&c.length?c.forEach(u=>p.repaintEvents[u.id]=!0):p.needRender=!0}};if(a.call(this,g),t=!0,this.callEvent("onBeforeBatchUpdate",[]),_(r),this.callEvent("onAfterBatchUpdate",[]),o.call(this),t=!1,!d)if(p.needRender)e.render(p.setModeDate.date,p.setModeDate.mode);else if(p.needUpdateView)e.updateView(p.setModeDate.date,p.setModeDate.mode);else for(const c in p.repaintEvents)e.updateEvent(c);h&&(this._dp.setUpdateMode(l),this._dp.sendData())}}class At{constructor(i){const{url:t,token:n}=i;this._url=t,this._token=n,this._mode=1,this._seed=1,this._queue=[],this.data={},this.api={},this._events={}}headers(){return{Accept:"application/json","Content-Type":"application/json","Remote-Token":this._token}}fetch(i,t){const n={credentials:"include",headers:this.headers()};return t&&(n.method="POST",n.body=t),fetch(i,n).then(s=>s.json())}load(i){return i&&(this._url=i),this.fetch(this._url).then(t=>this.parse(t))}parse(i){const{key:t,websocket:n}=i;t&&(this._token=i.key);for(const s in i.data)this.data[s]=i.data[s];for(const s in i.api){const a=this.api[s]={},o=i.api[s];for(const _ in o)a[_]=this._wrapper(s+"."+_)}return n&&this.connect(),this}connect(){const i=this._socket;i&&(this._socket=null,i.onclose=function(){},i.close()),this._mode=2,this._socket=function(t,n,s,a){let o=n;o[0]==="/"&&(o=document.location.protocol+"//"+document.location.host+n),o=o.replace(/^http(s|):/,"ws$1:");const _=o.indexOf("?")!=-1?"&":"?";o=`${o}${_}token=${s}&ws=1`;const r=new WebSocket(o);return r.onclose=()=>setTimeout(()=>t.connect(),2e3),r.onmessage=d=>{const l=JSON.parse(d.data);switch(l.action){case"result":t.result(l.body,[]);break;case"event":t.fire(l.body.name,l.body.value);break;case"start":a();break;default:t.onError(l.data)}},r}(this,this._url,this._token,()=>(this._mode=3,this._send(),this._resubscribe(),this))}_wrapper(i){return(function(){const t=[].slice.call(arguments);let n=null;const s=new Promise((a,o)=>{n={data:{id:this._uid(),name:i,args:t},status:1,resolve:a,reject:o},this._queue.push(n)});return this.onCall(n,s),this._mode===3?this._send(n):setTimeout(()=>this._send(),1),s}).bind(this)}_uid(){return(this._seed++).toString()}_send(i){if(this._mode==2)return void setTimeout(()=>this._send(),100);const t=i?[i]:this._queue.filter(s=>s.status===1);if(!t.length)return;const n=t.map(s=>(s.status=2,s.data));this._mode!==3?this.fetch(this._url,JSON.stringify(n)).catch(s=>this.onError(s)).then(s=>this.result(s,n)):this._socket.send(JSON.stringify({action:"call",body:n}))}result(i,t){const n={};if(i)for(let s=0;s<i.length;s++)n[i[s].id]=i[s];else for(let s=0;s<t.length;s++)n[t[s].id]={id:t[s].id,error:"Network Error",data:null};for(let s=this._queue.length-1;s>=0;s--){const a=this._queue[s],o=n[a.data.id];o&&(this.onResponse(a,o),o.error?a.reject(o.error):a.resolve(o.data),this._queue.splice(s,1))}}on(i,t){const n=this._uid();let s=this._events[i];const a=!!s;return a||(s=this._events[i]=[]),s.push({id:n,handler:t}),a||this._mode!=3||this._socket.send(JSON.stringify({action:"subscribe",name:i})),{name:i,id:n}}_resubscribe(){if(this._mode==3)for(const i in this._events)this._socket.send(JSON.stringify({action:"subscribe",name:i}))}detach(i){if(!i){if(this._mode==3)for(const a in this._events)this._socket.send(JSON.stringify({action:"unsubscribe",key:a}));return void(this._events={})}const{id:t,name:n}=i,s=this._events[n];if(s){const a=s.filter(o=>o.id!=t);a.length?this._events[n]=a:(delete this._events[n],this._mode==3&&this._socket.send(JSON.stringify({action:"unsubscribe",name:n})))}}fire(i,t){const n=this._events[i];if(n)for(let s=0;s<n.length;s++)n[s].handler(t)}onError(i){return null}onCall(i,t){}onResponse(i,t){}}class Ct{constructor(i,t){const n=new At({url:i,token:t});n.fetch=function(s,a){const o={headers:this.headers()};return a&&(o.method="POST",o.body=a),fetch(s,o).then(_=>_.json())},this._ready=n.load().then(s=>this._remote=s)}ready(){return this._ready}on(i,t){this.ready().then(n=>{if(typeof i=="string")n.on(i,t);else for(const s in i)n.on(s,i[s])})}}function Ot(e){function i(n,s){switch(n){case"add-event":(function(a){if(e.getEvent(a.id))return void console.warn(`Event with ID ${a.id} already exists. Skipping add.`);typeof a.start_date=="string"&&(a.start_date=e.templates.parse_date(a.start_date)),typeof a.end_date=="string"&&(a.end_date=e.templates.parse_date(a.end_date)),a.original_start&&typeof a.original_start=="string"&&(a.original_start=e.templates.parse_date(a.original_start)),t(()=>{e.addEvent(a)})})(s);break;case"update-event":(function(a){const o=a.id;if(!e.getEvent(o))return void console.warn(`Event with ID ${o} does not exist. Skipping update.`);const _=e.getEvent(o);t(()=>{for(let r in a)r!=="start_date"&&r!=="end_date"&&(_[r]=a[r]);typeof a.start_date=="string"&&(_.start_date=e.templates.parse_date(a.start_date)),typeof a.end_date=="string"&&(_.end_date=e.templates.parse_date(a.end_date)),a.original_start&&typeof a.original_start=="string"&&(_.original_start=e.templates.parse_date(a.original_start)),e.callEvent("onEventChanged",[o,_]),e.updateEvent(o),o!==a.id&&e.changeEventId(o,a.id)})})(s);break;case"delete-event":(function(a){const o=a.id;if(!e.getEvent(o))return void((a.event_pid||a.recurring_event_id)&&t(()=>{e.addEvent(a)}));t(()=>{const _=e.getEvent(o);if(_){if(_.rec_type||_.rrule){e._roll_back_dates(_);const r=e._get_rec_markers(o);for(const d in r)e.getEvent(d)&&e.deleteEvent(d,!0)}if(e.getState().lightbox_id==o&&(this._new_event=this._lightbox_id,a.id=this._lightbox_id,this._events[this._lightbox_id]=a,e.callEvent("onLiveUpdateCollision",[o,null,"delete",a])===!1))return void e.endLightbox(!1,e._lightbox);e.deleteEvent(o,!0)}})})(s)}}function t(n){e._dp?e._dp.ignore(n):n()}return{events:function(n){if(!n||!n.event||!n.event.id)return void console.error("Invalid message format:",n);const{type:s,event:a}=n;if(!e._dp||!e._dp._in_progress[a.id]){if(s==="add-event"&&e._dp){for(const o in e._dp._in_progress)if(e._dp.getState(o)==="inserted")return void e._dp.attachEvent("onFullSync",function(){e.getEvent(a.id)||i(s,a)},{once:!0})}i(s,a)}}}}function Lt(e){(function(i){const t={};i.attachEvent("onConfirmedBeforeEventDelete",function(n){return t[n]=!0,!0}),i.attachEvent("onEventDeleted",function(n,s){if(!t[n])return;delete t[n];let a=i.copy(s);i.config.undo_deleted&&!i.getState().new_event&&i.message({text:`<div class="dhx_info_message">
10
10
  <span class="undo_popup_text">Event deleted</span>
11
11
  <button class="undo_button" data-deleted-event-id="${s.id}">Undo</button>
12
12
  </div>`,expire:1e4,type:"popup_after_delete",callback:function(o){o.target.closest(`[data-deleted-event-id="${s.id}"]`)&&(a.rrule&&a.duration&&(a.end_date=new Date(a.start_date.valueOf()+1e3*a.duration),i.addEvent(a)),i.addEvent(a),i.render())}})})})(e),Mt(e),Nt(e),function(i){i.batchUpdate=Tt(i)}(e),function(i){i.ext||(i.ext={}),i.ext.liveUpdates={RemoteEvents:Ct,remoteUpdates:Ot(i)}}(e)}var $t=Date.now();function Ce(e){return!(!e||typeof e!="object")&&!!(e.getFullYear&&e.getMonth&&e.getDate)}const ne={uid:function(){return $t++},mixin:function(e,i,t){for(var n in i)(e[n]===void 0||t)&&(e[n]=i[n]);return e},copy:function e(i){var t,n,s;if(i&&typeof i=="object")switch(!0){case Ce(i):n=new Date(i);break;case(s=i,Array.isArray?Array.isArray(s):s&&s.length!==void 0&&s.pop&&s.push):for(n=new Array(i.length),t=0;t<i.length;t++)n[t]=e(i[t]);break;case function(a){return a&&typeof a=="object"&&Function.prototype.toString.call(a.constructor)==="function String() { [native code] }"}(i):n=new String(i);break;case function(a){return a&&typeof a=="object"&&Function.prototype.toString.call(a.constructor)==="function Number() { [native code] }"}(i):n=new Number(i);break;case function(a){return a&&typeof a=="object"&&Function.prototype.toString.call(a.constructor)==="function Boolean() { [native code] }"}(i):n=new Boolean(i);break;default:for(t in n={},i){const a=typeof i[t];a==="string"||a==="number"||a==="boolean"?n[t]=i[t]:Ce(i[t])?n[t]=new Date(i[t]):Object.prototype.hasOwnProperty.apply(i,[t])&&(n[t]=e(i[t]))}}return n||i},defined:function(e){return e!==void 0},isDate:Ce,delay:function(e,i){var t,n=function(){n.$cancelTimeout(),n.$pending=!0;var s=Array.prototype.slice.call(arguments);t=setTimeout(function(){e.apply(this,s),n.$pending=!1},i)};return n.$pending=!1,n.$cancelTimeout=function(){clearTimeout(t),n.$pending=!1},n.$execute=function(){var s=Array.prototype.slice.call(arguments);e.apply(this,s),n.$cancelTimeout()},n}};function Ht(e){function i(g){var c=document.createElement("div");return(g||"").split(" ").forEach(function(u){c.classList.add(u)}),c}var t=function(){return i("dhx_cal_navbar_rows_container")},n=function(){return i("dhx_cal_navbar_row")},s=function(g){var c=i("dhx_cal_tab");return c.setAttribute("name",g.view+"_tab"),c.setAttribute("data-tab",g.view),e.config.fix_tab_position&&(g.$firstTab?c.classList.add("dhx_cal_tab_first"):g.$lastTab?c.classList.add("dhx_cal_tab_last"):g.view!=="week"&&c.classList.add("dhx_cal_tab_standalone"),g.$segmentedTab&&c.classList.add("dhx_cal_tab_segmented")),c},a=function(){return i("dhx_cal_date")},o=function(g){return i("dhx_cal_nav_button dhx_cal_nav_button_custom dhx_cal_tab")},_=function(g){return i("dhx_cal_"+g.view+"_button dhx_cal_nav_button")},r=function(){return i("dhx_cal_line_spacer")},d=function(g){var c=i("dhx_minical_icon");return g.click||c.$_eventAttached||e.event(c,"click",function(){e.isCalendarVisible()?e.destroyCalendar():e.renderCalendar({position:this,date:e.getState().date,navigation:!0,handler:function(u,f){e.setCurrentView(u),e.destroyCalendar()}})}),c};function l(g){var c=function(y){var w;if(y.view)switch(y.view){case"today":case"next":case"prev":w=_;break;case"date":w=a;break;case"spacer":w=r;break;case"button":w=o;break;case"minicalendar":w=d;break;default:w=s}else y.rows?w=t:y.cols&&(w=n);return w}(g);if(c){var u=c(g);if(g.css&&u.classList.add(g.css),g.width&&((f=g.width)===1*f&&(f+="px"),u.style.width=f),g.height&&((f=g.height)===1*f&&(f+="px"),u.style.height=f),g.click&&e.event(u,"click",g.click),g.html&&(u.innerHTML=g.html),g.align){var f="";g.align=="right"?f="flex-end":g.align=="left"&&(f="flex-start"),u.style.justifyContent=f}return u}}function h(g){return typeof g=="string"&&(g={view:g}),g.view||g.rows||g.cols||(g.view="button"),g}function p(g){var c,u=document.createDocumentFragment();c=Array.isArray(g)?g:[g];for(var f=0;f<c.length;f++){var y,w=h(c[f]);w.view==="day"&&c[f+1]&&((y=h(c[f+1])).view!=="week"&&y.view!=="month"||(w.$firstTab=!0,w.$segmentedTab=!0)),w.view==="week"&&c[f-1]&&((y=h(c[f+1])).view!=="week"&&y.view!=="month"||(w.$segmentedTab=!0)),w.view==="month"&&c[f-1]&&((y=h(c[f-1])).view!=="week"&&y.view!=="day"||(w.$lastTab=!0,w.$segmentedTab=!0));var D=l(w);u.appendChild(D),(w.cols||w.rows)&&D.appendChild(p(w.cols||w.rows))}return u}e._init_nav_bar=function(g){var c=this.$container.querySelector(".dhx_cal_navline");return c||((c=document.createElement("div")).className="dhx_cal_navline dhx_cal_navline_flex",e._update_nav_bar(g,c),c)};var v=null;e._update_nav_bar=function(g,c){if(g){var u=!1,f=g.height||e.xy.nav_height;v!==null&&v===f||(u=!0),u&&(e.xy.nav_height=f),c.innerHTML="",c.appendChild(p(g)),e.unset_actions(),e._els=[],e.get_elements(),e.set_actions(),c.style.display=f===0?"none":"",v=f}}}function zt(e){function i(a){return a.isConnected!==void 0?a.isConnected:document.body.contains(a)}function t(a){return{w:a.innerWidth||document.documentElement.clientWidth,h:a.innerHeight||document.documentElement.clientHeight}}function n(a,o){var _,r=t(o);a.event(o,"resize",function(){clearTimeout(_),_=setTimeout(function(){if(i(a.$container)&&!a.$destroyed){var d,l,h=t(o);l=h,((d=r).w!=l.w||d.h!=l.h)&&(r=h,s(a))}},150)})}function s(a){a.$initialized&&!a.$destroyed&&a.$root&&i(a.$root)&&a.callEvent("onSchedulerResize",[])&&(a.updateView(),a.callEvent("onAfterSchedulerResize",[]))}(function(a){var o=a.$container;if(window.getComputedStyle(o).getPropertyValue("position")=="static"&&(o.style.position="relative"),window.ResizeObserver){let r=!0;const d=new ResizeObserver(function(l){r?r=!1:s(a)});d.observe(o),a.attachEvent("onDestroy",function(){d.unobserve(o)})}else{var _=document.createElement("iframe");_.className="scheduler_container_resize_watcher",_.tabIndex=-1,a.config.wai_aria_attributes&&(_.setAttribute("role","none"),_.setAttribute("aria-hidden",!0)),window.Sfdc||window.$A||window.Aura?function(r){var d=r.$root.offsetHeight,l=r.$root.offsetWidth;(function h(){r.$destroyed||(r.$root&&(r.$root.offsetHeight==d&&r.$root.offsetWidth==l||s(r),d=r.$root.offsetHeight,l=r.$root.offsetWidth),setTimeout(h,200))})()}(a):(o.appendChild(_),_.contentWindow?n(a,_.contentWindow):(o.removeChild(_),n(a,window)))}})(e)}class qt{constructor(){this._silent_mode=!1,this.listeners={}}_silentStart(){this._silent_mode=!0}_silentEnd(){this._silent_mode=!1}}function Oe(e){const i=new qt;e.attachEvent=function(t,n,s){t="ev_"+t.toLowerCase(),i.listeners[t]||(i.listeners[t]=function(o){let _={},r=0;const d=function(){let l=!0;for(const h in _){const p=_[h].apply(o,arguments);l=l&&p}return l};return d.addEvent=function(l,h){if(typeof l=="function"){let p;if(h&&h.id?p=h.id:(p=r,r++),h&&h.once){const v=l;l=function(){v(),d.removeEvent(p)}}return _[p]=l,p}return!1},d.removeEvent=function(l){delete _[l]},d.clear=function(){_={}},d}(this)),s&&s.thisObject&&(n=n.bind(s.thisObject));let a=t+":"+i.listeners[t].addEvent(n,s);return s&&s.id&&(a=s.id),a},e.attachAll=function(t){this.attachEvent("listen_all",t)},e.callEvent=function(t,n){if(i._silent_mode)return!0;const s="ev_"+t.toLowerCase(),a=i.listeners;return a.ev_listen_all&&a.ev_listen_all.apply(this,[t].concat(n)),!a[s]||a[s].apply(this,n)},e.checkEvent=function(t){return!!i.listeners["ev_"+t.toLowerCase()]},e.detachEvent=function(t){if(t){let n=i.listeners;for(const a in n)n[a].removeEvent(t);const s=t.split(":");if(n=i.listeners,s.length===2){const a=s[0],o=s[1];n[a]&&n[a].removeEvent(o)}}},e.detachAllEvents=function(){for(const t in i.listeners)i.listeners[t].clear()}}const Ge={event:function(e,i,t){e.addEventListener?e.addEventListener(i,t,!1):e.attachEvent&&e.attachEvent("on"+i,t)},eventRemove:function(e,i,t){e.removeEventListener?e.removeEventListener(i,t,!1):e.detachEvent&&e.detachEvent("on"+i,t)}};function jt(e){var i=function(){var t=function(n,s){n=n||Ge.event,s=s||Ge.eventRemove;var a=[],o={attach:function(_,r,d,l){a.push({element:_,event:r,callback:d,capture:l}),n(_,r,d,l)},detach:function(_,r,d,l){s(_,r,d,l);for(var h=0;h<a.length;h++){var p=a[h];p.element===_&&p.event===r&&p.callback===d&&p.capture===l&&(a.splice(h,1),h--)}},detachAll:function(){for(var _=a.slice(),r=0;r<_.length;r++){var d=_[r];o.detach(d.element,d.event,d.callback,d.capture),o.detach(d.element,d.event,d.callback,void 0),o.detach(d.element,d.event,d.callback,!1),o.detach(d.element,d.event,d.callback,!0)}a.splice(0,a.length)},extend:function(){return t(this.event,this.eventRemove)}};return o};return t()}();e.event=i.attach,e.eventRemove=i.detach,e._eventRemoveAll=i.detachAll,e._createDomEventScope=i.extend,e._trim=function(t){return(String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")}).apply(t)},e._isDate=function(t){return!(!t||typeof t!="object")&&!!(t.getFullYear&&t.getMonth&&t.getDate)},e._isObject=function(t){return t&&typeof t=="object"}}function Xe(e){if(!e)return"";var i=e.className||"";return i.baseVal&&(i=i.baseVal),i.indexOf||(i=""),i||""}function Ze(e,i,t){t===void 0&&(t=!0);for(var n=e.target||e.srcElement,s="";n;){if(s=Xe(n)){var a=s.indexOf(i);if(a>=0){if(!t)return n;var o=a===0||!(s.charAt(a-1)||"").trim(),_=a+i.length>=s.length||!s.charAt(a+i.length).trim();if(o&&_)return n}}n=n.parentNode}return null}function It(e){var i=!1,t=!1;if(window.getComputedStyle){var n=window.getComputedStyle(e,null);i=n.display,t=n.visibility}else e.currentStyle&&(i=e.currentStyle.display,t=e.currentStyle.visibility);var s=!1,a=Ze({target:e},"dhx_form_repeat",!1);return a&&(s=a.style.height=="0px"),s=s||!e.offsetHeight,i!="none"&&t!="hidden"&&!s}function Rt(e){return!isNaN(e.getAttribute("tabindex"))&&1*e.getAttribute("tabindex")>=0}function Pt(e){return!{a:!0,area:!0}[e.nodeName.loLowerCase()]||!!e.getAttribute("href")}function Ut(e){return!{input:!0,select:!0,textarea:!0,button:!0,object:!0}[e.nodeName.toLowerCase()]||!e.hasAttribute("disabled")}function Qe(){return document.head.createShadowRoot||document.head.attachShadow}function et(e,i){if(e.closest)return e.closest(i);if(e.matches||e.msMatchesSelector||e.webkitMatchesSelector){var t=e;if(!document.documentElement.contains(t))return null;do{if((t.matches||t.msMatchesSelector||t.webkitMatchesSelector).call(t,i))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null}return console.error("Your browser is not supported"),null}function tt(e){if(!e||!Qe())return document.body;for(;e.parentNode&&(e=e.parentNode);)if(e instanceof ShadowRoot)return e.host;return document.body}const le={getAbsoluteLeft:function(e){return this.getOffset(e).left+(parseInt(window.getComputedStyle(e).paddingLeft,10)||0)},getAbsoluteTop:function(e){return this.getOffset(e).top+(parseInt(window.getComputedStyle(e).paddingTop,10)||0)},getOffsetSum:function(e){for(var i=0,t=0;e;)i+=parseInt(e.offsetTop),t+=parseInt(e.offsetLeft),e=e.offsetParent;return{top:i,left:t}},getOffsetRect:function(e){var i=e.getBoundingClientRect(),t=0,n=0;if(/Mobi/.test(navigator.userAgent)){var s=document.createElement("div");s.style.position="absolute",s.style.left="0px",s.style.top="0px",s.style.width="1px",s.style.height="1px",document.body.appendChild(s);var a=s.getBoundingClientRect();t=i.top-a.top,n=i.left-a.left,s.parentNode.removeChild(s)}else{var o=document.body,_=document.documentElement,r=window.pageYOffset||_.scrollTop||o.scrollTop,d=window.pageXOffset||_.scrollLeft||o.scrollLeft,l=_.clientTop||o.clientTop||0,h=_.clientLeft||o.clientLeft||0;t=i.top+r-l,n=i.left+d-h}return{top:Math.round(t),left:Math.round(n)}},getOffset:function(e){return e.getBoundingClientRect?this.getOffsetRect(e):this.getOffsetSum(e)},closest:function(e,i){return e&&i?et(e,i):null},insertAfter:function(e,i){i.nextSibling?i.parentNode.insertBefore(e,i.nextSibling):i.parentNode.appendChild(e)},remove:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},isChildOf:function(e,i){return i.contains(e)},getFocusableNodes:function(e){for(var i=e.querySelectorAll(["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"].join(", ")),t=Array.prototype.slice.call(i,0),n=0;n<t.length;n++)t[n].$position=n;for(t.sort(function(a,o){return a.tabIndex===0&&o.tabIndex!==0?1:a.tabIndex!==0&&o.tabIndex===0?-1:a.tabIndex===o.tabIndex?a.$position-o.$position:a.tabIndex<o.tabIndex?-1:1}),n=0;n<t.length;n++){var s=t[n];(Rt(s)||Ut(s)||Pt(s))&&It(s)||(t.splice(n,1),n--)}return t},getClassName:Xe,locateCss:Ze,getRootNode:tt,hasShadowParent:function(e){return!!tt(e)},isShadowDomSupported:Qe,getActiveElement:function(){var e=document.activeElement;return e.shadowRoot&&(e=e.shadowRoot.activeElement),e===document.body&&document.getSelection&&(e=document.getSelection().focusNode||document.body),e},getRelativeEventPosition:function(e,i){var t=document.documentElement,n=function(s){var a=0,o=0,_=0,r=0;if(s.getBoundingClientRect){var d=s.getBoundingClientRect(),l=document.body,h=document.documentElement||document.body.parentNode||document.body,p=window.pageYOffset||h.scrollTop||l.scrollTop,v=window.pageXOffset||h.scrollLeft||l.scrollLeft,g=h.clientTop||l.clientTop||0,c=h.clientLeft||l.clientLeft||0;a=d.top+p-g,o=d.left+v-c,_=document.body.offsetWidth-d.right,r=document.body.offsetHeight-d.bottom}else{for(;s;)a+=parseInt(s.offsetTop,10),o+=parseInt(s.offsetLeft,10),s=s.offsetParent;_=document.body.offsetWidth-s.offsetWidth-o,r=document.body.offsetHeight-s.offsetHeight-a}return{y:Math.round(a),x:Math.round(o),width:s.offsetWidth,height:s.offsetHeight,right:Math.round(_),bottom:Math.round(r)}}(i);return{x:e.clientX-t.clientLeft-n.x+i.scrollLeft,y:e.clientY-t.clientTop-n.y+i.scrollTop}},getTargetNode:function(e){var i;return e.tagName?i=e:(i=(e=e||window.event).target||e.srcElement).shadowRoot&&e.composedPath&&(i=e.composedPath()[0]),i},getNodePosition:function(e){var i=0,t=0,n=0,s=0;if(e.getBoundingClientRect){var a=e.getBoundingClientRect(),o=document.body,_=document.documentElement||document.body.parentNode||document.body,r=window.pageYOffset||_.scrollTop||o.scrollTop,d=window.pageXOffset||_.scrollLeft||o.scrollLeft,l=_.clientTop||o.clientTop||0,h=_.clientLeft||o.clientLeft||0;i=a.top+r-l,t=a.left+d-h,n=document.body.offsetWidth-a.right,s=document.body.offsetHeight-a.bottom}else{for(;e;)i+=parseInt(e.offsetTop,10),t+=parseInt(e.offsetLeft,10),e=e.offsetParent;n=document.body.offsetWidth-e.offsetWidth-t,s=document.body.offsetHeight-e.offsetHeight-i}return{y:Math.round(i),x:Math.round(t),width:e.offsetWidth,height:e.offsetHeight,right:Math.round(n),bottom:Math.round(s)}},closest:et};var ce=typeof window<"u";const Yt={isIE:ce&&(navigator.userAgent.indexOf("MSIE")>=0||navigator.userAgent.indexOf("Trident")>=0),isOpera:ce&&navigator.userAgent.indexOf("Opera")>=0,isChrome:ce&&navigator.userAgent.indexOf("Chrome")>=0,isKHTML:ce&&(navigator.userAgent.indexOf("Safari")>=0||navigator.userAgent.indexOf("Konqueror")>=0),isFF:ce&&navigator.userAgent.indexOf("Firefox")>=0,isIPad:ce&&navigator.userAgent.search(/iPad/gi)>=0,isEdge:ce&&navigator.userAgent.indexOf("Edge")!=-1,isNode:!ce||typeof navigator>"u"};function Le(e){if(typeof e=="string"||typeof e=="number")return e;var i="";for(var t in e){var n="";e.hasOwnProperty(t)&&(n=t+"="+(n=typeof e[t]=="string"?encodeURIComponent(e[t]):typeof e[t]=="number"?e[t]:encodeURIComponent(JSON.stringify(e[t]))),i.length&&(n="&"+n),i+=n)}return i}function Vt(e){var i=function(a,o){for(var _="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",r=a.match(/%[a-zA-Z]/g),d=0;d<r.length;d++)switch(r[d]){case"%j":case"%d":_+="set[2]=temp["+d+"]||1;";break;case"%n":case"%m":_+="set[1]=(temp["+d+"]||1)-1;";break;case"%y":_+="set[0]=temp["+d+"]*1+(temp["+d+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":_+="set[3]=temp["+d+"]||0;";break;case"%i":_+="set[4]=temp["+d+"]||0;";break;case"%Y":_+="set[0]=temp["+d+"]||0;";break;case"%a":case"%A":_+="set[3]=set[3]%12+((temp["+d+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":_+="set[5]=temp["+d+"]||0;";break;case"%M":_+="set[1]=this.locale.date.month_short_hash[temp["+d+"]]||0;";break;case"%F":_+="set[1]=this.locale.date.month_full_hash[temp["+d+"]]||0;"}var l="set[0],set[1],set[2],set[3],set[4],set[5]";return o&&(l=" Date.UTC("+l+")"),new Function("date","var set=[0,0,1,0,0,0]; "+_+" return new Date("+l+");")},t=function(a,o){const _=a.match(/%[a-zA-Z]/g);return function(r){for(var d=[0,0,1,0,0,0],l=r.match(/[a-zA-Z]+|[0-9]+/g),h=0;h<_.length;h++)switch(_[h]){case"%j":case"%d":d[2]=l[h]||1;break;case"%n":case"%m":d[1]=(l[h]||1)-1;break;case"%y":d[0]=1*l[h]+(l[h]>50?1900:2e3);break;case"%g":case"%G":case"%h":case"%H":d[3]=l[h]||0;break;case"%i":d[4]=l[h]||0;break;case"%Y":d[0]=l[h]||0;break;case"%a":case"%A":d[3]=d[3]%12+((l[h]||"").toLowerCase()=="am"?0:12);break;case"%s":d[5]=l[h]||0;break;case"%M":d[1]=e.locale.date.month_short_hash[l[h]]||0;break;case"%F":d[1]=e.locale.date.month_full_hash[l[h]]||0}return o?new Date(Date.UTC(d[0],d[1],d[2],d[3],d[4],d[5])):new Date(d[0],d[1],d[2],d[3],d[4],d[5])}};let n;function s(){var a=!1;return e.config.csp==="auto"?(n===void 0&&(n=function(){try{new Function("cspEnabled = false;"),n=!1}catch{n=!0}return n}()),a=n):a=e.config.csp,a}e.date={init:function(){for(var a=e.locale.date.month_short,o=e.locale.date.month_short_hash={},_=0;_<a.length;_++)o[a[_]]=_;for(a=e.locale.date.month_full,o=e.locale.date.month_full_hash={},_=0;_<a.length;_++)o[a[_]]=_},date_part:function(a){const o=new Date(a);var _=new Date(o);return o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0),o.getHours()&&(o.getDate()<_.getDate()||o.getMonth()<_.getMonth()||o.getFullYear()<_.getFullYear())&&o.setTime(o.getTime()+36e5*(24-o.getHours())),o},time_part:function(a){return(a.valueOf()/1e3-60*a.getTimezoneOffset())%86400},week_start:function(a){var o=a.getDay();return e.config.start_on_monday&&(o===0?o=6:o--),this.date_part(this.add(a,-1*o,"day"))},month_start:function(a){const o=new Date(a);return o.setDate(1),this.date_part(o)},year_start:function(a){const o=new Date(a);return o.setMonth(0),this.month_start(o)},day_start:function(a){const o=new Date(a);return this.date_part(o)},_add_days:function(a,o){var _=new Date(a.valueOf());if(_.setDate(_.getDate()+o),o==Math.round(o)&&o>0){var r=(+_-+a)%864e5;if(r&&a.getTimezoneOffset()==_.getTimezoneOffset()){var d=r/36e5;_.setTime(_.getTime()+60*(24-d)*60*1e3)}}return o>=0&&!a.getHours()&&_.getHours()&&(_.getDate()<a.getDate()||_.getMonth()<a.getMonth()||_.getFullYear()<a.getFullYear())&&_.setTime(_.getTime()+36e5*(24-_.getHours())),_},add:function(a,o,_){var r=new Date(a.valueOf());switch(_){case"day":r=e.date._add_days(r,o);break;case"week":r=e.date._add_days(r,7*o);break;case"month":r.setMonth(r.getMonth()+o);break;case"year":r.setYear(r.getFullYear()+o);break;case"hour":r.setTime(r.getTime()+60*o*60*1e3);break;case"minute":r.setTime(r.getTime()+60*o*1e3);break;default:return e.date["add_"+_](a,o,_)}return r},to_fixed:function(a){return a<10?"0"+a:a},copy:function(a){return new Date(a.valueOf())},date_to_str:function(a,o){return s()?function(_,r){return function(d){return _.replace(/%[a-zA-Z]/g,function(l){switch(l){case"%d":return r?e.date.to_fixed(d.getUTCDate()):e.date.to_fixed(d.getDate());case"%m":return r?e.date.to_fixed(d.getUTCMonth()+1):e.date.to_fixed(d.getMonth()+1);case"%j":return r?d.getUTCDate():d.getDate();case"%n":return r?d.getUTCMonth()+1:d.getMonth()+1;case"%y":return r?e.date.to_fixed(d.getUTCFullYear()%100):e.date.to_fixed(d.getFullYear()%100);case"%Y":return r?d.getUTCFullYear():d.getFullYear();case"%D":return r?e.locale.date.day_short[d.getUTCDay()]:e.locale.date.day_short[d.getDay()];case"%l":return r?e.locale.date.day_full[d.getUTCDay()]:e.locale.date.day_full[d.getDay()];case"%M":return r?e.locale.date.month_short[d.getUTCMonth()]:e.locale.date.month_short[d.getMonth()];case"%F":return r?e.locale.date.month_full[d.getUTCMonth()]:e.locale.date.month_full[d.getMonth()];case"%h":return r?e.date.to_fixed((d.getUTCHours()+11)%12+1):e.date.to_fixed((d.getHours()+11)%12+1);case"%g":return r?(d.getUTCHours()+11)%12+1:(d.getHours()+11)%12+1;case"%G":return r?d.getUTCHours():d.getHours();case"%H":return r?e.date.to_fixed(d.getUTCHours()):e.date.to_fixed(d.getHours());case"%i":return r?e.date.to_fixed(d.getUTCMinutes()):e.date.to_fixed(d.getMinutes());case"%a":return r?d.getUTCHours()>11?"pm":"am":d.getHours()>11?"pm":"am";case"%A":return r?d.getUTCHours()>11?"PM":"AM":d.getHours()>11?"PM":"AM";case"%s":return r?e.date.to_fixed(d.getUTCSeconds()):e.date.to_fixed(d.getSeconds());case"%W":return r?e.date.to_fixed(e.date.getUTCISOWeek(d)):e.date.to_fixed(e.date.getISOWeek(d));default:return l}})}}(a,o):(a=a.replace(/%[a-zA-Z]/g,function(_){switch(_){case"%d":return'"+this.date.to_fixed(date.getDate())+"';case"%m":return'"+this.date.to_fixed((date.getMonth()+1))+"';case"%j":return'"+date.getDate()+"';case"%n":return'"+(date.getMonth()+1)+"';case"%y":return'"+this.date.to_fixed(date.getFullYear()%100)+"';case"%Y":return'"+date.getFullYear()+"';case"%D":return'"+this.locale.date.day_short[date.getDay()]+"';case"%l":return'"+this.locale.date.day_full[date.getDay()]+"';case"%M":return'"+this.locale.date.month_short[date.getMonth()]+"';case"%F":return'"+this.locale.date.month_full[date.getMonth()]+"';case"%h":return'"+this.date.to_fixed((date.getHours()+11)%12+1)+"';case"%g":return'"+((date.getHours()+11)%12+1)+"';case"%G":return'"+date.getHours()+"';case"%H":return'"+this.date.to_fixed(date.getHours())+"';case"%i":return'"+this.date.to_fixed(date.getMinutes())+"';case"%a":return'"+(date.getHours()>11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+this.date.to_fixed(date.getSeconds())+"';case"%W":return'"+this.date.to_fixed(this.date.getISOWeek(date))+"';default:return _}}),o&&(a=a.replace(/date\.get/g,"date.getUTC")),new Function("date",'return "'+a+'";').bind(e))},str_to_date:function(a,o,_){var r=s()?t:i,d=r(a,o),l=/^[0-9]{4}(\-|\/)[0-9]{2}(\-|\/)[0-9]{2} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/,h=/^[0-9]{2}\/[0-9]{2}\/[0-9]{4} ?(([0-9]{1,2}:[0-9]{2})(:[0-9]{1,2})?)?$/,p=/^[0-9]{2}\-[0-9]{2}\-[0-9]{4} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/,v=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,g=r("%Y-%m-%d %H:%i:%s",o),c=r("%m/%d/%Y %H:%i:%s",o),u=r("%d-%m-%Y %H:%i:%s",o);return function(f){if(!_&&!e.config.parse_exact_format){if(f&&f.getISOWeek)return new Date(f);if(typeof f=="number")return new Date(f);if(y=f,l.test(String(y)))return g(f);if(function(w){return h.test(String(w))}(f))return c(f);if(function(w){return p.test(String(w))}(f))return u(f);if(function(w){return v.test(w)}(f))return new Date(f)}var y;return d.call(e,f)}},getISOWeek:function(a){if(!a)return!1;var o=(a=this.date_part(new Date(a))).getDay();o===0&&(o=7);var _=new Date(a.valueOf());_.setDate(a.getDate()+(4-o));var r=_.getFullYear(),d=Math.round((_.getTime()-new Date(r,0,1).getTime())/864e5);return 1+Math.floor(d/7)},getUTCISOWeek:function(a){return this.getISOWeek(this.convert_to_utc(a))},convert_to_utc:function(a){return new Date(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds())}}}function at(e){return(function(){var i={};for(var t in this._events){var n=this._events[t];n.id.toString().indexOf("#")==-1&&(i[n.id]=n)}return i}).bind(e)}function Ft(e){e._loaded={},e._load=function(t,n){if(t=t||this._load_url){var s;if(t+=(t.indexOf("?")==-1?"?":"&")+"timeshift="+new Date().getTimezoneOffset(),this.config.prevent_cache&&(t+="&uid="+this.uid()),n=n||this._date,this._load_mode){var a=this.templates.load_format;for(n=this.date[this._load_mode+"_start"](new Date(n.valueOf()));n>this._min_date;)n=this.date.add(n,-1,this._load_mode);s=n;for(var o=!0;s<this._max_date;)s=this.date.add(s,1,this._load_mode),this._loaded[a(n)]&&o?n=this.date.add(n,1,this._load_mode):o=!1;var _=s;do s=_,_=this.date.add(s,-1,this._load_mode);while(_>n&&this._loaded[a(_)]);if(s<=n)return!1;for(e.ajax.get(t+"&from="+a(n)+"&to="+a(s),r);n<s;)this._loaded[a(n)]=!0,n=this.date.add(n,1,this._load_mode)}else e.ajax.get(t,r);return this.callEvent("onXLS",[]),this.callEvent("onLoadStart",[]),!0}function r(d){e.on_load(d),e.callEvent("onLoadEnd",[])}},e._parsers={},function(t){t._parsers.xml={canParse:function(n,s){if(s.responseXML&&s.responseXML.firstChild)return!0;try{var a=t.ajax.parse(s.responseText),o=t.ajax.xmltop("data",a);if(o&&o.tagName==="data")return!0}catch{}return!1},parse:function(n){var s;if(n.xmlDoc.responseXML||(n.xmlDoc.responseXML=t.ajax.parse(n.xmlDoc.responseText)),(s=t.ajax.xmltop("data",n.xmlDoc)).tagName!="data")return null;var a=s.getAttribute("dhx_security");a&&(window.dhtmlx&&(window.dhtmlx.security_key=a),t.security_key=a);for(var o=t.ajax.xpath("//coll_options",n.xmlDoc),_=0;_<o.length;_++){var r=o[_].getAttribute("for"),d=t.serverList[r];d||(t.serverList[r]=d=[]),d.splice(0,d.length);for(var l=t.ajax.xpath(".//item",o[_]),h=0;h<l.length;h++){for(var p=l[h].attributes,v={key:l[h].getAttribute("value"),label:l[h].getAttribute("label")},g=0;g<p.length;g++){var c=p[g];c.nodeName!="value"&&c.nodeName!="label"&&(v[c.nodeName]=c.nodeValue)}d.push(v)}}o.length&&t.callEvent("onOptionsLoad",[]);var u=t.ajax.xpath("//userdata",n.xmlDoc);for(_=0;_<u.length;_++){var f=t._xmlNodeToJSON(u[_]);t._userdata[f.name]=f.text}var y=[];for(s=t.ajax.xpath("//event",n.xmlDoc),_=0;_<s.length;_++){var w=y[_]=t._xmlNodeToJSON(s[_]);t._init_event(w)}return y}}}(e),function(t){t.json=t._parsers.json={canParse:function(n){if(n&&typeof n=="object")return!0;if(typeof n=="string")try{var s=JSON.parse(n);return Object.prototype.toString.call(s)==="[object Object]"||Object.prototype.toString.call(s)==="[object Array]"}catch{return!1}return!1},parse:function(n){var s=[];typeof n=="string"&&(n=JSON.parse(n)),Object.prototype.toString.call(n)==="[object Array]"?s=n:n&&(n.events?s=n.events:n.data&&(s=n.data)),s=s||[],n.dhx_security&&(window.dhtmlx&&(window.dhtmlx.security_key=n.dhx_security),t.security_key=n.dhx_security);var a=n&&n.collections?n.collections:{},o=!1;for(var _ in a)if(a.hasOwnProperty(_)){o=!0;var r=a[_],d=t.serverList[_];d||(t.serverList[_]=d=[]),d.splice(0,d.length);for(var l=0;l<r.length;l++){var h=r[l],p={key:h.value,label:h.label};for(var v in h)if(h.hasOwnProperty(v)){if(v=="value"||v=="label")continue;p[v]=h[v]}d.push(p)}}o&&t.callEvent("onOptionsLoad",[]);for(var g=[],c=0;c<s.length;c++){var u=s[c];t._init_event(u),g.push(u)}return g}}}(e),function(t){t.ical=t._parsers.ical={canParse:function(n){return typeof n=="string"&&new RegExp("^BEGIN:VCALENDAR").test(n)},parse:function(n){var s=n.match(RegExp(this.c_start+"[^\f]*"+this.c_end,""));if(s.length){s[0]=s[0].replace(/[\r\n]+ /g,""),s[0]=s[0].replace(/[\r\n]+(?=[a-z \t])/g," "),s[0]=s[0].replace(/;[^:\r\n]*:/g,":");for(var a,o=[],_=RegExp("(?:"+this.e_start+")([^\f]*?)(?:"+this.e_end+")","g");(a=_.exec(s))!==null;){for(var r,d={},l=/[^\r\n]+[\r\n]+/g;(r=l.exec(a[1]))!==null;)this.parse_param(r.toString(),d);d.uid&&!d.id&&(d.id=d.uid),o.push(d)}return o}},parse_param:function(n,s){var a=n.indexOf(":");if(a!=-1){var o=n.substr(0,a).toLowerCase(),_=n.substr(a+1).replace(/\\,/g,",").replace(/[\r\n]+$/,"");o=="summary"?o="text":o=="dtstart"?(o="start_date",_=this.parse_date(_,0,0)):o=="dtend"&&(o="end_date",_=this.parse_date(_,0,0)),s[o]=_}},parse_date:function(n,s,a){var o=n.split("T"),_=!1;o[1]&&(s=o[1].substr(0,2),a=o[1].substr(2,2),_=o[1][6]=="Z");var r=o[0].substr(0,4),d=parseInt(o[0].substr(4,2),10)-1,l=o[0].substr(6,2);return t.config.server_utc||_?new Date(Date.UTC(r,d,l,s,a)):new Date(r,d,l,s,a)},c_start:"BEGIN:VCALENDAR",e_start:"BEGIN:VEVENT",e_end:"END:VEVENT",c_end:"END:VCALENDAR"}}(e),e.on_load=function(t){var n;this.callEvent("onBeforeParse",[]);var s=!1,a=!1;for(var o in this._parsers){var _=this._parsers[o];if(_.canParse(t.xmlDoc.responseText,t.xmlDoc)){try{var r=t.xmlDoc.responseText;o==="xml"&&(r=t),(n=_.parse(r))||(s=!0)}catch{s=!0}a=!0;break}}if(!a)if(this._process&&this[this._process])try{n=this[this._process].parse(t.xmlDoc.responseText)}catch{s=!0}else s=!0;(s||t.xmlDoc.status&&t.xmlDoc.status>=400)&&(this.callEvent("onLoadError",[t.xmlDoc]),n=[]),this._process_loading(n),this.callEvent("onXLE",[]),this.callEvent("onParse",[])},e._process_loading=function(t){this._loading=!0,this._not_render=!0;for(var n=0;n<t.length;n++)this.callEvent("onEventLoading",[t[n]])&&this.addEvent(t[n]);this._not_render=!1,this._render_wait&&this.render_view_data(),this._loading=!1,this._after_call&&this._after_call(),this._after_call=null},e._init_event=function(t){t.text=t.text||t._tagvalue||"",t.start_date=e._init_date(t.start_date),t.end_date=e._init_date(t.end_date)},e._init_date=function(t){return t?typeof t=="string"?e._helpers.parseDate(t):new Date(t):null};const i=at(e);e.serialize=function(){const t=[],n=i();for(var s in n){const _={};var a=n[s];for(var o in a){if(o.charAt(0)=="$"||o.charAt(0)=="_")continue;let r;const d=a[o];r=e.utils.isDate(d)?e.defined(e.templates.xml_format)?e.templates.xml_format(d):e.templates.format_date(d):d,_[o]=r}t.push(_)}return t},e.parse=function(t,n){this._process=n,this.on_load({xmlDoc:{responseText:t}})},e.load=function(t,n){typeof n=="string"&&(this._process=n,n=arguments[2]),this._load_url=t,this._after_call=n,this._load(t,this._date)},e.setLoadMode=function(t){t=="all"&&(t=""),this._load_mode=t},e.serverList=function(t,n){return n?(this.serverList[t]=n.slice(0),this.serverList[t]):(this.serverList[t]=this.serverList[t]||[],this.serverList[t])},e._userdata={},e._xmlNodeToJSON=function(t){for(var n={},s=0;s<t.attributes.length;s++)n[t.attributes[s].name]=t.attributes[s].value;for(s=0;s<t.childNodes.length;s++){var a=t.childNodes[s];a.nodeType==1&&(n[a.tagName]=a.firstChild?a.firstChild.nodeValue:"")}return n.text||(n.text=t.firstChild?t.firstChild.nodeValue:""),n},e.attachEvent("onXLS",function(){var t;this.config.show_loading===!0&&((t=this.config.show_loading=document.createElement("div")).className="dhx_loading",t.style.left=Math.round((this._x-128)/2)+"px",t.style.top=Math.round((this._y-15)/2)+"px",this._obj.appendChild(t))}),e.attachEvent("onXLE",function(){var t=this.config.show_loading;t&&typeof t=="object"&&(t.parentNode&&t.parentNode.removeChild(t),this.config.show_loading=!0)})}function Bt(e){function i(){const t=e.config.csp===!0,n=!!window.Sfdc||!!window.$A||window.Aura||"$shadowResolver$"in document.body;return t||n?e.$root:document.body}e._lightbox_controls={},e.formSection=function(t){for(var n=this.config.lightbox.sections,s=0;s<n.length&&n[s].name!=t;s++);if(s===n.length)return null;var a=n[s];e._lightbox||e.getLightbox();var o=e._lightbox.querySelector(`#${a.id}`),_=o.nextSibling,r={section:a,header:o,node:_,getValue:function(l){return e.form_blocks[a.type].get_value(_,l||{},a)},setValue:function(l,h){return e.form_blocks[a.type].set_value(_,l,h||{},a)}},d=e._lightbox_controls["get_"+a.type+"_control"];return d?d(r):r},e._lightbox_controls.get_template_control=function(t){return t.control=t.node,t},e._lightbox_controls.get_select_control=function(t){return t.control=t.node.getElementsByTagName("select")[0],t},e._lightbox_controls.get_textarea_control=function(t){return t.control=t.node.getElementsByTagName("textarea")[0],t},e._lightbox_controls.get_time_control=function(t){return t.control=t.node.getElementsByTagName("select"),t},e._lightbox_controls.defaults={template:{height:30},textarea:{height:200},select:{height:23},time:{height:20}},e.form_blocks={template:{render:function(t){return`<div class='dhx_cal_ltext dhx_cal_template' ${t.height?`style='height:${t.height}px;'`:""}></div>`},set_value:function(t,n,s,a){t.innerHTML=n||""},get_value:function(t,n,s){return t.innerHTML||""},focus:function(t){}},textarea:{render:function(t){return`<div class='dhx_cal_ltext' ${t.height?`style='height:${t.height}px;'`:""}><textarea ${t.placeholder?`placeholder='${t.placeholder}'`:""}></textarea></div>`},set_value:function(t,n,s){e.form_blocks.textarea._get_input(t).value=n||""},get_value:function(t,n){return e.form_blocks.textarea._get_input(t).value},focus:function(t){var n=e.form_blocks.textarea._get_input(t);e._focus(n,!0)},_get_input:function(t){return t.getElementsByTagName("textarea")[0]}},select:{render:function(t){for(var n=`<div class='dhx_cal_ltext dhx_cal_select' ${t.height?`style='height:${t.height}px;'`:""}><select style='width:100%;'>`,s=0;s<t.options.length;s++)n+="<option value='"+t.options[s].key+"'>"+t.options[s].label+"</option>";return n+="</select></div>"},set_value:function(t,n,s,a){var o=t.firstChild;!o._dhx_onchange&&a.onchange&&(e.event(o,"change",a.onchange),o._dhx_onchange=!0),n===void 0&&(n=(o.options[0]||{}).value),o.value=n||""},get_value:function(t,n){return t.firstChild.value},focus:function(t){var n=t.firstChild;e._focus(n,!0)}},time:{render:function(t){t.time_format||(t.time_format=["%H:%i","%d","%m","%Y"]),t._time_format_order={};var n=t.time_format,s=e.config,a=e.date.date_part(e._currentDate()),o=1440,_=0;e.config.limit_time_select&&(o=60*s.last_hour+1,_=60*s.first_hour,a.setHours(s.first_hour));for(var r="",d=0;d<n.length;d++){var l=n[d];d>0&&(r+=" ");var h="",p="";switch(l){case"%Y":var v,g,c;h="dhx_lightbox_year_select",t._time_format_order[3]=d,t.year_range&&(isNaN(t.year_range)?t.year_range.push&&(g=t.year_range[0],c=t.year_range[1]):v=t.year_range),v=v||10;var u=u||Math.floor(v/2);g=g||a.getFullYear()-u,c=c||g+v;for(var f=g;f<c;f++)p+="<option value='"+f+"'>"+f+"</option>";break;case"%m":for(h="dhx_lightbox_month_select",t._time_format_order[2]=d,f=0;f<12;f++)p+="<option value='"+f+"'>"+this.locale.date.month_full[f]+"</option>";break;case"%d":for(h="dhx_lightbox_day_select",t._time_format_order[1]=d,f=1;f<32;f++)p+="<option value='"+f+"'>"+f+"</option>";break;case"%H:%i":h="dhx_lightbox_time_select",t._time_format_order[0]=d,f=_;var y=a.getDate();for(t._time_values=[];f<o;)p+="<option value='"+f+"'>"+this.templates.time_picker(a)+"</option>",t._time_values.push(f),a.setTime(a.valueOf()+60*this.config.time_step*1e3),f=24*(a.getDate()!=y?1:0)*60+60*a.getHours()+a.getMinutes()}if(p){var w=e._waiAria.lightboxSelectAttrString(l);r+="<select class='"+h+"' "+(t.readonly?"disabled='disabled'":"")+w+">"+p+"</select> "}}return`<div class='dhx_section_time' ${t.height?`style='height:${t.height}px;'`:""}>${r}<span style='font-weight:normal; font-size:10pt;' class='dhx_section_time_spacer'> &nbsp;&ndash;&nbsp; </span>${r}</div>`},set_value:function(t,n,s,a){var o,_,r=e.config,d=t.getElementsByTagName("select"),l=a._time_format_order;if(r.full_day){if(!t._full_day){var h="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+e.locale.labels.full_day+"&nbsp;</label></input>";e.config.wide_form||(h=t.previousSibling.innerHTML+h),t.previousSibling.innerHTML=h,t._full_day=!0}var p=t.previousSibling.getElementsByTagName("input")[0];p.checked=e.date.time_part(s.start_date)===0&&e.date.time_part(s.end_date)===0,d[l[0]].disabled=p.checked,d[l[0]+d.length/2].disabled=p.checked,p.$_eventAttached||(p.$_eventAttached=!0,e.event(p,"click",function(){if(p.checked){var u={};e.form_blocks.time.get_value(t,u,a),o=e.date.date_part(u.start_date),(+(_=e.date.date_part(u.end_date))==+o||+_>=+o&&(s.end_date.getHours()!==0||s.end_date.getMinutes()!==0))&&(_=e.date.add(_,1,"day"))}else o=null,_=null;d[l[0]].disabled=p.checked,d[l[0]+d.length/2].disabled=p.checked,c(d,0,o||s.start_date),c(d,4,_||s.end_date)}))}if(r.auto_end_date&&r.event_duration)for(var v=function(){r.auto_end_date&&r.event_duration&&(o=new Date(d[l[3]].value,d[l[2]].value,d[l[1]].value,0,d[l[0]].value),_=new Date(o.getTime()+60*e.config.event_duration*1e3),c(d,4,_))},g=0;g<4;g++)d[g].$_eventAttached||(d[g].$_eventAttached=!0,e.event(d[g],"change",v));function c(u,f,y){for(var w=a._time_values,D=60*y.getHours()+y.getMinutes(),M=D,k=!1,N=0;N<w.length;N++){var m=w[N];if(m===D){k=!0;break}m<D&&(M=m)}u[f+l[0]].value=k?D:M,k||M||(u[f+l[0]].selectedIndex=-1),u[f+l[1]].value=y.getDate(),u[f+l[2]].value=y.getMonth(),u[f+l[3]].value=y.getFullYear()}c(d,0,s.start_date),c(d,4,s.end_date)},get_value:function(t,n,s){var a=t.getElementsByTagName("select"),o=s._time_format_order;if(n.start_date=new Date(a[o[3]].value,a[o[2]].value,a[o[1]].value,0,a[o[0]].value),n.end_date=new Date(a[o[3]+4].value,a[o[2]+4].value,a[o[1]+4].value,0,a[o[0]+4].value),!a[o[3]].value||!a[o[3]+4].value){var _=e.getEvent(e._lightbox_id);_&&(n.start_date=_.start_date,n.end_date=_.end_date)}return n.end_date<=n.start_date&&(n.end_date=e.date.add(n.start_date,e.config.time_step,"minute")),{start_date:new Date(n.start_date),end_date:new Date(n.end_date)}},focus:function(t){e._focus(t.getElementsByTagName("select")[0])}}},e._setLbPosition=function(t){t&&(t.style.top=Math.max(i().offsetHeight/2-t.offsetHeight/2,0)+"px",t.style.left=Math.max(i().offsetWidth/2-t.offsetWidth/2,0)+"px")},e.showCover=function(t){t&&(t.style.display="block",this._setLbPosition(t)),e.config.responsive_lightbox&&(document.documentElement.classList.add("dhx_cal_overflow_container"),i().classList.add("dhx_cal_overflow_container")),this.show_cover(),this._cover.style.display=""},e.showLightbox=function(t){if(t)if(this.callEvent("onBeforeLightbox",[t])){this.showCover(n);var n=this.getLightbox();this._setLbPosition(n),this._fill_lightbox(t,n),this._waiAria.lightboxVisibleAttr(n),this.callEvent("onLightbox",[t])}else this._new_event&&(this._new_event=null,e.getEvent(t)&&delete e.getEvent(t).$new)},e._fill_lightbox=function(t,n){var s=this.getEvent(t),a=n.getElementsByTagName("span"),o=[];if(e.templates.lightbox_header){o.push("");var _=e.templates.lightbox_header(s.start_date,s.end_date,s);o.push(_),a[1].innerHTML="",a[2].innerHTML=_}else{var r=this.templates.event_header(s.start_date,s.end_date,s),d=(this.templates.event_bar_text(s.start_date,s.end_date,s)||"").substr(0,70);o.push(r),o.push(d),a[1].innerHTML=r,a[2].innerHTML=d}this._waiAria.lightboxHeader(n,o.join(" "));for(var l=this.config.lightbox.sections,h=0;h<l.length;h++){var p=l[h],v=e._get_lightbox_section_node(p),g=this.form_blocks[p.type],c=s[p.map_to]!==void 0?s[p.map_to]:p.default_value;g.set_value.call(this,v,c,s,p),l[h].focus&&g.focus.call(this,v)}e._lightbox_id=t},e._get_lightbox_section_node=function(t){return e._lightbox.querySelector(`#${t.id}`).nextSibling},e._lightbox_out=function(t){for(var n=this.config.lightbox.sections,s=0;s<n.length;s++){var a=e._lightbox.querySelector(`#${n[s].id}`);a=a&&a.nextSibling;var o=this.form_blocks[n[s].type].get_value.call(this,a,t,n[s]);n[s].map_to!="auto"&&(t[n[s].map_to]=o)}return t},e._empty_lightbox=function(t){var n=e._lightbox_id,s=this.getEvent(n);s&&(this._lame_copy(s,t),this.setEvent(s.id,s),this._edit_stop_event(s,!0)),this.render_view_data()},e.hide_lightbox=function(t){e.endLightbox(!1,this.getLightbox())},e.hideCover=function(t){t&&(t.style.display="none"),this.hide_cover(),e.config.responsive_lightbox&&(document.documentElement.classList.remove("dhx_cal_overflow_container"),i().classList.remove("dhx_cal_overflow_container"))},e.hide_cover=function(){this._cover&&this._cover.parentNode.removeChild(this._cover),this._cover=null},e.show_cover=function(){this._cover||(this._cover=document.createElement("div"),this._cover.className="dhx_cal_cover",this._cover.style.display="none",e.event(this._cover,"mousemove",e._move_while_dnd),e.event(this._cover,"mouseup",e._finish_dnd),i().appendChild(this._cover))},e.save_lightbox=function(){var t=this._lightbox_out({},this._lame_copy(this.getEvent(this._lightbox_id)));this.checkEvent("onEventSave")&&!this.callEvent("onEventSave",[this._lightbox_id,t,this._new_event])||(this.checkEvent("onRecurringEventSave")&&e.callEvent("onRecurringEventSave",[this._lightbox_id,t,this._new_event]),this._empty_lightbox(t),this.hide_lightbox())},e.startLightbox=function(t,n){this._lightbox_id=t,this._custom_lightbox=!0,this._temp_lightbox=this._lightbox,this._lightbox=n,this.showCover(n)},e.endLightbox=function(t,n){n=n||e.getLightbox();var s=e.getEvent(this._lightbox_id);s&&this._edit_stop_event(s,t),t&&e.render_view_data(),this.hideCover(n),this._custom_lightbox&&(this._lightbox=this._temp_lightbox,this._custom_lightbox=!1),this._temp_lightbox=this._lightbox_id=null,this._waiAria.lightboxHiddenAttr(n),this.resetLightbox(),this.callEvent("onAfterLightbox",[])},e.resetLightbox=function(){e._lightbox&&!e._custom_lightbox&&e._lightbox.parentNode.removeChild(e._lightbox),e._lightbox=null},e.cancel_lightbox=function(){this._lightbox_id&&this.callEvent("onEventCancel",[this._lightbox_id,!!this._new_event]),this.hide_lightbox()},e.hideLightbox=e.cancel_lightbox,e._delete_event_confirm=function({event:t,message:n,title:s,callback:a,ok:o}){e._dhtmlx_confirm({message:n,title:s,callback:a,ok:o})},e._init_lightbox_events=function(){if(this.getLightbox().$_eventAttached)return;const t=this.getLightbox();t.$_eventAttached=!0,e.event(t,"click",function(n){n.target.closest(".dhx_cal_ltitle_close_btn")&&e.cancel_lightbox();const s=e.$domHelpers.closest(n.target,".dhx_btn_set");if(!s){const _=e.$domHelpers.closest(n.target,".dhx_custom_button[data-section-index]");if(_){const r=Number(_.getAttribute("data-section-index"));e.form_blocks[e.config.lightbox.sections[r].type].button_click(e.$domHelpers.closest(_,".dhx_cal_lsection"),_,n)}return}const a=s?s.getAttribute("data-action"):null;switch(a){case"dhx_save_btn":case"save":if(e.config.readonly_active)return;e.save_lightbox();break;case"dhx_delete_btn":case"delete":if(e.config.readonly_active)return;var o=e.locale.labels.confirm_deleting;e._delete_event_confirm({event:e.getEvent(e._lightbox_id),message:o,title:e.locale.labels.title_confirm_deleting,callback:function(){let _=e.getEvent(e._lightbox_id);_._thisAndFollowing?(_._removeFollowing=!0,e.callEvent("onRecurringEventSave",[_.id,_,e._new_event])):e.deleteEvent(e._lightbox_id),e._new_event=null,delete _.$new,e.hide_lightbox()},config:{ok:e.locale.labels.icon_delete}});break;case"dhx_cancel_btn":case"cancel":e.cancel_lightbox();break;default:e.callEvent("onLightboxButton",[a,s,n])}}),e.event(t,"keydown",function(n){var s=n||window.event,a=n.target||n.srcElement,o=a.querySelector("[dhx_button]");switch(o||(o=a.parentNode.querySelector(".dhx_custom_button, .dhx_readonly")),(n||s).keyCode){case 32:if((n||s).shiftKey)return;o&&o.click&&o.click();break;case e.keys.edit_save:if((n||s).shiftKey)return;if(o&&o.click)o.click();else{if(e.config.readonly_active)return;e.save_lightbox()}break;case e.keys.edit_cancel:e.cancel_lightbox()}}),e.event(t,"click",function(n){if(n.target.closest(".dhx_lightbox_day_select")||n.target.closest(".dhx_lightbox_month_select")){const s=t.querySelectorAll(".dhx_lightbox_month_select"),a=t.querySelectorAll(".dhx_lightbox_day_select"),o=t.querySelectorAll(".dhx_lightbox_year_select");s.length&&a.length&&o&&s.forEach((_,r)=>{const d=a[r],l=parseInt(_.value,10);let h=parseInt(o[r].value,10);h||(h=new Date(e.getState().date).getFullYear());const p=function(c,u){return new Date(c,u+1,0).getDate()}(h,l),v=p||31;let g=d.value;d.innerHTML="";for(let c=1;c<=v;c++){const u=document.createElement("option");u.value=c,u.textContent=c,d.appendChild(u)}d.value=Math.min(g,v)})}})},e.setLightboxSize=function(){},e._init_dnd_events=function(){e.event(i(),"mousemove",e._move_while_dnd),e.event(i(),"mouseup",e._finish_dnd),e._init_dnd_events=function(){}},e._move_while_dnd=function(t){if(e._dnd_start_lb){document.dhx_unselectable||(i().classList.add("dhx_unselectable"),document.dhx_unselectable=!0);var n=e.getLightbox(),s=[t.pageX,t.pageY];n.style.top=e._lb_start[1]+s[1]-e._dnd_start_lb[1]+"px",n.style.left=e._lb_start[0]+s[0]-e._dnd_start_lb[0]+"px"}},e._ready_to_dnd=function(t){var n=e.getLightbox();e._lb_start=[n.offsetLeft,n.offsetTop],e._dnd_start_lb=[t.pageX,t.pageY]},e._finish_dnd=function(){e._lb_start&&(e._lb_start=e._dnd_start_lb=!1,i().classList.remove("dhx_unselectable"),document.dhx_unselectable=!1)},e.getLightbox=function(){if(!this._lightbox){var t=document.createElement("div");t.className="dhx_cal_light",e.config.wide_form&&(t.className+=" dhx_cal_light_wide"),e.form_blocks.recurring&&(t.className+=" dhx_cal_light_rec"),e.config.rtl&&(t.className+=" dhx_cal_light_rtl"),e.config.responsive_lightbox&&(t.className+=" dhx_cal_light_responsive"),t.style.visibility="hidden";var n=this._lightbox_template,s=this.config.buttons_right;n+="<div class='dhx_cal_lcontrols'>";for(var a=0;a<s.length;a++)n+="<div "+this._waiAria.lightboxButtonAttrString(s[a])+" data-action='"+s[a]+"' class='dhx_btn_set dhx_"+(e.config.rtl?"right":"left")+"_btn_set "+s[a]+"_set'><div class='dhx_btn_inner "+s[a]+"'></div><div>"+e.locale.labels[s[a]]+"</div></div>";s=this.config.buttons_left;var o=e.config.rtl;for(a=0;a<s.length;a++)n+="<div class='dhx_cal_lcontrols_push_right'></div>",n+="<div "+this._waiAria.lightboxButtonAttrString(s[a])+" data-action='"+s[a]+"' class='dhx_btn_set dhx_"+(o?"left":"right")+"_btn_set "+s[a]+"_set'><div class='dhx_btn_inner "+s[a]+"'></div><div>"+e.locale.labels[s[a]]+"</div></div>";n+="</div>",n+="</div>",t.innerHTML=n,e.config.drag_lightbox&&(e.event(t.firstChild,"mousedown",e._ready_to_dnd),e.event(t.firstChild,"selectstart",function(v){return v.preventDefault(),!1}),t.firstChild.style.cursor="move",e._init_dnd_events()),this._waiAria.lightboxAttr(t),this.show_cover(),this._cover.insertBefore(t,this._cover.firstChild),this._lightbox=t;var _=this.config.lightbox.sections;for(n="",a=0;a<_.length;a++){var r=this.form_blocks[_[a].type];if(r){_[a].id="area_"+this.uid();var d="";_[a].button&&(d="<div "+e._waiAria.lightboxSectionButtonAttrString(this.locale.labels["button_"+_[a].button])+" class='dhx_custom_button' data-section-index='"+a+"' index='"+a+"'><div class='dhx_custom_button_"+_[a].button+"'></div><div>"+this.locale.labels["button_"+_[a].button]+"</div></div>"),this.config.wide_form&&(n+="<div class='dhx_wrap_section'>");var l=this.locale.labels["section_"+_[a].name];typeof l!="string"&&(l=_[a].name),n+="<div id='"+_[a].id+"' class='dhx_cal_lsection dhx_cal_lsection_"+_[a].name+"'>"+d+"<label>"+l+"</label></div>"+r.render.call(this,_[a]),n+="</div>"}}var h=t.getElementsByTagName("div");for(a=0;a<h.length;a++){var p=h[a];if(e._getClassName(p)=="dhx_cal_larea"){p.innerHTML=n;break}}e._bindLightboxLabels(_),this.setLightboxSize(),this._init_lightbox_events(this),t.style.visibility="visible"}return this._lightbox},e._bindLightboxLabels=function(t){for(var n=0;n<t.length;n++){var s=t[n];if(s.id&&e._lightbox.querySelector(`#${s.id}`)){for(var a=e._lightbox.querySelector(`#${s.id}`).querySelector("label"),o=e._get_lightbox_section_node(s);o&&!o.querySelector;)o=o.nextSibling;var _=!0;if(o){var r=o.querySelector("input, select, textarea");r&&(s.inputId=r.id||"input_"+e.uid(),r.id||(r.id=s.inputId),a.setAttribute("for",s.inputId),_=!1)}_&&e.form_blocks[s.type].focus&&e.event(a,"click",function(d){return function(){var l=e.form_blocks[d.type],h=e._get_lightbox_section_node(d);l&&l.focus&&l.focus.call(e,h)}}(s))}}},e.attachEvent("onEventIdChange",function(t,n){this._lightbox_id==t&&(this._lightbox_id=n)}),e._lightbox_template=`<div class='dhx_cal_ltitle'><div class="dhx_cal_ltitle_descr"><span class='dhx_mark'>&nbsp;</span><span class='dhx_time'></span><span class='dhx_title'></span>
13
13
  </div>
14
14
  <div class="dhx_cal_ltitle_controls">
15
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'>&nbsp;"+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,b){var x=document.createElement("div"),E=ne.uid();e._waiAria.messageModalAttr(x,E),x.className=" scheduler_modal_box dhtmlx_modal_box scheduler-"+N.type+" dhtmlx-"+N.type,x.setAttribute(i,1);var S="";if(N.width&&(x.style.width=N.width),N.height&&(x.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)),b&&(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>",x.innerHTML=S,N.content){var C=N.content;typeof C=="string"&&(C=document.getElementById(C)),C.style.display=="none"&&(C.style.display=""),x.childNodes[N.title?1:0].appendChild(C)}return e.event(x,"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=x,(m||b)&&(t=N),x}(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&auml;kuu","Hein&auml;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&auml;yt&ouml;ss&auml;",button_recurring_open:"K&auml;yt&ouml;ss&auml;",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&auml;ivitt&auml;in",repeat_radio_week:"Viikoittain",repeat_radio_month:"Kuukausittain",repeat_radio_year:"Vuosittain",repeat_radio_day_type:"Joka",repeat_text_day_count:"p&auml;iv&auml;",repeat_radio_day_type2:"Joka arkip&auml;iv&auml;",repeat_week:"Toista joka",repeat_text_week_count:"viikko n&auml;in&auml; p&auml;ivin&auml;:",repeat_radio_month_type:"Toista",repeat_radio_month_start:"",repeat_text_month_day:"p&auml;iv&auml;n&auml; 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&auml;iv&auml;",select_year_month:"kuukausi",repeat_radio_end:"Ei loppumisaikaa",repeat_text_occurrences_count:"Toiston j&auml;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&auml;kuu","Hein&auml;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&quot;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.12"};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)+`
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'>&nbsp;"+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,b){var x=document.createElement("div"),E=ne.uid();e._waiAria.messageModalAttr(x,E),x.className=" scheduler_modal_box dhtmlx_modal_box scheduler-"+N.type+" dhtmlx-"+N.type,x.setAttribute(i,1);var S="";if(N.width&&(x.style.width=N.width),N.height&&(x.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)),b&&(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>",x.innerHTML=S,N.content){var C=N.content;typeof C=="string"&&(C=document.getElementById(C)),C.style.display=="none"&&(C.style.display=""),x.childNodes[N.title?1:0].appendChild(C)}return e.event(x,"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=x,(m||b)&&(t=N),x}(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&auml;kuu","Hein&auml;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&auml;yt&ouml;ss&auml;",button_recurring_open:"K&auml;yt&ouml;ss&auml;",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&auml;ivitt&auml;in",repeat_radio_week:"Viikoittain",repeat_radio_month:"Kuukausittain",repeat_radio_year:"Vuosittain",repeat_radio_day_type:"Joka",repeat_text_day_count:"p&auml;iv&auml;",repeat_radio_day_type2:"Joka arkip&auml;iv&auml;",repeat_week:"Toista joka",repeat_text_week_count:"viikko n&auml;in&auml; p&auml;ivin&auml;:",repeat_radio_month_type:"Toista",repeat_radio_month_start:"",repeat_text_month_day:"p&auml;iv&auml;n&auml; 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&auml;iv&auml;",select_year_month:"kuukausi",repeat_radio_end:"Ei loppumisaikaa",repeat_text_occurrences_count:"Toiston j&auml;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&auml;kuu","Hein&auml;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&quot;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.13"};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
17
  `+(p?p+`
18
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
19
  Make sure that the container has some initial height or use different units. For example: