summaryrefslogtreecommitdiffstats
path: root/codebase/ext
diff options
context:
space:
mode:
Diffstat (limited to 'codebase/ext')
-rw-r--r--codebase/ext/dhtmlxscheduler_active_links.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_agenda_view.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_all_timed.js8
-rw-r--r--codebase/ext/dhtmlxscheduler_collision.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_container_autoresize.js14
-rw-r--r--codebase/ext/dhtmlxscheduler_cookie.js7
-rw-r--r--codebase/ext/dhtmlxscheduler_editors.js14
-rw-r--r--codebase/ext/dhtmlxscheduler_expand.js9
-rw-r--r--codebase/ext/dhtmlxscheduler_grid_view.js25
-rw-r--r--codebase/ext/dhtmlxscheduler_html_templates.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_key_nav.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_layer.js24
-rw-r--r--codebase/ext/dhtmlxscheduler_limit.js51
-rw-r--r--codebase/ext/dhtmlxscheduler_map_view.js12
-rw-r--r--codebase/ext/dhtmlxscheduler_minical.js38
-rw-r--r--codebase/ext/dhtmlxscheduler_monthheight.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_multisection.js17
-rw-r--r--codebase/ext/dhtmlxscheduler_multiselect.js6
-rw-r--r--codebase/ext/dhtmlxscheduler_multisource.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_mvc.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_offline.js4
-rw-r--r--codebase/ext/dhtmlxscheduler_outerdrag.js6
-rw-r--r--codebase/ext/dhtmlxscheduler_pdf.js30
-rw-r--r--codebase/ext/dhtmlxscheduler_quick_info.js18
-rw-r--r--codebase/ext/dhtmlxscheduler_readonly.js12
-rw-r--r--codebase/ext/dhtmlxscheduler_recurring.js8
-rw-r--r--codebase/ext/dhtmlxscheduler_serialize.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_timeline.js53
-rw-r--r--codebase/ext/dhtmlxscheduler_tooltip.js10
-rw-r--r--codebase/ext/dhtmlxscheduler_treetimeline.js19
-rw-r--r--codebase/ext/dhtmlxscheduler_units.js18
-rw-r--r--codebase/ext/dhtmlxscheduler_url.js7
-rw-r--r--codebase/ext/dhtmlxscheduler_week_agenda.js19
-rw-r--r--codebase/ext/dhtmlxscheduler_wp.js2
-rw-r--r--codebase/ext/dhtmlxscheduler_year_view.js2
35 files changed, 163 insertions, 310 deletions
diff --git a/codebase/ext/dhtmlxscheduler_active_links.js b/codebase/ext/dhtmlxscheduler_active_links.js
index d90ebaa..50ddf67 100644
--- a/codebase/ext/dhtmlxscheduler_active_links.js
+++ b/codebase/ext/dhtmlxscheduler_active_links.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 27fc7e2..d8382d3 100644
--- a/codebase/ext/dhtmlxscheduler_agenda_view.js
+++ b/codebase/ext/dhtmlxscheduler_agenda_view.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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_all_timed.js b/codebase/ext/dhtmlxscheduler_all_timed.js
index 8563cb5..9f2c4ac 100644
--- a/codebase/ext/dhtmlxscheduler_all_timed.js
+++ b/codebase/ext/dhtmlxscheduler_all_timed.js
@@ -1,13 +1,13 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.all_timed="short";var e=function(e){return!((e.end_date-e.start_date)/36e5>=24)};scheduler._safe_copy=function(e){var t=null,s=null;return e.event_pid&&(t=scheduler.getEvent(e.event_pid)),t&&t.isPrototypeOf(e)?(s=scheduler._copy_event(e),delete s.event_length,delete s.event_pid,delete s.rec_pattern,delete s.rec_type):s=scheduler._lame_clone(e),s};var t=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(s,i){function a(e){var t=n(e.start_date);
-return+e.end_date>+t}function n(e){var t=scheduler.date.add(e,1,"day");return t=scheduler.date.date_part(t)}function r(e,t){var s=scheduler.date.date_part(new Date(e));return s.setHours(t),s}if(!this.config.all_timed)return t.call(this,s,i);for(var d=0;d<s.length;d++){var o=s[d];if(!o._timed)if("short"!=this.config.all_timed||e(o)){var l=this._safe_copy(o);l.start_date=new Date(l.start_date),a(o)?(l.end_date=n(l.start_date),24!=this.config.last_hour&&(l.end_date=r(l.start_date,this.config.last_hour))):l.end_date=new Date(o.end_date);
-var h=!1;l.start_date<this._max_date&&l.end_date>this._min_date&&l.start_date<l.end_date&&(s[d]=l,h=!0);var _=this._safe_copy(o);if(_.end_date=new Date(_.end_date),_.start_date=_.start_date<this._min_date?r(this._min_date,this.config.first_hour):r(n(o.start_date),this.config.first_hour),_.start_date<this._max_date&&_.start_date<_.end_date){if(!h){s[d--]=_;continue}s.splice(d+1,0,_)}}else s.splice(d--,1)}var c="move"==this._drag_mode?!1:i;return t.call(this,s,c)};var s=scheduler.get_visible_events;
+!function(){scheduler.config.all_timed="short";var e=function(e){return!((e.end_date-e.start_date)/36e5>=24)};scheduler._safe_copy=function(e){var t=null,s=null;return e.event_pid&&(t=scheduler.getEvent(e.event_pid)),t&&t.isPrototypeOf(e)?(s=scheduler._copy_event(e),delete s.event_length,delete s.event_pid,delete s.rec_pattern,delete s.rec_type):s=scheduler._lame_clone(e),s};var t=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(s,i){function a(e){var t=r(e.start_date);
+return+e.end_date>+t}function r(e){var t=scheduler.date.add(e,1,"day");return t=scheduler.date.date_part(t)}function n(e,t){var s=scheduler.date.date_part(new Date(e));return s.setHours(t),s}if(!this.config.all_timed)return t.call(this,s,i);for(var d=0;d<s.length;d++){var o=s[d];if(!o._timed)if("short"!=this.config.all_timed||e(o)){var l=this._safe_copy(o);l.start_date=new Date(l.start_date),a(o)?(l.end_date=r(l.start_date),24!=this.config.last_hour&&(l.end_date=n(l.start_date,this.config.last_hour))):l.end_date=new Date(o.end_date);
+var h=!1;l.start_date<this._max_date&&l.end_date>this._min_date&&l.start_date<l.end_date&&(s[d]=l,h=!0);var _=this._safe_copy(o);if(_.end_date=new Date(_.end_date),_.start_date=_.start_date<this._min_date?n(this._min_date,this.config.first_hour):n(r(o.start_date),this.config.first_hour),_.start_date<this._max_date&&_.start_date<_.end_date){if(!h){s[d--]=_;continue}s.splice(d+1,0,_)}}else s.splice(d--,1)}var c="move"==this._drag_mode?!1:i;return t.call(this,s,c)};var s=scheduler.get_visible_events;
scheduler.get_visible_events=function(e){return this.config.all_timed&&this.config.multi_day?s.call(this,!1):s.call(this,e)},scheduler.attachEvent("onBeforeViewChange",function(e,t,s){return scheduler._allow_dnd="day"==s||"week"==s,!0}),scheduler._is_main_area_event=function(t){return!!(t._timed||this.config.all_timed===!0||"short"==this.config.all_timed&&e(t))};var i=scheduler.updateEvent;scheduler.updateEvent=function(e){var t,s=scheduler.config.all_timed&&!(scheduler.isOneDayEvent(scheduler._events[e])||scheduler.getState().drag_id);
s&&(t=scheduler.config.update_render,scheduler.config.update_render=!0),i.apply(scheduler,arguments),s&&(scheduler.config.update_render=t)}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_all_timed.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_collision.js b/codebase/ext/dhtmlxscheduler_collision.js
index fc3a20f..ca5cd65 100644
--- a/codebase/ext/dhtmlxscheduler_collision.js
+++ b/codebase/ext/dhtmlxscheduler_collision.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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_container_autoresize.js b/codebase/ext/dhtmlxscheduler_container_autoresize.js
index 356790f..705338b 100644
--- a/codebase/ext/dhtmlxscheduler_container_autoresize.js
+++ b/codebase/ext/dhtmlxscheduler_container_autoresize.js
@@ -1,15 +1,15 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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,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);
+!function(){scheduler.config.container_autoresize=!0,scheduler.config.month_day_min_height=90;var e=scheduler._pre_render_events,t=!0;scheduler._pre_render_events=function(s,i){if(!scheduler.config.container_autoresize||!t)return e.apply(this,arguments);var a=this.xy.bar_height,n=this._colsS.heights,r=this._colsS.heights=[0,0,0,0,0,0,0],d=this._els.dhx_cal_data[0];if(s=this._table_view?this._pre_render_events_table(s,i):this._pre_render_events_line(s,i),this._table_view)if(i)this._colsS.heights=n;
+else{var l=d.firstChild;if(l.rows){for(var o=0;o<l.rows.length;o++){if(r[o]++,r[o]*a>this._colsS.height-this.xy.month_head_height){var h=l.rows[o].cells,_=this._colsS.height-this.xy.month_head_height;1*this.config.max_month_events!==this.config.max_month_events||r[o]<=this.config.max_month_events?_=r[o]*a:(this.config.max_month_events+1)*a>this._colsS.height-this.xy.month_head_height&&(_=(this.config.max_month_events+1)*a);for(var c=0;c<h.length;c++)h[c].childNodes[1].style.height=_+"px";r[o]=(r[o-1]||0)+h[0].offsetHeight
+}r[o]=(r[o-1]||0)+l.rows[o].cells[0].offsetHeight}r.unshift(0),l.parentNode.offsetHeight<l.parentNode.scrollHeight&&!l._h_fix}else if(s.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(r[0]=-1),s.length||-1==r[0]){var u=(l.parentNode.childNodes,(r[0]+1)*a+1+"px");d.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+parseInt(u,10)+"px",d.style.height=this._obj.offsetHeight-parseInt(d.style.top,10)-(this.xy.margin_top||0)+"px";var g=this._els.dhx_multi_day[0];
+g.style.height=u,g.style.visibility=-1==r[0]?"hidden":"visible",g=this._els.dhx_multi_day[1],g.style.height=u,g.style.visibility=-1==r[0]?"hidden":"visible",g.className=r[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(r[0]+1)*a,r[0]=0}}return s};var s=["dhx_cal_navline","dhx_cal_header","dhx_multi_day","dhx_cal_data"],i=function(e){for(var t=0,i=0;i<s.length;i++){var a=s[i],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)
-}();
+}("day"==d||"week"==d)&&(r+=2)}t+=r}scheduler._obj.style.height=t+"px",e||scheduler.updateView()},a=function(){if(!scheduler.config.container_autoresize||!t)return!0;var e=scheduler.getState().mode;i(),(scheduler.matrix&&scheduler.matrix[e]||"month"==e)&&window.setTimeout(function(){i(!0)},1)};scheduler.attachEvent("onViewChange",a),scheduler.attachEvent("onXLE",a),scheduler.attachEvent("onEventChanged",a),scheduler.attachEvent("onEventCreated",a),scheduler.attachEvent("onEventAdded",a),scheduler.attachEvent("onEventDeleted",a),scheduler.attachEvent("onAfterSchedulerResize",a),scheduler.attachEvent("onClearAll",a),scheduler.attachEvent("onBeforeExpand",function(){return t=!1,!0
+}),scheduler.attachEvent("onBeforeCollapse",function(){return t=!0,!0})}();
//# 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 b379d8b..a383d6c 100644
--- a/codebase/ext/dhtmlxscheduler_cookie.js
+++ b/codebase/ext/dhtmlxscheduler_cookie.js
@@ -1,10 +1,11 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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,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)}}();
+!function(){function e(e,t,s){var i=e+"="+s+(t?"; "+t:"");document.cookie=i}function t(e){var t=e+"=";if(document.cookie.length>0){var s=document.cookie.indexOf(t);if(-1!=s){s+=t.length;var i=document.cookie.indexOf(";",s);return-1==i&&(i=document.cookie.length),document.cookie.substring(s,i)}}return""}var s=!0;scheduler.attachEvent("onBeforeViewChange",function(i,a,n,r){if(s&&scheduler._get_url_nav){var d=scheduler._get_url_nav();(d.date||d.mode||d.event)&&(s=!1)}if(s){s=!1;var l=t("scheduler_settings");
+if(l){scheduler._min_date||(scheduler._min_date=r),l=unescape(l).split("@"),l[0]=this.templates.xml_date(l[0]);var o=this.isViewExists(l[1])?l[1]:n,h=isNaN(+l[0])?r:l[0];return window.setTimeout(function(){scheduler.setCurrentView(h,o)},1),!1}}var _=escape(this.templates.xml_format(r||a)+"@"+(n||i));return e("scheduler_settings","expires=Sun, 31 Jan 9999 22:00:00 GMT",_),!0});var i=scheduler._load;scheduler._load=function(){var e=arguments;if(!scheduler._date&&scheduler._load_mode){var t=this;window.setTimeout(function(){i.apply(t,e)
+},1)}else i.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 8b63722..615dc79 100644
--- a/codebase/ext/dhtmlxscheduler_editors.js
+++ b/codebase/ext/dhtmlxscheduler_editors.js
@@ -1,14 +1,14 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 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(){}};
+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,s,i){!function(){function t(){if(e._combo&&e._combo.DOMParent){var t=e._combo;t.unload?t.unload():t.destructor&&t.destructor(),t.DOMParent=t.DOMelem=null}}t();var s=scheduler.attachEvent("onAfterLightbox",function(){t(),scheduler.detachEvent(s)})}(),window.dhx_globalImgPath=i.image_path||"/",e._combo=new dhtmlXCombo(e,i.name,e.offsetWidth-8),i.onchange&&e._combo.attachEvent("onChange",i.onchange),i.options_height&&e._combo.setOptionHeight(i.options_height);
+var a=e._combo;if(a.enableFilteringMode(i.filtering,i.script_path||null,!!i.cache),i.script_path){var r=s[i.map_to];r?i.cached_options[r]?(a.addOption(r,i.cached_options[r]),a.disable(1),a.selectOption(0),a.disable(0)):dhtmlxAjax.get(i.script_path+"?id="+r+"&uid="+scheduler.uid(),function(e){var t=e.doXPath("//option")[0],s=t.childNodes[0].nodeValue;i.cached_options[r]=s,a.addOption(r,s),a.disable(1),a.selectOption(0),a.disable(0)}):a.setComboValue("")}else{for(var n=[],d=0;d<i.options.length;d++){var l=i.options[d],o=[l.key,l.label,l.css];
+n.push(o)}if(a.addOption(n),s[i.map_to]){var h=a.getIndexByValue(s[i.map_to]);a.selectOption(h)}}},get_value:function(e,t,s){var i=e._combo.getSelectedValue();return s.script_path&&(s.cached_options[i]=e._combo.getSelectedText()),i},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 s=0;s<e.options.length;s++){var i=scheduler.uid();t+="<input id='"+i+"' type='radio' name='"+e.name+"' value='"+e.options[s].key+"'><label for='"+i+"'> "+e.options[s].label+"</label>",e.vertical&&(t+="<br/>")
+}return t+="</div>"},set_value:function(e,t,s,i){for(var a=e.getElementsByTagName("input"),r=0;r<a.length;r++){a[r].checked=!1;var n=s[i.map_to]||t;a[r].value==n&&(a[r].checked=!0)}},get_value:function(e){for(var t=e.getElementsByTagName("input"),s=0;s<t.length;s++)if(t[s].checked)return t[s].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,s,i){e=document.getElementById(i.id);var a=scheduler.uid(),r="undefined"!=typeof i.checked_value?t==i.checked_value:!!t;e.className+=" dhx_cal_checkbox";var n="<input id='"+a+"' type='checkbox' value='true' name='"+i.name+"'"+(r?"checked='true'":"")+"'>",d="<label for='"+a+"'>"+(scheduler.locale.labels["section_"+i.name]||i.name)+"</label>";if(scheduler.config.wide_form?(e.innerHTML=d,e.nextSibling.innerHTML=n):e.innerHTML=n+d,i.handler){var l=e.getElementsByTagName("input")[0];
+l.onclick=i.handler}},get_value:function(e,t,s){e=document.getElementById(s.id);var i=e.getElementsByTagName("input")[0];return i||(i=e.nextSibling.getElementsByTagName("input")[0]),i.checked?s.checked_value||!0:s.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 a41f0d5..00b849c 100644
--- a/codebase/ext/dhtmlxscheduler_expand.js
+++ b/codebase/ext/dhtmlxscheduler_expand.js
@@ -1,11 +1,12 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.expand=function(){var e=scheduler._obj;do e._position=e.style.position||"",e.style.position="static";while((e=e.parentNode)&&e.style);e=scheduler._obj,e.style.position="absolute",e._width=e.style.width,e._height=e.style.height,e.style.width=e.style.height="100%",e.style.top=e.style.left="0px";var t=document.body;t.scrollTop=0,t=t.parentNode,t&&(t.scrollTop=0),document.body._overflow=document.body.style.overflow||"",document.body.style.overflow="hidden",scheduler._maximize()},scheduler.collapse=function(){var e=scheduler._obj;
-do e.style.position=e._position;while((e=e.parentNode)&&e.style);e=scheduler._obj,e.style.width=e._width,e.style.height=e._height,document.body.style.overflow=document.body._overflow,scheduler._maximize()},scheduler.attachEvent("onTemplatesReady",function(){var e=document.createElement("DIV");e.className="dhx_expand_icon",scheduler.toggleIcon=e,scheduler._obj.appendChild(e),e.onclick=function(){scheduler.expanded?scheduler.collapse():scheduler.expand()}}),scheduler._maximize=function(){this.expanded=!this.expanded,this.toggleIcon.style.backgroundPosition="0 "+(this.expanded?"0":"18")+"px";
-for(var e=["left","top"],t=0;t<e.length;t++){var i=(scheduler.xy["margin_"+e[t]],scheduler["_prev_margin_"+e[t]]);scheduler.xy["margin_"+e[t]]?(scheduler["_prev_margin_"+e[t]]=scheduler.xy["margin_"+e[t]],scheduler.xy["margin_"+e[t]]=0):i&&(scheduler.xy["margin_"+e[t]]=scheduler["_prev_margin_"+e[t]],delete scheduler["_prev_margin_"+e[t]])}scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize"))};
+scheduler.expand=function(){if(scheduler.callEvent("onBeforeExpand",[])){var e=scheduler._obj;do e._position=e.style.position||"",e.style.position="static";while((e=e.parentNode)&&e.style);e=scheduler._obj,e.style.position="absolute",e._width=e.style.width,e._height=e.style.height,e.style.width=e.style.height="100%",e.style.top=e.style.left="0px";var t=document.body;t.scrollTop=0,t=t.parentNode,t&&(t.scrollTop=0),document.body._overflow=document.body.style.overflow||"",document.body.style.overflow="hidden",scheduler._maximize(),scheduler.callEvent("onExpand",[])
+}},scheduler.collapse=function(){if(scheduler.callEvent("onBeforeCollapse",[])){var e=scheduler._obj;do e.style.position=e._position;while((e=e.parentNode)&&e.style);e=scheduler._obj,e.style.width=e._width,e.style.height=e._height,document.body.style.overflow=document.body._overflow,scheduler._maximize(),scheduler.callEvent("onCollapse",[])}},scheduler.attachEvent("onTemplatesReady",function(){var e=document.createElement("DIV");e.className="dhx_expand_icon",scheduler.toggleIcon=e,scheduler._obj.appendChild(e),e.onclick=function(){scheduler.expanded?scheduler.collapse():scheduler.expand()
+}}),scheduler._maximize=function(){this.expanded=!this.expanded,this.toggleIcon.style.backgroundPosition="0 "+(this.expanded?"0":"18")+"px";for(var e=["left","top"],t=0;t<e.length;t++){var s=(scheduler.xy["margin_"+e[t]],scheduler["_prev_margin_"+e[t]]);scheduler.xy["margin_"+e[t]]?(scheduler["_prev_margin_"+e[t]]=scheduler.xy["margin_"+e[t]],scheduler.xy["margin_"+e[t]]=0):s&&(scheduler.xy["margin_"+e[t]]=scheduler["_prev_margin_"+e[t]],delete scheduler["_prev_margin_"+e[t]])}scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize"))
+};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_expand.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_grid_view.js b/codebase/ext/dhtmlxscheduler_grid_view.js
deleted file mode 100644
index 079f47b..0000000
--- a/codebase/ext/dhtmlxscheduler_grid_view.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-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,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});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 ff4d5d8..46fb7c3 100644
--- a/codebase/ext/dhtmlxscheduler_html_templates.js
+++ b/codebase/ext/dhtmlxscheduler_html_templates.js
@@ -1,9 +1,9 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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(){for(var e=document.body.getElementsByTagName("DIV"),t=0;t<e.length;t++){var s=e[t].className||"";if(s=s.split(":"),2==s.length&&"template"==s[0]){var i='return "'+(e[t].innerHTML||"").replace(/\"/g,'\\"').replace(/[\n\r]+/g,"")+'";';i=unescape(i).replace(/\{event\.([a-z]+)\}/g,function(e,t){return'"+ev.'+t+'+"'}),scheduler.templates[s[1]]=Function("start","end","ev",i),e[t].style.display="none"}}});
+scheduler.attachEvent("onTemplatesReady",function(){for(var e=document.body.getElementsByTagName("DIV"),t=0;t<e.length;t++){var s=e[t].className||"";if(s=s.split(":"),2==s.length&&"template"==s[0]){var r='return "'+(e[t].innerHTML||"").replace(/\"/g,'\\"').replace(/[\n\r]+/g,"")+'";';r=unescape(r).replace(/\{event\.([a-z]+)\}/g,function(e,t){return'"+ev.'+t+'+"'}),scheduler.templates[s[1]]=Function("start","end","ev",r),e[t].style.display="none"}}});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_html_templates.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_key_nav.js b/codebase/ext/dhtmlxscheduler_key_nav.js
index d1d6c72..e67d811 100644
--- a/codebase/ext/dhtmlxscheduler_key_nav.js
+++ b/codebase/ext/dhtmlxscheduler_key_nav.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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,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();
+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,r=null;scheduler.attachEvent("onMouseMove",function(e,r){t=scheduler.getActionData(r).date,s=scheduler.getActionData(r).section}),scheduler._make_pasted_event=function(r){var i=r.end_date-r.start_date,a=scheduler._lame_copy({},r);if(e(a),a.start_date=new Date(t),a.end_date=new Date(a.start_date.valueOf()+i),s){var n=scheduler._get_section_property();
+a[n]=scheduler.config.multisection?r[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,r=!0,scheduler.callEvent("onEventCopied",[scheduler.getEvent(s)])),!0;if(e.ctrlKey&&88==e.keyCode&&s){r=!1,scheduler._buffer_id=s;var i=scheduler.getEvent(s);scheduler.updateEvent(i.id),scheduler.callEvent("onEventCut",[i])}if(e.ctrlKey&&86==e.keyCode){var i=scheduler.getEvent(scheduler._buffer_id);if(i){var a=scheduler._make_pasted_event(i);if(r)a.id=scheduler.uid(),scheduler._do_paste(r,a,i);
+else{var n=scheduler.callEvent("onBeforeEventChanged",[a,e,!1,i]);n&&(scheduler._do_paste(r,a,i),r=!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 4f003de..f859085 100644
--- a/codebase/ext/dhtmlxscheduler_layer.js
+++ b/codebase/ext/dhtmlxscheduler_layer.js
@@ -1,24 +1,24 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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(){this.layers.sort(function(e,t){return e.zIndex-t.zIndex}),scheduler._dp_init=function(e){e._methods=["_set_event_text_style","","changeEventId","deleteEvent"],this.attachEvent("onEventAdded",function(t){!this._loading&&this.validId(t)&&this.getEvent(t)&&this.getEvent(t).layer==e.layer&&e.setUpdated(t,!0,"inserted")}),this.attachEvent("onBeforeEventDelete",function(t){if(this.getEvent(t)&&this.getEvent(t).layer==e.layer){if(!this.validId(t))return;
-var s=e.getState(t);return"inserted"==s||this._new_event?(e.setUpdated(t,!1),!0):"deleted"==s?!1:"true_deleted"==s?!0:(e.setUpdated(t,!0,"deleted"),!1)}return!0}),this.attachEvent("onEventChanged",function(t){!this._loading&&this.validId(t)&&this.getEvent(t)&&this.getEvent(t).layer==e.layer&&e.setUpdated(t,!0,"updated")}),e._getRowData=function(e){var t=this.obj.getEvent(e),s={};for(var i in t)0!==i.indexOf("_")&&(s[i]=t[i]&&t[i].getUTCFullYear?this.obj.templates.xml_format(t[i]):t[i]);return s},e._clearUpdateFlag=function(){},e.attachEvent("insertCallback",scheduler._update_callback),e.attachEvent("updateCallback",scheduler._update_callback),e.attachEvent("deleteCallback",function(e,t){this.obj.setUserData(t,this.action_param,"true_deleted"),this.obj.deleteEvent(t)
-})},function(){var e=function(t){if(null===t||"object"!=typeof t)return t;var s=new t.constructor;for(var i in t)s[i]=e(t[i]);return s};scheduler._dataprocessors=[],scheduler._layers_zindex={};for(var t=0;t<scheduler.layers.length;t++){if(scheduler.config["lightbox_"+scheduler.layers[t].name]={},scheduler.config["lightbox_"+scheduler.layers[t].name].sections=e(scheduler.config.lightbox.sections),scheduler._layers_zindex[scheduler.layers[t].name]=scheduler.config.inital_layer_zindex||5+3*t,scheduler.layers[t].url){var s=new dataProcessor(scheduler.layers[t].url);
+var s=e.getState(t);return"inserted"==s||this._new_event?(e.setUpdated(t,!1),!0):"deleted"==s?!1:"true_deleted"==s?!0:(e.setUpdated(t,!0,"deleted"),!1)}return!0}),this.attachEvent("onEventChanged",function(t){!this._loading&&this.validId(t)&&this.getEvent(t)&&this.getEvent(t).layer==e.layer&&e.setUpdated(t,!0,"updated")}),e._getRowData=function(e){var t=this.obj.getEvent(e),s={};for(var r in t)0!==r.indexOf("_")&&(s[r]=t[r]&&t[r].getUTCFullYear?this.obj.templates.xml_format(t[r]):t[r]);return s},e._clearUpdateFlag=function(){},e.attachEvent("insertCallback",scheduler._update_callback),e.attachEvent("updateCallback",scheduler._update_callback),e.attachEvent("deleteCallback",function(e,t){this.obj.setUserData(t,this.action_param,"true_deleted"),this.obj.deleteEvent(t)
+})},function(){var e=function(t){if(null===t||"object"!=typeof t)return t;var s=new t.constructor;for(var r in t)s[r]=e(t[r]);return s};scheduler._dataprocessors=[],scheduler._layers_zindex={};for(var t=0;t<scheduler.layers.length;t++){if(scheduler.config["lightbox_"+scheduler.layers[t].name]={},scheduler.config["lightbox_"+scheduler.layers[t].name].sections=e(scheduler.config.lightbox.sections),scheduler._layers_zindex[scheduler.layers[t].name]=scheduler.config.inital_layer_zindex||5+3*t,scheduler.layers[t].url){var s=new dataProcessor(scheduler.layers[t].url);
s.layer=scheduler.layers[t].name,scheduler._dataprocessors.push(s),scheduler._dataprocessors[t].init(scheduler)}scheduler.layers[t].isDefault&&(scheduler.defaultLayer=scheduler.layers[t].name)}}(),scheduler.showLayer=function(e){this.toggleLayer(e,!0)},scheduler.hideLayer=function(e){this.toggleLayer(e,!1)},scheduler.toggleLayer=function(e,t){var s=this.getLayer(e);s.visible="undefined"!=typeof t?!!t:!s.visible,this.setCurrentView(this._date,this._mode)},scheduler.getLayer=function(e){var t,s;"string"==typeof e&&(s=e),"object"==typeof e&&(s=e.layer);
-for(var i=0;i<scheduler.layers.length;i++)scheduler.layers[i].name==s&&(t=scheduler.layers[i]);return t},scheduler.attachEvent("onBeforeLightbox",function(e){var t=this.getEvent(e);return this.config.lightbox.sections=this.config["lightbox_"+t.layer].sections,scheduler.resetLightbox(),!0}),scheduler.attachEvent("onClick",function(e){var t=scheduler.getEvent(e);return!scheduler.getLayer(t.layer).noMenu}),scheduler.attachEvent("onEventCollision",function(e,t){var s=this.getLayer(e);if(!s.checkCollision)return!1;
-for(var i=0,r=0;r<t.length;r++)t[r].layer==s.name&&t[r].id!=e.id&&i++;return i>=scheduler.config.collision_limit}),scheduler.addEvent=function(e,t,s,i,r){var a=e;1!=arguments.length&&(a=r||{},a.start_date=e,a.end_date=t,a.text=s,a.id=i,a.layer=this.defaultLayer),a.id=a.id||scheduler.uid(),a.text=a.text||"","string"==typeof a.start_date&&(a.start_date=this.templates.api_date(a.start_date)),"string"==typeof a.end_date&&(a.end_date=this.templates.api_date(a.end_date)),a._timed=this.isOneDayEvent(a);
-var n=!this._events[a.id];this._events[a.id]=a,this.event_updated(a),this._loading||this.callEvent(n?"onEventAdded":"onEventChanged",[a.id,a])},this._evs_layer={};for(var e=0;e<this.layers.length;e++)this._evs_layer[this.layers[e].name]=[];scheduler.addEventNow=function(e,t,s){var i={};"object"==typeof e&&(i=e,e=null);var r=6e4*(this.config.event_duration||this.config.time_step);e||(e=Math.round(scheduler._currentDate().valueOf()/r)*r);var a=new Date(e);if(!t){var n=this.config.first_hour;n>a.getHours()&&(a.setHours(n),e=a.valueOf()),t=e+r
-}i.start_date=i.start_date||a,i.end_date=i.end_date||new Date(t),i.text=i.text||this.locale.labels.new_event,i.id=this._drag_id=this.uid(),i.layer=this.defaultLayer,this._drag_mode="new-size",this._loading=!0,this.addEvent(i),this.callEvent("onEventCreated",[this._drag_id,s]),this._loading=!1,this._drag_event={},this._on_mouse_up(s)},scheduler._t_render_view_data=function(e){if(this.config.multi_day&&!this._table_view){for(var t=[],s=[],i=0;i<e.length;i++)e[i]._timed?t.push(e[i]):s.push(e[i]);this._table_view=!0,this.render_data(s),this._table_view=!1,this.render_data(t)
+for(var r=0;r<scheduler.layers.length;r++)scheduler.layers[r].name==s&&(t=scheduler.layers[r]);return t},scheduler.attachEvent("onBeforeLightbox",function(e){var t=this.getEvent(e);return this.config.lightbox.sections=this.config["lightbox_"+t.layer].sections,scheduler.resetLightbox(),!0}),scheduler.attachEvent("onClick",function(e){var t=scheduler.getEvent(e);return!scheduler.getLayer(t.layer).noMenu}),scheduler.attachEvent("onEventCollision",function(e,t){var s=this.getLayer(e);if(!s.checkCollision)return!1;
+for(var r=0,i=0;i<t.length;i++)t[i].layer==s.name&&t[i].id!=e.id&&r++;return r>=scheduler.config.collision_limit}),scheduler.addEvent=function(e,t,s,r,i){var a=e;1!=arguments.length&&(a=i||{},a.start_date=e,a.end_date=t,a.text=s,a.id=r,a.layer=this.defaultLayer),a.id=a.id||scheduler.uid(),a.text=a.text||"","string"==typeof a.start_date&&(a.start_date=this.templates.api_date(a.start_date)),"string"==typeof a.end_date&&(a.end_date=this.templates.api_date(a.end_date)),a._timed=this.isOneDayEvent(a);
+var n=!this._events[a.id];this._events[a.id]=a,this.event_updated(a),this._loading||this.callEvent(n?"onEventAdded":"onEventChanged",[a.id,a])},this._evs_layer={};for(var e=0;e<this.layers.length;e++)this._evs_layer[this.layers[e].name]=[];scheduler.addEventNow=function(e,t,s){var r={};"object"==typeof e&&(r=e,e=null);var i=6e4*(this.config.event_duration||this.config.time_step);e||(e=Math.round(scheduler._currentDate().valueOf()/i)*i);var a=new Date(e);if(!t){var n=this.config.first_hour;n>a.getHours()&&(a.setHours(n),e=a.valueOf()),t=e+i
+}r.start_date=r.start_date||a,r.end_date=r.end_date||new Date(t),r.text=r.text||this.locale.labels.new_event,r.id=this._drag_id=this.uid(),r.layer=this.defaultLayer,this._drag_mode="new-size",this._loading=!0,this.addEvent(r),this.callEvent("onEventCreated",[this._drag_id,s]),this._loading=!1,this._drag_event={},this._on_mouse_up(s)},scheduler._t_render_view_data=function(e){if(this.config.multi_day&&!this._table_view){for(var t=[],s=[],r=0;r<e.length;r++)e[r]._timed?t.push(e[r]):s.push(e[r]);this._table_view=!0,this.render_data(s),this._table_view=!1,this.render_data(t)
}else this.render_data(e)},scheduler.render_view_data=function(){if(this._not_render)return void(this._render_wait=!0);this._render_wait=!1,this.clear_view(),this._evs_layer={};for(var e=0;e<this.layers.length;e++)this._evs_layer[this.layers[e].name]=[];for(var t=this.get_visible_events(),e=0;e<t.length;e++)this._evs_layer[t[e].layer]&&this._evs_layer[t[e].layer].push(t[e]);if("month"==this._mode){for(var s=[],e=0;e<this.layers.length;e++)this.layers[e].visible&&(s=s.concat(this._evs_layer[this.layers[e].name]));
-this._t_render_view_data(s)}else for(var e=0;e<this.layers.length;e++)if(this.layers[e].visible){var i=this._evs_layer[this.layers[e].name];this._t_render_view_data(i)}},scheduler._render_v_bar=function(e,t,s,i,r,a,n,d,l){var o=e.id;-1==n.indexOf("<div class=")&&(n=scheduler.templates["event_header_"+e.layer]?scheduler.templates["event_header_"+e.layer](e.start_date,e.end_date,e):n),-1==d.indexOf("<div class=")&&(d=scheduler.templates["event_text_"+e.layer]?scheduler.templates["event_text_"+e.layer](e.start_date,e.end_date,e):d);
-var h=document.createElement("DIV"),_="dhx_cal_event",c=scheduler.templates["event_class_"+e.layer]?scheduler.templates["event_class_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_class(e.start_date,e.end_date,e);c&&(_=_+" "+c);var u='<div event_id="'+o+'" class="'+_+'" style="position:absolute; top:'+s+"px; left:"+t+"px; width:"+(i-4)+"px; height:"+r+"px;"+(a||"")+'">';return u+='<div class="dhx_header" style=" width:'+(i-6)+'px;" >&nbsp;</div>',u+='<div class="dhx_title">'+n+"</div>",u+='<div class="dhx_body" style=" width:'+(i-(this._quirks?4:14))+"px; height:"+(r-(this._quirks?20:30))+'px;">'+d+"</div>",u+='<div class="dhx_footer" style=" width:'+(i-8)+"px;"+(l?" margin-top:-1px;":"")+'" ></div></div>',h.innerHTML=u,h.style.zIndex=100,h.firstChild
-},scheduler.render_event_bar=function(e){var t=this._els.dhx_cal_data[0],s=this._colsS[e._sday],i=this._colsS[e._eday];i==s&&(i=this._colsS[e._eday+1]);var r=this.xy.bar_height,a=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+e._sorder*r,n=document.createElement("DIV"),d=e._timed?"dhx_cal_event_clear":"dhx_cal_event_line",l=scheduler.templates["event_class_"+e.layer]?scheduler.templates["event_class_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_class(e.start_date,e.end_date,e);
-l&&(d=d+" "+l);var o='<div event_id="'+e.id+'" class="'+d+'" style="position:absolute; top:'+a+"px; left:"+s+"px; width:"+(i-s-15)+"px;"+(e._text_style||"")+'">';e._timed&&(o+=scheduler.templates["event_bar_date_"+e.layer]?scheduler.templates["event_bar_date_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_bar_date(e.start_date,e.end_date,e)),o+=scheduler.templates["event_bar_text_"+e.layer]?scheduler.templates["event_bar_text_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_bar_text(e.start_date,e.end_date,e)+"</div>)",o+="</div>",n.innerHTML=o,this._rendered.push(n.firstChild),t.appendChild(n.firstChild)
-},scheduler.render_event=function(e){var t=scheduler.xy.menu_width;if(scheduler.getLayer(e.layer).noMenu&&(t=0),!(e._sday<0)){var s=scheduler.locate_holder(e._sday);if(s){var i=60*e.start_date.getHours()+e.start_date.getMinutes(),r=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour,a=Math.round((60*i*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px)+1,n=Math.max(scheduler.xy.min_event_height,(r-i)*this.config.hour_size_px/60)+1,d=Math.floor((s.clientWidth-t)/e._count),l=e._sorder*d+1;
+this._t_render_view_data(s)}else for(var e=0;e<this.layers.length;e++)if(this.layers[e].visible){var r=this._evs_layer[this.layers[e].name];this._t_render_view_data(r)}},scheduler._render_v_bar=function(e,t,s,r,i,a,n,d,l){var o=e.id;-1==n.indexOf("<div class=")&&(n=scheduler.templates["event_header_"+e.layer]?scheduler.templates["event_header_"+e.layer](e.start_date,e.end_date,e):n),-1==d.indexOf("<div class=")&&(d=scheduler.templates["event_text_"+e.layer]?scheduler.templates["event_text_"+e.layer](e.start_date,e.end_date,e):d);
+var h=document.createElement("DIV"),_="dhx_cal_event",c=scheduler.templates["event_class_"+e.layer]?scheduler.templates["event_class_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_class(e.start_date,e.end_date,e);c&&(_=_+" "+c);var u='<div event_id="'+o+'" class="'+_+'" style="position:absolute; top:'+s+"px; left:"+t+"px; width:"+(r-4)+"px; height:"+i+"px;"+(a||"")+'">';return u+='<div class="dhx_header" style=" width:'+(r-6)+'px;" >&nbsp;</div>',u+='<div class="dhx_title">'+n+"</div>",u+='<div class="dhx_body" style=" width:'+(r-(this._quirks?4:14))+"px; height:"+(i-(this._quirks?20:30))+'px;">'+d+"</div>",u+='<div class="dhx_footer" style=" width:'+(r-8)+"px;"+(l?" margin-top:-1px;":"")+'" ></div></div>',h.innerHTML=u,h.style.zIndex=100,h.firstChild
+},scheduler.render_event_bar=function(e){var t=this._els.dhx_cal_data[0],s=this._colsS[e._sday],r=this._colsS[e._eday];r==s&&(r=this._colsS[e._eday+1]);var i=this.xy.bar_height,a=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+e._sorder*i,n=document.createElement("DIV"),d=e._timed?"dhx_cal_event_clear":"dhx_cal_event_line",l=scheduler.templates["event_class_"+e.layer]?scheduler.templates["event_class_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_class(e.start_date,e.end_date,e);
+l&&(d=d+" "+l);var o='<div event_id="'+e.id+'" class="'+d+'" style="position:absolute; top:'+a+"px; left:"+s+"px; width:"+(r-s-15)+"px;"+(e._text_style||"")+'">';e._timed&&(o+=scheduler.templates["event_bar_date_"+e.layer]?scheduler.templates["event_bar_date_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_bar_date(e.start_date,e.end_date,e)),o+=scheduler.templates["event_bar_text_"+e.layer]?scheduler.templates["event_bar_text_"+e.layer](e.start_date,e.end_date,e):scheduler.templates.event_bar_text(e.start_date,e.end_date,e)+"</div>)",o+="</div>",n.innerHTML=o,this._rendered.push(n.firstChild),t.appendChild(n.firstChild)
+},scheduler.render_event=function(e){var t=scheduler.xy.menu_width;if(scheduler.getLayer(e.layer).noMenu&&(t=0),!(e._sday<0)){var s=scheduler.locate_holder(e._sday);if(s){var r=60*e.start_date.getHours()+e.start_date.getMinutes(),i=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour,a=Math.round((60*r*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px)+1,n=Math.max(scheduler.xy.min_event_height,(i-r)*this.config.hour_size_px/60)+1,d=Math.floor((s.clientWidth-t)/e._count),l=e._sorder*d+1;
e._inner||(d*=e._count-e._sorder);var o=this._render_v_bar(e.id,t+l,a,d,n,e._text_style,scheduler.templates.event_header(e.start_date,e.end_date,e),scheduler.templates.event_text(e.start_date,e.end_date,e));if(this._rendered.push(o),s.appendChild(o),l=l+parseInt(s.style.left,10)+t,a+=this._dy_shift,o.style.zIndex=this._layers_zindex[e.layer],this._edit_id==e.id){o.style.zIndex=parseInt(o.style.zIndex)+1;var h=o.style.zIndex;d=Math.max(d-4,scheduler.xy.editor_width);var o=document.createElement("DIV");
o.setAttribute("event_id",e.id),this.set_xy(o,d,n-20,l,a+14),o.className="dhx_cal_editor",o.style.zIndex=h;var _=document.createElement("DIV");this.set_xy(_,d-6,n-26),_.style.cssText+=";margin:2px 2px 2px 2px;overflow:hidden;",_.style.zIndex=h,o.appendChild(_),this._els.dhx_cal_data[0].appendChild(o),this._rendered.push(o),_.innerHTML="<textarea class='dhx_cal_editor'>"+e.text+"</textarea>",this._quirks7&&(_.firstChild.style.height=n-12+"px"),this._editor=_.firstChild,this._editor.onkeypress=function(e){if((e||event).shiftKey)return!0;
var t=(e||event).keyCode;t==scheduler.keys.edit_save&&scheduler.editStop(!0),t==scheduler.keys.edit_cancel&&scheduler.editStop(!1)},this._editor.onselectstart=function(e){return(e||event).cancelBubble=!0,!0},_.firstChild.focus(),this._els.dhx_cal_data[0].scrollLeft=0,_.firstChild.select()}if(this._select_id==e.id){o.style.zIndex=parseInt(o.style.zIndex)+1;for(var c=this.config["icons_"+(this._edit_id==e.id?"edit":"select")],u="",v=0;v<c.length;v++)u+="<div class='dhx_menu_icon "+c[v]+"' title='"+this.locale.labels[c[v]]+"'></div>";
diff --git a/codebase/ext/dhtmlxscheduler_limit.js b/codebase/ext/dhtmlxscheduler_limit.js
index 9eb1555..a249926 100644
--- a/codebase/ext/dhtmlxscheduler_limit.js
+++ b/codebase/ext/dhtmlxscheduler_limit.js
@@ -1,35 +1,36 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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){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.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,a){var i=scheduler,n=[],d={_props:"map_to",matrix:"y_property"};for(var l in d){var o=d[l];if(i[l])for(var _ in i[l]){var h=i[l][_],c=h[o];e[c]&&(n=i._add_timespan_zones(n,scheduler._get_blocked_zones(t[_],e[c],s,r,a)))}}return n=i._add_timespan_zones(n,scheduler._get_blocked_zones(t,"global",s,r,a))
+}var t=null,s="dhx_time_block",r="default",a=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},i=function(e,t,r){var i="object"==typeof e?e:{days:e};return i.type=s,i.css="",t&&(r&&(i.sections=r),i=a(i,e,t)),i};scheduler.blockTime=function(e,t,s){var r=i(e,t,s);return scheduler.addMarkedTimespan(r)},scheduler.unblockTime=function(e,t,s){t=t||"fullday";var r=i(e,t,s);return scheduler.deleteMarkedTimespan(r)},scheduler.attachEvent("onBeforeViewChange",function(e,t,s,r){function a(e,t){var s=scheduler.config.limit_start,r=scheduler.config.limit_end,a=scheduler.date.add(e,1,t);
+return e.valueOf()>r.valueOf()||a<=s.valueOf()}return scheduler.config.limit_view&&(r=r||t,s=s||e,a(r,s)&&t.valueOf()!=r.valueOf())?(setTimeout(function(){var e=a(t,s)?scheduler.config.limit_start:t;scheduler.setCurrentView(a(e,s)?null:e,s)},1),!1):!0}),scheduler.checkInMarkedTimespan=function(t,s,a){s=s||r;for(var i=!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)),_=n.getDay(),h=e(t,l,_,o,s);
+if(h)for(var c=0;c<h.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=h[c],g=h[c+1];if(v>f&&g>u&&(i="function"==typeof a?a(t,u,v,f,g):!1,!i))break}}return!i};var n=scheduler.checkLimitViolation=function(e){if(!e)return!0;if(!scheduler.config.check_limits)return!0;var t=scheduler,r=t.config,a=[];if(e.rec_type)for(var i=scheduler.getRecDates(e),n=0;n<i.length;n++){var d=scheduler._copy_event(e);scheduler._lame_copy(d,i[n]),a.push(d)
+}else a=[e];for(var l=!0,o=0;o<a.length;o++){var _=!0,d=a[o];d._timed=scheduler.isOneDayEvent(d),_=r.limit_start&&r.limit_end?d.start_date.valueOf()>=r.limit_start.valueOf()&&d.end_date.valueOf()<=r.limit_end.valueOf():!0,_&&(_=!scheduler.checkInMarkedTimespan(d,s,function(e,s,r,a,i){var n=!0;return i>=s&&s>=a&&((1440==i||i>r)&&(n=!1),e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.start_date.setHours(0),e.start_date.setMinutes(i)):n=!1),(r>=a&&i>r||a>s&&r>i)&&(e._timed&&t._drag_id&&"new-size"==t._drag_mode?(e.end_date.setHours(0),e.end_date.setMinutes(a)):n=!1),n
+})),_||(_=t.checkEvent("onLimitViolation")?t.callEvent("onLimitViolation",[d.id,d]):_),l=l&&_}return l||(t._drag_id=null,t._drag_mode=null),l};scheduler._get_blocked_zones=function(e,t,s,r,a){var i=[];if(e&&e[t])for(var n=e[t],d=this._get_relevant_blocked_zones(s,r,n,a),l=0;l<d.length;l++)i=this._add_timespan_zones(i,d[l].zones);return i},scheduler._get_relevant_blocked_zones=function(e,t,s,r){var a=s[t]&&s[t][r]?s[t][r]:s[e]&&s[e][r]?s[e][r]:[];return a},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 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 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 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,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();
+}),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 a=this.locate_holder_day(s);
+this._els[t]=scheduler._append_mark_now(a,s)}},scheduler._append_mark_now=function(e,t){var s="dhx_now_time",r=scheduler._get_zone_minutes(t),a={zones:[r,r+1],css:s,type:s};if(!this._table_view){if(this._props&&this._props[this._mode]){for(var i=this._props[this._mode],n=i.options.length,d=e*n,l=(e+1)*n,o=(this._els.dhx_cal_data[0].childNodes,[]),_=d;l>_;_++){var h=_;a.days=h;var c=scheduler._render_marked_timespan(a,null,h)[0];o.push(c)}return o}return a.days=e,scheduler._render_marked_timespan(a,null,e)
+}return"month"==this._mode?(a.days=+scheduler.date.date_part(t),scheduler._render_marked_timespan(a,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],a=r.parentNode;a&&a.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 a=e.days.slice(),i=0;i<a.length;i++){var n=scheduler._lame_clone(e);
+n.days=a[i],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 _ in o)if(o.hasOwnProperty(_)){var h=o[_];h instanceof Array||(h=[h]);for(var i=0;i<h.length;i++){var c=scheduler._lame_copy({},e);
+c.sections={},c.sections[_]=h[i],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 a=t.getDay(),i=e-a>=0?e-a:7-t.getDay()+e,n=scheduler.date.add(t,i,"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=[],a=scheduler.config,i=this._min_date,n=this._max_date,d=!1;if(!a.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>=+i))return r;s=l.getDay()}var o=i.getDay();o>s?s=7-(o-s):s-=o}var _=e.zones,h=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)-i.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=h,m.style.top=b+"px",m.style.lineHeight=m.style.height=p+"px";for(var w=0;w<_.length;w+=2){var E=_[v],D=_[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=N.order[e.sections[this._mode]];var O=N.order[e.sections[this._mode]];
+if(N.days>1){var L=N.options.length;M=M*L+O}else M=O,N.size&&M>N.position+N.size&&(M=0)}t=t?t:scheduler.locate_holder(M);for(var v=0;v<_.length;v+=2){var E=Math.max(_[v],60*a.first_hour),D=Math.min(_[v+1],60*a.last_hour);if(E>=D){if(v+2<_.length)continue;return[]}var k=scheduler._get_block_by_config(e);k.className=h;var C=24*this.config.hour_size_px+1,T=36e5;k.style.top=Math.round((60*E*1e3-this.config.first_hour*T)*this.config.hour_size_px/T)%C+"px",k.style.lineHeight=k.style.height=Math.max(Math.round(60*(D-E)*1e3*this.config.hour_size_px/T)%C,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 a=t[r],i=scheduler._render_marked_timespan(a,null,null);i.length&&s.push.apply(s,i)}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,a=scheduler._marked_timespans,i=scheduler._marked_timespans_ids;
+i[r]||(i[r]=[]);for(var n=0;n<t.length;n++){var d=t[n],l=d.days,o=(d.zones,d.css,d.sections),_=d.type;if(d.id=r,o){for(var h in o)if(o.hasOwnProperty(h)){a[h]||(a[h]={});var c=o[h],u=a[h];u[c]||(u[c]={}),u[c][l]||(u[c][l]={}),u[c][l][_]||(u[c][l][_]=[],scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[_]||(scheduler._marked_timespans_types[_]=!0));var v=u[c][l][_];d._array=v,v.push(d),i[r].push(d)}}else{a[s][l]||(a[s][l]={}),a[s][l][_]||(a[s][l][_]=[]),scheduler._marked_timespans_types||(scheduler._marked_timespans_types={}),scheduler._marked_timespans_types[_]||(scheduler._marked_timespans_types[_]=!0);
+var v=a[s][l][_];d._array=v,v.push(d),i[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 a=s[r],i=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>i&&i>=l||a>l&&o>=a)s[r]=Math.min(a,l),s[r+1]=Math.max(i,o),r-=2;else{if(!n)continue;var _=a>l?0:2;s.splice(r+_,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 a=s[r],i=s[r+1],n=0;n<t.length;n+=2){var d=t[n],l=t[n+1];
+if(l>a&&i>d){var o=!1;a>=d&&l>=i&&s.splice(r,2),d>a&&(s.splice(r,2,a,d),o=!0),i>l&&s.splice(o?r+2:r,o?0:2,l,i),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],a=r._array,i=0;i<a.length;i++)if(a[i]==r){a.splice(i,1);break}},scheduler._delete_marked_timespan_by_config=function(e){var t=scheduler._marked_timespans,s=e.sections,a=e.days,i=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][a]&&t[d][l][a][i]&&(n=t[d][l][a][i])}}else t.global[a]&&t.global[a][i]&&(n=t.global[a][i]);for(var o=0;o<n.length;o++){var _=n[o],h=scheduler._subtract_timespan_zones(_.zones,e.zones);if(h.length)_.zones=h;else{n.splice(o,1),o--;for(var c=scheduler._marked_timespans_ids[_.id],u=0;u<c.length;u++)if(c[u]==_){c.splice(u,1);break}}}for(var o in scheduler._marked_timespans.timeline)for(var v in scheduler._marked_timespans.timeline[o])for(var u in scheduler._marked_timespans.timeline[o][v])u===i&&delete scheduler._marked_timespans.timeline[o][v][u]
+},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),a=0;a<r.length;a++)for(var i=r[a],n=0;n<t.length;n++){var d=scheduler._lame_clone(i);
+d.type=t[n],scheduler._delete_marked_timespan_by_config(d)}}},scheduler._get_types_to_render=function(e,t){var s=e?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(),a=this._mode,i=scheduler._marked_timespans,n=[];if(this._props&&this._props[a]){var d=this._props[a],l=d.options,o=scheduler._get_unit_index(d,t),_=l[o];
+if(d.days>1){var h=864e5,c=Math.floor((t-scheduler._min_date)/h);t=scheduler.date.add(scheduler._min_date,Math.floor(c/l.length),"day"),t=scheduler.date.date_part(t)}else t=scheduler.date.date_part(new Date(this._date));if(s=t.getDay(),r=t.valueOf(),i[a]&&i[a][_.key]){var u=i[a][_.key],v=scheduler._get_types_to_render(u[s],u[r]);n.push.apply(n,scheduler._get_configs_to_render(v))}}var f=i.global,g=f[r]||f[s];n.push.apply(n,scheduler._get_configs_to_render(g));for(var m=0;m<n.length;m++)scheduler._render_marked_timespan(n[m],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 5245f70..8c307c7 100644
--- a/codebase/ext/dhtmlxscheduler_map_view.js
+++ b/codebase/ext/dhtmlxscheduler_map_view.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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+";":"",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>"
+}}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",d=r.color?"background:"+r.color+";":"",i=r.textColor?"color:"+r.textColor+";":"";
+t+="<div class='"+a+"' event_id='"+r.id+"' style='"+d+i+(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;
+var d=scheduler._obj;d.appendChild(a),scheduler._els.dhx_gmap=[],scheduler._els.dhx_gmap.push(a),r("dhx_gmap");var i={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"),i);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);
+var d,i=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(),i.style.display="block",r("dhx_gmap"),d=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 i.style.display="none";google.maps.event.trigger(scheduler.map._obj,"resize"),0===scheduler.map._initialization_count&&d&&scheduler.map._obj.setCenter(d),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 87154c8..f456d65 100644
--- a/codebase/ext/dhtmlxscheduler_minical.js
+++ b/codebase/ext/dhtmlxscheduler_minical.js
@@ -1,26 +1,26 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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,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 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=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 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())),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)});
+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,a){var s=null,r=e.date||scheduler._currentDate();if("string"==typeof r&&(r=this.templates.api_date(r)),t)s=this._render_calendar(t.parentNode,r,e,t),scheduler.unmarkCalendar(s);
+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)),s=this._render_calendar(d,r,e),s.onclick=function(e){e=e||event;var t=e.target||e.srcElement;if(-1!=t.className.indexOf("dhx_month_head")){var a=t.parentNode.className;if(-1==a.indexOf("dhx_after")&&-1==a.indexOf("dhx_before")){var s=scheduler.templates.xml_date(this.getAttribute("date"));
+s.setDate(parseInt(t.innerHTML,10)),scheduler.unmarkCalendar(this),scheduler.markCalendar(this,s,"dhx_calendar_click"),this._last_date=s,this.conf.handler&&this.conf.handler.call(scheduler,s,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 v=u.start_date;for(v.valueOf()<l.valueOf()&&(v=l),v=scheduler.date.date_part(new Date(v.valueOf()));v<u.end_date&&(this.markCalendar(s,v,"dhx_year_event"),v=this.date.add(v,1,"day"),!(v.valueOf()>=o.valueOf())););}}return this._markCalendarCurrentDate(s),s.conf=e,e.sync&&!a&&this._synced_minicalendars.push(s),s.conf._on_xle_handler||(s.conf._on_xle_handler=scheduler.attachEvent("onXLE",function(){scheduler.updateCalendar(s,s.conf.date)
+})),s},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 a=e.childNodes[2].childNodes[0],s=0,r=new Date(e._min_date);+this.date.add(r,1,"week")<=+t;)r=this.date.add(r,1,"week"),s++;var d=scheduler.config.start_on_monday,n=(t.getDay()||(d?7:0))-(d?1:0);return a.rows[s].cells[n].firstChild},scheduler.markCalendar=function(e,t,a){var s=this._locateCalendar(e,t);s&&(s.className+=" "+a)},scheduler.unmarkCalendar=function(e,t,a){if(t=t||e._last_date,a=a||"dhx_calendar_click",t){var s=this._locateCalendar(e,t);s&&(s.className=(s.className||"").replace(RegExp(a,"g")))
+}},scheduler._week_template=function(e){for(var t=e||250,a=0,s=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,a,r,s),r=this.date.add(r,1,"day"),t-=this._cols[d],a+=this._cols[d];return s.lastChild.className+=" dhx_scale_bar_last",s},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,a,s){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,v=this._week_template(e.offsetWidth-1-this.config.minicalendar.padding);if(s?u=s:(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'>"+v.innerHTML+"</div><div class='dhx_year_body'></div>",u.childNodes[0].innerHTML=this.templates.calendar_month(t),a.navigation)for(var f=function(e,t){var a=scheduler.date.add(e._date,t,"month");
+scheduler.updateCalendar(e,a),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(a.sync)for(var t=scheduler._synced_minicalendars,s=0;s<t.length;s++)f(t[s],e);else f(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,D=E.length;6>D;D++){var k=E[E.length-1];E[0].parentNode.appendChild(k.cloneNode(!0));var M=parseInt(k.childNodes[k.childNodes.length-1].childNodes[0].innerHTML);M=10>M?M:0;for(var N=0;N<E[D].childNodes.length;N++)E[D].childNodes[N].className="dhx_after",E[D].childNodes[N].childNodes[0].innerHTML=scheduler.date.to_fixed(++M)
+}return s||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"),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,a=this.date.date_part(scheduler._currentDate()),s=1440,r=0;
+t.limit_time_select&&(r=60*t.first_hour,s=60*t.last_hour+1),a.setHours(r/60),e+=" <select>";for(var d=r;s>d;d+=1*this.config.time_step){var n=this.templates.time_picker(a);e+="<option value='"+d+"'>"+n+"</option>",a=this.date.add(a,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,a){function s(e,t,a){l(e,t,a),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,a){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===a&&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(a.start_date)&&0===scheduler.date.time_part(a.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!==a.end_date.getHours()||0!==a.end_date.getMinutes()))&&(d=scheduler.date.add(d,1,"day"))
+}var l=r||a.start_date,o=d||a.end_date;s(n[0],l),s(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}s(n[0],a.start_date,0),s(n[1],a.end_date,1),l=function(){},i[0].value=60*a.start_date.getHours()+a.start_date.getMinutes(),i[1].value=60*a.end_date.getHours()+a.end_date.getMinutes()},get_value:function(e,t){var a=e.getElementsByTagName("input"),s=e.getElementsByTagName("select");return t.start_date=scheduler.date.add(a[0]._date,s[0].value,"minute"),t.end_date=scheduler.date.add(a[1]._date,s[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 a=function(){var a=scheduler._date,s=new Date(a.valueOf());return t&&(s=t(s)),s.setDate(1),scheduler.updateCalendar(e,s),!0};scheduler.attachEvent("onViewChange",a),scheduler.attachEvent("onXLE",a),scheduler.attachEvent("onEventAdded",a),scheduler.attachEvent("onEventChanged",a),scheduler.attachEvent("onAfterEventDelete",a),a()},scheduler._markCalendarCurrentDate=function(e){var t=scheduler._date,a=scheduler._mode,s=scheduler.date.month_start(new Date(e._date)),r=scheduler.date.add(s,1,"month");
+if("day"==a||this._props&&this._props[a])s.valueOf()<=t.valueOf()&&r>t&&scheduler.markCalendar(e,t,"dhx_calendar_click");else if("week"==a)for(var d=scheduler.date.week_start(new Date(t.valueOf())),n=0;7>n;n++)s.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 89aa32c..0b388cd 100644
--- a/codebase/ext/dhtmlxscheduler_monthheight.js
+++ b/codebase/ext/dhtmlxscheduler_monthheight.js
@@ -1,10 +1,10 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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(){scheduler.xy.scroll_width=0;var e=scheduler.render_view_data;scheduler.render_view_data=function(){var t=this._els.dhx_cal_data[0];t.firstChild._h_fix=!0,e.apply(scheduler,arguments);var s=parseInt(t.style.height);t.style.height="1px",t.style.height=t.scrollHeight+"px",this._obj.style.height=this._obj.clientHeight+t.scrollHeight-s+"px"};var t=scheduler._reset_month_scale;scheduler._reset_month_scale=function(e,s,a){var r={clientHeight:100};t.apply(scheduler,[r,s,a]),e.innerHTML=r.innerHTML
+scheduler.attachEvent("onTemplatesReady",function(){scheduler.xy.scroll_width=0;var e=scheduler.render_view_data;scheduler.render_view_data=function(){var t=this._els.dhx_cal_data[0];t.firstChild._h_fix=!0,e.apply(scheduler,arguments);var a=parseInt(t.style.height);t.style.height="1px",t.style.height=t.scrollHeight+"px",this._obj.style.height=this._obj.clientHeight+t.scrollHeight-a+"px"};var t=scheduler._reset_month_scale;scheduler._reset_month_scale=function(e,a,s){var r={clientHeight:100};t.apply(scheduler,[r,a,s]),e.innerHTML=r.innerHTML
}});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_monthheight.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_multisection.js b/codebase/ext/dhtmlxscheduler_multisection.js
deleted file mode 100644
index 1c04b98..0000000
--- a/codebase/ext/dhtmlxscheduler_multisection.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-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.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);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 260b885..917ea11 100644
--- a/codebase/ext/dhtmlxscheduler_multiselect.js
+++ b/codebase/ext/dhtmlxscheduler_multiselect.js
@@ -1,11 +1,11 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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)
+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 n=e.getElementsByTagName("input"),d=0;d<n.length;d++)n[d].checked=!1;
+var i={};if(s[r.map_to]){for(var l=(s[r.map_to]+"").split(","),d=0;d<l.length;d++)i[l[d]]=!0;a(i)}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"),n={},d=0;d<s.length;d++)n[s[d].getAttribute(r.map_to)]=!0;a(n),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 a6a10c5..03baf2b 100644
--- a/codebase/ext/dhtmlxscheduler_multisource.js
+++ b/codebase/ext/dhtmlxscheduler_multisource.js
@@ -1,9 +1,9 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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=function(){};return t.prototype=e,t}var t=scheduler._load;scheduler._load=function(s,r){if(s=s||this._load_url,"object"==typeof s)for(var a=e(this._loaded),i=0;i<s.length;i++)this._loaded=new a,t.call(this,s[i],r);else t.apply(this,arguments)}}();
+!function(){function e(e){var t=function(){};return t.prototype=e,t}var t=scheduler._load;scheduler._load=function(s,r){if(s=s||this._load_url,"object"==typeof s)for(var a=e(this._loaded),n=0;n<s.length;n++)this._loaded=new a,t.call(this,s[n],r);else t.apply(this,arguments)}}();
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_multisource.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_mvc.js b/codebase/ext/dhtmlxscheduler_mvc.js
index b40ca07..9cea230 100644
--- a/codebase/ext/dhtmlxscheduler_mvc.js
+++ b/codebase/ext/dhtmlxscheduler_mvc.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 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})}}();
+!function(){function e(e){var t={};for(var s in e)0!==s.indexOf("_")&&(t[s]=e[s]);return d.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 d.use_id?e.id:e.cid}var n,d={use_id:!1};scheduler.backbone=function(n,i){function l(){o.length&&(scheduler.parse(o,"json"),o=[])
+}i&&(d=i),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),d=a(r);d!=t&&this.changeEventId(t,d),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})}}();
//# 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 da996da..587dbf7 100644
--- a/codebase/ext/dhtmlxscheduler_offline.js
+++ b/codebase/ext/dhtmlxscheduler_offline.js
@@ -1,12 +1,12 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.load=function(e,t){var s;return"string"==typeof t&&(this._process=t,s=t,t=arguments[2]),this._load_url=e,this._after_call=t,e.$proxy?void e.load(this,"string"==typeof s?s:null):void this._load(e,this._date)},scheduler._dp_init_backup=scheduler._dp_init,scheduler._dp_init=function(e){e._sendData=function(e,t){if(e){if(!this.callEvent("onBeforeDataSending",t?[t,this.getState(t),e]:[null,null,e]))return!1;if(t&&(this._in_progress[t]=(new Date).valueOf()),this.serverProcessor.$proxy){var s="POST"!=this._tMode?"get":"post",r=[];
-for(var a in e)r.push({id:a,data:e[a],operation:this.getState(a)});return void this.serverProcessor._send(r,s,this)}var i=new dtmlXMLLoaderObject(this.afterUpdate,this,!0),n=this.serverProcessor+(this._user?getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&"):"");"POST"!=this._tMode?i.loadXML(n+(-1!=n.indexOf("?")?"&":"?")+this.serialize(e,t)):i.loadXML(n,!0,this.serialize(e,t)),this._waitMode++}},e._updatesToParams=function(e){for(var t={},s=0;s<e.length;s++)t[e[s].id]=e[s].data;
+for(var a in e)r.push({id:a,data:e[a],operation:this.getState(a)});return void this.serverProcessor._send(r,s,this)}var n=new dtmlXMLLoaderObject(this.afterUpdate,this,!0),i=this.serverProcessor+(this._user?getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&"):"");"POST"!=this._tMode?n.loadXML(i+(-1!=i.indexOf("?")?"&":"?")+this.serialize(e,t)):n.loadXML(i,!0,this.serialize(e,t)),this._waitMode++}},e._updatesToParams=function(e){for(var t={},s=0;s<e.length;s++)t[e[s].id]=e[s].data;
return this.serialize(t)},e._processResult=function(e,t,s){if(200==s.status)t=new dtmlXMLLoaderObject(function(){},this,!0),t.loadXMLString(e),t.xmlDoc=s,this.afterUpdate(this,null,null,null,t);else for(var r in this._in_progress){var a=this.getState(r);this.afterUpdateCallback(r,r,a,null)}},this._dp_init_backup(e)},window.dataProcessor&&(dataProcessor.prototype.init=function(e){this.init_original(e),e._dataprocessor=this,this.setTransactionMode("POST",!0),this.serverProcessor.$proxy||(this.serverProcessor+=(-1!=this.serverProcessor.indexOf("?")?"&":"?")+"editing=true")
});
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_offline.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_outerdrag.js b/codebase/ext/dhtmlxscheduler_outerdrag.js
index ce5363b..bf4cc82 100644
--- a/codebase/ext/dhtmlxscheduler_outerdrag.js
+++ b/codebase/ext/dhtmlxscheduler_outerdrag.js
@@ -1,11 +1,11 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 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
+scheduler.attachEvent("onTemplatesReady",function(){var e,t=new dhtmlDragAndDropObject,r=t.stopDrag;t.stopDrag=function(t){return e=t||event,r.apply(this,arguments)},t.addDragLanding(scheduler._els.dhx_cal_data[0],{_drag:function(t,r,s,a){if(!scheduler.checkEvent("onBeforeExternalDragIn")||scheduler.callEvent("onBeforeExternalDragIn",[t,r,s,a,e])){var n=scheduler.attachEvent("onEventCreated",function(r){scheduler.callEvent("onExternalDragIn",[r,t,e])||(this._drag_mode=this._drag_id=null,this.deleteEvent(r))
+}),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
},_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 04437a0..59c8a41 100644
--- a/codebase/ext/dhtmlxscheduler_pdf.js
+++ b/codebase/ext/dhtmlxscheduler_pdf.js
@@ -1,23 +1,23 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 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)
+!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,d=parseFloat(n.style.width);
+if(!(e>d))break;e-=d+1,t+=d+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 d(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 i(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 d=n.firstChild.rows[a];t+="<row><![CDATA["+e(d.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=[],d=0;d<s[a].cells.length;d++)n.push(s[a].cells[d].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,d=t[0].offsetWidth,i=1,a=0;a<r.length;a++)s+="\n<column second_scale='"+i+"'><![CDATA["+e(r[a].innerHTML)+"]]></column>",n+=r[a].offsetWidth,n>=d&&(d+=t[i]?t[i].offsetWidth:0,i++),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,M=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=d(o[h],f),D=i(o[h],D);
+else if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){f=0;var N=o[h].parentNode.parentNode.parentNode;D=N.rowIndex;var C=m;m=o[h].parentNode.offsetHeight,b=a(o[h].style.top),b-=.2*b,m=C}else{if(o[h].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[h].parentNode.style.left,O)}if(l+="\n<event week='"+D+"' day='"+f+"' type='"+E+"' x='"+p+"' y='"+b+"' width='"+y+"' height='"+w+"' len='"+M+"'>","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,d){var i=!1;"fullcolor"==a&&(i=!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,d);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(i)+o("page");
+v+=o("pages"),scheduler.setCurrentView(g,m)}else v=_("data",a,n,d)+h().replace("–","-")+f(i)+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)
}}();
//# 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 7aa6e28..1ab52cf 100644
--- a/codebase/ext/dhtmlxscheduler_quick_info.js
+++ b/codebase/ext/dhtmlxscheduler_quick_info.js
@@ -1,17 +1,17 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.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.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},r=0;r<e.length;r++)scheduler.attachEvent(e[r],t)}(),scheduler.templates.quick_info_title=function(e,t,r){return r.text.substr(0,50)
+},scheduler.templates.quick_info_content=function(e,t,r){return r.details||r.text},scheduler.templates.quick_info_date=function(e,t,r){return scheduler.isOneDayEvent(r)?scheduler.templates.day_date(e,t,r)+" "+scheduler.templates.event_header(e,t,r):scheduler.templates.week_date(e,t,r)},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 r=t._offsetWidth;if(scheduler.config.quick_info_detached)return t.parentNode.removeChild(t);"auto"==t.style.right?t.style.left=-r+"px":t.style.right=-r+"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 r=t.offsetWidth,s=t.offsetHeight;scheduler.config.quick_info_detached?(t.style.left=e.left-e.dx*(r-e.width)+"px",t.style.top=e.top-(e.dy?s:-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=-r+"px",setTimeout(function(){t.style.left="-10px"},1)):(t.style.left="auto",t.style.right=-r+"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)};
+var r='<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>';r+='<div class="dhx_cal_qi_controls" style="height:'+e.quick_info_buttons+'px">';for(var s=scheduler.config.icons_select,a=0;a<s.length;a++)r+='<div class="dhx_qi_big_icon '+s[a]+'" title="'+scheduler.locale.labels[s[a]]+"\"><div class='dhx_menu_icon "+s[a]+"'></div><div>"+scheduler.locale.labels[s[a]]+"</div></div>";
+r+="</div>",t.innerHTML=r,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 r=e.className;if(-1!=r.indexOf("_icon")){var s=scheduler._quick_info_box_id;
+scheduler._click.buttons[r.split(" ")[1].replace("icon_","")](s)}else scheduler._qi_button_click(e.parentNode)}},scheduler._get_event_counter_part=function(e){for(var t=scheduler.getRenderedEvent(e),r=0,s=0,a=t;a&&a!=scheduler._obj;)r+=a.offsetLeft,s+=a.offsetTop-a.scrollTop,a=a.offsetParent;if(a){var n=r+t.offsetWidth/2>scheduler._x/2?1:0,d=s+t.offsetHeight/2>scheduler._y/2?1:0;return{left:r,top:s,dx:n,dy:d,width:t.offsetWidth,height:t.offsetHeight}}return 0},scheduler._fill_quick_data=function(e){var t=scheduler.getEvent(e),r=scheduler._quick_info_box;
+scheduler._quick_info_box_id=e;var s=r.firstChild.firstChild;s.innerHTML=scheduler.templates.quick_info_title(t.start_date,t.end_date,t);var a=s.nextSibling;a.innerHTML=scheduler.templates.quick_info_date(t.start_date,t.end_date,t);var n=r.firstChild.nextSibling;n.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 4b23c49..c935152 100644
--- a/codebase/ext/dhtmlxscheduler_readonly.js
+++ b/codebase/ext/dhtmlxscheduler_readonly.js
@@ -1,13 +1,13 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 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)}});
+scheduler.attachEvent("onTemplatesReady",function(){function e(e,t,r,s){for(var a=t.getElementsByTagName(e),n=r.getElementsByTagName(e),i=n.length-1;i>=0;i--){var r=n[i];if(s){var d=document.createElement("SPAN");d.className="dhx_text_disabled",d.innerHTML=s(a[i]),r.parentNode.insertBefore(d,r),r.parentNode.removeChild(r)}else r.disabled=!0,t.checked&&(r.checked=!0)}}var t=scheduler.config.lightbox.sections.slice(),r=scheduler.config.buttons_left.slice(),s=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=r.slice(),scheduler.config.buttons_right=s.slice();var n=this.config.lightbox.sections;if(this.config.readonly_active){for(var a=0;a<n.length;a++)if("recurring"==n[a].type){this.config.readonly_active&&n.splice(a,1);break}for(var i=["dhx_delete_btn","dhx_save_btn"],d=[scheduler.config.buttons_left,scheduler.config.buttons_right],a=0;a<i.length;a++)for(var l=i[a],o=0;o<d.length;o++){for(var _=d[o],h=-1,c=0;c<_.length;c++)if(_[c]==l){h=c;
+break}-1!=h&&_.splice(h,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 r=a.apply(this,arguments);if(this.config.readonly_active&&(t.style.visibility="",t.style.display="none"),this.config.readonly_active){var s=this.getLightbox(),i=this._lightbox_r=s.cloneNode(!0);i.id=scheduler.uid(),e("textarea",s,i,function(e){return e.value}),e("input",s,i,!1),e("select",s,i,function(e){return e.options.length?e.options[Math.max(e.selectedIndex||0,0)].text:""
+}),s.parentNode.insertBefore(i,s),n.call(this,i),scheduler._lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),this._lightbox=i,scheduler.config.drag_lightbox&&(i.firstChild.onmousedown=scheduler._ready_to_dnd),this.setLightboxSize(),i.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 r};var n=scheduler.showCover;scheduler.showCover=function(){this.config.readonly_active||n.apply(this,arguments)};var i=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),i.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 5cef71d..54003f6 100644
--- a/codebase/ext/dhtmlxscheduler_recurring.js
+++ b/codebase/ext/dhtmlxscheduler_recurring.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.
@@ -9,14 +9,14 @@ scheduler.config.occurrence_timestamp_in_utc=!1,scheduler.config.recurring_workd
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));
+}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",v(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;
+},v=scheduler.date.date_to_str(scheduler.config.repeat_date),f=e.getElementsByTagName("FORM")[0],g={};if(a(f.getElementsByTagName("INPUT")),a(f.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)
+}};scheduler.form_blocks.recurring._set_repeat_code=l;for(var b=0;b<f.elements.length;b++){var w=f.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]||[]
diff --git a/codebase/ext/dhtmlxscheduler_serialize.js b/codebase/ext/dhtmlxscheduler_serialize.js
index f23793c..196e978 100644
--- a/codebase/ext/dhtmlxscheduler_serialize.js
+++ b/codebase/ext/dhtmlxscheduler_serialize.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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_timeline.js b/codebase/ext/dhtmlxscheduler_timeline.js
deleted file mode 100644
index b29820b..0000000
--- a/codebase/ext/dhtmlxscheduler_timeline.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-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_matrix_scope=function(){function e(){for(var e=scheduler.get_visible_events(),t=[],r=0;r<this.y_unit.length;r++)t[r]=[];t[s]||(t[s]=[]);for(var r=0;r<e.length;r++){for(var s=this.order[e[r][this.y_property]],a=0;this._trace_x[a+1]&&e[r].start_date>=this._trace_x[a+1];)a++;for(;this._trace_x[a]&&e[r].end_date>this._trace_x[a];)t[s][a]||(t[s][a]=[]),t[s][a].push(e[r]),a++}return t}function t(e,t,r){var s=0,a=r._step,n=r.round_position,i=0,d=t?e.end_date:e.start_date;d.valueOf()>scheduler._max_date.valueOf()&&(d=scheduler._max_date);
-var l=d-scheduler._min_date_timeline;if(l>0){var _=scheduler._get_date_index(r,d);scheduler._ignores[_]&&(n=!0);for(var o=0;_>o;o++)s+=scheduler._cols[o];var c=scheduler.date.add(scheduler._min_date_timeline,scheduler.matrix[scheduler._mode].x_step*_,scheduler.matrix[scheduler._mode].x_unit);n?+d>+c&&t&&(i=scheduler._cols[_]):(l=d-c,r.first_hour||r.last_hour?(l-=r._start_correction,0>l&&(l=0),i=Math.round(l/a),i>scheduler._cols[_]&&(i=scheduler._cols[_])):i=Math.round(l/a))}return s+=t?0===l||n?i-14:i-12:i+1
-}function r(e,t){var r=scheduler._get_date_index(this,e),s=this._trace_x[r];return t&&+e!=+this._trace_x[r]&&(s=this._trace_x[r+1]?this._trace_x[r+1]:scheduler.date.add(this._trace_x[r],this.x_step,this.x_unit)),new Date(s)}function s(e){var t="";if(e&&"cell"!=this.render){e.sort(this.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 s=[],a=e.length,n=0;a>n;n++){var i=e[n];i._inner=!1;var d=this.round_position?r.apply(this,[i.start_date,!1]):i.start_date;
-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=[],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();
-var t=scheduler._min_date;n.call(this,scheduler._els.dhx_cal_header[0]),a.call(this,scheduler._els.dhx_cal_data[0]),scheduler._min_date=t,scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[this.name+"_date"](scheduler._min_date,scheduler._max_date),scheduler._mark_now&&scheduler._mark_now()}l()}function l(){scheduler._tooltip&&(scheduler._tooltip.style.display="none",scheduler._tooltip.date="")}function _(e,t,r){if("cell"==e.render){var s=t.x+"_"+t.y,a=e._matrix[t.y][t.x];if(!a)return l();
-if(a.sort(function(e,t){return e.start_date>t.start_date?1:-1}),scheduler._tooltip){if(scheduler._tooltip.date==s)return;scheduler._tooltip.innerHTML=""}else{var n=scheduler._tooltip=document.createElement("DIV");n.className="dhx_year_tooltip",document.body.appendChild(n),n.onclick=scheduler._click.dhx_cal_data}for(var i="",d=0;d<a.length;d++){var _=a[d].color?"background-color:"+a[d].color+";":"",o=a[d].textColor?"color:"+a[d].textColor+";":"";i+="<div class='dhx_tooltip_line' event_id='"+a[d].id+"' style='"+_+o+"'>",i+="<div class='dhx_tooltip_date'>"+(a[d]._timed?scheduler.templates.event_date(a[d].start_date):"")+"</div>",i+="<div class='dhx_event_icon icon_details'>&nbsp;</div>",i+=scheduler.templates[e.name+"_tooltip"](a[d].start_date,a[d].end_date,a[d])+"</div>"
-}scheduler._tooltip.style.display="",scheduler._tooltip.style.top="0px",scheduler._tooltip.style.left=document.body.offsetWidth-r.left-scheduler._tooltip.offsetWidth<0?r.left-scheduler._tooltip.offsetWidth+"px":r.left+t.src.offsetWidth+"px",scheduler._tooltip.date=s,scheduler._tooltip.innerHTML=i,scheduler._tooltip.style.top=document.body.offsetHeight-r.top-scheduler._tooltip.offsetHeight<0?r.top-scheduler._tooltip.offsetHeight+t.src.offsetHeight+"px":r.top+"px"}}function o(e){for(var t=e.parentNode.childNodes,r=0;r<t.length;r++)if(t[r]==e)return r;
-return-1}function c(e){e=e||event;for(var t=e.target?e.target:e.srcElement;t&&"DIV"!=t.tagName;)t=t.parentNode;if(t&&"DIV"==t.tagName){var r=t.className.split(" ")[0];if("dhx_scale_bar"==r)return{x:o(t),y:-1,src:t,scale:!0}}}scheduler.matrix={},scheduler._merge=function(e,t){for(var r in t)"undefined"==typeof e[r]&&(e[r]=t[r])},scheduler.createTimelineView=function(e){scheduler._skin_init(),scheduler._merge(e,{section_autoheight:!0,name:"matrix",x:"time",y:"time",x_step:1,x_unit:"hour",y_unit:"day",y_step:1,x_start:0,x_size:24,y_start:0,y_size:7,render:"cell",dx:200,dy:50,event_dy:scheduler.xy.bar_height-5,event_min_dy:scheduler.xy.bar_height-5,resize_events:!0,fit_events:!0,show_unassigned:!1,second_scale:!1,round_position:!1,_logic:function(e,t,r){var s={};
-return scheduler.checkEvent("onBeforeSectionRender")&&(s=scheduler.callEvent("onBeforeSectionRender",[e,t,r])),s}}),e._original_x_start=e.x_start,"day"!=e.x_unit&&(e.first_hour=e.last_hour=0),e._start_correction=e.first_hour?60*e.first_hour*60*1e3:0,e._end_correction=e.last_hour?60*(24-e.last_hour)*60*1e3:0,scheduler.checkEvent("onTimelineCreated")&&scheduler.callEvent("onTimelineCreated",[e]);var t=scheduler.render_data;scheduler.render_data=function(r,s){if(this._mode!=e.name)return t.apply(this,arguments);
-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(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);
-c="dhx_cal_event_line "+(c||"");var h=e.color?"background:"+e.color+";":"",u=e.textColor?"color:"+e.textColor+";":"",v=scheduler.templates.event_bar_text(e.start_date,e.end_date,e),f='<div event_id="'+e.id+'" class="'+c+'" style="'+h+u+"position:absolute; top:"+_+"px; height: "+l+"px; left:"+n+"px; width:"+Math.max(0,i-n)+"px;"+(e._text_style||"")+'">';if(scheduler.config.drag_resize&&!scheduler.config.readonly){var g="dhx_event_resize";f+="<div class='"+g+" "+g+"_start' style='height: "+l+"px;'></div><div class='"+g+" "+g+"_end' style='height: "+l+"px;'></div>"
-}if(f+=v+"</div>",!r)return f;var p=document.createElement("DIV");p.innerHTML=f;var m=this.order[s],y=scheduler._els.dhx_cal_data[0].firstChild.rows[m].cells[1].firstChild;scheduler._rendered.push(p.firstChild),y.appendChild(p.firstChild)},scheduler._matrix_tooltip_handler=function(e){var t=scheduler.matrix[scheduler._mode];if(t&&"cell"==t.render){if(t){{var r=scheduler._locate_cell_timeline(e),e=e||event;e.target||e.srcElement}if(r)return _(t,r,getOffset(r.src))}l()}},scheduler._init_matrix_tooltip=function(){scheduler._detachDomEvent(scheduler._els.dhx_cal_data[0],"mouseover",scheduler._matrix_tooltip_handler),dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",scheduler._matrix_tooltip_handler)
-},scheduler._renderMatrix=function(e,t){if(t||(scheduler._els.dhx_cal_data[0].scrollTop=0),scheduler._min_date=scheduler.date[this.name+"_start"](scheduler._date),scheduler._max_date=scheduler.date.add(scheduler._min_date,this.x_size*this.x_step,this.x_unit),scheduler._table_view=!0,this.second_scale&&(e&&!this._header_resized&&(this._header_resized=scheduler.xy.scale_height,scheduler.xy.scale_height*=2,scheduler._els.dhx_cal_header[0].className+=" dhx_second_cal_header"),!e&&this._header_resized)){scheduler.xy.scale_height/=2,this._header_resized=!1;
-var r=scheduler._els.dhx_cal_header[0];r.className=r.className.replace(/ dhx_second_cal_header/gi,"")}d.call(this,e)},scheduler._locate_cell_timeline=function(e){e=e||event;for(var t=e.target?e.target:e.srcElement,r={},s=scheduler.matrix[scheduler._mode],a=scheduler.getActionData(e),n=0;n<s._trace_x.length-1&&!(+a.date<s._trace_x[n+1]);n++);r.x=n,r.y=s.order[a.section];var i=scheduler._isRender("cell")?1:0;r.src=s._scales[a.section]?s._scales[a.section].getElementsByTagName("td")[n+i]:null;for(var d=!1;0===r.x&&"dhx_cal_data"!=t.className&&t.parentNode;){if("dhx_matrix_scell"==t.className.split(" ")[0]){d=!0;
-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)}),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();
-//# sourceMappingURL=../sources/ext/dhtmlxscheduler_timeline.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_tooltip.js b/codebase/ext/dhtmlxscheduler_tooltip.js
index 4eeedaa..ac385d4 100644
--- a/codebase/ext/dhtmlxscheduler_tooltip.js
+++ b/codebase/ext/dhtmlxscheduler_tooltip.js
@@ -1,15 +1,15 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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){e=e||window.event;
+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 n=this.position(e),i=e.target||e.srcElement;
+if(!this.isTooltip(i)){var d=n.x+(r.config.delta_x||0),l=n.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 _=this.tooltip.offsetWidth,o=this.tooltip.offsetHeight;document.body.offsetWidth-d-_<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?n.x+Math.abs(r.config.delta_x||0)+"px":d+"px",document.body.offsetHeight-l-o<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?n.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)
+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,n=a.isTooltip(s),i=a.isTooltipTarget&&a.isTooltipTarget(s);if(e||n||i){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()}i&&(d="");var _;
+if(_isIE){_={pageX:void 0,pageY:void 0,clientX:void 0,clientY:void 0,target:void 0,srcElement:void 0};for(var o in _)_[o]=r[o]}if(!scheduler.callEvent("onBeforeTooltip",[e])||!d)return;a.delay(a.show,a,[_||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)
};
//# sourceMappingURL=../sources/ext/dhtmlxscheduler_tooltip.js.map \ No newline at end of file
diff --git a/codebase/ext/dhtmlxscheduler_treetimeline.js b/codebase/ext/dhtmlxscheduler_treetimeline.js
deleted file mode 100644
index c1f38af..0000000
--- a/codebase/ext/dhtmlxscheduler_treetimeline.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-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 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,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
deleted file mode 100644
index 1a21f03..0000000
--- a/codebase/ext/dhtmlxscheduler_units.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-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,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.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 666fe3c..72610bf 100644
--- a/codebase/ext/dhtmlxscheduler_url.js
+++ b/codebase/ext/dhtmlxscheduler_url.js
@@ -1,10 +1,11 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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,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})});
+scheduler._get_url_nav=function(){for(var e={},t=(document.location.hash||"").replace("#","").split(","),r=0;r<t.length;r++){var s=t[r].split("=");2==s.length&&(e[s[0]]=s[1])}return e},scheduler.attachEvent("onTemplatesReady",function(){function e(e){a=e,scheduler.getEvent(e)&&scheduler.showEvent(e)}var t=!0,r=scheduler.date.str_to_date("%Y-%m-%d"),s=scheduler.date.date_to_str("%Y-%m-%d"),a=scheduler._get_url_nav().event||null;scheduler.attachEvent("onAfterEventDisplay",function(){return a=null,!0
+}),scheduler.attachEvent("onBeforeViewChange",function(n,i,d,l){if(t){t=!1;var _=scheduler._get_url_nav();if(_.event)try{if(scheduler.getEvent(_.event))return e(_.event),!1;var o=scheduler.attachEvent("onXLE",function(){e(_.event),scheduler.detachEvent(o)})}catch(c){}if(_.date||_.mode){try{this.setCurrentView(_.date?r(_.date):null,_.mode||null)}catch(c){this.setCurrentView(_.date?r(_.date):null,d)}return!1}}var h=["date="+s(l||i),"mode="+(d||n)];a&&h.push("event="+a);var u="#"+h.join(",");return document.location.hash=u,!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
deleted file mode 100644
index f1d2848..0000000
--- a/codebase/ext/dhtmlxscheduler_week_agenda.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-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._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 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 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 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 d62a91c..b544fab 100644
--- a/codebase/ext/dhtmlxscheduler_wp.js
+++ b/codebase/ext/dhtmlxscheduler_wp.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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 9893457..66ede16 100644
--- a/codebase/ext/dhtmlxscheduler_year_view.js
+++ b/codebase/ext/dhtmlxscheduler_year_view.js
@@ -1,5 +1,5 @@
/*
-dhtmlxScheduler v.4.2.0 Stardard
+dhtmlxScheduler v.4.3.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.