summaryrefslogtreecommitdiffstats
path: root/codebase/ext
diff options
context:
space:
mode:
authorAlexKlimenkov <shurick.klimenkov@gmail.com>2014-11-12 12:31:30 +0300
committerAlexKlimenkov <shurick.klimenkov@gmail.com>2014-11-12 12:31:30 +0300
commitb43931167c3a3229c89608fe0cac8cc6f28db9d5 (patch)
treea21af26a5b6fb026be2210d20263ae820337f99e /codebase/ext
parent18d5b85296811c84235763e3b39eb6f7715e8d19 (diff)
downloadscheduler-b43931167c3a3229c89608fe0cac8cc6f28db9d5.zip
scheduler-b43931167c3a3229c89608fe0cac8cc6f28db9d5.tar.gz
scheduler-b43931167c3a3229c89608fe0cac8cc6f28db9d5.tar.bz2
[update] version 4.2.0
Diffstat (limited to 'codebase/ext')
-rw-r--r--codebase/ext/dhtmlxscheduler_active_links.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_agenda_view.js14
-rw-r--r--codebase/ext/dhtmlxscheduler_all_timed.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_collision.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_container_autoresize.js14
-rw-r--r--codebase/ext/dhtmlxscheduler_cookie.js6
-rw-r--r--codebase/ext/dhtmlxscheduler_editors.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_expand.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_grid_view.js32
-rw-r--r--codebase/ext/dhtmlxscheduler_html_templates.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_key_nav.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_layer.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_limit.js33
-rw-r--r--codebase/ext/dhtmlxscheduler_map_view.js22
-rw-r--r--codebase/ext/dhtmlxscheduler_minical.js26
-rw-r--r--codebase/ext/dhtmlxscheduler_monthheight.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_multisection.js15
-rw-r--r--codebase/ext/dhtmlxscheduler_multiselect.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_multisource.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_mvc.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_offline.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_outerdrag.js6
-rw-r--r--codebase/ext/dhtmlxscheduler_pdf.js30
-rw-r--r--codebase/ext/dhtmlxscheduler_quick_info.js20
-rw-r--r--codebase/ext/dhtmlxscheduler_readonly.js12
-rw-r--r--codebase/ext/dhtmlxscheduler_recurring.js59
-rw-r--r--codebase/ext/dhtmlxscheduler_serialize.js8
-rw-r--r--codebase/ext/dhtmlxscheduler_timeline.js31
-rw-r--r--codebase/ext/dhtmlxscheduler_tooltip.js8
-rw-r--r--codebase/ext/dhtmlxscheduler_treetimeline.js16
-rw-r--r--codebase/ext/dhtmlxscheduler_units.js18
-rw-r--r--codebase/ext/dhtmlxscheduler_url.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_week_agenda.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_wp.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_year_view.js11
35 files changed, 230 insertions, 221 deletions
diff --git a/codebase/ext/dhtmlxscheduler_active_links.js b/codebase/ext/dhtmlxscheduler_active_links.js
index 9ae61ef..d90ebaa 100644
--- a/codebase/ext/dhtmlxscheduler_active_links.js
+++ b/codebase/ext/dhtmlxscheduler_active_links.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_agenda_view.js b/codebase/ext/dhtmlxscheduler_agenda_view.js
index 94174cb..27fc7e2 100644
--- a/codebase/ext/dhtmlxscheduler_agenda_view.js
+++ b/codebase/ext/dhtmlxscheduler_agenda_view.js
@@ -1,14 +1,14 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.date.add_agenda=function(e){return scheduler.date.add(e,1,"year")},scheduler.templates.agenda_time=function(e,t,s){return s._timed?this.day_date(s.start_date,s.end_date,s)+" "+this.event_date(e):scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(t)},scheduler.templates.agenda_text=function(e,t,s){return s.text},scheduler.templates.agenda_date=function(){return""},scheduler.date.agenda_start=function(){return scheduler.date.date_part(scheduler._currentDate())},scheduler.attachEvent("onTemplatesReady",function(){function e(e){if(e){var t=scheduler.locale.labels;
-scheduler._els.dhx_cal_header[0].innerHTML="<div class='dhx_agenda_line'><div>"+t.date+"</div><span style='padding-left:25px'>"+t.description+"</span></div>",scheduler._table_view=!0,scheduler.set_sizes()}}function t(){var e=(scheduler._date,scheduler.get_visible_events());e.sort(function(e,t){return e.start_date>t.start_date?1:-1});for(var t="<div class='dhx_agenda_area'>",s=0;s<e.length;s++){var i=e[s],n=i.color?"background:"+i.color+";":"",a=i.textColor?"color:"+i.textColor+";":"",r=scheduler.templates.event_class(i.start_date,i.end_date,i);
-t+="<div class='dhx_agenda_line"+(r?" "+r:"")+"' event_id='"+i.id+"' style='"+a+n+(i._text_style||"")+"'><div class='dhx_agenda_event_time'>"+scheduler.templates.agenda_time(i.start_date,i.end_date,i)+"</div>",t+="<div class='dhx_event_icon icon_details'>&nbsp</div>",t+="<span>"+scheduler.templates.agenda_text(i.start_date,i.end_date,i)+"</span></div>"}t+="<div class='dhx_v_border'></div></div>",scheduler._els.dhx_cal_data[0].innerHTML=t,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=scheduler._agendaScrollTop||0;
-var d=scheduler._els.dhx_cal_data[0].childNodes[0],o=d.childNodes[d.childNodes.length-1];o.style.height=d.offsetHeight<scheduler._els.dhx_cal_data[0].offsetHeight?"100%":d.offsetHeight+"px";var l=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates.agenda_date(scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];for(var s=0;s<l.length-1;s++)scheduler._rendered[s]=l[s]}var s=scheduler.dblclick_dhx_cal_data;scheduler.dblclick_dhx_cal_data=function(){if("agenda"==this._mode)!this.config.readonly&&this.config.dblclick_create&&this.addEventNow();
-else if(s)return s.apply(this,arguments)},scheduler.attachEvent("onSchedulerResize",function(){return"agenda"==this._mode?(this.agenda_view(!0),!1):!0});var i=scheduler.render_data;scheduler.render_data=function(){return"agenda"!=this._mode?i.apply(this,arguments):void t()};var n=scheduler.render_view_data;scheduler.render_view_data=function(){return"agenda"==this._mode&&(scheduler._agendaScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0),n.apply(this,arguments)
-},scheduler.agenda_view=function(s){scheduler._min_date=scheduler.config.agenda_start||scheduler.date.agenda_start(scheduler._date),scheduler._max_date=scheduler.config.agenda_end||scheduler.date.add_agenda(scheduler._min_date,1),scheduler._table_view=!0,e(s),s&&t()}});
+scheduler.date.add_agenda=function(e){return scheduler.date.add(e,1,"year")},scheduler.templates.agenda_time=function(e,d,t){return t._timed?this.day_date(t.start_date,t.end_date,t)+" "+this.event_date(e):scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(d)},scheduler.templates.agenda_text=function(e,d,t){return t.text},scheduler.templates.agenda_date=function(){return""},scheduler.date.agenda_start=function(){return scheduler.date.date_part(scheduler._currentDate())},scheduler.attachEvent("onTemplatesReady",function(){function e(e){if(e){var d=scheduler.locale.labels;
+scheduler._els.dhx_cal_header[0].innerHTML="<div class='dhx_agenda_line'><div>"+d.date+"</div><span style='padding-left:25px'>"+d.description+"</span></div>",scheduler._table_view=!0,scheduler.set_sizes()}}function d(){var e=(scheduler._date,scheduler.get_visible_events());e.sort(function(e,d){return e.start_date>d.start_date?1:-1});for(var d="<div class='dhx_agenda_area'>",t=0;t<e.length;t++){var a=e[t],l=a.color?"background:"+a.color+";":"",s=a.textColor?"color:"+a.textColor+";":"",r=scheduler.templates.event_class(a.start_date,a.end_date,a);
+d+="<div class='dhx_agenda_line"+(r?" "+r:"")+"' event_id='"+a.id+"' style='"+s+l+(a._text_style||"")+"'><div class='dhx_agenda_event_time'>"+scheduler.templates.agenda_time(a.start_date,a.end_date,a)+"</div>",d+="<div class='dhx_event_icon icon_details'>&nbsp</div>",d+="<span>"+scheduler.templates.agenda_text(a.start_date,a.end_date,a)+"</span></div>"}d+="<div class='dhx_v_border'></div></div>",scheduler._els.dhx_cal_data[0].innerHTML=d,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=scheduler._agendaScrollTop||0;
+var c=scheduler._els.dhx_cal_data[0].childNodes[0],_=c.childNodes[c.childNodes.length-1];_.style.height=c.offsetHeight<scheduler._els.dhx_cal_data[0].offsetHeight?"100%":c.offsetHeight+"px";var n=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates.agenda_date(scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];for(var t=0;t<n.length-1;t++)scheduler._rendered[t]=n[t]}var t=scheduler.dblclick_dhx_cal_data;scheduler.dblclick_dhx_cal_data=function(){if("agenda"==this._mode)!this.config.readonly&&this.config.dblclick_create&&this.addEventNow();
+else if(t)return t.apply(this,arguments)},scheduler.attachEvent("onSchedulerResize",function(){return"agenda"==this._mode?(this.agenda_view(!0),!1):!0});var a=scheduler.render_data;scheduler.render_data=function(){return"agenda"!=this._mode?a.apply(this,arguments):void d()};var l=scheduler.render_view_data;scheduler.render_view_data=function(){return"agenda"==this._mode&&(scheduler._agendaScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0),l.apply(this,arguments)
+},scheduler.agenda_view=function(t){scheduler._min_date=scheduler.config.agenda_start||scheduler.date.agenda_start(scheduler._date),scheduler._max_date=scheduler.config.agenda_end||scheduler.date.add_agenda(scheduler._min_date,1),scheduler._table_view=!0,e(t),t&&d()}});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_agenda_view.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_all_timed.js b/codebase/ext/dhtmlxscheduler_all_timed.js
index eaa2bb3..8563cb5 100644
--- a/codebase/ext/dhtmlxscheduler_all_timed.js
+++ b/codebase/ext/dhtmlxscheduler_all_timed.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_collision.js b/codebase/ext/dhtmlxscheduler_collision.js
index d83e726..fc3a20f 100644
--- a/codebase/ext/dhtmlxscheduler_collision.js
+++ b/codebase/ext/dhtmlxscheduler_collision.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -7,6 +7,6 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
*/
!function(){function e(e){var s=scheduler._get_section_view();s&&e&&(t=scheduler.getEvent(e)[scheduler._get_section_property()])}var t,s;scheduler.config.collision_limit=1,scheduler.attachEvent("onBeforeDrag",function(t){return e(t),!0}),scheduler.attachEvent("onBeforeLightbox",function(t){var i=scheduler.getEvent(t);return s=[i.start_date,i.end_date],e(t),!0}),scheduler.attachEvent("onEventChanged",function(e){if(!e||!scheduler.getEvent(e))return!0;var t=scheduler.getEvent(e);if(!scheduler.checkCollision(t)){if(!s)return!1;
t.start_date=s[0],t.end_date=s[1],t._timed=this.isOneDayEvent(t)}return!0}),scheduler.attachEvent("onBeforeEventChanged",function(e){return scheduler.checkCollision(e)}),scheduler.attachEvent("onEventAdded",function(e,t){var s=scheduler.checkCollision(t);s||scheduler.deleteEvent(e)}),scheduler.attachEvent("onEventSave",function(e,t){if(t=scheduler._lame_clone(t),t.id=e,!t.start_date||!t.end_date){var s=scheduler.getEvent(e);t.start_date=new Date(s.start_date),t.end_date=new Date(s.end_date)}return t.rec_type&&scheduler._roll_back_dates(t),scheduler.checkCollision(t)
-}),scheduler._check_sections_collision=function(e,t){var s=scheduler._get_section_property();return e[s]==t[s]&&e.id!=t.id?!0:!1},scheduler.checkCollision=function(e){var s=[],i=scheduler.config.collision_limit;if(e.rec_type)for(var n=scheduler.getRecDates(e),a=0;a<n.length;a++)for(var r=scheduler.getEvents(n[a].start_date,n[a].end_date),d=0;d<r.length;d++)(r[d].event_pid||r[d].id)!=e.id&&s.push(r[d]);else{s=scheduler.getEvents(e.start_date,e.end_date);for(var o=0;o<s.length;o++)if(s[o].id==e.id){s.splice(o,1);
+}),scheduler._check_sections_collision=function(e,t){var s=scheduler._get_section_property();return e[s]==t[s]&&e.id!=t.id?!0:!1},scheduler.checkCollision=function(e){var s=[],i=scheduler.config.collision_limit;if(e.rec_type)for(var a=scheduler.getRecDates(e),n=0;n<a.length;n++)for(var r=scheduler.getEvents(a[n].start_date,a[n].end_date),d=0;d<r.length;d++)(r[d].event_pid||r[d].id)!=e.id&&s.push(r[d]);else{s=scheduler.getEvents(e.start_date,e.end_date);for(var o=0;o<s.length;o++)if(s[o].id==e.id){s.splice(o,1);
break}}var l=scheduler._get_section_view(),h=scheduler._get_section_property(),_=!0;if(l){for(var c=0,o=0;o<s.length;o++)s[o].id!=e.id&&this._check_sections_collision(s[o],e)&&c++;c>=i&&(_=!1)}else s.length>=i&&(_=!1);if(!_){var u=!scheduler.callEvent("onEventCollision",[e,s]);return u||(e[h]=t||e[h]),u}return _}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_collision.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_container_autoresize.js b/codebase/ext/dhtmlxscheduler_container_autoresize.js
index 5667c6a..356790f 100644
--- a/codebase/ext/dhtmlxscheduler_container_autoresize.js
+++ b/codebase/ext/dhtmlxscheduler_container_autoresize.js
@@ -1,15 +1,15 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-!function(){scheduler.config.container_autoresize=!0,scheduler.config.month_day_min_height=90;var e=scheduler._pre_render_events;scheduler._pre_render_events=function(t,s){if(!scheduler.config.container_autoresize)return e.apply(this,arguments);var i=this.xy.bar_height,n=this._colsS.heights,a=this._colsS.heights=[0,0,0,0,0,0,0],r=this._els.dhx_cal_data[0];if(t=this._table_view?this._pre_render_events_table(t,s):this._pre_render_events_line(t,s),this._table_view)if(s)this._colsS.heights=n;else{var d=r.firstChild;
-if(d.rows){for(var o=0;o<d.rows.length;o++){if(a[o]++,a[o]*i>this._colsS.height-this.xy.month_head_height){var l=d.rows[o].cells,h=this._colsS.height-this.xy.month_head_height;1*this.config.max_month_events!==this.config.max_month_events||a[o]<=this.config.max_month_events?h=a[o]*i:(this.config.max_month_events+1)*i>this._colsS.height-this.xy.month_head_height&&(h=(this.config.max_month_events+1)*i);for(var _=0;_<l.length;_++)l[_].childNodes[1].style.height=h+"px";a[o]=(a[o-1]||0)+l[0].offsetHeight
-}a[o]=(a[o-1]||0)+d.rows[o].cells[0].offsetHeight}a.unshift(0),d.parentNode.offsetHeight<d.parentNode.scrollHeight&&!d._h_fix}else if(t.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(a[0]=-1),t.length||-1==a[0]){var c=(d.parentNode.childNodes,(a[0]+1)*i+1+"px");r.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+parseInt(c,10)+"px",r.style.height=this._obj.offsetHeight-parseInt(r.style.top,10)-(this.xy.margin_top||0)+"px";var u=this._els.dhx_multi_day[0];
-u.style.height=c,u.style.visibility=-1==a[0]?"hidden":"visible",u=this._els.dhx_multi_day[1],u.style.height=c,u.style.visibility=-1==a[0]?"hidden":"visible",u.className=a[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(a[0]+1)*i,a[0]=0}}return t};var t=["dhx_cal_navline","dhx_cal_header","dhx_multi_day","dhx_cal_data"],s=function(e){for(var s=0,i=0;i<t.length;i++){var n=t[i],a=scheduler._els[n]?scheduler._els[n][0]:null,r=0;switch(n){case"dhx_cal_navline":case"dhx_cal_header":r=parseInt(a.style.height,10);
-break;case"dhx_multi_day":r=a?a.offsetHeight:0,1==r&&(r=0);break;case"dhx_cal_data":r=Math.max(a.offsetHeight-1,a.scrollHeight);var d=scheduler.getState().mode;if("month"==d){if(scheduler.config.month_day_min_height&&!e){var o=a.getElementsByTagName("tr").length;r=o*scheduler.config.month_day_min_height}e&&(a.style.height=r+"px")}if(scheduler.matrix&&scheduler.matrix[d])if(e)r+=2,a.style.height=r+"px";else{r=2;for(var l=scheduler.matrix[d],h=l.y_unit,_=0;_<h.length;_++)r+=h[_].children?l.folder_dy||l.dy:l.dy
-}("day"==d||"week"==d)&&(r+=2)}s+=r}scheduler._obj.style.height=s+"px",e||scheduler.updateView()},i=function(){var e=scheduler.getState().mode;s(),(scheduler.matrix&&scheduler.matrix[e]||"month"==e)&&window.setTimeout(function(){s(!0)},1)};scheduler.attachEvent("onViewChange",i),scheduler.attachEvent("onXLE",i),scheduler.attachEvent("onEventChanged",i),scheduler.attachEvent("onEventCreated",i),scheduler.attachEvent("onEventAdded",i),scheduler.attachEvent("onEventDeleted",i),scheduler.attachEvent("onAfterSchedulerResize",i),scheduler.attachEvent("onClearAll",i)
+!function(){scheduler.config.container_autoresize=!0,scheduler.config.month_day_min_height=90;var e=scheduler._pre_render_events;scheduler._pre_render_events=function(t,i){if(!scheduler.config.container_autoresize)return e.apply(this,arguments);var s=this.xy.bar_height,a=this._colsS.heights,n=this._colsS.heights=[0,0,0,0,0,0,0],r=this._els.dhx_cal_data[0];if(t=this._table_view?this._pre_render_events_table(t,i):this._pre_render_events_line(t,i),this._table_view)if(i)this._colsS.heights=a;else{var d=r.firstChild;
+if(d.rows){for(var l=0;l<d.rows.length;l++){if(n[l]++,n[l]*s>this._colsS.height-this.xy.month_head_height){var o=d.rows[l].cells,h=this._colsS.height-this.xy.month_head_height;1*this.config.max_month_events!==this.config.max_month_events||n[l]<=this.config.max_month_events?h=n[l]*s:(this.config.max_month_events+1)*s>this._colsS.height-this.xy.month_head_height&&(h=(this.config.max_month_events+1)*s);for(var _=0;_<o.length;_++)o[_].childNodes[1].style.height=h+"px";n[l]=(n[l-1]||0)+o[0].offsetHeight
+}n[l]=(n[l-1]||0)+d.rows[l].cells[0].offsetHeight}n.unshift(0),d.parentNode.offsetHeight<d.parentNode.scrollHeight&&!d._h_fix}else if(t.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(n[0]=-1),t.length||-1==n[0]){var c=(d.parentNode.childNodes,(n[0]+1)*s+1+"px");r.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+parseInt(c,10)+"px",r.style.height=this._obj.offsetHeight-parseInt(r.style.top,10)-(this.xy.margin_top||0)+"px";var u=this._els.dhx_multi_day[0];
+u.style.height=c,u.style.visibility=-1==n[0]?"hidden":"visible",u=this._els.dhx_multi_day[1],u.style.height=c,u.style.visibility=-1==n[0]?"hidden":"visible",u.className=n[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(n[0]+1)*s,n[0]=0}}return t};var t=["dhx_cal_navline","dhx_cal_header","dhx_multi_day","dhx_cal_data"],i=function(e){for(var i=0,s=0;s<t.length;s++){var a=t[s],n=scheduler._els[a]?scheduler._els[a][0]:null,r=0;switch(a){case"dhx_cal_navline":case"dhx_cal_header":r=parseInt(n.style.height,10);
+break;case"dhx_multi_day":r=n?n.offsetHeight:0,1==r&&(r=0);break;case"dhx_cal_data":r=Math.max(n.offsetHeight-1,n.scrollHeight);var d=scheduler.getState().mode;if("month"==d){if(scheduler.config.month_day_min_height&&!e){var l=n.getElementsByTagName("tr").length;r=l*scheduler.config.month_day_min_height}e&&(n.style.height=r+"px")}if(scheduler.matrix&&scheduler.matrix[d])if(e)r+=2,n.style.height=r+"px";else{r=2;for(var o=scheduler.matrix[d],h=o.y_unit,_=0;_<h.length;_++)r+=h[_].children?o.folder_dy||o.dy:o.dy
+}("day"==d||"week"==d)&&(r+=2)}i+=r}scheduler._obj.style.height=i+"px",e||scheduler.updateView()},s=function(){var e=scheduler.getState().mode;i(),(scheduler.matrix&&scheduler.matrix[e]||"month"==e)&&window.setTimeout(function(){i(!0)},1)};scheduler.attachEvent("onViewChange",s),scheduler.attachEvent("onXLE",s),scheduler.attachEvent("onEventChanged",s),scheduler.attachEvent("onEventCreated",s),scheduler.attachEvent("onEventAdded",s),scheduler.attachEvent("onEventDeleted",s),scheduler.attachEvent("onAfterSchedulerResize",s),scheduler.attachEvent("onClearAll",s)
}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_container_autoresize.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_cookie.js b/codebase/ext/dhtmlxscheduler_cookie.js
index 6d686b1..b379d8b 100644
--- a/codebase/ext/dhtmlxscheduler_cookie.js
+++ b/codebase/ext/dhtmlxscheduler_cookie.js
@@ -1,10 +1,10 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-!function(){function e(e,t,i){var s=e+"="+i+(t?"; "+t:"");document.cookie=s}function t(e){var t=e+"=";if(document.cookie.length>0){var i=document.cookie.indexOf(t);if(-1!=i){i+=t.length;var s=document.cookie.indexOf(";",i);return-1==s&&(s=document.cookie.length),document.cookie.substring(i,s)}}return""}var i=!0;scheduler.attachEvent("onBeforeViewChange",function(s,n,a,r){if(i){i=!1;var d=t("scheduler_settings");if(d){scheduler._min_date||(scheduler._min_date=r),d=unescape(d).split("@"),d[0]=this.templates.xml_date(d[0]);
-var o=this.isViewExists(d[1])?d[1]:a,l=isNaN(+d[0])?r:d[0];return window.setTimeout(function(){scheduler.setCurrentView(l,o)},1),!1}}var h=escape(this.templates.xml_format(r||n)+"@"+(a||s));return e("scheduler_settings","expires=Sun, 31 Jan 9999 22:00:00 GMT",h),!0});var s=scheduler._load;scheduler._load=function(){var e=arguments;if(!scheduler._date&&scheduler._load_mode){var t=this;window.setTimeout(function(){s.apply(t,e)},1)}else s.apply(this,e)}}();
+!function(){function e(e,t,i){var s=e+"="+i+(t?"; "+t:"");document.cookie=s}function t(e){var t=e+"=";if(document.cookie.length>0){var i=document.cookie.indexOf(t);if(-1!=i){i+=t.length;var s=document.cookie.indexOf(";",i);return-1==s&&(s=document.cookie.length),document.cookie.substring(i,s)}}return""}var i=!0;scheduler.attachEvent("onBeforeViewChange",function(s,a,n,r){if(i){i=!1;var d=t("scheduler_settings");if(d){scheduler._min_date||(scheduler._min_date=r),d=unescape(d).split("@"),d[0]=this.templates.xml_date(d[0]);
+var o=this.isViewExists(d[1])?d[1]:n,l=isNaN(+d[0])?r:d[0];return window.setTimeout(function(){scheduler.setCurrentView(l,o)},1),!1}}var h=escape(this.templates.xml_format(r||a)+"@"+(n||s));return e("scheduler_settings","expires=Sun, 31 Jan 9999 22:00:00 GMT",h),!0});var s=scheduler._load;scheduler._load=function(){var e=arguments;if(!scheduler._date&&scheduler._load_mode){var t=this;window.setTimeout(function(){s.apply(t,e)},1)}else s.apply(this,e)}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_cookie.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_editors.js b/codebase/ext/dhtmlxscheduler_editors.js
index 5a409f0..8b63722 100644
--- a/codebase/ext/dhtmlxscheduler_editors.js
+++ b/codebase/ext/dhtmlxscheduler_editors.js
@@ -1,14 +1,14 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
scheduler.form_blocks.combo={render:function(e){e.cached_options||(e.cached_options={});var t="";return t+="<div class='"+e.type+"' style='height:"+(e.height||20)+"px;' ></div>"},set_value:function(e,t,i,s){!function(){function t(){e._combo&&e._combo.DOMParent&&e._combo.destructor()}t();var i=scheduler.attachEvent("onAfterLightbox",function(){t(),scheduler.detachEvent(i)})}(),window.dhx_globalImgPath=s.image_path||"/",e._combo=new dhtmlXCombo(e,s.name,e.offsetWidth-8),s.onchange&&e._combo.attachEvent("onChange",s.onchange),s.options_height&&e._combo.setOptionHeight(s.options_height);
-var n=e._combo;if(n.enableFilteringMode(s.filtering,s.script_path||null,!!s.cache),s.script_path){var a=i[s.map_to];a?s.cached_options[a]?(n.addOption(a,s.cached_options[a]),n.disable(1),n.selectOption(0),n.disable(0)):dhtmlxAjax.get(s.script_path+"?id="+a+"&uid="+scheduler.uid(),function(e){var t=e.doXPath("//option")[0],i=t.childNodes[0].nodeValue;s.cached_options[a]=i,n.addOption(a,i),n.disable(1),n.selectOption(0),n.disable(0)}):n.setComboValue("")}else{for(var r=[],d=0;d<s.options.length;d++){var o=s.options[d],l=[o.key,o.label,o.css];
-r.push(l)}if(n.addOption(r),i[s.map_to]){var h=n.getIndexByValue(i[s.map_to]);n.selectOption(h)}}},get_value:function(e,t,i){var s=e._combo.getSelectedValue();return i.script_path&&(i.cached_options[s]=e._combo.getSelectedText()),s},focus:function(){}},scheduler.form_blocks.radio={render:function(e){var t="";t+="<div class='dhx_cal_ltext dhx_cal_radio' style='height:"+e.height+"px;' >";for(var i=0;i<e.options.length;i++){var s=scheduler.uid();t+="<input id='"+s+"' type='radio' name='"+e.name+"' value='"+e.options[i].key+"'><label for='"+s+"'> "+e.options[i].label+"</label>",e.vertical&&(t+="<br/>")
-}return t+="</div>"},set_value:function(e,t,i,s){for(var n=e.getElementsByTagName("input"),a=0;a<n.length;a++){n[a].checked=!1;var r=i[s.map_to]||t;n[a].value==r&&(n[a].checked=!0)}},get_value:function(e){for(var t=e.getElementsByTagName("input"),i=0;i<t.length;i++)if(t[i].checked)return t[i].value},focus:function(){}},scheduler.form_blocks.checkbox={render:function(e){return scheduler.config.wide_form?'<div class="dhx_cal_wide_checkbox" '+(e.height?"style='height:"+e.height+"px;'":"")+"></div>":""
-},set_value:function(e,t,i,s){e=document.getElementById(s.id);var n=scheduler.uid(),a="undefined"!=typeof s.checked_value?t==s.checked_value:!!t;e.className+=" dhx_cal_checkbox";var r="<input id='"+n+"' type='checkbox' value='true' name='"+s.name+"'"+(a?"checked='true'":"")+"'>",d="<label for='"+n+"'>"+(scheduler.locale.labels["section_"+s.name]||s.name)+"</label>";if(scheduler.config.wide_form?(e.innerHTML=d,e.nextSibling.innerHTML=r):e.innerHTML=r+d,s.handler){var o=e.getElementsByTagName("input")[0];
+var a=e._combo;if(a.enableFilteringMode(s.filtering,s.script_path||null,!!s.cache),s.script_path){var n=i[s.map_to];n?s.cached_options[n]?(a.addOption(n,s.cached_options[n]),a.disable(1),a.selectOption(0),a.disable(0)):dhtmlxAjax.get(s.script_path+"?id="+n+"&uid="+scheduler.uid(),function(e){var t=e.doXPath("//option")[0],i=t.childNodes[0].nodeValue;s.cached_options[n]=i,a.addOption(n,i),a.disable(1),a.selectOption(0),a.disable(0)}):a.setComboValue("")}else{for(var r=[],d=0;d<s.options.length;d++){var o=s.options[d],l=[o.key,o.label,o.css];
+r.push(l)}if(a.addOption(r),i[s.map_to]){var h=a.getIndexByValue(i[s.map_to]);a.selectOption(h)}}},get_value:function(e,t,i){var s=e._combo.getSelectedValue();return i.script_path&&(i.cached_options[s]=e._combo.getSelectedText()),s},focus:function(){}},scheduler.form_blocks.radio={render:function(e){var t="";t+="<div class='dhx_cal_ltext dhx_cal_radio' style='height:"+e.height+"px;' >";for(var i=0;i<e.options.length;i++){var s=scheduler.uid();t+="<input id='"+s+"' type='radio' name='"+e.name+"' value='"+e.options[i].key+"'><label for='"+s+"'> "+e.options[i].label+"</label>",e.vertical&&(t+="<br/>")
+}return t+="</div>"},set_value:function(e,t,i,s){for(var a=e.getElementsByTagName("input"),n=0;n<a.length;n++){a[n].checked=!1;var r=i[s.map_to]||t;a[n].value==r&&(a[n].checked=!0)}},get_value:function(e){for(var t=e.getElementsByTagName("input"),i=0;i<t.length;i++)if(t[i].checked)return t[i].value},focus:function(){}},scheduler.form_blocks.checkbox={render:function(e){return scheduler.config.wide_form?'<div class="dhx_cal_wide_checkbox" '+(e.height?"style='height:"+e.height+"px;'":"")+"></div>":""
+},set_value:function(e,t,i,s){e=document.getElementById(s.id);var a=scheduler.uid(),n="undefined"!=typeof s.checked_value?t==s.checked_value:!!t;e.className+=" dhx_cal_checkbox";var r="<input id='"+a+"' type='checkbox' value='true' name='"+s.name+"'"+(n?"checked='true'":"")+"'>",d="<label for='"+a+"'>"+(scheduler.locale.labels["section_"+s.name]||s.name)+"</label>";if(scheduler.config.wide_form?(e.innerHTML=d,e.nextSibling.innerHTML=r):e.innerHTML=r+d,s.handler){var o=e.getElementsByTagName("input")[0];
o.onclick=s.handler}},get_value:function(e,t,i){e=document.getElementById(i.id);var s=e.getElementsByTagName("input")[0];return s||(s=e.nextSibling.getElementsByTagName("input")[0]),s.checked?i.checked_value||!0:i.unchecked_value||!1},focus:function(){}};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_editors.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_expand.js b/codebase/ext/dhtmlxscheduler_expand.js
index ef0cbcd..a41f0d5 100644
--- a/codebase/ext/dhtmlxscheduler_expand.js
+++ b/codebase/ext/dhtmlxscheduler_expand.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_grid_view.js b/codebase/ext/dhtmlxscheduler_grid_view.js
index f8d97bf..079f47b 100644
--- a/codebase/ext/dhtmlxscheduler_grid_view.js
+++ b/codebase/ext/dhtmlxscheduler_grid_view.js
@@ -1,25 +1,25 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
!function(){scheduler._grid={sort_rules:{"int":function(e,t,s){return 1*s(e)<1*s(t)?1:-1},str:function(e,t,s){return s(e)<s(t)?1:-1},date:function(e,t,s){return new Date(s(e))<new Date(s(t))?1:-1}},_getObjName:function(e){return"grid_"+e},_getViewName:function(e){return e.replace(/^grid_/,"")}}}(),scheduler.createGridView=function(e){function t(e){return!(void 0!==e&&(1*e!=e||0>e))}var s=e.name||"grid",i=scheduler._grid._getObjName(s);scheduler.config[s+"_start"]=e.from||new Date(0),scheduler.config[s+"_end"]=e.to||new Date(9999,1,1),scheduler[i]=e,scheduler[i].defPadding=8,scheduler[i].columns=scheduler[i].fields,scheduler[i].unit=e.unit||"month",scheduler[i].step=e.step||1,delete scheduler[i].fields;
-for(var r=scheduler[i].columns,n=0;n<r.length;n++)t(r[n].width)&&(r[n].initialWidth=r[n].width),t(r[n].paddingLeft)||delete r[n].paddingLeft,t(r[n].paddingRight)||delete r[n].paddingRight;scheduler[i].select=void 0===e.select?!0:e.select,void 0===scheduler.locale.labels[s+"_tab"]&&(scheduler.locale.labels[s+"_tab"]=scheduler[i].label||scheduler.locale.labels.grid_tab),scheduler[i]._selected_divs=[],scheduler.date[s+"_start"]=function(t){return scheduler.date[e.unit+"_start"]?scheduler.date[e.unit+"_start"](t):t
+for(var r=scheduler[i].columns,a=0;a<r.length;a++)t(r[a].width)&&(r[a].initialWidth=r[a].width),t(r[a].paddingLeft)||delete r[a].paddingLeft,t(r[a].paddingRight)||delete r[a].paddingRight;scheduler[i].select=void 0===e.select?!0:e.select,void 0===scheduler.locale.labels[s+"_tab"]&&(scheduler.locale.labels[s+"_tab"]=scheduler[i].label||scheduler.locale.labels.grid_tab),scheduler[i]._selected_divs=[],scheduler.date[s+"_start"]=function(t){return scheduler.date[e.unit+"_start"]?scheduler.date[e.unit+"_start"](t):t
},scheduler.date["add_"+s]=function(e,t){return scheduler.date.add(e,t*scheduler[i].step,scheduler[i].unit)},scheduler.templates[s+"_date"]=function(e,t){return scheduler.templates.day_date(e)+" - "+scheduler.templates.day_date(t)},scheduler.templates[s+"_full_date"]=function(e,t,i){return scheduler.isOneDayEvent(i)?this[s+"_single_date"](e):scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(t)},scheduler.templates[s+"_single_date"]=function(e){return scheduler.templates.day_date(e)+" "+this.event_date(e)
-},scheduler.templates[s+"_field"]=function(e,t){return t[e]},scheduler.attachEvent("onTemplatesReady",function(){scheduler.attachEvent("onDblClick",function(e){return this._mode==s?(scheduler._click.buttons.details(e),!1):!0}),scheduler.attachEvent("onClick",function(e,t){return this._mode==s&&scheduler[i].select?(scheduler._grid.unselectEvent("",s),scheduler._grid.selectEvent(e,s,t),!1):!0}),scheduler.attachEvent("onSchedulerResize",function(){return this._mode==s?(this[s+"_view"](!0),window.setTimeout(function(){scheduler.callEvent("onAfterSchedulerResize",[])
-},1),!1):!0});var e=scheduler.render_data;scheduler.render_data=function(){return this._mode!=s?e.apply(this,arguments):void scheduler._grid._fill_grid_tab(i)};var t=scheduler.render_view_data;scheduler.render_view_data=function(){return this._mode==s?(scheduler._grid._gridScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0,scheduler._els.dhx_cal_data[0].style.overflowY="auto"):scheduler._els.dhx_cal_data[0].style.overflowY="auto",t.apply(this,arguments)
-}}),scheduler[s+"_view"]=function(e){if(e){var t=null,r=null,n=scheduler[i];n.paging?(t=scheduler.date[s+"_start"](new Date(scheduler._date)),r=scheduler.date["add_"+s](t,1)):(t=scheduler.config[s+"_start"],r=scheduler.config[s+"_end"]),scheduler._min_date=t,scheduler._max_date=r,scheduler._grid.set_full_view(i);var a="";+t>+new Date(0)&&+r<+new Date(9999,1,1)&&(a=scheduler.templates[s+"_date"](t,r)),scheduler._els.dhx_cal_date[0].innerHTML=a,scheduler._gridView=i}else scheduler._grid._sort_marker=null,delete scheduler._gridView,scheduler._rendered=[],scheduler[i]._selected_divs=[]
-}},scheduler.dblclick_dhx_grid_area=function(){!this.config.readonly&&this.config.dblclick_create&&this.addEventNow()},scheduler._click.dhx_cal_header&&(scheduler._old_header_click=scheduler._click.dhx_cal_header),scheduler._click.dhx_cal_header=function(e){if(scheduler._gridView){var t=e||window.event,s=scheduler._grid.get_sort_params(t,scheduler._gridView);scheduler._grid.draw_sort_marker(t.originalTarget||t.srcElement,s.dir),scheduler.clear_view(),scheduler._grid._fill_grid_tab(scheduler._gridView,s)
-}else if(scheduler._old_header_click)return scheduler._old_header_click.apply(this,arguments)},scheduler._grid.selectEvent=function(e,t,s){if(scheduler.callEvent("onBeforeRowSelect",[e,s])){var i=scheduler._grid._getObjName(t);scheduler.for_rendered(e,function(e){e.className+=" dhx_grid_event_selected",scheduler[i]._selected_divs.push(e)}),scheduler._select_id=e}},scheduler._grid._unselectDiv=function(e){e.className=e.className.replace(/ dhx_grid_event_selected/,"")},scheduler._grid.unselectEvent=function(e,t){var s=scheduler._grid._getObjName(t);
-if(s&&scheduler[s]._selected_divs)if(e){for(var i=0;i<scheduler[s]._selected_divs.length;i++)if(scheduler[s]._selected_divs[i].getAttribute("event_id")==e){scheduler._grid._unselectDiv(scheduler[s]._selected_divs[i]),scheduler[s]._selected_divs.slice(i,1);break}}else{for(var i=0;i<scheduler[s]._selected_divs.length;i++)scheduler._grid._unselectDiv(scheduler[s]._selected_divs[i]);scheduler[s]._selected_divs=[]}},scheduler._grid.get_sort_params=function(e,t){var s=e.originalTarget||e.srcElement,i="desc";
-"dhx_grid_view_sort"==s.className&&(s=s.parentNode),s.className&&-1!=s.className.indexOf("dhx_grid_sort_asc")||(i="asc");for(var r=0,n=0;n<s.parentNode.childNodes.length;n++)if(s.parentNode.childNodes[n]==s){r=n;break}var a=null;if(scheduler[t].columns[r].template){var d=scheduler[t].columns[r].template;a=function(e){return d(e.start_date,e.end_date,e)}}else{var l=scheduler[t].columns[r].id;"date"==l&&(l="start_date"),a=function(e){return e[l]}}var o=scheduler[t].columns[r].sort;return"function"!=typeof o&&(o=scheduler._grid.sort_rules[o]||scheduler._grid.sort_rules.str),{dir:i,value:a,rule:o}
-},scheduler._grid.draw_sort_marker=function(e,t){"dhx_grid_view_sort"==e.className&&(e=e.parentNode),scheduler._grid._sort_marker&&(scheduler._grid._sort_marker.className=scheduler._grid._sort_marker.className.replace(/( )?dhx_grid_sort_(asc|desc)/,""),scheduler._grid._sort_marker.removeChild(scheduler._grid._sort_marker.lastChild)),e.className+=" dhx_grid_sort_"+t,scheduler._grid._sort_marker=e;var s="<div class='dhx_grid_view_sort' style='left:"+(+e.style.width.replace("px","")-15+e.offsetLeft)+"px'>&nbsp;</div>";
-e.innerHTML+=s},scheduler._grid.sort_grid=function(e){var e=e||{dir:"desc",value:function(e){return e.start_date},rule:scheduler._grid.sort_rules.date},t=scheduler.get_visible_events();return t.sort("desc"==e.dir?function(t,s){return e.rule(t,s,e.value)}:function(t,s){return-e.rule(t,s,e.value)}),t},scheduler._grid.set_full_view=function(e){if(e){var t=(scheduler.locale.labels,scheduler._grid._print_grid_header(e));scheduler._els.dhx_cal_header[0].innerHTML=t,scheduler._table_view=!0,scheduler.set_sizes()
-}},scheduler._grid._calcPadding=function(e,t){var s=(void 0!==e.paddingLeft?1*e.paddingLeft:scheduler[t].defPadding)+(void 0!==e.paddingRight?1*e.paddingRight:scheduler[t].defPadding);return s},scheduler._grid._getStyles=function(e,t){for(var s=[],i="",r=0;t[r];r++)switch(i=t[r]+":",t[r]){case"text-align":e.align&&s.push(i+e.align);break;case"vertical-align":e.valign&&s.push(i+e.valign);break;case"padding-left":void 0!==e.paddingLeft&&s.push(i+(e.paddingLeft||"0")+"px");break;case"padding-right":void 0!==e.paddingRight&&s.push(i+(e.paddingRight||"0")+"px")
-}return s},scheduler._grid._fill_grid_tab=function(e,t){for(var s=(scheduler._date,scheduler._grid.sort_grid(t)),i=scheduler[e].columns,r="<div>",n=-2,a=0;a<i.length;a++){var d=scheduler._grid._calcPadding(i[a],e);n+=i[a].width+d,a<i.length-1&&(r+="<div class='dhx_grid_v_border' style='left:"+n+"px'></div>")}r+="</div>",r+="<div class='dhx_grid_area'><table>";for(var a=0;a<s.length;a++)r+=scheduler._grid._print_event_row(s[a],e);r+="</table></div>",scheduler._els.dhx_cal_data[0].innerHTML=r,scheduler._els.dhx_cal_data[0].scrollTop=scheduler._grid._gridScrollTop||0;
-var l=scheduler._els.dhx_cal_data[0].getElementsByTagName("tr");scheduler._rendered=[];for(var a=0;a<l.length;a++)scheduler._rendered[a]=l[a]},scheduler._grid._print_event_row=function(e,t){var s=[];e.color&&s.push("background:"+e.color),e.textColor&&s.push("color:"+e.textColor),e._text_style&&s.push(e._text_style),scheduler[t].rowHeight&&s.push("height:"+scheduler[t].rowHeight+"px");var i="";s.length&&(i="style='"+s.join(";")+"'");for(var r=scheduler[t].columns,n=scheduler.templates.event_class(e.start_date,e.end_date,e),a="<tr class='dhx_grid_event"+(n?" "+n:"")+"' event_id='"+e.id+"' "+i+">",d=scheduler._grid._getViewName(t),l=["text-align","vertical-align","padding-left","padding-right"],o=0;o<r.length;o++){var h;
-h=r[o].template?r[o].template(e.start_date,e.end_date,e):"date"==r[o].id?scheduler.templates[d+"_full_date"](e.start_date,e.end_date,e):"start_date"==r[o].id||"end_date"==r[o].id?scheduler.templates[d+"_single_date"](e[r[o].id]):scheduler.templates[d+"_field"](r[o].id,e);var _=scheduler._grid._getStyles(r[o],l),c=r[o].css?' class="'+r[o].css+'"':"";a+="<td style='width:"+r[o].width+"px;"+_.join(";")+"' "+c+">"+h+"</td>"}return a+="<td class='dhx_grid_dummy'></td></tr>"},scheduler._grid._print_grid_header=function(e){for(var t="<div class='dhx_grid_line'>",s=scheduler[e].columns,i=[],r=s.length,n=scheduler._obj.clientWidth-2*s.length-20,a=0;a<s.length;a++){var d=1*s[a].initialWidth;
-isNaN(d)||""===s[a].initialWidth||null===s[a].initialWidth||"boolean"==typeof s[a].initialWidth?i[a]=null:(r--,n-=d,i[a]=d)}for(var l=Math.floor(n/r),o=["text-align","padding-left","padding-right"],h=0;h<s.length;h++){var _=i[h]?i[h]:l;s[h].width=_-scheduler._grid._calcPadding(s[h],e);var c=scheduler._grid._getStyles(s[h],o);t+="<div style='width:"+(s[h].width-1)+"px;"+c.join(";")+"'>"+(void 0===s[h].label?s[h].id:s[h].label)+"</div>"}return t+="</div>"};
+},scheduler.templates[s+"_field"]=function(e,t){return t[e]},scheduler.attachEvent("onTemplatesReady",function(){scheduler.attachEvent("onDblClick",function(e){return this._mode==s?(scheduler._click.buttons.details(e),!1):!0}),scheduler.attachEvent("onClick",function(e,t){return this._mode==s&&scheduler[i].select?(scheduler._grid.unselectEvent("",s),scheduler._grid.selectEvent(e,s,t),!1):!0});var e=scheduler.render_data;scheduler.render_data=function(){return this._mode!=s?e.apply(this,arguments):void scheduler._grid._fill_grid_tab(i)
+};var t=scheduler.render_view_data;scheduler.render_view_data=function(){return this._mode==s?(scheduler._grid._gridScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0,scheduler._els.dhx_cal_data[0].style.overflowY="auto"):scheduler._els.dhx_cal_data[0].style.overflowY="auto",t.apply(this,arguments)}}),scheduler[s+"_view"]=function(e){if(scheduler._grid._sort_marker=null,delete scheduler._gridView,scheduler._rendered=[],scheduler[i]._selected_divs=[],e){var t=null,r=null,a=scheduler[i];
+a.paging?(t=scheduler.date[s+"_start"](new Date(scheduler._date)),r=scheduler.date["add_"+s](t,1)):(t=scheduler.config[s+"_start"],r=scheduler.config[s+"_end"]),scheduler._min_date=t,scheduler._max_date=r,scheduler._grid.set_full_view(i);var n="";+t>+new Date(0)&&+r<+new Date(9999,1,1)&&(n=scheduler.templates[s+"_date"](t,r)),scheduler._els.dhx_cal_date[0].innerHTML=n,scheduler._gridView=i}}},scheduler.dblclick_dhx_grid_area=function(){!this.config.readonly&&this.config.dblclick_create&&this.addEventNow()
+},scheduler._click.dhx_cal_header&&(scheduler._old_header_click=scheduler._click.dhx_cal_header),scheduler._click.dhx_cal_header=function(e){if(scheduler._gridView){var t=e||window.event,s=scheduler._grid.get_sort_params(t,scheduler._gridView);scheduler._grid.draw_sort_marker(t.originalTarget||t.srcElement,s.dir),scheduler.clear_view(),scheduler._grid._fill_grid_tab(scheduler._gridView,s)}else if(scheduler._old_header_click)return scheduler._old_header_click.apply(this,arguments)},scheduler._grid.selectEvent=function(e,t,s){if(scheduler.callEvent("onBeforeRowSelect",[e,s])){var i=scheduler._grid._getObjName(t);
+scheduler.for_rendered(e,function(e){e.className+=" dhx_grid_event_selected",scheduler[i]._selected_divs.push(e)}),scheduler._select_id=e}},scheduler._grid._unselectDiv=function(e){e.className=e.className.replace(/ dhx_grid_event_selected/,"")},scheduler._grid.unselectEvent=function(e,t){var s=scheduler._grid._getObjName(t);if(s&&scheduler[s]._selected_divs)if(e){for(var i=0;i<scheduler[s]._selected_divs.length;i++)if(scheduler[s]._selected_divs[i].getAttribute("event_id")==e){scheduler._grid._unselectDiv(scheduler[s]._selected_divs[i]),scheduler[s]._selected_divs.slice(i,1);
+break}}else{for(var i=0;i<scheduler[s]._selected_divs.length;i++)scheduler._grid._unselectDiv(scheduler[s]._selected_divs[i]);scheduler[s]._selected_divs=[]}},scheduler._grid.get_sort_params=function(e,t){var s=e.originalTarget||e.srcElement,i="desc";"dhx_grid_view_sort"==s.className&&(s=s.parentNode),s.className&&-1!=s.className.indexOf("dhx_grid_sort_asc")||(i="asc");for(var r=0,a=0;a<s.parentNode.childNodes.length;a++)if(s.parentNode.childNodes[a]==s){r=a;break}var n=null;if(scheduler[t].columns[r].template){var d=scheduler[t].columns[r].template;
+n=function(e){return d(e.start_date,e.end_date,e)}}else{var l=scheduler[t].columns[r].id;"date"==l&&(l="start_date"),n=function(e){return e[l]}}var o=scheduler[t].columns[r].sort;return"function"!=typeof o&&(o=scheduler._grid.sort_rules[o]||scheduler._grid.sort_rules.str),{dir:i,value:n,rule:o}},scheduler._grid.draw_sort_marker=function(e,t){"dhx_grid_view_sort"==e.className&&(e=e.parentNode),scheduler._grid._sort_marker&&(scheduler._grid._sort_marker.className=scheduler._grid._sort_marker.className.replace(/( )?dhx_grid_sort_(asc|desc)/,""),scheduler._grid._sort_marker.removeChild(scheduler._grid._sort_marker.lastChild)),e.className+=" dhx_grid_sort_"+t,scheduler._grid._sort_marker=e;
+var s="<div class='dhx_grid_view_sort' style='left:"+(+e.style.width.replace("px","")-15+e.offsetLeft)+"px'>&nbsp;</div>";e.innerHTML+=s},scheduler._grid.sort_grid=function(e){var e=e||{dir:"desc",value:function(e){return e.start_date},rule:scheduler._grid.sort_rules.date},t=scheduler.get_visible_events();return t.sort("desc"==e.dir?function(t,s){return e.rule(t,s,e.value)}:function(t,s){return-e.rule(t,s,e.value)}),t},scheduler._grid.set_full_view=function(e){if(e){var t=(scheduler.locale.labels,scheduler._grid._print_grid_header(e));
+scheduler._els.dhx_cal_header[0].innerHTML=t,scheduler._table_view=!0,scheduler.set_sizes()}},scheduler._grid._calcPadding=function(e,t){var s=(void 0!==e.paddingLeft?1*e.paddingLeft:scheduler[t].defPadding)+(void 0!==e.paddingRight?1*e.paddingRight:scheduler[t].defPadding);return s},scheduler._grid._getStyles=function(e,t){for(var s=[],i="",r=0;t[r];r++)switch(i=t[r]+":",t[r]){case"text-align":e.align&&s.push(i+e.align);break;case"vertical-align":e.valign&&s.push(i+e.valign);break;case"padding-left":void 0!==e.paddingLeft&&s.push(i+(e.paddingLeft||"0")+"px");
+break;case"padding-right":void 0!==e.paddingRight&&s.push(i+(e.paddingRight||"0")+"px")}return s},scheduler._grid._fill_grid_tab=function(e,t){for(var s=(scheduler._date,scheduler._grid.sort_grid(t)),i=scheduler[e].columns,r="<div>",a=-2,n=0;n<i.length;n++){var d=scheduler._grid._calcPadding(i[n],e);a+=i[n].width+d,n<i.length-1&&(r+="<div class='dhx_grid_v_border' style='left:"+a+"px'></div>")}r+="</div>",r+="<div class='dhx_grid_area'><table>";for(var n=0;n<s.length;n++)r+=scheduler._grid._print_event_row(s[n],e);
+r+="</table></div>",scheduler._els.dhx_cal_data[0].innerHTML=r,scheduler._els.dhx_cal_data[0].scrollTop=scheduler._grid._gridScrollTop||0;var l=scheduler._els.dhx_cal_data[0].getElementsByTagName("tr");scheduler._rendered=[];for(var n=0;n<l.length;n++)scheduler._rendered[n]=l[n]},scheduler._grid._print_event_row=function(e,t){var s=[];e.color&&s.push("background:"+e.color),e.textColor&&s.push("color:"+e.textColor),e._text_style&&s.push(e._text_style),scheduler[t].rowHeight&&s.push("height:"+scheduler[t].rowHeight+"px");
+var i="";s.length&&(i="style='"+s.join(";")+"'");for(var r=scheduler[t].columns,a=scheduler.templates.event_class(e.start_date,e.end_date,e),n="<tr class='dhx_grid_event"+(a?" "+a:"")+"' event_id='"+e.id+"' "+i+">",d=scheduler._grid._getViewName(t),l=["text-align","vertical-align","padding-left","padding-right"],o=0;o<r.length;o++){var h;h=r[o].template?r[o].template(e.start_date,e.end_date,e):"date"==r[o].id?scheduler.templates[d+"_full_date"](e.start_date,e.end_date,e):"start_date"==r[o].id||"end_date"==r[o].id?scheduler.templates[d+"_single_date"](e[r[o].id]):scheduler.templates[d+"_field"](r[o].id,e);
+var _=scheduler._grid._getStyles(r[o],l),c=r[o].css?' class="'+r[o].css+'"':"";n+="<td style='width:"+r[o].width+"px;"+_.join(";")+"' "+c+">"+h+"</td>"}return n+="<td class='dhx_grid_dummy'></td></tr>"},scheduler._grid._print_grid_header=function(e){for(var t="<div class='dhx_grid_line'>",s=scheduler[e].columns,i=[],r=s.length,a=scheduler._obj.clientWidth-2*s.length-20,n=0;n<s.length;n++){var d=1*s[n].initialWidth;isNaN(d)||""===s[n].initialWidth||null===s[n].initialWidth||"boolean"==typeof s[n].initialWidth?i[n]=null:(r--,a-=d,i[n]=d)
+}for(var l=Math.floor(a/r),o=["text-align","padding-left","padding-right"],h=0;h<s.length;h++){var _=i[h]?i[h]:l;s[h].width=_-scheduler._grid._calcPadding(s[h],e);var c=scheduler._grid._getStyles(s[h],o);t+="<div style='width:"+(s[h].width-1)+"px;"+c.join(";")+"'>"+(void 0===s[h].label?s[h].id:s[h].label)+"</div>"}return t+="</div>"};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_grid_view.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_html_templates.js b/codebase/ext/dhtmlxscheduler_html_templates.js
index 2d52a73..ff4d5d8 100644
--- a/codebase/ext/dhtmlxscheduler_html_templates.js
+++ b/codebase/ext/dhtmlxscheduler_html_templates.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_key_nav.js b/codebase/ext/dhtmlxscheduler_key_nav.js
index 007c7b1..d1d6c72 100644
--- a/codebase/ext/dhtmlxscheduler_key_nav.js
+++ b/codebase/ext/dhtmlxscheduler_key_nav.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler._temp_key_scope=function(){function e(e){delete e.rec_type,delete e.rec_pattern,delete e.event_pid,delete e.event_length}scheduler.config.key_nav=!0;var t,s,i=null;scheduler.attachEvent("onMouseMove",function(e,i){t=scheduler.getActionData(i).date,s=scheduler.getActionData(i).section}),scheduler._make_pasted_event=function(i){var r=i.end_date-i.start_date,n=scheduler._lame_copy({},i);if(e(n),n.start_date=new Date(t),n.end_date=new Date(n.start_date.valueOf()+r),s){var a=scheduler.getState().mode,d=null;
-scheduler.matrix[a]?d=scheduler.matrix[a].y_property:scheduler._props[a]&&(d=scheduler._props[a].property),n[d]=s}return n},scheduler._do_paste=function(e,t,s){scheduler.addEvent(t),scheduler.callEvent("onEventPasted",[e,t,s])},scheduler._is_key_nav_active=function(){return this._is_initialized()&&!this._is_lightbox_open()&&this.config.key_nav?!0:!1},dhtmlxEvent(document,_isOpera?"keypress":"keydown",function(e){if(!scheduler._is_key_nav_active())return!0;if(e=e||event,37==e.keyCode||39==e.keyCode){e.cancelBubble=!0;
-var t=scheduler.date.add(scheduler._date,37==e.keyCode?-1:1,scheduler._mode);return scheduler.setCurrentView(t),!0}var s=scheduler._select_id;if(e.ctrlKey&&67==e.keyCode)return s&&(scheduler._buffer_id=s,i=!0,scheduler.callEvent("onEventCopied",[scheduler.getEvent(s)])),!0;if(e.ctrlKey&&88==e.keyCode&&s){i=!1,scheduler._buffer_id=s;var r=scheduler.getEvent(s);scheduler.updateEvent(r.id),scheduler.callEvent("onEventCut",[r])}if(e.ctrlKey&&86==e.keyCode){var r=scheduler.getEvent(scheduler._buffer_id);
-if(r){var n=scheduler._make_pasted_event(r);if(i)n.id=scheduler.uid(),scheduler._do_paste(i,n,r);else{var a=scheduler.callEvent("onBeforeEventChanged",[n,e,!1,r]);a&&(scheduler._do_paste(i,n,r),i=!0)}}return!0}})},scheduler._temp_key_scope();
+scheduler._temp_key_scope=function(){function e(e){delete e.rec_type,delete e.rec_pattern,delete e.event_pid,delete e.event_length}scheduler.config.key_nav=!0;var t,s,i=null;scheduler.attachEvent("onMouseMove",function(e,i){t=scheduler.getActionData(i).date,s=scheduler.getActionData(i).section}),scheduler._make_pasted_event=function(i){var r=i.end_date-i.start_date,a=scheduler._lame_copy({},i);if(e(a),a.start_date=new Date(t),a.end_date=new Date(a.start_date.valueOf()+r),s){var n=scheduler._get_section_property();
+a[n]=scheduler.config.multisection?i[n]:s}return a},scheduler._do_paste=function(e,t,s){scheduler.addEvent(t),scheduler.callEvent("onEventPasted",[e,t,s])},scheduler._is_key_nav_active=function(){return this._is_initialized()&&!this._is_lightbox_open()&&this.config.key_nav?!0:!1},dhtmlxEvent(document,_isOpera?"keypress":"keydown",function(e){if(!scheduler._is_key_nav_active())return!0;if(e=e||event,37==e.keyCode||39==e.keyCode){e.cancelBubble=!0;var t=scheduler.date.add(scheduler._date,37==e.keyCode?-1:1,scheduler._mode);
+return scheduler.setCurrentView(t),!0}var s=scheduler._select_id;if(e.ctrlKey&&67==e.keyCode)return s&&(scheduler._buffer_id=s,i=!0,scheduler.callEvent("onEventCopied",[scheduler.getEvent(s)])),!0;if(e.ctrlKey&&88==e.keyCode&&s){i=!1,scheduler._buffer_id=s;var r=scheduler.getEvent(s);scheduler.updateEvent(r.id),scheduler.callEvent("onEventCut",[r])}if(e.ctrlKey&&86==e.keyCode){var r=scheduler.getEvent(scheduler._buffer_id);if(r){var a=scheduler._make_pasted_event(r);if(i)a.id=scheduler.uid(),scheduler._do_paste(i,a,r);
+else{var n=scheduler.callEvent("onBeforeEventChanged",[a,e,!1,r]);n&&(scheduler._do_paste(i,a,r),i=!0)}}return!0}})},scheduler._temp_key_scope();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_key_nav.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_layer.js b/codebase/ext/dhtmlxscheduler_layer.js
index 276d3be..4f003de 100644
--- a/codebase/ext/dhtmlxscheduler_layer.js
+++ b/codebase/ext/dhtmlxscheduler_layer.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_limit.js b/codebase/ext/dhtmlxscheduler_limit.js
index 98edf3e..9eb1555 100644
--- a/codebase/ext/dhtmlxscheduler_limit.js
+++ b/codebase/ext/dhtmlxscheduler_limit.js
@@ -1,34 +1,35 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
scheduler.config.limit_start=null,scheduler.config.limit_end=null,scheduler.config.limit_view=!1,scheduler.config.check_limits=!0,scheduler.config.mark_now=!0,scheduler.config.display_marked_timespans=!0,scheduler._temp_limit_scope=function(){function e(e,t,s,r,i){var a=scheduler,n=[],d={_props:"map_to",matrix:"y_property"};for(var l in d){var o=d[l];if(a[l])for(var h in a[l]){var _=a[l][h],c=_[o];e[c]&&(n=a._add_timespan_zones(n,scheduler._get_blocked_zones(t[h],e[c],s,r,i)))}}return n=a._add_timespan_zones(n,scheduler._get_blocked_zones(t,"global",s,r,i))
-}var t=null,s="dhx_time_block",r="default",i=function(e,t,s){return t instanceof Date&&s instanceof Date?(e.start_date=t,e.end_date=s):(e.days=t,e.zones=s),e},a=function(e,t,r){var a="object"==typeof e?e:{days:e};return a.type=s,a.css="",t&&(r&&(a.sections=r),a=i(a,e,t)),a};scheduler.blockTime=function(e,t,s){var r=a(e,t,s);return scheduler.addMarkedTimespan(r)},scheduler.unblockTime=function(e,t,s){t=t||"fullday";var r=a(e,t,s);return scheduler.deleteMarkedTimespan(r)},scheduler.attachEvent("onBeforeViewChange",function(e,t,s,r){return scheduler.config.limit_view&&(r=r||t,s=s||e,r.valueOf()>scheduler.config.limit_end.valueOf()||this.date.add(r,1,s)<=scheduler.config.limit_start.valueOf())?(setTimeout(function(){scheduler.setCurrentView(t||scheduler.config.limit_start,s)
-},1),!1):!0}),scheduler.checkInMarkedTimespan=function(t,s,i){s=s||r;for(var a=!0,n=new Date(t.start_date.valueOf()),d=scheduler.date.add(n,1,"day"),l=scheduler._marked_timespans;n<t.end_date;n=scheduler.date.date_part(d),d=scheduler.date.add(n,1,"day")){var o=+scheduler.date.date_part(new Date(n)),h=n.getDay(),_=e(t,l,h,o,s);if(_)for(var c=0;c<_.length;c+=2){var u=scheduler._get_zone_minutes(n),f=t.end_date>d||t.end_date.getDate()!=n.getDate()?1440:scheduler._get_zone_minutes(t.end_date),v=_[c],g=_[c+1];
-if(f>v&&g>u&&(a="function"==typeof i?i(t,u,f,v,g):!1,!a))break}}return!a};var n=scheduler.checkLimitViolation=function(e){if(!e)return!0;if(!scheduler.config.check_limits)return!0;var t=scheduler,r=t.config,i=[];if(e.rec_type)for(var a=scheduler.getRecDates(e),n=0;n<a.length;n++){var d=scheduler._copy_event(e);scheduler._lame_copy(d,a[n]),i.push(d)}else i=[e];for(var l=!0,o=0;o<i.length;o++){var h=!0,d=i[o];d._timed=scheduler.isOneDayEvent(d),h=r.limit_start&&r.limit_end?d.start_date.valueOf()>=r.limit_start.valueOf()&&d.end_date.valueOf()<=r.limit_end.valueOf():!0,h&&(h=!scheduler.checkInMarkedTimespan(d,s,function(e,s,r,i,a){var n=!0;
-return a>=s&&s>=i&&((1440==a||a>r)&&(n=!1),e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.start_date.setHours(0),e.start_date.setMinutes(a)):n=!1),(r>=i&&a>r||i>s&&r>a)&&(e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.end_date.setHours(0),e.end_date.setMinutes(i)):n=!1),n})),h||(h=t.checkEvent("onLimitViolation")?t.callEvent("onLimitViolation",[d.id,d]):h),l=l&&h}return l||(t._drag_id=null,t._drag_mode=null),l};scheduler._get_blocked_zones=function(e,t,s,r,i){var a=[];if(e&&e[t])for(var n=e[t],d=this._get_relevant_blocked_zones(s,r,n,i),l=0;l<d.length;l++)a=this._add_timespan_zones(a,d[l].zones);
-return a},scheduler._get_relevant_blocked_zones=function(e,t,s,r){var i=s[t]&&s[t][r]?s[t][r]:s[e]&&s[e][r]?s[e][r]:[];return i},scheduler.attachEvent("onMouseDown",function(e){return!(e==s)}),scheduler.attachEvent("onBeforeDrag",function(e){return e?n(scheduler.getEvent(e)):!0}),scheduler.attachEvent("onClick",function(e){return n(scheduler.getEvent(e))}),scheduler.attachEvent("onBeforeLightbox",function(e){var s=scheduler.getEvent(e);return t=[s.start_date,s.end_date],n(s)}),scheduler.attachEvent("onEventSave",function(e,t){if(!t.start_date||!t.end_date){var s=scheduler.getEvent(e);
-t.start_date=new Date(s.start_date),t.end_date=new Date(s.end_date)}if(t.rec_type){var r=scheduler._lame_clone(t);return scheduler._roll_back_dates(r),n(r)}return n(t)}),scheduler.attachEvent("onEventAdded",function(e){if(!e)return!0;var t=scheduler.getEvent(e);return!n(t)&&scheduler.config.limit_start&&scheduler.config.limit_end&&(t.start_date<scheduler.config.limit_start&&(t.start_date=new Date(scheduler.config.limit_start)),t.start_date.valueOf()>=scheduler.config.limit_end.valueOf()&&(t.start_date=this.date.add(scheduler.config.limit_end,-1,"day")),t.end_date<scheduler.config.limit_start&&(t.end_date=new Date(scheduler.config.limit_start)),t.end_date.valueOf()>=scheduler.config.limit_end.valueOf()&&(t.end_date=this.date.add(scheduler.config.limit_end,-1,"day")),t.start_date.valueOf()>=t.end_date.valueOf()&&(t.end_date=this.date.add(t.start_date,this.config.event_duration||this.config.time_step,"minute")),t._timed=this.isOneDayEvent(t)),!0
+}var t=null,s="dhx_time_block",r="default",i=function(e,t,s){return t instanceof Date&&s instanceof Date?(e.start_date=t,e.end_date=s):(e.days=t,e.zones=s),e},a=function(e,t,r){var a="object"==typeof e?e:{days:e};return a.type=s,a.css="",t&&(r&&(a.sections=r),a=i(a,e,t)),a};scheduler.blockTime=function(e,t,s){var r=a(e,t,s);return scheduler.addMarkedTimespan(r)},scheduler.unblockTime=function(e,t,s){t=t||"fullday";var r=a(e,t,s);return scheduler.deleteMarkedTimespan(r)},scheduler.attachEvent("onBeforeViewChange",function(e,t,s,r){function i(e,t){var s=scheduler.config.limit_start,r=scheduler.config.limit_end,i=scheduler.date.add(e,1,t);
+return e.valueOf()>r.valueOf()||i<=s.valueOf()}return scheduler.config.limit_view&&(r=r||t,s=s||e,i(r,s)&&t.valueOf()!=r.valueOf())?(setTimeout(function(){var e=i(t,s)?scheduler.config.limit_start:t;scheduler.setCurrentView(i(e,s)?null:e,s)},1),!1):!0}),scheduler.checkInMarkedTimespan=function(t,s,i){s=s||r;for(var a=!0,n=new Date(t.start_date.valueOf()),d=scheduler.date.add(n,1,"day"),l=scheduler._marked_timespans;n<t.end_date;n=scheduler.date.date_part(d),d=scheduler.date.add(n,1,"day")){var o=+scheduler.date.date_part(new Date(n)),h=n.getDay(),_=e(t,l,h,o,s);
+if(_)for(var c=0;c<_.length;c+=2){var u=scheduler._get_zone_minutes(n),v=t.end_date>d||t.end_date.getDate()!=n.getDate()?1440:scheduler._get_zone_minutes(t.end_date),f=_[c],g=_[c+1];if(v>f&&g>u&&(a="function"==typeof i?i(t,u,v,f,g):!1,!a))break}}return!a};var n=scheduler.checkLimitViolation=function(e){if(!e)return!0;if(!scheduler.config.check_limits)return!0;var t=scheduler,r=t.config,i=[];if(e.rec_type)for(var a=scheduler.getRecDates(e),n=0;n<a.length;n++){var d=scheduler._copy_event(e);scheduler._lame_copy(d,a[n]),i.push(d)
+}else i=[e];for(var l=!0,o=0;o<i.length;o++){var h=!0,d=i[o];d._timed=scheduler.isOneDayEvent(d),h=r.limit_start&&r.limit_end?d.start_date.valueOf()>=r.limit_start.valueOf()&&d.end_date.valueOf()<=r.limit_end.valueOf():!0,h&&(h=!scheduler.checkInMarkedTimespan(d,s,function(e,s,r,i,a){var n=!0;return a>=s&&s>=i&&((1440==a||a>r)&&(n=!1),e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.start_date.setHours(0),e.start_date.setMinutes(a)):n=!1),(r>=i&&a>r||i>s&&r>a)&&(e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.end_date.setHours(0),e.end_date.setMinutes(i)):n=!1),n
+})),h||(h=t.checkEvent("onLimitViolation")?t.callEvent("onLimitViolation",[d.id,d]):h),l=l&&h}return l||(t._drag_id=null,t._drag_mode=null),l};scheduler._get_blocked_zones=function(e,t,s,r,i){var a=[];if(e&&e[t])for(var n=e[t],d=this._get_relevant_blocked_zones(s,r,n,i),l=0;l<d.length;l++)a=this._add_timespan_zones(a,d[l].zones);return a},scheduler._get_relevant_blocked_zones=function(e,t,s,r){var i=s[t]&&s[t][r]?s[t][r]:s[e]&&s[e][r]?s[e][r]:[];return i},scheduler.attachEvent("onMouseDown",function(e){return!(e==s)
+}),scheduler.attachEvent("onBeforeDrag",function(e){return e?n(scheduler.getEvent(e)):!0}),scheduler.attachEvent("onClick",function(e){return n(scheduler.getEvent(e))}),scheduler.attachEvent("onBeforeLightbox",function(e){var s=scheduler.getEvent(e);return t=[s.start_date,s.end_date],n(s)}),scheduler.attachEvent("onEventSave",function(e,t){if(!t.start_date||!t.end_date){var s=scheduler.getEvent(e);t.start_date=new Date(s.start_date),t.end_date=new Date(s.end_date)}if(t.rec_type){var r=scheduler._lame_clone(t);
+return scheduler._roll_back_dates(r),n(r)}return n(t)}),scheduler.attachEvent("onEventAdded",function(e){if(!e)return!0;var t=scheduler.getEvent(e);return!n(t)&&scheduler.config.limit_start&&scheduler.config.limit_end&&(t.start_date<scheduler.config.limit_start&&(t.start_date=new Date(scheduler.config.limit_start)),t.start_date.valueOf()>=scheduler.config.limit_end.valueOf()&&(t.start_date=this.date.add(scheduler.config.limit_end,-1,"day")),t.end_date<scheduler.config.limit_start&&(t.end_date=new Date(scheduler.config.limit_start)),t.end_date.valueOf()>=scheduler.config.limit_end.valueOf()&&(t.end_date=this.date.add(scheduler.config.limit_end,-1,"day")),t.start_date.valueOf()>=t.end_date.valueOf()&&(t.end_date=this.date.add(t.start_date,this.config.event_duration||this.config.time_step,"minute")),t._timed=this.isOneDayEvent(t)),!0
}),scheduler.attachEvent("onEventChanged",function(e){if(!e)return!0;var s=scheduler.getEvent(e);if(!n(s)){if(!t)return!1;s.start_date=t[0],s.end_date=t[1],s._timed=this.isOneDayEvent(s)}return!0}),scheduler.attachEvent("onBeforeEventChanged",function(e){return n(e)}),scheduler.attachEvent("onBeforeEventCreated",function(e){var t=scheduler.getActionData(e).date,s={_timed:!0,start_date:t,end_date:scheduler.date.add(t,scheduler.config.time_step,"minute")};return n(s)}),scheduler.attachEvent("onViewChange",function(){scheduler._mark_now()
}),scheduler.attachEvent("onSchedulerResize",function(){return window.setTimeout(function(){scheduler._mark_now()},1),!0}),scheduler.attachEvent("onTemplatesReady",function(){scheduler._mark_now_timer=window.setInterval(function(){scheduler._is_initialized()&&scheduler._mark_now()},6e4)}),scheduler._mark_now=function(e){var t="dhx_now_time";this._els[t]||(this._els[t]=[]);var s=scheduler._currentDate(),r=this.config;if(scheduler._remove_mark_now(),!e&&r.mark_now&&s<this._max_date&&s>this._min_date&&s.getHours()>=r.first_hour&&s.getHours()<r.last_hour){var i=this.locate_holder_day(s);
this._els[t]=scheduler._append_mark_now(i,s)}},scheduler._append_mark_now=function(e,t){var s="dhx_now_time",r=scheduler._get_zone_minutes(t),i={zones:[r,r+1],css:s,type:s};if(!this._table_view){if(this._props&&this._props[this._mode]){for(var a=this._els.dhx_cal_data[0].childNodes,n=[],d=0;d<a.length-1;d++){var l=e+d;i.days=l;var o=scheduler._render_marked_timespan(i,null,l)[0];n.push(o)}return n}return i.days=e,scheduler._render_marked_timespan(i,null,e)}return"month"==this._mode?(i.days=+scheduler.date.date_part(t),scheduler._render_marked_timespan(i,null,null)):void 0
},scheduler._remove_mark_now=function(){for(var e="dhx_now_time",t=this._els[e],s=0;s<t.length;s++){var r=t[s],i=r.parentNode;i&&i.removeChild(r)}this._els[e]=[]},scheduler._marked_timespans={global:{}},scheduler._get_zone_minutes=function(e){return 60*e.getHours()+e.getMinutes()},scheduler._prepare_timespan_options=function(e){var t=[],s=[];if("fullweek"==e.days&&(e.days=[0,1,2,3,4,5,6]),e.days instanceof Array){for(var i=e.days.slice(),a=0;a<i.length;a++){var n=scheduler._lame_clone(e);n.days=i[a],t.push.apply(t,scheduler._prepare_timespan_options(n))
-}return t}if(!e||!(e.start_date&&e.end_date&&e.end_date>e.start_date||void 0!==e.days&&e.zones))return t;var d=0,l=1440;"fullday"==e.zones&&(e.zones=[d,l]),e.zones&&e.invert_zones&&(e.zones=scheduler.invertZones(e.zones)),e.id=scheduler.uid(),e.css=e.css||"",e.type=e.type||r;var o=e.sections;if(o){for(var h in o)if(o.hasOwnProperty(h)){var _=o[h];_ instanceof Array||(_=[_]);for(var a=0;a<_.length;a++){var c=scheduler._lame_copy({},e);c.sections={},c.sections[h]=_[a],s.push(c)}}}else s.push(e);for(var u=0;u<s.length;u++){var f=s[u],v=f.start_date,g=f.end_date;
-if(v&&g)for(var m=scheduler.date.date_part(new Date(v)),p=scheduler.date.add(m,1,"day");g>m;){var c=scheduler._lame_copy({},f);delete c.start_date,delete c.end_date,c.days=m.valueOf();var x=v>m?scheduler._get_zone_minutes(v):d,y=g>p||g.getDate()!=m.getDate()?l:scheduler._get_zone_minutes(g);c.zones=[x,y],t.push(c),m=p,p=scheduler.date.add(p,1,"day")}else f.days instanceof Date&&(f.days=scheduler.date.date_part(f.days).valueOf()),f.zones=e.zones.slice(),t.push(f)}return t},scheduler._get_dates_by_index=function(e,t,s){var r=[];
+}return t}if(!e||!(e.start_date&&e.end_date&&e.end_date>e.start_date||void 0!==e.days&&e.zones))return t;var d=0,l=1440;"fullday"==e.zones&&(e.zones=[d,l]),e.zones&&e.invert_zones&&(e.zones=scheduler.invertZones(e.zones)),e.id=scheduler.uid(),e.css=e.css||"",e.type=e.type||r;var o=e.sections;if(o){for(var h in o)if(o.hasOwnProperty(h)){var _=o[h];_ instanceof Array||(_=[_]);for(var a=0;a<_.length;a++){var c=scheduler._lame_copy({},e);c.sections={},c.sections[h]=_[a],s.push(c)}}}else s.push(e);for(var u=0;u<s.length;u++){var v=s[u],f=v.start_date,g=v.end_date;
+if(f&&g)for(var m=scheduler.date.date_part(new Date(f)),p=scheduler.date.add(m,1,"day");g>m;){var c=scheduler._lame_copy({},v);delete c.start_date,delete c.end_date,c.days=m.valueOf();var x=f>m?scheduler._get_zone_minutes(f):d,y=g>p||g.getDate()!=m.getDate()?l:scheduler._get_zone_minutes(g);c.zones=[x,y],t.push(c),m=p,p=scheduler.date.add(p,1,"day")}else v.days instanceof Date&&(v.days=scheduler.date.date_part(v.days).valueOf()),v.zones=e.zones.slice(),t.push(v)}return t},scheduler._get_dates_by_index=function(e,t,s){var r=[];
t=scheduler.date.date_part(new Date(t||scheduler._min_date)),s=new Date(s||scheduler._max_date);for(var i=t.getDay(),a=e-i>=0?e-i:7-t.getDay()+e,n=scheduler.date.add(t,a,"day");s>n;n=scheduler.date.add(n,1,"week"))r.push(n);return r},scheduler._get_css_classes_by_config=function(e){var t=[];return e.type==s&&(t.push(s),e.css&&t.push(s+"_reset")),t.push("dhx_marked_timespan",e.css),t.join(" ")},scheduler._get_block_by_config=function(e){var t=document.createElement("DIV");return e.html&&("string"==typeof e.html?t.innerHTML=e.html:t.appendChild(e.html)),t
-},scheduler._render_marked_timespan=function(e,t,s){var r=[],i=scheduler.config,a=this._min_date,n=this._max_date,d=!1;if(!i.display_marked_timespans)return r;if(!s&&0!==s){if(e.days<7)s=e.days;else{var l=new Date(e.days);if(d=+l,!(+n>+l&&+l>=+a))return r;s=l.getDay()}var o=a.getDay();o>s?s=7-(o-s):s-=o}var h=e.zones,_=scheduler._get_css_classes_by_config(e);if(scheduler._table_view&&"month"==scheduler._mode){var c=[],u=[];if(t)c.push(t),u.push(s);else{u=d?[d]:scheduler._get_dates_by_index(s);for(var f=0;f<u.length;f++)c.push(this._scales[u[f]])
-}for(var f=0;f<c.length;f++){t=c[f],s=u[f];var v=Math.floor((this._correct_shift(s,1)-a.valueOf())/(864e5*this._cols.length)),g=this.locate_holder_day(s,!1)%this._cols.length;if(!this._ignores[g]){var m=scheduler._get_block_by_config(e),p=Math.max(t.offsetHeight-1,0),x=Math.max(t.offsetWidth-1,0),y=this._colsS[g],b=this._colsS.heights[v]+(this._colsS.height?this.xy.month_scale_height+2:2)-1;m.className=_,m.style.top=b+"px",m.style.lineHeight=m.style.height=p+"px";for(var w=0;w<h.length;w+=2){var E=h[f],D=h[f+1];
-if(E>=D)return[];var k=m.cloneNode(!0);k.style.left=y+Math.round(E/1440*x)+"px",k.style.width=Math.round((D-E)/1440*x)+"px",t.appendChild(k),r.push(k)}}}}else{var M=s;if(this._ignores[this.locate_holder_day(s,!1)])return r;if(this._props&&this._props[this._mode]&&e.sections&&e.sections[this._mode]){var N=this._props[this._mode];M=N.order[e.sections[this._mode]],N.size&&M>N.position+N.size&&(M=0)}t=t?t:scheduler.locate_holder(M);for(var f=0;f<h.length;f+=2){var E=Math.max(h[f],60*i.first_hour),D=Math.min(h[f+1],60*i.last_hour);
-if(E>=D){if(f+2<h.length)continue;return[]}var k=scheduler._get_block_by_config(e);k.className=_;var O=24*this.config.hour_size_px+1,L=36e5;k.style.top=Math.round((60*E*1e3-this.config.first_hour*L)*this.config.hour_size_px/L)%O+"px",k.style.lineHeight=k.style.height=Math.max(Math.round(60*(D-E)*1e3*this.config.hour_size_px/L)%O,1)+"px",t.appendChild(k),r.push(k)}}return r},scheduler.markTimespan=function(e){var t=scheduler._prepare_timespan_options(e);if(t.length){for(var s=[],r=0;r<t.length;r++){var i=t[r],a=scheduler._render_marked_timespan(i,null,null);
+},scheduler._render_marked_timespan=function(e,t,s){var r=[],i=scheduler.config,a=this._min_date,n=this._max_date,d=!1;if(!i.display_marked_timespans)return r;if(!s&&0!==s){if(e.days<7)s=e.days;else{var l=new Date(e.days);if(d=+l,!(+n>+l&&+l>=+a))return r;s=l.getDay()}var o=a.getDay();o>s?s=7-(o-s):s-=o}var h=e.zones,_=scheduler._get_css_classes_by_config(e);if(scheduler._table_view&&"month"==scheduler._mode){var c=[],u=[];if(t)c.push(t),u.push(s);else{u=d?[d]:scheduler._get_dates_by_index(s);for(var v=0;v<u.length;v++)c.push(this._scales[u[v]])
+}for(var v=0;v<c.length;v++){t=c[v],s=u[v];var f=Math.floor((this._correct_shift(s,1)-a.valueOf())/(864e5*this._cols.length)),g=this.locate_holder_day(s,!1)%this._cols.length;if(!this._ignores[g]){var m=scheduler._get_block_by_config(e),p=Math.max(t.offsetHeight-1,0),x=Math.max(t.offsetWidth-1,0),y=this._colsS[g],b=this._colsS.heights[f]+(this._colsS.height?this.xy.month_scale_height+2:2)-1;m.className=_,m.style.top=b+"px",m.style.lineHeight=m.style.height=p+"px";for(var w=0;w<h.length;w+=2){var E=h[v],D=h[v+1];
+if(E>=D)return[];var k=m.cloneNode(!0);k.style.left=y+Math.round(E/1440*x)+"px",k.style.width=Math.round((D-E)/1440*x)+"px",t.appendChild(k),r.push(k)}}}}else{var M=s;if(this._ignores[this.locate_holder_day(s,!1)])return r;if(this._props&&this._props[this._mode]&&e.sections&&e.sections[this._mode]){var N=this._props[this._mode];M=this._get_section_sday(e.sections[this._mode]),N.size&&M>N.position+N.size&&(M=0)}t=t?t:scheduler.locate_holder(M);for(var v=0;v<h.length;v+=2){var E=Math.max(h[v],60*i.first_hour),D=Math.min(h[v+1],60*i.last_hour);
+if(E>=D){if(v+2<h.length)continue;return[]}var k=scheduler._get_block_by_config(e);k.className=_;var L=24*this.config.hour_size_px+1,O=36e5;k.style.top=Math.round((60*E*1e3-this.config.first_hour*O)*this.config.hour_size_px/O)%L+"px",k.style.lineHeight=k.style.height=Math.max(Math.round(60*(D-E)*1e3*this.config.hour_size_px/O)%L,1)+"px",t.appendChild(k),r.push(k)}}return r},scheduler.markTimespan=function(e){var t=scheduler._prepare_timespan_options(e);if(t.length){for(var s=[],r=0;r<t.length;r++){var i=t[r],a=scheduler._render_marked_timespan(i,null,null);
a.length&&s.push.apply(s,a)}return s}},scheduler.unmarkTimespan=function(e){if(e)for(var t=0;t<e.length;t++){var s=e[t];s.parentNode&&s.parentNode.removeChild(s)}},scheduler._marked_timespans_ids={},scheduler.addMarkedTimespan=function(e){var t=scheduler._prepare_timespan_options(e),s="global";if(t.length){var r=t[0].id,i=scheduler._marked_timespans,a=scheduler._marked_timespans_ids;a[r]||(a[r]=[]);for(var n=0;n<t.length;n++){var d=t[n],l=d.days,o=(d.zones,d.css,d.sections),h=d.type;if(d.id=r,o){for(var _ in o)if(o.hasOwnProperty(_)){i[_]||(i[_]={});
-var c=o[_],u=i[_];u[c]||(u[c]={}),u[c][l]||(u[c][l]={}),u[c][l][h]||(u[c][l][h]=[],scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[h]||(scheduler._marked_timespans_types[h]=!0));var f=u[c][l][h];d._array=f,f.push(d),a[r].push(d)}}else{i[s][l]||(i[s][l]={}),i[s][l][h]||(i[s][l][h]=[]),scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[h]||(scheduler._marked_timespans_types[h]=!0);var f=i[s][l][h];
-d._array=f,f.push(d),a[r].push(d)}}return r}},scheduler._add_timespan_zones=function(e,t){var s=e.slice();if(t=t.slice(),!s.length)return t;for(var r=0;r<s.length;r+=2)for(var i=s[r],a=s[r+1],n=r+2==s.length,d=0;d<t.length;d+=2){var l=t[d],o=t[d+1];if(o>a&&a>=l||i>l&&o>=i)s[r]=Math.min(i,l),s[r+1]=Math.max(a,o),r-=2;else{if(!n)continue;var h=i>l?0:2;s.splice(r+h,0,l,o)}t.splice(d--,2);break}return s},scheduler._subtract_timespan_zones=function(e,t){for(var s=e.slice(),r=0;r<s.length;r+=2)for(var i=s[r],a=s[r+1],n=0;n<t.length;n+=2){var d=t[n],l=t[n+1];
+var c=o[_],u=i[_];u[c]||(u[c]={}),u[c][l]||(u[c][l]={}),u[c][l][h]||(u[c][l][h]=[],scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[h]||(scheduler._marked_timespans_types[h]=!0));var v=u[c][l][h];d._array=v,v.push(d),a[r].push(d)}}else{i[s][l]||(i[s][l]={}),i[s][l][h]||(i[s][l][h]=[]),scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[h]||(scheduler._marked_timespans_types[h]=!0);var v=i[s][l][h];
+d._array=v,v.push(d),a[r].push(d)}}return r}},scheduler._add_timespan_zones=function(e,t){var s=e.slice();if(t=t.slice(),!s.length)return t;for(var r=0;r<s.length;r+=2)for(var i=s[r],a=s[r+1],n=r+2==s.length,d=0;d<t.length;d+=2){var l=t[d],o=t[d+1];if(o>a&&a>=l||i>l&&o>=i)s[r]=Math.min(i,l),s[r+1]=Math.max(a,o),r-=2;else{if(!n)continue;var h=i>l?0:2;s.splice(r+h,0,l,o)}t.splice(d--,2);break}return s},scheduler._subtract_timespan_zones=function(e,t){for(var s=e.slice(),r=0;r<s.length;r+=2)for(var i=s[r],a=s[r+1],n=0;n<t.length;n+=2){var d=t[n],l=t[n+1];
if(l>i&&a>d){var o=!1;i>=d&&l>=a&&s.splice(r,2),d>i&&(s.splice(r,2,i,d),o=!0),a>l&&s.splice(o?r+2:r,o?0:2,l,a),r-=2;break}}return s},scheduler.invertZones=function(e){return scheduler._subtract_timespan_zones([0,1440],e.slice())},scheduler._delete_marked_timespan_by_id=function(e){var t=scheduler._marked_timespans_ids[e];if(t)for(var s=0;s<t.length;s++)for(var r=t[s],i=r._array,a=0;a<i.length;a++)if(i[a]==r){i.splice(a,1);break}},scheduler._delete_marked_timespan_by_config=function(e){var t=scheduler._marked_timespans,s=e.sections,i=e.days,a=e.type||r,n=[];
if(s){for(var d in s)if(s.hasOwnProperty(d)&&t[d]){var l=s[d];t[d][l]&&t[d][l][i]&&t[d][l][i][a]&&(n=t[d][l][i][a])}}else t.global[i]&&t.global[i][a]&&(n=t.global[i][a]);for(var o=0;o<n.length;o++){var h=n[o],_=scheduler._subtract_timespan_zones(h.zones,e.zones);if(_.length)h.zones=_;else{n.splice(o,1),o--;for(var c=scheduler._marked_timespans_ids[h.id],u=0;u<c.length;u++)if(c[u]==h){c.splice(u,1);break}}}},scheduler.deleteMarkedTimespan=function(e){if(arguments.length||(scheduler._marked_timespans={global:{}},scheduler._marked_timespans_ids={},scheduler._marked_timespans_types={}),"object"!=typeof e)scheduler._delete_marked_timespan_by_id(e);
else{e.start_date&&e.end_date||(e.days||(e.days="fullweek"),e.zones||(e.zones="fullday"));var t=[];if(e.type)t.push(e.type);else for(var s in scheduler._marked_timespans_types)t.push(s);for(var r=scheduler._prepare_timespan_options(e),i=0;i<r.length;i++)for(var a=r[i],n=0;n<t.length;n++){var d=scheduler._lame_clone(a);d.type=t[n],scheduler._delete_marked_timespan_by_config(d)}}},scheduler._get_types_to_render=function(e,t){var s=e?scheduler._lame_copy({},e):{};for(var r in t||{})t.hasOwnProperty(r)&&(s[r]=t[r]);
return s},scheduler._get_configs_to_render=function(e){var t=[];for(var s in e)e.hasOwnProperty(s)&&t.push.apply(t,e[s]);return t},scheduler.attachEvent("onScaleAdd",function(e,t){if(!scheduler._table_view||"month"==scheduler._mode){var s=t.getDay(),r=t.valueOf(),i=this._mode,a=scheduler._marked_timespans,n=[];if(this._props&&this._props[i]){var d=this._props[i],l=d.options,o=scheduler._get_unit_index(d,t),h=l[o];if(t=scheduler.date.date_part(new Date(this._date)),s=t.getDay(),r=t.valueOf(),a[i]&&a[i][h.key]){var _=a[i][h.key],c=scheduler._get_types_to_render(_[s],_[r]);
-n.push.apply(n,scheduler._get_configs_to_render(c))}}var u=a.global,f=u[r]||u[s];n.push.apply(n,scheduler._get_configs_to_render(f));for(var v=0;v<n.length;v++)scheduler._render_marked_timespan(n[v],e,t)}}),scheduler.dblclick_dhx_marked_timespan=function(e,t){scheduler.config.dblclick_create||scheduler.callEvent("onScaleDblClick",[scheduler.getActionData(e).date,t,e]),scheduler.addEventNow(scheduler.getActionData(e).date,null,e)}},scheduler._temp_limit_scope();
+n.push.apply(n,scheduler._get_configs_to_render(c))}}var u=a.global,v=u[r]||u[s];n.push.apply(n,scheduler._get_configs_to_render(v));for(var f=0;f<n.length;f++)scheduler._render_marked_timespan(n[f],e,t)}}),scheduler.dblclick_dhx_marked_timespan=function(e,t){scheduler.config.dblclick_create||scheduler.callEvent("onScaleDblClick",[scheduler.getActionData(e).date,t,e]),scheduler.addEventNow(scheduler.getActionData(e).date,null,e)}},scheduler._temp_limit_scope();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_limit.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_map_view.js b/codebase/ext/dhtmlxscheduler_map_view.js
index 149ee26..5245f70 100644
--- a/codebase/ext/dhtmlxscheduler_map_view.js
+++ b/codebase/ext/dhtmlxscheduler_map_view.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -8,16 +8,16 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
scheduler.xy.map_date_width=188,scheduler.xy.map_description_width=400,scheduler.config.map_resolve_event_location=!0,scheduler.config.map_resolve_user_location=!0,scheduler.config.map_initial_position=new google.maps.LatLng(48.724,8.215),scheduler.config.map_error_position=new google.maps.LatLng(15,15),scheduler.config.map_infowindow_max_width=300,scheduler.config.map_type=google.maps.MapTypeId.ROADMAP,scheduler.config.map_zoom_after_resolve=15,scheduler.locale.labels.marker_geo_success="It seems you are here.",scheduler.locale.labels.marker_geo_fail="Sorry, could not get your current position using geolocation.",scheduler.templates.marker_date=scheduler.date.date_to_str("%Y-%m-%d %H:%i"),scheduler.templates.marker_text=function(e,t,s){return"<div><b>"+s.text+"</b><br/><br/>"+(s.event_location||"")+"<br/><br/>"+scheduler.templates.marker_date(e)+" - "+scheduler.templates.marker_date(t)+"</div>"
},scheduler.dblclick_dhx_map_area=function(){!this.config.readonly&&this.config.dblclick_create&&this.addEventNow({start_date:scheduler._date,end_date:scheduler.date.add(scheduler._date,scheduler.config.time_step,"minute")})},scheduler.templates.map_time=function(e,t,s){return s._timed?this.day_date(s.start_date,s.end_date,s)+" "+this.event_date(e):scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(t)},scheduler.templates.map_text=function(e,t,s){return s.text},scheduler.date.map_start=function(e){return e
},scheduler.date.add_map=function(e){return new Date(e.valueOf())},scheduler.templates.map_date=function(){return""},scheduler._latLngUpdate=!1,scheduler.attachEvent("onSchedulerReady",function(){function e(e){if(e){var t=scheduler.locale.labels;scheduler._els.dhx_cal_header[0].innerHTML="<div class='dhx_map_line' style='width: "+(scheduler.xy.map_date_width+scheduler.xy.map_description_width+2)+"px;' ><div class='headline_date' style='width: "+scheduler.xy.map_date_width+"px;'>"+t.date+"</div><div class='headline_description' style='width: "+scheduler.xy.map_description_width+"px;'>"+t.description+"</div></div>",scheduler._table_view=!0,scheduler.set_sizes()
-}}function t(){scheduler._selected_event_id=null,scheduler.map._infowindow.close();var e=scheduler.map._markers;for(var t in e)e.hasOwnProperty(t)&&(e[t].setMap(null),delete scheduler.map._markers[t],scheduler.map._infowindows_content[t]&&delete scheduler.map._infowindows_content[t])}function s(){var e=scheduler.get_visible_events();e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});for(var t="<div class='dhx_map_area'>",s=0;s<e.length;s++){var r=e[s],a=r.id==scheduler._selected_event_id?"dhx_map_line highlight":"dhx_map_line",i=r.color?"background:"+r.color+";":"",n=r.textColor?"color:"+r.textColor+";":"";
-t+="<div class='"+a+"' event_id='"+r.id+"' style='"+i+n+(r._text_style||"")+" width: "+(scheduler.xy.map_date_width+scheduler.xy.map_description_width+2)+"px;'><div style='width: "+scheduler.xy.map_date_width+"px;' >"+scheduler.templates.map_time(r.start_date,r.end_date,r)+"</div>",t+="<div class='dhx_event_icon icon_details'>&nbsp</div>",t+="<div class='line_description' style='width:"+(scheduler.xy.map_description_width-25)+"px;'>"+scheduler.templates.map_text(r.start_date,r.end_date,r)+"</div></div>"
-}t+="<div class='dhx_v_border' style='left: "+(scheduler.xy.map_date_width-2)+"px;'></div><div class='dhx_v_border_description'></div></div>",scheduler._els.dhx_cal_data[0].scrollTop=0,scheduler._els.dhx_cal_data[0].innerHTML=t,scheduler._els.dhx_cal_data[0].style.width=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px";var d=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[scheduler._mode+"_date"](scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];
-for(var s=0;s<d.length-2;s++)scheduler._rendered[s]=d[s]}function r(e){var t=document.getElementById(e),s=scheduler._y-scheduler.xy.nav_height;0>s&&(s=0);var r=scheduler._x-scheduler.xy.map_date_width-scheduler.xy.map_description_width-1;0>r&&(r=0),t.style.height=s+"px",t.style.width=r+"px",t.style.marginLeft=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px",t.style.marginTop=scheduler.xy.nav_height+2+"px"}scheduler._isMapPositionSet=!1;var a=document.createElement("div");a.className="dhx_map",a.id="dhx_gmap",a.style.dispay="none";
-var i=scheduler._obj;i.appendChild(a),scheduler._els.dhx_gmap=[],scheduler._els.dhx_gmap.push(a),r("dhx_gmap");var n={zoom:scheduler.config.map_inital_zoom||10,center:scheduler.config.map_initial_position,mapTypeId:scheduler.config.map_type||google.maps.MapTypeId.ROADMAP},d=new google.maps.Map(document.getElementById("dhx_gmap"),n);d.disableDefaultUI=!1,d.disableDoubleClickZoom=!scheduler.config.readonly,google.maps.event.addListener(d,"dblclick",function(e){if(!scheduler.config.readonly&&scheduler.config.dblclick_create){var t=e.latLng;
-geocoder.geocode({latLng:t},function(e,s){s==google.maps.GeocoderStatus.OK&&(t=e[0].geometry.location,scheduler.addEventNow({lat:t.lat(),lng:t.lng(),event_location:e[0].formatted_address,start_date:scheduler._date,end_date:scheduler.date.add(scheduler._date,scheduler.config.time_step,"minute")}))})}});var l={content:""};scheduler.config.map_infowindow_max_width&&(l.maxWidth=scheduler.config.map_infowindow_max_width),scheduler.map={_points:[],_markers:[],_infowindow:new google.maps.InfoWindow(l),_infowindows_content:[],_initialization_count:-1,_obj:d},geocoder=new google.maps.Geocoder,scheduler.config.map_resolve_user_location&&navigator.geolocation&&(scheduler._isMapPositionSet||navigator.geolocation.getCurrentPosition(function(e){var t=new google.maps.LatLng(e.coords.latitude,e.coords.longitude);
-d.setCenter(t),d.setZoom(scheduler.config.map_zoom_after_resolve||10),scheduler.map._infowindow.setContent(scheduler.locale.labels.marker_geo_success),scheduler.map._infowindow.position=d.getCenter(),scheduler.map._infowindow.open(d),scheduler._isMapPositionSet=!0},function(){scheduler.map._infowindow.setContent(scheduler.locale.labels.marker_geo_fail),scheduler.map._infowindow.setPosition(d.getCenter()),scheduler.map._infowindow.open(d),scheduler._isMapPositionSet=!0})),google.maps.event.addListener(d,"resize",function(){a.style.zIndex="5",d.setZoom(d.getZoom())
-}),google.maps.event.addListener(d,"tilesloaded",function(){a.style.zIndex="5"}),a.style.display="none",scheduler.attachEvent("onSchedulerResize",function(){return"map"==this._mode?(this.map_view(!0),!1):!0});var o=scheduler.render_data;scheduler.render_data=function(){if("map"!=this._mode)return o.apply(this,arguments);s();for(var e=scheduler.get_visible_events(),t=0;t<e.length;t++)scheduler.map._markers[e[t].id]||h(e[t],!1,!1)},scheduler.map_view=function(a){scheduler.map._initialization_count++;
-var i,n=scheduler._els.dhx_gmap[0];if(scheduler._els.dhx_cal_data[0].style.width=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px",scheduler._min_date=scheduler.config.map_start||scheduler._currentDate(),scheduler._max_date=scheduler.config.map_end||scheduler.date.add(scheduler._currentDate(),1,"year"),scheduler._table_view=!0,e(a),a){t(),s(),n.style.display="block",r("dhx_gmap"),i=scheduler.map._obj.getCenter();for(var d=scheduler.get_visible_events(),l=0;l<d.length;l++)scheduler.map._markers[d[l].id]||h(d[l])
-}else n.style.display="none";google.maps.event.trigger(scheduler.map._obj,"resize"),0===scheduler.map._initialization_count&&i&&scheduler.map._obj.setCenter(i),scheduler._selected_event_id&&_(scheduler._selected_event_id)};var _=function(e){scheduler.map._obj.setCenter(scheduler.map._points[e]),scheduler.callEvent("onClick",[e])},h=function(e,t,s){var r=scheduler.config.map_error_position;e.lat&&e.lng&&(r=new google.maps.LatLng(e.lat,e.lng));var a=scheduler.templates.marker_text(e.start_date,e.end_date,e);
+}}function t(){scheduler._selected_event_id=null,scheduler.map._infowindow.close();var e=scheduler.map._markers;for(var t in e)e.hasOwnProperty(t)&&(e[t].setMap(null),delete scheduler.map._markers[t],scheduler.map._infowindows_content[t]&&delete scheduler.map._infowindows_content[t])}function s(){var e=scheduler.get_visible_events();e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});for(var t="<div class='dhx_map_area'>",s=0;s<e.length;s++){var r=e[s],a=r.id==scheduler._selected_event_id?"dhx_map_line highlight":"dhx_map_line",i=r.color?"background:"+r.color+";":"",d=r.textColor?"color:"+r.textColor+";":"";
+t+="<div class='"+a+"' event_id='"+r.id+"' style='"+i+d+(r._text_style||"")+" width: "+(scheduler.xy.map_date_width+scheduler.xy.map_description_width+2)+"px;'><div style='width: "+scheduler.xy.map_date_width+"px;' >"+scheduler.templates.map_time(r.start_date,r.end_date,r)+"</div>",t+="<div class='dhx_event_icon icon_details'>&nbsp</div>",t+="<div class='line_description' style='width:"+(scheduler.xy.map_description_width-25)+"px;'>"+scheduler.templates.map_text(r.start_date,r.end_date,r)+"</div></div>"
+}t+="<div class='dhx_v_border' style='left: "+(scheduler.xy.map_date_width-2)+"px;'></div><div class='dhx_v_border_description'></div></div>",scheduler._els.dhx_cal_data[0].scrollTop=0,scheduler._els.dhx_cal_data[0].innerHTML=t,scheduler._els.dhx_cal_data[0].style.width=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px";var n=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[scheduler._mode+"_date"](scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];
+for(var s=0;s<n.length-2;s++)scheduler._rendered[s]=n[s]}function r(e){var t=document.getElementById(e),s=scheduler._y-scheduler.xy.nav_height;0>s&&(s=0);var r=scheduler._x-scheduler.xy.map_date_width-scheduler.xy.map_description_width-1;0>r&&(r=0),t.style.height=s+"px",t.style.width=r+"px",t.style.marginLeft=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px",t.style.marginTop=scheduler.xy.nav_height+2+"px"}scheduler._isMapPositionSet=!1;var a=document.createElement("div");a.className="dhx_map",a.id="dhx_gmap",a.style.dispay="none";
+var i=scheduler._obj;i.appendChild(a),scheduler._els.dhx_gmap=[],scheduler._els.dhx_gmap.push(a),r("dhx_gmap");var d={zoom:scheduler.config.map_inital_zoom||10,center:scheduler.config.map_initial_position,mapTypeId:scheduler.config.map_type||google.maps.MapTypeId.ROADMAP},n=new google.maps.Map(document.getElementById("dhx_gmap"),d);n.disableDefaultUI=!1,n.disableDoubleClickZoom=!scheduler.config.readonly,google.maps.event.addListener(n,"dblclick",function(e){if(!scheduler.config.readonly&&scheduler.config.dblclick_create){var t=e.latLng;
+geocoder.geocode({latLng:t},function(e,s){s==google.maps.GeocoderStatus.OK&&(t=e[0].geometry.location,scheduler.addEventNow({lat:t.lat(),lng:t.lng(),event_location:e[0].formatted_address,start_date:scheduler._date,end_date:scheduler.date.add(scheduler._date,scheduler.config.time_step,"minute")}))})}});var l={content:""};scheduler.config.map_infowindow_max_width&&(l.maxWidth=scheduler.config.map_infowindow_max_width),scheduler.map={_points:[],_markers:[],_infowindow:new google.maps.InfoWindow(l),_infowindows_content:[],_initialization_count:-1,_obj:n},geocoder=new google.maps.Geocoder,scheduler.config.map_resolve_user_location&&navigator.geolocation&&(scheduler._isMapPositionSet||navigator.geolocation.getCurrentPosition(function(e){var t=new google.maps.LatLng(e.coords.latitude,e.coords.longitude);
+n.setCenter(t),n.setZoom(scheduler.config.map_zoom_after_resolve||10),scheduler.map._infowindow.setContent(scheduler.locale.labels.marker_geo_success),scheduler.map._infowindow.position=n.getCenter(),scheduler.map._infowindow.open(n),scheduler._isMapPositionSet=!0},function(){scheduler.map._infowindow.setContent(scheduler.locale.labels.marker_geo_fail),scheduler.map._infowindow.setPosition(n.getCenter()),scheduler.map._infowindow.open(n),scheduler._isMapPositionSet=!0})),google.maps.event.addListener(n,"resize",function(){a.style.zIndex="5",n.setZoom(n.getZoom())
+}),google.maps.event.addListener(n,"tilesloaded",function(){a.style.zIndex="5"}),a.style.display="none",scheduler.attachEvent("onSchedulerResize",function(){return"map"==this._mode?(this.map_view(!0),!1):!0});var o=scheduler.render_data;scheduler.render_data=function(){if("map"!=this._mode)return o.apply(this,arguments);s();for(var e=scheduler.get_visible_events(),t=0;t<e.length;t++)scheduler.map._markers[e[t].id]||h(e[t],!1,!1)},scheduler.map_view=function(a){scheduler.map._initialization_count++;
+var i,d=scheduler._els.dhx_gmap[0];if(scheduler._els.dhx_cal_data[0].style.width=scheduler.xy.map_date_width+scheduler.xy.map_description_width+1+"px",scheduler._min_date=scheduler.config.map_start||scheduler._currentDate(),scheduler._max_date=scheduler.config.map_end||scheduler.date.add(scheduler._currentDate(),1,"year"),scheduler._table_view=!0,e(a),a){t(),s(),d.style.display="block",r("dhx_gmap"),i=scheduler.map._obj.getCenter();for(var n=scheduler.get_visible_events(),l=0;l<n.length;l++)scheduler.map._markers[n[l].id]||h(n[l])
+}else d.style.display="none";google.maps.event.trigger(scheduler.map._obj,"resize"),0===scheduler.map._initialization_count&&i&&scheduler.map._obj.setCenter(i),scheduler._selected_event_id&&_(scheduler._selected_event_id)};var _=function(e){scheduler.map._obj.setCenter(scheduler.map._points[e]),scheduler.callEvent("onClick",[e])},h=function(e,t,s){var r=scheduler.config.map_error_position;e.lat&&e.lng&&(r=new google.maps.LatLng(e.lat,e.lng));var a=scheduler.templates.marker_text(e.start_date,e.end_date,e);
scheduler._new_event||(scheduler.map._infowindows_content[e.id]=a,scheduler.map._markers[e.id]&&scheduler.map._markers[e.id].setMap(null),scheduler.map._markers[e.id]=new google.maps.Marker({position:r,map:scheduler.map._obj}),google.maps.event.addListener(scheduler.map._markers[e.id],"click",function(){scheduler.map._infowindow.setContent(scheduler.map._infowindows_content[e.id]),scheduler.map._infowindow.open(scheduler.map._obj,scheduler.map._markers[e.id]),scheduler._selected_event_id=e.id,scheduler.render_data()
}),scheduler.map._points[e.id]=r,t&&scheduler.map._obj.setCenter(scheduler.map._points[e.id]),s&&scheduler.callEvent("onClick",[e.id]))};scheduler.attachEvent("onClick",function(e){if("map"==this._mode){scheduler._selected_event_id=e;for(var t=0;t<scheduler._rendered.length;t++)scheduler._rendered[t].className="dhx_map_line",scheduler._rendered[t].getAttribute("event_id")==e&&(scheduler._rendered[t].className+=" highlight");scheduler.map._points[e]&&scheduler.map._markers[e]&&(scheduler.map._obj.setCenter(scheduler.map._points[e]),google.maps.event.trigger(scheduler.map._markers[e],"click"))
}return!0});var c=function(e){e.event_location&&geocoder?geocoder.geocode({address:e.event_location,language:scheduler.uid().toString()},function(t,s){var r={};s!=google.maps.GeocoderStatus.OK?(r=scheduler.callEvent("onLocationError",[e.id]),r&&r!==!0||(r=scheduler.config.map_error_position)):r=t[0].geometry.location,e.lat=r.lat(),e.lng=r.lng(),scheduler._selected_event_id=e.id,scheduler._latLngUpdate=!0,scheduler.callEvent("onEventChanged",[e.id,e]),h(e,!0,!0)}):h(e,!0,!0)},u=function(e){e.event_location&&geocoder&&geocoder.geocode({address:e.event_location,language:scheduler.uid().toString()},function(t,s){var r={};
diff --git a/codebase/ext/dhtmlxscheduler_minical.js b/codebase/ext/dhtmlxscheduler_minical.js
index 4347274..87154c8 100644
--- a/codebase/ext/dhtmlxscheduler_minical.js
+++ b/codebase/ext/dhtmlxscheduler_minical.js
@@ -1,26 +1,26 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
scheduler.templates.calendar_month=scheduler.date.date_to_str("%F %Y"),scheduler.templates.calendar_scale_date=scheduler.date.date_to_str("%D"),scheduler.templates.calendar_date=scheduler.date.date_to_str("%d"),scheduler.config.minicalendar={mark_events:!0},scheduler._synced_minicalendars=[],scheduler.renderCalendar=function(e,t,s){var a=null,r=e.date||scheduler._currentDate();if("string"==typeof r&&(r=this.templates.api_date(r)),t)a=this._render_calendar(t.parentNode,r,e,t),scheduler.unmarkCalendar(a);
-else{var d=e.container,n=e.position;if("string"==typeof d&&(d=document.getElementById(d)),"string"==typeof n&&(n=document.getElementById(n)),n&&"undefined"==typeof n.left){var i=getOffset(n);n={top:i.top+n.offsetHeight,left:i.left}}d||(d=scheduler._get_def_cont(n)),a=this._render_calendar(d,r,e),a.onclick=function(e){e=e||event;var t=e.target||e.srcElement;if(-1!=t.className.indexOf("dhx_month_head")){var s=t.parentNode.className;if(-1==s.indexOf("dhx_after")&&-1==s.indexOf("dhx_before")){var a=scheduler.templates.xml_date(this.getAttribute("date"));
-a.setDate(parseInt(t.innerHTML,10)),scheduler.unmarkCalendar(this),scheduler.markCalendar(this,a,"dhx_calendar_click"),this._last_date=a,this.conf.handler&&this.conf.handler.call(scheduler,a,this)}}}}if(scheduler.config.minicalendar.mark_events)for(var l=scheduler.date.month_start(r),o=scheduler.date.add(l,1,"month"),_=this.getEvents(l,o),h=this["filter_"+this._mode],c=0;c<_.length;c++){var u=_[c];if(!h||h(u.id,u)){var f=u.start_date;for(f.valueOf()<l.valueOf()&&(f=l),f=scheduler.date.date_part(new Date(f.valueOf()));f<u.end_date&&(this.markCalendar(a,f,"dhx_year_event"),f=this.date.add(f,1,"day"),!(f.valueOf()>=o.valueOf())););}}return this._markCalendarCurrentDate(a),a.conf=e,e.sync&&!s&&this._synced_minicalendars.push(a),a
-},scheduler._get_def_cont=function(e){return this._def_count||(this._def_count=document.createElement("DIV"),this._def_count.className="dhx_minical_popup",this._def_count.onclick=function(e){(e||event).cancelBubble=!0},document.body.appendChild(this._def_count)),this._def_count.style.left=e.left+"px",this._def_count.style.top=e.top+"px",this._def_count._created=new Date,this._def_count},scheduler._locateCalendar=function(e,t){if("string"==typeof t&&(t=scheduler.templates.api_date(t)),+t>+e._max_date||+t<+e._min_date)return null;
-for(var s=e.childNodes[2].childNodes[0],a=0,r=new Date(e._min_date);+this.date.add(r,1,"week")<=+t;)r=this.date.add(r,1,"week"),a++;var d=scheduler.config.start_on_monday,n=(t.getDay()||(d?7:0))-(d?1:0);return s.rows[a].cells[n].firstChild},scheduler.markCalendar=function(e,t,s){var a=this._locateCalendar(e,t);a&&(a.className+=" "+s)},scheduler.unmarkCalendar=function(e,t,s){if(t=t||e._last_date,s=s||"dhx_calendar_click",t){var a=this._locateCalendar(e,t);a&&(a.className=(a.className||"").replace(RegExp(s,"g")))
+else{var d=e.container,i=e.position;if("string"==typeof d&&(d=document.getElementById(d)),"string"==typeof i&&(i=document.getElementById(i)),i&&"undefined"==typeof i.left){var n=getOffset(i);i={top:n.top+i.offsetHeight,left:n.left}}d||(d=scheduler._get_def_cont(i)),a=this._render_calendar(d,r,e),a.onclick=function(e){e=e||event;var t=e.target||e.srcElement;if(-1!=t.className.indexOf("dhx_month_head")){var s=t.parentNode.className;if(-1==s.indexOf("dhx_after")&&-1==s.indexOf("dhx_before")){var a=scheduler.templates.xml_date(this.getAttribute("date"));
+a.setDate(parseInt(t.innerHTML,10)),scheduler.unmarkCalendar(this),scheduler.markCalendar(this,a,"dhx_calendar_click"),this._last_date=a,this.conf.handler&&this.conf.handler.call(scheduler,a,this)}}}}if(scheduler.config.minicalendar.mark_events)for(var l=scheduler.date.month_start(r),o=scheduler.date.add(l,1,"month"),_=this.getEvents(l,o),h=this["filter_"+this._mode],c=0;c<_.length;c++){var u=_[c];if(!h||h(u.id,u)){var f=u.start_date;for(f.valueOf()<l.valueOf()&&(f=l),f=scheduler.date.date_part(new Date(f.valueOf()));f<u.end_date&&(this.markCalendar(a,f,"dhx_year_event"),f=this.date.add(f,1,"day"),!(f.valueOf()>=o.valueOf())););}}return this._markCalendarCurrentDate(a),a.conf=e,e.sync&&!s&&this._synced_minicalendars.push(a),a.conf._on_xle_handler||(a.conf._on_xle_handler=scheduler.attachEvent("onXLE",function(){scheduler.updateCalendar(a,a.conf.date)
+})),a},scheduler._get_def_cont=function(e){return this._def_count||(this._def_count=document.createElement("DIV"),this._def_count.className="dhx_minical_popup",this._def_count.onclick=function(e){(e||event).cancelBubble=!0},document.body.appendChild(this._def_count)),this._def_count.style.left=e.left+"px",this._def_count.style.top=e.top+"px",this._def_count._created=new Date,this._def_count},scheduler._locateCalendar=function(e,t){if("string"==typeof t&&(t=scheduler.templates.api_date(t)),+t>+e._max_date||+t<+e._min_date)return null;
+for(var s=e.childNodes[2].childNodes[0],a=0,r=new Date(e._min_date);+this.date.add(r,1,"week")<=+t;)r=this.date.add(r,1,"week"),a++;var d=scheduler.config.start_on_monday,i=(t.getDay()||(d?7:0))-(d?1:0);return s.rows[a].cells[i].firstChild},scheduler.markCalendar=function(e,t,s){var a=this._locateCalendar(e,t);a&&(a.className+=" "+s)},scheduler.unmarkCalendar=function(e,t,s){if(t=t||e._last_date,s=s||"dhx_calendar_click",t){var a=this._locateCalendar(e,t);a&&(a.className=(a.className||"").replace(RegExp(s,"g")))
}},scheduler._week_template=function(e){for(var t=e||250,s=0,a=document.createElement("div"),r=this.date.week_start(scheduler._currentDate()),d=0;7>d;d++)this._cols[d]=Math.floor(t/(7-d)),this._render_x_header(d,s,r,a),r=this.date.add(r,1,"day"),t-=this._cols[d],s+=this._cols[d];return a.lastChild.className+=" dhx_scale_bar_last",a},scheduler.updateCalendar=function(e,t){e.conf.date=t,this.renderCalendar(e.conf,e,!0)},scheduler._mini_cal_arrows=["&nbsp","&nbsp"],scheduler._render_calendar=function(e,t,s,a){var r=scheduler.templates,d=this._cols;
-this._cols=[];var n=this._mode;this._mode="calendar";var i=this._colsS;this._colsS={height:0};var l=new Date(this._min_date),o=new Date(this._max_date),_=new Date(scheduler._date),h=r.month_day,c=this._ignores_detected;this._ignores_detected=0,r.month_day=r.calendar_date,t=this.date.month_start(t);var u,f=this._week_template(e.offsetWidth-1-this.config.minicalendar.padding);if(a?u=a:(u=document.createElement("DIV"),u.className="dhx_cal_container dhx_mini_calendar"),u.setAttribute("date",this.templates.xml_format(t)),u.innerHTML="<div class='dhx_year_month'></div><div class='dhx_year_week'>"+f.innerHTML+"</div><div class='dhx_year_body'></div>",u.childNodes[0].innerHTML=this.templates.calendar_month(t),s.navigation)for(var v=function(e,t){var s=scheduler.date.add(e._date,t,"month");
+this._cols=[];var i=this._mode;this._mode="calendar";var n=this._colsS;this._colsS={height:0};var l=new Date(this._min_date),o=new Date(this._max_date),_=new Date(scheduler._date),h=r.month_day,c=this._ignores_detected;this._ignores_detected=0,r.month_day=r.calendar_date,t=this.date.month_start(t);var u,f=this._week_template(e.offsetWidth-1-this.config.minicalendar.padding);if(a?u=a:(u=document.createElement("DIV"),u.className="dhx_cal_container dhx_mini_calendar"),u.setAttribute("date",this.templates.xml_format(t)),u.innerHTML="<div class='dhx_year_month'></div><div class='dhx_year_week'>"+f.innerHTML+"</div><div class='dhx_year_body'></div>",u.childNodes[0].innerHTML=this.templates.calendar_month(t),s.navigation)for(var v=function(e,t){var s=scheduler.date.add(e._date,t,"month");
scheduler.updateCalendar(e,s),scheduler._date.getMonth()==e._date.getMonth()&&scheduler._date.getFullYear()==e._date.getFullYear()&&scheduler._markCalendarCurrentDate(e)},g=["dhx_cal_prev_button","dhx_cal_next_button"],m=["left:1px;top:2px;position:absolute;","left:auto; right:1px;top:2px;position:absolute;"],p=[-1,1],x=function(e){return function(){if(s.sync)for(var t=scheduler._synced_minicalendars,a=0;a<t.length;a++)v(t[a],e);else v(u,e)}},y=0;2>y;y++){var b=document.createElement("DIV");b.className=g[y],b.style.cssText=m[y],b.innerHTML=this._mini_cal_arrows[y],u.firstChild.appendChild(b),b.onclick=x(p[y])
}u._date=new Date(t),u.week_start=(t.getDay()-(this.config.start_on_monday?1:0)+7)%7;var w=u._min_date=this.date.week_start(t);u._max_date=this.date.add(u._min_date,6,"week"),this._reset_month_scale(u.childNodes[2],t,w);for(var E=u.childNodes[2].firstChild.rows,k=E.length;6>k;k++){var D=E[E.length-1];E[0].parentNode.appendChild(D.cloneNode(!0));var M=parseInt(D.childNodes[D.childNodes.length-1].childNodes[0].innerHTML);M=10>M?M:0;for(var N=0;N<E[k].childNodes.length;N++)E[k].childNodes[N].className="dhx_after",E[k].childNodes[N].childNodes[0].innerHTML=scheduler.date.to_fixed(++M)
-}return a||e.appendChild(u),u.childNodes[1].style.height=u.childNodes[1].childNodes[0].offsetHeight-1+"px",this._cols=d,this._mode=n,this._colsS=i,this._min_date=l,this._max_date=o,scheduler._date=_,r.month_day=h,this._ignores_detected=c,u},scheduler.destroyCalendar=function(e,t){!e&&this._def_count&&this._def_count.firstChild&&(t||(new Date).valueOf()-this._def_count._created.valueOf()>500)&&(e=this._def_count.firstChild),e&&(e.onclick=null,e.innerHTML="",e.parentNode&&e.parentNode.removeChild(e),this._def_count&&(this._def_count.style.top="-1000px"))
+}return a||e.appendChild(u),u.childNodes[1].style.height=u.childNodes[1].childNodes[0].offsetHeight-1+"px",this._cols=d,this._mode=i,this._colsS=n,this._min_date=l,this._max_date=o,scheduler._date=_,r.month_day=h,this._ignores_detected=c,u},scheduler.destroyCalendar=function(e,t){!e&&this._def_count&&this._def_count.firstChild&&(t||(new Date).valueOf()-this._def_count._created.valueOf()>500)&&(e=this._def_count.firstChild),e&&(e.onclick=null,e.innerHTML="",e.parentNode&&e.parentNode.removeChild(e),this._def_count&&(this._def_count.style.top="-1000px"),e.conf&&e.conf._on_xle_handler&&scheduler.detachEvent(e.conf._on_xle_handler))
},scheduler.isCalendarVisible=function(){return this._def_count&&parseInt(this._def_count.style.top,10)>0?this._def_count:!1},scheduler._attach_minical_events=function(){dhtmlxEvent(document.body,"click",function(){scheduler.destroyCalendar()}),scheduler._attach_minical_events=function(){}},scheduler.attachEvent("onTemplatesReady",function(){scheduler._attach_minical_events()}),scheduler.templates.calendar_time=scheduler.date.date_to_str("%d-%m-%Y"),scheduler.form_blocks.calendar_time={render:function(){var e="<input class='dhx_readonly' type='text' readonly='true'>",t=scheduler.config,s=this.date.date_part(scheduler._currentDate()),a=1440,r=0;
-t.limit_time_select&&(r=60*t.first_hour,a=60*t.last_hour+1),s.setHours(r/60),e+=" <select>";for(var d=r;a>d;d+=1*this.config.time_step){var n=this.templates.time_picker(s);e+="<option value='"+d+"'>"+n+"</option>",s=this.date.add(s,this.config.time_step,"minute")}e+="</select>";scheduler.config.full_day;return"<div style='height:30px;padding-top:0; font-size:inherit;' class='dhx_section_time'>"+e+"<span style='font-weight:normal; font-size:10pt;'> &nbsp;&ndash;&nbsp; </span>"+e+"</div>"},set_value:function(e,t,s){function a(e,t,s){l(e,t,s),e.value=scheduler.templates.calendar_time(t),e._date=scheduler.date.date_part(new Date(t))
-}var r,d,n=e.getElementsByTagName("input"),i=e.getElementsByTagName("select"),l=function(e,t,s){e.onclick=function(){scheduler.destroyCalendar(null,!0),scheduler.renderCalendar({position:e,date:new Date(this._date),navigation:!0,handler:function(t){e.value=scheduler.templates.calendar_time(t),e._date=new Date(t),scheduler.destroyCalendar(),scheduler.config.event_duration&&scheduler.config.auto_end_date&&0===s&&c()}})}};if(scheduler.config.full_day){if(!e._full_day){var o="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+"&nbsp;</label></input>";
-scheduler.config.wide_form||(o=e.previousSibling.innerHTML+o),e.previousSibling.innerHTML=o,e._full_day=!0}var _=e.previousSibling.getElementsByTagName("input")[0],h=0===scheduler.date.time_part(s.start_date)&&0===scheduler.date.time_part(s.end_date);_.checked=h,i[0].disabled=_.checked,i[1].disabled=_.checked,_.onclick=function(){if(_.checked===!0){var t={};scheduler.form_blocks.calendar_time.get_value(e,t),r=scheduler.date.date_part(t.start_date),d=scheduler.date.date_part(t.end_date),(+d==+r||+d>=+r&&(0!==s.end_date.getHours()||0!==s.end_date.getMinutes()))&&(d=scheduler.date.add(d,1,"day"))
-}var l=r||s.start_date,o=d||s.end_date;a(n[0],l),a(n[1],o),i[0].value=60*l.getHours()+l.getMinutes(),i[1].value=60*o.getHours()+o.getMinutes(),i[0].disabled=_.checked,i[1].disabled=_.checked}}if(scheduler.config.event_duration&&scheduler.config.auto_end_date){var c=function(){r=scheduler.date.add(n[0]._date,i[0].value,"minute"),d=new Date(r.getTime()+60*scheduler.config.event_duration*1e3),n[1].value=scheduler.templates.calendar_time(d),n[1]._date=scheduler.date.date_part(new Date(d)),i[1].value=60*d.getHours()+d.getMinutes()
-};i[0].onchange=c}a(n[0],s.start_date,0),a(n[1],s.end_date,1),l=function(){},i[0].value=60*s.start_date.getHours()+s.start_date.getMinutes(),i[1].value=60*s.end_date.getHours()+s.end_date.getMinutes()},get_value:function(e,t){var s=e.getElementsByTagName("input"),a=e.getElementsByTagName("select");return t.start_date=scheduler.date.add(s[0]._date,a[0].value,"minute"),t.end_date=scheduler.date.add(s[1]._date,a[1].value,"minute"),t.end_date<=t.start_date&&(t.end_date=scheduler.date.add(t.start_date,scheduler.config.time_step,"minute")),{start_date:new Date(t.start_date),end_date:new Date(t.end_date)}
+t.limit_time_select&&(r=60*t.first_hour,a=60*t.last_hour+1),s.setHours(r/60),e+=" <select>";for(var d=r;a>d;d+=1*this.config.time_step){var i=this.templates.time_picker(s);e+="<option value='"+d+"'>"+i+"</option>",s=this.date.add(s,this.config.time_step,"minute")}e+="</select>";scheduler.config.full_day;return"<div style='height:30px;padding-top:0; font-size:inherit;' class='dhx_section_time'>"+e+"<span style='font-weight:normal; font-size:10pt;'> &nbsp;&ndash;&nbsp; </span>"+e+"</div>"},set_value:function(e,t,s){function a(e,t,s){l(e,t,s),e.value=scheduler.templates.calendar_time(t),e._date=scheduler.date.date_part(new Date(t))
+}var r,d,i=e.getElementsByTagName("input"),n=e.getElementsByTagName("select"),l=function(e,t,s){e.onclick=function(){scheduler.destroyCalendar(null,!0),scheduler.renderCalendar({position:e,date:new Date(this._date),navigation:!0,handler:function(t){e.value=scheduler.templates.calendar_time(t),e._date=new Date(t),scheduler.destroyCalendar(),scheduler.config.event_duration&&scheduler.config.auto_end_date&&0===s&&c()}})}};if(scheduler.config.full_day){if(!e._full_day){var o="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+"&nbsp;</label></input>";
+scheduler.config.wide_form||(o=e.previousSibling.innerHTML+o),e.previousSibling.innerHTML=o,e._full_day=!0}var _=e.previousSibling.getElementsByTagName("input")[0],h=0===scheduler.date.time_part(s.start_date)&&0===scheduler.date.time_part(s.end_date);_.checked=h,n[0].disabled=_.checked,n[1].disabled=_.checked,_.onclick=function(){if(_.checked===!0){var t={};scheduler.form_blocks.calendar_time.get_value(e,t),r=scheduler.date.date_part(t.start_date),d=scheduler.date.date_part(t.end_date),(+d==+r||+d>=+r&&(0!==s.end_date.getHours()||0!==s.end_date.getMinutes()))&&(d=scheduler.date.add(d,1,"day"))
+}var l=r||s.start_date,o=d||s.end_date;a(i[0],l),a(i[1],o),n[0].value=60*l.getHours()+l.getMinutes(),n[1].value=60*o.getHours()+o.getMinutes(),n[0].disabled=_.checked,n[1].disabled=_.checked}}if(scheduler.config.event_duration&&scheduler.config.auto_end_date){var c=function(){r=scheduler.date.add(i[0]._date,n[0].value,"minute"),d=new Date(r.getTime()+60*scheduler.config.event_duration*1e3),i[1].value=scheduler.templates.calendar_time(d),i[1]._date=scheduler.date.date_part(new Date(d)),n[1].value=60*d.getHours()+d.getMinutes()
+};n[0].onchange=c}a(i[0],s.start_date,0),a(i[1],s.end_date,1),l=function(){},n[0].value=60*s.start_date.getHours()+s.start_date.getMinutes(),n[1].value=60*s.end_date.getHours()+s.end_date.getMinutes()},get_value:function(e,t){var s=e.getElementsByTagName("input"),a=e.getElementsByTagName("select");return t.start_date=scheduler.date.add(s[0]._date,a[0].value,"minute"),t.end_date=scheduler.date.add(s[1]._date,a[1].value,"minute"),t.end_date<=t.start_date&&(t.end_date=scheduler.date.add(t.start_date,scheduler.config.time_step,"minute")),{start_date:new Date(t.start_date),end_date:new Date(t.end_date)}
},focus:function(){}},scheduler.linkCalendar=function(e,t){var s=function(){var s=scheduler._date,a=new Date(s.valueOf());return t&&(a=t(a)),a.setDate(1),scheduler.updateCalendar(e,a),!0};scheduler.attachEvent("onViewChange",s),scheduler.attachEvent("onXLE",s),scheduler.attachEvent("onEventAdded",s),scheduler.attachEvent("onEventChanged",s),scheduler.attachEvent("onAfterEventDelete",s),s()},scheduler._markCalendarCurrentDate=function(e){var t=scheduler._date,s=scheduler._mode,a=scheduler.date.month_start(new Date(e._date)),r=scheduler.date.add(a,1,"month");
-if("day"==s||this._props&&this._props[s])a.valueOf()<=t.valueOf()&&r>t&&scheduler.markCalendar(e,t,"dhx_calendar_click");else if("week"==s)for(var d=scheduler.date.week_start(new Date(t.valueOf())),n=0;7>n;n++)a.valueOf()<=d.valueOf()&&r>d&&scheduler.markCalendar(e,d,"dhx_calendar_click"),d=scheduler.date.add(d,1,"day")},scheduler.attachEvent("onEventCancel",function(){scheduler.destroyCalendar(null,!0)});
+if("day"==s||this._props&&this._props[s])a.valueOf()<=t.valueOf()&&r>t&&scheduler.markCalendar(e,t,"dhx_calendar_click");else if("week"==s)for(var d=scheduler.date.week_start(new Date(t.valueOf())),i=0;7>i;i++)a.valueOf()<=d.valueOf()&&r>d&&scheduler.markCalendar(e,d,"dhx_calendar_click"),d=scheduler.date.add(d,1,"day")},scheduler.attachEvent("onEventCancel",function(){scheduler.destroyCalendar(null,!0)});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_minical.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_monthheight.js b/codebase/ext/dhtmlxscheduler_monthheight.js
index f493b7d..89aa32c 100644
--- a/codebase/ext/dhtmlxscheduler_monthheight.js
+++ b/codebase/ext/dhtmlxscheduler_monthheight.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_multisection.js b/codebase/ext/dhtmlxscheduler_multisection.js
index 47df7c1..1c04b98 100644
--- a/codebase/ext/dhtmlxscheduler_multisection.js
+++ b/codebase/ext/dhtmlxscheduler_multisection.js
@@ -1,16 +1,17 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.config.multisection=!0,scheduler.config.section_delemiter=",",scheduler.attachEvent("onSchedulerReady",function(){var e=scheduler._update_unit_section;scheduler._update_unit_section=function(t){return scheduler._update_sections(t,e)};var t=scheduler._update_timeline_section;scheduler._update_timeline_section=function(e){return scheduler._update_sections(e,t)},scheduler.isMultisectionEvent=function(e){if(e&&this._get_multisection_view()){var t=this._get_event_sections(e);return t.length>1
-}return!1},scheduler._get_event_sections=function(e){var t=this._get_section_property(),s=e[t]||"";return this._parse_event_sections(s)},scheduler._parse_event_sections=function(e){return e instanceof Array?e:e.toString().split(scheduler.config.section_delemiter)},scheduler._register_copies_array=function(e){for(var t=0;t<e.length;t++)this._register_copy(e[t])},scheduler._register_copy=function(e){this._multisection_copies[e.id]||(this._multisection_copies[e.id]={});var t=e[this._get_section_property()],s=this._multisection_copies[e.id];
+scheduler.config.multisection=!0,scheduler.config.multisection_shift_all=!0,scheduler.config.section_delemiter=",",scheduler.attachEvent("onSchedulerReady",function(){var e=scheduler._update_unit_section;scheduler._update_unit_section=function(t){return scheduler._update_sections(t,e)};var t=scheduler._update_timeline_section;scheduler._update_timeline_section=function(e){return scheduler._update_sections(e,t)},scheduler.isMultisectionEvent=function(e){if(e&&this._get_multisection_view()){var t=this._get_event_sections(e);
+return t.length>1}return!1},scheduler._get_event_sections=function(e){var t=this._get_section_property(),s=e[t]||"";return this._parse_event_sections(s)},scheduler._parse_event_sections=function(e){return e instanceof Array?e:e.toString().split(scheduler.config.section_delemiter)},scheduler._register_copies_array=function(e){for(var t=0;t<e.length;t++)this._register_copy(e[t])},scheduler._register_copy=function(e){this._multisection_copies[e.id]||(this._multisection_copies[e.id]={});var t=e[this._get_section_property()],s=this._multisection_copies[e.id];
s[t]||(s[t]=e)},scheduler._get_copied_event=function(e,t){if(!this._multisection_copies[e])return null;if(this._multisection_copies[e][t])return this._multisection_copies[e][t];var s=this._multisection_copies[e];if(scheduler._drag_event&&scheduler._drag_event._orig_section&&s[scheduler._drag_event._orig_section])return s[scheduler._drag_event._orig_section];var r=1/0,a=null;for(var i in s)s[i]._sorder<r&&(a=s[i],r=s[i]._sorder);return a},scheduler._clear_copied_events=function(){this._multisection_copies={}
},scheduler._clear_copied_events(),scheduler._split_events=function(e){var t=[],s=this._get_multisection_view(),r=this._get_section_property();if(s)for(var a=0;a<e.length;a++){var i=this._get_event_sections(e[a]);if(i.length>1){for(var n=0;n<i.length;n++)if("undefined"!=typeof s.order[i[n]]){var d=this._lame_copy({},e[a]);d[r]=i[n],t.push(d)}}else t.push(e[a])}else t=e;return t},scheduler._get_multisection_view=function(){return this.config.multisection?scheduler._get_section_view():!1};var s=scheduler.get_visible_events;
-scheduler.get_visible_events=function(){this._clear_copied_events();{var e=s.apply(this,arguments);this._get_multisection_view()}return this._get_multisection_view()&&(e=this._split_events(e),this._register_copies_array(e)),e},scheduler._rendered_events={};var r=scheduler.render_view_data;scheduler.render_view_data=function(e,t){return this._get_multisection_view()&&e&&(e=this._split_events(e),this._restore_render_flags(e)),r.apply(this,[e,t])},scheduler._restore_render_flags=function(e){for(var t=this._get_section_property(),s=0;s<e.length;s++){var r=e[s],a=scheduler._get_copied_event(r.id,r[t]);
-if(a)for(var i in a)0===i.indexOf("_")&&(r[i]=a[i])}},scheduler._update_sections=function(e,t){var s=e.view,r=e.event,a=e.pos;if(scheduler.isMultisectionEvent(r)){if(scheduler._drag_event._orig_section||(scheduler._drag_event._orig_section=a.section),scheduler._drag_event._orig_section!=a.section){var i=s.order[a.section]-s.order[scheduler._drag_event._orig_section];if(i){for(var n=this._get_event_sections(r),d=[],l=!0,o=0;o<n.length;o++){var _=scheduler._shift_sections(s,n[o],i);if(null===_){d=n,l=!1;
-break}d[o]=_}l&&(scheduler._drag_event._orig_section=a.section),r[scheduler._get_section_property()]=d.join(",")}}}else t.apply(scheduler,[e])},scheduler._shift_sections=function(e,t,s){for(var r in e.order)if(e.order[r]-e.order[t]==s)return r;return null};var a=scheduler._get_blocked_zones;scheduler._get_blocked_zones=function(e,t,s,r,i){if(t&&this.config.multisection){t=this._parse_event_sections(t);for(var n=[],d=0;d<t.length;d++)n=n.concat(a.apply(this,[e,t[d],s,r,i]));return n}return a.apply(this,arguments)
-};var i=scheduler._check_sections_collision;scheduler._check_sections_collision=function(e,t){if(this.config.multisection&&this._get_section_view()){e=this._split_events([e]),t=this._split_events([t]);for(var s=!1,r=0,a=e.length;a>r&&!s;r++)for(var n=0,d=t.length;d>n;n++)if(i.apply(this,[e[r],t[n]])){s=!0;break}return s}return i.apply(this,arguments)}});
+scheduler.get_visible_events=function(){this._clear_copied_events();var e=s.apply(this,arguments);if(this._get_multisection_view()){e=this._split_events(e);for(var t=0;t<e.length;t++)this.is_visible_events(e[t])||(e.splice(t,1),t--);this._register_copies_array(e)}return e},scheduler._rendered_events={};var r=scheduler.render_view_data;scheduler.render_view_data=function(e,t){return this._get_multisection_view()&&e&&(e=this._split_events(e),this._restore_render_flags(e)),r.apply(this,[e,t])},scheduler._restore_render_flags=function(e){for(var t=this._get_section_property(),s=0;s<e.length;s++){var r=e[s],a=scheduler._get_copied_event(r.id,r[t]);
+if(a)for(var i in a)0===i.indexOf("_")&&(r[i]=a[i])}},scheduler._update_sections=function(e,t){var s=e.view,r=e.event,a=e.pos;if(scheduler.isMultisectionEvent(r)){if(scheduler._drag_event._orig_section||(scheduler._drag_event._orig_section=a.section),scheduler._drag_event._orig_section!=a.section){var i=s.order[a.section]-s.order[scheduler._drag_event._orig_section];if(i){var n=this._get_event_sections(r),d=[],l=!0;if(scheduler.config.multisection_shift_all)for(var o=0;o<n.length;o++){var _=scheduler._shift_sections(s,n[o],i);
+if(null===_){d=n,l=!1;break}d[o]=_}else for(var o=0;o<n.length;o++){if(n[o]==a.section){d=n,l=!1;break}if(n[o]==scheduler._drag_event._orig_section){var _=scheduler._shift_sections(s,n[o],i);if(null===_){d=n,l=!1;break}d[o]=_}else d[o]=n[o]}l&&(scheduler._drag_event._orig_section=a.section),r[scheduler._get_section_property()]=d.join(",")}}}else t.apply(scheduler,[e])},scheduler._shift_sections=function(e,t,s){for(var r in e.order)if(e.order[r]-e.order[t]==s)return r;return null};var a=scheduler._get_blocked_zones;
+scheduler._get_blocked_zones=function(e,t,s,r,i){if(t&&this.config.multisection){t=this._parse_event_sections(t);for(var n=[],d=0;d<t.length;d++)n=n.concat(a.apply(this,[e,t[d],s,r,i]));return n}return a.apply(this,arguments)};var i=scheduler._check_sections_collision;scheduler._check_sections_collision=function(e,t){if(this.config.multisection&&this._get_section_view()){e=this._split_events([e]),t=this._split_events([t]);for(var s=!1,r=0,a=e.length;a>r&&!s;r++)for(var n=0,d=t.length;d>n;n++)if(i.apply(this,[e[r],t[n]])){s=!0;
+break}return s}return i.apply(this,arguments)}});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_multisection.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_multiselect.js b/codebase/ext/dhtmlxscheduler_multiselect.js
index 5e80dca..260b885 100644
--- a/codebase/ext/dhtmlxscheduler_multiselect.js
+++ b/codebase/ext/dhtmlxscheduler_multiselect.js
@@ -1,11 +1,11 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
scheduler.form_blocks.multiselect={render:function(e){for(var t="<div class='dhx_multi_select_"+e.name+"' style='overflow: auto; height: "+e.height+"px; position: relative;' >",s=0;s<e.options.length;s++)t+="<label><input type='checkbox' value='"+e.options[s].key+"'/>"+e.options[s].label+"</label>",convertStringToBoolean(e.vertical)&&(t+="<br/>");return t+="</div>"},set_value:function(e,t,s,r){function a(t){for(var s=e.getElementsByTagName("input"),r=0;r<s.length;r++)s[r].checked=!!t[s[r].value]}for(var i=e.getElementsByTagName("input"),n=0;n<i.length;n++)i[n].checked=!1;
-var d=[];if(s[r.map_to]){for(var l=(s[r.map_to]+"").split(","),n=0;n<l.length;n++)d[l[n]]=!0;a(d)}else{if(scheduler._new_event||!r.script_url)return;var o=document.createElement("div");o.className="dhx_loading",o.style.cssText="position: absolute; top: 40%; left: 40%;",e.appendChild(o),dhtmlxAjax.get(r.script_url+"?dhx_crosslink_"+r.map_to+"="+s.id+"&uid="+scheduler.uid(),function(t){for(var s=t.doXPath("//data/item"),i=[],n=0;n<s.length;n++)i[s[n].getAttribute(r.map_to)]=!0;a(i),e.removeChild(o)
+var d={};if(s[r.map_to]){for(var l=(s[r.map_to]+"").split(","),n=0;n<l.length;n++)d[l[n]]=!0;a(d)}else{if(scheduler._new_event||!r.script_url)return;var o=document.createElement("div");o.className="dhx_loading",o.style.cssText="position: absolute; top: 40%; left: 40%;",e.appendChild(o),dhtmlxAjax.get(r.script_url+"?dhx_crosslink_"+r.map_to+"="+s.id+"&uid="+scheduler.uid(),function(t){for(var s=t.doXPath("//data/item"),i={},n=0;n<s.length;n++)i[s[n].getAttribute(r.map_to)]=!0;a(i),e.removeChild(o)
})}},get_value:function(e){for(var t=[],s=e.getElementsByTagName("input"),r=0;r<s.length;r++)s[r].checked&&t.push(s[r].value);return t.join(",")},focus:function(){}};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_multiselect.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_multisource.js b/codebase/ext/dhtmlxscheduler_multisource.js
index 3cb4d37..a6a10c5 100644
--- a/codebase/ext/dhtmlxscheduler_multisource.js
+++ b/codebase/ext/dhtmlxscheduler_multisource.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_mvc.js b/codebase/ext/dhtmlxscheduler_mvc.js
index f0a8c4d..b40ca07 100644
--- a/codebase/ext/dhtmlxscheduler_mvc.js
+++ b/codebase/ext/dhtmlxscheduler_mvc.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-!function(){function e(e){var t={};for(var s in e)0!==s.indexOf("_")&&(t[s]=e[s]);return i.use_id||delete t.id,t}function t(){clearTimeout(n),n=setTimeout(function(){scheduler.updateView()},1)}function s(e){e._loading=!0,e._not_render=!0,e.callEvent("onXLS",[])}function r(e){e._not_render=!1,e._render_wait&&e.render_view_data(),e._loading=!1,e.callEvent("onXLE",[])}function a(e){return i.use_id?e.id:e.cid}var n,i={use_id:!1};scheduler.backbone=function(n,d){function l(){o.length&&(scheduler.parse(o,"json"),o=[])
-}d&&(i=d),n.bind("change",function(e){var s=a(e),r=scheduler._events[s]=e.toJSON();r.id=s,scheduler._init_event(r),t()}),n.bind("remove",function(e){var t=a(e);scheduler._events[t]&&scheduler.deleteEvent(t)});var o=[];n.bind("add",function(e){var t=a(e);if(!scheduler._events[t]){var s=e.toJSON();s.id=t,scheduler._init_event(s),o.push(s),1==o.length&&setTimeout(l,1)}}),n.bind("request",function(e){e instanceof Backbone.Collection&&s(scheduler)}),n.bind("sync",function(e){e instanceof Backbone.Collection&&r(scheduler)
-}),n.bind("error",function(e){e instanceof Backbone.Collection&&r(scheduler)}),scheduler.attachEvent("onEventCreated",function(e){var t=new n.model(scheduler.getEvent(e));return scheduler._events[e]=t.toJSON(),scheduler._events[e].id=e,!0}),scheduler.attachEvent("onEventAdded",function(t){if(!n.get(t)){var s=e(scheduler.getEvent(t)),r=new n.model(s),i=a(r);i!=t&&this.changeEventId(t,i),n.add(r),n.trigger("scheduler:add",r)}return!0}),scheduler.attachEvent("onEventChanged",function(t){var s=n.get(t),r=e(scheduler.getEvent(t));
-return s.set(r),n.trigger("scheduler:change",s),!0}),scheduler.attachEvent("onEventDeleted",function(e){var t=n.get(e);return t&&(n.trigger("scheduler:remove",t),n.remove(e)),!0})}}();
+!function(){function e(e){var t={};for(var s in e)0!==s.indexOf("_")&&(t[s]=e[s]);return n.use_id||delete t.id,t}function t(){clearTimeout(i),i=setTimeout(function(){scheduler.updateView()},1)}function s(e){e._loading=!0,e._not_render=!0,e.callEvent("onXLS",[])}function r(e){e._not_render=!1,e._render_wait&&e.render_view_data(),e._loading=!1,e.callEvent("onXLE",[])}function a(e){return n.use_id?e.id:e.cid}var i,n={use_id:!1};scheduler.backbone=function(i,d){function l(){o.length&&(scheduler.parse(o,"json"),o=[])
+}d&&(n=d),i.bind("change",function(e){var s=a(e),r=scheduler._events[s]=e.toJSON();r.id=s,scheduler._init_event(r),t()}),i.bind("remove",function(e){var t=a(e);scheduler._events[t]&&scheduler.deleteEvent(t)});var o=[];i.bind("add",function(e){var t=a(e);if(!scheduler._events[t]){var s=e.toJSON();s.id=t,scheduler._init_event(s),o.push(s),1==o.length&&setTimeout(l,1)}}),i.bind("request",function(e){e instanceof Backbone.Collection&&s(scheduler)}),i.bind("sync",function(e){e instanceof Backbone.Collection&&r(scheduler)
+}),i.bind("error",function(e){e instanceof Backbone.Collection&&r(scheduler)}),scheduler.attachEvent("onEventCreated",function(e){var t=new i.model(scheduler.getEvent(e));return scheduler._events[e]=t.toJSON(),scheduler._events[e].id=e,!0}),scheduler.attachEvent("onEventAdded",function(t){if(!i.get(t)){var s=e(scheduler.getEvent(t)),r=new i.model(s),n=a(r);n!=t&&this.changeEventId(t,n),i.add(r),i.trigger("scheduler:add",r)}return!0}),scheduler.attachEvent("onEventChanged",function(t){var s=i.get(t),r=e(scheduler.getEvent(t));
+return s.set(r),i.trigger("scheduler:change",s),!0}),scheduler.attachEvent("onEventDeleted",function(e){var t=i.get(e);return t&&(i.trigger("scheduler:remove",t),i.remove(e)),!0})}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_mvc.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_offline.js b/codebase/ext/dhtmlxscheduler_offline.js
index f0727a4..da996da 100644
--- a/codebase/ext/dhtmlxscheduler_offline.js
+++ b/codebase/ext/dhtmlxscheduler_offline.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_outerdrag.js b/codebase/ext/dhtmlxscheduler_outerdrag.js
index f2f8ea4..ce5363b 100644
--- a/codebase/ext/dhtmlxscheduler_outerdrag.js
+++ b/codebase/ext/dhtmlxscheduler_outerdrag.js
@@ -1,11 +1,11 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.attachEvent("onTemplatesReady",function(){var e,t=new dhtmlDragAndDropObject,s=t.stopDrag;t.stopDrag=function(t){return e=t||event,s.apply(this,arguments)},t.addDragLanding(scheduler._els.dhx_cal_data[0],{_drag:function(t,s,r,a){if(!scheduler.checkEvent("onBeforeExternalDragIn")||scheduler.callEvent("onBeforeExternalDragIn",[t,s,r,a,e])){var n=scheduler.attachEvent("onEventCreated",function(s){scheduler.callEvent("onExternalDragIn",[s,t,e])||(this._drag_mode=this._drag_id=null,this.deleteEvent(s))
-}),i=scheduler.getActionData(e),d={start_date:new Date(i.date)};if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var l=scheduler.matrix[scheduler._mode];d[l.y_property]=i.section;var o=scheduler._locate_cell_timeline(e);d.start_date=l._trace_x[o.x],d.end_date=scheduler.date.add(d.start_date,l.x_step,l.x_unit)}scheduler._props&&scheduler._props[scheduler._mode]&&(d[scheduler._props[scheduler._mode].map_to]=i.section),scheduler.addEventNow(d),scheduler.detachEvent(n)}},_dragIn:function(e){return e
+scheduler.attachEvent("onTemplatesReady",function(){var e,t=new dhtmlDragAndDropObject,s=t.stopDrag;t.stopDrag=function(t){return e=t||event,s.apply(this,arguments)},t.addDragLanding(scheduler._els.dhx_cal_data[0],{_drag:function(t,s,r,a){if(!scheduler.checkEvent("onBeforeExternalDragIn")||scheduler.callEvent("onBeforeExternalDragIn",[t,s,r,a,e])){var i=scheduler.attachEvent("onEventCreated",function(s){scheduler.callEvent("onExternalDragIn",[s,t,e])||(this._drag_mode=this._drag_id=null,this.deleteEvent(s))
+}),n=scheduler.getActionData(e),d={start_date:new Date(n.date)};if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var l=scheduler.matrix[scheduler._mode];d[l.y_property]=n.section;var o=scheduler._locate_cell_timeline(e);d.start_date=l._trace_x[o.x],d.end_date=scheduler.date.add(d.start_date,l.x_step,l.x_unit)}scheduler._props&&scheduler._props[scheduler._mode]&&(d[scheduler._props[scheduler._mode].map_to]=n.section),scheduler.addEventNow(d),scheduler.detachEvent(i)}},_dragIn:function(e){return e
},_dragOut:function(){return this}})});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_outerdrag.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_pdf.js b/codebase/ext/dhtmlxscheduler_pdf.js
index fdefa02..04437a0 100644
--- a/codebase/ext/dhtmlxscheduler_pdf.js
+++ b/codebase/ext/dhtmlxscheduler_pdf.js
@@ -1,23 +1,23 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-!function(){function e(e){return e.replace(y,"\n").replace(p,"")}function t(e,t){e=parseFloat(e),t=parseFloat(t),isNaN(t)||(e-=t);var r=s(e);return e=e-r.width+r.cols*g,isNaN(e)?"auto":100*e/g}function r(e,t,r){e=parseFloat(e),t=parseFloat(t),!isNaN(t)&&r&&(e-=t);var a=s(e);return e=e-a.width+a.cols*g,isNaN(e)?"auto":100*e/(g-(isNaN(t)?0:t))}function s(e){for(var t=0,r=scheduler._els.dhx_cal_header[0].childNodes,s=r[1]?r[1].childNodes:r[0].childNodes,a=0;a<s.length;a++){var n=s[a].style?s[a]:s[a].parentNode,i=parseFloat(n.style.width);
-if(!(e>i))break;e-=i+1,t+=i+1}return{width:t,cols:a}}function a(e){return e=parseFloat(e),isNaN(e)?"auto":100*e/m}function n(e,t){return(window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:null)||""}function i(e,t){for(var r=parseInt(e.style.left,10),s=0;s<scheduler._cols.length;s++)if(r-=scheduler._cols[s],0>r)return s;return t}function d(e,t){for(var r=parseInt(e.style.top,10),s=0;s<scheduler._colsS.heights.length;s++)if(scheduler._colsS.heights[s]>r)return s;
-return t}function l(e){return e?"<"+e+">":""}function o(e){return e?"</"+e+">":""}function _(e,t,r,s){var a="<"+e+" profile='"+t+"'";return r&&(a+=" header='"+r+"'"),s&&(a+=" footer='"+s+"'"),a+=">"}function h(){var t="",r=scheduler._mode;if(scheduler.matrix&&scheduler.matrix[scheduler._mode]&&(r="cell"==scheduler.matrix[scheduler._mode].render?"matrix":"timeline"),t+="<scale mode='"+r+"' today='"+scheduler._els.dhx_cal_date[0].innerHTML+"'>","week_agenda"==scheduler._mode)for(var s=scheduler._els.dhx_cal_data[0].getElementsByTagName("DIV"),a=0;a<s.length;a++)"dhx_wa_scale_bar"==s[a].className&&(t+="<column>"+e(s[a].innerHTML)+"</column>");
-else if("agenda"==scheduler._mode||"map"==scheduler._mode){var s=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes;t+="<column>"+e(s[0].innerHTML)+"</column><column>"+e(s[1].innerHTML)+"</column>"}else if("year"==scheduler._mode)for(var s=scheduler._els.dhx_cal_data[0].childNodes,a=0;a<s.length;a++)t+="<month label='"+e(s[a].childNodes[0].innerHTML)+"'>",t+=u(s[a].childNodes[1].childNodes),t+=c(s[a].childNodes[2]),t+="</month>";else{t+="<x>";var s=scheduler._els.dhx_cal_header[0].childNodes;
-t+=u(s),t+="</x>";var n=scheduler._els.dhx_cal_data[0];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){t+="<y>";for(var a=0;a<n.firstChild.rows.length;a++){var i=n.firstChild.rows[a];t+="<row><![CDATA["+e(i.cells[0].innerHTML)+"]]></row>"}t+="</y>",m=n.firstChild.rows[0].cells[0].offsetHeight}else if("TABLE"==n.firstChild.tagName)t+=c(n);else{for(n=n.childNodes[n.childNodes.length-1];-1==n.className.indexOf("dhx_scale_holder");)n=n.previousSibling;n=n.childNodes,t+="<y>";for(var a=0;a<n.length;a++)t+="\n<row><![CDATA["+e(n[a].innerHTML)+"]]></row>";
-t+="</y>",m=n[0].offsetHeight}}return t+="</scale>"}function c(t){for(var r="",s=t.firstChild.rows,a=0;a<s.length;a++){for(var n=[],i=0;i<s[a].cells.length;i++)n.push(s[a].cells[i].firstChild.innerHTML);r+="\n<row height='"+t.firstChild.rows[a].cells[0].offsetHeight+"'><![CDATA["+e(n.join("|"))+"]]></row>",m=t.firstChild.rows[0].cells[0].offsetHeight}return r}function u(t){var r,s="";scheduler.matrix&&scheduler.matrix[scheduler._mode]&&(scheduler.matrix[scheduler._mode].second_scale&&(r=t[1].childNodes),t=t[0].childNodes);
-for(var a=0;a<t.length;a++)s+="\n<column><![CDATA["+e(t[a].innerHTML)+"]]></column>";if(g=t[0].offsetWidth,r)for(var n=0,i=t[0].offsetWidth,d=1,a=0;a<r.length;a++)s+="\n<column second_scale='"+d+"'><![CDATA["+e(r[a].innerHTML)+"]]></column>",n+=r[a].offsetWidth,n>=i&&(i+=t[d]?t[d].offsetWidth:0,d++),g=r[0].offsetWidth;return s}function f(s){var l="",o=scheduler._rendered,_=scheduler.matrix&&scheduler.matrix[scheduler._mode];if("agenda"==scheduler._mode||"map"==scheduler._mode)for(var h=0;h<o.length;h++)l+="<event><head><![CDATA["+e(o[h].childNodes[0].innerHTML)+"]]></head><body><![CDATA["+e(o[h].childNodes[2].innerHTML)+"]]></body></event>";
-else if("week_agenda"==scheduler._mode)for(var h=0;h<o.length;h++)l+="<event day='"+o[h].parentNode.getAttribute("day")+"'><body>"+e(o[h].innerHTML)+"</body></event>";else if("year"==scheduler._mode)for(var o=scheduler.get_visible_events(),h=0;h<o.length;h++){var c=o[h].start_date;for(c.valueOf()<scheduler._min_date.valueOf()&&(c=scheduler._min_date);c<o[h].end_date;){var u=c.getMonth()+12*(c.getFullYear()-scheduler._min_date.getFullYear())-scheduler.week_starts._month,f=scheduler.week_starts[u]+c.getDate()-1,v=s?n(scheduler._get_year_cell(c),"color"):"",g=s?n(scheduler._get_year_cell(c),"backgroundColor"):"";
-if(l+="<event day='"+f%7+"' week='"+Math.floor(f/7)+"' month='"+u+"' backgroundColor='"+g+"' color='"+v+"'></event>",c=scheduler.date.add(c,1,"day"),c.valueOf()>=scheduler._max_date.valueOf())break}}else if(_&&"cell"==_.render)for(var o=scheduler._els.dhx_cal_data[0].getElementsByTagName("TD"),h=0;h<o.length;h++){var v=s?n(o[h],"color"):"",g=s?n(o[h],"backgroundColor"):"";l+="\n<event><body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[h].innerHTML)+"]]></body></event>"}else for(var h=0;h<o.length;h++){var p,y;
-if(scheduler.matrix&&scheduler.matrix[scheduler._mode])p=t(o[h].style.left),y=t(o[h].offsetWidth)-1;else{var x=scheduler.config.use_select_menu_space?0:26;p=r(o[h].style.left,x,!0),y=r(o[h].style.width,x)-1}if(!isNaN(1*y)){var b=a(o[h].style.top),w=a(o[h].style.height),E=o[h].className.split(" ")[0].replace("dhx_cal_","");if("dhx_tooltip_line"!==E){var k=scheduler.getEvent(o[h].getAttribute("event_id"));if(k){var f=k._sday,D=k._sweek,N=k._length||0;if("month"==scheduler._mode)w=parseInt(o[h].offsetHeight,10),b=parseInt(o[h].style.top,10)-scheduler.xy.month_head_height,f=i(o[h],f),D=d(o[h],D);
-else if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){f=0;var M=o[h].parentNode.parentNode.parentNode;D=M.rowIndex;var L=m;m=o[h].parentNode.offsetHeight,b=a(o[h].style.top),b-=.2*b,m=L}else{if(o[h].parentNode==scheduler._els.dhx_cal_data[0])continue;var C=scheduler._els.dhx_cal_data[0].childNodes[0],O=parseFloat(-1!=C.className.indexOf("dhx_scale_holder")?C.style.left:0);p+=t(o[h].parentNode.style.left,O)}if(l+="\n<event week='"+D+"' day='"+f+"' type='"+E+"' x='"+p+"' y='"+b+"' width='"+y+"' height='"+w+"' len='"+N+"'>","event"==E){l+="<header><![CDATA["+e(o[h].childNodes[1].innerHTML)+"]]></header>";
-var v=s?n(o[h].childNodes[2],"color"):"",g=s?n(o[h].childNodes[2],"backgroundColor"):"";l+="<body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[h].childNodes[2].innerHTML)+"]]></body>"}else{var v=s?n(o[h],"color"):"",g=s?n(o[h],"backgroundColor"):"";l+="<body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[h].innerHTML)+"]]></body>"}l+="</event>"}}}}return l}function v(e,t,r,s,a,n,i){var d=!1;"fullcolor"==a&&(d=!0,a="color"),a=a||"color";var c=scheduler.uid(),u=document.createElement("div");
-u.style.display="none",document.body.appendChild(u),u.innerHTML='<form id="'+c+'" method="post" target="_blank" action="'+s+'" accept-charset="utf-8" enctype="application/x-www-form-urlencoded"><input type="hidden" name="mycoolxmlbody"/> </form>';var v="";if(e){var g=scheduler._date,m=scheduler._mode;t=scheduler.date[r+"_start"](t),t=scheduler.date["get_"+r+"_end"]?scheduler.date["get_"+r+"_end"](t):scheduler.date.add(t,1,r),v=_("pages",a,n,i);for(var p=new Date(e);+t>+p;p=scheduler.date.add(p,1,r))scheduler.setCurrentView(p,r),v+=l("page")+h().replace("–","-")+f(d)+o("page");
-v+=o("pages"),scheduler.setCurrentView(g,m)}else v=_("data",a,n,i)+h().replace("–","-")+f(d)+o("data");document.getElementById(c).firstChild.value=encodeURIComponent(v),document.getElementById(c).submit(),u.parentNode.removeChild(u)}var g,m,p=new RegExp("<[^>]*>","g"),y=new RegExp("<br[^>]*>","g");scheduler.toPDF=function(e,t,r,s){return v.apply(this,[null,null,null,e,t,r,s])},scheduler.toPDFRange=function(e,t){return"string"==typeof e&&(e=scheduler.templates.api_date(e),t=scheduler.templates.api_date(t)),v.apply(this,arguments)
+!function(){function e(e){return e.replace(y,"\n").replace(p,"")}function t(e,t){e=parseFloat(e),t=parseFloat(t),isNaN(t)||(e-=t);var s=r(e);return e=e-s.width+s.cols*g,isNaN(e)?"auto":100*e/g}function s(e,t,s){e=parseFloat(e),t=parseFloat(t),!isNaN(t)&&s&&(e-=t);var a=r(e);return e=e-a.width+a.cols*g,isNaN(e)?"auto":100*e/(g-(isNaN(t)?0:t))}function r(e){for(var t=0,s=scheduler._els.dhx_cal_header[0].childNodes,r=s[1]?s[1].childNodes:s[0].childNodes,a=0;a<r.length;a++){var n=r[a].style?r[a]:r[a].parentNode,i=parseFloat(n.style.width);
+if(!(e>i))break;e-=i+1,t+=i+1}return{width:t,cols:a}}function a(e){return e=parseFloat(e),isNaN(e)?"auto":100*e/m}function n(e,t){return(window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:null)||""}function i(e,t){for(var s=parseInt(e.style.left,10),r=0;r<scheduler._cols.length;r++)if(s-=scheduler._cols[r],0>s)return r;return t}function d(e,t){for(var s=parseInt(e.style.top,10),r=0;r<scheduler._colsS.heights.length;r++)if(scheduler._colsS.heights[r]>s)return r;
+return t}function l(e){return e?"<"+e+">":""}function o(e){return e?"</"+e+">":""}function h(e,t,s,r){var a="<"+e+" profile='"+t+"'";return s&&(a+=" header='"+s+"'"),r&&(a+=" footer='"+r+"'"),a+=">"}function _(){var t="",s=scheduler._mode;if(scheduler.matrix&&scheduler.matrix[scheduler._mode]&&(s="cell"==scheduler.matrix[scheduler._mode].render?"matrix":"timeline"),t+="<scale mode='"+s+"' today='"+scheduler._els.dhx_cal_date[0].innerHTML+"'>","week_agenda"==scheduler._mode)for(var r=scheduler._els.dhx_cal_data[0].getElementsByTagName("DIV"),a=0;a<r.length;a++)"dhx_wa_scale_bar"==r[a].className&&(t+="<column>"+e(r[a].innerHTML)+"</column>");
+else if("agenda"==scheduler._mode||"map"==scheduler._mode){var r=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes;t+="<column>"+e(r[0].innerHTML)+"</column><column>"+e(r[1].innerHTML)+"</column>"}else if("year"==scheduler._mode)for(var r=scheduler._els.dhx_cal_data[0].childNodes,a=0;a<r.length;a++)t+="<month label='"+e(r[a].childNodes[0].innerHTML)+"'>",t+=u(r[a].childNodes[1].childNodes),t+=c(r[a].childNodes[2]),t+="</month>";else{t+="<x>";var r=scheduler._els.dhx_cal_header[0].childNodes;
+t+=u(r),t+="</x>";var n=scheduler._els.dhx_cal_data[0];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){t+="<y>";for(var a=0;a<n.firstChild.rows.length;a++){var i=n.firstChild.rows[a];t+="<row><![CDATA["+e(i.cells[0].innerHTML)+"]]></row>"}t+="</y>",m=n.firstChild.rows[0].cells[0].offsetHeight}else if("TABLE"==n.firstChild.tagName)t+=c(n);else{for(n=n.childNodes[n.childNodes.length-1];-1==n.className.indexOf("dhx_scale_holder");)n=n.previousSibling;n=n.childNodes,t+="<y>";for(var a=0;a<n.length;a++)t+="\n<row><![CDATA["+e(n[a].innerHTML)+"]]></row>";
+t+="</y>",m=n[0].offsetHeight}}return t+="</scale>"}function c(t){for(var s="",r=t.firstChild.rows,a=0;a<r.length;a++){for(var n=[],i=0;i<r[a].cells.length;i++)n.push(r[a].cells[i].firstChild.innerHTML);s+="\n<row height='"+t.firstChild.rows[a].cells[0].offsetHeight+"'><![CDATA["+e(n.join("|"))+"]]></row>",m=t.firstChild.rows[0].cells[0].offsetHeight}return s}function u(t){var s,r="";scheduler.matrix&&scheduler.matrix[scheduler._mode]&&(scheduler.matrix[scheduler._mode].second_scale&&(s=t[1].childNodes),t=t[0].childNodes);
+for(var a=0;a<t.length;a++)r+="\n<column><![CDATA["+e(t[a].innerHTML)+"]]></column>";if(g=t[0].offsetWidth,s)for(var n=0,i=t[0].offsetWidth,d=1,a=0;a<s.length;a++)r+="\n<column second_scale='"+d+"'><![CDATA["+e(s[a].innerHTML)+"]]></column>",n+=s[a].offsetWidth,n>=i&&(i+=t[d]?t[d].offsetWidth:0,d++),g=s[0].offsetWidth;return r}function f(r){var l="",o=scheduler._rendered,h=scheduler.matrix&&scheduler.matrix[scheduler._mode];if("agenda"==scheduler._mode||"map"==scheduler._mode)for(var _=0;_<o.length;_++)l+="<event><head><![CDATA["+e(o[_].childNodes[0].innerHTML)+"]]></head><body><![CDATA["+e(o[_].childNodes[2].innerHTML)+"]]></body></event>";
+else if("week_agenda"==scheduler._mode)for(var _=0;_<o.length;_++)l+="<event day='"+o[_].parentNode.getAttribute("day")+"'><body>"+e(o[_].innerHTML)+"</body></event>";else if("year"==scheduler._mode)for(var o=scheduler.get_visible_events(),_=0;_<o.length;_++){var c=o[_].start_date;for(c.valueOf()<scheduler._min_date.valueOf()&&(c=scheduler._min_date);c<o[_].end_date;){var u=c.getMonth()+12*(c.getFullYear()-scheduler._min_date.getFullYear())-scheduler.week_starts._month,f=scheduler.week_starts[u]+c.getDate()-1,v=r?n(scheduler._get_year_cell(c),"color"):"",g=r?n(scheduler._get_year_cell(c),"backgroundColor"):"";
+if(l+="<event day='"+f%7+"' week='"+Math.floor(f/7)+"' month='"+u+"' backgroundColor='"+g+"' color='"+v+"'></event>",c=scheduler.date.add(c,1,"day"),c.valueOf()>=scheduler._max_date.valueOf())break}}else if(h&&"cell"==h.render)for(var o=scheduler._els.dhx_cal_data[0].getElementsByTagName("TD"),_=0;_<o.length;_++){var v=r?n(o[_],"color"):"",g=r?n(o[_],"backgroundColor"):"";l+="\n<event><body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[_].innerHTML)+"]]></body></event>"}else for(var _=0;_<o.length;_++){var p,y;
+if(scheduler.matrix&&scheduler.matrix[scheduler._mode])p=t(o[_].style.left),y=t(o[_].offsetWidth)-1;else{var x=scheduler.config.use_select_menu_space?0:26;p=s(o[_].style.left,x,!0),y=s(o[_].style.width,x)-1}if(!isNaN(1*y)){var b=a(o[_].style.top),w=a(o[_].style.height),E=o[_].className.split(" ")[0].replace("dhx_cal_","");if("dhx_tooltip_line"!==E){var k=scheduler.getEvent(o[_].getAttribute("event_id"));if(k){var f=k._sday,D=k._sweek,N=k._length||0;if("month"==scheduler._mode)w=parseInt(o[_].offsetHeight,10),b=parseInt(o[_].style.top,10)-scheduler.xy.month_head_height,f=i(o[_],f),D=d(o[_],D);
+else if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){f=0;var M=o[_].parentNode.parentNode.parentNode;D=M.rowIndex;var C=m;m=o[_].parentNode.offsetHeight,b=a(o[_].style.top),b-=.2*b,m=C}else{if(o[_].parentNode==scheduler._els.dhx_cal_data[0])continue;var L=scheduler._els.dhx_cal_data[0].childNodes[0],O=parseFloat(-1!=L.className.indexOf("dhx_scale_holder")?L.style.left:0);p+=t(o[_].parentNode.style.left,O)}if(l+="\n<event week='"+D+"' day='"+f+"' type='"+E+"' x='"+p+"' y='"+b+"' width='"+y+"' height='"+w+"' len='"+N+"'>","event"==E){l+="<header><![CDATA["+e(o[_].childNodes[1].innerHTML)+"]]></header>";
+var v=r?n(o[_].childNodes[2],"color"):"",g=r?n(o[_].childNodes[2],"backgroundColor"):"";l+="<body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[_].childNodes[2].innerHTML)+"]]></body>"}else{var v=r?n(o[_],"color"):"",g=r?n(o[_],"backgroundColor"):"";l+="<body backgroundColor='"+g+"' color='"+v+"'><![CDATA["+e(o[_].innerHTML)+"]]></body>"}l+="</event>"}}}}return l}function v(e,t,s,r,a,n,i){var d=!1;"fullcolor"==a&&(d=!0,a="color"),a=a||"color";var c=scheduler.uid(),u=document.createElement("div");
+u.style.display="none",document.body.appendChild(u),u.innerHTML='<form id="'+c+'" method="post" target="_blank" action="'+r+'" accept-charset="utf-8" enctype="application/x-www-form-urlencoded"><input type="hidden" name="mycoolxmlbody"/> </form>';var v="";if(e){var g=scheduler._date,m=scheduler._mode;t=scheduler.date[s+"_start"](t),t=scheduler.date["get_"+s+"_end"]?scheduler.date["get_"+s+"_end"](t):scheduler.date.add(t,1,s),v=h("pages",a,n,i);for(var p=new Date(e);+t>+p;p=scheduler.date.add(p,1,s))scheduler.setCurrentView(p,s),v+=l("page")+_().replace("–","-")+f(d)+o("page");
+v+=o("pages"),scheduler.setCurrentView(g,m)}else v=h("data",a,n,i)+_().replace("–","-")+f(d)+o("data");document.getElementById(c).firstChild.value=encodeURIComponent(v),document.getElementById(c).submit(),u.parentNode.removeChild(u)}var g,m,p=new RegExp("<[^>]*>","g"),y=new RegExp("<br[^>]*>","g");scheduler.toPDF=function(e,t,s,r){return v.apply(this,[null,null,null,e,t,s,r])},scheduler.toPDFRange=function(e,t){return"string"==typeof e&&(e=scheduler.templates.api_date(e),t=scheduler.templates.api_date(t)),v.apply(this,arguments)
}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_pdf.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_quick_info.js b/codebase/ext/dhtmlxscheduler_quick_info.js
index b8c7fa6..7aa6e28 100644
--- a/codebase/ext/dhtmlxscheduler_quick_info.js
+++ b/codebase/ext/dhtmlxscheduler_quick_info.js
@@ -1,17 +1,17 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.config.icons_select=["icon_details","icon_delete"],scheduler.config.details_on_create=!0,scheduler.xy.menu_width=0,scheduler.attachEvent("onClick",function(e){return scheduler.showQuickInfo(e),!0}),function(){for(var e=["onEmptyClick","onViewChange","onLightbox","onBeforeEventDelete","onBeforeDrag"],t=function(){return scheduler._hideQuickInfo(),!0},s=0;s<e.length;s++)scheduler.attachEvent(e[s],t)}(),scheduler.templates.quick_info_title=function(e,t,s){return s.text.substr(0,50)},scheduler.templates.quick_info_content=function(e,t,s){return s.details||s.text
-},scheduler.templates.quick_info_date=function(e,t,s){return scheduler.isOneDayEvent(s)?scheduler.templates.day_date(e,t,s)+" "+scheduler.templates.event_header(e,t,s):scheduler.templates.week_date(e,t,s)},scheduler.showQuickInfo=function(e){if(e!=this._quick_info_box_id){this.hideQuickInfo(!0);var t=this._get_event_counter_part(e);t&&(this._quick_info_box=this._init_quick_info(t),this._fill_quick_data(e),this._show_quick_info(t))}},scheduler._hideQuickInfo=function(){scheduler.hideQuickInfo()},scheduler.hideQuickInfo=function(e){var t=this._quick_info_box;
-if(this._quick_info_box_id=0,t&&t.parentNode){if(scheduler.config.quick_info_detached)return t.parentNode.removeChild(t);"auto"==t.style.right?t.style.left="-350px":t.style.right="-350px",e&&t.parentNode.removeChild(t)}},dhtmlxEvent(window,"keydown",function(e){27==e.keyCode&&scheduler.hideQuickInfo()}),scheduler._show_quick_info=function(e){var t=scheduler._quick_info_box;if(scheduler.config.quick_info_detached){scheduler._obj.appendChild(t);var s=t.offsetWidth,r=t.offsetHeight;t.style.left=e.left-e.dx*(s-e.width)+"px",t.style.top=e.top-(e.dy?r:-e.height)+"px"
-}else t.style.top=this.xy.scale_height+this.xy.nav_height+20+"px",1==e.dx?(t.style.right="auto",t.style.left="-300px",setTimeout(function(){t.style.left="-10px"},1)):(t.style.left="auto",t.style.right="-300px",setTimeout(function(){t.style.right="-10px"},1)),t.className=t.className.replace("dhx_qi_left","").replace("dhx_qi_left","")+" dhx_qi_"+(1==e?"left":"right"),scheduler._obj.appendChild(t)},scheduler.attachEvent("onTemplatesReady",function(){if(scheduler.hideQuickInfo(),this._quick_info_box){var e=this._quick_info_box;
-e.parentNode&&e.parentNode.removeChild(e),this._quick_info_box=null}}),scheduler._quick_info_onscroll_handler=function(){scheduler.hideQuickInfo()},scheduler._init_quick_info=function(){if(!this._quick_info_box){var e=scheduler.xy,t=this._quick_info_box=document.createElement("div");t.className="dhx_cal_quick_info",scheduler.$testmode&&(t.className+=" dhx_no_animate");var s='<div class="dhx_cal_qi_title" style="height:'+e.quick_info_title+'px"><div class="dhx_cal_qi_tcontent"></div><div class="dhx_cal_qi_tdate"></div></div><div class="dhx_cal_qi_content"></div>';
-s+='<div class="dhx_cal_qi_controls" style="height:'+e.quick_info_buttons+'px">';for(var r=scheduler.config.icons_select,a=0;a<r.length;a++)s+='<div class="dhx_qi_big_icon '+r[a]+'" title="'+scheduler.locale.labels[r[a]]+"\"><div class='dhx_menu_icon "+r[a]+"'></div><div>"+scheduler.locale.labels[r[a]]+"</div></div>";s+="</div>",t.innerHTML=s,dhtmlxEvent(t,"click",function(e){e=e||event,scheduler._qi_button_click(e.target||e.srcElement)}),scheduler.config.quick_info_detached&&(scheduler._detachDomEvent(scheduler._els.dhx_cal_data[0],"scroll",scheduler._quick_info_onscroll_handler),dhtmlxEvent(scheduler._els.dhx_cal_data[0],"scroll",scheduler._quick_info_onscroll_handler))
-}return this._quick_info_box},scheduler._qi_button_click=function(e){var t=scheduler._quick_info_box;if(e&&e!=t){var s=e.className;if(-1!=s.indexOf("_icon")){var r=scheduler._quick_info_box_id;scheduler._click.buttons[s.split(" ")[1].replace("icon_","")](r)}else scheduler._qi_button_click(e.parentNode)}},scheduler._get_event_counter_part=function(e){for(var t=scheduler.getRenderedEvent(e),s=0,r=0,a=t;a&&a!=scheduler._obj;)s+=a.offsetLeft,r+=a.offsetTop-a.scrollTop,a=a.offsetParent;if(a){var n=s+t.offsetWidth/2>scheduler._x/2?1:0,i=r+t.offsetHeight/2>scheduler._y/2?1:0;
-return{left:s,top:r,dx:n,dy:i,width:t.offsetWidth,height:t.offsetHeight}}return 0},scheduler._fill_quick_data=function(e){var t=scheduler.getEvent(e),s=scheduler._quick_info_box;scheduler._quick_info_box_id=e;var r=s.firstChild.firstChild;r.innerHTML=scheduler.templates.quick_info_title(t.start_date,t.end_date,t);var a=r.nextSibling;a.innerHTML=scheduler.templates.quick_info_date(t.start_date,t.end_date,t);var n=s.firstChild.nextSibling;n.innerHTML=scheduler.templates.quick_info_content(t.start_date,t.end_date,t)
-};
+scheduler.config.icons_select=["icon_details","icon_delete"],scheduler.config.details_on_create=!0,scheduler.config.show_quick_info=!0,scheduler.xy.menu_width=0,scheduler.attachEvent("onClick",function(e){return scheduler.showQuickInfo(e),!0}),function(){for(var e=["onEmptyClick","onViewChange","onLightbox","onBeforeEventDelete","onBeforeDrag"],t=function(){return scheduler._hideQuickInfo(),!0},s=0;s<e.length;s++)scheduler.attachEvent(e[s],t)}(),scheduler.templates.quick_info_title=function(e,t,s){return s.text.substr(0,50)
+},scheduler.templates.quick_info_content=function(e,t,s){return s.details||s.text},scheduler.templates.quick_info_date=function(e,t,s){return scheduler.isOneDayEvent(s)?scheduler.templates.day_date(e,t,s)+" "+scheduler.templates.event_header(e,t,s):scheduler.templates.week_date(e,t,s)},scheduler.showQuickInfo=function(e){if(e!=this._quick_info_box_id&&this.config.show_quick_info){this.hideQuickInfo(!0);var t=this._get_event_counter_part(e);t&&(this._quick_info_box=this._init_quick_info(t),this._fill_quick_data(e),this._show_quick_info(t))
+}},scheduler._hideQuickInfo=function(){scheduler.hideQuickInfo()},scheduler.hideQuickInfo=function(e){var t=this._quick_info_box;if(this._quick_info_box_id=0,t&&t.parentNode){var s=t._offsetWidth;if(scheduler.config.quick_info_detached)return t.parentNode.removeChild(t);"auto"==t.style.right?t.style.left=-s+"px":t.style.right=-s+"px",e&&t.parentNode.removeChild(t)}},dhtmlxEvent(window,"keydown",function(e){27==e.keyCode&&scheduler.hideQuickInfo()}),scheduler._show_quick_info=function(e){var t=scheduler._quick_info_box;
+scheduler._obj.appendChild(t);var s=t.offsetWidth,r=t.offsetHeight;scheduler.config.quick_info_detached?(t.style.left=e.left-e.dx*(s-e.width)+"px",t.style.top=e.top-(e.dy?r:-e.height)+"px"):(t.style.top=this.xy.scale_height+this.xy.nav_height+20+"px",1==e.dx?(t.style.right="auto",t.style.left=-s+"px",setTimeout(function(){t.style.left="-10px"},1)):(t.style.left="auto",t.style.right=-s+"px",setTimeout(function(){t.style.right="-10px"},1)),t.className=t.className.replace("dhx_qi_left","").replace("dhx_qi_right","")+" dhx_qi_"+(1==e?"left":"right"))
+},scheduler.attachEvent("onTemplatesReady",function(){if(scheduler.hideQuickInfo(),this._quick_info_box){var e=this._quick_info_box;e.parentNode&&e.parentNode.removeChild(e),this._quick_info_box=null}}),scheduler._quick_info_onscroll_handler=function(){scheduler.hideQuickInfo()},scheduler._init_quick_info=function(){if(!this._quick_info_box){var e=scheduler.xy,t=this._quick_info_box=document.createElement("div");t.className="dhx_cal_quick_info",scheduler.$testmode&&(t.className+=" dhx_no_animate");
+var s='<div class="dhx_cal_qi_title" style="height:'+e.quick_info_title+'px"><div class="dhx_cal_qi_tcontent"></div><div class="dhx_cal_qi_tdate"></div></div><div class="dhx_cal_qi_content"></div>';s+='<div class="dhx_cal_qi_controls" style="height:'+e.quick_info_buttons+'px">';for(var r=scheduler.config.icons_select,a=0;a<r.length;a++)s+='<div class="dhx_qi_big_icon '+r[a]+'" title="'+scheduler.locale.labels[r[a]]+"\"><div class='dhx_menu_icon "+r[a]+"'></div><div>"+scheduler.locale.labels[r[a]]+"</div></div>";
+s+="</div>",t.innerHTML=s,dhtmlxEvent(t,"click",function(e){e=e||event,scheduler._qi_button_click(e.target||e.srcElement)}),scheduler.config.quick_info_detached&&(scheduler._detachDomEvent(scheduler._els.dhx_cal_data[0],"scroll",scheduler._quick_info_onscroll_handler),dhtmlxEvent(scheduler._els.dhx_cal_data[0],"scroll",scheduler._quick_info_onscroll_handler))}return this._quick_info_box},scheduler._qi_button_click=function(e){var t=scheduler._quick_info_box;if(e&&e!=t){var s=e.className;if(-1!=s.indexOf("_icon")){var r=scheduler._quick_info_box_id;
+scheduler._click.buttons[s.split(" ")[1].replace("icon_","")](r)}else scheduler._qi_button_click(e.parentNode)}},scheduler._get_event_counter_part=function(e){for(var t=scheduler.getRenderedEvent(e),s=0,r=0,a=t;a&&a!=scheduler._obj;)s+=a.offsetLeft,r+=a.offsetTop-a.scrollTop,a=a.offsetParent;if(a){var i=s+t.offsetWidth/2>scheduler._x/2?1:0,n=r+t.offsetHeight/2>scheduler._y/2?1:0;return{left:s,top:r,dx:i,dy:n,width:t.offsetWidth,height:t.offsetHeight}}return 0},scheduler._fill_quick_data=function(e){var t=scheduler.getEvent(e),s=scheduler._quick_info_box;
+scheduler._quick_info_box_id=e;var r=s.firstChild.firstChild;r.innerHTML=scheduler.templates.quick_info_title(t.start_date,t.end_date,t);var a=r.nextSibling;a.innerHTML=scheduler.templates.quick_info_date(t.start_date,t.end_date,t);var i=s.firstChild.nextSibling;i.innerHTML=scheduler.templates.quick_info_content(t.start_date,t.end_date,t)};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_quick_info.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_readonly.js b/codebase/ext/dhtmlxscheduler_readonly.js
index 196f20f..4b23c49 100644
--- a/codebase/ext/dhtmlxscheduler_readonly.js
+++ b/codebase/ext/dhtmlxscheduler_readonly.js
@@ -1,13 +1,13 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.attachEvent("onTemplatesReady",function(){function e(e,t,s,r){for(var i=t.getElementsByTagName(e),a=s.getElementsByTagName(e),n=a.length-1;n>=0;n--){var s=a[n];if(r){var d=document.createElement("SPAN");d.className="dhx_text_disabled",d.innerHTML=r(i[n]),s.parentNode.insertBefore(d,s),s.parentNode.removeChild(s)}else s.disabled=!0,t.checked&&(s.checked=!0)}}var t=scheduler.config.lightbox.sections.slice(),s=scheduler.config.buttons_left.slice(),r=scheduler.config.buttons_right.slice();scheduler.attachEvent("onBeforeLightbox",function(e){if(this.config.readonly_form||this.getEvent(e).readonly){this.config.readonly_active=!0;
-for(var i=0;i<this.config.lightbox.sections.length;i++)this.config.lightbox.sections[i].focus=!1}else this.config.readonly_active=!1,scheduler.config.lightbox.sections=t.slice(),scheduler.config.buttons_left=s.slice(),scheduler.config.buttons_right=r.slice();var a=this.config.lightbox.sections;if(this.config.readonly_active){for(var i=0;i<a.length;i++)if("recurring"==a[i].type){this.config.readonly_active&&a.splice(i,1);break}for(var n=["dhx_delete_btn","dhx_save_btn"],d=[scheduler.config.buttons_left,scheduler.config.buttons_right],i=0;i<n.length;i++)for(var l=n[i],o=0;o<d.length;o++){for(var h=d[o],_=-1,c=0;c<h.length;c++)if(h[c]==l){_=c;
-break}-1!=_&&h.splice(_,1)}}return this.resetLightbox(),!0});var i=scheduler._fill_lightbox;scheduler._fill_lightbox=function(){var t=this.getLightbox();this.config.readonly_active&&(t.style.visibility="hidden",t.style.display="block");var s=i.apply(this,arguments);if(this.config.readonly_active&&(t.style.visibility="",t.style.display="none"),this.config.readonly_active){var r=this.getLightbox(),n=this._lightbox_r=r.cloneNode(!0);n.id=scheduler.uid(),e("textarea",r,n,function(e){return e.value}),e("input",r,n,!1),e("select",r,n,function(e){return e.options.length?e.options[Math.max(e.selectedIndex||0,0)].text:""
-}),r.parentNode.insertBefore(n,r),a.call(this,n),scheduler._lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),this._lightbox=n,scheduler.config.drag_lightbox&&(n.firstChild.onmousedown=scheduler._ready_to_dnd),this.setLightboxSize(),n.onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_cancel_btn":scheduler.callEvent("onEventCancel",[scheduler._lightbox_id]),scheduler._edit_stop_event(scheduler.getEvent(scheduler._lightbox_id),!1),scheduler.hide_lightbox()
-}}}return s};var a=scheduler.showCover;scheduler.showCover=function(){this.config.readonly_active||a.apply(this,arguments)};var n=scheduler.hide_lightbox;scheduler.hide_lightbox=function(){return this._lightbox_r&&(this._lightbox_r.parentNode.removeChild(this._lightbox_r),this._lightbox_r=this._lightbox=null),n.apply(this,arguments)}});
+scheduler.attachEvent("onTemplatesReady",function(){function e(e,t,s,r){for(var a=t.getElementsByTagName(e),i=s.getElementsByTagName(e),n=i.length-1;n>=0;n--){var s=i[n];if(r){var d=document.createElement("SPAN");d.className="dhx_text_disabled",d.innerHTML=r(a[n]),s.parentNode.insertBefore(d,s),s.parentNode.removeChild(s)}else s.disabled=!0,t.checked&&(s.checked=!0)}}var t=scheduler.config.lightbox.sections.slice(),s=scheduler.config.buttons_left.slice(),r=scheduler.config.buttons_right.slice();scheduler.attachEvent("onBeforeLightbox",function(e){if(this.config.readonly_form||this.getEvent(e).readonly){this.config.readonly_active=!0;
+for(var a=0;a<this.config.lightbox.sections.length;a++)this.config.lightbox.sections[a].focus=!1}else this.config.readonly_active=!1,scheduler.config.lightbox.sections=t.slice(),scheduler.config.buttons_left=s.slice(),scheduler.config.buttons_right=r.slice();var i=this.config.lightbox.sections;if(this.config.readonly_active){for(var a=0;a<i.length;a++)if("recurring"==i[a].type){this.config.readonly_active&&i.splice(a,1);break}for(var n=["dhx_delete_btn","dhx_save_btn"],d=[scheduler.config.buttons_left,scheduler.config.buttons_right],a=0;a<n.length;a++)for(var l=n[a],o=0;o<d.length;o++){for(var h=d[o],_=-1,c=0;c<h.length;c++)if(h[c]==l){_=c;
+break}-1!=_&&h.splice(_,1)}}return this.resetLightbox(),!0});var a=scheduler._fill_lightbox;scheduler._fill_lightbox=function(){var t=this.getLightbox();this.config.readonly_active&&(t.style.visibility="hidden",t.style.display="block");var s=a.apply(this,arguments);if(this.config.readonly_active&&(t.style.visibility="",t.style.display="none"),this.config.readonly_active){var r=this.getLightbox(),n=this._lightbox_r=r.cloneNode(!0);n.id=scheduler.uid(),e("textarea",r,n,function(e){return e.value}),e("input",r,n,!1),e("select",r,n,function(e){return e.options.length?e.options[Math.max(e.selectedIndex||0,0)].text:""
+}),r.parentNode.insertBefore(n,r),i.call(this,n),scheduler._lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),this._lightbox=n,scheduler.config.drag_lightbox&&(n.firstChild.onmousedown=scheduler._ready_to_dnd),this.setLightboxSize(),n.onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_cancel_btn":scheduler.callEvent("onEventCancel",[scheduler._lightbox_id]),scheduler._edit_stop_event(scheduler.getEvent(scheduler._lightbox_id),!1),scheduler.hide_lightbox()
+}}}return s};var i=scheduler.showCover;scheduler.showCover=function(){this.config.readonly_active||i.apply(this,arguments)};var n=scheduler.hide_lightbox;scheduler.hide_lightbox=function(){return this._lightbox_r&&(this._lightbox_r.parentNode.removeChild(this._lightbox_r),this._lightbox_r=this._lightbox=null),n.apply(this,arguments)}});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_readonly.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_recurring.js b/codebase/ext/dhtmlxscheduler_recurring.js
index 0cc3c74..5cef71d 100644
--- a/codebase/ext/dhtmlxscheduler_recurring.js
+++ b/codebase/ext/dhtmlxscheduler_recurring.js
@@ -1,36 +1,41 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.config.occurrence_timestamp_in_utc=!1,scheduler.config.recurring_workdays=[1,2,3,4,5],scheduler.form_blocks.recurring={render:function(){return scheduler.__recurring_template},_ds:{},_init_set_value:function(e,t,r){function s(e){for(var t=0;t<e.length;t++){var r=e[t];"checkbox"==r.type||"radio"==r.type?(h[r.name]||(h[r.name]=[]),h[r.name].push(r)):h[r.name]=r}}function a(e){for(var t=h[e],r=0;r<t.length;r++)if(t[r].checked)return t[r].value}function n(){v("dhx_repeat_day").style.display="none",v("dhx_repeat_week").style.display="none",v("dhx_repeat_month").style.display="none",v("dhx_repeat_year").style.display="none",v("dhx_repeat_"+this.value).style.display="block"
-}function i(e){var t=[a("repeat")];for(f[t[0]](t,e);t.length<5;)t.push("");var r="";if(h.end[0].checked)e.end=new Date(9999,1,1),r="no";else if(h.end[2].checked)e.end=o(h.date_of_end.value);else{scheduler.transpose_type(t.join("_")),r=Math.max(1,h.occurences_count.value);var s="week"==t[0]&&t[4]&&-1==t[4].toString().indexOf(scheduler.config.start_on_monday?1:0)?1:0;e.end=scheduler.date.add(new Date(e.start),r+s,t.join("_"))}return t.join("_")+"#"+r}function d(e,t){var r=e.split("#");e=r[0].split("_"),g[e[0]](e,t);
-var s=h.repeat[{day:0,week:1,month:2,year:3}[e[0]]];switch(r[1]){case"no":h.end[0].checked=!0;break;case"":h.end[2].checked=!0;var a=t.end;scheduler.config.include_end_by&&(a=scheduler.date.add(a,-1,"day")),h.date_of_end.value=_(a);break;default:h.end[1].checked=!0,h.occurences_count.value=r[1]}s.checked=!0,s.onclick()}scheduler.form_blocks.recurring._ds={start:r.start_date,end:r._end_date};var l=scheduler.date.str_to_date(scheduler.config.repeat_date),o=function(e){var t=l(e);return scheduler.config.include_end_by&&(t=scheduler.date.add(t,1,"day")),t
-},_=scheduler.date.date_to_str(scheduler.config.repeat_date),c=e.getElementsByTagName("FORM")[0],h=[];if(s(c.getElementsByTagName("INPUT")),s(c.getElementsByTagName("SELECT")),!scheduler.config.repeat_date_of_end){var u=scheduler.date.date_to_str(scheduler.config.repeat_date);scheduler.config.repeat_date_of_end=u(scheduler.date.add(scheduler._currentDate(),30,"day"))}h.date_of_end.value=scheduler.config.repeat_date_of_end;var v=function(e){return document.getElementById(e)};scheduler.form_blocks.recurring._get_repeat_code=i;
-var f={month:function(e,t){"d"==a("month_type")?(e.push(Math.max(1,h.month_count.value)),t.start.setDate(h.month_day.value)):(e.push(Math.max(1,h.month_count2.value)),e.push(h.month_day2.value),e.push(Math.max(1,h.month_week2.value)),scheduler.config.repeat_precise||t.start.setDate(1)),t._start=!0},week:function(e,t){e.push(Math.max(1,h.week_count.value)),e.push(""),e.push("");for(var r=[],s=h.week_day,a=t.start.getDay(),n=!1,i=0;i<s.length;i++)s[i].checked&&(r.push(s[i].value),n=n||s[i].value==a);
-r.length||(r.push(a),n=!0),r.sort(),scheduler.config.repeat_precise?n||(scheduler.transpose_day_week(t.start,r,1,7),t._start=!0):(t.start=scheduler.date.week_start(t.start),t._start=!0),e.push(r.join(","))},day:function(e){"d"==a("day_type")?e.push(Math.max(1,h.day_count.value)):(e.push("week"),e.push(1),e.push(""),e.push(""),e.push(scheduler.config.recurring_workdays.join(",")),e.splice(0,1))},year:function(e,t){"d"==a("year_type")?(e.push("1"),t.start.setMonth(0),t.start.setDate(h.year_day.value),t.start.setMonth(h.year_month.value)):(e.push("1"),e.push(h.year_day2.value),e.push(h.year_week2.value),t.start.setDate(1),t.start.setMonth(h.year_month2.value)),t._start=!0
-}},g={week:function(e){h.week_count.value=e[1];for(var t=h.week_day,r=e[4].split(","),s={},a=0;a<r.length;a++)s[r[a]]=!0;for(var a=0;a<t.length;a++)t[a].checked=!!s[t[a].value]},month:function(e,t){""===e[2]?(h.month_type[0].checked=!0,h.month_count.value=e[1],h.month_day.value=t.start.getDate()):(h.month_type[1].checked=!0,h.month_count2.value=e[1],h.month_week2.value=e[3],h.month_day2.value=e[2])},day:function(e){h.day_type[0].checked=!0,h.day_count.value=e[1]},year:function(e,t){""===e[2]?(h.year_type[0].checked=!0,h.year_day.value=t.start.getDate(),h.year_month.value=t.start.getMonth()):(h.year_type[1].checked=!0,h.year_week2.value=e[3],h.year_day2.value=e[2],h.year_month2.value=t.start.getMonth())
-}};scheduler.form_blocks.recurring._set_repeat_code=d;for(var p=0;p<c.elements.length;p++){var m=c.elements[p];switch(m.name){case"repeat":m.onclick=n}}scheduler._lightbox._rec_init_done=!0},set_value:function(e,t,r){var s=scheduler.form_blocks.recurring;scheduler._lightbox._rec_init_done||s._init_set_value(e,t,r),e.open=!r.rec_type,e.blocked=this._is_modified_occurence(r)?!0:!1;var a=s._ds;a.start=r.start_date,a.end=r._end_date,s.button_click(0,e.previousSibling.firstChild.firstChild,e,e),t&&s._set_repeat_code(t,a)
-},get_value:function(e,t){if(e.open){var r=scheduler.form_blocks.recurring._ds,s={};this.formSection("time").getValue(s),r.start=s.start_date,t.rec_type=scheduler.form_blocks.recurring._get_repeat_code(r),r._start?(t.start_date=new Date(r.start),t._start_date=new Date(r.start),r._start=!1):t._start_date=null,t._end_date=r.end,t.rec_pattern=t.rec_type.split("#")[0]}else t.rec_type=t.rec_pattern="",t._end_date=t.end_date;return t.rec_type},focus:function(){},button_click:function(e,t,r,s){s.open||s.blocked?(s.style.height="0px",t.style.backgroundPosition="-5px 20px",t.nextSibling.innerHTML=scheduler.locale.labels.button_recurring):(s.style.height="115px",t.style.backgroundPosition="-5px 0px",t.nextSibling.innerHTML=scheduler.locale.labels.button_recurring_open),s.open=!s.open,scheduler.setLightboxSize()
-}},scheduler._rec_markers={},scheduler._rec_markers_pull={},scheduler._add_rec_marker=function(e,t){e._pid_time=t,this._rec_markers[e.id]=e,this._rec_markers_pull[e.event_pid]||(this._rec_markers_pull[e.event_pid]={}),this._rec_markers_pull[e.event_pid][t]=e},scheduler._get_rec_marker=function(e,t){var r=this._rec_markers_pull[t];return r?r[e]:null},scheduler._get_rec_markers=function(e){return this._rec_markers_pull[e]||[]},scheduler._rec_temp=[],function(){var e=scheduler.addEvent;scheduler.addEvent=function(){var t=e.apply(this,arguments);
-if(t){var r=scheduler.getEvent(t);this._is_modified_occurence(r)&&scheduler._add_rec_marker(r,1e3*r.event_length),r.rec_type&&(r.rec_pattern=r.rec_type.split("#")[0])}return t}}(),scheduler.attachEvent("onEventIdChange",function(e,t){if(!this._ignore_call){this._ignore_call=!0,scheduler._rec_markers[e]&&(scheduler._rec_markers[t]=scheduler._rec_markers[e],delete scheduler._rec_markers[e]);for(var r=0;r<this._rec_temp.length;r++){var s=this._rec_temp[r];s.event_pid==e&&(s.event_pid=t,this.changeEventId(s.id,t+"#"+s.id.split("#")[1]))
-}delete this._ignore_call}}),scheduler.attachEvent("onConfirmedBeforeEventDelete",function(e){var t=this.getEvent(e);if(this._is_virtual_event(e)||this._is_modified_occurence(t)&&t.rec_type&&"none"!=t.rec_type){e=e.split("#");var r=this.uid(),s=e[1]?e[1]:t._pid_time/1e3,a=this._copy_event(t);a.id=r,a.event_pid=t.event_pid||e[0];var n=s;a.event_length=n,a.rec_type=a.rec_pattern="none",this.addEvent(a),this._add_rec_marker(a,1e3*n)}else{t.rec_type&&this._lightbox_id&&this._roll_back_dates(t);var i=this._get_rec_markers(e);
-for(var d in i)i.hasOwnProperty(d)&&(e=i[d].id,this.getEvent(e)&&this.deleteEvent(e,!0))}return!0}),scheduler.attachEvent("onEventDeleted",function(e,t){!this._is_virtual_event(e)&&this._is_modified_occurence(t)&&(scheduler._events[e]||(t.rec_type=t.rec_pattern="none",this.setEvent(e,t)))}),scheduler.attachEvent("onEventChanged",function(e){if(this._loading)return!0;var t=this.getEvent(e);if(this._is_virtual_event(e)){var e=e.split("#"),r=this.uid();this._not_render=!0;var s=this._copy_event(t);s.id=r,s.event_pid=e[0];
-var a=e[1];s.event_length=a,s.rec_type=s.rec_pattern="",this._add_rec_marker(s,1e3*a),this.addEvent(s),this._not_render=!1}else{t.rec_type&&this._lightbox_id&&this._roll_back_dates(t);var n=this._get_rec_markers(e);for(var i in n)n.hasOwnProperty(i)&&(delete this._rec_markers[n[i].id],this.deleteEvent(n[i].id,!0));delete this._rec_markers_pull[e];for(var d=!1,l=0;l<this._rendered.length;l++)this._rendered[l].getAttribute("event_id")==e&&(d=!0);d||(this._select_id=null)}return!0}),scheduler.attachEvent("onEventAdded",function(e){if(!this._loading){var t=this.getEvent(e);
-t.rec_type&&!t.event_length&&this._roll_back_dates(t)}return!0}),scheduler.attachEvent("onEventSave",function(e,t){var r=this.getEvent(e);return r.rec_type||!t.rec_type||this._is_virtual_event(e)||(this._select_id=null),!0}),scheduler.attachEvent("onEventCreated",function(e){var t=this.getEvent(e);return t.rec_type||(t.rec_type=t.rec_pattern=t.event_length=t.event_pid=""),!0}),scheduler.attachEvent("onEventCancel",function(e){var t=this.getEvent(e);t.rec_type&&(this._roll_back_dates(t),this.render_view_data())
-}),scheduler._roll_back_dates=function(e){e.event_length=(e.end_date.valueOf()-e.start_date.valueOf())/1e3,e.end_date=e._end_date,e._start_date&&(e.start_date.setMonth(0),e.start_date.setDate(e._start_date.getDate()),e.start_date.setMonth(e._start_date.getMonth()),e.start_date.setFullYear(e._start_date.getFullYear()))},scheduler._is_virtual_event=function(e){return-1!=e.toString().indexOf("#")},scheduler._is_modified_occurence=function(e){return e.event_pid&&"0"!=e.event_pid},scheduler._validId=function(e){return!this._is_virtual_event(e)
-},scheduler.showLightbox_rec=scheduler.showLightbox,scheduler.showLightbox=function(e){var t=this.locale,r=scheduler.config.lightbox_recurring,s=this.getEvent(e),a=s.event_pid,n=this._is_virtual_event(e);n&&(a=e.split("#")[0]);var i=function(e){var t=scheduler.getEvent(e);return t._end_date=t.end_date,t.end_date=new Date(t.start_date.valueOf()+1e3*t.event_length),scheduler.showLightbox_rec(e)};if((a||1*a===0)&&s.rec_type)return i(e);if(!a||"0"===a||!t.labels.confirm_recurring||"instance"==r||"series"==r&&!n)return this.showLightbox_rec(e);
-if("ask"==r){var d=this;dhtmlx.modalbox({text:t.labels.confirm_recurring,title:t.labels.title_confirm_recurring,width:"500px",position:"middle",buttons:[t.labels.button_edit_series,t.labels.button_edit_occurrence,t.labels.icon_cancel],callback:function(t){switch(+t){case 0:return i(a);case 1:return d.showLightbox_rec(e);case 2:return}}})}else i(a)},scheduler.get_visible_events_rec=scheduler.get_visible_events,scheduler.get_visible_events=function(e){for(var t=0;t<this._rec_temp.length;t++)delete this._events[this._rec_temp[t].id];
-this._rec_temp=[];for(var r=this.get_visible_events_rec(e),s=[],t=0;t<r.length;t++)r[t].rec_type?"none"!=r[t].rec_pattern&&this.repeat_date(r[t],s):s.push(r[t]);return s},function(){var e=scheduler.isOneDayEvent;scheduler.isOneDayEvent=function(t){return t.rec_type?!0:e.call(this,t)};var t=scheduler.updateEvent;scheduler.updateEvent=function(e){var r=scheduler.getEvent(e);r&&r.rec_type&&(r.rec_pattern=(r.rec_type||"").split("#")[0]),r&&r.rec_type&&!this._is_virtual_event(e)?scheduler.update_view():t.call(this,e)
-}}(),scheduler.transponse_size={day:1,week:7,month:1,year:12},scheduler.date.day_week=function(e,t,r){e.setDate(1),r=7*(r-1);var s=e.getDay(),a=1*t+r-s+1;e.setDate(r>=a?a+7:a)},scheduler.transpose_day_week=function(e,t,r,s,a){for(var n=(e.getDay()||(scheduler.config.start_on_monday?7:0))-r,i=0;i<t.length;i++)if(t[i]>n)return e.setDate(e.getDate()+1*t[i]-n-(s?r:a));this.transpose_day_week(e,t,r+s,null,r)},scheduler.transpose_type=function(e){var t="transpose_"+e;if(!this.date[t]){var r=e.split("_"),s=864e5,a="add_"+e,n=this.transponse_size[r[0]]*r[1];
-if("day"==r[0]||"week"==r[0]){var i=null;if(r[4]&&(i=r[4].split(","),scheduler.config.start_on_monday)){for(var d=0;d<i.length;d++)i[d]=1*i[d]||7;i.sort()}this.date[t]=function(e,t){var r=Math.floor((t.valueOf()-e.valueOf())/(s*n));r>0&&e.setDate(e.getDate()+r*n),i&&scheduler.transpose_day_week(e,i,1,n)},this.date[a]=function(e,t){var r=new Date(e.valueOf());if(i)for(var s=0;t>s;s++)scheduler.transpose_day_week(r,i,0,n);else r.setDate(r.getDate()+t*n);return r}}else("month"==r[0]||"year"==r[0])&&(this.date[t]=function(e,t){var s=Math.ceil((12*t.getFullYear()+1*t.getMonth()-(12*e.getFullYear()+1*e.getMonth()))/n);
-s>=0&&e.setMonth(e.getMonth()+s*n),r[3]&&scheduler.date.day_week(e,r[2],r[3])},this.date[a]=function(e,t){var s=new Date(e.valueOf());return s.setMonth(s.getMonth()+t*n),r[3]&&scheduler.date.day_week(s,r[2],r[3]),s})}},scheduler.repeat_date=function(e,t,r,s,a){s=s||this._min_date,a=a||this._max_date;var n=new Date(e.start_date.valueOf());for(!e.rec_pattern&&e.rec_type&&(e.rec_pattern=e.rec_type.split("#")[0]),this.transpose_type(e.rec_pattern),scheduler.date["transpose_"+e.rec_pattern](n,s);n<e.start_date||scheduler._fix_daylight_saving_date(n,s,e,n,new Date(n.valueOf()+1e3*e.event_length)).valueOf()<=s.valueOf()||n.valueOf()+1e3*e.event_length<=s.valueOf();)n=this.date.add(n,1,e.rec_pattern);
-for(;a>n&&n<e.end_date;){var i=scheduler.config.occurrence_timestamp_in_utc?Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds()):n.valueOf(),d=this._get_rec_marker(i,e.id);if(d)r&&t.push(d);else{var l=new Date(n.valueOf()+1e3*e.event_length),o=this._copy_event(e);if(o.text=e.text,o.start_date=n,o.event_pid=e.id,o.id=e.id+"#"+Math.ceil(i/1e3),o.end_date=l,o.end_date=scheduler._fix_daylight_saving_date(o.start_date,o.end_date,e,n,o.end_date),o._timed=this.isOneDayEvent(o),!o._timed&&!this._table_view&&!this.config.multi_day)return;
-t.push(o),r||(this._events[o.id]=o,this._rec_temp.push(o))}n=this.date.add(n,1,e.rec_pattern)}},scheduler._fix_daylight_saving_date=function(e,t,r,s,a){var n=e.getTimezoneOffset()-t.getTimezoneOffset();return new Date(n?n>0?s.valueOf()+1e3*r.event_length-60*n*1e3:t.valueOf()-60*n*1e3:a.valueOf())},scheduler.getRecDates=function(e,t){var r="object"==typeof e?e:scheduler.getEvent(e),s=0,a=[];t=t||100;var n=new Date(r.start_date.valueOf()),i=new Date(n.valueOf());if(!r.rec_type)return[{start_date:r.start_date,end_date:r.end_date}];
-if("none"==r.rec_type)return[];for(this.transpose_type(r.rec_pattern),scheduler.date["transpose_"+r.rec_pattern](n,i);n<r.start_date||n.valueOf()+1e3*r.event_length<=i.valueOf();)n=this.date.add(n,1,r.rec_pattern);for(;n<r.end_date;){var d=this._get_rec_marker(n.valueOf(),r.id),l=!0;if(d)"none"==d.rec_type?l=!1:a.push({start_date:d.start_date,end_date:d.end_date});else{var o=new Date(n),_=new Date(n.valueOf()+1e3*r.event_length);_=scheduler._fix_daylight_saving_date(o,_,r,n,_),a.push({start_date:o,end_date:_})
-}if(n=this.date.add(n,1,r.rec_pattern),l&&(s++,s==t))break}return a},scheduler.getEvents=function(e,t){var r=[];for(var s in this._events){var a=this._events[s];if(a&&a.start_date<t&&a.end_date>e)if(a.rec_pattern){if("none"==a.rec_pattern)continue;var n=[];this.repeat_date(a,n,!0,e,t);for(var i=0;i<n.length;i++)!n[i].rec_pattern&&n[i].start_date<t&&n[i].end_date>e&&!this._rec_markers[n[i].id]&&r.push(n[i])}else this._is_virtual_event(a.id)||r.push(a)}return r},scheduler.config.repeat_date="%m.%d.%Y",scheduler.config.lightbox.sections=[{name:"description",height:130,map_to:"text",type:"textarea",focus:!0},{name:"recurring",type:"recurring",map_to:"rec_type",button:"recurring"},{name:"time",height:72,type:"time",map_to:"auto"}],scheduler._copy_dummy=function(){var e=new Date(this.start_date),t=new Date(this.end_date);
+scheduler.config.occurrence_timestamp_in_utc=!1,scheduler.config.recurring_workdays=[1,2,3,4,5],scheduler.form_blocks.recurring={_get_node:function(e){return"string"==typeof e&&(e=document.getElementById(e)),"none"==e.style.display&&(e.style.display=""),e},_outer_html:function(e){function t(e){var t,r=document.createElement("div");return r.appendChild(e.cloneNode(!0)),t=r.innerHTML,r=null,t}return e.outerHTML||t(e)},render:function(e){if(e.form){var t=scheduler.form_blocks.recurring,r=t._get_node(e.form);
+return t._outer_html(r)}return scheduler.__recurring_template},_ds:{},_get_form_node:function(e,t,r){var a=e[t];if(!a)return null;if(a.nodeName)return a;if(a.length)for(var s=0;s<a.length;s++)if(a[s].value==r)return a[s]},_get_node_value:function(e,t,r){var a=e[t];if(!a)return"";if(a.length){if(r){for(var s=[],n=0;n<a.length;n++)a[n].checked&&s.push(a[n].value);return s}for(var n=0;n<a.length;n++)if(a[n].checked)return a[n].value}return a.value?r?[a.value]:a.value:void 0},_set_node_value:function(e,t,r){var a=e[t];
+if(a)if(a.name==t)a.value=r;else if(a.length)for(var s="object"==typeof r,n=0;n<a.length;n++)(s||a[n].value==r)&&(a[n].checked=s?!!r[a[n].value]:!!r)},_init_set_value:function(e,t,r){function a(e){for(var t=0;t<e.length;t++){var r=e[t];if(r.name)if(g[r.name])if(g[r.name].nodeType){var a=g[r.name];g[r.name]=[a,r]}else g[r.name].push(r);else g[r.name]=r}}function s(){m("dhx_repeat_day").style.display="none",m("dhx_repeat_week").style.display="none",m("dhx_repeat_month").style.display="none",m("dhx_repeat_year").style.display="none",m("dhx_repeat_"+this.value).style.display="block",scheduler.setLightboxSize()
+}function n(e){var t=[_(g,"repeat")];for(y[t[0]](t,e);t.length<5;)t.push("");var r="",a=i(g);if("no"==a)e.end=new Date(9999,1,1),r="no";else if("date_of_end"==a)e.end=u(_(g,"date_of_end"));else{scheduler.transpose_type(t.join("_")),r=Math.max(1,_(g,"occurences_count"));var s=0;e.end=scheduler.date.add(new Date(e.start),r+s,t.join("_"))}return t.join("_")+"#"+r}function i(e){var t=e.end;if(t.length){for(var r=0;r<t.length;r++)if(t[r].checked)return t[r].value&&"on"!=t[r].value?t[r].value:r?2==r?"date_of_end":"occurences_count":"no"
+}else if(t.value)return t.value;return"no"}function d(e,t){var r=e.end;if(r.length){var a=!!r[0].value;if(a)for(var s=0;s<r.length;s++)r[s].value==t&&(r[s].checked=!0);else{var n=0;switch(t){case"no":n=0;break;case"date_of_end":n=2;break;default:n=1}r[n].checked=!0}}else r.value=t}function l(e,t){var r=scheduler.form_blocks.recurring._set_node_value,a=e.split("#");switch(e=a[0].split("_"),x[e[0]](e,t),a[1]){case"no":d(g,"no");break;case"":d(g,"date_of_end");var s=t.end;scheduler.config.include_end_by&&(s=scheduler.date.add(s,-1,"day")),r(g,"date_of_end",f(s));
+break;default:d(g,"occurences_count"),r(g,"occurences_count",a[1])}r(g,"repeat",e[0]);var n=scheduler.form_blocks.recurring._get_form_node(g,"repeat",e[0]);"SELECT"==n.nodeName&&n.onchange?n.onchange():n.onclick&&n.onclick()}var o=scheduler.form_blocks.recurring,_=o._get_node_value,c=o._set_node_value;scheduler.form_blocks.recurring._ds={start:r.start_date,end:r._end_date};var h=scheduler.date.str_to_date(scheduler.config.repeat_date),u=function(e){var t=h(e);return scheduler.config.include_end_by&&(t=scheduler.date.add(t,1,"day")),t
+},f=scheduler.date.date_to_str(scheduler.config.repeat_date),v=e.getElementsByTagName("FORM")[0],g={};if(a(v.getElementsByTagName("INPUT")),a(v.getElementsByTagName("SELECT")),!scheduler.config.repeat_date_of_end){var p=scheduler.date.date_to_str(scheduler.config.repeat_date);scheduler.config.repeat_date_of_end=p(scheduler.date.add(scheduler._currentDate(),30,"day"))}c(g,"date_of_end",scheduler.config.repeat_date_of_end);var m=function(e){return document.getElementById(e)||{style:{}}};scheduler.form_blocks.recurring._get_repeat_code=n;
+var y={month:function(e,t){var r=scheduler.form_blocks.recurring._get_node_value;"d"==r(g,"month_type")?(e.push(Math.max(1,r(g,"month_count"))),t.start.setDate(r(g,"month_day"))):(e.push(Math.max(1,r(g,"month_count2"))),e.push(r(g,"month_day2")),e.push(Math.max(1,r(g,"month_week2"))),scheduler.config.repeat_precise||t.start.setDate(1)),t._start=!0},week:function(e,t){var r=scheduler.form_blocks.recurring._get_node_value;e.push(Math.max(1,r(g,"week_count"))),e.push(""),e.push("");for(var a=[],s=r(g,"week_day",!0),n=t.start.getDay(),i=!1,d=0;d<s.length;d++)a.push(s[d]),i=i||s[d]==n;
+a.length||(a.push(n),i=!0),a.sort(),scheduler.config.repeat_precise?i||(scheduler.transpose_day_week(t.start,a,1,7),t._start=!0):(t.start=scheduler.date.week_start(t.start),t._start=!0),e.push(a.join(","))},day:function(e){var t=scheduler.form_blocks.recurring._get_node_value;"d"==t(g,"day_type")?e.push(Math.max(1,t(g,"day_count"))):(e.push("week"),e.push(1),e.push(""),e.push(""),e.push(scheduler.config.recurring_workdays.join(",")),e.splice(0,1))},year:function(e,t){var r=scheduler.form_blocks.recurring._get_node_value;
+"d"==r(g,"year_type")?(e.push("1"),t.start.setMonth(0),t.start.setDate(r(g,"year_day")),t.start.setMonth(r(g,"year_month"))):(e.push("1"),e.push(r(g,"year_day2")),e.push(r(g,"year_week2")),t.start.setDate(1),t.start.setMonth(r(g,"year_month2"))),t._start=!0}},x={week:function(e){var t=scheduler.form_blocks.recurring._set_node_value;t(g,"week_count",e[1]);for(var r=e[4].split(","),a={},s=0;s<r.length;s++)a[r[s]]=!0;t(g,"week_day",a)},month:function(e,t){var r=scheduler.form_blocks.recurring._set_node_value;
+""===e[2]?(r(g,"month_type","d"),r(g,"month_count",e[1]),r(g,"month_day",t.start.getDate())):(r(g,"month_type","w"),r(g,"month_count2",e[1]),r(g,"month_week2",e[3]),r(g,"month_day2",e[2]))},day:function(e){var t=scheduler.form_blocks.recurring._set_node_value;t(g,"day_type","d"),t(g,"day_count",e[1])},year:function(e,t){var r=scheduler.form_blocks.recurring._set_node_value;""===e[2]?(r(g,"year_type","d"),r(g,"year_day",t.start.getDate()),r(g,"year_month",t.start.getMonth())):(r(g,"year_type","w"),r(g,"year_week2",e[3]),r(g,"year_day2",e[2]),r(g,"year_month2",t.start.getMonth()))
+}};scheduler.form_blocks.recurring._set_repeat_code=l;for(var b=0;b<v.elements.length;b++){var w=v.elements[b];switch(w.name){case"repeat":"SELECT"==w.nodeName?w.onchange=s:w.onclick=s}}scheduler._lightbox._rec_init_done=!0},set_value:function(e,t,r){var a=scheduler.form_blocks.recurring;scheduler._lightbox._rec_init_done||a._init_set_value(e,t,r),e.open=!r.rec_type,e.blocked=this._is_modified_occurence(r)?!0:!1;var s=a._ds;s.start=r.start_date,s.end=r._end_date,a.button_click(0,e.previousSibling.firstChild.firstChild,e,e),t&&a._set_repeat_code(t,s)
+},get_value:function(e,t){if(e.open){var r=scheduler.form_blocks.recurring._ds,a={};this.formSection("time").getValue(a),r.start=a.start_date,t.rec_type=scheduler.form_blocks.recurring._get_repeat_code(r),r._start?(t.start_date=new Date(r.start),t._start_date=new Date(r.start),r._start=!1):t._start_date=null,t._end_date=r.end,t.rec_pattern=t.rec_type.split("#")[0]}else t.rec_type=t.rec_pattern="",t._end_date=t.end_date;return t.rec_type},_get_button:function(){var e=scheduler.formSection("recurring").header;
+return e.firstChild.firstChild},_get_form:function(){return scheduler.formSection("recurring").node},open:function(){var e=scheduler.form_blocks.recurring,t=e._get_form();t.open||e._toggle_block()},close:function(){var e=scheduler.form_blocks.recurring,t=e._get_form();t.open&&e._toggle_block()},_toggle_block:function(){var e=scheduler.form_blocks.recurring,t=e._get_form(),r=e._get_button();t.open||t.blocked?(t.style.height="0px",r&&(r.style.backgroundPosition="-5px 20px",r.nextSibling.innerHTML=scheduler.locale.labels.button_recurring)):(t.style.height="auto",r&&(r.style.backgroundPosition="-5px 0px",r.nextSibling.innerHTML=scheduler.locale.labels.button_recurring_open)),t.open=!t.open,scheduler.setLightboxSize()
+},focus:function(){},button_click:function(){scheduler.form_blocks.recurring._toggle_block()}},scheduler._rec_markers={},scheduler._rec_markers_pull={},scheduler._add_rec_marker=function(e,t){e._pid_time=t,this._rec_markers[e.id]=e,this._rec_markers_pull[e.event_pid]||(this._rec_markers_pull[e.event_pid]={}),this._rec_markers_pull[e.event_pid][t]=e},scheduler._get_rec_marker=function(e,t){var r=this._rec_markers_pull[t];return r?r[e]:null},scheduler._get_rec_markers=function(e){return this._rec_markers_pull[e]||[]
+},scheduler._rec_temp=[],function(){var e=scheduler.addEvent;scheduler.addEvent=function(){var t=e.apply(this,arguments);if(t){var r=scheduler.getEvent(t);this._is_modified_occurence(r)&&scheduler._add_rec_marker(r,1e3*r.event_length),r.rec_type&&(r.rec_pattern=r.rec_type.split("#")[0])}return t}}(),scheduler.attachEvent("onEventIdChange",function(e,t){if(!this._ignore_call){this._ignore_call=!0,scheduler._rec_markers[e]&&(scheduler._rec_markers[t]=scheduler._rec_markers[e],delete scheduler._rec_markers[e]);
+for(var r=0;r<this._rec_temp.length;r++){var a=this._rec_temp[r];a.event_pid==e&&(a.event_pid=t,this.changeEventId(a.id,t+"#"+a.id.split("#")[1]))}delete this._ignore_call}}),scheduler.attachEvent("onConfirmedBeforeEventDelete",function(e){var t=this.getEvent(e);if(this._is_virtual_event(e)||this._is_modified_occurence(t)&&t.rec_type&&"none"!=t.rec_type){e=e.split("#");var r=this.uid(),a=e[1]?e[1]:t._pid_time/1e3,s=this._copy_event(t);s.id=r,s.event_pid=t.event_pid||e[0];var n=a;s.event_length=n,s.rec_type=s.rec_pattern="none",this.addEvent(s),this._add_rec_marker(s,1e3*n)
+}else{t.rec_type&&this._lightbox_id&&this._roll_back_dates(t);var i=this._get_rec_markers(e);for(var d in i)i.hasOwnProperty(d)&&(e=i[d].id,this.getEvent(e)&&this.deleteEvent(e,!0))}return!0}),scheduler.attachEvent("onEventDeleted",function(e,t){!this._is_virtual_event(e)&&this._is_modified_occurence(t)&&(scheduler._events[e]||(t.rec_type=t.rec_pattern="none",this.setEvent(e,t)))}),scheduler.attachEvent("onEventChanged",function(e){if(this._loading)return!0;var t=this.getEvent(e);if(this._is_virtual_event(e)){var e=e.split("#"),r=this.uid();
+this._not_render=!0;var a=this._copy_event(t);a.id=r,a.event_pid=e[0];var s=e[1];a.event_length=s,a.rec_type=a.rec_pattern="",this._add_rec_marker(a,1e3*s),this.addEvent(a),this._not_render=!1}else{t.rec_type&&this._lightbox_id&&this._roll_back_dates(t);var n=this._get_rec_markers(e);for(var i in n)n.hasOwnProperty(i)&&(delete this._rec_markers[n[i].id],this.deleteEvent(n[i].id,!0));delete this._rec_markers_pull[e];for(var d=!1,l=0;l<this._rendered.length;l++)this._rendered[l].getAttribute("event_id")==e&&(d=!0);
+d||(this._select_id=null)}return!0}),scheduler.attachEvent("onEventAdded",function(e){if(!this._loading){var t=this.getEvent(e);t.rec_type&&!t.event_length&&this._roll_back_dates(t)}return!0}),scheduler.attachEvent("onEventSave",function(e,t){var r=this.getEvent(e);return r.rec_type||!t.rec_type||this._is_virtual_event(e)||(this._select_id=null),!0}),scheduler.attachEvent("onEventCreated",function(e){var t=this.getEvent(e);return t.rec_type||(t.rec_type=t.rec_pattern=t.event_length=t.event_pid=""),!0
+}),scheduler.attachEvent("onEventCancel",function(e){var t=this.getEvent(e);t.rec_type&&(this._roll_back_dates(t),this.render_view_data())}),scheduler._roll_back_dates=function(e){e.event_length=(e.end_date.valueOf()-e.start_date.valueOf())/1e3,e.end_date=e._end_date,e._start_date&&(e.start_date.setMonth(0),e.start_date.setDate(e._start_date.getDate()),e.start_date.setMonth(e._start_date.getMonth()),e.start_date.setFullYear(e._start_date.getFullYear()))},scheduler._is_virtual_event=function(e){return-1!=e.toString().indexOf("#")
+},scheduler._is_modified_occurence=function(e){return e.event_pid&&"0"!=e.event_pid},scheduler._validId=function(e){return!this._is_virtual_event(e)},scheduler.showLightbox_rec=scheduler.showLightbox,scheduler.showLightbox=function(e){var t=this.locale,r=scheduler.config.lightbox_recurring,a=this.getEvent(e),s=a.event_pid,n=this._is_virtual_event(e);n&&(s=e.split("#")[0]);var i=function(e){var t=scheduler.getEvent(e);return t._end_date=t.end_date,t.end_date=new Date(t.start_date.valueOf()+1e3*t.event_length),scheduler.showLightbox_rec(e)
+};if((s||1*s===0)&&a.rec_type)return i(e);if(!s||"0"===s||!t.labels.confirm_recurring||"instance"==r||"series"==r&&!n)return this.showLightbox_rec(e);if("ask"==r){var d=this;dhtmlx.modalbox({text:t.labels.confirm_recurring,title:t.labels.title_confirm_recurring,width:"500px",position:"middle",buttons:[t.labels.button_edit_series,t.labels.button_edit_occurrence,t.labels.icon_cancel],callback:function(t){switch(+t){case 0:return i(s);case 1:return d.showLightbox_rec(e);case 2:return}}})}else i(s)},scheduler.get_visible_events_rec=scheduler.get_visible_events,scheduler.get_visible_events=function(e){for(var t=0;t<this._rec_temp.length;t++)delete this._events[this._rec_temp[t].id];
+this._rec_temp=[];for(var r=this.get_visible_events_rec(e),a=[],t=0;t<r.length;t++)r[t].rec_type?"none"!=r[t].rec_pattern&&this.repeat_date(r[t],a):a.push(r[t]);return a},function(){var e=scheduler.isOneDayEvent;scheduler.isOneDayEvent=function(t){return t.rec_type?!0:e.call(this,t)};var t=scheduler.updateEvent;scheduler.updateEvent=function(e){var r=scheduler.getEvent(e);r&&r.rec_type&&(r.rec_pattern=(r.rec_type||"").split("#")[0]),r&&r.rec_type&&!this._is_virtual_event(e)?scheduler.update_view():t.call(this,e)
+}}(),scheduler.transponse_size={day:1,week:7,month:1,year:12},scheduler.date.day_week=function(e,t,r){e.setDate(1),r=7*(r-1);var a=e.getDay(),s=1*t+r-a+1;e.setDate(r>=s?s+7:s)},scheduler.transpose_day_week=function(e,t,r,a,s){for(var n=(e.getDay()||(scheduler.config.start_on_monday?7:0))-r,i=0;i<t.length;i++)if(t[i]>n)return e.setDate(e.getDate()+1*t[i]-n-(a?r:s));this.transpose_day_week(e,t,r+a,null,r)},scheduler.transpose_type=function(e){var t="transpose_"+e;if(!this.date[t]){var r=e.split("_"),a=864e5,s="add_"+e,n=this.transponse_size[r[0]]*r[1];
+if("day"==r[0]||"week"==r[0]){var i=null;if(r[4]&&(i=r[4].split(","),scheduler.config.start_on_monday)){for(var d=0;d<i.length;d++)i[d]=1*i[d]||7;i.sort()}this.date[t]=function(e,t){var r=Math.floor((t.valueOf()-e.valueOf())/(a*n));r>0&&e.setDate(e.getDate()+r*n),i&&scheduler.transpose_day_week(e,i,1,n)},this.date[s]=function(e,t){var r=new Date(e.valueOf());if(i)for(var a=0;t>a;a++)scheduler.transpose_day_week(r,i,0,n);else r.setDate(r.getDate()+t*n);return r}}else("month"==r[0]||"year"==r[0])&&(this.date[t]=function(e,t){var a=Math.ceil((12*t.getFullYear()+1*t.getMonth()-(12*e.getFullYear()+1*e.getMonth()))/n);
+a>=0&&e.setMonth(e.getMonth()+a*n),r[3]&&scheduler.date.day_week(e,r[2],r[3])},this.date[s]=function(e,t){var a=new Date(e.valueOf());return a.setMonth(a.getMonth()+t*n),r[3]&&scheduler.date.day_week(a,r[2],r[3]),a})}},scheduler.repeat_date=function(e,t,r,a,s){a=a||this._min_date,s=s||this._max_date;var n=new Date(e.start_date.valueOf());for(!e.rec_pattern&&e.rec_type&&(e.rec_pattern=e.rec_type.split("#")[0]),this.transpose_type(e.rec_pattern),scheduler.date["transpose_"+e.rec_pattern](n,a);n<e.start_date||scheduler._fix_daylight_saving_date(n,a,e,n,new Date(n.valueOf()+1e3*e.event_length)).valueOf()<=a.valueOf()||n.valueOf()+1e3*e.event_length<=a.valueOf();)n=this.date.add(n,1,e.rec_pattern);
+for(;s>n&&n<e.end_date;){var i=scheduler.config.occurrence_timestamp_in_utc?Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds()):n.valueOf(),d=this._get_rec_marker(i,e.id);if(d)r&&t.push(d);else{var l=new Date(n.valueOf()+1e3*e.event_length),o=this._copy_event(e);if(o.text=e.text,o.start_date=n,o.event_pid=e.id,o.id=e.id+"#"+Math.ceil(i/1e3),o.end_date=l,o.end_date=scheduler._fix_daylight_saving_date(o.start_date,o.end_date,e,n,o.end_date),o._timed=this.isOneDayEvent(o),!o._timed&&!this._table_view&&!this.config.multi_day)return;
+t.push(o),r||(this._events[o.id]=o,this._rec_temp.push(o))}n=this.date.add(n,1,e.rec_pattern)}},scheduler._fix_daylight_saving_date=function(e,t,r,a,s){var n=e.getTimezoneOffset()-t.getTimezoneOffset();return new Date(n?n>0?a.valueOf()+1e3*r.event_length-60*n*1e3:t.valueOf()-60*n*1e3:s.valueOf())},scheduler.getRecDates=function(e,t){var r="object"==typeof e?e:scheduler.getEvent(e),a=0,s=[];t=t||100;var n=new Date(r.start_date.valueOf()),i=new Date(n.valueOf());if(!r.rec_type)return[{start_date:r.start_date,end_date:r.end_date}];
+if("none"==r.rec_type)return[];for(this.transpose_type(r.rec_pattern),scheduler.date["transpose_"+r.rec_pattern](n,i);n<r.start_date||n.valueOf()+1e3*r.event_length<=i.valueOf();)n=this.date.add(n,1,r.rec_pattern);for(;n<r.end_date;){var d=this._get_rec_marker(n.valueOf(),r.id),l=!0;if(d)"none"==d.rec_type?l=!1:s.push({start_date:d.start_date,end_date:d.end_date});else{var o=new Date(n),_=new Date(n.valueOf()+1e3*r.event_length);_=scheduler._fix_daylight_saving_date(o,_,r,n,_),s.push({start_date:o,end_date:_})
+}if(n=this.date.add(n,1,r.rec_pattern),l&&(a++,a==t))break}return s},scheduler.getEvents=function(e,t){var r=[];for(var a in this._events){var s=this._events[a];if(s&&s.start_date<t&&s.end_date>e)if(s.rec_pattern){if("none"==s.rec_pattern)continue;var n=[];this.repeat_date(s,n,!0,e,t);for(var i=0;i<n.length;i++)!n[i].rec_pattern&&n[i].start_date<t&&n[i].end_date>e&&!this._rec_markers[n[i].id]&&r.push(n[i])}else this._is_virtual_event(s.id)||r.push(s)}return r},scheduler.config.repeat_date="%m.%d.%Y",scheduler.config.lightbox.sections=[{name:"description",height:130,map_to:"text",type:"textarea",focus:!0},{name:"recurring",type:"recurring",map_to:"rec_type",button:"recurring"},{name:"time",height:72,type:"time",map_to:"auto"}],scheduler._copy_dummy=function(){var e=new Date(this.start_date),t=new Date(this.end_date);
this.start_date=e,this.end_date=t,this.event_length=this.event_pid=this.rec_pattern=this.rec_type=null},scheduler.config.include_end_by=!1,scheduler.config.lightbox_recurring="ask",scheduler.attachEvent("onClearAll",function(){scheduler._rec_markers={},scheduler._rec_markers_pull={},scheduler._rec_temp=[]}),scheduler.__recurring_template='<div class="dhx_form_repeat"> <form> <div class="dhx_repeat_left"> <label><input class="dhx_repeat_radio" type="radio" name="repeat" value="day" />Daily</label><br /> <label><input class="dhx_repeat_radio" type="radio" name="repeat" value="week"/>Weekly</label><br /> <label><input class="dhx_repeat_radio" type="radio" name="repeat" value="month" checked />Monthly</label><br /> <label><input class="dhx_repeat_radio" type="radio" name="repeat" value="year" />Yearly</label> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_center"> <div style="display:none;" id="dhx_repeat_day"> <label><input class="dhx_repeat_radio" type="radio" name="day_type" value="d"/>Every</label><input class="dhx_repeat_text" type="text" name="day_count" value="1" />day<br /> <label><input class="dhx_repeat_radio" type="radio" name="day_type" checked value="w"/>Every workday</label> </div> <div style="display:none;" id="dhx_repeat_week"> Repeat every<input class="dhx_repeat_text" type="text" name="week_count" value="1" />week next days:<br /> <table class="dhx_repeat_days"> <tr> <td> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="1" />Monday</label><br /> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="4" />Thursday</label> </td> <td> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="2" />Tuesday</label><br /> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="5" />Friday</label> </td> <td> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="3" />Wednesday</label><br /> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="6" />Saturday</label> </td> <td> <label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="0" />Sunday</label><br /><br /> </td> </tr> </table> </div> <div id="dhx_repeat_month"> <label><input class="dhx_repeat_radio" type="radio" name="month_type" value="d"/>Repeat</label><input class="dhx_repeat_text" type="text" name="month_day" value="1" />day every<input class="dhx_repeat_text" type="text" name="month_count" value="1" />month<br /> <label><input class="dhx_repeat_radio" type="radio" name="month_type" checked value="w"/>On</label><input class="dhx_repeat_text" type="text" name="month_week2" value="1" /><select name="month_day2"><option value="1" selected >Monday<option value="2">Tuesday<option value="3">Wednesday<option value="4">Thursday<option value="5">Friday<option value="6">Saturday<option value="0">Sunday</select>every<input class="dhx_repeat_text" type="text" name="month_count2" value="1" />month<br /> </div> <div style="display:none;" id="dhx_repeat_year"> <label><input class="dhx_repeat_radio" type="radio" name="year_type" value="d"/>Every</label><input class="dhx_repeat_text" type="text" name="year_day" value="1" />day<select name="year_month"><option value="0" selected >January<option value="1">February<option value="2">March<option value="3">April<option value="4">May<option value="5">June<option value="6">July<option value="7">August<option value="8">September<option value="9">October<option value="10">November<option value="11">December</select>month<br /> <label><input class="dhx_repeat_radio" type="radio" name="year_type" checked value="w"/>On</label><input class="dhx_repeat_text" type="text" name="year_week2" value="1" /><select name="year_day2"><option value="1" selected >Monday<option value="2">Tuesday<option value="3">Wednesday<option value="4">Thursday<option value="5">Friday<option value="6">Saturday<option value="7">Sunday</select>of<select name="year_month2"><option value="0" selected >January<option value="1">February<option value="2">March<option value="3">April<option value="4">May<option value="5">June<option value="6">July<option value="7">August<option value="8">September<option value="9">October<option value="10">November<option value="11">December</select><br /> </div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_right"> <label><input class="dhx_repeat_radio" type="radio" name="end" checked/>No end date</label><br /> <label><input class="dhx_repeat_radio" type="radio" name="end" />After</label><input class="dhx_repeat_text" type="text" name="occurences_count" value="1" />occurrences<br /> <label><input class="dhx_repeat_radio" type="radio" name="end" />End by</label><input class="dhx_repeat_date" type="text" name="date_of_end" value="'+scheduler.config.repeat_date_of_end+'" /><br /> </div> </form> </div> <div style="clear:both"> </div>';
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_recurring.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_serialize.js b/codebase/ext/dhtmlxscheduler_serialize.js
index 4695411..f23793c 100644
--- a/codebase/ext/dhtmlxscheduler_serialize.js
+++ b/codebase/ext/dhtmlxscheduler_serialize.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler._get_serializable_data=function(){var e={};for(var t in this._events){var r=this._events[t];-1==r.id.toString().indexOf("#")&&(e[r.id]=r)}return e},scheduler.data_attributes=function(){var e=[],t=scheduler.templates.xml_format,r=this._get_serializable_data();for(var s in r){var a=r[s];for(var n in a)"_"!=n.substr(0,1)&&e.push([n,"start_date"==n||"end_date"==n?t:null]);break}return e},scheduler.toXML=function(e){var t=[],r=this.data_attributes(),s=this._get_serializable_data();for(var a in s){var n=s[a];
-t.push("<event>");for(var i=0;i<r.length;i++)t.push("<"+r[i][0]+"><![CDATA["+(r[i][1]?r[i][1](n[r[i][0]]):n[r[i][0]])+"]]></"+r[i][0]+">");t.push("</event>")}return(e||"")+"<data>"+t.join("\n")+"</data>"},scheduler._serialize_json_value=function(e){return null===e||"boolean"==typeof e?e=""+e:(e||0===e||(e=""),e='"'+e.toString().replace(/\n/g,"").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"'),e},scheduler.toJSON=function(){var e=[],t="",r=this.data_attributes(),s=this._get_serializable_data();for(var a in s){for(var n=s[a],i=[],d=0;d<r.length;d++)t=r[d][1]?r[d][1](n[r[d][0]]):n[r[d][0]],i.push(' "'+r[d][0]+'": '+this._serialize_json_value(t));
-e.push("{"+i.join(",")+"}")}return"["+e.join(",\n")+"]"},scheduler.toICal=function(e){var t="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//dhtmlXScheduler//NONSGML v2.2//EN\nDESCRIPTION:",r="END:VCALENDAR",s=scheduler.date.date_to_str("%Y%m%dT%H%i%s"),a=scheduler.date.date_to_str("%Y%m%d"),n=[],i=this._get_serializable_data();for(var d in i){var l=i[d];n.push("BEGIN:VEVENT"),n.push(l._timed&&(l.start_date.getHours()||l.start_date.getMinutes())?"DTSTART:"+s(l.start_date):"DTSTART:"+a(l.start_date)),n.push(l._timed&&(l.end_date.getHours()||l.end_date.getMinutes())?"DTEND:"+s(l.end_date):"DTEND:"+a(l.end_date)),n.push("SUMMARY:"+l.text),n.push("END:VEVENT")
+scheduler._get_serializable_data=function(){var e={};for(var t in this._events){var r=this._events[t];-1==r.id.toString().indexOf("#")&&(e[r.id]=r)}return e},scheduler.data_attributes=function(){var e=[],t=scheduler.templates.xml_format,r=this._get_serializable_data();for(var a in r){var s=r[a];for(var n in s)"_"!=n.substr(0,1)&&e.push([n,"start_date"==n||"end_date"==n?t:null]);break}return e},scheduler.toXML=function(e){var t=[],r=this.data_attributes(),a=this._get_serializable_data();for(var s in a){var n=a[s];
+t.push("<event>");for(var i=0;i<r.length;i++)t.push("<"+r[i][0]+"><![CDATA["+(r[i][1]?r[i][1](n[r[i][0]]):n[r[i][0]])+"]]></"+r[i][0]+">");t.push("</event>")}return(e||"")+"<data>"+t.join("\n")+"</data>"},scheduler._serialize_json_value=function(e){return null===e||"boolean"==typeof e?e=""+e:(e||0===e||(e=""),e='"'+e.toString().replace(/\n/g,"").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"'),e},scheduler.toJSON=function(){var e=[],t="",r=this.data_attributes(),a=this._get_serializable_data();for(var s in a){for(var n=a[s],i=[],d=0;d<r.length;d++)t=r[d][1]?r[d][1](n[r[d][0]]):n[r[d][0]],i.push(' "'+r[d][0]+'": '+this._serialize_json_value(t));
+e.push("{"+i.join(",")+"}")}return"["+e.join(",\n")+"]"},scheduler.toICal=function(e){var t="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//dhtmlXScheduler//NONSGML v2.2//EN\nDESCRIPTION:",r="END:VCALENDAR",a=scheduler.date.date_to_str("%Y%m%dT%H%i%s"),s=scheduler.date.date_to_str("%Y%m%d"),n=[],i=this._get_serializable_data();for(var d in i){var l=i[d];n.push("BEGIN:VEVENT"),n.push(l._timed&&(l.start_date.getHours()||l.start_date.getMinutes())?"DTSTART:"+a(l.start_date):"DTSTART:"+s(l.start_date)),n.push(l._timed&&(l.end_date.getHours()||l.end_date.getMinutes())?"DTEND:"+a(l.end_date):"DTEND:"+s(l.end_date)),n.push("SUMMARY:"+l.text),n.push("END:VEVENT")
}return t+(e||"")+"\n"+n.join("\n")+"\n"+r};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_serialize.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_timeline.js b/codebase/ext/dhtmlxscheduler_timeline.js
index b13989b..b29820b 100644
--- a/codebase/ext/dhtmlxscheduler_timeline.js
+++ b/codebase/ext/dhtmlxscheduler_timeline.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -11,12 +11,12 @@ var l=d-scheduler._min_date_timeline;if(l>0){var _=scheduler._get_date_index(r,d
for(this.round_position?r.apply(this,[i.end_date,!0]):i.end_date;s.length;){var l=s[s.length-1];if(!(l.end_date.valueOf()<=d.valueOf()))break;s.splice(s.length-1,1)}for(var _=!1,o=0;o<s.length;o++){var c=s[o];if(c.end_date.valueOf()<=d.valueOf()){_=!0,i._sorder=c._sorder,s.splice(o,1),i._inner=!0;break}}if(s.length&&(s[s.length-1]._inner=!0),!_)if(s.length)if(s.length<=s[s.length-1]._sorder){if(s[s.length-1]._sorder)for(var h=0;h<s.length;h++){for(var u=!1,v=0;v<s.length;v++)if(s[v]._sorder==h){u=!0;
break}if(!u){i._sorder=h;break}}else i._sorder=0;i._inner=!0}else{for(var f=s[0]._sorder,g=1;g<s.length;g++)s[g]._sorder>f&&(f=s[g]._sorder);i._sorder=f+1,i._inner=!1}else i._sorder=0;s.push(i),s.length>(s.max_count||0)?(s.max_count=s.length,i._count=s.length):i._count=i._count?i._count:1}for(var p=0;p<e.length;p++)e[p]._count=s.max_count;for(var m=0;a>m;m++)t+=scheduler.render_timeline_event.call(this,e[m],!1)}return t}function a(t){var r="<table style='table-layout:fixed;' cellspacing='0' cellpadding='0'>",a=[];
if(scheduler._load_mode&&scheduler._load(),"cell"==this.render)a=e.call(this);else for(var n=scheduler.get_visible_events(),i=this.order,d=0;d<n.length;d++){var l=n[d],_=l[this.y_property],o=this.order[_];if(this.show_unassigned&&!_){for(var c in i)if(i.hasOwnProperty(c)){o=i[c],a[o]||(a[o]=[]);var h=scheduler._lame_copy({},l);h[this.y_property]=c,a[o].push(h)}}else a[o]||(a[o]=[]),a[o].push(l)}for(var u=0,v=0;v<scheduler._cols.length;v++)u+=scheduler._cols[v];var f=new Date,g=scheduler._cols.length-scheduler._ignores_detected;
-f=(scheduler.date.add(f,this.x_step*g,this.x_unit)-f-(this._start_correction+this._end_correction)*g)/u,this._step=f,this._summ=u;var p=scheduler._colsS.heights=[];this._events_height={},this._section_height={};for(var v=0;v<this.y_unit.length;v++){var m=this._logic(this.render,this.y_unit[v],this);scheduler._merge(m,{height:this.dy}),this.section_autoheight&&(this.y_unit.length*m.height<t.offsetHeight&&(m.height=Math.max(m.height,Math.floor((t.offsetHeight-1)/this.y_unit.length))),this._section_height[this.y_unit[v].key]=m.height),scheduler._merge(m,{tr_className:"",style_height:"height:"+m.height+"px;",style_width:"width:"+(this.dx-1)+"px;",td_className:"dhx_matrix_scell"+(scheduler.templates[this.name+"_scaley_class"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v])?" "+scheduler.templates[this.name+"_scaley_class"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v]):""),td_content:scheduler.templates[this.name+"_scale_label"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v]),summ_width:"width:"+u+"px;",table_className:""});
-var y=s.call(this,a[v]);if(this.fit_events){var x=this._events_height[this.y_unit[v].key]||0;m.height=x>m.height?x:m.height,m.style_height="height:"+m.height+"px;",this._section_height[this.y_unit[v].key]=m.height}if(r+="<tr class='"+m.tr_className+"' style='"+m.style_height+"'><td class='"+m.td_className+"' style='"+m.style_width+" height:"+(m.height-1)+"px;'>"+m.td_content+"</td>","cell"==this.render)for(var d=0;d<scheduler._cols.length;d++)r+=scheduler._ignores[d]?"<td></td>":"<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](a[v][d],this._trace_x[d],this.y_unit[v])+"' style='width:"+(scheduler._cols[d]-1)+"px'><div style='width:"+(scheduler._cols[d]-1)+"px'>"+scheduler.templates[this.name+"_cell_value"](a[v][d],this._trace_x[d],this.y_unit[v])+"</div></td>";
-else{r+="<td><div style='"+m.summ_width+" "+m.style_height+" position:relative;' class='dhx_matrix_line'>",r+=y,r+="<table class='"+m.table_className+"' cellpadding='0' cellspacing='0' style='"+m.summ_width+" "+m.style_height+"' >";for(var d=0;d<scheduler._cols.length;d++)r+=scheduler._ignores[d]?"<td></td>":"<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](a[v],this._trace_x[d],this.y_unit[v])+"' style='width:"+(scheduler._cols[d]-1)+"px'><div style='width:"+(scheduler._cols[d]-1)+"px'></div></td>";
-r+="</table>",r+="</div></td>"}r+="</tr>"}r+="</table>",this._matrix=a,t.innerHTML=r,scheduler._rendered=[];for(var b=scheduler._obj.getElementsByTagName("DIV"),v=0;v<b.length;v++)b[v].getAttribute("event_id")&&scheduler._rendered.push(b[v]);this._scales={};for(var v=0;v<t.firstChild.rows.length;v++){p.push(t.firstChild.rows[v].offsetHeight);var w=this.y_unit[v].key,k=this._scales[w]=scheduler._isRender("cell")?t.firstChild.rows[v]:t.firstChild.rows[v].childNodes[1].getElementsByTagName("div")[0];
-scheduler.callEvent("onScaleAdd",[k,w])}}function n(e){var t=scheduler.xy.scale_height,r=this._header_resized||scheduler.xy.scale_height;scheduler._cols=[],scheduler._colsS={height:0},this._trace_x=[];var s=scheduler._x-this.dx-scheduler.xy.scroll_width,a=[this.dx],n=scheduler._els.dhx_cal_header[0];n.style.width=a[0]+s+"px",scheduler._min_date_timeline=scheduler._min_date;var d=scheduler.config.preserve_scale_length,l=scheduler._min_date;scheduler._process_ignores(l,this.x_size,this.x_unit,this.x_step,d);
-var _=this.x_size+(d?scheduler._ignores_detected:0);_!=this.x_size&&(scheduler._max_date=scheduler.date.add(scheduler._min_date,_*this.x_step,this.x_unit));for(var o=_-scheduler._ignores_detected,h=0;_>h;h++)this._trace_x[h]=new Date(l),l=scheduler.date.add(l,this.x_step,this.x_unit),scheduler._ignores[h]?(scheduler._cols[h]=0,o++):scheduler._cols[h]=Math.floor(s/(o-h)),s-=scheduler._cols[h],a[h+1]=a[h]+scheduler._cols[h];if(e.innerHTML="<div></div>",this.second_scale){for(var u=this.second_scale.x_unit,v=[this._trace_x[0]],f=[],g=[this.dx,this.dx],p=0,m=0;m<this._trace_x.length;m++){var y=this._trace_x[m],x=i(u,y,v[p]);
+f=(scheduler.date.add(f,this.x_step*g,this.x_unit)-f-(this._start_correction+this._end_correction)*g)/u,this._step=f,this._summ=u;var p=scheduler._colsS.heights=[],m=[];this._events_height={},this._section_height={};for(var v=0;v<this.y_unit.length;v++){var y=this._logic(this.render,this.y_unit[v],this);scheduler._merge(y,{height:this.dy}),this.section_autoheight&&(this.y_unit.length*y.height<t.offsetHeight&&(y.height=Math.max(y.height,Math.floor((t.offsetHeight-1)/this.y_unit.length))),this._section_height[this.y_unit[v].key]=y.height),y.td_className||(y.td_className="dhx_matrix_scell"+(scheduler.templates[this.name+"_scaley_class"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v])?" "+scheduler.templates[this.name+"_scaley_class"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v]):"")),y.td_content||(y.td_content=scheduler.templates[this.name+"_scale_label"](this.y_unit[v].key,this.y_unit[v].label,this.y_unit[v])),scheduler._merge(y,{tr_className:"",style_height:"height:"+y.height+"px;",style_width:"width:"+(this.dx-1)+"px;",summ_width:"width:"+u+"px;",table_className:""});
+var x=s.call(this,a[v]);if(this.fit_events){var b=this._events_height[this.y_unit[v].key]||0;y.height=b>y.height?b:y.height,y.style_height="height:"+y.height+"px;",this._section_height[this.y_unit[v].key]=y.height}if(r+="<tr class='"+y.tr_className+"' style='"+y.style_height+"'><td class='"+y.td_className+"' style='"+y.style_width+" height:"+(y.height-1)+"px;'>"+y.td_content+"</td>","cell"==this.render)for(var d=0;d<scheduler._cols.length;d++)r+=scheduler._ignores[d]?"<td></td>":"<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](a[v][d],this._trace_x[d],this.y_unit[v])+"' style='width:"+(scheduler._cols[d]-1)+"px'><div style='width:"+(scheduler._cols[d]-1)+"px'>"+scheduler.templates[this.name+"_cell_value"](a[v][d],this._trace_x[d],this.y_unit[v])+"</div></td>";
+else{r+="<td><div style='"+y.summ_width+" "+y.style_height+" position:relative;' class='dhx_matrix_line'>",r+=x,r+="<table class='"+y.table_className+"' cellpadding='0' cellspacing='0' style='"+y.summ_width+" "+y.style_height+"' >";for(var d=0;d<scheduler._cols.length;d++)r+=scheduler._ignores[d]?"<td></td>":"<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](a[v],this._trace_x[d],this.y_unit[v])+"' style='width:"+(scheduler._cols[d]-1)+"px'><div style='width:"+(scheduler._cols[d]-1)+"px'></div></td>";
+r+="</table>",r+="</div></td>"}r+="</tr>",m.push(y)}r+="</table>",this._matrix=a,t.innerHTML=r,scheduler._rendered=[];for(var w=scheduler._obj.getElementsByTagName("DIV"),v=0;v<w.length;v++)w[v].getAttribute("event_id")&&scheduler._rendered.push(w[v]);this._scales={};for(var k=t.firstChild.rows,E=null,v=0,D=m.length;D>v;v++){E=this.y_unit[v],p.push(m[v].height);var N=E.key,M=this._scales[N]=scheduler._isRender("cell")?k[v]:k[v].childNodes[1].getElementsByTagName("div")[0];scheduler.callEvent("onScaleAdd",[M,N])
+}}function n(e){var t=scheduler.xy.scale_height,r=this._header_resized||scheduler.xy.scale_height;scheduler._cols=[],scheduler._colsS={height:0},this._trace_x=[];var s=scheduler._x-this.dx-scheduler.xy.scroll_width,a=[this.dx],n=scheduler._els.dhx_cal_header[0];n.style.width=a[0]+s+"px",scheduler._min_date_timeline=scheduler._min_date;var d=scheduler.config.preserve_scale_length,l=scheduler._min_date;scheduler._process_ignores(l,this.x_size,this.x_unit,this.x_step,d);var _=this.x_size+(d?scheduler._ignores_detected:0);
+_!=this.x_size&&(scheduler._max_date=scheduler.date.add(scheduler._min_date,_*this.x_step,this.x_unit));for(var o=_-scheduler._ignores_detected,h=0;_>h;h++)this._trace_x[h]=new Date(l),l=scheduler.date.add(l,this.x_step,this.x_unit),scheduler._ignores[h]?(scheduler._cols[h]=0,o++):scheduler._cols[h]=Math.floor(s/(o-h)),s-=scheduler._cols[h],a[h+1]=a[h]+scheduler._cols[h];if(e.innerHTML="<div></div>",this.second_scale){for(var u=this.second_scale.x_unit,v=[this._trace_x[0]],f=[],g=[this.dx,this.dx],p=0,m=0;m<this._trace_x.length;m++){var y=this._trace_x[m],x=i(u,y,v[p]);
x&&(++p,v[p]=y,g[p+1]=g[p]);var b=p+1;f[p]=scheduler._cols[m]+(f[p]||0),g[b]+=scheduler._cols[m]}e.innerHTML="<div></div><div></div>";var w=e.firstChild;w.style.height=r+"px";var k=e.lastChild;k.style.position="relative";for(var E=0;E<v.length;E++){var D=v[E],N=scheduler.templates[this.name+"_second_scalex_class"](D),M=document.createElement("DIV");M.className="dhx_scale_bar dhx_second_scale_bar"+(N?" "+N:""),scheduler.set_xy(M,f[E]-1,r-3,g[E],0),M.innerHTML=scheduler.templates[this.name+"_second_scale_date"](D),w.appendChild(M)
}}scheduler.xy.scale_height=r,e=e.lastChild;for(var C=0;C<this._trace_x.length;C++)if(!scheduler._ignores[C]){l=this._trace_x[C],scheduler._render_x_header(C,a[C],l,e);var O=scheduler.templates[this.name+"_scalex_class"](l);O&&(e.lastChild.className+=" "+O)}scheduler.xy.scale_height=t;var L=this._trace_x;e.onclick=function(e){var t=c(e);t&&scheduler.callEvent("onXScaleClick",[t.x,L[t.x],e||event])},e.ondblclick=function(e){var t=c(e);t&&scheduler.callEvent("onXScaleDblClick",[t.x,L[t.x],e||event])
}}function i(e,t,r){switch(e){case"hour":return t.getHours()!=r.getHours()||i("day",t,r);case"day":return!(t.getDate()==r.getDate()&&t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"week":return!(scheduler.date.getISOWeek(t)==scheduler.date.getISOWeek(r)&&t.getFullYear()==r.getFullYear());case"month":return!(t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"year":return!(t.getFullYear()==r.getFullYear());default:return!1}}function d(e){if(e){scheduler.set_sizes(),scheduler._init_matrix_tooltip();
@@ -28,9 +28,9 @@ return scheduler.checkEvent("onBeforeSectionRender")&&(s=scheduler.callEvent("on
if(s&&!e.show_unassigned&&"cell"!=e.render)for(var a=0;a<r.length;a++)this.clear_event(r[a]),this.render_timeline_event.call(this.matrix[this._mode],r[a],!0);else scheduler._renderMatrix.call(e,!0,!0)},scheduler.matrix[e.name]=e,scheduler.templates[e.name+"_cell_value"]=function(e){return e?e.length:""},scheduler.templates[e.name+"_cell_class"]=function(){return""},scheduler.templates[e.name+"_scalex_class"]=function(){return""},scheduler.templates[e.name+"_second_scalex_class"]=function(){return""
},scheduler.templates[e.name+"_scaley_class"]=function(){return""},scheduler.templates[e.name+"_scale_label"]=function(e,t){return t},scheduler.templates[e.name+"_tooltip"]=function(e,t,r){return r.text},scheduler.templates[e.name+"_date"]=function(e,t){return e.getDay()==t.getDay()&&864e5>t-e||+e==+scheduler.date.date_part(new Date(t))||+scheduler.date.add(e,1,"day")==+t&&0===t.getHours()&&0===t.getMinutes()?scheduler.templates.day_date(e):e.getDay()!=t.getDay()&&864e5>t-e?scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(t):scheduler.templates.week_date(e,t)
},scheduler.templates[e.name+"_scale_date"]=scheduler.date.date_to_str(e.x_date||scheduler.config.hour_date),scheduler.templates[e.name+"_second_scale_date"]=scheduler.date.date_to_str(e.second_scale&&e.second_scale.x_date?e.second_scale.x_date:scheduler.config.hour_date),scheduler.date["add_"+e.name]=function(t,r){var s=scheduler.date.add(t,(e.x_length||e.x_size)*r*e.x_step,e.x_unit);if("minute"==e.x_unit||"hour"==e.x_unit){var a=e.x_length||e.x_size,n="hour"==e.x_unit?60*e.x_step:e.x_step;if(n*a%1440)if(+scheduler.date.date_part(new Date(t))==+scheduler.date.date_part(new Date(s)))e.x_start+=r*a;
-else{var i=1440/(a*n)-1,d=Math.round(i*a);e.x_start=r>0?e.x_start-d:d+e.x_start}}return s},scheduler.date[e.name+"_start"]=function(t){var r=scheduler.date[e.x_unit+"_start"]||scheduler.date.day_start,s=r.call(scheduler.date,t);return s=scheduler.date.add(s,e.x_step*e.x_start,e.x_unit)},scheduler.callEvent("onOptionsLoad",[e]),scheduler[e.name+"_view"]=function(){scheduler._renderMatrix.apply(e,arguments)};{var s=new Date;scheduler.date.add(s,e.x_step,e.x_unit).valueOf()-s.valueOf()}scheduler["mouse_"+e.name]=function(t){var s=this._drag_event;
-this._drag_id&&(s=this.getEvent(this._drag_id),this._drag_event._dhx_changed=!0),t.x-=e.dx;var a,n,i=0,d=0;for(d;d<=this._cols.length-1;d++)if(n=this._cols[d],i+=n,i>t.x){a=(t.x-(i-n))/n,a=0>a?0:a;break}if(e.round_position){var l=1;scheduler.getState().drag_mode&&"move"!=scheduler.getState().drag_mode&&(l=.5),a>=l&&d++,a=0}if(0===d&&this._ignores[0])for(d=1,a=0;this._ignores[d];)d++;else if(d==this._cols.length&&this._ignores[d-1]){for(d=this._cols.length-1,a=0;this._ignores[d];)d--;d++}t.x=0,t.force_redraw=!0,t.custom=!0;
-var _;if(d>=e._trace_x.length)_=scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit),e._end_correction&&(_=new Date(_-e._end_correction));else{var o=a*n*e._step+e._start_correction;_=new Date(+e._trace_x[d]+o)}if("move"==this._drag_mode&&this._drag_id&&this._drag_event){var s=this.getEvent(this._drag_id),c=this._drag_event;if(t._ignores=this._ignores_detected||e._start_correction||e._end_correction,c._move_delta||(c._move_delta=(s.start_date-_)/6e4,this.config.preserve_length&&t._ignores&&(c._move_delta=this._get_real_event_length(s.start_date,_,e),c._event_length=this._get_real_event_length(s.start_date,s.end_date,e))),this.config.preserve_length&&t._ignores){var h=(c._event_length,this._get_fictional_event_length(_,c._move_delta,e,!0));
+else{var i=1440/(a*n)-1,d=Math.round(i*a);e.x_start=r>0?e.x_start-d:d+e.x_start}}return s},scheduler.date[e.name+"_start"]=function(t){var r=scheduler.date[e.x_unit+"_start"]||scheduler.date.day_start,s=r.call(scheduler.date,t);return s=scheduler.date.add(s,e.x_step*e.x_start,e.x_unit)},scheduler.callEvent("onOptionsLoad",[e]),scheduler[e.name+"_view"]=function(t){t?scheduler._table_view=!0:scheduler._renderMatrix.apply(e,arguments)};{var s=new Date;scheduler.date.add(s,e.x_step,e.x_unit).valueOf()-s.valueOf()
+}scheduler["mouse_"+e.name]=function(t){var s=this._drag_event;this._drag_id&&(s=this.getEvent(this._drag_id),this._drag_event._dhx_changed=!0),t.x-=e.dx;var a,n,i=0,d=0;for(d;d<=this._cols.length-1;d++)if(n=this._cols[d],i+=n,i>t.x){a=(t.x-(i-n))/n,a=0>a?0:a;break}if(e.round_position){var l=1;scheduler.getState().drag_mode&&"move"!=scheduler.getState().drag_mode&&(l=.5),a>=l&&d++,a=0}if(0===d&&this._ignores[0])for(d=1,a=0;this._ignores[d];)d++;else if(d==this._cols.length&&this._ignores[d-1]){for(d=this._cols.length-1,a=0;this._ignores[d];)d--;
+d++}t.x=0,t.force_redraw=!0,t.custom=!0;var _;if(d>=e._trace_x.length)_=scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit),e._end_correction&&(_=new Date(_-e._end_correction));else{var o=a*n*e._step+e._start_correction;_=new Date(+e._trace_x[d]+o)}if("move"==this._drag_mode&&this._drag_id&&this._drag_event){var s=this.getEvent(this._drag_id),c=this._drag_event;if(t._ignores=this._ignores_detected||e._start_correction||e._end_correction,c._move_delta||(c._move_delta=(s.start_date-_)/6e4,this.config.preserve_length&&t._ignores&&(c._move_delta=this._get_real_event_length(s.start_date,_,e),c._event_length=this._get_real_event_length(s.start_date,s.end_date,e))),this.config.preserve_length&&t._ignores){var h=(c._event_length,this._get_fictional_event_length(_,c._move_delta,e,!0));
_=new Date(_-h)}else _=scheduler.date.add(_,c._move_delta,"minute")}if("resize"==this._drag_mode&&s&&(this._drag_from_start&&+_>+s.end_date?this._drag_from_start=!1:!this._drag_from_start&&+_<+s.start_date&&(this._drag_from_start=!0),t.resize_from_start=this._drag_from_start),e.round_position)switch(this._drag_mode){case"move":this.config.preserve_length||(_=r.call(e,_,!1),"day"==e.x_unit&&(t.custom=!1));break;case"resize":this._drag_event&&((null===this._drag_event._resize_from_start||void 0===this._drag_event._resize_from_start)&&(this._drag_event._resize_from_start=t.resize_from_start),t.resize_from_start=this._drag_event._resize_from_start,_=r.call(e,_,!this._drag_event._resize_from_start))
}return this._resolve_timeline_section(e,t),t.section&&this._update_timeline_section({pos:t,event:this.getEvent(this._drag_id),view:e}),t.y=Math.round((_-this._min_date)/(6e4*this.config.time_step)),t.shift=this.config.time_step,t}},scheduler._get_timeline_event_height=function(e,t){var r=e[t.y_property],s=t.event_dy;return"full"==t.event_dy&&(s=t.section_autoheight?t._section_height[r]-6:t.dy-3),t.resize_events&&(s=Math.max(Math.floor(s/e._count),t.event_min_dy)),s},scheduler._get_timeline_event_y=function(e,t){var r=e,s=2+r*t+(r?2*r:0);
return scheduler.config.cascade_event_display&&(s=2+r*scheduler.config.cascade_event_margin+(r?2*r:0)),s},scheduler.render_timeline_event=function(e,r){var s=e[this.y_property];if(!s)return"";var a=e._sorder,n=t(e,!1,this),i=t(e,!0,this),d=scheduler._get_timeline_event_height(e,this),l=d-2;e._inner||"full"!=this.event_dy||(l=(l+2)*(e._count-a)-2);var _=scheduler._get_timeline_event_y(e._sorder,d),o=d+_+2;(!this._events_height[s]||this._events_height[s]<o)&&(this._events_height[s]=o);var c=scheduler.templates.event_class(e.start_date,e.end_date,e);
@@ -41,11 +41,12 @@ var r=scheduler._els.dhx_cal_header[0];r.className=r.className.replace(/ dhx_sec
break}t=t.parentNode}return d&&(r.x=-1,r.src=t,r.scale=!0),r};var h=scheduler._click.dhx_cal_data;scheduler._click.dhx_marked_timespan=scheduler._click.dhx_cal_data=function(e){var t=h.apply(this,arguments),r=scheduler.matrix[scheduler._mode];if(r){var s=scheduler._locate_cell_timeline(e);s&&(s.scale?scheduler.callEvent("onYScaleClick",[s.y,r.y_unit[s.y],e||event]):scheduler.callEvent("onCellClick",[s.x,s.y,r._trace_x[s.x],(r._matrix[s.y]||{})[s.x]||[],e||event]))}return t},scheduler.dblclick_dhx_matrix_cell=function(e){var t=scheduler.matrix[scheduler._mode];
if(t){var r=scheduler._locate_cell_timeline(e);r&&(r.scale?scheduler.callEvent("onYScaleDblClick",[r.y,t.y_unit[r.y],e||event]):scheduler.callEvent("onCellDblClick",[r.x,r.y,t._trace_x[r.x],(t._matrix[r.y]||{})[r.x]||[],e||event]))}};var u=scheduler.dblclick_dhx_marked_timespan||function(){};scheduler.dblclick_dhx_marked_timespan=function(e){var t=scheduler.matrix[scheduler._mode];return t?scheduler.dblclick_dhx_matrix_cell(e):u.apply(this,arguments)},scheduler.dblclick_dhx_matrix_scell=function(e){return scheduler.dblclick_dhx_matrix_cell(e)
},scheduler._isRender=function(e){return scheduler.matrix[scheduler._mode]&&scheduler.matrix[scheduler._mode].render==e},scheduler.attachEvent("onCellDblClick",function(e,t,r,s,a){if(!this.config.readonly&&("dblclick"!=a.type||this.config.dblclick_create)){var n=scheduler.matrix[scheduler._mode],i={};i.start_date=n._trace_x[e],i.end_date=n._trace_x[e+1]?n._trace_x[e+1]:scheduler.date.add(n._trace_x[e],n.x_step,n.x_unit),n._start_correction&&(i.start_date=new Date(1*i.start_date+n._start_correction)),n._end_correction&&(i.end_date=new Date(i.end_date-n._end_correction)),i[n.y_property]=n.y_unit[t].key,scheduler.addEventNow(i,null,a)
-}}),scheduler.attachEvent("onBeforeDrag",function(){return!scheduler._isRender("cell")}),scheduler.attachEvent("onEventChanged",function(e,t){t._timed=this.isOneDayEvent(t)});var v=scheduler._render_marked_timespan;scheduler._render_marked_timespan=function(e,r,s,a,n){if(!scheduler.config.display_marked_timespans)return[];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){if(scheduler._isRender("cell"))return;var i=scheduler._lame_copy({},scheduler.matrix[scheduler._mode]);i.round_position=!1;
-var d=[],l=[],_=[],o=e.sections?e.sections.units||e.sections.timeline:null;if(s)_=[r],l=[s];else{var c=i.order;if(o)c.hasOwnProperty(o)&&(l.push(o),_.push(i._scales[o]));else for(var h in c)c.hasOwnProperty(h)&&(l.push(h),_.push(i._scales[h]))}var a=a?new Date(a):scheduler._min_date,n=n?new Date(n):scheduler._max_date,u=[];if(e.days>6){var f=new Date(e.days);scheduler.date.date_part(new Date(a))<=+f&&+n>=+f&&u.push(f)}else u.push.apply(u,scheduler._get_dates_by_index(e.days));for(var g=e.zones,p=scheduler._get_css_classes_by_config(e),m=0;m<l.length;m++){r=_[m],s=l[m];
-for(var y=0;y<u.length;y++)for(var x=u[y],b=0;b<g.length;b+=2){var w=g[b],k=g[b+1],E=new Date(+x+60*w*1e3),D=new Date(+x+60*k*1e3);if(D>a&&n>E){var N=scheduler._get_block_by_config(e);N.className=p;var M=t({start_date:E},!1,i)-1,C=t({start_date:D},!1,i)-1,O=Math.max(1,C-M-1),L=i._section_height[s]-1;N.style.cssText="height: "+L+"px; left: "+M+"px; width: "+O+"px; top: 0;",r.insertBefore(N,r.firstChild),d.push(N)}}}return d}return v.apply(scheduler,[e,r,s])};var f=scheduler._append_mark_now;scheduler._append_mark_now=function(e,t){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var r=scheduler._currentDate(),s=scheduler._get_zone_minutes(r),a={days:+scheduler.date.date_part(r),zones:[s,s+1],css:"dhx_matrix_now_time",type:"dhx_now_time"};
-return scheduler._render_marked_timespan(a)}return f.apply(scheduler,[e,t])},scheduler.attachEvent("onScaleAdd",function(e,t){var r=scheduler._marked_timespans;if(r&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var s=scheduler._mode,a=scheduler._min_date,n=scheduler._max_date,i=r.global,d=scheduler.date.date_part(new Date(a));n>d;d=scheduler.date.add(d,1,"day")){var l=+d,_=d.getDay(),o=[],c=i[l]||i[_];if(o.push.apply(o,scheduler._get_configs_to_render(c)),r[s]&&r[s][t]){var h=[],u=scheduler._get_types_to_render(r[s][t][_],r[s][t][l]);
-h.push.apply(h,scheduler._get_configs_to_render(u)),h.length&&(o=h)}for(var v=0;v<o.length;v++){var f=o[v],g=f.days;7>g?(g=l,scheduler._render_marked_timespan(f,e,t,d,scheduler.date.add(d,1,"day")),g=_):scheduler._render_marked_timespan(f,e,t,d,scheduler.date.add(d,1,"day"))}}}),scheduler._resolve_timeline_section=function(e,t){var r=0,s=0;for(r;r<this._colsS.heights.length&&(s+=this._colsS.heights[r],!(s>t.y));r++);e.y_unit[r]||(r=e.y_unit.length-1),this._drag_event&&!this._drag_event._orig_section&&(this._drag_event._orig_section=e.y_unit[r].key),t.fields={},r>=0&&e.y_unit[r]&&(t.section=t.fields[e.y_property]=e.y_unit[r].key)
+}}),scheduler.attachEvent("onBeforeDrag",function(){return!scheduler._isRender("cell")}),scheduler.attachEvent("onEventChanged",function(e,t){t._timed=this.isOneDayEvent(t)}),scheduler._is_column_visible=function(e){var t=scheduler.matrix[scheduler._mode],r=scheduler._get_date_index(t,e);return!scheduler._ignores[r]};var v=scheduler._render_marked_timespan;scheduler._render_marked_timespan=function(e,r,s,a,n){if(!scheduler.config.display_marked_timespans)return[];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){if(scheduler._isRender("cell"))return;
+var i=scheduler._lame_copy({},scheduler.matrix[scheduler._mode]);i.round_position=!1;var d=[],l=[],_=[],o=e.sections?e.sections.units||e.sections.timeline:null;if(s)_=[r],l=[s];else{var c=i.order;if(o)c.hasOwnProperty(o)&&(l.push(o),_.push(i._scales[o]));else for(var h in c)c.hasOwnProperty(h)&&(l.push(h),_.push(i._scales[h]))}var a=a?new Date(a):scheduler._min_date,n=n?new Date(n):scheduler._max_date;if(a.valueOf()<scheduler._min_date.valueOf()&&(a=new Date(scheduler._min_date)),n.valueOf()>scheduler._max_date.valueOf()&&(n=new Date(scheduler._max_date)),!scheduler._is_column_visible(a))return;
+var u=[];if(e.days>6){var f=new Date(e.days);scheduler.date.date_part(new Date(a))<=+f&&+n>=+f&&u.push(f)}else u.push.apply(u,scheduler._get_dates_by_index(e.days));for(var g=e.zones,p=scheduler._get_css_classes_by_config(e),m=0;m<l.length;m++){r=_[m],s=l[m];for(var y=0;y<u.length;y++)for(var x=u[y],b=0;b<g.length;b+=2){var w=g[b],k=g[b+1],E=new Date(+x+60*w*1e3),D=new Date(+x+60*k*1e3);if(D>a&&n>E){var N=scheduler._get_block_by_config(e);N.className=p;var M=t({start_date:E},!1,i)-1,C=t({start_date:D},!1,i)-1,O=Math.max(1,C-M-1),L=i._section_height[s]-1;
+N.style.cssText="height: "+L+"px; left: "+M+"px; width: "+O+"px; top: 0;",r.insertBefore(N,r.firstChild),d.push(N)}}}return d}return v.apply(scheduler,[e,r,s])};var f=scheduler._append_mark_now;scheduler._append_mark_now=function(e,t){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var r=scheduler._currentDate(),s=scheduler._get_zone_minutes(r),a={days:+scheduler.date.date_part(r),zones:[s,s+1],css:"dhx_matrix_now_time",type:"dhx_now_time"};return scheduler._render_marked_timespan(a)}return f.apply(scheduler,[e,t])
+},scheduler.attachEvent("onScaleAdd",function(e,t){var r=scheduler._marked_timespans;if(r&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var s=scheduler._mode,a=scheduler._min_date,n=scheduler._max_date,i=r.global,d=scheduler.date.date_part(new Date(a));n>d;d=scheduler.date.add(d,1,"day")){var l=+d,_=d.getDay(),o=[],c=i[l]||i[_];if(o.push.apply(o,scheduler._get_configs_to_render(c)),r[s]&&r[s][t]){var h=[],u=scheduler._get_types_to_render(r[s][t][_],r[s][t][l]);h.push.apply(h,scheduler._get_configs_to_render(u)),h.length&&(o=h)
+}for(var v=0;v<o.length;v++){var f=o[v],g=f.days;7>g?(g=l,scheduler._render_marked_timespan(f,e,t,d,scheduler.date.add(d,1,"day")),g=_):scheduler._render_marked_timespan(f,e,t,d,scheduler.date.add(d,1,"day"))}}}),scheduler._resolve_timeline_section=function(e,t){var r=0,s=0;for(r;r<this._colsS.heights.length&&(s+=this._colsS.heights[r],!(s>t.y));r++);e.y_unit[r]||(r=e.y_unit.length-1),this._drag_event&&!this._drag_event._orig_section&&(this._drag_event._orig_section=e.y_unit[r].key),t.fields={},r>=0&&e.y_unit[r]&&(t.section=t.fields[e.y_property]=e.y_unit[r].key)
},scheduler._update_timeline_section=function(e){var t=e.view,r=e.event,s=e.pos;if(r){if(r[t.y_property]!=s.section){var a=this._get_timeline_event_height(r,t);r._sorder=this._get_dnd_order(r._sorder,a,t._section_height[s.section])}r[t.y_property]=s.section}},scheduler._get_date_index=function(e,t){for(var r=0,s=e._trace_x;r<s.length-1&&+t>=+s[r+1];)r++;return r},scheduler.attachEvent("onBeforeTodayDisplayed",function(){for(var e in scheduler.matrix){var t=scheduler.matrix[e];t.x_start=t._original_x_start
}return!0}),scheduler.attachEvent("onOptionsLoad",function(){for(var e in scheduler.matrix){var t=scheduler.matrix[e];t.order={},scheduler.callEvent("onOptionsLoadStart",[]);for(var e=0;e<t.y_unit.length;e++)t.order[t.y_unit[e].key]=e;scheduler.callEvent("onOptionsLoadFinal",[]),scheduler._date&&t.name==scheduler._mode&&scheduler.setCurrentView(scheduler._date,scheduler._mode)}}),scheduler.attachEvent("onSchedulerResize",function(){if(scheduler.matrix[this._mode]){var e=scheduler.matrix[this._mode];
return scheduler._renderMatrix.call(e,!0,!0),!1}return!0}),scheduler.attachEvent("onBeforeDrag",function(e,t,r){if("resize"==t){var s=r.target||r.srcElement;scheduler._drag_from_start=(s.className||"").indexOf("dhx_event_resize_end")<0?!0:!1}return!0})},scheduler._temp_matrix_scope();
diff --git a/codebase/ext/dhtmlxscheduler_tooltip.js b/codebase/ext/dhtmlxscheduler_tooltip.js
index b2f738e..4eeedaa 100644
--- a/codebase/ext/dhtmlxscheduler_tooltip.js
+++ b/codebase/ext/dhtmlxscheduler_tooltip.js
@@ -1,14 +1,14 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
window.dhtmlXTooltip=scheduler.dhtmlXTooltip=window.dhtmlxTooltip={},dhtmlXTooltip.config={className:"dhtmlXTooltip tooltip",timeout_to_display:50,timeout_to_hide:50,delta_x:15,delta_y:-20},dhtmlXTooltip.tooltip=document.createElement("div"),dhtmlXTooltip.tooltip.className=dhtmlXTooltip.config.className,dhtmlXTooltip.show=function(e,t){if(!scheduler.config.touch||scheduler.config.touch_tooltip){var r=dhtmlXTooltip,s=this.tooltip,a=s.style;r.tooltip.className=r.config.className;var i=this.position(e),n=e.target||e.srcElement;
-if(!this.isTooltip(n)){var d=i.x+(r.config.delta_x||0),l=i.y-(r.config.delta_y||0);a.visibility="hidden",a.removeAttribute?(a.removeAttribute("right"),a.removeAttribute("bottom")):(a.removeProperty("right"),a.removeProperty("bottom")),a.left="0",a.top="0",this.tooltip.innerHTML=t,document.body.appendChild(this.tooltip);var o=this.tooltip.offsetWidth,_=this.tooltip.offsetHeight;document.body.offsetWidth-d-o<0?(a.removeAttribute?a.removeAttribute("left"):a.removeProperty("left"),a.right=document.body.offsetWidth-d+2*(r.config.delta_x||0)+"px"):a.left=0>d?i.x+Math.abs(r.config.delta_x||0)+"px":d+"px",document.body.offsetHeight-l-_<0?(a.removeAttribute?a.removeAttribute("top"):a.removeProperty("top"),a.bottom=document.body.offsetHeight-l-2*(r.config.delta_y||0)+"px"):a.top=0>l?i.y+Math.abs(r.config.delta_y||0)+"px":l+"px",a.visibility="visible",this.tooltip.onmouseleave=function(e){for(var t=scheduler.dhtmlXTooltip,r=e.relatedTarget;r!=scheduler._obj&&r;)r=r.parentNode;
-r!=scheduler._obj&&t.delay(t.hide,t,[],t.config.timeout_to_hide)},scheduler.callEvent("onTooltipDisplayed",[this.tooltip,this.tooltip.event_id])}}},dhtmlXTooltip._clearTimeout=function(){this.tooltip._timeout_id&&window.clearTimeout(this.tooltip._timeout_id)},dhtmlXTooltip.hide=function(){if(this.tooltip.parentNode){var e=this.tooltip.event_id;this.tooltip.event_id=null,this.tooltip.onmouseleave=null,this.tooltip.parentNode.removeChild(this.tooltip),scheduler.callEvent("onAfterTooltip",[e])}this._clearTimeout()
-},dhtmlXTooltip.delay=function(e,t,r,s){this._clearTimeout(),this.tooltip._timeout_id=setTimeout(function(){var s=e.apply(t,r);return e=t=r=null,s},s||this.config.timeout_to_display)},dhtmlXTooltip.isTooltip=function(e){var t=!1;for("dhtmlXTooltip"==e.className.split(" ")[0];e&&!t;)t=e.className==this.tooltip.className,e=e.parentNode;return t},dhtmlXTooltip.position=function(e){if(e=e||window.event,e.pageX||e.pageY)return{x:e.pageX,y:e.pageY};var t=window._isIE&&"BackCompat"!=document.compatMode?document.documentElement:document.body;
+if(!this.isTooltip(n)){var d=i.x+(r.config.delta_x||0),l=i.y-(r.config.delta_y||0);a.visibility="hidden",a.removeAttribute?(a.removeAttribute("right"),a.removeAttribute("bottom")):(a.removeProperty("right"),a.removeProperty("bottom")),a.left="0",a.top="0",this.tooltip.innerHTML=t,document.body.appendChild(this.tooltip);var o=this.tooltip.offsetWidth,_=this.tooltip.offsetHeight;document.body.offsetWidth-d-o<0?(a.removeAttribute?a.removeAttribute("left"):a.removeProperty("left"),a.right=document.body.offsetWidth-d+2*(r.config.delta_x||0)+"px"):a.left=0>d?i.x+Math.abs(r.config.delta_x||0)+"px":d+"px",document.body.offsetHeight-l-_<0?(a.removeAttribute?a.removeAttribute("top"):a.removeProperty("top"),a.bottom=document.body.offsetHeight-l-2*(r.config.delta_y||0)+"px"):a.top=0>l?i.y+Math.abs(r.config.delta_y||0)+"px":l+"px",a.visibility="visible",this.tooltip.onmouseleave=function(e){e=e||window.event;
+for(var t=scheduler.dhtmlXTooltip,r=e.relatedTarget;r!=scheduler._obj&&r;)r=r.parentNode;r!=scheduler._obj&&t.delay(t.hide,t,[],t.config.timeout_to_hide)},scheduler.callEvent("onTooltipDisplayed",[this.tooltip,this.tooltip.event_id])}}},dhtmlXTooltip._clearTimeout=function(){this.tooltip._timeout_id&&window.clearTimeout(this.tooltip._timeout_id)},dhtmlXTooltip.hide=function(){if(this.tooltip.parentNode){var e=this.tooltip.event_id;this.tooltip.event_id=null,this.tooltip.onmouseleave=null,this.tooltip.parentNode.removeChild(this.tooltip),scheduler.callEvent("onAfterTooltip",[e])
+}this._clearTimeout()},dhtmlXTooltip.delay=function(e,t,r,s){this._clearTimeout(),this.tooltip._timeout_id=setTimeout(function(){var s=e.apply(t,r);return e=t=r=null,s},s||this.config.timeout_to_display)},dhtmlXTooltip.isTooltip=function(e){var t=!1;for("dhtmlXTooltip"==e.className.split(" ")[0];e&&!t;)t=e.className==this.tooltip.className,e=e.parentNode;return t},dhtmlXTooltip.position=function(e){if(e=e||window.event,e.pageX||e.pageY)return{x:e.pageX,y:e.pageY};var t=window._isIE&&"BackCompat"!=document.compatMode?document.documentElement:document.body;
return{x:e.clientX+t.scrollLeft-t.clientLeft,y:e.clientY+t.scrollTop-t.clientTop}},scheduler.attachEvent("onMouseMove",function(e,t){var r=window.event||t,s=r.target||r.srcElement,a=dhtmlXTooltip,i=a.isTooltip(s),n=a.isTooltipTarget&&a.isTooltipTarget(s);if(e||i||n){var d;if(e||a.tooltip.event_id){var l=scheduler.getEvent(e)||scheduler.getEvent(a.tooltip.event_id);if(!l)return;if(a.tooltip.event_id=l.id,d=scheduler.templates.tooltip_text(l.start_date,l.end_date,l),!d)return a.hide()}n&&(d="");var o;
if(_isIE){o={pageX:void 0,pageY:void 0,clientX:void 0,clientY:void 0,target:void 0,srcElement:void 0};for(var _ in o)o[_]=r[_]}if(!scheduler.callEvent("onBeforeTooltip",[e])||!d)return;a.delay(a.show,a,[o||r,d])}else a.delay(a.hide,a,[],a.config.timeout_to_hide)}),scheduler.attachEvent("onBeforeDrag",function(){return dhtmlXTooltip.hide(),!0}),scheduler.attachEvent("onEventDeleted",function(){return dhtmlXTooltip.hide(),!0}),scheduler.templates.tooltip_date_format=scheduler.date.date_to_str("%Y-%m-%d %H:%i"),scheduler.templates.tooltip_text=function(e,t,r){return"<b>Event:</b> "+r.text+"<br/><b>Start date:</b> "+scheduler.templates.tooltip_date_format(e)+"<br/><b>End date:</b> "+scheduler.templates.tooltip_date_format(t)
};
diff --git a/codebase/ext/dhtmlxscheduler_treetimeline.js b/codebase/ext/dhtmlxscheduler_treetimeline.js
index cc20ac1..c1f38af 100644
--- a/codebase/ext/dhtmlxscheduler_treetimeline.js
+++ b/codebase/ext/dhtmlxscheduler_treetimeline.js
@@ -1,19 +1,19 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
scheduler.attachEvent("onTimelineCreated",function(e){"tree"==e.render&&(e.y_unit_original=e.y_unit,e.y_unit=scheduler._getArrayToDisplay(e.y_unit_original),scheduler.attachEvent("onOptionsLoadStart",function(){e.y_unit=scheduler._getArrayToDisplay(e.y_unit_original)}),scheduler.form_blocks[e.name]={render:function(e){var t="<div class='dhx_section_timeline' style='overflow: hidden; height: "+e.height+"px'></div>";return t},set_value:function(e,t,r,s){var a=scheduler._getArrayForSelect(scheduler.matrix[s.type].y_unit_original,s.type);
-e.innerHTML="";var i=document.createElement("select");e.appendChild(i);var n=e.getElementsByTagName("select")[0];!n._dhx_onchange&&s.onchange&&(n.onchange=s.onchange,n._dhx_onchange=!0);for(var d=0;d<a.length;d++){var l=document.createElement("option");l.value=a[d].key,l.value==r[scheduler.matrix[s.type].y_property]&&(l.selected=!0),l.innerHTML=a[d].label,n.appendChild(l)}},get_value:function(e){return e.firstChild.value},focus:function(){}})}),scheduler.attachEvent("onBeforeSectionRender",function(e,t,r){var s={};
-if("tree"==e){var a,i,n,d,l,o;t.children?(a=r.folder_dy||r.dy,r.folder_dy&&!r.section_autoheight&&(n="height:"+r.folder_dy+"px;"),i="dhx_row_folder",d="dhx_matrix_scell folder",l="<div class='dhx_scell_expand'>"+(t.open?"-":"+")+"</div>",o=r.folder_events_available?"dhx_data_table folder_events":"dhx_data_table folder"):(a=r.dy,i="dhx_row_item",d="dhx_matrix_scell item"+(scheduler.templates[r.name+"_scaley_class"](t.key,t.label,t)?" "+scheduler.templates[r.name+"_scaley_class"](t.key,t.label,t):""),l="",o="dhx_data_table");
-var _="<div class='dhx_scell_level"+t.level+"'>"+l+"<div class='dhx_scell_name'>"+(scheduler.templates[r.name+"_scale_label"](t.key,t.label,t)||t.label)+"</div></div>";s={height:a,style_height:n,tr_className:i,td_className:d,td_content:_,table_className:o}}return s});var section_id_before;scheduler.attachEvent("onBeforeEventChanged",function(e,t,r){if(scheduler._isRender("tree")){var s=scheduler.getSection(e[scheduler.matrix[scheduler._mode].y_property]);if(s&&"undefined"!=typeof s.children&&!scheduler.matrix[scheduler._mode].folder_events_available)return r||(e[scheduler.matrix[scheduler._mode].y_property]=section_id_before),!1
-}return!0}),scheduler.attachEvent("onBeforeDrag",function(e,t,r){if(scheduler._isRender("tree")){var s,a=scheduler._locate_cell_timeline(r);if(a&&(s=scheduler.matrix[scheduler._mode].y_unit[a.y].key,"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[a.y].children&&!scheduler.matrix[scheduler._mode].folder_events_available))return!1;var i=scheduler.getEvent(e);section_id_before=s||i[scheduler.matrix[scheduler._mode].y_property]}return!0}),scheduler._getArrayToDisplay=function(e){var t=[],r=function(e,s){for(var a=s||0,i=0;i<e.length;i++)e[i].level=a,"undefined"!=typeof e[i].children&&"undefined"==typeof e[i].key&&(e[i].key=scheduler.uid()),t.push(e[i]),e[i].open&&e[i].children&&r(e[i].children,a+1)
-};return r(e),t},scheduler._getArrayForSelect=function(e,t){var r=[],s=function(e){for(var a=0;a<e.length;a++)scheduler.matrix[t].folder_events_available?r.push(e[a]):"undefined"==typeof e[a].children&&r.push(e[a]),e[a].children&&s(e[a].children,t)};return s(e),r},scheduler._toggleFolderDisplay=function(e,t,r){var s,a=function(e,t,r,i){for(var n=0;n<t.length&&(t[n].key!=e&&!i||!t[n].children||(t[n].open="undefined"!=typeof r?r:!t[n].open,s=!0,i||!s));n++)t[n].children&&a(e,t[n].children,r,i)},i=scheduler.getSection(e);
-"undefined"!=typeof t||r||(t=!i.open),scheduler.callEvent("onBeforeFolderToggle",[i,t,r])&&(a(e,scheduler.matrix[scheduler._mode].y_unit_original,t,r),scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]),scheduler.callEvent("onAfterFolderToggle",[i,t,r]))},scheduler.attachEvent("onCellClick",function(e,t){scheduler._isRender("tree")&&(scheduler.matrix[scheduler._mode].folder_events_available||"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[t]&&"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[t].children&&scheduler._toggleFolderDisplay(scheduler.matrix[scheduler._mode].y_unit[t].key))
+e.innerHTML="";var n=document.createElement("select");e.appendChild(n);var i=e.getElementsByTagName("select")[0];!i._dhx_onchange&&s.onchange&&(i.onchange=s.onchange,i._dhx_onchange=!0);for(var d=0;d<a.length;d++){var l=document.createElement("option");l.value=a[d].key,l.value==r[scheduler.matrix[s.type].y_property]&&(l.selected=!0),l.innerHTML=a[d].label,i.appendChild(l)}},get_value:function(e){return e.firstChild.value},focus:function(){}})}),scheduler.attachEvent("onBeforeSectionRender",function(e,t,r){var s={};
+if("tree"==e){var a,n,i,d,l,o;t.children?(a=r.folder_dy||r.dy,r.folder_dy&&!r.section_autoheight&&(i="height:"+r.folder_dy+"px;"),n="dhx_row_folder",d="dhx_matrix_scell folder",l="<div class='dhx_scell_expand'>"+(t.open?"-":"+")+"</div>",o=r.folder_events_available?"dhx_data_table folder_events":"dhx_data_table folder"):(a=r.dy,n="dhx_row_item",d="dhx_matrix_scell item"+(scheduler.templates[r.name+"_scaley_class"](t.key,t.label,t)?" "+scheduler.templates[r.name+"_scaley_class"](t.key,t.label,t):""),l="",o="dhx_data_table");
+var _="<div class='dhx_scell_level"+t.level+"'>"+l+"<div class='dhx_scell_name'>"+(scheduler.templates[r.name+"_scale_label"](t.key,t.label,t)||t.label)+"</div></div>";s={height:a,style_height:i,tr_className:n,td_className:d,td_content:_,table_className:o}}return s});var section_id_before;scheduler.attachEvent("onBeforeEventChanged",function(e,t,r){if(scheduler._isRender("tree")){var s=scheduler.getSection(e[scheduler.matrix[scheduler._mode].y_property]);if(s&&"undefined"!=typeof s.children&&!scheduler.matrix[scheduler._mode].folder_events_available)return r||(e[scheduler.matrix[scheduler._mode].y_property]=section_id_before),!1
+}return!0}),scheduler.attachEvent("onBeforeDrag",function(e,t,r){if(scheduler._isRender("tree")){var s,a=scheduler._locate_cell_timeline(r);if(a&&(s=scheduler.matrix[scheduler._mode].y_unit[a.y].key,"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[a.y].children&&!scheduler.matrix[scheduler._mode].folder_events_available))return!1;var n=scheduler.getEvent(e);section_id_before=s||n[scheduler.matrix[scheduler._mode].y_property]}return!0}),scheduler._getArrayToDisplay=function(e){var t=[],r=function(e,s){for(var a=s||0,n=0;n<e.length;n++)e[n].level=a,"undefined"!=typeof e[n].children&&"undefined"==typeof e[n].key&&(e[n].key=scheduler.uid()),t.push(e[n]),e[n].open&&e[n].children&&r(e[n].children,a+1)
+};return r(e),t},scheduler._getArrayForSelect=function(e,t){var r=[],s=function(e){for(var a=0;a<e.length;a++)scheduler.matrix[t].folder_events_available?r.push(e[a]):"undefined"==typeof e[a].children&&r.push(e[a]),e[a].children&&s(e[a].children,t)};return s(e),r},scheduler._toggleFolderDisplay=function(e,t,r){var s,a=function(e,t,r,n){for(var i=0;i<t.length&&(t[i].key!=e&&!n||!t[i].children||(t[i].open="undefined"!=typeof r?r:!t[i].open,s=!0,n||!s));i++)t[i].children&&a(e,t[i].children,r,n)},n=scheduler.getSection(e);
+"undefined"!=typeof t||r||(t=!n.open),scheduler.callEvent("onBeforeFolderToggle",[n,t,r])&&(a(e,scheduler.matrix[scheduler._mode].y_unit_original,t,r),scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]),scheduler.callEvent("onAfterFolderToggle",[n,t,r]))},scheduler.attachEvent("onCellClick",function(e,t){scheduler._isRender("tree")&&(scheduler.matrix[scheduler._mode].folder_events_available||"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[t]&&"undefined"!=typeof scheduler.matrix[scheduler._mode].y_unit[t].children&&scheduler._toggleFolderDisplay(scheduler.matrix[scheduler._mode].y_unit[t].key))
}),scheduler.attachEvent("onYScaleClick",function(e,t){scheduler._isRender("tree")&&"undefined"!=typeof t.children&&scheduler._toggleFolderDisplay(t.key)}),scheduler.getSection=function(e){if(scheduler._isRender("tree")){var t,r=function(e,s){for(var a=0;a<s.length;a++)s[a].key==e&&(t=s[a]),s[a].children&&r(e,s[a].children)};return r(e,scheduler.matrix[scheduler._mode].y_unit_original),t||null}},scheduler.deleteSection=function(e){if(scheduler._isRender("tree")){var t=!1,r=function(e,s){for(var a=0;a<s.length&&(s[a].key==e&&(s.splice(a,1),t=!0),!t);a++)s[a].children&&r(e,s[a].children)
};return r(e,scheduler.matrix[scheduler._mode].y_unit_original),scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]),t}},scheduler.deleteAllSections=function(){scheduler._isRender("tree")&&(scheduler.matrix[scheduler._mode].y_unit_original=[],scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]))
-},scheduler.addSection=function(e,t){if(scheduler._isRender("tree")){var r=!1,s=function(e,a,i){if(t)for(var n=0;n<i.length&&(i[n].key==a&&"undefined"!=typeof i[n].children&&(i[n].children.push(e),r=!0),!r);n++)i[n].children&&s(e,a,i[n].children);else i.push(e),r=!0};return s(e,t,scheduler.matrix[scheduler._mode].y_unit_original),scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]),r}},scheduler.openAllSections=function(){scheduler._isRender("tree")&&scheduler._toggleFolderDisplay(1,!0,!0)
+},scheduler.addSection=function(e,t){if(scheduler._isRender("tree")){var r=!1,s=function(e,a,n){if(t)for(var i=0;i<n.length&&(n[i].key==a&&"undefined"!=typeof n[i].children&&(n[i].children.push(e),r=!0),!r);i++)n[i].children&&s(e,a,n[i].children);else n.push(e),r=!0};return s(e,t,scheduler.matrix[scheduler._mode].y_unit_original),scheduler.matrix[scheduler._mode].y_unit=scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original),scheduler.callEvent("onOptionsLoad",[]),r}},scheduler.openAllSections=function(){scheduler._isRender("tree")&&scheduler._toggleFolderDisplay(1,!0,!0)
},scheduler.closeAllSections=function(){scheduler._isRender("tree")&&scheduler._toggleFolderDisplay(1,!1,!0)},scheduler.openSection=function(e){scheduler._isRender("tree")&&scheduler._toggleFolderDisplay(e,!0)},scheduler.closeSection=function(e){scheduler._isRender("tree")&&scheduler._toggleFolderDisplay(e,!1)};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_treetimeline.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_units.js b/codebase/ext/dhtmlxscheduler_units.js
index 1a0f21b..1a21f03 100644
--- a/codebase/ext/dhtmlxscheduler_units.js
+++ b/codebase/ext/dhtmlxscheduler_units.js
@@ -1,18 +1,18 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler._props={},scheduler.createUnitsView=function(e,t,r,s,a,i){"object"==typeof e&&(r=e.list,t=e.property,s=e.size||0,a=e.step||1,i=e.skip_incorrect,e=e.name),scheduler._props[e]={map_to:t,options:r,step:a,position:0},s>scheduler._props[e].options.length&&(scheduler._props[e]._original_size=s,s=0),scheduler._props[e].size=s,scheduler._props[e].skip_incorrect=i||!1,scheduler.date[e+"_start"]=scheduler.date.day_start,scheduler.templates[e+"_date"]=function(e){return scheduler.templates.day_date(e)
-},scheduler._get_unit_index=function(e,t){var r=e.position||0,s=Math.floor((scheduler._correct_shift(+t,1)-+scheduler._min_date)/864e5);return r+s},scheduler.templates[e+"_scale_text"]=function(e,t,r){return r.css?"<span class='"+r.css+"'>"+t+"</span>":t},scheduler.templates[e+"_scale_date"]=function(t){var r=scheduler._props[e],s=r.options;if(!s.length)return"";var a=scheduler._get_unit_index(r,t),i=s[a];return scheduler.templates[e+"_scale_text"](i.key,i.label,i)},scheduler.date["add_"+e]=function(e,t){return scheduler.date.add(e,t,"day")
+scheduler._props={},scheduler.createUnitsView=function(e,t,r,s,a,n){"object"==typeof e&&(r=e.list,t=e.property,s=e.size||0,a=e.step||1,n=e.skip_incorrect,e=e.name),scheduler._props[e]={map_to:t,options:r,step:a,position:0},s>scheduler._props[e].options.length&&(scheduler._props[e]._original_size=s,s=0),scheduler._props[e].size=s,scheduler._props[e].skip_incorrect=n||!1,scheduler.date[e+"_start"]=scheduler.date.day_start,scheduler.templates[e+"_date"]=function(e){return scheduler.templates.day_date(e)
+},scheduler._get_unit_index=function(e,t){var r=e.position||0,s=Math.floor((scheduler._correct_shift(+t,1)-+scheduler._min_date)/864e5);return r+s},scheduler.templates[e+"_scale_text"]=function(e,t,r){return r.css?"<span class='"+r.css+"'>"+t+"</span>":t},scheduler.templates[e+"_scale_date"]=function(t){var r=scheduler._props[e],s=r.options;if(!s.length)return"";var a=scheduler._get_unit_index(r,t),n=s[a];return scheduler.templates[e+"_scale_text"](n.key,n.label,n)},scheduler.date["add_"+e]=function(e,t){return scheduler.date.add(e,t,"day")
},scheduler.date["get_"+e+"_end"]=function(t){return scheduler.date.add(t,scheduler._props[e].size||scheduler._props[e].options.length,"day")},scheduler.attachEvent("onOptionsLoad",function(){for(var t=scheduler._props[e],r=t.order={},s=t.options,a=0;a<s.length;a++)r[s[a].key]=a;t._original_size&&0===t.size&&(t.size=t._original_size,delete t.original_size),t.size>s.length?(t._original_size=t.size,t.size=0):t.size=t._original_size||t.size,scheduler._date&&scheduler._mode==e&&scheduler.setCurrentView(scheduler._date,scheduler._mode)
}),scheduler["mouse_"+e]=function(e){var t=scheduler._props[this._mode];if(t){e=this._week_indexes_from_pos(e),this._drag_event||(this._drag_event={}),this._drag_id&&this._drag_mode&&(this._drag_event._dhx_changed=!0);var r=Math.min(e.x+t.position,t.options.length-1);e.section=(t.options[r]||{}).key,e.x=0;var s=this.getEvent(this._drag_id);this._update_unit_section({view:t,event:s,pos:e})}return e.force_redraw=!0,e},scheduler.callEvent("onOptionsLoad",[])},scheduler._update_unit_section=function(e){var t=e.view,r=e.event,s=e.pos;
-r&&(r[t.map_to]=s.section)},scheduler.scrollUnit=function(e){var t=scheduler._props[this._mode];t&&(t.position=Math.min(Math.max(0,t.position+e),t.options.length-t.size),this.update_view())},function(){var e=function(e){var t=scheduler._props[scheduler._mode];if(t&&t.order&&t.skip_incorrect){for(var r=[],s=0;s<e.length;s++)"undefined"!=typeof t.order[e[s][t.map_to]]&&r.push(e[s]);e.splice(0,e.length),e.push.apply(e,r)}return e},t=scheduler._pre_render_events_table;scheduler._pre_render_events_table=function(r,s){return r=e(r),t.apply(this,[r,s])
-};var r=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(t,s){return t=e(t),r.apply(this,[t,s])};var s=function(e,t){if(e&&"undefined"==typeof e.order[t[e.map_to]]){var r=scheduler,s=864e5,a=Math.floor((t.end_date-r._min_date)/s);return t[e.map_to]=e.options[Math.min(a+e.position,e.options.length-1)].key,!0}},a=scheduler._reset_scale,i=scheduler.is_visible_events;scheduler.is_visible_events=function(e){var t=i.apply(this,arguments);if(t){var r=scheduler._props[this._mode];
-if(r&&r.size){var s=r.order[e[r.map_to]];if(s<r.position||s>=r.size+r.position)return!1}}return t},scheduler._reset_scale=function(){var e=scheduler._props[this._mode],t=a.apply(this,arguments);if(e){this._max_date=this.date.add(this._min_date,1,"day");for(var r=this._els.dhx_cal_data[0].childNodes,s=0;s<r.length;s++)r[s].className=r[s].className.replace("_now","");if(e.size&&e.size<e.options.length){var i=this._els.dhx_cal_header[0],n=document.createElement("DIV");e.position&&(n.className="dhx_cal_prev_button",n.style.cssText="left:1px;top:2px;position:absolute;",n.innerHTML="&nbsp;",i.firstChild.appendChild(n),n.onclick=function(){scheduler.scrollUnit(-1*e.step)
-}),e.position+e.size<e.options.length&&(n=document.createElement("DIV"),n.className="dhx_cal_next_button",n.style.cssText="left:auto; right:0px;top:2px;position:absolute;",n.innerHTML="&nbsp;",i.lastChild.appendChild(n),n.onclick=function(){scheduler.scrollUnit(e.step)})}}return t};var n=scheduler._get_event_sday;scheduler._get_event_sday=function(e){var t=scheduler._props[this._mode];return t?(s(t,e),t.order[e[t.map_to]]-t.position):n.call(this,e)};var d=scheduler.locate_holder_day;scheduler.locate_holder_day=function(e,t,r){var a=scheduler._props[this._mode];
-return a&&r?(s(a,r),1*a.order[r[a.map_to]]+(t?1:0)-a.position):d.apply(this,arguments)};var l=scheduler._time_order;scheduler._time_order=function(e){var t=scheduler._props[this._mode];t?e.sort(function(e,r){return t.order[e[t.map_to]]>t.order[r[t.map_to]]?1:-1}):l.apply(this,arguments)},scheduler.attachEvent("onEventAdded",function(e,t){if(this._loading)return!0;for(var r in scheduler._props){var s=scheduler._props[r];"undefined"==typeof t[s.map_to]&&(t[s.map_to]=s.options[0].key)}return!0}),scheduler.attachEvent("onEventCreated",function(e,t){var r=scheduler._props[this._mode];
-if(r&&t){var a=this.getEvent(e),i=this._mouse_coords(t);this._update_unit_section({view:r,event:a,pos:i}),s(r,a),this.event_updated(a)}return!0})}();
+r&&(r[t.map_to]=s.section)},scheduler.scrollUnit=function(e){var t=scheduler._props[this._mode];t&&(t.position=Math.min(Math.max(0,t.position+e),t.options.length-t.size),this.setCurrentView())},function(){var e=function(e){var t=scheduler._props[scheduler._mode];if(t&&t.order&&t.skip_incorrect){for(var r=[],s=0;s<e.length;s++)"undefined"!=typeof t.order[e[s][t.map_to]]&&r.push(e[s]);e.splice(0,e.length),e.push.apply(e,r)}return e},t=scheduler._pre_render_events_table;scheduler._pre_render_events_table=function(r,s){return r=e(r),t.apply(this,[r,s])
+};var r=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(t,s){return t=e(t),r.apply(this,[t,s])};var s=function(e,t){if(e&&"undefined"==typeof e.order[t[e.map_to]]){var r=scheduler,s=864e5,a=Math.floor((t.end_date-r._min_date)/s);return t[e.map_to]=e.options[Math.min(a+e.position,e.options.length-1)].key,!0}},a=scheduler._reset_scale,n=scheduler.is_visible_events;scheduler.is_visible_events=function(e){var t=n.apply(this,arguments);if(t){var r=scheduler._props[this._mode];
+if(r&&r.size){var s=r.order[e[r.map_to]];if(s<r.position||s>=r.size+r.position)return!1}}return t},scheduler._reset_scale=function(){var e=scheduler._props[this._mode],t=a.apply(this,arguments);if(e){this._max_date=this.date.add(this._min_date,1,"day");for(var r=this._els.dhx_cal_data[0].childNodes,s=0;s<r.length;s++)r[s].className=r[s].className.replace("_now","");if(e.size&&e.size<e.options.length){var n=this._els.dhx_cal_header[0],i=document.createElement("DIV");e.position&&(i.className="dhx_cal_prev_button",i.style.cssText="left:1px;top:2px;position:absolute;",i.innerHTML="&nbsp;",n.firstChild.appendChild(i),i.onclick=function(){scheduler.scrollUnit(-1*e.step)
+}),e.position+e.size<e.options.length&&(i=document.createElement("DIV"),i.className="dhx_cal_next_button",i.style.cssText="left:auto; right:0px;top:2px;position:absolute;",i.innerHTML="&nbsp;",n.lastChild.appendChild(i),i.onclick=function(){scheduler.scrollUnit(e.step)})}}return t};var i=scheduler._get_event_sday;scheduler._get_event_sday=function(e){var t=scheduler._props[this._mode];return t?(s(t,e),this._get_section_sday(e[t.map_to])):i.call(this,e)},scheduler._get_section_sday=function(e){var t=scheduler._props[this._mode];
+return t.order[e]-t.position};var d=scheduler.locate_holder_day;scheduler.locate_holder_day=function(e,t,r){var a=scheduler._props[this._mode];return a&&r?(s(a,r),1*a.order[r[a.map_to]]+(t?1:0)-a.position):d.apply(this,arguments)};var l=scheduler._time_order;scheduler._time_order=function(e){var t=scheduler._props[this._mode];t?e.sort(function(e,r){return t.order[e[t.map_to]]>t.order[r[t.map_to]]?1:-1}):l.apply(this,arguments)},scheduler.attachEvent("onEventAdded",function(e,t){if(this._loading)return!0;
+for(var r in scheduler._props){var s=scheduler._props[r];"undefined"==typeof t[s.map_to]&&(t[s.map_to]=s.options[0].key)}return!0}),scheduler.attachEvent("onEventCreated",function(e,t){var r=scheduler._props[this._mode];if(r&&t){var a=this.getEvent(e),n=this._mouse_coords(t);this._update_unit_section({view:r,event:a,pos:n}),s(r,a),this.event_updated(a)}return!0})}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_units.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_url.js b/codebase/ext/dhtmlxscheduler_url.js
index 47f703a..666fe3c 100644
--- a/codebase/ext/dhtmlxscheduler_url.js
+++ b/codebase/ext/dhtmlxscheduler_url.js
@@ -1,10 +1,10 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
(c) Dinamenta, UAB.
*/
-scheduler.attachEvent("onTemplatesReady",function(){var e=!0,t=scheduler.date.str_to_date("%Y-%m-%d"),r=scheduler.date.date_to_str("%Y-%m-%d");scheduler.attachEvent("onBeforeViewChange",function(s,a,i,n){if(e){e=!1;for(var d={},l=(document.location.hash||"").replace("#","").split(","),o=0;o<l.length;o++){var _=l[o].split("=");2==_.length&&(d[_[0]]=_[1])}if(d.date||d.mode){try{this.setCurrentView(d.date?t(d.date):null,d.mode||null)}catch(c){this.setCurrentView(d.date?t(d.date):null,i)}return!1}}var h="#date="+r(n||a)+",mode="+(i||s);
+scheduler.attachEvent("onTemplatesReady",function(){var e=!0,t=scheduler.date.str_to_date("%Y-%m-%d"),r=scheduler.date.date_to_str("%Y-%m-%d");scheduler.attachEvent("onBeforeViewChange",function(s,a,n,i){if(e){e=!1;for(var d={},l=(document.location.hash||"").replace("#","").split(","),o=0;o<l.length;o++){var _=l[o].split("=");2==_.length&&(d[_[0]]=_[1])}if(d.date||d.mode){try{this.setCurrentView(d.date?t(d.date):null,d.mode||null)}catch(c){this.setCurrentView(d.date?t(d.date):null,n)}return!1}}var h="#date="+r(i||a)+",mode="+(n||s);
return document.location.hash=h,!0})});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_url.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_week_agenda.js b/codebase/ext/dhtmlxscheduler_week_agenda.js
index cfb4545..f1d2848 100644
--- a/codebase/ext/dhtmlxscheduler_week_agenda.js
+++ b/codebase/ext/dhtmlxscheduler_week_agenda.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -8,12 +8,12 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
scheduler._wa={},scheduler.xy.week_agenda_scale_height=20,scheduler.templates.week_agenda_event_text=function(e,t,r){return scheduler.templates.event_date(e)+" "+r.text},scheduler.date.week_agenda_start=scheduler.date.week_start,scheduler.date.week_agenda_end=function(e){return scheduler.date.add(e,7,"day")},scheduler.date.add_week_agenda=function(e,t){return scheduler.date.add(e,7*t,"day")},scheduler.attachEvent("onSchedulerReady",function(){var e=scheduler.templates;e.week_agenda_date||(e.week_agenda_date=e.week_date)
}),function(){var e=scheduler.date.date_to_str("%l, %F %d");scheduler.templates.week_agenda_scale_date=function(t){return e(t)}}(),scheduler.attachEvent("onTemplatesReady",function(){scheduler.attachEvent("onSchedulerResize",function(){return"week_agenda"==this._mode?(this.week_agenda_view(!0),!1):!0});var e=scheduler.render_data;scheduler.render_data=function(){return"week_agenda"!=this._mode?e.apply(this,arguments):void scheduler.week_agenda_view(!0)};var t=function(){scheduler._cols=[];var e=parseInt(scheduler._els.dhx_cal_data[0].style.width);
scheduler._cols.push(Math.floor(e/2)),scheduler._cols.push(e-scheduler._cols[0]-1),scheduler._colsS={0:[],1:[]};for(var t=parseInt(scheduler._els.dhx_cal_data[0].style.height),r=0;3>r;r++)scheduler._colsS[0].push(Math.floor(t/(3-scheduler._colsS[0].length))),t-=scheduler._colsS[0][r];scheduler._colsS[1].push(scheduler._colsS[0][0]),scheduler._colsS[1].push(scheduler._colsS[0][1]),t=scheduler._colsS[0][scheduler._colsS[0].length-1],scheduler._colsS[1].push(Math.floor(t/2)),scheduler._colsS[1].push(t-scheduler._colsS[1][scheduler._colsS[1].length-1])
-},r=function(){t(),scheduler._els.dhx_cal_data[0].innerHTML="",scheduler._rendered=[];for(var e="",r=0;2>r;r++){var s=scheduler._cols[r],a="dhx_wa_column";1==r&&(a+=" dhx_wa_column_last"),e+="<div class='"+a+"' style='width: "+s+"px;'>";for(var d=0;d<scheduler._colsS[r].length;d++){var n=scheduler.xy.week_agenda_scale_height-2,i=scheduler._colsS[r][d]-n-2,l=Math.min(6,2*d+r);e+="<div class='dhx_wa_day_cont'><div style='height:"+n+"px; line-height:"+n+"px;' class='dhx_wa_scale_bar'></div><div style='height:"+i+"px;' class='dhx_wa_day_data' day='"+l+"'></div></div>"
+},r=function(){t(),scheduler._els.dhx_cal_data[0].innerHTML="",scheduler._rendered=[];for(var e="",r=0;2>r;r++){var s=scheduler._cols[r],a="dhx_wa_column";1==r&&(a+=" dhx_wa_column_last"),e+="<div class='"+a+"' style='width: "+s+"px;'>";for(var n=0;n<scheduler._colsS[r].length;n++){var d=scheduler.xy.week_agenda_scale_height-2,i=scheduler._colsS[r][n]-d-2,l=Math.min(6,2*n+r);e+="<div class='dhx_wa_day_cont'><div style='height:"+d+"px; line-height:"+d+"px;' class='dhx_wa_scale_bar'></div><div style='height:"+i+"px;' class='dhx_wa_day_data' day='"+l+"'></div></div>"
}e+="</div>"}scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[scheduler._mode+"_date"](scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._els.dhx_cal_data[0].innerHTML=e;for(var _=scheduler._els.dhx_cal_data[0].getElementsByTagName("div"),o=[],r=0;r<_.length;r++)"dhx_wa_day_cont"==_[r].className&&o.push(_[r]);scheduler._wa._selected_divs=[];for(var c=scheduler.get_visible_events(),h=scheduler.date.week_start(scheduler._date),u=scheduler.date.add(h,1,"day"),r=0;7>r;r++){o[r]._date=h;
-var v=o[r].childNodes[0],f=o[r].childNodes[1];v.innerHTML=scheduler.templates.week_agenda_scale_date(h);for(var p=[],g=0;g<c.length;g++){var m=c[g];m.start_date<u&&m.end_date>h&&p.push(m)}p.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});for(var d=0;d<p.length;d++){var y=p[d],x=document.createElement("div");scheduler._rendered.push(x);var b=scheduler.templates.event_class(y.start_date,y.end_date,y);x.className="dhx_wa_ev_body"+(b?" "+b:""),y._text_style&&(x.style.cssText=y._text_style),y.color&&(x.style.background=y.color),y.textColor&&(x.style.color=y.textColor),scheduler._select_id&&y.id==scheduler._select_id&&(scheduler.config.week_agenda_select||void 0===scheduler.config.week_agenda_select)&&(x.className+=" dhx_cal_event_selected",scheduler._wa._selected_divs.push(x));
+var v=o[r].childNodes[0],f=o[r].childNodes[1];v.innerHTML=scheduler.templates.week_agenda_scale_date(h);for(var p=[],g=0;g<c.length;g++){var m=c[g];m.start_date<u&&m.end_date>h&&p.push(m)}p.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});for(var n=0;n<p.length;n++){var y=p[n],x=document.createElement("div");scheduler._rendered.push(x);var b=scheduler.templates.event_class(y.start_date,y.end_date,y);x.className="dhx_wa_ev_body"+(b?" "+b:""),y._text_style&&(x.style.cssText=y._text_style),y.color&&(x.style.background=y.color),y.textColor&&(x.style.color=y.textColor),scheduler._select_id&&y.id==scheduler._select_id&&(scheduler.config.week_agenda_select||void 0===scheduler.config.week_agenda_select)&&(x.className+=" dhx_cal_event_selected",scheduler._wa._selected_divs.push(x));
var w="";y._timed||(w="middle",y.start_date.valueOf()>=h.valueOf()&&y.start_date.valueOf()<=u.valueOf()&&(w="start"),y.end_date.valueOf()>=h.valueOf()&&y.end_date.valueOf()<=u.valueOf()&&(w="end")),x.innerHTML=scheduler.templates.week_agenda_event_text(y.start_date,y.end_date,y,h,w),x.setAttribute("event_id",y.id),f.appendChild(x)}h=scheduler.date.add(h,1,"day"),u=scheduler.date.add(u,1,"day")}};scheduler.week_agenda_view=function(e){scheduler._min_date=scheduler.date.week_start(scheduler._date),scheduler._max_date=scheduler.date.add(scheduler._min_date,1,"week"),scheduler.set_sizes(),e?(scheduler._table_view=scheduler._allow_dnd=!0,scheduler._wa._prev_data_border=scheduler._els.dhx_cal_data[0].style.borderTop,scheduler._els.dhx_cal_data[0].style.borderTop=0,scheduler._els.dhx_cal_data[0].style.overflowY="hidden",scheduler._els.dhx_cal_date[0].innerHTML="",scheduler._els.dhx_cal_data[0].style.top=parseInt(scheduler._els.dhx_cal_data[0].style.top)-20-1+"px",scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)+20+1+"px",scheduler._els.dhx_cal_header[0].style.display="none",r()):(scheduler._table_view=scheduler._allow_dnd=!1,scheduler._wa._prev_data_border&&(scheduler._els.dhx_cal_data[0].style.borderTop=scheduler._wa._prev_data_border),scheduler._els.dhx_cal_data[0].style.overflowY="auto",scheduler._els.dhx_cal_data[0].style.top=parseInt(scheduler._els.dhx_cal_data[0].style.top)+20+"px",scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)-20+"px",scheduler._els.dhx_cal_header[0].style.display="block")
-},scheduler.mouse_week_agenda=function(e){for(var t,r=e.ev,s=r.srcElement||r.target;s.parentNode;)s._date&&(t=s._date),s=s.parentNode;if(!t)return e;e.x=0;var a=t.valueOf()-scheduler._min_date.valueOf();if(e.y=Math.ceil(a/6e4/this.config.time_step),"move"==this._drag_mode){var d;this._drag_event._dhx_changed=!0,this._select_id=this._drag_id;for(var n=0;n<scheduler._rendered.length;n++)scheduler._drag_id==this._rendered[n].getAttribute("event_id")&&(d=this._rendered[n]);if(!scheduler._wa._dnd){var i=d.cloneNode(!0);
-this._wa._dnd=i,i.className=d.className,i.id="dhx_wa_dnd",i.className+=" dhx_wa_dnd",document.body.appendChild(i)}var l=document.getElementById("dhx_wa_dnd");l.style.top=(r.pageY||r.clientY)+20+"px",l.style.left=(r.pageX||r.clientX)+20+"px"}return e},scheduler.attachEvent("onBeforeEventChanged",function(){if("week_agenda"==this._mode&&"move"==this._drag_mode){var e=document.getElementById("dhx_wa_dnd");e.parentNode.removeChild(e),scheduler._wa._dnd=!1}return!0}),scheduler.attachEvent("onEventSave",function(e,t,r){return r&&"week_agenda"==this._mode&&(this._select_id=e),!0
+},scheduler.mouse_week_agenda=function(e){for(var t,r=e.ev,s=r.srcElement||r.target;s.parentNode;)s._date&&(t=s._date),s=s.parentNode;if(!t)return e;e.x=0;var a=t.valueOf()-scheduler._min_date.valueOf();if(e.y=Math.ceil(a/6e4/this.config.time_step),"move"==this._drag_mode){var n;this._drag_event._dhx_changed=!0,this._select_id=this._drag_id;for(var d=0;d<scheduler._rendered.length;d++)scheduler._drag_id==this._rendered[d].getAttribute("event_id")&&(n=this._rendered[d]);if(!scheduler._wa._dnd){var i=n.cloneNode(!0);
+this._wa._dnd=i,i.className=n.className,i.id="dhx_wa_dnd",i.className+=" dhx_wa_dnd",document.body.appendChild(i)}var l=document.getElementById("dhx_wa_dnd");l.style.top=(r.pageY||r.clientY)+20+"px",l.style.left=(r.pageX||r.clientX)+20+"px"}return e},scheduler.attachEvent("onBeforeEventChanged",function(){if("week_agenda"==this._mode&&"move"==this._drag_mode){var e=document.getElementById("dhx_wa_dnd");e.parentNode.removeChild(e),scheduler._wa._dnd=!1}return!0}),scheduler.attachEvent("onEventSave",function(e,t,r){return r&&"week_agenda"==this._mode&&(this._select_id=e),!0
}),scheduler._wa._selected_divs=[],scheduler.attachEvent("onClick",function(e){if("week_agenda"==this._mode&&(scheduler.config.week_agenda_select||void 0===scheduler.config.week_agenda_select)){if(scheduler._wa._selected_divs)for(var t=0;t<this._wa._selected_divs.length;t++){var r=this._wa._selected_divs[t];r.className=r.className.replace(/ dhx_cal_event_selected/,"")}return this.for_rendered(e,function(e){e.className+=" dhx_cal_event_selected",scheduler._wa._selected_divs.push(e)}),scheduler.select(e),!1
}return!0})});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_week_agenda.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_wp.js b/codebase/ext/dhtmlxscheduler_wp.js
index 837ca94..d62a91c 100644
--- a/codebase/ext/dhtmlxscheduler_wp.js
+++ b/codebase/ext/dhtmlxscheduler_wp.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
diff --git a/codebase/ext/dhtmlxscheduler_year_view.js b/codebase/ext/dhtmlxscheduler_year_view.js
index fcfb98c..9893457 100644
--- a/codebase/ext/dhtmlxscheduler_year_view.js
+++ b/codebase/ext/dhtmlxscheduler_year_view.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.1.0 Stardard
+dhtmlxScheduler v.4.2.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -17,8 +17,9 @@ scheduler._year_marked_cells[r]||(a.className="dhx_month_head dhx_year_event",a.
var e=[],t=this._els.dhx_cal_data[0],r=this.config;t.scrollTop=0,t.innerHTML="";var s=Math.floor(parseInt(t.style.width)/r.year_x),a=Math.floor((parseInt(t.style.height)-scheduler.xy.year_top)/r.year_y);190>a&&(a=190,s=Math.floor((parseInt(t.style.width)-scheduler.xy.scroll_width)/r.year_x));for(var d=s-11,n=0,i=document.createElement("div"),l=this.date.week_start(scheduler._currentDate()),_=0;7>_;_++)this._cols[_]=Math.floor(d/(7-_)),this._render_x_header(_,n,l,i),l=this.date.add(l,1,"day"),d-=this._cols[_],n+=this._cols[_];
i.lastChild.className+=" dhx_scale_bar_last";for(var o=this.date[this._mode+"_start"](this.date.copy(this._date)),c=o,h=null,_=0;_<r.year_y;_++)for(var u=0;u<r.year_x;u++){h=document.createElement("DIV"),h.style.cssText="position:absolute;",h.setAttribute("date",this.templates.xml_format(o)),h.innerHTML="<div class='dhx_year_month'></div><div class='dhx_year_week'>"+i.innerHTML+"</div><div class='dhx_year_body'></div>",h.childNodes[0].innerHTML=this.templates.year_month(o);for(var v=this.date.week_start(o),f=this._reset_month_scale(h.childNodes[2],o,v),p=h.childNodes[2].firstChild.rows,g=p.length;6>g;g++){p[0].parentNode.appendChild(p[0].cloneNode(!0));
for(var m=0,y=p[g].childNodes.length;y>m;m++)p[g].childNodes[m].className="dhx_after",p[g].childNodes[m].firstChild.innerHTML=scheduler.templates.month_day(f),f=scheduler.date.add(f,1,"day")}t.appendChild(h),h.childNodes[1].style.height=h.childNodes[1].childNodes[0].offsetHeight+"px";var x=Math.round((a-190)/2);h.style.marginTop=x+"px",this.set_xy(h,s-10,a-x-10,s*u+5,a*_+5+scheduler.xy.year_top),e[_*r.year_x+u]=(o.getDay()-(this.config.start_on_monday?1:0)+7)%7,o=this.date.add(o,1,"month")}this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](c,o,this._mode),this.week_starts=e,e._month=c.getMonth(),this._min_date=c,this._max_date=o
-};var n=scheduler.getActionData;scheduler.getActionData=function(t){if(!e())return n.apply(scheduler,arguments);var r=t?t.target:event.srcElement,s=scheduler._get_year_month_date(r),a=scheduler._get_year_month_cell(r),d=scheduler._get_year_day_indexes(a);return d&&s?(s=scheduler.date.add(s,d.week,"week"),s=scheduler.date.add(s,d.day,"day")):s=null,{date:s,section:null}},scheduler._get_year_day_indexes=function(e){var t=scheduler._locate_year_month_table(e);if(!t)return null;for(var r=0,s=0,r=0,a=t.rows.length;a>r;r++){for(var d=t.rows[r].getElementsByTagName("td"),s=0,n=d.length;n>s&&d[s]!=e;s++);if(n>s)break
-}return a>r?{day:s,week:r}:null},scheduler._get_year_month_date=function(e){var e=scheduler._locate_year_month_root(e);if(!e)return null;var t=e.getAttribute("date");return t?scheduler.date.week_start(scheduler.templates.xml_date(t)):null},scheduler._locate_year_month_day=function(e){return e.className&&-1!=e.className.indexOf("dhx_year_event")&&e.hasAttribute&&e.hasAttribute("date")};var i=scheduler._locate_event;scheduler._locate_event=function(e){var t=i.apply(scheduler,arguments);if(!t){var r=scheduler._get_year_el_node(e,scheduler._locate_year_month_day);
-if(!r||!r.hasAttribute("date"))return null;var s=scheduler.templates.xml_date(r.getAttribute("date")),a=scheduler.getEvents(s,scheduler.date.add(s,1,"day"));if(!a.length)return null;t=a[0].id}return t},scheduler._locate_year_month_cell=function(e){return"td"==e.nodeName.toLowerCase()},scheduler._locate_year_month_table=function(e){return"table"==e.nodeName.toLowerCase()},scheduler._locate_year_month_root=function(e){return e.hasAttribute&&e.hasAttribute("date")},scheduler._get_year_month_cell=function(e){return this._get_year_el_node(e,this._locate_year_month_cell)
-},scheduler._get_year_month_table=function(e){return this._get_year_el_node(e,this._locate_year_month_table)},scheduler._get_year_month_root=function(e){return this._get_year_el_node(this._get_year_month_table(e),this._locate_year_month_root)},scheduler._get_year_el_node=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e}}();
+};var n=scheduler.getActionData;scheduler.getActionData=function(t){if(!e())return n.apply(scheduler,arguments);var r=t?t.target:event.srcElement,s=scheduler._get_year_month_date(r),a=scheduler._get_year_month_cell(r),d=scheduler._get_year_day_indexes(a);return d&&s?(s=scheduler.date.add(s,d.week,"week"),s=scheduler.date.add(s,d.day,"day")):s=null,{date:s,section:null}},scheduler._get_year_day_indexes=function(e){var t=scheduler._get_year_el_node(e,this._locate_year_month_table);if(!t)return null;
+for(var r=0,s=0,r=0,a=t.rows.length;a>r;r++){for(var d=t.rows[r].getElementsByTagName("td"),s=0,n=d.length;n>s&&d[s]!=e;s++);if(n>s)break}return a>r?{day:s,week:r}:null},scheduler._get_year_month_date=function(e){var e=scheduler._get_year_el_node(e,scheduler._locate_year_month_root);if(!e)return null;var t=e.getAttribute("date");return t?scheduler.date.week_start(scheduler.templates.xml_date(t)):null},scheduler._locate_year_month_day=function(e){return e.className&&-1!=e.className.indexOf("dhx_year_event")&&e.hasAttribute&&e.hasAttribute("date")
+};var i=scheduler._locate_event;scheduler._locate_event=function(e){var t=i.apply(scheduler,arguments);if(!t){var r=scheduler._get_year_el_node(e,scheduler._locate_year_month_day);if(!r||!r.hasAttribute("date"))return null;var s=scheduler.templates.xml_date(r.getAttribute("date")),a=scheduler.getEvents(s,scheduler.date.add(s,1,"day"));if(!a.length)return null;t=a[0].id}return t},scheduler._locate_year_month_cell=function(e){return"td"==e.nodeName.toLowerCase()},scheduler._locate_year_month_table=function(e){return"table"==e.nodeName.toLowerCase()
+},scheduler._locate_year_month_root=function(e){return e.hasAttribute&&e.hasAttribute("date")},scheduler._get_year_month_cell=function(e){return this._get_year_el_node(e,this._locate_year_month_cell)},scheduler._get_year_month_table=function(e){return this._get_year_el_node(e,this._locate_year_month_table)},scheduler._get_year_month_root=function(e){return this._get_year_el_node(this._get_year_month_table(e),this._locate_year_month_root)},scheduler._get_year_el_node=function(e,t){for(;e&&!t(e);)e=e.parentNode;
+return e}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_year_view.js.map \ No newline at end of file