summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexKlimenkov <shurick.klimenkov@gmail.com>2015-02-03 14:29:45 +0300
committerAlexKlimenkov <shurick.klimenkov@gmail.com>2015-02-05 13:25:55 +0300
commitf56a0475d90af025e92ec4716ff4e5121992b4fe (patch)
treec351eff2ed0b007eafed412a513bbec5fb4c5f91
parent32504c39dd0183ac30da815e4cf41ac8fa022b99 (diff)
downloadscheduler-4.3.0.zip
scheduler-4.3.0.tar.gz
scheduler-4.3.0.tar.bz2
[update] version 4.3.0v4.3.0
-rw-r--r--README.md2
-rw-r--r--bower.json3
-rw-r--r--codebase/connector/combo_connector.php2
-rw-r--r--codebase/connector/crosslink_connector.php2
-rw-r--r--codebase/connector/data_connector.php16
-rw-r--r--codebase/connector/db_common.php2
-rw-r--r--codebase/connector/db_pdo.php25
-rw-r--r--codebase/connector/db_phpcake.php2
-rw-r--r--codebase/connector/db_phpci.php6
-rw-r--r--codebase/connector/db_phpyii.php2
-rw-r--r--codebase/connector/gantt_connector.php10
-rw-r--r--codebase/connector/grid_connector.php11
-rw-r--r--codebase/connector/strategy.php4
-rw-r--r--codebase/connector/tree_connector.php3
-rw-r--r--codebase/connector/treedatamultitable_connector.php2
-rw-r--r--codebase/connector/treegrid_connector.php3
-rw-r--r--codebase/connector/treegridmultitable_connector.php1
-rw-r--r--codebase/connector/treemultitable_connector.php2
-rw-r--r--codebase/dhtmlxscheduler.css4
-rw-r--r--codebase/dhtmlxscheduler.js135
-rw-r--r--codebase/dhtmlxscheduler_classic.css2
-rw-r--r--codebase/dhtmlxscheduler_flat.css4
-rw-r--r--codebase/dhtmlxscheduler_glossy.css4
-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
-rw-r--r--codebase/locale/locale_ar.js2
-rw-r--r--codebase/locale/locale_be.js2
-rw-r--r--codebase/locale/locale_ca.js2
-rw-r--r--codebase/locale/locale_cn.js2
-rw-r--r--codebase/locale/locale_cs.js2
-rw-r--r--codebase/locale/locale_da.js2
-rw-r--r--codebase/locale/locale_de.js2
-rw-r--r--codebase/locale/locale_el.js2
-rw-r--r--codebase/locale/locale_en.js2
-rw-r--r--codebase/locale/locale_es.js2
-rw-r--r--codebase/locale/locale_fi.js2
-rw-r--r--codebase/locale/locale_fr.js2
-rw-r--r--codebase/locale/locale_he.js2
-rw-r--r--codebase/locale/locale_hu.js2
-rw-r--r--codebase/locale/locale_id.js2
-rw-r--r--codebase/locale/locale_it.js6
-rw-r--r--codebase/locale/locale_jp.js2
-rw-r--r--codebase/locale/locale_nb.js2
-rw-r--r--codebase/locale/locale_nl.js2
-rw-r--r--codebase/locale/locale_no.js2
-rw-r--r--codebase/locale/locale_pl.js2
-rw-r--r--codebase/locale/locale_pt.js2
-rw-r--r--codebase/locale/locale_ro.js2
-rw-r--r--codebase/locale/locale_ru.js2
-rw-r--r--codebase/locale/locale_si.js2
-rw-r--r--codebase/locale/locale_sk.js2
-rw-r--r--codebase/locale/locale_sv.js2
-rw-r--r--codebase/locale/locale_tr.js2
-rw-r--r--codebase/locale/locale_ua.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_be.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_cn.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_cs.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_da.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_de.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_el.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_en.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_es.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_fi.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_fr.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_it.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_nb.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_nl.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_pl.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_pt.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_ro.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_ru.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_sk.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_sv.js2
-rw-r--r--codebase/locale/recurring/locale_recurring_ua.js2
-rw-r--r--codebase/sources/dhtmlxscheduler.js155
-rw-r--r--codebase/sources/dhtmlxscheduler.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_active_links.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_agenda_view.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_all_timed.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_collision.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_container_autoresize.js20
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_container_autoresize.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_cookie.js12
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_cookie.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_editors.js11
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_editors.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_expand.js8
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_expand.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_grid_view.js470
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_grid_view.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_html_templates.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_key_nav.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_layer.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_limit.js51
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_limit.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_map_view.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_minical.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_monthheight.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_multisection.js289
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_multisection.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_multiselect.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_multisource.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_mvc.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_offline.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_outerdrag.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_pdf.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_quick_info.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_readonly.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_recurring.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_serialize.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_timeline.js1311
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_timeline.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_tooltip.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_treetimeline.js313
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_treetimeline.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_units.js264
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_units.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_url.js103
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_url.js.map2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_week_agenda.js261
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_week_agenda.js.map1
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_wp.js2
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_year_view.js2
-rw-r--r--codebase/sources/skins/dhtmlxscheduler.css2
-rw-r--r--codebase/sources/skins/dhtmlxscheduler_classic.css2
-rw-r--r--codebase/sources/skins/dhtmlxscheduler_flat.css4
-rw-r--r--codebase/sources/skins/dhtmlxscheduler_glossy.css2
-rw-r--r--whatsnew.txt13
161 files changed, 686 insertions, 3493 deletions
diff --git a/README.md b/README.md
index c0acd76..f8e0818 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-dhtmlxScheduler v.4.2.0
+dhtmlxScheduler v.4.3.0
=====================
dhtmlxScheduler is a JavaScript event calendar that allows you to add a Google-like scheduler to your web app or website. Intuitive drag-and-drop interface allows the end users to quickly manage events and appointments in different views: Day, Week, Month, Year, Agenda, Timeline, etc. Very lightweight, highly customizable, and fast, dhtmlxScheduler provides a quick way to add an Ajax-based event calendar on a web page.
diff --git a/bower.json b/bower.json
index 057ba26..67fb430 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "scheduler",
- "version": "4.2.0",
+ "version": "4.3.0",
"homepage": "http://dhtmlx.com/docs/products/dhtmlxScheduler/",
"description": "JavaScript event calendar. Allows to manage events and appointments in different views",
"main": "codebase/dhtmlxscheduler.js",
@@ -8,7 +8,6 @@
"calendar",
"scheduler",
"dhtmlx",
- "timeline",
"agenda",
"month",
"day",
diff --git a/codebase/connector/combo_connector.php b/codebase/connector/combo_connector.php
index ad28017..8fb5416 100644
--- a/codebase/connector/combo_connector.php
+++ b/codebase/connector/combo_connector.php
@@ -25,7 +25,7 @@ class ComboDataItem extends DataItem{
function to_xml_start(){
if ($this->skip) return "";
- return "<option ".($this->selected?"selected='true' ":"")."value='".$this->get_id()."'><![CDATA[".$this->data[$this->config->text[0]["name"]]."]]>";
+ return "<option ".($this->selected?"selected='true'":"")."value='".$this->xmlentities($this->get_id())."'><![CDATA[".$this->data[$this->config->text[0]["name"]]."]]>";
}
/*! return self as XML string, ending part
*/
diff --git a/codebase/connector/crosslink_connector.php b/codebase/connector/crosslink_connector.php
index 22ad83d..7d5c74c 100644
--- a/codebase/connector/crosslink_connector.php
+++ b/codebase/connector/crosslink_connector.php
@@ -97,7 +97,7 @@ class CrossOptionsConnector extends Connector{
public function afterProcessing($action){
$status = $action->get_status();
- $master_key = $action->get_value($this->master_name);
+ $master_key = $action->get_id();//value($this->master_name);
$link_key = $action->get_value($this->link_name);
$link_key = explode(',', $link_key);
diff --git a/codebase/connector/data_connector.php b/codebase/connector/data_connector.php
index 7c9251d..165cc0f 100644
--- a/codebase/connector/data_connector.php
+++ b/codebase/connector/data_connector.php
@@ -277,6 +277,8 @@ class JSONCommonDataItem extends DataItem{
for ($i=0; $i<sizeof($this->config->text); $i++){
$extra = $this->config->text[$i]["name"];
$data[$extra]=$this->data[$extra];
+ if (is_null($data[$extra]))
+ $data[$extra] = "";
}
if ($this->userdata !== false)
@@ -366,6 +368,7 @@ class TreeCommonDataItem extends CommonDataItem{
class TreeDataConnector extends DataConnector{
protected $parent_name = 'parent';
+ public $rootId = "0";
/*! constructor
@@ -395,7 +398,7 @@ class TreeDataConnector extends DataConnector{
if (isset($_GET[$this->parent_name]))
$this->request->set_relation($_GET[$this->parent_name]);
else
- $this->request->set_relation("0");
+ $this->request->set_relation($this->rootId);
$this->request->set_limit(0,0); //netralize default reaction on dyn. loading mode
}
@@ -403,7 +406,10 @@ class TreeDataConnector extends DataConnector{
/*! renders self as xml, starting part
*/
protected function xml_start(){
- $attributes = " parent='".$this->request->get_relation()."' ";
+ $attributes = " ";
+ if (!$this->rootId || $this->rootId != $this->request->get_relation())
+ $attributes = " parent='".$this->request->get_relation()."' ";
+
foreach($this->attributes as $k=>$v)
$attributes .= " ".$k."='".$v."'";
@@ -426,7 +432,9 @@ class JSONTreeDataConnector extends TreeDataConnector{
if ($this->simple) return $result;
$data = array();
- $data["parent"] = $this->request->get_relation();
+ if (!$this->rootId || $this->rootId != $this->request->get_relation())
+ $data["parent"] = $this->request->get_relation();
+
$data["data"] = $result;
$this->fill_collections();
@@ -517,4 +525,4 @@ class JSONTreeCommonDataItem extends TreeCommonDataItem{
}
-?> \ No newline at end of file
+?>
diff --git a/codebase/connector/db_common.php b/codebase/connector/db_common.php
index e2f521e..effc291 100644
--- a/codebase/connector/db_common.php
+++ b/codebase/connector/db_common.php
@@ -523,7 +523,7 @@ abstract class DataWrapper{
@param config
DataConfig instance
*/
- public function __construct($connection,$config){
+ public function __construct($connection = false,$config = false){
$this->config=$config;
$this->connection=$connection;
}
diff --git a/codebase/connector/db_pdo.php b/codebase/connector/db_pdo.php
index d1ad4d8..1417462 100644
--- a/codebase/connector/db_pdo.php
+++ b/codebase/connector/db_pdo.php
@@ -39,6 +39,31 @@ class PDODBDataWrapper extends DBDataWrapper{
return $sql;
}
+ public function tables_list() {
+ $result = $this->query("SHOW TABLES");
+ if ($result===false) throw new Exception("MySQL operation failed\n".mysql_error($this->connection));
+
+ $tables = array();
+ while ($table = $result->next()) {
+ $tables[] = $table[0];
+ }
+ return $tables;
+ }
+
+ public function fields_list($table) {
+ $result = $this->query("SHOW COLUMNS FROM `".$table."`");
+ if ($result===false) throw new Exception("MySQL operation failed\n".mysql_error($this->connection));
+
+ $fields = array();
+ $id = "";
+ while ($field = $result->next()) {
+ if ($field['Key'] == "PRI")
+ $id = $field["Field"];
+ else
+ $fields[] = $field["Field"];
+ }
+ return array("fields" => $fields, "key" => $id );
+ }
public function get_next($res){
$data = $res->next();
diff --git a/codebase/connector/db_phpcake.php b/codebase/connector/db_phpcake.php
index 97d94eb..4df0289 100644
--- a/codebase/connector/db_phpcake.php
+++ b/codebase/connector/db_phpcake.php
@@ -19,9 +19,9 @@ class PHPCakeDBDataWrapper extends ArrayDBDataWrapper{
else
$res = $this->connection->find("all");
+ $temp = array();
if (sizeof($res)){
$name = get_class($this->connection);
- $temp = array();
for ($i=sizeof($res)-1; $i>=0; $i--)
$temp[]=&$res[$i][$name];
}
diff --git a/codebase/connector/db_phpci.php b/codebase/connector/db_phpci.php
index b9a5879..e38d831 100644
--- a/codebase/connector/db_phpci.php
+++ b/codebase/connector/db_phpci.php
@@ -19,8 +19,10 @@ class PHPCIDBDataWrapper extends DBDataWrapper{
if ($res===false) {
throw new Exception("CI - sql execution failed");
}
-
- return new PHPCIResultSet($res);
+
+ if (is_object($res))
+ return new PHPCIResultSet($res);
+ return new ArrayQueryWrapper(array());
}
public function get_next($res){
diff --git a/codebase/connector/db_phpyii.php b/codebase/connector/db_phpyii.php
index f71d61a..616d7f3 100644
--- a/codebase/connector/db_phpyii.php
+++ b/codebase/connector/db_phpyii.php
@@ -13,8 +13,8 @@ class PHPYiiDBDataWrapper extends ArrayDBDataWrapper{
else
$res = $this->connection->findAll();
+ $temp = array();
if (sizeof($res)){
- $temp = array();
foreach ($res as $obj)
$temp[]=$obj->getAttributes();
}
diff --git a/codebase/connector/gantt_connector.php b/codebase/connector/gantt_connector.php
index 74b8636..3577835 100644
--- a/codebase/connector/gantt_connector.php
+++ b/codebase/connector/gantt_connector.php
@@ -131,15 +131,15 @@ class GanttConnector extends Connector{
class GanttDataProcessor extends DataProcessor{
function name_data($data){
if ($data=="start_date")
- return $this->config->text[0]["db_name"];
+ return $this->config->text[0]["name"];
if ($data=="id")
- return $this->config->id["db_name"];
+ return $this->config->id["name"];
if ($data=="duration" && $this->config->text[1]["name"] == "duration")
- return $this->config->text[1]["db_name"];
+ return $this->config->text[1]["name"];
if ($data=="end_date" && $this->config->text[1]["name"] == "end_date")
- return $this->config->text[1]["db_name"];
+ return $this->config->text[1]["name"];
if ($data=="text")
- return $this->config->text[2]["db_name"];
+ return $this->config->text[2]["name"];
return $data;
}
diff --git a/codebase/connector/grid_connector.php b/codebase/connector/grid_connector.php
index 10a98bd..d9be16a 100644
--- a/codebase/connector/grid_connector.php
+++ b/codebase/connector/grid_connector.php
@@ -94,13 +94,20 @@ class GridDataItem extends DataItem{
for ($i=0; $i < sizeof($this->config->text); $i++){
$str.="<cell";
$name=$this->config->text[$i]["name"];
+ $xmlcontent = false;
if (isset($this->cell_attrs[$name])){
$cattrs=$this->cell_attrs[$name];
- foreach ($cattrs as $k => $v)
+ foreach ($cattrs as $k => $v){
$str.=" ".$k."='".$this->xmlentities($v)."'";
+ if ($k == "xmlcontent")
+ $xmlcontent = true;
+ }
}
$value = isset($this->data[$name]) ? $this->data[$name] : '';
- $str.="><![CDATA[".$value."]]></cell>";
+ if (!$xmlcontent)
+ $str.="><![CDATA[".$value."]]></cell>";
+ else
+ $str.=">".$value."</cell>";
}
if ($this->userdata !== false)
foreach ($this->userdata as $key => $value)
diff --git a/codebase/connector/strategy.php b/codebase/connector/strategy.php
index f9a106f..39c0188 100644
--- a/codebase/connector/strategy.php
+++ b/codebase/connector/strategy.php
@@ -245,7 +245,7 @@ class MultitableTreeRenderStrategy extends TreeRenderStrategy {
private $level = 0;
private $max_level = null;
- protected $sep = "#";
+ protected $sep = ",";
public function __construct($conn) {
parent::__construct($conn);
@@ -341,7 +341,7 @@ class MultitableTreeRenderStrategy extends TreeRenderStrategy {
$this->max_level = $max_level;
}
public function parse_id($id, $set_level = true) {
- $parts = explode('#', urldecode($id));
+ $parts = explode($this->sep, $id, 2);
if (count($parts) === 2) {
$level = $parts[0] + 1;
$id = $parts[1];
diff --git a/codebase/connector/tree_connector.php b/codebase/connector/tree_connector.php
index 154f02a..814fb12 100644
--- a/codebase/connector/tree_connector.php
+++ b/codebase/connector/tree_connector.php
@@ -151,6 +151,7 @@ require_once("filesystem_item.php");
**/
class TreeConnector extends Connector{
protected $parent_name = 'id';
+ public $rootId = "0";
/*! constructor
@@ -180,7 +181,7 @@ class TreeConnector extends Connector{
if (isset($_GET[$this->parent_name]))
$this->request->set_relation($_GET[$this->parent_name]);
else
- $this->request->set_relation("0");
+ $this->request->set_relation($this->rootId);
$this->request->set_limit(0,0); //netralize default reaction on dyn. loading mode
}
diff --git a/codebase/connector/treedatamultitable_connector.php b/codebase/connector/treedatamultitable_connector.php
index 8dba8c6..104770e 100644
--- a/codebase/connector/treedatamultitable_connector.php
+++ b/codebase/connector/treedatamultitable_connector.php
@@ -28,7 +28,7 @@ class TreeDataMultitableConnector extends TreeDataConnector{
public function xml_start(){
if (isset($_GET[$this->parent_name])) {
- return "<data parent='".$this->render->level_id($_GET[$this->parent_name], $this->render->get_level() - 1)."'>";
+ return "<data parent='".$this->xmlentities($this->render->level_id($_GET[$this->parent_name], $this->render->get_level() - 1))."'>";
} else {
return "<data parent='0'>";
}
diff --git a/codebase/connector/treegrid_connector.php b/codebase/connector/treegrid_connector.php
index 0bb19ea..1f89137 100644
--- a/codebase/connector/treegrid_connector.php
+++ b/codebase/connector/treegrid_connector.php
@@ -53,6 +53,7 @@ class TreeGridDataItem extends GridDataItem{
**/
class TreeGridConnector extends GridConnector{
protected $parent_name = 'id';
+ protected $rootId = "0";
/*! constructor
@@ -82,7 +83,7 @@ class TreeGridConnector extends GridConnector{
if (isset($_GET[$this->parent_name]))
$this->request->set_relation($_GET[$this->parent_name]);
else
- $this->request->set_relation("0");
+ $this->request->set_relation($this->rootId);
$this->request->set_limit(0,0); //netralize default reaction on dyn. loading mode
}
diff --git a/codebase/connector/treegridmultitable_connector.php b/codebase/connector/treegridmultitable_connector.php
index 3f4bbd9..31217f9 100644
--- a/codebase/connector/treegridmultitable_connector.php
+++ b/codebase/connector/treegridmultitable_connector.php
@@ -11,7 +11,6 @@ class TreeGridMultitableConnector extends TreeGridConnector{
$data_type="TreeGridMultitableDataProcessor";
if (!$render_type) $render_type="MultitableTreeRenderStrategy";
parent::__construct($res,$type,$item_type,$data_type,$render_type);
- $this->render->set_separator("%23");
}
public function render(){
diff --git a/codebase/connector/treemultitable_connector.php b/codebase/connector/treemultitable_connector.php
index 09bb19b..b06164c 100644
--- a/codebase/connector/treemultitable_connector.php
+++ b/codebase/connector/treemultitable_connector.php
@@ -28,7 +28,7 @@ class TreeMultitableConnector extends TreeConnector{
public function xml_start(){
if (isset($_GET[$this->parent_name])) {
- return "<tree id='".($this->render->level_id($_GET[$this->parent_name], $this->get_level() - 1))."'>";
+ return "<tree id='".$this->xmlentities($this->render->level_id($_GET[$this->parent_name], $this->get_level() - 1))."'>";
} else {
return "<tree id='0'>";
}
diff --git a/codebase/dhtmlxscheduler.css b/codebase/dhtmlxscheduler.css
index 7496c46..9977380 100644
--- a/codebase/dhtmlxscheduler.css
+++ b/codebase/dhtmlxscheduler.css
@@ -1,8 +1,8 @@
/*
-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.
*/
-.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;text-align:center;position:fixed;box-shadow:0 0 14px #888;font-family:Tahoma;z-index:20000;border-radius:6px;border:1px solid #fff}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{border:1px solid #B7A543;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{height:12px;border-bottom-style:dotted;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;border:none;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;border-radius:5px;font-family:Tahoma;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{font-weight:700;padding:5px 0 3px 10px}.dhx_section_time{white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-size:18px;font-family:Arial}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_larea{overflow:hidden;width:572px;height:1px}.dhx_btn_set{float:left}.dhx_btn_set div{float:left;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-image:url(imgs/controls.gif);background-position:-84px 0;width:21px}.dhx_cancel_btn{background-image:url(imgs/controls.gif);background-position:-63px 0;width:20px}.dhx_delete_btn{background-image:url(imgs/controls.gif);background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;font-weight:400;margin-right:5px;margin-top:0;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_section_time{text-align:center}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-family:Tahoma;font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;font-weight:700;font-family:Arial;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs/databg.png)}.dhx_agenda_area{width:100%;overflow-y:auto;background-image:url(imgs/databg.png)}.dhx_agenda_line{height:21px;clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;text-align:center;line-height:21px;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px;line-height:21px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_month_head.dhx_year_event{background-color:#FFE763}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{cursor:pointer}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px;color:#887A2E}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-image:url(imgs/databg.png)}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{height:21px;clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;line-height:21px;overflow:hidden}.dhx_map_line.highlight{background-color:#C4C5CC}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_cal_light_wide .dhx_combo_box{width:608px!important;left:10px}.dhx_wa_column{float:left}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_second_scale_bar{padding-top:2px}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{border:2px solid #888;border-radius:5px;position:absolute;z-index:300;padding-left:7px;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;color:#FFF;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{border:1px solid #888;background-color:#fefefe;padding:16px 8px;font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{border-radius:3px;margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;border-bottom:1px solid #666;border-right:1px solid #666;float:left}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-family:Tahoma;font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{height:20px;position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{padding-top:1px}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_next_button,.dhx_cal_prev_button{cursor:pointer}.dhx_cal_today_button{cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{text-decoration:none;cursor:default;font-weight:700}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder,.dhx_scale_holder_now{position:absolute}.dhx_scale_hour{height:41px;width:50px;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{padding-right:5px;text-align:right}.dhx_month_body{background-color:#FFF}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-repeat:no-repeat}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden;background-color:#FFF4B5}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_custom_button_recurring{background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_event .dhx_title{border-width:1px 1px 0;padding-top:1px;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px;font-family:arial;font-weight:700;font-size:12px;line-height:12px}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{padding-bottom:8px;-webkit-border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.dhx_cal_event .dhx_header,.dhx_cal_event.dhx_cal_select_menu .dhx_footer{display:none}.dhx_cal_event.dhx_cal_select_menu{-webkit-box-shadow:0 0 1px #FFF;-moz-box-shadow:0 0 1px #FFF;box-shadow:0 0 1px #FFF}.dhx_cal_event .dhx_footer{height:5px;border:0;margin-top:-6px;background:url(imgs_dhx_terrace/resizing.png) center center no-repeat}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#1796b0;border-color:transparent;color:#fff}.dhx_cal_event.dhx_cal_editor{border:1px solid transparent}.dhx_cal_editor{font-size:12px;font-family:Arial,sans-serif}div.dhx_menu_head,div.dhx_menu_icon{background-image:url(imgs_dhx_terrace/controls.png)}.dhx_cal_event_line{border:1px solid transparent;background-color:#1796b0;color:#fff;height:17px;line-height:17px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.dhx_cal_event_line_start{-webkit-border-top-left-radius:9px;-webkit-border-bottom-left-radius:9px;-moz-border-radius-topleft:9px;-moz-border-radius-bottomleft:9px;border-top-left-radius:9px;border-bottom-left-radius:9px}.dhx_cal_event_line_end{-webkit-border-top-right-radius:9px;-webkit-border-bottom-right-radius:9px;-moz-border-radius-topright:9px;-moz-border-radius-bottomright:9px;border-top-right-radius:9px;border-bottom-right-radius:9px}.dhx_cal_event .dhx_body,.dhx_cal_event_line{font-size:12px;font-family:Arial,sans-serif}.dhx_cal_container{background-color:#fff}.dhx_cal_data{border-top:1px solid #CECECE}.dhx_scale_holder{background-image:url(imgs_dhx_terrace/databg.png);border-right:1px solid #CECECE}.dhx_scale_holder_now{background-image:url(imgs_dhx_terrace/databg_now.png);border-right:1px solid #CECECE}.dhx_scale_hour{border-bottom:1px solid #CECECE;background-color:#fff;font:11px/44px Arial;color:#767676}.dhx_cal_header{border:1px solid #CECECE;border-left:0;border-bottom:0}.dhx_scale_bar{border-left:1px solid #CECECE;font:11px/16px Arial;color:#767676;padding-top:2px;background-color:#fff}.dhx_cal_navline div{top:14px}.dhx_cal_date,.dhx_cal_next_button,.dhx_cal_prev_button,.dhx_cal_tab,.dhx_cal_today_button{color:#454544;height:30px;line-height:30px;background:0 0;border:1px solid #CECECE}.dhx_cal_navline .dhx_cal_date{border:0;font-size:18px;font-weight:400;font-family:arial;width:100%;top:14px;text-align:center;position:absolute;left:0;z-index:-1}.dhx_cal_today_button{color:#747473;left:auto;right:123px;background:0 0;text-decoration:none;width:80px;font-size:12px;font-weight:700;font-family:arial;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.dhx_cal_next_button,.dhx_cal_prev_button{left:auto;width:46px}.dhx_cal_prev_button{right:61px;background:url(imgs_dhx_terrace/arrow_left.png) center center no-repeat;-webkit-border-top-left-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.dhx_cal_next_button{right:14px;background:url(imgs_dhx_terrace/arrow_right.png) center center no-repeat;-webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-top-right-radius:5px;border-bottom-right-radius:5px}.dhx_cal_tab{color:#747473;width:60px;padding-top:0;text-decoration:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-weight:700;font-family:arial;font-size:12px}.dhx_cal_tab.active{background-color:#F0EDE7;color:#454544;border:1px solid #CECECE;text-shadow:0 1px 0 #fff}.dhx_cal_tab_first{-webkit-border-top-left-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.dhx_cal_tab_last{-webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-top-right-radius:5px;border-bottom-right-radius:5px}.dhx_cal_tab_standalone{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:0 5px}.dhx_multi_day,.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-color:#fff}.dhx_multi_day{border-top:1px solid #CECECE}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_multi_day_icon_small{background-image:url(imgs_dhx_terrace/clock_small.gif)}.dhx_multi_day_icon{background-image:url(imgs_dhx_terrace/clock_big.gif)}.dhx_after .dhx_month_body,.dhx_after .dhx_month_head,.dhx_before .dhx_month_body,.dhx_before .dhx_month_head,.dhx_month_head{background-color:#fff}.dhx_month_head{height:21px;padding-top:0;font:12px/21px Arial;color:#362d26;border-right:1px solid #CECECE}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#bbb}.dhx_month_body{border-right:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_now .dhx_month_body,.dhx_now .dhx_month_head{background-color:#FFF3A1;font-weight:400}.dhx_cal_event_clear{color:#0E64A0}.dhx_cal_larea{margin-left:0}.dhx_cal_light_wide .dhx_cal_larea{margin-left:3px}.dhx_cal_light_wide .dhx_wrap_section{padding:5px 0}.dhx_cal_larea,.dhx_cal_light,.dhx_cal_light_wide .dhx_wrap_section,.dhx_cal_lsection,.dhx_cal_ltext textarea,.dhx_wrap_section{background-color:#fff}.dhx_cal_light input,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection,.dhx_cal_lsection .dhx_fullday{color:#747473}.dhx_cal_light_wide .dhx_wrap_section{border-top:0;border-bottom:1px solid #CECECE}.dhx_cal_larea{border:1px solid transparent}.dhx_cal_light,.dhx_cal_light select,.dhx_cal_ltext textarea{color:#2E2E2E}.dhx_cal_light{border:1px solid #CECECE}.dhx_cal_light_wide .dhx_cal_lsection,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{font-size:13px}.dhx_section_time{background-color:transparent}.dhx_btn_set div:first-child,.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{display:none}.dhx_btn_set,.dhx_btn_set div{height:30px;padding:0 20px;line-height:30px}.dhx_btn_set{margin:12px 0 0;padding:0;font-size:12px;color:#454544;font-weight:700;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.dhx_left_btn_set{margin-left:20px}.dhx_right_btn_set{margin-right:20px}.dhx_save_btn_set{border:1px solid #22A1BC;color:#fff;text-shadow:0 -1px 0 #6f6f6f;background-color:#22A1BC}.dhx_btn_set,.dhx_cancel_btn_set{border:1px solid #CECECE}.dhx_delete_btn_set{border:1px solid #FF8831;background-color:#FF8831;color:#fff;text-shadow:0 -1px 0 #93755f}.dhx_cal_ltitle{height:30px;line-height:30px;border-bottom:1px solid #CECECE}.dhx_cal_ltitle span{float:left}.dhx_cal_light .dhx_title{padding-left:13px}.dhx_mark{display:none}.dhx_time{padding-left:10px}.dhx_close_icon{float:right;width:9px;height:9px;background:url(imgs_dhx_terrace/close_icon.png) center center no-repeat;padding:10px;margin-top:1px}.dhx_cal_light_wide .dhx_cal_ltext.dhx_cal_template{line-height:22px}.dhx_cal_ltext textarea{line-height:20px;box-sizing:border-box;-moz-box-sizing:border-box;border:1px solid #CECECE;background-color:#F9F9F9}.dhtmlx_modal_box{background:#fff;width:330px}.dhtmlx_popup_controls{padding-bottom:9px}.dhtmlx_popup_button,.dhtmlx_popup_button div,.dhtmlx_popup_button div:active,.dhtmlx_popup_button:active{color:#444;background:#fff;box-shadow:none}.dhtmlx_popup_button.dhtmlx_ok_button{border:1px solid #22A1BC;background-color:#22A1BC}.dhtmlx_popup_button.dhtmlx_ok_button div{background:#22A1BC;border:1px solid #22A1BC;color:#fff;text-shadow:0 -1px 0 #6f6f6f}.dhx_cal_container.dhx_mini_calendar{box-sizing:border-box;border:1px solid #CECECE;box-shadow:2px 2px 5px #CCC;border-radius:3px}.dhx_mini_calendar .dhx_year_month{border:1px solid #CECECE;font-family:Arial}.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body,.dhx_mini_calendar .dhx_year_month{border-color:transparent}.dhx_mini_calendar .dhx_year_body{padding-top:1px}.dhx_mini_calendar .dhx_scale_bar{border-width:0}.dhx_mini_calendar .dhx_year_week{border-bottom:1px solid #CECECE;padding-top:1px}.dhx_mini_calendar .dhx_month_head{padding-right:0;text-align:center}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{border:0;height:20px}.dhx_cal_navline div.dhx_minical_icon{left:210px;top:14px;width:30px;height:30px;background:url(imgs_dhx_terrace/calendar.gif) 3px 5px no-repeat}.dhx_cal_event_line .dhx_event_resize{background:url(imgs_dhx_terrace/resize_dots.png) repeat-y}.dhx_matrix_cell,.dhx_matrix_scell{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_cal_header div div{border-left:1px solid #CECECE}.dhx_matrix_scell.folder{border-right:0}.dhx_second_scale_bar{border-bottom:1px solid #CECECE}.dhx_repeat_divider{border-left:1px solid #CECECE}.dhx_custom_button{background-color:#fff;border:1px solid #CECECE;color:#747473}.dhx_cal_light_wide .dhx_custom_button{margin-top:6px}.dhx_custom_button_recurring{background-image:url(imgs_dhx_terrace/but_repeat.gif)}.dhx_agenda_line div,.dhx_v_border{border-right:1px solid #CECECE}.dhx_year_month{border:1px solid #CECECE}.dhx_scale_bar_last{border-right:1px solid #CECECE}.dhx_year_body{border-left:1px solid #CECECE}.dhx_expand_icon{top:-3px}.dhx_scale_bar .dhx_cal_next_button,.dhx_scale_bar .dhx_cal_prev_button{width:20px;height:20px;top:0!important;border:0}.dhx_scale_bar .dhx_cal_next_button{right:1px!important;border-left:1px solid #CECECE}.dhx_scale_bar .dhx_cal_prev_button{left:1px!important;border-right:1px solid #CECECE}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border:0}.dhx_map_line .headline_date{border-right:1px solid #CECECE}.dhtmlXTooltip.tooltip{border-left:1px solid #CECECE;border-top:1px solid #CECECE;color:#747473;font-size:12px;line-height:16px}.dhx_wa_scale_bar{border-top:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #CECECE}.dhx_wa_ev_body{border-bottom:1px solid #CECECE}.dhx_wa_scale_bar{background-color:#f0ede7}.dhx_wa_ev_body.dhx_cal_event_selected{background-color:#fff3a1;color:#362d26}.dhx_wa_dnd{background-color:#fddb93!important;color:#747473!important;border:1px solid #ccb177}.dhx_text_disabled{color:#2E2E2E}.dhx_cal_ltext .dhx_text_disabled{line-height:22px}.dhx_grid_v_border{border-right-color:#CECECE}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #CECECE}.dhx_cal_quick_info{background:rgba(50,50,50,.5)}.dhx_qi_big_icon{background:#1796b0;color:#fff}.dhx_cal_navline .dhx_cal_export{width:32px;height:32px;margin:2px;cursor:pointer;top:12px}.dhx_cal_navline .dhx_cal_export.pdf{left:auto;right:249px;background-image:url(imgs_dhx_terrace/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:auto;right:210px;background-image:url(imgs_dhx_terrace/export_ical.png)}.dhx_mini_calendar{padding:5px}.dhx_mini_calendar .dhx_calendar_click,.dhx_mini_calendar .dhx_year_event{border-radius:7px}.dhx_mini_calendar .dhx_month_head{margin:2px}.dhx_mini_calendar .dhx_year_month{line-height:20px;height:25px;font-size:14px}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{top:8px!important} \ No newline at end of file
+.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;text-align:center;position:fixed;box-shadow:0 0 14px #888;font-family:Tahoma;z-index:20000;border-radius:6px;border:1px solid #fff}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{border:1px solid #B7A543;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{height:12px;border-bottom-style:dotted;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;border:none;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;border-radius:5px;font-family:Tahoma;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{font-weight:700;padding:5px 0 3px 10px}.dhx_section_time{white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-size:18px;font-family:Arial}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_larea{overflow:hidden;width:572px;height:1px}.dhx_btn_set{float:left}.dhx_btn_set div{float:left;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-image:url(imgs/controls.gif);background-position:-84px 0;width:21px}.dhx_cancel_btn{background-image:url(imgs/controls.gif);background-position:-63px 0;width:20px}.dhx_delete_btn{background-image:url(imgs/controls.gif);background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;font-weight:400;margin-right:5px;margin-top:0;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_section_time{text-align:center}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-family:Tahoma;font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;font-weight:700;font-family:Arial;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs/databg.png)}.dhx_agenda_area{width:100%;overflow-y:auto;background-image:url(imgs/databg.png)}.dhx_agenda_line{height:21px;clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;text-align:center;line-height:21px;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px;line-height:21px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_month_head.dhx_year_event{background-color:#FFE763}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{cursor:pointer;background-image:url(imgs/calendar.gif)}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px;color:#887A2E}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-image:url(imgs/databg.png)}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{height:21px;clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;line-height:21px;overflow:hidden}.dhx_map_line.highlight{background-color:#C4C5CC}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_cal_light_wide .dhx_combo_box{width:608px!important;left:10px}.dhx_wa_column{float:left}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_second_scale_bar{padding-top:2px}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{border:2px solid #888;border-radius:5px;position:absolute;z-index:300;background-color:#8e99ae;background-color:rgba(98,107,127,.5);padding-left:7px;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;color:#FFF;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{border:1px solid #888;background-color:#fefefe;padding:16px 8px;font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{border-radius:3px;margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;background-color:#fefefe;border-bottom:1px solid #666;border-right:1px solid #666;float:left}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-family:Tahoma;font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{height:20px;position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{padding-top:1px}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_prev_button{background-image:url(imgs/buttons.png);background-position:0 0;cursor:pointer}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;cursor:pointer}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;background-color:#D8E1EA;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{text-decoration:none;cursor:default;font-weight:700}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder,.dhx_scale_holder_now{position:absolute}.dhx_scale_hour{height:41px;width:50px;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{padding-right:5px;text-align:right}.dhx_month_body{background-color:#FFF}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-repeat:no-repeat}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden;background-color:#FFF4B5}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_custom_button_recurring{background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_event .dhx_title{border-width:1px 1px 0;padding-top:1px;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px;font-family:arial;font-weight:700;font-size:12px;line-height:12px}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{padding-bottom:8px;-webkit-border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.dhx_cal_event .dhx_header,.dhx_cal_event.dhx_cal_select_menu .dhx_footer{display:none}.dhx_cal_event.dhx_cal_select_menu{-webkit-box-shadow:0 0 1px #FFF;-moz-box-shadow:0 0 1px #FFF;box-shadow:0 0 1px #FFF}.dhx_cal_event .dhx_footer{height:5px;border:0;margin-top:-6px;background:url(imgs_dhx_terrace/resizing.png) center center no-repeat}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#1796b0;border-color:transparent;color:#fff}.dhx_cal_event.dhx_cal_editor{border:1px solid transparent}.dhx_cal_editor{font-size:12px;font-family:Arial,sans-serif}div.dhx_menu_head,div.dhx_menu_icon{background-image:url(imgs_dhx_terrace/controls.png)}.dhx_cal_event_line{border:1px solid transparent;background-color:#1796b0;color:#fff;height:17px;line-height:17px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.dhx_cal_event_line_start{-webkit-border-top-left-radius:9px;-webkit-border-bottom-left-radius:9px;-moz-border-radius-topleft:9px;-moz-border-radius-bottomleft:9px;border-top-left-radius:9px;border-bottom-left-radius:9px}.dhx_cal_event_line_end{-webkit-border-top-right-radius:9px;-webkit-border-bottom-right-radius:9px;-moz-border-radius-topright:9px;-moz-border-radius-bottomright:9px;border-top-right-radius:9px;border-bottom-right-radius:9px}.dhx_cal_event .dhx_body,.dhx_cal_event_line{font-size:12px;font-family:Arial,sans-serif}.dhx_cal_container{background-color:#fff}.dhx_cal_data{border-top:1px solid #CECECE}.dhx_scale_holder{background-image:url(imgs_dhx_terrace/databg.png);border-right:1px solid #CECECE}.dhx_scale_holder_now{background-image:url(imgs_dhx_terrace/databg_now.png);border-right:1px solid #CECECE}.dhx_scale_hour{border-bottom:1px solid #CECECE;background-color:#fff;font:11px/44px Arial;color:#767676}.dhx_cal_header{border:1px solid #CECECE;border-left:0;border-bottom:0}.dhx_scale_bar{border-left:1px solid #CECECE;font:11px/16px Arial;color:#767676;padding-top:2px;background-color:#fff}.dhx_cal_navline div{top:14px}.dhx_cal_date,.dhx_cal_next_button,.dhx_cal_prev_button,.dhx_cal_tab,.dhx_cal_today_button{color:#454544;height:30px;line-height:30px;background:0 0;border:1px solid #CECECE}.dhx_cal_navline .dhx_cal_date{border:0;font-size:18px;font-weight:400;font-family:arial;width:100%;top:14px;text-align:center;position:absolute;left:0;z-index:-1}.dhx_cal_today_button{color:#747473;left:auto;right:123px;background:0 0;text-decoration:none;width:80px;font-size:12px;font-weight:700;font-family:arial;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.dhx_cal_next_button,.dhx_cal_prev_button{left:auto;width:46px}.dhx_cal_prev_button{right:61px;background:url(imgs_dhx_terrace/arrow_left.png) center center no-repeat;-webkit-border-top-left-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.dhx_cal_next_button{right:14px;background:url(imgs_dhx_terrace/arrow_right.png) center center no-repeat;-webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-top-right-radius:5px;border-bottom-right-radius:5px}.dhx_cal_tab{color:#747473;width:60px;padding-top:0;text-decoration:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-weight:700;font-family:arial;font-size:12px}.dhx_cal_tab.active{background-color:#F0EDE7;color:#454544;border:1px solid #CECECE;text-shadow:0 1px 0 #fff}.dhx_cal_tab_first{-webkit-border-top-left-radius:5px;-webkit-border-bottom-left-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.dhx_cal_tab_last{-webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-top-right-radius:5px;border-bottom-right-radius:5px}.dhx_cal_tab_standalone{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:0 5px}.dhx_multi_day,.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-color:#fff}.dhx_multi_day{border-top:1px solid #CECECE}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_multi_day_icon_small{background-image:url(imgs_dhx_terrace/clock_small.gif)}.dhx_multi_day_icon{background-image:url(imgs_dhx_terrace/clock_big.gif)}.dhx_after .dhx_month_body,.dhx_after .dhx_month_head,.dhx_before .dhx_month_body,.dhx_before .dhx_month_head,.dhx_month_head{background-color:#fff}.dhx_month_head{height:21px;padding-top:0;font:12px/21px Arial;color:#362d26;border-right:1px solid #CECECE}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#bbb}.dhx_month_body{border-right:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_now .dhx_month_body,.dhx_now .dhx_month_head{background-color:#FFF3A1;font-weight:400}.dhx_cal_event_clear{color:#0E64A0}.dhx_cal_larea{margin-left:0}.dhx_cal_light_wide .dhx_cal_larea{margin-left:3px}.dhx_cal_light_wide .dhx_wrap_section{padding:5px 0}.dhx_cal_larea,.dhx_cal_light,.dhx_cal_light_wide .dhx_wrap_section,.dhx_cal_lsection,.dhx_cal_ltext textarea,.dhx_wrap_section{background-color:#fff}.dhx_cal_light input,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection,.dhx_cal_lsection .dhx_fullday{color:#747473}.dhx_cal_light_wide .dhx_wrap_section{border-top:0;border-bottom:1px solid #CECECE}.dhx_cal_larea{border:1px solid transparent}.dhx_cal_light,.dhx_cal_light select,.dhx_cal_ltext textarea{color:#2E2E2E}.dhx_cal_light{border:1px solid #CECECE}.dhx_cal_light_wide .dhx_cal_lsection,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{font-size:13px}.dhx_section_time{background-color:transparent}.dhx_btn_set div:first-child,.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{display:none}.dhx_btn_set,.dhx_btn_set div{height:30px;padding:0 20px;line-height:30px}.dhx_btn_set{margin:12px 0 0;padding:0;font-size:12px;color:#454544;font-weight:700;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.dhx_left_btn_set{margin-left:20px}.dhx_right_btn_set{margin-right:20px}.dhx_save_btn_set{border:1px solid #22A1BC;color:#fff;text-shadow:0 -1px 0 #6f6f6f;background-color:#22A1BC}.dhx_btn_set,.dhx_cancel_btn_set{border:1px solid #CECECE}.dhx_delete_btn_set{border:1px solid #FF8831;background-color:#FF8831;color:#fff;text-shadow:0 -1px 0 #93755f}.dhx_cal_ltitle{height:30px;line-height:30px;border-bottom:1px solid #CECECE}.dhx_cal_ltitle span{float:left}.dhx_cal_light .dhx_title{padding-left:13px}.dhx_mark{display:none}.dhx_time{padding-left:10px}.dhx_close_icon{float:right;width:9px;height:9px;background:url(imgs_dhx_terrace/close_icon.png) center center no-repeat;padding:10px;margin-top:1px}.dhx_cal_light_wide .dhx_cal_ltext.dhx_cal_template{line-height:22px}.dhx_cal_ltext textarea{line-height:20px;box-sizing:border-box;-moz-box-sizing:border-box;border:1px solid #CECECE;background-color:#F9F9F9}.dhtmlx_modal_box{background:#fff;width:330px}.dhtmlx_popup_controls{padding-bottom:9px}.dhtmlx_popup_button,.dhtmlx_popup_button div,.dhtmlx_popup_button div:active,.dhtmlx_popup_button:active{color:#444;background:#fff;box-shadow:none}.dhtmlx_popup_button.dhtmlx_ok_button{border:1px solid #22A1BC;background-color:#22A1BC}.dhtmlx_popup_button.dhtmlx_ok_button div{background:#22A1BC;border:1px solid #22A1BC;color:#fff;text-shadow:0 -1px 0 #6f6f6f}.dhx_cal_container.dhx_mini_calendar{box-sizing:border-box;border:1px solid #CECECE;box-shadow:2px 2px 5px #CCC;border-radius:3px}.dhx_mini_calendar .dhx_year_month{border:1px solid #CECECE;font-family:Arial}.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body,.dhx_mini_calendar .dhx_year_month{border-color:transparent}.dhx_mini_calendar .dhx_year_body{padding-top:1px}.dhx_mini_calendar .dhx_scale_bar{border-width:0}.dhx_mini_calendar .dhx_year_week{border-bottom:1px solid #CECECE;padding-top:1px}.dhx_mini_calendar .dhx_month_head{padding-right:0;text-align:center}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{border:0;height:20px}.dhx_cal_navline div.dhx_minical_icon{left:210px;top:14px;width:30px;height:30px;background:url(imgs_dhx_terrace/calendar.gif) 3px 5px no-repeat}.dhx_cal_event_line .dhx_event_resize{background:url(imgs_dhx_terrace/resize_dots.png) repeat-y}.dhx_matrix_cell,.dhx_matrix_scell{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_cal_header div div{border-left:1px solid #CECECE}.dhx_matrix_scell.folder{border-right:0}.dhx_second_scale_bar{border-bottom:1px solid #CECECE}.dhx_repeat_divider{border-left:1px solid #CECECE}.dhx_custom_button{background-color:#fff;border:1px solid #CECECE;color:#747473}.dhx_cal_light_wide .dhx_custom_button{margin-top:6px}.dhx_custom_button_recurring{background-image:url(imgs_dhx_terrace/but_repeat.gif)}.dhx_agenda_line div,.dhx_v_border{border-right:1px solid #CECECE}.dhx_year_month{border:1px solid #CECECE}.dhx_scale_bar_last{border-right:1px solid #CECECE}.dhx_year_body{border-left:1px solid #CECECE}.dhx_expand_icon{top:-3px}.dhx_scale_bar .dhx_cal_next_button,.dhx_scale_bar .dhx_cal_prev_button{width:20px;height:20px;top:0!important;border:0}.dhx_scale_bar .dhx_cal_next_button{right:1px!important;border-left:1px solid #CECECE}.dhx_scale_bar .dhx_cal_prev_button{left:1px!important;border-right:1px solid #CECECE}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border:0}.dhx_map_line .headline_date{border-right:1px solid #CECECE}.dhtmlXTooltip.tooltip{border-left:1px solid #CECECE;border-top:1px solid #CECECE;color:#747473;font-size:12px;line-height:16px}.dhx_wa_scale_bar{border-top:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #CECECE}.dhx_wa_ev_body{border-bottom:1px solid #CECECE}.dhx_wa_scale_bar{background-color:#f0ede7}.dhx_wa_ev_body.dhx_cal_event_selected{background-color:#fff3a1;color:#362d26}.dhx_wa_dnd{background-color:#fddb93!important;color:#747473!important;border:1px solid #ccb177}.dhx_text_disabled{color:#2E2E2E}.dhx_cal_ltext .dhx_text_disabled{line-height:22px}.dhx_grid_v_border{border-right-color:#CECECE}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #CECECE}.dhx_cal_quick_info{background:rgba(50,50,50,.5)}.dhx_qi_big_icon{background:#1796b0;color:#fff}.dhx_cal_navline .dhx_cal_export{width:32px;height:32px;margin:2px;cursor:pointer;top:12px}.dhx_cal_navline .dhx_cal_export.pdf{left:auto;right:249px;background-image:url(imgs_dhx_terrace/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:auto;right:210px;background-image:url(imgs_dhx_terrace/export_ical.png)}.dhx_mini_calendar{padding:5px}.dhx_mini_calendar .dhx_calendar_click,.dhx_mini_calendar .dhx_year_event{border-radius:7px}.dhx_mini_calendar .dhx_month_head{margin:2px}.dhx_mini_calendar .dhx_year_month{line-height:20px;height:25px;font-size:14px}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{top:8px!important} \ No newline at end of file
diff --git a/codebase/dhtmlxscheduler.js b/codebase/dhtmlxscheduler.js
index 8f1d227..d5880ce 100644
--- a/codebase/dhtmlxscheduler.js
+++ b/codebase/dhtmlxscheduler.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.
@@ -7,9 +7,8 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
*/
function dtmlXMLLoaderObject(e,t,s,i){return this.xmlDoc="",this.async="undefined"!=typeof s?s:!0,this.onloadAction=e||null,this.mainObject=t||null,this.waitCall=null,this.rSeed=i||!1,this}function callerFunction(e,t){return this.handler=function(s){return s||(s=window.event),e(s,t),!0},this.handler}function getAbsoluteLeft(e){return getOffset(e).left}function getAbsoluteTop(e){return getOffset(e).top}function getOffsetSum(e){for(var t=0,s=0;e;)t+=parseInt(e.offsetTop),s+=parseInt(e.offsetLeft),e=e.offsetParent;
return{top:t,left:s}}function getOffsetRect(e){var t=e.getBoundingClientRect(),s=document.body,i=document.documentElement,a=window.pageYOffset||i.scrollTop||s.scrollTop,n=window.pageXOffset||i.scrollLeft||s.scrollLeft,r=i.clientTop||s.clientTop||0,d=i.clientLeft||s.clientLeft||0,o=t.top+a-r,l=t.left+n-d;return{top:Math.round(o),left:Math.round(l)}}function getOffset(e){return e.getBoundingClientRect?getOffsetRect(e):getOffsetSum(e)}function convertStringToBoolean(e){switch("string"==typeof e&&(e=e.toLowerCase()),e){case"1":case"true":case"yes":case"y":case 1:case!0:return!0;
-default:return!1}}function getUrlSymbol(e){return-1!=e.indexOf("?")?"&":"?"}function dhtmlDragAndDropObject(){return window.dhtmlDragAndDrop?window.dhtmlDragAndDrop:(this.lastLanding=0,this.dragNode=0,this.dragStartNode=0,this.dragStartObject=0,this.tempDOMU=null,this.tempDOMM=null,this.waitDrag=0,window.dhtmlDragAndDrop=this,this)}function _dhtmlxError(){return this.catches||(this.catches=[]),this}function dhtmlXHeir(e,t){for(var s in t)"function"==typeof t[s]&&(e[s]=t[s]);return e}function dhtmlxEvent(e,t,s){e.addEventListener?e.addEventListener(t,s,!1):e.attachEvent&&e.attachEvent("on"+t,s)
-}function dataProcessor(e){return this.serverProcessor=e,this.action_param="!nativeeditor_status",this.object=null,this.updatedRows=[],this.autoUpdate=!0,this.updateMode="cell",this._tMode="GET",this.post_delim="_",this._waitMode=0,this._in_progress={},this._invalid={},this.mandatoryFields=[],this.messages=[],this.styles={updated:"font-weight:bold;",inserted:"font-weight:bold;",deleted:"text-decoration : line-through;",invalid:"background-color:FFE0E0;",invalid_cell:"border-bottom:2px solid red;",error:"color:red;",clear:"font-weight:normal;text-decoration:none;"},this.enableUTFencoding(!0),dhtmlxEventable(this),this
-}window.dhtmlXScheduler=window.scheduler={version:"4.2.0"},window.dhtmlx||(dhtmlx=function(e){for(var t in e)dhtmlx[t]=e[t];return dhtmlx}),dhtmlx.extend_api=function(e,t,s){var i=window[e];i&&(window[e]=function(e){var s;if(e&&"object"==typeof e&&!e.tagName){s=i.apply(this,t._init?t._init(e):arguments);for(var a in dhtmlx)t[a]&&this[t[a]](dhtmlx[a]);for(var a in e)t[a]?this[t[a]](e[a]):0===a.indexOf("on")&&this.attachEvent(a,e[a])}else s=i.apply(this,arguments);return t._patch&&t._patch(this),s||this
+default:return!1}}function getUrlSymbol(e){return-1!=e.indexOf("?")?"&":"?"}function dhtmlDragAndDropObject(){return window.dhtmlDragAndDrop?window.dhtmlDragAndDrop:(this.lastLanding=0,this.dragNode=0,this.dragStartNode=0,this.dragStartObject=0,this.tempDOMU=null,this.tempDOMM=null,this.waitDrag=0,window.dhtmlDragAndDrop=this,this)}function _dhtmlxError(){return this.catches||(this.catches=[]),this}function dhtmlXHeir(e,t){for(var s in t)"function"==typeof t[s]&&(e[s]=t[s]);return e}function dataProcessor(e){return this.serverProcessor=e,this.action_param="!nativeeditor_status",this.object=null,this.updatedRows=[],this.autoUpdate=!0,this.updateMode="cell",this._tMode="GET",this.post_delim="_",this._waitMode=0,this._in_progress={},this._invalid={},this.mandatoryFields=[],this.messages=[],this.styles={updated:"font-weight:bold;",inserted:"font-weight:bold;",deleted:"text-decoration : line-through;",invalid:"background-color:FFE0E0;",invalid_cell:"border-bottom:2px solid red;",error:"color:red;",clear:"font-weight:normal;text-decoration:none;"},this.enableUTFencoding(!0),dhtmlxEventable(this),this
+}window.dhtmlXScheduler=window.scheduler={version:"4.3.0"},window.dhtmlx||(dhtmlx=function(e){for(var t in e)dhtmlx[t]=e[t];return dhtmlx}),dhtmlx.extend_api=function(e,t,s){var i=window[e];i&&(window[e]=function(e){var s;if(e&&"object"==typeof e&&!e.tagName){s=i.apply(this,t._init?t._init(e):arguments);for(var a in dhtmlx)t[a]&&this[t[a]](dhtmlx[a]);for(var a in e)t[a]?this[t[a]](e[a]):0===a.indexOf("on")&&this.attachEvent(a,e[a])}else s=i.apply(this,arguments);return t._patch&&t._patch(this),s||this
},window[e].prototype=i.prototype,s&&dhtmlXHeir(window[e].prototype,s))},dhtmlxAjax={get:function(e,t){var s=new dtmlXMLLoaderObject(!0);return s.async=arguments.length<3,s.waitCall=t,s.loadXML(e),s},post:function(e,t,s){var i=new dtmlXMLLoaderObject(!0);return i.async=arguments.length<4,i.waitCall=s,i.loadXML(e,!0,t),i},getSync:function(e){return this.get(e,null,!0)},postSync:function(e,t){return this.post(e,t,null,!0)}},dtmlXMLLoaderObject.count=0,dtmlXMLLoaderObject.prototype.waitLoadFunction=function(e){var t=!0;
return this.check=function(){if(e&&e.onloadAction&&(!e.xmlDoc.readyState||4==e.xmlDoc.readyState)){if(!t)return;t=!1,dtmlXMLLoaderObject.count++,"function"==typeof e.onloadAction&&e.onloadAction(e.mainObject,null,null,null,e),e.waitCall&&(e.waitCall.call(this,e),e.waitCall=null)}},this.check},dtmlXMLLoaderObject.prototype.getXMLTopNode=function(e,t){var s;if(this.xmlDoc.responseXML){var i=this.xmlDoc.responseXML.getElementsByTagName(e);if(0===i.length&&-1!=e.indexOf(":"))var i=this.xmlDoc.responseXML.getElementsByTagName(e.split(":")[1]);
s=i[0]}else s=this.xmlDoc.documentElement;if(s)return this._retry=!1,s;if(!this._retry&&_isIE){this._retry=!0;var t=this.xmlDoc;return this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""),!0),this.getXMLTopNode(e,t)}return dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),document.createElement("DIV")},dtmlXMLLoaderObject.prototype.loadXMLString=function(e,t){if(_isIE)this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"),this.xmlDoc.async=this.async,this.xmlDoc.onreadystatechange=function(){},this.xmlDoc.loadXML(e);
@@ -22,19 +21,20 @@ t._tagvalue=e.firstChild?e.firstChild.nodeValue:"";for(var s=0;s<e.childNodes.le
}t.dragNode.style.left=e.clientX+15+(t.fx?-1*t.fx:0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px",t.dragNode.style.top=e.clientY+3+(t.fy?-1*t.fy:0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px";var n;n=e.srcElement?e.srcElement:e.target,t.checkLanding(n,e)}},dhtmlDragAndDropObject.prototype.calculateFramePosition=function(e){if(window.name){for(var t=parent.frames[window.name].frameElement.offsetParent,s=0,i=0;t;)s+=t.offsetLeft,i+=t.offsetTop,t=t.offsetParent;
if(parent.dhtmlDragAndDrop){var a=parent.dhtmlDragAndDrop.calculateFramePosition(1);s+=1*a.split("_")[0],i+=1*a.split("_")[1]}if(e)return s+"_"+i;this.fx=s,this.fy=i}return"0_0"},dhtmlDragAndDropObject.prototype.checkLanding=function(e,t){e&&e.dragLanding?(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding),this.lastLanding=e,this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding,this.dragStartNode,t.clientX,t.clientY,t),this.lastLanding_scr=_isIE?t.srcElement:t.target):e&&"BODY"!=e.tagName?this.checkLanding(e.parentNode,t):(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding,t.clientX,t.clientY,t),this.lastLanding=0,this._onNotFound&&this._onNotFound())
},dhtmlDragAndDropObject.prototype.stopDrag=function(e,t){var s=window.dhtmlDragAndDrop;if(!t){s.stopFrameRoute();var i=s.lastLanding;s.lastLanding=null,i&&i.dragLanding._drag(s.dragStartNode,s.dragStartObject,i,_isIE?event.srcElement:e.target)}s.lastLanding=null,s.dragNode&&s.dragNode.parentNode==document.body&&s.dragNode.parentNode.removeChild(s.dragNode),s.dragNode=0,s.gldragNode=0,s.fx=0,s.fy=0,s.dragStartNode=0,s.dragStartObject=0,document.body.onmouseup=s.tempDOMU,document.body.onmousemove=s.tempDOMM,s.tempDOMU=null,s.tempDOMM=null,s.waitDrag=0
-},dhtmlDragAndDropObject.prototype.stopFrameRoute=function(e){e&&window.dhtmlDragAndDrop.stopDrag(1,1);for(var t=0;t<window.frames.length;t++)try{window.frames[t]!=e&&window.frames[t].dhtmlDragAndDrop&&window.frames[t].dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}},dhtmlDragAndDropObject.prototype.initFrameRoute=function(e,t){e&&(window.dhtmlDragAndDrop.preCreateDragCopy(),window.dhtmlDragAndDrop.dragStartNode=e.dhtmlDragAndDrop.dragStartNode,window.dhtmlDragAndDrop.dragStartObject=e.dhtmlDragAndDrop.dragStartObject,window.dhtmlDragAndDrop.dragNode=e.dhtmlDragAndDrop.dragNode,window.dhtmlDragAndDrop.gldragNode=e.dhtmlDragAndDrop.dragNode,window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag,window.waitDrag=0,!_isIE&&t&&(!_isFF||1.8>_FFrv)&&window.dhtmlDragAndDrop.calculateFramePosition());
+},dhtmlDragAndDropObject.prototype.stopFrameRoute=function(e){e&&window.dhtmlDragAndDrop.stopDrag(1,1);for(var t=0;t<window.frames.length;t++)try{window.frames[t]!=e&&window.frames[t].dhtmlDragAndDrop&&window.frames[t].dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}},dhtmlDragAndDropObject.prototype.initFrameRoute=function(e,t){e&&(window.dhtmlDragAndDrop.preCreateDragCopy(),window.dhtmlDragAndDrop.dragStartNode=e.dhtmlDragAndDrop.dragStartNode,window.dhtmlDragAndDrop.dragStartObject=e.dhtmlDragAndDrop.dragStartObject,window.dhtmlDragAndDrop.dragNode=e.dhtmlDragAndDrop.dragNode,window.dhtmlDragAndDrop.gldragNode=e.dhtmlDragAndDrop.dragNode,window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag,window.waitDrag=0,!_isIE&&t&&(!_isFF||_FFrv<1.8)&&window.dhtmlDragAndDrop.calculateFramePosition());
try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.initFrameRoute(window)}catch(s){}for(var i=0;i<window.frames.length;i++)try{window.frames[i]!=e&&window.frames[i].dhtmlDragAndDrop&&window.frames[i].dhtmlDragAndDrop.initFrameRoute(window,!e||t?1:0)}catch(s){}},_isFF=!1,_isIE=!1,_isOpera=!1,_isKHTML=!1,_isMacOS=!1,_isChrome=!1,_FFrv=!1,_KHTMLrv=!1,_OperaRv=!1,-1!=navigator.userAgent.indexOf("Macintosh")&&(_isMacOS=!0),navigator.userAgent.toLowerCase().indexOf("chrome")>-1&&(_isChrome=!0),-1!=navigator.userAgent.indexOf("Safari")||-1!=navigator.userAgent.indexOf("Konqueror")?(_KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5)),_KHTMLrv>525?(_isFF=!0,_FFrv=1.9):_isKHTML=!0):-1!=navigator.userAgent.indexOf("Opera")?(_isOpera=!0,_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))):-1!=navigator.appName.indexOf("Microsoft")?(_isIE=!0,-1==navigator.appVersion.indexOf("MSIE 8.0")&&-1==navigator.appVersion.indexOf("MSIE 9.0")&&-1==navigator.appVersion.indexOf("MSIE 10.0")||"BackCompat"==document.compatMode||(_isIE=8)):"Netscape"==navigator.appName&&-1!=navigator.userAgent.indexOf("Trident")?_isIE=8:(_isFF=!0,_FFrv=parseFloat(navigator.userAgent.split("rv:")[1])),dtmlXMLLoaderObject.prototype.doXPath=function(e,t,s,i){if(_isKHTML||!_isIE&&!window.XPathResult)return this.doXPathOpera(e,t);
if(_isIE)return t||(t=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),t||dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),s&&t.setProperty("SelectionNamespaces","xmlns:xsl='"+s+"'"),"single"==i?t.selectSingleNode(e):t.selectNodes(e)||new Array(0);var a=t;t||(t=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),t||dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),-1!=t.nodeName.indexOf("document")?a=t:(a=t,t=t.ownerDocument);
var n=XPathResult.ANY_TYPE;"single"==i&&(n=XPathResult.FIRST_ORDERED_NODE_TYPE);var r=[],d=t.evaluate(e,a,function(){return s},n,null);if(n==XPathResult.FIRST_ORDERED_NODE_TYPE)return d.singleNodeValue;for(var o=d.iterateNext();o;)r[r.length]=o,o=d.iterateNext();return r},_dhtmlxError.prototype.catchError=function(e,t){this.catches[e]=t},_dhtmlxError.prototype.throwError=function(e,t,s){return this.catches[e]?this.catches[e](e,t,s):this.catches.ALL?this.catches.ALL(e,t,s):(window.alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]),null)
},window.dhtmlxError=new _dhtmlxError,dtmlXMLLoaderObject.prototype.doXPathOpera=function(e,t){var s=e.replace(/[\/]+/gi,"/").split("/"),i=null,a=1;if(!s.length)return[];if("."==s[0])i=[t];else{if(""!==s[0])return[];i=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(s[a].replace(/\[[^\]]*\]/g,"")),a++}for(a;a<s.length;a++)i=this._getAllNamedChilds(i,s[a]);return-1!=s[a-1].indexOf("[")&&(i=this._filterXPath(i,s[a-1])),i},dtmlXMLLoaderObject.prototype._filterXPath=function(e,t){for(var s=[],t=t.replace(/[^\[]*\[\@/g,"").replace(/[\[\]\@]*/g,""),i=0;i<e.length;i++)e[i].getAttribute(t)&&(s[s.length]=e[i]);
-return s},dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(e,t){var s=[];_isKHTML&&(t=t.toUpperCase());for(var i=0;i<e.length;i++)for(var a=0;a<e[i].childNodes.length;a++)_isKHTML?e[i].childNodes[a].tagName&&e[i].childNodes[a].tagName.toUpperCase()==t&&(s[s.length]=e[i].childNodes[a]):e[i].childNodes[a].tagName==t&&(s[s.length]=e[i].childNodes[a]);return s},dtmlXMLLoaderObject.prototype.xslDoc=null,dtmlXMLLoaderObject.prototype.setXSLParamValue=function(e,t,s){s||(s=this.xslDoc),s.responseXML&&(s=s.responseXML);
-var i=this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+e+"']",s,"http://www.w3.org/1999/XSL/Transform","single");i&&(i.firstChild.nodeValue=t)},dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(e,t){e||(e=this.xslDoc),e.responseXML&&(e=e.responseXML),t||(t=this.xmlDoc),t.responseXML&&(t=t.responseXML);var s;if(_isIE){s=new ActiveXObject("Msxml2.DOMDocument.3.0");try{t.transformNodeToObject(e,s)}catch(i){s=t.transformNode(e)}}else this.XSLProcessor||(this.XSLProcessor=new XSLTProcessor,this.XSLProcessor.importStylesheet(e)),s=this.XSLProcessor.transformToDocument(t);
-return s},dtmlXMLLoaderObject.prototype.doXSLTransToString=function(e,t){var s=this.doXSLTransToObject(e,t);return"string"==typeof s?s:this.doSerialization(s)},dtmlXMLLoaderObject.prototype.doSerialization=function(e){if(e||(e=this.xmlDoc),e.responseXML&&(e=e.responseXML),_isIE)return e.xml;var t=new XMLSerializer;return t.serializeToString(e)},dhtmlxEventable=function(obj){obj.attachEvent=function(e,t,s){return e="ev_"+e.toLowerCase(),this[e]||(this[e]=new this.eventCatcher(s||this)),e+":"+this[e].addEvent(t)
-},obj.callEvent=function(e,t){return e="ev_"+e.toLowerCase(),this[e]?this[e].apply(this,t):!0},obj.checkEvent=function(e){return!!this["ev_"+e.toLowerCase()]},obj.eventCatcher=function(obj){var dhx_catch=[],z=function(){for(var e=!0,t=0;t<dhx_catch.length;t++)if(dhx_catch[t]){var s=dhx_catch[t].apply(obj,arguments);e=e&&s}return e};return z.addEvent=function(ev){return"function"!=typeof ev&&(ev=eval(ev)),ev?dhx_catch.push(ev)-1:!1},z.removeEvent=function(e){dhx_catch[e]=null},z},obj.detachEvent=function(e){if(e){var t=e.split(":");
-this[t[0]].removeEvent(t[1])}},obj.detachAllEvents=function(){for(var e in this)0===e.indexOf("ev_")&&(this.detachEvent(e),this[e]=null)},obj=null},window.dhtmlx||(window.dhtmlx={}),function(){function e(e,t){var i=e.callback;s(!1),e.box.parentNode.removeChild(e.box),c=e.box=null,i&&i(t)}function t(t){if(c){t=t||event;var s=t.which||event.keyCode;return dhtmlx.message.keyboard&&((13==s||32==s)&&e(c,!0),27==s&&e(c,!1)),t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)}}function s(e){s.cover||(s.cover=document.createElement("DIV"),s.cover.onkeydown=t,s.cover.className="dhx_modal_cover",document.body.appendChild(s.cover));
-document.body.scrollHeight;s.cover.style.display=e?"inline-block":"none"}function i(e,t,s){var i=s?s:e||"",a="dhtmlx_"+i.toLowerCase().replace(/ /g,"_")+"_button";return"<div class='dhtmlx_popup_button "+a+"' result='"+t+"' ><div>"+e+"</div></div>"}function a(e){u.area||(u.area=document.createElement("DIV"),u.area.className="dhtmlx_message_area",u.area.style[u.position]="5px",document.body.appendChild(u.area)),u.hide(e.id);var t=document.createElement("DIV");return t.innerHTML="<div>"+e.text+"</div>",t.className="dhtmlx-info dhtmlx-"+e.type,t.onclick=function(){u.hide(e.id),e=null
-},"bottom"==u.position&&u.area.firstChild?u.area.insertBefore(t,u.area.firstChild):u.area.appendChild(t),e.expire>0&&(u.timers[e.id]=window.setTimeout(function(){u.hide(e.id)},e.expire)),u.pull[e.id]=t,t=null,e.id}function n(t,s,a){var n=document.createElement("DIV");n.className=" dhtmlx_modal_box dhtmlx-"+t.type,n.setAttribute("dhxbox",1);var r="";if(t.width&&(n.style.width=t.width),t.height&&(n.style.height=t.height),t.title&&(r+='<div class="dhtmlx_popup_title">'+t.title+"</div>"),r+='<div class="dhtmlx_popup_text"><span>'+(t.content?"":t.text)+'</span></div><div class="dhtmlx_popup_controls">',s){var d=t.ok||scheduler.locale.labels.message_ok;
-void 0===d&&(d="OK"),r+=i(d,!0,"ok")}if(a){var o=t.cancel||scheduler.locale.labels.message_cancel;void 0===o&&(o="Cancel"),r+=i(o,!1,"cancel")}if(t.buttons)for(var l=0;l<t.buttons.length;l++)r+=i(t.buttons[l],l);if(r+="</div>",n.innerHTML=r,t.content){var h=t.content;"string"==typeof h&&(h=document.getElementById(h)),"none"==h.style.display&&(h.style.display=""),n.childNodes[t.title?1:0].appendChild(h)}return n.onclick=function(s){s=s||event;var i=s.target||s.srcElement;if(i.className||(i=i.parentNode),"dhtmlx_popup_button"==i.className.split(" ")[0]){var a=i.getAttribute("result");
+return s},dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(e,t){var s=[];_isKHTML&&(t=t.toUpperCase());for(var i=0;i<e.length;i++)for(var a=0;a<e[i].childNodes.length;a++)_isKHTML?e[i].childNodes[a].tagName&&e[i].childNodes[a].tagName.toUpperCase()==t&&(s[s.length]=e[i].childNodes[a]):e[i].childNodes[a].tagName==t&&(s[s.length]=e[i].childNodes[a]);return s},"undefined"==typeof window.dhtmlxEvent&&(window.dhtmlxEvent=function(e,t,s){e.addEventListener?e.addEventListener(t,s,!1):e.attachEvent&&e.attachEvent("on"+t,s)
+}),dtmlXMLLoaderObject.prototype.xslDoc=null,dtmlXMLLoaderObject.prototype.setXSLParamValue=function(e,t,s){s||(s=this.xslDoc),s.responseXML&&(s=s.responseXML);var i=this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+e+"']",s,"http://www.w3.org/1999/XSL/Transform","single");i&&(i.firstChild.nodeValue=t)},dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(e,t){e||(e=this.xslDoc),e.responseXML&&(e=e.responseXML),t||(t=this.xmlDoc),t.responseXML&&(t=t.responseXML);var s;if(_isIE){s=new ActiveXObject("Msxml2.DOMDocument.3.0");
+try{t.transformNodeToObject(e,s)}catch(i){s=t.transformNode(e)}}else this.XSLProcessor||(this.XSLProcessor=new XSLTProcessor,this.XSLProcessor.importStylesheet(e)),s=this.XSLProcessor.transformToDocument(t);return s},dtmlXMLLoaderObject.prototype.doXSLTransToString=function(e,t){var s=this.doXSLTransToObject(e,t);return"string"==typeof s?s:this.doSerialization(s)},dtmlXMLLoaderObject.prototype.doSerialization=function(e){if(e||(e=this.xmlDoc),e.responseXML&&(e=e.responseXML),_isIE)return e.xml;var t=new XMLSerializer;
+return t.serializeToString(e)},dhtmlxEventable=function(obj){obj.attachEvent=function(e,t,s){return e="ev_"+e.toLowerCase(),this[e]||(this[e]=new this.eventCatcher(s||this)),e+":"+this[e].addEvent(t)},obj.callEvent=function(e,t){return e="ev_"+e.toLowerCase(),this[e]?this[e].apply(this,t):!0},obj.checkEvent=function(e){return!!this["ev_"+e.toLowerCase()]},obj.eventCatcher=function(obj){var dhx_catch=[],z=function(){for(var e=!0,t=0;t<dhx_catch.length;t++)if(dhx_catch[t]){var s=dhx_catch[t].apply(obj,arguments);
+e=e&&s}return e};return z.addEvent=function(ev){return"function"!=typeof ev&&(ev=eval(ev)),ev?dhx_catch.push(ev)-1:!1},z.removeEvent=function(e){dhx_catch[e]=null},z},obj.detachEvent=function(e){if(e){var t=e.split(":");this[t[0]].removeEvent(t[1])}},obj.detachAllEvents=function(){for(var e in this)0===e.indexOf("ev_")&&(this.detachEvent(e),this[e]=null)},obj=null},window.dhtmlx||(window.dhtmlx={}),function(){function e(e,t){var i=e.callback;s(!1),e.box.parentNode.removeChild(e.box),c=e.box=null,i&&i(t)
+}function t(t){if(c){t=t||event;var s=t.which||event.keyCode;return dhtmlx.message.keyboard&&((13==s||32==s)&&e(c,!0),27==s&&e(c,!1)),t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)}}function s(e){s.cover||(s.cover=document.createElement("DIV"),s.cover.onkeydown=t,s.cover.className="dhx_modal_cover",document.body.appendChild(s.cover));document.body.scrollHeight;s.cover.style.display=e?"inline-block":"none"}function i(e,t,s){var i=s?s:e||"",a="dhtmlx_"+i.toLowerCase().replace(/ /g,"_")+"_button";
+return"<div class='dhtmlx_popup_button "+a+"' result='"+t+"' ><div>"+e+"</div></div>"}function a(e){u.area||(u.area=document.createElement("DIV"),u.area.className="dhtmlx_message_area",u.area.style[u.position]="5px",document.body.appendChild(u.area)),u.hide(e.id);var t=document.createElement("DIV");return t.innerHTML="<div>"+e.text+"</div>",t.className="dhtmlx-info dhtmlx-"+e.type,t.onclick=function(){u.hide(e.id),e=null},"bottom"==u.position&&u.area.firstChild?u.area.insertBefore(t,u.area.firstChild):u.area.appendChild(t),e.expire>0&&(u.timers[e.id]=window.setTimeout(function(){u.hide(e.id)
+},e.expire)),u.pull[e.id]=t,t=null,e.id}function n(t,s,a){var n=document.createElement("DIV");n.className=" dhtmlx_modal_box dhtmlx-"+t.type,n.setAttribute("dhxbox",1);var r="";if(t.width&&(n.style.width=t.width),t.height&&(n.style.height=t.height),t.title&&(r+='<div class="dhtmlx_popup_title">'+t.title+"</div>"),r+='<div class="dhtmlx_popup_text"><span>'+(t.content?"":t.text)+'</span></div><div class="dhtmlx_popup_controls">',s){var d=t.ok||scheduler.locale.labels.message_ok;void 0===d&&(d="OK"),r+=i(d,!0,"ok")
+}if(a){var o=t.cancel||scheduler.locale.labels.message_cancel;void 0===o&&(o="Cancel"),r+=i(o,!1,"cancel")}if(t.buttons)for(var l=0;l<t.buttons.length;l++)r+=i(t.buttons[l],l);if(r+="</div>",n.innerHTML=r,t.content){var h=t.content;"string"==typeof h&&(h=document.getElementById(h)),"none"==h.style.display&&(h.style.display=""),n.childNodes[t.title?1:0].appendChild(h)}return n.onclick=function(s){s=s||event;var i=s.target||s.srcElement;if(i.className||(i=i.parentNode),"dhtmlx_popup_button"==i.className.split(" ")[0]){var a=i.getAttribute("result");
a="true"==a||("false"==a?!1:a),e(t,a)}},t.box=n,(s||a)&&(c=t),n}function r(e,i,a){var r=e.tagName?e:n(e,i,a);e.hidden||s(!0),document.body.appendChild(r);var d=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-r.offsetWidth)/2)),o=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-r.offsetHeight)/2));return r.style.top="top"==e.position?"-3px":o+"px",r.style.left=d+"px",r.onkeydown=t,r.focus(),e.hidden&&dhtmlx.modalbox.hide(r),r}function d(e){return r(e,!0,!1)
}function o(e){return r(e,!0,!0)}function l(e){return r(e)}function h(e,t,s){return"object"!=typeof e&&("function"==typeof t&&(s=t,t=""),e={text:e,type:t,callback:s}),e}function _(e,t,s,i){return"object"!=typeof e&&(e={text:e,type:t,expire:s,id:i}),e.id=e.id||u.uid(),e.expire=e.expire||u.expire,e}var c=null;document.attachEvent?document.attachEvent("onkeydown",t):document.addEventListener("keydown",t,!0),dhtmlx.alert=function(){var e=h.apply(this,arguments);return e.type=e.type||"confirm",d(e)},dhtmlx.confirm=function(){var e=h.apply(this,arguments);
return e.type=e.type||"alert",o(e)},dhtmlx.modalbox=function(){var e=h.apply(this,arguments);return e.type=e.type||"alert",l(e)},dhtmlx.modalbox.hide=function(e){for(;e&&e.getAttribute&&!e.getAttribute("dhxbox");)e=e.parentNode;e&&(e.parentNode.removeChild(e),s(!1))};var u=dhtmlx.message=function(e){e=_.apply(this,arguments),e.type=e.type||"info";var t=e.type.split("-")[0];switch(t){case"alert":return d(e);case"confirm":return o(e);case"modalbox":return l(e);default:return a(e)}};u.seed=(new Date).valueOf(),u.uid=function(){return u.seed++
@@ -63,71 +63,72 @@ s&&(s=s.split(" ")[0]),this._els[s]||(this._els[s]=[]),this._els[s].push(e[t]);v
},scheduler.set_actions=function(){for(var e in this._els)if(this._click[e])for(var t=0;t<this._els[e].length;t++)this._els[e][t].onclick=scheduler._click[e];this._obj.onselectstart=function(){return!1},this._obj.onmousemove=function(e){scheduler._temp_touch_block||scheduler._on_mouse_move(e||event)},this._obj.onmousedown=function(e){scheduler._ignore_next_click||scheduler._on_mouse_down(e||event)},this._obj.onmouseup=function(e){scheduler._ignore_next_click||scheduler._on_mouse_up(e||event)},this._obj.ondblclick=function(e){scheduler._on_dbl_click(e||event)
},this._obj.oncontextmenu=function(e){var t=e||event,s=t.target||t.srcElement,i=scheduler.callEvent("onContextMenu",[scheduler._locate_event(s),t]);return i}},scheduler.select=function(e){this._select_id!=e&&(scheduler._close_not_saved(),this.editStop(!1),this.unselect(),this._select_id=e,this.updateEvent(e))},scheduler.unselect=function(e){if(!e||e==this._select_id){var t=this._select_id;this._select_id=null,t&&this.getEvent(t)&&this.updateEvent(t)}},scheduler.getState=function(){return{mode:this._mode,date:new Date(this._date),min_date:new Date(this._min_date),max_date:new Date(this._max_date),editor_id:this._edit_id,lightbox_id:this._lightbox_id,new_event:this._new_event,select_id:this._select_id,expanded:this.expanded,drag_id:this._drag_id,drag_mode:this._drag_mode}
},scheduler._click={dhx_cal_data:function(e){if(scheduler._ignore_next_click)return e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._ignore_next_click=!1,!1;var t=e?e.target:event.srcElement,s=scheduler._locate_event(t);if(e=e||event,s){if(!scheduler.callEvent("onClick",[s,e])||scheduler.config.readonly)return}else scheduler.callEvent("onEmptyClick",[scheduler.getActionData(e).date,e]);if(s&&scheduler.config.select){scheduler.select(s);var i=t.className;-1!=i.indexOf("_icon")&&scheduler._click.buttons[i.split(" ")[1].replace("icon_","")](s)
-}else scheduler._close_not_saved(),scheduler.unselect()},dhx_cal_prev_button:function(){scheduler._click.dhx_cal_next_button(0,-1)},dhx_cal_next_button:function(e,t){scheduler.setCurrentView(scheduler.date.add(scheduler.date[scheduler._mode+"_start"](scheduler._date),t||1,scheduler._mode))},dhx_cal_today_button:function(){scheduler.callEvent("onBeforeTodayDisplayed",[])&&scheduler.setCurrentView(scheduler._currentDate())},dhx_cal_tab:function(){var e=this.getAttribute("name"),t=e.substring(0,e.search("_tab"));
+}else scheduler._close_not_saved(),(new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler.unselect()},dhx_cal_prev_button:function(){scheduler._click.dhx_cal_next_button(0,-1)},dhx_cal_next_button:function(e,t){scheduler.setCurrentView(scheduler.date.add(scheduler.date[scheduler._mode+"_start"](scheduler._date),t||1,scheduler._mode))},dhx_cal_today_button:function(){scheduler.callEvent("onBeforeTodayDisplayed",[])&&scheduler.setCurrentView(scheduler._currentDate())},dhx_cal_tab:function(){var e=this.getAttribute("name"),t=e.substring(0,e.search("_tab"));
scheduler.setCurrentView(scheduler._date,t)},buttons:{"delete":function(e){var t=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(t,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(e)})},edit:function(e){scheduler.edit(e)},save:function(){scheduler.editStop(!0)},details:function(e){scheduler.showLightbox(e)},cancel:function(){scheduler.editStop(!1)}}},scheduler._dhtmlx_confirm=function(e,t,s){if(!e)return s();var i={text:e};t&&(i.title=t),s&&(i.callback=function(e){e&&s()
}),dhtmlx.confirm(i)},scheduler.addEventNow=function(e,t,s){var i={};e&&null!==e.constructor.toString().match(/object/i)&&(i=e,e=null);var a=6e4*(this.config.event_duration||this.config.time_step);e||(e=i.start_date||Math.round(scheduler._currentDate().valueOf()/a)*a);var n=new Date(e);if(!t){var r=this.config.first_hour;r>n.getHours()&&(n.setHours(r),e=n.valueOf()),t=e.valueOf()+a}var d=new Date(t);n.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+a),i.start_date=i.start_date||n,i.end_date=i.end_date||d,i.text=i.text||this.locale.labels.new_event,i.id=this._drag_id=this.uid(),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._on_dbl_click=function(e,t){if(t=t||e.target||e.srcElement,!this.config.readonly){var s=(t.className||"").split(" ")[0];switch(s){case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_wa_day_data":if(!scheduler.config.dblclick_create)break;this.addEventNow(this.getActionData(e).date,null,e);break;case"dhx_cal_event":case"dhx_wa_ev_body":case"dhx_agenda_line":case"dhx_grid_event":case"dhx_cal_event_line":case"dhx_cal_event_clear":var i=this._locate_event(t);if(!this.callEvent("onDblClick",[i,e]))return;
this.config.details_on_dblclick||this._table_view||!this.getEvent(i)._timed||!this.config.select?this.showLightbox(i):this.edit(i);break;case"dhx_time_block":case"dhx_cal_container":return;default:var a=this["dblclick_"+s];if(a)a.call(this,e);else if(t.parentNode&&t!=this)return scheduler._on_dbl_click(e,t.parentNode)}}},scheduler._get_column_index=function(e){var t=0;if(this._cols){for(var s=0,i=0;i<this._cols.length&&!s;i++)s=this._cols[i];if(t=s?e/s:0,this._ignores)for(var i=0;t>=i;i++)this._ignores[i]&&t++
}return t},scheduler._week_indexes_from_pos=function(e){if(this._cols){var t=this._get_column_index(e.x);return e.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(t)-1)),e.y=Math.max(0,Math.ceil(60*e.y/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step),e}return e},scheduler._mouse_coords=function(e){var t,s=document.body,i=document.documentElement;t=_isIE||!e.pageX&&!e.pageY?{x:e.clientX+(s.scrollLeft||i.scrollLeft||0)-s.clientLeft,y:e.clientY+(s.scrollTop||i.scrollTop||0)-s.clientTop}:{x:e.pageX,y:e.pageY},t.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width),t.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop,t.ev=e;
var a=this["mouse_"+this._mode];if(a)return a.call(this,t);if(this._table_view){var n=this._get_column_index(t.x);if(!this._cols||!this._colsS)return t;var r=0;for(r=1;r<this._colsS.heights.length&&!(this._colsS.heights[r]>t.y);r++);t.y=Math.ceil(24*(Math.max(0,n)+7*Math.max(0,r-1))*60/this.config.time_step),(scheduler._drag_mode||"month"==this._mode)&&(t.y=24*(Math.max(0,Math.ceil(n)-1)+7*Math.max(0,r-1))*60/this.config.time_step),"move"==this._drag_mode&&scheduler._ignores_detected&&scheduler.config.preserve_length&&(t._ignores=!0,this._drag_event._event_length||(this._drag_event._event_length=this._get_real_event_length(this._drag_event.start_date,this._drag_event.end_date,{x_step:1,x_unit:"day"}))),t.x=0
-}else t=this._week_indexes_from_pos(t);return t},scheduler._close_not_saved=function(){if((new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var e=scheduler.locale.labels.confirm_closing;scheduler._dhtmlx_confirm(e,scheduler.locale.labels.title_confirm_closing,function(){scheduler.editStop(scheduler.config.positive_closing)})}},scheduler._correct_shift=function(e,t){return e-=6e4*(new Date(scheduler._min_date).getTimezoneOffset()-new Date(e).getTimezoneOffset())*(t?-1:1)},scheduler._on_mouse_move=function(e){if(this._drag_mode){var t=this._mouse_coords(e);
-if(!this._drag_pos||t.force_redraw||this._drag_pos.x!=t.x||this._drag_pos.y!=t.y){var s,i;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,"create"==this._drag_mode){if(this._close_not_saved(),this.unselect(this._select_id),this._loading=!0,s=this._get_date_from_pos(t).valueOf(),!this._drag_start){var a=this.callEvent("onBeforeEventCreated",[e,this._drag_id]);if(!a)return;return void(this._drag_start=s)}i=s,i==this._drag_start;var n=new Date(this._drag_start),r=new Date(i);
-"day"!=this._mode&&"week"!=this._mode||n.getHours()!=r.getHours()||n.getMinutes()!=r.getMinutes()||(r=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(n,r,this.locale.labels.new_event,this._drag_id,t.fields),this.callEvent("onEventCreated",[this._drag_id,e]),this._loading=!1,this._drag_mode="new-size"}var d,o=this.getEvent(this._drag_id);if("move"==this._drag_mode)s=this._min_date.valueOf()+6e4*(t.y*this.config.time_step+24*t.x*60-(scheduler._move_pos_shift||0)),!t.custom&&this._table_view&&(s+=1e3*this.date.time_part(o.start_date)),s=this._correct_shift(s),t._ignores&&this.config.preserve_length&&this._table_view?(this.matrix&&(d=this.matrix[this._mode]),d=d||{x_step:1,x_unit:"day"},i=1*s+this._get_fictional_event_length(s,this._drag_event._event_length,d)):i=o.end_date.valueOf()-(o.start_date.valueOf()-s);
+}else t=this._week_indexes_from_pos(t);return t},scheduler._close_not_saved=function(){if((new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var e=scheduler.locale.labels.confirm_closing;scheduler._dhtmlx_confirm(e,scheduler.locale.labels.title_confirm_closing,function(){scheduler.editStop(scheduler.config.positive_closing)})}},scheduler._correct_shift=function(e,t){return e-=6e4*(new Date(scheduler._min_date).getTimezoneOffset()-new Date(e).getTimezoneOffset())*(t?-1:1)},scheduler._is_pos_changed=function(e,t){function s(e,t,s){return!!(Math.abs(e-t)>s)
+}var i=100,a=5;return!!(!this._drag_pos.start||+new Date-this._drag_pos.start>i||s(e.x,t.x,a)||s(e.y,t.y,a))},scheduler._on_mouse_move=function(e){if(this._drag_mode){var t=this._mouse_coords(e);if(t.force_redraw||this._is_pos_changed(this._drag_pos,t)){var s,i;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,this._drag_pos.has_moved=!0,"create"==this._drag_mode){if(this._close_not_saved(),this.unselect(this._select_id),this._loading=!0,s=this._get_date_from_pos(t).valueOf(),!this._drag_start){var a=this.callEvent("onBeforeEventCreated",[e,this._drag_id]);
+if(!a)return;return void(this._drag_start=s)}i=s,i==this._drag_start;var n=new Date(this._drag_start),r=new Date(i);"day"!=this._mode&&"week"!=this._mode||n.getHours()!=r.getHours()||n.getMinutes()!=r.getMinutes()||(r=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(n,r,this.locale.labels.new_event,this._drag_id,t.fields),this.callEvent("onEventCreated",[this._drag_id,e]),this._loading=!1,this._drag_mode="new-size"}var d,o=this.getEvent(this._drag_id);if("move"==this._drag_mode)s=this._min_date.valueOf()+6e4*(t.y*this.config.time_step+24*t.x*60-(scheduler._move_pos_shift||0)),!t.custom&&this._table_view&&(s+=1e3*this.date.time_part(o.start_date)),s=this._correct_shift(s),t._ignores&&this.config.preserve_length&&this._table_view?(this.matrix&&(d=this.matrix[this._mode]),d=d||{x_step:1,x_unit:"day"},i=1*s+this._get_fictional_event_length(s,this._drag_event._event_length,d)):i=o.end_date.valueOf()-(o.start_date.valueOf()-s);
else{if(s=o.start_date.valueOf(),i=o.end_date.valueOf(),this._table_view){var l=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);if("month"==this._mode)if(l=this._correct_shift(l,!1),this._drag_from_start){var h=864e5;l<=scheduler.date.date_part(new Date(i+h-1)).valueOf()&&(s=l-h)}else i=l;else t.resize_from_start?s=l:i=l}else i=this.date.date_part(new Date(o.end_date.valueOf()-1)).valueOf()+t.y*this.config.time_step*6e4,this._els.dhx_cal_data[0].style.cursor="s-resize",("week"==this._mode||"day"==this._mode)&&(i=this._correct_shift(i));
if("new-size"==this._drag_mode)if(i<=this._drag_start){var _=t.shift||(this._table_view&&!t.custom?864e5:0);s=i-(t.shift?0:_),i=this._drag_start+(_||6e4*this.config.time_step)}else s=this._drag_start;else s>=i&&(i=s+6e4*this.config.time_step)}var c=new Date(i-1),u=new Date(s);if(scheduler.config.limit_drag_out&&(+u<+scheduler._min_date||+i>+scheduler._max_date)){var g=i-u;+u<+scheduler._min_date?(u=new Date(scheduler._min_date),i=new Date(+u+g)):(i=new Date(scheduler._max_date),u=new Date(+i-g));
-var c=new Date(i-1)}if(!this._table_view&&!scheduler.config.all_timed&&(t.x!=this._get_event_sday({start_date:new Date(i),end_date:new Date(i)})||new Date(i).getHours()>=this.config.last_hour)){var g=i-u,h=this._min_date.valueOf()+24*t.x*60*6e4;i=scheduler.date.date_part(new Date(h)),i.setHours(this.config.last_hour),c=new Date(i-1),"move"==this._drag_mode&&(u=new Date(+i-g))}if(this._table_view||c.getDate()==u.getDate()&&c.getHours()<this.config.last_hour||scheduler._allow_dnd)if(o.start_date=u,o.end_date=new Date(i),this.config.update_render){var f=scheduler._els.dhx_cal_data[0].scrollTop;
+var c=new Date(i-1)}if(!this._table_view&&!scheduler.config.all_timed&&(!scheduler._get_section_view()&&t.x!=this._get_event_sday({start_date:new Date(i),end_date:new Date(i)})||new Date(i).getHours()>=this.config.last_hour)){var g=i-u,h=this._min_date.valueOf()+24*t.x*60*6e4;i=scheduler.date.date_part(new Date(h)),i.setHours(this.config.last_hour),c=new Date(i-1),"move"==this._drag_mode&&(u=new Date(+i-g))}if(this._table_view||c.getDate()==u.getDate()&&c.getHours()<this.config.last_hour||scheduler._allow_dnd)if(o.start_date=u,o.end_date=new Date(i),this.config.update_render){var f=scheduler._els.dhx_cal_data[0].scrollTop;
this.update_view(),scheduler._els.dhx_cal_data[0].scrollTop=f}else this.updateEvent(this._drag_id);this._table_view&&this.for_rendered(this._drag_id,function(e){e.className+=" dhx_in_move"}),this.callEvent("onEventDrag",[this._drag_id,this._drag_mode,e])}}else if(scheduler.checkEvent("onMouseMove")){var v=this._locate_event(e.target||e.srcElement);this.callEvent("onMouseMove",[v,e])}},scheduler._on_mouse_down=function(e,t){if(2!=e.button&&!this.config.readonly&&!this._drag_mode){t=t||e.target||e.srcElement;
var s=t.className&&t.className.split(" ")[0];switch(s){case"dhx_cal_event_line":case"dhx_cal_event_clear":this._table_view&&(this._drag_mode="move");break;case"dhx_event_move":case"dhx_wa_ev_body":this._drag_mode="move";break;case"dhx_event_resize":this._drag_mode="resize",scheduler._drag_from_start=(t.className||"").indexOf("dhx_event_resize_end")<0?!0:!1;break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":this._drag_mode="create";
-break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);break;default:if((!scheduler.checkEvent("onMouseDown")||scheduler.callEvent("onMouseDown",[s]))&&t.parentNode&&t!=this&&"dhx_body"!=s)return scheduler._on_mouse_down(e,t.parentNode);this._drag_mode=null,this._drag_id=null}if(this._drag_mode){var i=this._locate_event(t);this.config["drag_"+this._drag_mode]&&this.callEvent("onBeforeDrag",[i,this._drag_mode,e])?(this._drag_id=i,this._drag_event=scheduler._lame_clone(this.getEvent(this._drag_id)||{})):this._drag_mode=this._drag_id=0
+break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);break;default:if((!scheduler.checkEvent("onMouseDown")||scheduler.callEvent("onMouseDown",[s]))&&t.parentNode&&t!=this&&"dhx_body"!=s)return scheduler._on_mouse_down(e,t.parentNode);this._drag_mode=null,this._drag_id=null}if(this._drag_mode){var i=this._locate_event(t);this.config["drag_"+this._drag_mode]&&this.callEvent("onBeforeDrag",[i,this._drag_mode,e])?(this._drag_id=i,this._drag_event=scheduler._lame_clone(this.getEvent(this._drag_id)||{}),this._drag_pos=this._mouse_coords(e),this._drag_pos.start=+new Date):this._drag_mode=this._drag_id=0
}this._drag_start=null}},scheduler._get_private_properties=function(e){var t={};for(var s in e)0===s.indexOf("_")&&(t[s]=!0);return t},scheduler._clear_temporary_properties=function(e,t){var s=this._get_private_properties(e),i=this._get_private_properties(t);for(var a in i)s[a]||delete t[a]},scheduler._on_mouse_up=function(e){if(!e||2!=e.button||!scheduler.config.touch){if(this._drag_mode&&this._drag_id){this._els.dhx_cal_data[0].style.cursor="default";var t=this._drag_id,s=this._drag_mode,i=this.getEvent(this._drag_id);
if(this._drag_event._dhx_changed||!this._drag_event.start_date||i.start_date.valueOf()!=this._drag_event.start_date.valueOf()||i.end_date.valueOf()!=this._drag_event.end_date.valueOf()){var a="new-size"==this._drag_mode;if(this.callEvent("onBeforeEventChanged",[i,e,a,this._drag_event]))if(this._drag_id=this._drag_mode=null,a&&this.config.edit_on_create){if(this.unselect(),this._new_event=new Date,this._table_view||this.config.details_on_create||!this.config.select)return scheduler.callEvent("onDragEnd",[t,s,e]),this.showLightbox(t);
-this._drag_pos=!0,this._select_id=this._edit_id=t}else this._new_event||this.callEvent(a?"onEventAdded":"onEventChanged",[t,this.getEvent(t)]);else a?this.deleteEvent(i.id,!0):(this._drag_event._dhx_changed=!1,this._clear_temporary_properties(i,this._drag_event),scheduler._lame_copy(i,this._drag_event),this.updateEvent(i.id))}this._drag_pos&&this.render_view_data(),scheduler.callEvent("onDragEnd",[t,s,e])}this._drag_id=null,this._drag_mode=null,this._drag_pos=null}},scheduler._trigger_dyn_loading=function(){return this._load_mode&&this._load()?(this._render_wait=!0,!0):!1
-},scheduler.update_view=function(){var e=this[this._mode+"_view"];return e?e(!0):this._reset_scale(),this._trigger_dyn_loading()?!0:void this.render_view_data()},scheduler.isViewExists=function(e){return!!(scheduler[e+"_view"]||scheduler.date[e+"_start"]&&scheduler.templates[e+"_date"]&&scheduler.templates[e+"_scale_date"])},scheduler.updateView=function(e,t){e=e||this._date,t=t||this._mode;var s="dhx_cal_data";this._mode?this._obj.className=this._obj.className.replace("dhx_scheduler_"+this._mode,"dhx_scheduler_"+t):this._obj.className+=" dhx_scheduler_"+t;
-var i=this._mode==t&&this.config.preserve_scroll?this._els[s][0].scrollTop:!1;this[this._mode+"_view"]&&t&&this._mode!=t&&this[this._mode+"_view"](!1),this._close_not_saved();var a="dhx_multi_day";this._els[a]&&(this._els[a][0].parentNode.removeChild(this._els[a][0]),this._els[a]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode,this._dy_shift=0;var n=this._els.dhx_cal_tab;if(n)for(var r=0;r<n.length;r++){var d=n[r].className;d=d.replace(/ active/g,""),n[r].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),n[r].className=d
-}this.update_view(),"number"==typeof i&&(this._els[s][0].scrollTop=i)},scheduler.setCurrentView=function(e,t){this.callEvent("onBeforeViewChange",[this._mode,this._date,t||this._mode,e||this._date])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,s,i){var a=document.createElement("DIV");a.className="dhx_scale_bar",this.templates[this._mode+"_scalex_class"]&&(a.className+=" "+this.templates[this._mode+"_scalex_class"](s));var n=this._cols[e]-1;
-"month"==this._mode&&0===e&&this.config.left_border&&(a.className+=" dhx_scale_bar_border",t+=1),this.set_xy(a,n,this.xy.scale_height-2,t,0),a.innerHTML=this.templates[this._mode+"_scale_date"](s,this._mode),i.appendChild(a)},scheduler._get_columns_num=function(e,t){var s=7;if(!scheduler._table_view){var i=scheduler.date["get_"+scheduler._mode+"_end"];i&&(t=i(e)),s=Math.round((t.valueOf()-e.valueOf())/864e5)}return s},scheduler._get_timeunit_start=function(){return this.date[this._mode+"_start"](new Date(this._date.valueOf()))
-},scheduler._get_view_end=function(){var e=this._get_timeunit_start(),t=scheduler.date.add(e,1,this._mode);if(!scheduler._table_view){var s=scheduler.date["get_"+scheduler._mode+"_end"];s&&(t=s(e))}return t},scheduler._calc_scale_sizes=function(e,t,s){var i=e,a=this._get_columns_num(t,s);this._process_ignores(t,a,"day",1);for(var n=a-this._ignores_detected,r=0;a>r;r++)this._ignores[r]?(this._cols[r]=0,n++):this._cols[r]=Math.floor(i/(n-r)),i-=this._cols[r],this._colsS[r]=(this._cols[r-1]||0)+(this._colsS[r-1]||(this._table_view?0:this.xy.scale_width+2));
-this._colsS.col_length=a,this._colsS[a]=this._cols[a-1]+this._colsS[a-1]||0},scheduler._set_scale_col_size=function(e,t,s){var i=this.config;this.set_xy(e,t-1,i.hour_size_px*(i.last_hour-i.first_hour),s+this.xy.scale_width+1,0)},scheduler._render_scales=function(e,t){var s=new Date(scheduler._min_date),i=new Date(scheduler._max_date),a=this.date.date_part(scheduler._currentDate()),n=parseInt(e.style.width,10),r=new Date(this._min_date),d=this._get_columns_num(s,i);this._calc_scale_sizes(n,s,i);var o=0;
-e.innerHTML="";for(var l=0;d>l;l++){if(this._ignores[l]||this._render_x_header(l,o,r,e),!this._table_view){var h=document.createElement("DIV"),_="dhx_scale_holder";r.valueOf()==a.valueOf()&&(_="dhx_scale_holder_now"),this._ignores_detected&&this._ignores[l]&&(_+=" dhx_scale_ignore"),h.className=_+" "+this.templates.week_date_class(r,a),this._set_scale_col_size(h,this._cols[l],o),t.appendChild(h),this.callEvent("onScaleAdd",[h,r])}o+=this._cols[l],r=this.date.add(r,1,"day")}},scheduler._reset_scale=function(){if(this.templates[this._mode+"_date"]){var e=this._els.dhx_cal_header[0],t=this._els.dhx_cal_data[0],s=this.config;
-e.innerHTML="",t.innerHTML="";var i=(s.readonly||!s.drag_resize?" dhx_resize_denied":"")+(s.readonly||!s.drag_move?" dhx_move_denied":"");t.className="dhx_cal_data"+i,this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var a,n,r=this._get_timeunit_start(),d=scheduler._get_view_end();if(a=n=this._table_view?scheduler.date.week_start(r):r,this._min_date=a,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](r,d,this._mode),this._max_date=d,scheduler._render_scales(e,t),this._table_view)this._reset_month_scale(t,r,n);
+this._drag_pos=!0,this._select_id=this._edit_id=t}else this._new_event||this.callEvent(a?"onEventAdded":"onEventChanged",[t,this.getEvent(t)]);else a?this.deleteEvent(i.id,!0):(this._drag_event._dhx_changed=!1,this._clear_temporary_properties(i,this._drag_event),scheduler._lame_copy(i,this._drag_event),this.updateEvent(i.id))}this._drag_pos&&(this._drag_pos.has_moved||this._drag_pos===!0)&&this.render_view_data(),scheduler.callEvent("onDragEnd",[t,s,e])}this._drag_id=null,this._drag_mode=null,this._drag_pos=null
+}},scheduler._trigger_dyn_loading=function(){return this._load_mode&&this._load()?(this._render_wait=!0,!0):!1},scheduler.update_view=function(){var e=this[this._mode+"_view"];return e?e(!0):this._reset_scale(),this._trigger_dyn_loading()?!0:void this.render_view_data()},scheduler.isViewExists=function(e){return!!(scheduler[e+"_view"]||scheduler.date[e+"_start"]&&scheduler.templates[e+"_date"]&&scheduler.templates[e+"_scale_date"])},scheduler.updateView=function(e,t){e=e||this._date,t=t||this._mode;
+var s="dhx_cal_data";this._mode?this._obj.className=this._obj.className.replace("dhx_scheduler_"+this._mode,"dhx_scheduler_"+t):this._obj.className+=" dhx_scheduler_"+t;var i=this._mode==t&&this.config.preserve_scroll?this._els[s][0].scrollTop:!1;this[this._mode+"_view"]&&t&&this._mode!=t&&this[this._mode+"_view"](!1),this._close_not_saved();var a="dhx_multi_day";this._els[a]&&(this._els[a][0].parentNode.removeChild(this._els[a][0]),this._els[a]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode,this._dy_shift=0;
+var n=this._els.dhx_cal_tab;if(n)for(var r=0;r<n.length;r++){var d=n[r].className;d=d.replace(/ active/g,""),n[r].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),n[r].className=d}this.update_view(),"number"==typeof i&&(this._els[s][0].scrollTop=i)},scheduler.setCurrentView=function(e,t){this.callEvent("onBeforeViewChange",[this._mode,this._date,t||this._mode,e||this._date])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,s,i,a){a=a||0;
+var n=document.createElement("DIV");n.className="dhx_scale_bar",this.templates[this._mode+"_scalex_class"]&&(n.className+=" "+this.templates[this._mode+"_scalex_class"](s));var r=this._cols[e]-1;"month"==this._mode&&0===e&&this.config.left_border&&(n.className+=" dhx_scale_bar_border",t+=1),this.set_xy(n,r,this.xy.scale_height-2,t,a),n.innerHTML=this.templates[this._mode+"_scale_date"](s,this._mode),i.appendChild(n)},scheduler._get_columns_num=function(e,t){var s=7;if(!scheduler._table_view){var i=scheduler.date["get_"+scheduler._mode+"_end"];
+i&&(t=i(e)),s=Math.round((t.valueOf()-e.valueOf())/864e5)}return s},scheduler._get_timeunit_start=function(){return this.date[this._mode+"_start"](new Date(this._date.valueOf()))},scheduler._get_view_end=function(){var e=this._get_timeunit_start(),t=scheduler.date.add(e,1,this._mode);if(!scheduler._table_view){var s=scheduler.date["get_"+scheduler._mode+"_end"];s&&(t=s(e))}return t},scheduler._calc_scale_sizes=function(e,t,s){var i=e,a=this._get_columns_num(t,s);this._process_ignores(t,a,"day",1);
+for(var n=a-this._ignores_detected,r=0;a>r;r++)this._ignores[r]?(this._cols[r]=0,n++):this._cols[r]=Math.floor(i/(n-r)),i-=this._cols[r],this._colsS[r]=(this._cols[r-1]||0)+(this._colsS[r-1]||(this._table_view?0:this.xy.scale_width+2));this._colsS.col_length=a,this._colsS[a]=this._cols[a-1]+this._colsS[a-1]||0},scheduler._set_scale_col_size=function(e,t,s){var i=this.config;this.set_xy(e,t-1,i.hour_size_px*(i.last_hour-i.first_hour),s+this.xy.scale_width+1,0)},scheduler._render_scales=function(e,t){var s=new Date(scheduler._min_date),i=new Date(scheduler._max_date),a=this.date.date_part(scheduler._currentDate()),n=parseInt(e.style.width,10),r=new Date(this._min_date),d=this._get_columns_num(s,i);
+this._calc_scale_sizes(n,s,i);var o=0;e.innerHTML="";for(var l=0;d>l;l++){if(this._ignores[l]||this._render_x_header(l,o,r,e),!this._table_view){var h=document.createElement("DIV"),_="dhx_scale_holder";r.valueOf()==a.valueOf()&&(_="dhx_scale_holder_now"),this._ignores_detected&&this._ignores[l]&&(_+=" dhx_scale_ignore"),h.className=_+" "+this.templates.week_date_class(r,a),this._set_scale_col_size(h,this._cols[l],o),t.appendChild(h),this.callEvent("onScaleAdd",[h,r])}o+=this._cols[l],r=this.date.add(r,1,"day"),r=this.date.day_start(r)
+}},scheduler._reset_scale=function(){if(this.templates[this._mode+"_date"]){var e=this._els.dhx_cal_header[0],t=this._els.dhx_cal_data[0],s=this.config;e.innerHTML="",t.innerHTML="";var i=(s.readonly||!s.drag_resize?" dhx_resize_denied":"")+(s.readonly||!s.drag_move?" dhx_move_denied":"");t.className="dhx_cal_data"+i,this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var a,n,r=this._get_timeunit_start(),d=scheduler._get_view_end();if(a=n=this._table_view?scheduler.date.week_start(r):r,this._min_date=a,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](r,d,this._mode),this._max_date=d,scheduler._render_scales(e,t),this._table_view)this._reset_month_scale(t,r,n);
else if(this._reset_hours_scale(t,r,n),s.multi_day){var o="dhx_multi_day";this._els[o]&&(this._els[o][0].parentNode.removeChild(this._els[o][0]),this._els[o]=null);var l=this._els.dhx_cal_navline[0],h=l.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,_=document.createElement("DIV");_.className=o,_.style.visibility="hidden",this.set_xy(_,Math.max(this._colsS[this._colsS.col_length]+this.xy.scroll_width-2,0),0,0,h),t.parentNode.insertBefore(_,t);var c=_.cloneNode(!0);c.className=o+"_icon",c.style.visibility="hidden",this.set_xy(c,this.xy.scale_width,0,0,h),_.appendChild(c),this._els[o]=[_,c],this._els[o][0].onclick=this._click.dhx_cal_data
}}},scheduler._reset_hours_scale=function(e){var t=document.createElement("DIV");t.className="dhx_scale_holder";for(var s=new Date(1980,1,1,this.config.first_hour,0,0),i=1*this.config.first_hour;i<this.config.last_hour;i++){var a=document.createElement("DIV");a.className="dhx_scale_hour",a.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var n=this.xy.scale_width;this.config.left_border&&(n-=1,a.className+=" dhx_scale_hour_border"),a.style.width=n+"px",a.innerHTML=scheduler.templates.hour_scale(s),t.appendChild(a),s=this.date.add(s,1,"hour")
-}e.appendChild(t),this.config.scroll_hour&&(e.scrollTop=this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour))},scheduler._currentDate=function(){return scheduler.config.now_date?new Date(scheduler.config.now_date):new Date},scheduler._process_ignores=function(e,t,s,i,a){this._ignores={},this._ignores_detected=0;var n=scheduler["ignore_"+this._mode];if(n)for(var r=new Date(e),d=0;t>d;d++)n(r)&&(this._ignores_detected+=1,this._ignores[d]=!0,a&&t++),r=scheduler.date.add(r,i,s)},scheduler._render_month_scale=function(e,t,s){function i(e){var t=scheduler._colsS.height;
-return void 0!==scheduler._colsS.heights[e+1]&&(t=scheduler._colsS.heights[e+1]-(scheduler._colsS.heights[e]||0)),t}var a=scheduler.date.add(t,1,"month"),n=new Date(s),r=scheduler._currentDate();this.date.date_part(r),this.date.date_part(s);for(var d=Math.ceil(Math.round((a.valueOf()-s.valueOf())/864e5)/7),o=[],l=0;7>=l;l++){var h=(this._cols[l]||0)-1;0===l&&this.config.left_border&&(h-=1),o[l]=" style='width:"+h+"px;"}for(var _=0,c="<table cellpadding='0' cellspacing='0'>",u=[],l=0;d>l;l++){c+="<tr>";
-for(var g=Math.max(i(l)-scheduler.xy.month_head_height,0),f=0;7>f;f++){c+="<td";var v="";t>s?v="dhx_before":s>=a?v="dhx_after":s.valueOf()==r.valueOf()&&(v="dhx_now"),this._ignores_detected&&this._ignores[f]&&(v+=" dhx_scale_ignore"),c+=" class='"+v+" "+this.templates.month_date_class(s,r)+"' >";var m="dhx_month_body",p="dhx_month_head";0===f&&this.config.left_border&&(m+=" dhx_month_body_border",p+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[f]?c+="<div></div><div></div>":(c+="<div class='"+p+"'>"+this.templates.month_day(s)+"</div>",c+="<div class='"+m+"' "+o[f]+";height:"+g+"px;'></div></td>"),u.push(s);
+}e.appendChild(t),this.config.scroll_hour&&(e.scrollTop=this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour))},scheduler._currentDate=function(){return scheduler.config.now_date?new Date(scheduler.config.now_date):new Date},scheduler._process_ignores=function(e,t,s,i,a){this._ignores={},this._ignores_detected=0;var n=scheduler["ignore_"+this._mode];if(n)for(var r=new Date(e),d=0;t>d;d++)n(r)&&(this._ignores_detected+=1,this._ignores[d]=!0,a&&t++),r=scheduler.date.add(r,i,s),scheduler.date[s+"_start"]&&(r=scheduler.date[s+"_start"](r))
+},scheduler._render_month_scale=function(e,t,s){function i(e){var t=scheduler._colsS.height;return void 0!==scheduler._colsS.heights[e+1]&&(t=scheduler._colsS.heights[e+1]-(scheduler._colsS.heights[e]||0)),t}var a=scheduler.date.add(t,1,"month"),n=new Date(s),r=scheduler._currentDate();this.date.date_part(r),this.date.date_part(s);for(var d=Math.ceil(Math.round((a.valueOf()-s.valueOf())/864e5)/7),o=[],l=0;7>=l;l++){var h=(this._cols[l]||0)-1;0===l&&this.config.left_border&&(h-=1),o[l]=" style='width:"+h+"px;"
+}for(var _=0,c="<table cellpadding='0' cellspacing='0'>",u=[],l=0;d>l;l++){c+="<tr>";for(var g=Math.max(i(l)-scheduler.xy.month_head_height,0),f=0;7>f;f++){c+="<td";var v="";t>s?v="dhx_before":s>=a?v="dhx_after":s.valueOf()==r.valueOf()&&(v="dhx_now"),this._ignores_detected&&this._ignores[f]&&(v+=" dhx_scale_ignore"),c+=" class='"+v+" "+this.templates.month_date_class(s,r)+"' >";var m="dhx_month_body",p="dhx_month_head";0===f&&this.config.left_border&&(m+=" dhx_month_body_border",p+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[f]?c+="<div></div><div></div>":(c+="<div class='"+p+"'>"+this.templates.month_day(s)+"</div>",c+="<div class='"+m+"' "+o[f]+";height:"+g+"px;'></div></td>"),u.push(s);
var x=s.getDate();s=this.date.add(s,1,"day"),s.getDate()-x>1&&(s=new Date(s.getFullYear(),s.getMonth(),x+1,12,0))}c+="</tr>",scheduler._colsS.heights[l]=_,_+=i(l)}c+="</table>",this._min_date=n,this._max_date=s,e.innerHTML=c,this._scales={};for(var b=e.getElementsByTagName("div"),l=0;l<u.length;l++){var e=b[2*l+1],y=u[l];this._scales[+y]=e}for(var l=0;l<u.length;l++){var y=u[l];this.callEvent("onScaleAdd",[this._scales[+y],y])}return this._max_date},scheduler._reset_month_scale=function(e,t,s){var i=scheduler.date.add(t,1,"month"),a=scheduler._currentDate();
this.date.date_part(a),this.date.date_part(s);var n=Math.ceil(Math.round((i.valueOf()-s.valueOf())/864e5)/7),r=Math.floor(e.clientHeight/n)-this.xy.month_head_height;return this._colsS.height=r+this.xy.month_head_height,this._colsS.heights=[],scheduler._render_month_scale(e,t,s)},scheduler.getLabel=function(e,t){for(var s=this.config.lightbox.sections,i=0;i<s.length;i++)if(s[i].map_to==e)for(var a=s[i].options,n=0;n<a.length;n++)if(a[n].key==t)return a[n].label;return""},scheduler.updateCollection=function(e,t){var s=scheduler.serverList(e);
return s?(s.splice(0,s.length),s.push.apply(s,t||[]),scheduler.callEvent("onOptionsLoad",[]),scheduler.resetLightbox(),!0):!1},scheduler._lame_clone=function(e,t){var s,i,a;for(t=t||[],s=0;s<t.length;s+=2)if(e===t[s])return t[s+1];if(e&&"object"==typeof e){for(a={},i=[Array,Date,Number,String,Boolean],s=0;s<i.length;s++)e instanceof i[s]&&(a=s?new i[s](e):new i[s]);t.push(e,a);for(s in e)Object.prototype.hasOwnProperty.apply(e,[s])&&(a[s]=scheduler._lame_clone(e[s],t))}return a||e},scheduler._lame_copy=function(e,t){for(var s in t)t.hasOwnProperty(s)&&(e[s]=t[s]);
return e},scheduler._get_date_from_pos=function(e){var t=this._min_date.valueOf()+6e4*(e.y*this.config.time_step+24*(this._table_view?0:e.x)*60);return new Date(this._correct_shift(t))},scheduler.getActionData=function(e){var t=this._mouse_coords(e);return{date:this._get_date_from_pos(t),section:t.section}},scheduler._focus=function(e,t){e&&e.focus&&(this.config.touch?window.setTimeout(function(){e.focus()},100):(t&&e.select&&e.select(),e.focus()))},scheduler._get_real_event_length=function(e,t,s){var i,a=t-e,n=s._start_correction+s._end_correction||0,r=this["ignore_"+this._mode],d=0;
for(s.render?(d=this._get_date_index(s,e),i=this._get_date_index(s,t)):i=Math.round(a/60/60/1e3/24);i>d;){var o=scheduler.date.add(t,-s.x_step,s.x_unit);a-=r&&r(t)?t-o:n,t=o,i--}return a},scheduler._get_fictional_event_length=function(e,t,s,i){var a=new Date(e),n=i?-1:1;if(s._start_correction||s._end_correction){var r;r=i?60*a.getHours()+a.getMinutes()-60*(s.first_hour||0):60*(s.last_hour||0)-(60*a.getHours()+a.getMinutes());var d=60*(s.last_hour-s.first_hour),o=Math.ceil((t/6e4-r)/d);t+=o*(1440-d)*60*1e3
}var l,h=new Date(1*e+t*n),_=this["ignore_"+this._mode],c=0;for(s.render?(c=this._get_date_index(s,a),l=this._get_date_index(s,h)):l=Math.round(t/60/60/1e3/24);l*n>=c*n;){var u=scheduler.date.add(a,s.x_step*n,s.x_unit);_&&_(a)&&(t+=(u-a)*n,l+=n),a=u,c+=n}return t},scheduler._get_section_view=function(){return this.matrix&&this.matrix[this._mode]?this.matrix[this._mode]:this._props&&this._props[this._mode]?this._props[this._mode]:null},scheduler._get_section_property=function(){return this.matrix&&this.matrix[this._mode]?this.matrix[this._mode].y_property:this._props&&this._props[this._mode]?this._props[this._mode].map_to:null
-},scheduler._is_initialized=function(){var e=this.getState();return this._obj&&e.date&&e.mode},scheduler._is_lightbox_open=function(){var e=this.getState();return null!==e.lightbox_id&&void 0!==e.lightbox_id},scheduler.date={init:function(){for(var e=scheduler.locale.date.month_short,t=scheduler.locale.date.month_short_hash={},s=0;s<e.length;s++)t[e[s]]=s;for(var e=scheduler.locale.date.month_full,t=scheduler.locale.date.month_full_hash={},s=0;s<e.length;s++)t[e[s]]=s},date_part:function(e){return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),0!==e.getHours()&&e.setTime(e.getTime()+36e5*(24-e.getHours())),e
-},time_part:function(e){return(e.valueOf()/1e3-60*e.getTimezoneOffset())%86400},week_start:function(e){var t=e.getDay();return scheduler.config.start_on_monday&&(0===t?t=6:t--),this.date_part(this.add(e,-1*t,"day"))},month_start:function(e){return e.setDate(1),this.date_part(e)},year_start:function(e){return e.setMonth(0),this.month_start(e)},day_start:function(e){return this.date_part(e)},_add_days:function(e,t){var s=new Date(e.valueOf());return s.setDate(s.getDate()+t),!e.getHours()&&s.getHours()&&s.setTime(s.getTime()+36e5*(24-s.getHours())),s
-},add:function(e,t,s){var i=new Date(e.valueOf());switch(s){case"day":i=scheduler.date._add_days(i,t);break;case"week":i=scheduler.date._add_days(i,7*t);break;case"month":i.setMonth(i.getMonth()+t);break;case"year":i.setYear(i.getFullYear()+t);break;case"hour":i.setTime(i.getTime()+60*t*60*1e3);break;case"minute":i.setTime(i.getTime()+60*t*1e3);break;default:return scheduler.date["add_"+s](e,t,s)}return i},to_fixed:function(e){return 10>e?"0"+e:e},copy:function(e){return new Date(e.valueOf())},date_to_str:function(e,t){return e=e.replace(/%[a-zA-Z]/g,function(e){switch(e){case"%d":return'"+scheduler.date.to_fixed(date.getDate())+"';
-case"%m":return'"+scheduler.date.to_fixed((date.getMonth()+1))+"';case"%j":return'"+date.getDate()+"';case"%n":return'"+(date.getMonth()+1)+"';case"%y":return'"+scheduler.date.to_fixed(date.getFullYear()%100)+"';case"%Y":return'"+date.getFullYear()+"';case"%D":return'"+scheduler.locale.date.day_short[date.getDay()]+"';case"%l":return'"+scheduler.locale.date.day_full[date.getDay()]+"';case"%M":return'"+scheduler.locale.date.month_short[date.getMonth()]+"';case"%F":return'"+scheduler.locale.date.month_full[date.getMonth()]+"';
-case"%h":return'"+scheduler.date.to_fixed((date.getHours()+11)%12+1)+"';case"%g":return'"+((date.getHours()+11)%12+1)+"';case"%G":return'"+date.getHours()+"';case"%H":return'"+scheduler.date.to_fixed(date.getHours())+"';case"%i":return'"+scheduler.date.to_fixed(date.getMinutes())+"';case"%a":return'"+(date.getHours()>11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+scheduler.date.to_fixed(date.getSeconds())+"';case"%W":return'"+scheduler.date.to_fixed(scheduler.date.getISOWeek(date))+"';
-default:return e}}),t&&(e=e.replace(/date\.get/g,"date.getUTC")),new Function("date",'return "'+e+'";')},str_to_date:function(e,t){for(var s="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",i=e.match(/%[a-zA-Z]/g),a=0;a<i.length;a++)switch(i[a]){case"%j":case"%d":s+="set[2]=temp["+a+"]||1;";break;case"%n":case"%m":s+="set[1]=(temp["+a+"]||1)-1;";break;case"%y":s+="set[0]=temp["+a+"]*1+(temp["+a+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":s+="set[3]=temp["+a+"]||0;";break;case"%i":s+="set[4]=temp["+a+"]||0;";
-break;case"%Y":s+="set[0]=temp["+a+"]||0;";break;case"%a":case"%A":s+="set[3]=set[3]%12+((temp["+a+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":s+="set[5]=temp["+a+"]||0;";break;case"%M":s+="set[1]=scheduler.locale.date.month_short_hash[temp["+a+"]]||0;";break;case"%F":s+="set[1]=scheduler.locale.date.month_full_hash[temp["+a+"]]||0;"}var n="set[0],set[1],set[2],set[3],set[4],set[5]";return t&&(n=" Date.UTC("+n+")"),new Function("date","var set=[0,0,1,0,0,0]; "+s+" return new Date("+n+");")
-},getISOWeek:function(e){if(!e)return!1;var t=e.getDay();0===t&&(t=7);var s=new Date(e.valueOf());s.setDate(e.getDate()+(4-t));var i=s.getFullYear(),a=Math.round((s.getTime()-new Date(i,0,1).getTime())/864e5),n=1+Math.floor(a/7);return n},getUTCISOWeek:function(e){return this.getISOWeek(this.convert_to_utc(e))},convert_to_utc:function(e){return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())}},scheduler.locale={date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{dhx_cal_today_button:"Today",day_tab:"Day",week_tab:"Week",month_tab:"Month",new_event:"New event",icon_save:"Save",icon_cancel:"Cancel",icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",confirm_deleting:"Event will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",full_day:"Full day",confirm_recurring:"Do you want to edit the whole set of repeated events?",section_recurring:"Repeat event",button_recurring:"Disabled",button_recurring_open:"Enabled",button_edit_series:"Edit series",button_edit_occurrence:"Edit occurrence",agenda_tab:"Agenda",date:"Date",description:"Description",year_tab:"Year",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel"}},scheduler.config={default_date:"%j %M %Y",month_date:"%F %Y",load_date:"%Y-%m-%d",week_date:"%l",day_date:"%D, %F %j",hour_date:"%H:%i",month_day:"%d",xml_date:"%m/%d/%Y %H:%i",api_date:"%d-%m-%Y %H:%i",preserve_length:!0,time_step:5,start_on_monday:1,first_hour:0,last_hour:24,readonly:!1,drag_resize:1,drag_move:1,drag_create:1,dblclick_create:1,edit_on_create:1,details_on_create:0,resize_month_events:!1,resize_month_timed:!1,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,multi_day:!0,multi_day_height_limit:0,drag_lightbox:!0,preserve_scroll:!0,select:!0,server_utc:!1,touch:!0,touch_tip:!0,touch_drag:500,quick_info_detached:!0,positive_closing:!1,drag_highlight:!0,limit_drag_out:!1,icons_edit:["icon_save","icon_cancel"],icons_select:["icon_details","icon_edit","icon_delete"],buttons_left:["dhx_save_btn","dhx_cancel_btn"],buttons_right:["dhx_delete_btn"],lightbox:{sections:[{name:"description",height:200,map_to:"text",type:"textarea",focus:!0},{name:"time",height:72,type:"time",map_to:"auto"}]},highlight_displayed_event:!0,left_border:!1,ajax_error:"alert",delay_render:0},scheduler.templates={},scheduler.init_templates=function(){var e=scheduler.locale.labels;
+},scheduler._is_initialized=function(){var e=this.getState();return this._obj&&e.date&&e.mode},scheduler._is_lightbox_open=function(){var e=this.getState();return null!==e.lightbox_id&&void 0!==e.lightbox_id},scheduler.date={init:function(){for(var e=scheduler.locale.date.month_short,t=scheduler.locale.date.month_short_hash={},s=0;s<e.length;s++)t[e[s]]=s;for(var e=scheduler.locale.date.month_full,t=scheduler.locale.date.month_full_hash={},s=0;s<e.length;s++)t[e[s]]=s},date_part:function(e){var t=new Date(e);
+return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),e.getHours()&&(e.getDate()<t.getDate()||e.getMonth()<t.getMonth()||e.getFullYear()<t.getFullYear())&&e.setTime(e.getTime()+36e5*(24-e.getHours())),e},time_part:function(e){return(e.valueOf()/1e3-60*e.getTimezoneOffset())%86400},week_start:function(e){var t=e.getDay();return scheduler.config.start_on_monday&&(0===t?t=6:t--),this.date_part(this.add(e,-1*t,"day"))},month_start:function(e){return e.setDate(1),this.date_part(e)},year_start:function(e){return e.setMonth(0),this.month_start(e)
+},day_start:function(e){return this.date_part(e)},_add_days:function(e,t){var s=new Date(e.valueOf());return s.setDate(s.getDate()+t),!e.getHours()&&s.getHours()&&(s.getDate()<e.getDate()||s.getMonth()<e.getMonth()||s.getFullYear()<e.getFullYear())&&s.setTime(s.getTime()+36e5*(24-s.getHours())),s},add:function(e,t,s){var i=new Date(e.valueOf());switch(s){case"day":i=scheduler.date._add_days(i,t);break;case"week":i=scheduler.date._add_days(i,7*t);break;case"month":i.setMonth(i.getMonth()+t);break;
+case"year":i.setYear(i.getFullYear()+t);break;case"hour":i.setTime(i.getTime()+60*t*60*1e3);break;case"minute":i.setTime(i.getTime()+60*t*1e3);break;default:return scheduler.date["add_"+s](e,t,s)}return i},to_fixed:function(e){return 10>e?"0"+e:e},copy:function(e){return new Date(e.valueOf())},date_to_str:function(e,t){return e=e.replace(/%[a-zA-Z]/g,function(e){switch(e){case"%d":return'"+scheduler.date.to_fixed(date.getDate())+"';case"%m":return'"+scheduler.date.to_fixed((date.getMonth()+1))+"';
+case"%j":return'"+date.getDate()+"';case"%n":return'"+(date.getMonth()+1)+"';case"%y":return'"+scheduler.date.to_fixed(date.getFullYear()%100)+"';case"%Y":return'"+date.getFullYear()+"';case"%D":return'"+scheduler.locale.date.day_short[date.getDay()]+"';case"%l":return'"+scheduler.locale.date.day_full[date.getDay()]+"';case"%M":return'"+scheduler.locale.date.month_short[date.getMonth()]+"';case"%F":return'"+scheduler.locale.date.month_full[date.getMonth()]+"';case"%h":return'"+scheduler.date.to_fixed((date.getHours()+11)%12+1)+"';
+case"%g":return'"+((date.getHours()+11)%12+1)+"';case"%G":return'"+date.getHours()+"';case"%H":return'"+scheduler.date.to_fixed(date.getHours())+"';case"%i":return'"+scheduler.date.to_fixed(date.getMinutes())+"';case"%a":return'"+(date.getHours()>11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+scheduler.date.to_fixed(date.getSeconds())+"';case"%W":return'"+scheduler.date.to_fixed(scheduler.date.getISOWeek(date))+"';default:return e}}),t&&(e=e.replace(/date\.get/g,"date.getUTC")),new Function("date",'return "'+e+'";')
+},str_to_date:function(e,t){for(var s="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",i=e.match(/%[a-zA-Z]/g),a=0;a<i.length;a++)switch(i[a]){case"%j":case"%d":s+="set[2]=temp["+a+"]||1;";break;case"%n":case"%m":s+="set[1]=(temp["+a+"]||1)-1;";break;case"%y":s+="set[0]=temp["+a+"]*1+(temp["+a+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":s+="set[3]=temp["+a+"]||0;";break;case"%i":s+="set[4]=temp["+a+"]||0;";break;case"%Y":s+="set[0]=temp["+a+"]||0;";break;case"%a":case"%A":s+="set[3]=set[3]%12+((temp["+a+"]||'').toLowerCase()=='am'?0:12);";
+break;case"%s":s+="set[5]=temp["+a+"]||0;";break;case"%M":s+="set[1]=scheduler.locale.date.month_short_hash[temp["+a+"]]||0;";break;case"%F":s+="set[1]=scheduler.locale.date.month_full_hash[temp["+a+"]]||0;"}var n="set[0],set[1],set[2],set[3],set[4],set[5]";return t&&(n=" Date.UTC("+n+")"),new Function("date","var set=[0,0,1,0,0,0]; "+s+" return new Date("+n+");")},getISOWeek:function(e){if(!e)return!1;var t=e.getDay();0===t&&(t=7);var s=new Date(e.valueOf());s.setDate(e.getDate()+(4-t));var i=s.getFullYear(),a=Math.round((s.getTime()-new Date(i,0,1).getTime())/864e5),n=1+Math.floor(a/7);
+return n},getUTCISOWeek:function(e){return this.getISOWeek(this.convert_to_utc(e))},convert_to_utc:function(e){return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())}},scheduler.locale={date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{dhx_cal_today_button:"Today",day_tab:"Day",week_tab:"Week",month_tab:"Month",new_event:"New event",icon_save:"Save",icon_cancel:"Cancel",icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",confirm_deleting:"Event will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",full_day:"Full day",confirm_recurring:"Do you want to edit the whole set of repeated events?",section_recurring:"Repeat event",button_recurring:"Disabled",button_recurring_open:"Enabled",button_edit_series:"Edit series",button_edit_occurrence:"Edit occurrence",agenda_tab:"Agenda",date:"Date",description:"Description",year_tab:"Year",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel"}},scheduler.config={default_date:"%j %M %Y",month_date:"%F %Y",load_date:"%Y-%m-%d",week_date:"%l",day_date:"%D, %F %j",hour_date:"%H:%i",month_day:"%d",xml_date:"%m/%d/%Y %H:%i",api_date:"%d-%m-%Y %H:%i",preserve_length:!0,time_step:5,start_on_monday:1,first_hour:0,last_hour:24,readonly:!1,drag_resize:1,drag_move:1,drag_create:1,dblclick_create:1,edit_on_create:1,details_on_create:0,resize_month_events:!1,resize_month_timed:!1,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,multi_day:!0,multi_day_height_limit:0,drag_lightbox:!0,preserve_scroll:!0,select:!0,server_utc:!1,touch:!0,touch_tip:!0,touch_drag:500,quick_info_detached:!0,positive_closing:!1,drag_highlight:!0,limit_drag_out:!1,icons_edit:["icon_save","icon_cancel"],icons_select:["icon_details","icon_edit","icon_delete"],buttons_left:["dhx_save_btn","dhx_cancel_btn"],buttons_right:["dhx_delete_btn"],lightbox:{sections:[{name:"description",height:200,map_to:"text",type:"textarea",focus:!0},{name:"time",height:72,type:"time",map_to:"auto"}]},highlight_displayed_event:!0,left_border:!1,ajax_error:"alert",delay_render:0},scheduler.templates={},scheduler.init_templates=function(){var e=scheduler.locale.labels;
e.dhx_save_btn=e.icon_save,e.dhx_cancel_btn=e.icon_cancel,e.dhx_delete_btn=e.icon_delete;var t=scheduler.date.date_to_str,s=scheduler.config,i=function(e,t){for(var s in t)e[s]||(e[s]=t[s])};i(scheduler.templates,{day_date:t(s.default_date),month_date:t(s.month_date),week_date:function(e,t){return scheduler.templates.day_date(e)+" &ndash; "+scheduler.templates.day_date(scheduler.date.add(t,-1,"day"))},day_scale_date:t(s.default_date),month_scale_date:t(s.week_date),week_scale_date:t(s.day_date),hour_scale:t(s.hour_date),time_picker:t(s.hour_date),event_date:t(s.hour_date),month_day:t(s.month_day),xml_date:scheduler.date.str_to_date(s.xml_date,s.server_utc),load_format:t(s.load_date,s.server_utc),xml_format:t(s.xml_date,s.server_utc),api_date:scheduler.date.str_to_date(s.api_date),event_header:function(e,t){return scheduler.templates.event_date(e)+" - "+scheduler.templates.event_date(t)
},event_text:function(e,t,s){return s.text},event_class:function(){return""},month_date_class:function(){return""},week_date_class:function(){return""},event_bar_date:function(e){return scheduler.templates.event_date(e)+" "},event_bar_text:function(e,t,s){return s.text},month_events_link:function(e,t){return"<a>View more("+t+" events)</a>"},drag_marker_class:function(){return""},drag_marker_content:function(){return""}}),this.callEvent("onTemplatesReady",[])},scheduler.uid=function(){return this._seed||(this._seed=(new Date).valueOf()),this._seed++
},scheduler._events={},scheduler.clearAll=function(){this._events={},this._loaded={},this._edit_id=null,this._select_id=null,this._drag_id=null,this._drag_mode=null,this._drag_pos=null,this.clear_view(),this.callEvent("onClearAll",[])},scheduler.addEvent=function(e,t,s,i,a){if(!arguments.length)return this.addEventNow();var n=e;1!=arguments.length&&(n=a||{},n.start_date=e,n.end_date=t,n.text=s,n.id=i),n.id=n.id||scheduler.uid(),n.text=n.text||"","string"==typeof n.start_date&&(n.start_date=this.templates.api_date(n.start_date)),"string"==typeof n.end_date&&(n.end_date=this.templates.api_date(n.end_date));
var r=6e4*(this.config.event_duration||this.config.time_step);n.start_date.valueOf()==n.end_date.valueOf()&&n.end_date.setTime(n.end_date.valueOf()+r),n._timed=this.isOneDayEvent(n);var d=!this._events[n.id];return this._events[n.id]=n,this.event_updated(n),this._loading||this.callEvent(d?"onEventAdded":"onEventChanged",[n.id,n]),n.id},scheduler.deleteEvent=function(e,t){var s=this._events[e];(t||this.callEvent("onBeforeEventDelete",[e,s])&&this.callEvent("onConfirmedBeforeEventDelete",[e,s]))&&(s&&(this._select_id=null,delete this._events[e],this.event_updated(s)),this.callEvent("onEventDeleted",[e,s]))
},scheduler.getEvent=function(e){return this._events[e]},scheduler.setEvent=function(e,t){t.id||(t.id=e),this._events[e]=t},scheduler.for_rendered=function(e,t){for(var s=this._rendered.length-1;s>=0;s--)this._rendered[s].getAttribute("event_id")==e&&t(this._rendered[s],s)},scheduler.changeEventId=function(e,t){if(e!=t){var s=this._events[e];s&&(s.id=t,this._events[t]=s,delete this._events[e]),this.for_rendered(e,function(e){e.setAttribute("event_id",t)}),this._select_id==e&&(this._select_id=t),this._edit_id==e&&(this._edit_id=t),this.callEvent("onEventIdChange",[e,t])
}},function(){for(var e=["text","Text","start_date","StartDate","end_date","EndDate"],t=function(e){return function(t){return scheduler.getEvent(t)[e]}},s=function(e){return function(t,s){var i=scheduler.getEvent(t);i[e]=s,i._changed=!0,i._timed=this.isOneDayEvent(i),scheduler.event_updated(i,!0)}},i=0;i<e.length;i+=2)scheduler["getEvent"+e[i+1]]=t(e[i]),scheduler["setEvent"+e[i+1]]=s(e[i])}(),scheduler.event_updated=function(e){this.is_visible_events(e)?this.render_view_data():this.clear_event(e.id)
-},scheduler.is_visible_events=function(e){var t=e.start_date<this._max_date&&this._min_date<e.end_date;if(t){var s=e.end_date.getHours()>=this.config.first_hour&&e.end_date.getHours()<this.config.last_hour||e.start_date.getHours()>=this.config.first_hour&&e.start_date.getHours()<this.config.last_hour;if(s)return!0;var i=(e.end_date.valueOf()-e.start_date.valueOf())/36e5,a=24-(this.config.last_hour-this.config.first_hour);return i>a}return!1},scheduler.isOneDayEvent=function(e){var t=e.end_date.getDate()-e.start_date.getDate();
+},scheduler.is_visible_events=function(e){var t=e.start_date<this._max_date&&this._min_date<e.end_date;if(t){var s=this._table_view||e.end_date.getHours()>=this.config.first_hour&&e.end_date.getHours()<this.config.last_hour||e.start_date.getHours()>=this.config.first_hour&&e.start_date.getHours()<this.config.last_hour;if(s)return!0;var i=(e.end_date.valueOf()-e.start_date.valueOf())/36e5,a=24-(this.config.last_hour-this.config.first_hour);return i>a}return!1},scheduler.isOneDayEvent=function(e){var t=e.end_date.getDate()-e.start_date.getDate();
return t?(0>t&&(t=Math.ceil((e.end_date.valueOf()-e.start_date.valueOf())/864e5)),1==t&&!e.end_date.getHours()&&!e.end_date.getMinutes()&&(e.start_date.getHours()||e.start_date.getMinutes())):e.start_date.getMonth()==e.end_date.getMonth()&&e.start_date.getFullYear()==e.end_date.getFullYear()},scheduler.get_visible_events=function(e){var t=[];for(var s in this._events)this.is_visible_events(this._events[s])&&(!e||this._events[s]._timed)&&this.filter_event(s,this._events[s])&&t.push(this._events[s]);
return t},scheduler.filter_event=function(e,t){var s=this["filter_"+this._mode];return s?s(e,t):!0},scheduler._is_main_area_event=function(e){return!!e._timed},scheduler.render_view_data=function(e,t){if(!e){if(this._not_render)return void(this._render_wait=!0);this._render_wait=!1,this.clear_view(),e=this.get_visible_events(!(this._table_view||this.config.multi_day))}for(var s=0,i=e.length;i>s;s++)this._recalculate_timed(e[s]);if(this.config.multi_day&&!this._table_view){for(var a=[],n=[],s=0;s<e.length;s++)this._is_main_area_event(e[s])?a.push(e[s]):n.push(e[s]);
this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(n,t),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(a,t)}else this._rendered_location=this._els.dhx_cal_data[0],this.render_data(e,t)},scheduler._view_month_day=function(e){var t=scheduler.getActionData(e).date;scheduler.callEvent("onViewMoreClick",[t])&&scheduler.setCurrentView(t,"day")},scheduler._render_month_link=function(e){for(var t=this._rendered_location,s=this._lame_clone(e),i=e._sday;i<e._eday;i++){s._sday=i,s._eday=i+1;
var a=scheduler.date,n=scheduler._min_date;n=a.add(n,s._sweek,"week"),n=a.add(n,s._sday,"day");var r=scheduler.getEvents(n,a.add(n,1,"day")).length,d=this._get_event_bar_pos(s),o=d.x2-d.x,l=document.createElement("div");l.onclick=function(e){scheduler._view_month_day(e||event)},l.className="dhx_month_link",l.style.top=d.y+"px",l.style.left=d.x+"px",l.style.width=o+"px",l.innerHTML=scheduler.templates.month_events_link(n,r),this._rendered.push(l),t.appendChild(l)}},scheduler._recalculate_timed=function(e){if(e){var t;
t="object"!=typeof e?this._events[e]:e,t&&(t._timed=scheduler.isOneDayEvent(t))}},scheduler.attachEvent("onEventChanged",scheduler._recalculate_timed),scheduler.attachEvent("onEventAdded",scheduler._recalculate_timed),scheduler.render_data=function(e,t){e=this._pre_render_events(e,t);for(var s=0;s<e.length;s++)if(this._table_view)if("month"!=scheduler._mode)this.render_event_bar(e[s]);else{var i=scheduler.config.max_month_events;i!==1*i||e[s]._sorder<i?this.render_event_bar(e[s]):void 0!==i&&e[s]._sorder==i&&scheduler._render_month_link(e[s])
-}else this.render_event(e[s])},scheduler._pre_render_events=function(e,t){var s=this.xy.bar_height,i=this._colsS.heights,a=this._colsS.heights=[0,0,0,0,0,0,0],n=this._els.dhx_cal_data[0];if(e=this._table_view?this._pre_render_events_table(e,t):this._pre_render_events_line(e,t),this._table_view)if(t)this._colsS.heights=i;else{var r=n.firstChild;if(r.rows){for(var d=0;d<r.rows.length;d++){a[d]++;var o=this._colsS.height-this.xy.month_head_height;if(a[d]*s>o){var l=r.rows[d].cells,h=o;1*this.config.max_month_events!==this.config.max_month_events||a[d]<=this.config.max_month_events?h=a[d]*s:(this.config.max_month_events+1)*s>o&&(h=(this.config.max_month_events+1)*s);
-for(var _=0;_<l.length;_++)l[_].childNodes[1].style.height=h+"px";a[d]=(a[d-1]||0)+l[0].offsetHeight}a[d]=(a[d-1]||0)+r.rows[d].cells[0].offsetHeight}if(a.unshift(0),r.parentNode.offsetHeight<r.parentNode.scrollHeight&&!scheduler._colsS.scroll_fix&&scheduler.xy.scroll_width){var c=scheduler._colsS,u=c[c.col_length],g=c.heights.slice();u-=scheduler.xy.scroll_width||0,this._calc_scale_sizes(u,this._min_date,this._max_date),scheduler._colsS.heights=g,this.set_xy(this._els.dhx_cal_header[0],u,this.xy.scale_height),scheduler._render_scales(this._els.dhx_cal_header[0]),scheduler._render_month_scale(this._els.dhx_cal_data[0],this._get_timeunit_start(),this._min_date),c.scroll_fix=!0
-}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(a[0]=-1),e.length||-1==a[0]){var f=(r.parentNode.childNodes,(a[0]+1)*s+1),v=f,m=f+"px";this.config.multi_day_height_limit&&(v=Math.min(f,this.config.multi_day_height_limit),m=v+"px"),n.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+v+"px",n.style.height=this._obj.offsetHeight-parseInt(n.style.top,10)-(this.xy.margin_top||0)+"px";var p=this._els.dhx_multi_day[0];p.style.height=m,p.style.visibility=-1==a[0]?"hidden":"visible";
-var x=this._els.dhx_multi_day[1];x.style.height=m,x.style.visibility=-1==a[0]?"hidden":"visible",x.className=a[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(a[0]+1)*s,this.config.multi_day_height_limit&&(this._dy_shift=Math.min(this.config.multi_day_height_limit,this._dy_shift)),a[0]=0,v!=f&&(n.style.top=parseInt(n.style.top)+2+"px",p.style.overflowY="auto",x.style.position="fixed",x.style.top="",x.style.left="")}}return e},scheduler._get_event_sday=function(e){return Math.floor((e.start_date.valueOf()-this._min_date.valueOf())/864e5)
-},scheduler._get_event_mapped_end_date=function(e){var t=e.end_date;if(this.config.separate_short_events){var s=(e.end_date-e.start_date)/6e4;s<this._min_mapped_duration&&(t=this.date.add(t,this._min_mapped_duration-s,"minute"))}return t},scheduler._pre_render_events_line=function(e,t){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});var s=[],i=[];this._min_mapped_duration=Math.ceil(60*this.xy.min_event_height/this.config.hour_size_px);
-for(var a=0;a<e.length;a++){var n=e[a],r=n.start_date,d=n.end_date,o=r.getHours(),l=d.getHours();if(n._sday=this._get_event_sday(n),this._ignores[n._sday])e.splice(a,1),a--;else{if(s[n._sday]||(s[n._sday]=[]),!t){n._inner=!1;for(var h=s[n._sday];h.length;){var _=h[h.length-1],c=this._get_event_mapped_end_date(_);if(!(c.valueOf()<=n.start_date.valueOf()))break;h.splice(h.length-1,1)}for(var u=h.length,g=!1,f=0;f<h.length;f++){var _=h[f],c=this._get_event_mapped_end_date(_);if(c.valueOf()<=n.start_date.valueOf()){g=!0,n._sorder=_._sorder,u=f,n._inner=!0;
-break}}if(h.length&&(h[h.length-1]._inner=!0),!g)if(h.length)if(h.length<=h[h.length-1]._sorder){if(h[h.length-1]._sorder)for(f=0;f<h.length;f++){for(var v=!1,m=0;m<h.length;m++)if(h[m]._sorder==f){v=!0;break}if(!v){n._sorder=f;break}}else n._sorder=0;n._inner=!0}else{var p=h[0]._sorder;for(f=1;f<h.length;f++)h[f]._sorder>p&&(p=h[f]._sorder);n._sorder=p+1,n._inner=!1}else n._sorder=0;h.splice(u,u==h.length?0:1,n),h.length>(h.max_count||0)?(h.max_count=h.length,n._count=h.length):n._count=n._count?n._count:1
+}else this.render_event(e[s])},scheduler._get_first_visible_cell=function(e){for(var t=0;t<e.length;t++)if(-1==(e[t].className||"").indexOf("dhx_scale_ignore"))return e[t];return e[0]},scheduler._pre_render_events=function(e,t){var s=this.xy.bar_height,i=this._colsS.heights,a=this._colsS.heights=[0,0,0,0,0,0,0],n=this._els.dhx_cal_data[0];if(e=this._table_view?this._pre_render_events_table(e,t):this._pre_render_events_line(e,t),this._table_view)if(t)this._colsS.heights=i;else{var r=n.firstChild;if(r.rows){for(var d=0;d<r.rows.length;d++){a[d]++;
+var o=r.rows[d].cells,l=this._colsS.height-this.xy.month_head_height;if(a[d]*s>l){var h=l;1*this.config.max_month_events!==this.config.max_month_events||a[d]<=this.config.max_month_events?h=a[d]*s:(this.config.max_month_events+1)*s>l&&(h=(this.config.max_month_events+1)*s);for(var _=0;_<o.length;_++)o[_].childNodes[1].style.height=h+"px"}a[d]=(a[d-1]||0)+scheduler._get_first_visible_cell(o).offsetHeight}if(a.unshift(0),r.parentNode.offsetHeight<r.parentNode.scrollHeight&&!scheduler._colsS.scroll_fix&&scheduler.xy.scroll_width){var c=scheduler._colsS,u=c[c.col_length],g=c.heights.slice();
+u-=scheduler.xy.scroll_width||0,this._calc_scale_sizes(u,this._min_date,this._max_date),scheduler._colsS.heights=g,this.set_xy(this._els.dhx_cal_header[0],u,this.xy.scale_height),scheduler._render_scales(this._els.dhx_cal_header[0]),scheduler._render_month_scale(this._els.dhx_cal_data[0],this._get_timeunit_start(),this._min_date),c.scroll_fix=!0}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(a[0]=-1),e.length||-1==a[0]){var f=(r.parentNode.childNodes,(a[0]+1)*s+1),v=f,m=f+"px";
+this.config.multi_day_height_limit&&(v=Math.min(f,this.config.multi_day_height_limit),m=v+"px"),n.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+v+"px",n.style.height=this._obj.offsetHeight-parseInt(n.style.top,10)-(this.xy.margin_top||0)+"px";var p=this._els.dhx_multi_day[0];p.style.height=m,p.style.visibility=-1==a[0]?"hidden":"visible";var x=this._els.dhx_multi_day[1];x.style.height=m,x.style.visibility=-1==a[0]?"hidden":"visible",x.className=a[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(a[0]+1)*s,this.config.multi_day_height_limit&&(this._dy_shift=Math.min(this.config.multi_day_height_limit,this._dy_shift)),a[0]=0,v!=f&&(n.style.top=parseInt(n.style.top)+2+"px",p.style.overflowY="auto",x.style.position="fixed",x.style.top="",x.style.left="")
+}}return e},scheduler._get_event_sday=function(e){return Math.floor((e.start_date.valueOf()-this._min_date.valueOf())/864e5)},scheduler._get_event_mapped_end_date=function(e){var t=e.end_date;if(this.config.separate_short_events){var s=(e.end_date-e.start_date)/6e4;s<this._min_mapped_duration&&(t=this.date.add(t,this._min_mapped_duration-s,"minute"))}return t},scheduler._pre_render_events_line=function(e,t){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
+});var s=[],i=[];this._min_mapped_duration=Math.ceil(60*this.xy.min_event_height/this.config.hour_size_px);for(var a=0;a<e.length;a++){var n=e[a],r=n.start_date,d=n.end_date,o=r.getHours(),l=d.getHours();if(n._sday=this._get_event_sday(n),this._ignores[n._sday])e.splice(a,1),a--;else{if(s[n._sday]||(s[n._sday]=[]),!t){n._inner=!1;for(var h=s[n._sday];h.length;){var _=h[h.length-1],c=this._get_event_mapped_end_date(_);if(!(c.valueOf()<=n.start_date.valueOf()))break;h.splice(h.length-1,1)}for(var u=h.length,g=!1,f=0;f<h.length;f++){var _=h[f],c=this._get_event_mapped_end_date(_);
+if(c.valueOf()<=n.start_date.valueOf()){g=!0,n._sorder=_._sorder,u=f,n._inner=!0;break}}if(h.length&&(h[h.length-1]._inner=!0),!g)if(h.length)if(h.length<=h[h.length-1]._sorder){if(h[h.length-1]._sorder)for(f=0;f<h.length;f++){for(var v=!1,m=0;m<h.length;m++)if(h[m]._sorder==f){v=!0;break}if(!v){n._sorder=f;break}}else n._sorder=0;n._inner=!0}else{var p=h[0]._sorder;for(f=1;f<h.length;f++)h[f]._sorder>p&&(p=h[f]._sorder);n._sorder=p+1,n._inner=!1}else n._sorder=0;h.splice(u,u==h.length?0:1,n),h.length>(h.max_count||0)?(h.max_count=h.length,n._count=h.length):n._count=n._count?n._count:1
}(o<this.config.first_hour||l>=this.config.last_hour)&&(i.push(n),e[a]=n=this._copy_event(n),o<this.config.first_hour&&(n.start_date.setHours(this.config.first_hour),n.start_date.setMinutes(0)),l>=this.config.last_hour&&(n.end_date.setMinutes(0),n.end_date.setHours(this.config.last_hour)),n.start_date>n.end_date||o==this.config.last_hour)&&(e.splice(a,1),a--)}}if(!t){for(var a=0;a<e.length;a++)e[a]._count=s[e[a]._sday].max_count;for(var a=0;a<i.length;a++)i[a]._count=s[i[a]._sday].max_count}return e
},scheduler._time_order=function(e){e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e._timed&&!t._timed?1:!e._timed&&t._timed?-1:e.id>t.id?1:-1:e.start_date>t.start_date?1:-1})},scheduler._pre_render_events_table=function(e,t){this._time_order(e);for(var s,i=[],a=[[],[],[],[],[],[],[]],n=this._colsS.heights,r=this._cols.length,d={},o=0;o<e.length;o++){var l=e[o],h=l.id;d[h]||(d[h]={first_chunk:!0,last_chunk:!0});var _=d[h],c=s||l.start_date,u=l.end_date;c<this._min_date&&(_.first_chunk=!1,c=this._min_date),u>this._max_date&&(_.last_chunk=!1,u=this._max_date);
var g=this.locate_holder_day(c,!1,l);if(l._sday=g%r,!this._ignores[l._sday]||!l._timed){var f=this.locate_holder_day(u,!0,l)||r;l._eday=f%r||r,l._length=f-g,l._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*r));var v,m=a[l._sweek];for(v=0;v<m.length&&!(m[v]._eday<=l._sday);v++);if(l._sorder&&t||(l._sorder=v),l._sday+l._length<=r)s=null,i.push(l),m[v]=l,n[l._sweek]=m.length-1,l._first_chunk=_.first_chunk,l._last_chunk=_.last_chunk;else{var p=this._copy_event(l);
@@ -167,17 +168,18 @@ return scheduler.config.server_utc&&!i[1]?new Date(Date.UTC(a,n,r,t,s)):new Date
for(var l=i.getFullYear()-5,h=0;10>h;h++)r+="<option value='"+(l+h)+"'>"+(l+h)+"</option>";r+="</select> ";break;case"%m":e._time_format_order[2]=d,r+="<select>";for(var h=0;12>h;h++)r+="<option value='"+h+"'>"+this.locale.date.month_full[h]+"</option>";r+="</select>";break;case"%d":e._time_format_order[1]=d,r+="<select>";for(var h=1;32>h;h++)r+="<option value='"+h+"'>"+h+"</option>";r+="</select>";break;case"%H:%i":e._time_format_order[0]=d,r+="<select>";var h=n,_=i.getDate();for(e._time_values=[];a>h;){var c=this.templates.time_picker(i);
r+="<option value='"+h+"'>"+c+"</option>",e._time_values.push(h),i.setTime(i.valueOf()+60*this.config.time_step*1e3);var u=i.getDate()!=_?1:0;h=24*u*60+60*i.getHours()+i.getMinutes()}r+="</select>"}}return"<div style='height:30px;padding-top:0px;font-size:inherit;' class='dhx_section_time'>"+r+"<span style='font-weight:normal; font-size:10pt;'> &nbsp;&ndash;&nbsp; </span>"+r+"</div>"},set_value:function(e,t,s,i){function a(e,t,s){for(var a=i._time_values,n=60*s.getHours()+s.getMinutes(),r=n,d=!1,o=0;o<a.length;o++){var h=a[o];
if(h===n){d=!0;break}n>h&&(r=h)}e[t+l[0]].value=d?n:r,d||r||(e[t+l[0]].selectedIndex=-1),e[t+l[1]].value=s.getDate(),e[t+l[2]].value=s.getMonth(),e[t+l[3]].value=s.getFullYear()}var n,r,d=scheduler.config,o=e.getElementsByTagName("select"),l=i._time_format_order;if(d.full_day){if(!e._full_day){var h="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+"&nbsp;</label></input>";scheduler.config.wide_form||(h=e.previousSibling.innerHTML+h),e.previousSibling.innerHTML=h,e._full_day=!0
-}var _=e.previousSibling.getElementsByTagName("input")[0];_.checked=0===scheduler.date.time_part(s.start_date)&&0===scheduler.date.time_part(s.end_date),o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,_.onclick=function(){if(_.checked){var t={};scheduler.form_blocks.time.get_value(e,t,i),n=scheduler.date.date_part(t.start_date),r=scheduler.date.date_part(t.end_date),(+r==+n||+r>=+n&&(0!==s.end_date.getHours()||0!==s.end_date.getMinutes()))&&(r=scheduler.date.add(r,1,"day"))}o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,a(o,0,n||s.start_date),a(o,4,r||s.end_date)
-}}if(d.auto_end_date&&d.event_duration)for(var c=function(){n=new Date(o[l[3]].value,o[l[2]].value,o[l[1]].value,0,o[l[0]].value),r=new Date(n.getTime()+60*scheduler.config.event_duration*1e3),a(o,4,r)},u=0;4>u;u++)o[u].onchange=c;a(o,0,s.start_date),a(o,4,s.end_date)},get_value:function(e,t,s){var i=e.getElementsByTagName("select"),a=s._time_format_order;return t.start_date=new Date(i[a[3]].value,i[a[2]].value,i[a[1]].value,0,i[a[0]].value),t.end_date=new Date(i[a[3]+4].value,i[a[2]+4].value,i[a[1]+4].value,0,i[a[0]+4].value),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(e){scheduler._focus(e.getElementsByTagName("select")[0])}}},scheduler.showCover=function(e){if(e){e.style.display="block";var t=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,s=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,i=window.innerHeight||document.documentElement.clientHeight;e.style.top=t?Math.round(t+Math.max((i-e.offsetHeight)/2,0))+"px":Math.round(Math.max((i-e.offsetHeight)/2,0)+9)+"px",e.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(s+(document.body.offsetWidth-e.offsetWidth)/2)+"px":Math.round((document.body.offsetWidth-e.offsetWidth)/2)+"px"
-}this.show_cover()},scheduler.showLightbox=function(e){if(e){if(!this.callEvent("onBeforeLightbox",[e]))return void(this._new_event&&(this._new_event=null));var t=this.getLightbox();this.showCover(t),this._fill_lightbox(e,t),this.callEvent("onLightbox",[e])}},scheduler._fill_lightbox=function(e,t){var s=this.getEvent(e),i=t.getElementsByTagName("span");scheduler.templates.lightbox_header?(i[1].innerHTML="",i[2].innerHTML=scheduler.templates.lightbox_header(s.start_date,s.end_date,s)):(i[1].innerHTML=this.templates.event_header(s.start_date,s.end_date,s),i[2].innerHTML=(this.templates.event_bar_text(s.start_date,s.end_date,s)||"").substr(0,70));
-for(var a=this.config.lightbox.sections,n=0;n<a.length;n++){var r=a[n],d=document.getElementById(r.id).nextSibling,o=this.form_blocks[r.type],l=void 0!==s[r.map_to]?s[r.map_to]:r.default_value;o.set_value.call(this,d,l,s,r),a[n].focus&&o.focus.call(this,d)}scheduler._lightbox_id=e},scheduler._lightbox_out=function(e){for(var t=this.config.lightbox.sections,s=0;s<t.length;s++){var i=document.getElementById(t[s].id);i=i?i.nextSibling:i;var a=this.form_blocks[t[s].type],n=a.get_value.call(this,i,e,t[s]);
-"auto"!=t[s].map_to&&(e[t[s].map_to]=n)}return e},scheduler._empty_lightbox=function(e){{var t=scheduler._lightbox_id,s=this.getEvent(t);this.getLightbox()}this._lame_copy(s,e),this.setEvent(s.id,s),this._edit_stop_event(s,!0),this.render_view_data()},scheduler.hide_lightbox=function(){this.hideCover(this.getLightbox()),this._lightbox_id=null,this.callEvent("onAfterLightbox",[])},scheduler.hideCover=function(e){e&&(e.style.display="none"),this.hide_cover()},scheduler.hide_cover=function(){this._cover&&this._cover.parentNode.removeChild(this._cover),this._cover=null
-},scheduler.show_cover=function(){if(!this._cover){this._cover=document.createElement("DIV"),this._cover.className="dhx_cal_cover";var e=void 0!==document.height?document.height:document.body.offsetHeight,t=document.documentElement?document.documentElement.scrollHeight:0;this._cover.style.height=Math.max(e,t)+"px",document.body.appendChild(this._cover)}},scheduler.save_lightbox=function(){var e=this._lightbox_out({},this._lame_copy(this.getEvent(this._lightbox_id)));(!this.checkEvent("onEventSave")||this.callEvent("onEventSave",[this._lightbox_id,e,this._new_event]))&&(this._empty_lightbox(e),this.hide_lightbox())
-},scheduler.startLightbox=function(e,t){this._lightbox_id=e,this._custom_lightbox=!0,this._temp_lightbox=this._lightbox,this._lightbox=t,this.showCover(t)},scheduler.endLightbox=function(e,t){this._edit_stop_event(scheduler.getEvent(this._lightbox_id),e),e&&scheduler.render_view_data(),this.hideCover(t),this._custom_lightbox&&(this._lightbox=this._temp_lightbox,this._custom_lightbox=!1),this._temp_lightbox=this._lightbox_id=null},scheduler.resetLightbox=function(){scheduler._lightbox&&!scheduler._custom_lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),scheduler._lightbox=null
-},scheduler.cancel_lightbox=function(){this.callEvent("onEventCancel",[this._lightbox_id,this._new_event]),this.endLightbox(!1),this.hide_lightbox()},scheduler._init_lightbox_events=function(){this.getLightbox().onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_save_btn":scheduler.save_lightbox();break;case"dhx_delete_btn":var s=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(s,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(scheduler._lightbox_id),scheduler._new_event=null,scheduler.hide_lightbox()
-});break;case"dhx_cancel_btn":scheduler.cancel_lightbox();break;default:if(t.getAttribute("dhx_button"))scheduler.callEvent("onLightboxButton",[t.className,t,e]);else{var i,a,n;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(i=t.parentNode.getAttribute("index"),n=t.parentNode.parentNode):(i=t.getAttribute("index"),n=t.parentNode,t=t.firstChild)),i&&(a=scheduler.form_blocks[scheduler.config.lightbox.sections[i].type],a.button_click(i,t,n,n.nextSibling))
-}}},this.getLightbox().onkeydown=function(e){switch((e||event).keyCode){case scheduler.keys.edit_save:if((e||event).shiftKey)return;scheduler.save_lightbox();break;case scheduler.keys.edit_cancel:scheduler.cancel_lightbox()}}},scheduler.setLightboxSize=function(){var e=this._lightbox;if(e){var t=e.childNodes[1];t.style.height="0px",t.style.height=t.scrollHeight+"px",e.style.height=t.scrollHeight+scheduler.xy.lightbox_additional_height+"px",t.style.height=t.scrollHeight+"px"}},scheduler._init_dnd_events=function(){dhtmlxEvent(document.body,"mousemove",scheduler._move_while_dnd),dhtmlxEvent(document.body,"mouseup",scheduler._finish_dnd),scheduler._init_dnd_events=function(){}
+}var _=e.previousSibling.getElementsByTagName("input")[0];_.checked=0===scheduler.date.time_part(s.start_date)&&0===scheduler.date.time_part(s.end_date),o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,_.onclick=function(){if(_.checked){var t={};scheduler.form_blocks.time.get_value(e,t,i),n=scheduler.date.date_part(t.start_date),r=scheduler.date.date_part(t.end_date),(+r==+n||+r>=+n&&(0!==s.end_date.getHours()||0!==s.end_date.getMinutes()))&&(r=scheduler.date.add(r,1,"day"))}else n=null,r=null;
+o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,a(o,0,n||s.start_date),a(o,4,r||s.end_date)}}if(d.auto_end_date&&d.event_duration)for(var c=function(){n=new Date(o[l[3]].value,o[l[2]].value,o[l[1]].value,0,o[l[0]].value),r=new Date(n.getTime()+60*scheduler.config.event_duration*1e3),a(o,4,r)},u=0;4>u;u++)o[u].onchange=c;a(o,0,s.start_date),a(o,4,s.end_date)},get_value:function(e,t,s){var i=e.getElementsByTagName("select"),a=s._time_format_order;if(t.start_date=new Date(i[a[3]].value,i[a[2]].value,i[a[1]].value,0,i[a[0]].value),t.end_date=new Date(i[a[3]+4].value,i[a[2]+4].value,i[a[1]+4].value,0,i[a[0]+4].value),!i[a[3]].value||!i[a[3]+4].value){var n=this.getEvent(this._lightbox_id);
+n&&(t.start_date=n.start_date,t.end_date=n.end_date)}return 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(e){scheduler._focus(e.getElementsByTagName("select")[0])}}},scheduler.showCover=function(e){if(e){e.style.display="block";var t=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,s=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,i=window.innerHeight||document.documentElement.clientHeight;
+e.style.top=t?Math.round(t+Math.max((i-e.offsetHeight)/2,0))+"px":Math.round(Math.max((i-e.offsetHeight)/2,0)+9)+"px",e.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(s+(document.body.offsetWidth-e.offsetWidth)/2)+"px":Math.round((document.body.offsetWidth-e.offsetWidth)/2)+"px"}this.show_cover()},scheduler.showLightbox=function(e){if(e){if(!this.callEvent("onBeforeLightbox",[e]))return void(this._new_event&&(this._new_event=null));var t=this.getLightbox();this.showCover(t),this._fill_lightbox(e,t),this.callEvent("onLightbox",[e])
+}},scheduler._fill_lightbox=function(e,t){var s=this.getEvent(e),i=t.getElementsByTagName("span");scheduler.templates.lightbox_header?(i[1].innerHTML="",i[2].innerHTML=scheduler.templates.lightbox_header(s.start_date,s.end_date,s)):(i[1].innerHTML=this.templates.event_header(s.start_date,s.end_date,s),i[2].innerHTML=(this.templates.event_bar_text(s.start_date,s.end_date,s)||"").substr(0,70));for(var a=this.config.lightbox.sections,n=0;n<a.length;n++){var r=a[n],d=document.getElementById(r.id).nextSibling,o=this.form_blocks[r.type],l=void 0!==s[r.map_to]?s[r.map_to]:r.default_value;
+o.set_value.call(this,d,l,s,r),a[n].focus&&o.focus.call(this,d)}scheduler._lightbox_id=e},scheduler._lightbox_out=function(e){for(var t=this.config.lightbox.sections,s=0;s<t.length;s++){var i=document.getElementById(t[s].id);i=i?i.nextSibling:i;var a=this.form_blocks[t[s].type],n=a.get_value.call(this,i,e,t[s]);"auto"!=t[s].map_to&&(e[t[s].map_to]=n)}return e},scheduler._empty_lightbox=function(e){{var t=scheduler._lightbox_id,s=this.getEvent(t);this.getLightbox()}this._lame_copy(s,e),this.setEvent(s.id,s),this._edit_stop_event(s,!0),this.render_view_data()
+},scheduler.hide_lightbox=function(){this.hideCover(this.getLightbox()),this._lightbox_id=null,this.callEvent("onAfterLightbox",[])},scheduler.hideCover=function(e){e&&(e.style.display="none"),this.hide_cover()},scheduler.hide_cover=function(){this._cover&&this._cover.parentNode.removeChild(this._cover),this._cover=null},scheduler.show_cover=function(){if(!this._cover){this._cover=document.createElement("DIV"),this._cover.className="dhx_cal_cover";var e=void 0!==document.height?document.height:document.body.offsetHeight,t=document.documentElement?document.documentElement.scrollHeight:0;
+this._cover.style.height=Math.max(e,t)+"px",document.body.appendChild(this._cover)}},scheduler.save_lightbox=function(){var e=this._lightbox_out({},this._lame_copy(this.getEvent(this._lightbox_id)));(!this.checkEvent("onEventSave")||this.callEvent("onEventSave",[this._lightbox_id,e,this._new_event]))&&(this._empty_lightbox(e),this.hide_lightbox())},scheduler.startLightbox=function(e,t){this._lightbox_id=e,this._custom_lightbox=!0,this._temp_lightbox=this._lightbox,this._lightbox=t,this.showCover(t)
+},scheduler.endLightbox=function(e,t){this._edit_stop_event(scheduler.getEvent(this._lightbox_id),e),e&&scheduler.render_view_data(),this.hideCover(t),this._custom_lightbox&&(this._lightbox=this._temp_lightbox,this._custom_lightbox=!1),this._temp_lightbox=this._lightbox_id=null},scheduler.resetLightbox=function(){scheduler._lightbox&&!scheduler._custom_lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),scheduler._lightbox=null},scheduler.cancel_lightbox=function(){this.callEvent("onEventCancel",[this._lightbox_id,this._new_event]),this.endLightbox(!1),this.hide_lightbox()
+},scheduler._init_lightbox_events=function(){this.getLightbox().onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_save_btn":scheduler.save_lightbox();break;case"dhx_delete_btn":var s=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(s,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(scheduler._lightbox_id),scheduler._new_event=null,scheduler.hide_lightbox()});break;
+case"dhx_cancel_btn":scheduler.cancel_lightbox();break;default:if(t.getAttribute("dhx_button"))scheduler.callEvent("onLightboxButton",[t.className,t,e]);else{var i,a,n;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(i=t.parentNode.getAttribute("index"),n=t.parentNode.parentNode):(i=t.getAttribute("index"),n=t.parentNode,t=t.firstChild)),i&&(a=scheduler.form_blocks[scheduler.config.lightbox.sections[i].type],a.button_click(i,t,n,n.nextSibling))}}},this.getLightbox().onkeydown=function(e){switch((e||event).keyCode){case scheduler.keys.edit_save:if((e||event).shiftKey)return;
+scheduler.save_lightbox();break;case scheduler.keys.edit_cancel:scheduler.cancel_lightbox()}}},scheduler.setLightboxSize=function(){var e=this._lightbox;if(e){var t=e.childNodes[1];t.style.height="0px",t.style.height=t.scrollHeight+"px",e.style.height=t.scrollHeight+scheduler.xy.lightbox_additional_height+"px",t.style.height=t.scrollHeight+"px"}},scheduler._init_dnd_events=function(){dhtmlxEvent(document.body,"mousemove",scheduler._move_while_dnd),dhtmlxEvent(document.body,"mouseup",scheduler._finish_dnd),scheduler._init_dnd_events=function(){}
},scheduler._move_while_dnd=function(e){if(scheduler._dnd_start_lb){document.dhx_unselectable||(document.body.className+=" dhx_unselectable",document.dhx_unselectable=!0);var t=scheduler.getLightbox(),s=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY];t.style.top=scheduler._lb_start[1]+s[1]-scheduler._dnd_start_lb[1]+"px",t.style.left=scheduler._lb_start[0]+s[0]-scheduler._dnd_start_lb[0]+"px"}},scheduler._ready_to_dnd=function(e){var t=scheduler.getLightbox();scheduler._lb_start=[parseInt(t.style.left,10),parseInt(t.style.top,10)],scheduler._dnd_start_lb=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY]
},scheduler._finish_dnd=function(){scheduler._lb_start&&(scheduler._lb_start=scheduler._dnd_start_lb=!1,document.body.className=document.body.className.replace(" dhx_unselectable",""),document.dhx_unselectable=!1)},scheduler.getLightbox=function(){if(!this._lightbox){var e=document.createElement("DIV");e.className="dhx_cal_light",scheduler.config.wide_form&&(e.className+=" dhx_cal_light_wide"),scheduler.form_blocks.recurring&&(e.className+=" dhx_cal_light_rec"),/msie|MSIE 6/.test(navigator.userAgent)&&(e.className+=" dhx_ie6"),e.style.visibility="hidden";
for(var t=this._lightbox_template,s=this.config.buttons_left,i=0;i<s.length;i++)t+="<div class='dhx_btn_set dhx_left_btn_set "+s[i]+"_set'><div dhx_button='1' class='"+s[i]+"'></div><div>"+scheduler.locale.labels[s[i]]+"</div></div>";s=this.config.buttons_right;for(var i=0;i<s.length;i++)t+="<div class='dhx_btn_set dhx_right_btn_set "+s[i]+"_set' style='float:right;'><div dhx_button='1' class='"+s[i]+"'></div><div>"+scheduler.locale.labels[s[i]]+"</div></div>";t+="</div>",e.innerHTML=t,scheduler.config.drag_lightbox&&(e.firstChild.onmousedown=scheduler._ready_to_dnd,e.firstChild.onselectstart=function(){return!1
@@ -185,19 +187,20 @@ for(var t=this._lightbox_template,s=this.config.buttons_left,i=0;i<s.length;i++)
var d=this.locale.labels["section_"+a[i].name];"string"!=typeof d&&(d=a[i].name),t+="<div id='"+a[i].id+"' class='dhx_cal_lsection'>"+r+d+"</div>"+n.render.call(this,a[i]),t+="</div>"}}for(var o=e.getElementsByTagName("div"),i=0;i<o.length;i++){var l=o[i];if("dhx_cal_larea"==l.className){l.innerHTML=t;break}}this.setLightboxSize(),this._init_lightbox_events(this),e.style.display="none",e.style.visibility="visible"}return this._lightbox},scheduler.attachEvent("onEventIdChange",function(e,t){this._lightbox_id==e&&(this._lightbox_id=t)
}),scheduler._lightbox_template="<div class='dhx_cal_ltitle'><span class='dhx_mark'>&nbsp;</span><span class='dhx_time'></span><span class='dhx_title'></span></div><div class='dhx_cal_larea'></div>",scheduler._init_touch_events=function(){"force"!=this.config.touch&&(this.config.touch=this.config.touch&&(-1!=navigator.userAgent.indexOf("Mobile")||-1!=navigator.userAgent.indexOf("iPad")||-1!=navigator.userAgent.indexOf("Android")||-1!=navigator.userAgent.indexOf("Touch"))),this.config.touch&&(this.xy.scroll_width=0,window.navigator.msPointerEnabled?(this._touch_events(["MSPointerMove","MSPointerDown","MSPointerUp"],function(e){return e.pointerType==e.MSPOINTER_TYPE_MOUSE?null:e
},function(e){return!e||e.pointerType==e.MSPOINTER_TYPE_MOUSE}),this._obj.ondblclick=function(){}):this._touch_events(["touchmove","touchstart","touchend"],function(e){return e.touches&&e.touches.length>1?null:e.touches[0]?{target:e.target,pageX:e.touches[0].pageX,pageY:e.touches[0].pageY}:e},function(){return!1}))},scheduler._touch_events=function(e,t,s){function i(e,t,s){dhtmlxEvent(e,t,function(e){return scheduler._is_lightbox_open()?!0:s(e)})}function a(e,t,s){if(e&&t){var i=Math.abs(e.pageY-t.pageY),a=Math.abs(e.pageX-t.pageX);
-a>s&&(!i||a/i>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function n(e){scheduler._hide_global_tip(),l&&(scheduler._on_mouse_up(t(e||event)),scheduler._temp_touch_block=!1),scheduler._drag_id=null,scheduler._drag_mode=null,scheduler._drag_pos=null,clearTimeout(o),l=_=!1,h=!0}var r,d,o,l,h,_,c=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),u=0;i(document.body,e[0],function(e){if(!s(e)){if(l)return scheduler._on_mouse_move(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1;
-if(d&&c&&a(d,t(e),0),d=t(e),_)return d?void((r.target!=d.target||Math.abs(r.pageX-d.pageX)>5||Math.abs(r.pageY-d.pageY)>5)&&(h=!0,clearTimeout(o))):void(h=!0)}}),i(this._els.dhx_cal_data[0],"scroll",n),i(this._els.dhx_cal_data[0],"touchcancel",n),i(this._els.dhx_cal_data[0],"contextmenu",function(e){return _?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),i(this._els.dhx_cal_data[0],e[1],function(e){if(!s(e)){var i;if(l=h=!1,_=!0,scheduler._temp_touch_block=!0,i=d=t(e),!i)return void(h=!0);
-var a=new Date;if(!h&&!l&&250>a-u)return scheduler._click.dhx_cal_data(i),window.setTimeout(function(){scheduler._on_dbl_click(i)},50),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._block_next_stop=!0,!1;u=a,h||l||!scheduler.config.touch_drag||(o=setTimeout(function(){l=!0;var e=r.target;if(e&&e.className&&-1!=e.className.indexOf("dhx_body")&&(e=e.previousSibling),scheduler._on_mouse_down(r,e),scheduler._drag_mode&&"create"!=scheduler._drag_mode){var t=-1;if(scheduler.for_rendered(scheduler._drag_id,function(e,s){t=e.getBoundingClientRect().top,e.style.display="none",scheduler._rendered.splice(s,1)
-}),t>=0){var s=scheduler.config.time_step;scheduler._move_pos_shift=s*Math.round(60*(i.pageY-t)/(scheduler.config.hour_size_px*s))}}scheduler.config.touch_tip&&scheduler._show_global_tip(),scheduler._on_mouse_move(r)},scheduler.config.touch_drag),r=i)}}),i(this._els.dhx_cal_data[0],e[2],function(e){return s(e)?void 0:(l||a(r,d,200),l&&(scheduler._ignore_next_click=!0),n(e),scheduler._block_next_stop?(scheduler._block_next_stop=!1,e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1):void 0)}),dhtmlxEvent(document.body,e[2],n)
+a>s&&(!i||a/i>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function n(e){var t=scheduler.getState().drag_mode,s=scheduler.matrix?scheduler.matrix[scheduler._mode]:!1,i=scheduler.render_view_data;"create"==t&&s&&(scheduler.render_view_data=function(){for(var e=scheduler.getState().drag_id,t=scheduler.getEvent(e),i=s.y_property,a=scheduler.getEvents(t.start_date,t.end_date),n=0;n<a.length;n++)a[n][i]!=t[i]&&(a.splice(n,1),n--);t._sorder=a.length-1,t._count=a.length,this.render_data([t],scheduler.getState().mode)
+}),scheduler._on_mouse_move(e),"create"==t&&s&&(scheduler.render_view_data=i)}function r(e){scheduler._hide_global_tip(),h&&(scheduler._on_mouse_up(t(e||event)),scheduler._temp_touch_block=!1),scheduler._drag_id=null,scheduler._drag_mode=null,scheduler._drag_pos=null,clearTimeout(l),h=c=!1,_=!0}var d,o,l,h,_,c,u=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),g=0;i(document.body,e[0],function(e){if(!s(e)){if(h)return n(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1;
+if(o&&u&&a(o,t(e),0),o=t(e),c)return o?void((d.target!=o.target||Math.abs(d.pageX-o.pageX)>5||Math.abs(d.pageY-o.pageY)>5)&&(_=!0,clearTimeout(l))):void(_=!0)}}),i(this._els.dhx_cal_data[0],"scroll",r),i(this._els.dhx_cal_data[0],"touchcancel",r),i(this._els.dhx_cal_data[0],"contextmenu",function(e){return c?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),i(this._els.dhx_cal_data[0],e[1],function(e){if(!s(e)){var i;if(h=_=!1,c=!0,scheduler._temp_touch_block=!0,i=o=t(e),!i)return void(_=!0);
+var a=new Date;if(!_&&!h&&250>a-g)return scheduler._click.dhx_cal_data(i),window.setTimeout(function(){scheduler._on_dbl_click(i)},50),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._block_next_stop=!0,!1;g=a,_||h||!scheduler.config.touch_drag||(l=setTimeout(function(){h=!0;var e=d.target;if(e&&e.className&&-1!=e.className.indexOf("dhx_body")&&(e=e.previousSibling),scheduler._on_mouse_down(d,e),scheduler._drag_mode&&"create"!=scheduler._drag_mode){var t=-1;if(scheduler.for_rendered(scheduler._drag_id,function(e,s){t=e.getBoundingClientRect().top,e.style.display="none",scheduler._rendered.splice(s,1)
+}),t>=0){var s=scheduler.config.time_step;scheduler._move_pos_shift=s*Math.round(60*(i.pageY-t)/(scheduler.config.hour_size_px*s))}}scheduler.config.touch_tip&&scheduler._show_global_tip(),scheduler._on_mouse_move(d)},scheduler.config.touch_drag),d=i)}}),i(this._els.dhx_cal_data[0],e[2],function(e){return s(e)?void 0:(h||a(d,o,200),h&&(scheduler._ignore_next_click=!0),r(e),scheduler._block_next_stop?(scheduler._block_next_stop=!1,e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1):void 0)}),dhtmlxEvent(document.body,e[2],r)
},scheduler._show_global_tip=function(){scheduler._hide_global_tip();var e=scheduler._global_tip=document.createElement("DIV");e.className="dhx_global_tip",scheduler._update_global_tip(1),document.body.appendChild(e)},scheduler._update_global_tip=function(e){var t=scheduler._global_tip;if(t){var s="";if(scheduler._drag_id&&!e){var i=scheduler.getEvent(scheduler._drag_id);i&&(s="<div>"+(i._timed?scheduler.templates.event_header(i.start_date,i.end_date,i):scheduler.templates.day_date(i.start_date,i.end_date,i))+"</div>")
}t.innerHTML="create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?(scheduler.locale.drag_to_create||"Drag to create")+s:(scheduler.locale.drag_to_move||"Drag to move")+s}},scheduler._hide_global_tip=function(){var e=scheduler._global_tip;e&&e.parentNode&&(e.parentNode.removeChild(e),scheduler._global_tip=0)},scheduler._dp_init=function(e){e._methods=["_set_event_text_style","","changeEventId","_dp_hook_delete"],this._dp_hook_delete=function(e){return this.deleteEvent(e,!0)},this.attachEvent("onEventAdded",function(t){!this._loading&&this._validId(t)&&e.setUpdated(t,!0,"inserted")
}),this.attachEvent("onConfirmedBeforeEventDelete",function(t){if(this._validId(t)){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)}}),this.attachEvent("onEventChanged",function(t){!this._loading&&this._validId(t)&&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)})},scheduler._validId=function(){return!0},scheduler.setUserData=function(e,t,s){e?this.getEvent(e)[t]=s:this._userdata[t]=s},scheduler.getUserData=function(e,t){return e?this.getEvent(e)[t]:this._userdata[t]},scheduler._set_event_text_style=function(e,t){this.for_rendered(e,function(e){e.style.cssText+=";"+t
});var s=this.getEvent(e);s._text_style=t,this.event_updated(s)},scheduler._update_callback=function(e){var t=scheduler._xmlNodeToJSON(e.firstChild);t.text=t.text||t._tagvalue,t.start_date=scheduler.templates.xml_date(t.start_date),t.end_date=scheduler.templates.xml_date(t.end_date),scheduler.addEvent(t)},scheduler._skin_settings={fix_tab_position:[1,0],use_select_menu_space:[1,0],wide_form:[1,0],hour_size_px:[44,42],displayed_event_color:["#ff4a4a","ffc5ab"],displayed_event_text_color:["#ffef80","7e2727"]},scheduler._skin_xy={lightbox_additional_height:[90,50],nav_height:[59,22],bar_height:[24,20]},scheduler._configure=function(e,t,s){for(var i in t)"undefined"==typeof e[i]&&(e[i]=t[i][s])
-},scheduler._skin_init=function(){if(!scheduler.skin)for(var e=document.getElementsByTagName("link"),t=0;t<e.length;t++){var s=e[t].href.match("dhtmlxscheduler_([a-z]+).css");if(s){scheduler.skin=s[1];break}}var i=0;if(!scheduler.skin||"classic"!==scheduler.skin&&"glossy"!==scheduler.skin||(i=1),this._configure(scheduler.config,scheduler._skin_settings,i),this._configure(scheduler.xy,scheduler._skin_xy,i),!i){var a=scheduler.config.minicalendar;a&&(a.padding=14),scheduler.templates.event_bar_date=function(e){return"• <b>"+scheduler.templates.event_date(e)+"</b> "
-},scheduler.attachEvent("onTemplatesReady",function(){var e=scheduler.date.date_to_str("%d");scheduler.templates._old_month_day||(scheduler.templates._old_month_day=scheduler.templates.month_day);var t=scheduler.templates._old_month_day;if(scheduler.templates.month_day=function(s){if("month"==this._mode){var i=e(s);return 1==s.getDate()&&(i=scheduler.locale.date.month_full[s.getMonth()]+" "+i),+s==+scheduler.date.date_part(new Date)&&(i=scheduler.locale.labels.dhx_cal_today_button+" "+i),i}return t.call(this,s)
-},scheduler.config.fix_tab_position){for(var s=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),i=null,a=211,n=0;n<s.length;n++){var r=s[n],d=r.getAttribute("name");if(d)switch(r.style.right="auto",d){case"day_tab":r.style.left="14px",r.className+=" dhx_cal_tab_first";break;case"week_tab":r.style.left="75px";break;case"month_tab":r.style.left="136px",r.className+=" dhx_cal_tab_last";break;default:r.style.left=a+"px",r.className+=" dhx_cal_tab_standalone",a=a+14+r.offsetWidth}else 0===(r.className||"").indexOf("dhx_minical_icon")&&r.parentNode==scheduler._els.dhx_cal_navline[0]&&(i=r)
-}i&&(i.style.left=a+"px")}scheduler.skin&&"flat"===scheduler.skin&&(scheduler.xy.scale_height=35,scheduler.templates.hour_scale=function(e){var t=e.getMinutes();t=10>t?"0"+t:t;var s="<span class='dhx_scale_h'>"+e.getHours()+"</span><span class='dhx_scale_m'>&nbsp;"+t+"</span>";return s})}),scheduler._skin_init=function(){}}},window.jQuery&&!function(e){var t=[];e.fn.dhx_scheduler=function(s){if("string"!=typeof s){var i=[];return this.each(function(){if(this&&this.getAttribute&&!this.getAttribute("dhxscheduler")){for(var e in s)"data"!=e&&(scheduler.config[e]=s[e]);
+},scheduler._skin_init=function(){if(!scheduler.skin)for(var e=document.getElementsByTagName("link"),t=0;t<e.length;t++){var s=e[t].href.match("dhtmlxscheduler_([a-z]+).css");if(s){scheduler.skin=s[1];break}}var i=0;if(!scheduler.skin||"classic"!==scheduler.skin&&"glossy"!==scheduler.skin||(i=1),this._configure(scheduler.config,scheduler._skin_settings,i),this._configure(scheduler.xy,scheduler._skin_xy,i),"flat"===scheduler.skin&&(scheduler.xy.scale_height=35,scheduler.templates.hour_scale=function(e){var t=e.getMinutes();
+t=10>t?"0"+t:t;var s="<span class='dhx_scale_h'>"+e.getHours()+"</span><span class='dhx_scale_m'>&nbsp;"+t+"</span>";return s}),!i){var a=scheduler.config.minicalendar;a&&(a.padding=14),scheduler.templates.event_bar_date=function(e){return"• <b>"+scheduler.templates.event_date(e)+"</b> "},scheduler.attachEvent("onTemplatesReady",function(){var e=scheduler.date.date_to_str("%d");scheduler.templates._old_month_day||(scheduler.templates._old_month_day=scheduler.templates.month_day);var t=scheduler.templates._old_month_day;
+if(scheduler.templates.month_day=function(s){if("month"==this._mode){var i=e(s);return 1==s.getDate()&&(i=scheduler.locale.date.month_full[s.getMonth()]+" "+i),+s==+scheduler.date.date_part(new Date)&&(i=scheduler.locale.labels.dhx_cal_today_button+" "+i),i}return t.call(this,s)},scheduler.config.fix_tab_position){for(var s=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),i=null,a=211,n=0;n<s.length;n++){var r=s[n],d=r.getAttribute("name");if(d)switch(r.style.right="auto",d){case"day_tab":r.style.left="14px",r.className+=" dhx_cal_tab_first";
+break;case"week_tab":r.style.left="75px";break;case"month_tab":r.style.left="136px",r.className+=" dhx_cal_tab_last";break;default:r.style.left=a+"px",r.className+=" dhx_cal_tab_standalone",a=a+14+r.offsetWidth}else 0===(r.className||"").indexOf("dhx_minical_icon")&&r.parentNode==scheduler._els.dhx_cal_navline[0]&&(i=r)}i&&(i.style.left=a+"px")}}),scheduler._skin_init=function(){}}},window.jQuery&&!function(e){var t=[];e.fn.dhx_scheduler=function(s){if("string"!=typeof s){var i=[];return this.each(function(){if(this&&this.getAttribute&&!this.getAttribute("dhxscheduler")){for(var e in s)"data"!=e&&(scheduler.config[e]=s[e]);
this.getElementsByTagName("div").length||(this.innerHTML='<div class="dhx_cal_navline"><div class="dhx_cal_prev_button">&nbsp;</div><div class="dhx_cal_next_button">&nbsp;</div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_cal_tab" name="day_tab" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" style="right:76px;"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div>',this.className+=" dhx_cal_container"),scheduler.init(this,scheduler.config.date,scheduler.config.mode),s.data&&scheduler.parse(s.data),i.push(scheduler)
}}),1===i.length?i[0]:i}return t[s]?t[s].apply(this,[]):void e.error("Method "+s+" does not exist on jQuery.dhx_scheduler")}}(jQuery),function(){function e(e,t,s){t&&(e._date=t),s&&(e._mode=s)}var t=scheduler.setCurrentView,s=scheduler.updateView,i=null,a=null,n=function(t,n){var r=this;window.clearTimeout(a),window.clearTimeout(i),e(this,t,n),a=setTimeout(function(){r.callEvent("onBeforeViewChange",[r._mode,r._date,n||r._mode,t||r._date])&&(s.call(r,t,n),r.callEvent("onViewChange",[r._mode,r._date]),window.clearTimeout(i),a=0)
},scheduler.config.delay_render)},r=function(t,n){var r=this,d=arguments;e(this,t,n),window.clearTimeout(i),i=setTimeout(function(){a||s.apply(r,d)},scheduler.config.delay_render)};scheduler.attachEvent("onSchedulerReady",function(){scheduler.config.delay_render?(scheduler.setCurrentView=n,scheduler.updateView=r):(scheduler.setCurrentView=t,scheduler.updateView=s)})}();
diff --git a/codebase/dhtmlxscheduler_classic.css b/codebase/dhtmlxscheduler_classic.css
index 5015388..5069a8d 100644
--- a/codebase/dhtmlxscheduler_classic.css
+++ b/codebase/dhtmlxscheduler_classic.css
@@ -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/dhtmlxscheduler_flat.css b/codebase/dhtmlxscheduler_flat.css
index a2b888a..f93ba48 100644
--- a/codebase/dhtmlxscheduler_flat.css
+++ b/codebase/dhtmlxscheduler_flat.css
@@ -1,8 +1,8 @@
/*
-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.
*/
-.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;text-align:center;position:fixed;box-shadow:0 0 14px #888;z-index:20000}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#FFE763;border:1px solid #B7A543;color:#887A2E;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{border-bottom-style:dotted;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;border:none;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{font-weight:700;padding:5px 0 3px 10px}.dhx_section_time{white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-size:18px}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_larea{overflow:hidden;width:572px;height:1px}.dhx_btn_set{float:left}.dhx_btn_set div{float:left;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-image:url(imgs/controls.gif);background-position:-84px 0;width:21px}.dhx_cancel_btn{background-image:url(imgs/controls.gif);background-position:-63px 0;width:20px}.dhx_delete_btn{background-image:url(imgs/controls.gif);background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;font-weight:400;margin-right:5px;margin-top:0;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_section_time{text-align:center}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_agenda_area{width:100%;overflow-y:auto}.dhx_agenda_line{clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;text-align:center;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_month_head.dhx_year_event{background-color:#FFE763}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{cursor:pointer}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px;color:#887A2E}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;overflow:hidden}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_cal_light_wide .dhx_combo_box{width:608px!important;left:10px}.dhx_wa_column{float:left}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_second_scale_bar{padding-top:2px}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{position:absolute;z-index:300;padding-left:7px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;background-color:#fefefe}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{height:20px;position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{padding-top:1px}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_next_button,.dhx_cal_prev_button{cursor:pointer}.dhx_cal_today_button{cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{cursor:default}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder,.dhx_scale_holder_now{position:absolute}.dhx_scale_hour{height:41px;width:50px;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{padding-right:5px;text-align:right}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-repeat:no-repeat}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px}.dhx_custom_button_recurring{background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_event .dhx_title{border-width:1px 1px 0;-webkit-border-top-left-radius:1px;-webkit-border-top-right-radius:1px;-moz-border-radius-topleft:1px;-moz-border-radius-topright:1px;border-top-left-radius:1px;border-top-right-radius:1px;font-family:"Segoe UI",Arial;font-weight:700;font-size:12px;height:14px;line-height:14px}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{padding-bottom:8px;-webkit-border-bottom-right-radius:1px;-webkit-border-bottom-left-radius:1px;-moz-border-radius-bottomright:1px;-moz-border-radius-bottomleft:1px;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.dhx_cal_event .dhx_header,.dhx_cal_event.dhx_cal_select_menu .dhx_footer{display:none}.dhx_cal_event .dhx_footer{height:15px;border:0;background-color:transparent!important;margin-top:-11px}.dhx_cal_event .dhx_footer:hover{background:url(imgs_flat/resizing.png) center center no-repeat}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#5B9BE0;border-color:transparent;color:#fff}.dhx_cal_event,.dhx_cal_event_line{-webkit-box-shadow:0 0 1px #FFF;-moz-box-shadow:0 0 1px #FFF;box-shadow:0 0 1px #FFF}.dhx_cal_event.dhx_cal_editor{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:1px solid transparent}.dhx_cal_editor{font-size:12px;font-family:"Segoe UI",Arial}div.dhx_menu_head,div.dhx_menu_icon{background-image:url(imgs_flat/controls.png)}.dhx_cal_event_line{border:1px solid transparent;background-color:#5B9BE0;color:#FFF;height:17px;line-height:17px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.dhx_cal_event_line:hover div{background:url(imgs_flat/resize_dots.png) repeat-y}.dhx_cal_event_line_start{-webkit-border-top-left-radius:1px;-webkit-border-bottom-left-radius:1px;-moz-border-radius-topleft:1px;-moz-border-radius-bottomleft:1px;border-top-left-radius:1px;border-bottom-left-radius:1px}.dhx_cal_event_line_end{-webkit-border-top-right-radius:1px;-webkit-border-bottom-right-radius:1px;-moz-border-radius-topright:1px;-moz-border-radius-bottomright:1px;border-top-right-radius:1px;border-bottom-right-radius:1px}.dhx_cal_event .dhx_body,.dhx_cal_event_line{font-size:12px;font-family:"Segoe UI",Arial}.dhx_cal_event:hover .dhx_footer{background:url(imgs_flat/resizing.png) center center no-repeat}.dhx_cal_container{background-color:#fff;font-family:"Segoe UI",Arial}.dhx_cal_data{border-top:1px solid #CECECE}.dhx_scale_holder{background-image:url(imgs_flat/databg.png);border-right:1px solid #CECECE}.dhx_scale_holder_now{background-image:url(imgs_flat/databg_now.png);border-right:1px solid #CECECE}.dhx_scale_hour{border-bottom:1px solid #CECECE;background-color:#fff;font:11px/44px Arial;font-family:"Segoe UI",Arial;font-weight:lighter;color:#767676}.dhx_scale_h{display:inline-block;font-size:22px}.dhx_scale_m{display:inline-block;font-size:11px;line-height:35px;vertical-align:top}.dhx_cal_header{border:1px solid #CECECE;border-left:0;border-bottom:0}.dhx_scale_bar{border-left:1px solid #CECECE;font:12px/16px "Segoe UI",Arial;color:#767676;line-height:30px;padding-top:2px;background-color:#fff}.dhx_scale_bar>a{color:#5780AD;text-decoration:none}.dhx_scale_bar>a:hover{text-decoration:underline}.dhx_month_head>a{color:#5780AD;text-decoration:none}.dhx_month_head>a:hover{text-decoration:underline}.dhx_cal_navline div{top:14px}.dhx_cal_date,.dhx_cal_next_button,.dhx_cal_prev_button,.dhx_cal_tab,.dhx_cal_today_button{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:none;color:#454544;height:30px;line-height:30px;background:0 0;font-family:"Segoe UI",Arial;font-weight:lighter}.dhx_cal_navline .dhx_cal_date{border:0;color:#454544;font-family:"Segoe UI",Arial;font-weight:lighter;font-size:22px;text-align:center;top:14px;position:absolute;left:0;width:100%;z-index:-1}.dhx_cal_today_button{background:0 0;color:#5780AD;font-size:13px;font-weight:bolder;left:auto;right:123px;text-decoration:none;width:80px}.dhx_cal_next_button,.dhx_cal_prev_button{left:auto;width:46px}.dhx_cal_prev_button{right:61px;background:url(imgs_flat/arrow_left.png) center center no-repeat}.dhx_cal_next_button{right:14px;background:url(imgs_flat/arrow_right.png) center center no-repeat}.dhx_cal_tab{color:#5780AD;font-size:13px;font-weight:bolder;padding-top:0;text-decoration:none;width:60px}.dhx_cal_tab:hover,.dhx_cal_today_button:hover{text-decoration:underline}.dhx_cal_tab.active{background-color:#5780AD;border:none;color:#FFF;font-family:"Segoe UI",Arial;font-weight:lighter;text-decoration:none}.dhx_cal_tab_standalone{padding:0 5px}.dhx_multi_day,.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-color:#fff}.dhx_multi_day{border-top:1px solid #CECECE}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_multi_day_icon_small{background-image:url(imgs_flat/clock.png)}.dhx_multi_day_icon{background-image:url(imgs_flat/clock_big.gif)}.dhx_month_body,.dhx_month_head{background-color:#fff}.dhx_after .dhx_month_body,.dhx_after .dhx_month_head,.dhx_before .dhx_month_body,.dhx_before .dhx_month_head{background-color:#F7F7F7}.dhx_month_head{height:21px;padding-top:0;font:12px/21px "Segoe UI",Arial;color:#5780AD;border-right:1px solid #CECECE}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#bbb}.dhx_month_body{border-right:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_now .dhx_month_body,.dhx_now .dhx_month_head{background-color:#FFF3A1;font-weight:400}.dhx_cal_event_clear{color:#0E64A0}.dhx_cal_larea{margin-left:0}.dhx_cal_light_wide .dhx_cal_larea{margin-left:3px}.dhx_cal_light_wide .dhx_wrap_section{padding:5px 0}.dhx_cal_larea,.dhx_cal_light,.dhx_cal_light_wide .dhx_wrap_section,.dhx_cal_lsection,.dhx_cal_ltext textarea,.dhx_wrap_section{background-color:#fff;font-family:"Segoe UI",Arial}.dhx_cal_light input,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection,.dhx_cal_lsection .dhx_fullday{color:#444;font-family:"Segoe UI",Arial}.dhx_cal_light_wide .dhx_wrap_section{border-top:0;border-bottom:1px solid #CECECE}.dhx_cal_larea{border:1px solid transparent}.dhx_cal_light,.dhx_cal_light select,.dhx_cal_ltext textarea{color:#2E2E2E}.dhx_cal_light{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhx_cal_light_wide .dhx_cal_lsection,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{font-family:"Segoe UI",Arial;font-size:13px;font-weight:700}.dhx_section_time{background-color:transparent}.dhx_btn_set div:first-child,.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{display:none}.dhx_btn_set,.dhx_btn_set div{height:30px;padding:0 20px;line-height:30px}.dhx_btn_set{margin:12px 0 0;padding:0;font-size:13px;color:#444;font-weight:400;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhx_left_btn_set{margin-left:20px}.dhx_right_btn_set{margin-right:20px}.dhx_save_btn_set{border:none;color:#FFF;background-color:#5B9BE0}.dhx_cancel_btn_set{background-color:#FE7510;color:#FFF}.dhx_delete_btn_set{border:1px solid #888;color:#444}.dhx_cal_ltitle{height:30px;line-height:30px;border-bottom:1px solid #CECECE}.dhx_cal_ltitle span{float:left}.dhx_cal_light .dhx_title{font-size:13px;padding-left:13px}.dhx_mark{display:none}.dhx_time{font-size:12px;padding-left:10px}.dhx_close_icon{float:right;width:9px;height:9px;background:url(imgs_flat/close_icon.png) center center no-repeat;padding:10px;margin-top:1px}.dhx_cal_light_wide .dhx_cal_ltext.dhx_cal_template{line-height:22px}.dhx_cal_ltext textarea{line-height:20px;box-sizing:border-box;-moz-box-sizing:border-box;border:1px solid #CECECE;background-color:#F9F9F9}.dhtmlx_modal_box{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:#fff;font-family:"Segoe UI",Arial;width:330px}.dhtmlx_popup_text{font-size:16px}.dhtmlx_popup_controls{padding-bottom:9px}.dhtmlx_popup_button,.dhtmlx_popup_button div,.dhtmlx_popup_button div:active,.dhtmlx_popup_button:active{color:#444;background:#fff;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhtmlx_popup_button{border:1px solid #888}.dhtmlx_popup_button div{border:none}.dhtmlx_popup_button.dhtmlx_ok_button{border-color:#5B9BE0;background-color:#5B9BE0;color:#FFF}.dhtmlx_popup_button.dhtmlx_cancel_button{border-color:#FE7510;background-color:#FE7510;color:#FFF}.dhtmlx_popup_button.dhtmlx_cancel_button div,.dhtmlx_popup_button.dhtmlx_ok_button div{background:0 0;color:#FFF}.dhx_cal_container.dhx_mini_calendar{box-sizing:border-box;border:none;box-shadow:0 2px 10px 0 #AAA;border-radius:0}.dhx_mini_calendar .dhx_year_month{border:1px solid #CECECE;font-family:"Segoe UI",Arial}.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body,.dhx_mini_calendar .dhx_year_month{border-color:transparent}.dhx_mini_calendar .dhx_year_body{padding-top:1px}.dhx_mini_calendar .dhx_scale_bar{border-width:0}.dhx_mini_calendar .dhx_year_week{border-bottom:1px solid #CECECE;padding-top:1px}.dhx_mini_calendar .dhx_month_head{padding-right:0;text-align:center}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{border:0;height:20px}.dhx_cal_navline div.dhx_minical_icon{left:210px;top:14px;width:30px;height:30px;background:url(imgs_flat/calendar.gif) 3px 5px no-repeat}.dhx_cal_event_line .dhx_event_resize{background:0 0}.dhx_cal_event_line .dhx_event_resize:hover{background:url(imgs_flat/resize_dots.png) repeat-y}.dhx_matrix_cell,.dhx_matrix_scell{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_cal_header div div{border-left:1px solid #CECECE}.dhx_matrix_scell{font-size:13px}.dhx_second_scale_bar{border-bottom:1px solid #CECECE}.dhx_repeat_divider{border-left:1px solid #CECECE}.dhx_custom_button{background-color:#fff;border:1px solid #a4a4a4;border-radius:0;color:#444}.dhx_cal_light_wide .dhx_custom_button{margin-top:6px}.dhx_custom_button_recurring{background-image:url(imgs_flat/but_repeat.gif)}input.dhx_repeat_date{border-color:#a8a8a8}.dhx_form_repeat{background-color:transparent}.dhx_agenda_line div,.dhx_v_border{border-right:1px solid #CECECE}.dhx_cal_header .dhx_agenda_line,.dhx_cal_header .dhx_agenda_line div{height:100%;line-height:35px}.dhx_agenda_area,.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs_flat/agenda_bg.gif)}.dhx_agenda_line{height:26px}.dhx_agenda_line div,.dhx_agenda_line span{line-height:26px}.dhx_agenda_line .dhx_event_icon{background-position:5px 6px}.dhx_year_month{border:1px solid #CECECE}.dhx_scale_bar_last{border-right:1px solid #CECECE}.dhx_year_body{border-left:1px solid #CECECE}.dhx_expand_icon{top:-3px}.dhx_scale_bar .dhx_cal_next_button,.dhx_scale_bar .dhx_cal_prev_button{width:20px;height:100%;top:0!important;border:0}.dhx_scale_bar .dhx_cal_next_button{right:1px!important;border-left:1px solid #CECECE}.dhx_scale_bar .dhx_cal_prev_button{left:1px!important;border-right:1px solid #CECECE}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border:0}.dhx_map_line .headline_date{border-right:1px solid #CECECE}.dhx_map_line.highlight{background-color:#b3daff}.dhx_cal_header .dhx_map_line{height:100%}.dhx_cal_header .dhx_map_line .headline_date,.dhx_cal_header .dhx_map_line .headline_description{height:100%;line-height:35px}.dhx_map_area{background-image:url(imgs_flat/agenda_bg.gif)}.dhx_map_line{height:26px}.dhx_map_line .line_description,.dhx_map_line div{line-height:26px;height:26px}.dhx_map_line .dhx_event_icon{background-position:5px 6px}.dhx_cal_data div.dhx_map_area,.dhx_cal_header div.dhx_map_line{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-right:1px solid #cecece}.dhtmlXTooltip.tooltip{border-left:1px solid #CECECE;border-top:1px solid #CECECE;color:#747473;font-size:12px;line-height:16px}.dhx_wa_scale_bar{border-top:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #CECECE}.dhx_wa_ev_body{border-bottom:1px solid #CECECE}.dhx_wa_scale_bar{background-color:#f0ede7}.dhx_wa_ev_body.dhx_cal_event_selected{background-color:#fff3a1;color:#362d26}.dhx_wa_dnd{background-color:#fddb93!important;color:#747473!important;border:1px solid #ccb177}.dhx_text_disabled{color:#2E2E2E}.dhx_cal_ltext .dhx_text_disabled{line-height:22px}.dhx_grid_v_border{border-right-color:#CECECE}.dhx_cal_header .dhx_grid_line,.dhx_cal_header .dhx_grid_line div{height:100%;line-height:35px}.dhx_cal_header .dhx_grid_line div.dhx_grid_view_sort{height:10px;top:12px}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #CECECE}.dhx_cal_quick_info{background:rgba(204,204,204,.8);border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-family:"Segoe UI",Arial;width:280px}.dhx_cal_qi_title{color:#000}.dhx_cal_qi_tdate{color:#444}.dhx_cal_qi_content{background:0 0;border:none;padding:10px 8px}.dhx_qi_big_icon{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:none;color:#FFF;float:none;font-size:13px}.dhx_qi_big_icon .dhx_menu_icon{display:none!important}.dhx_cal_quick_info .icon_details{background:#5B9BE0;margin-left:100px}.dhx_cal_quick_info .icon_details div{padding-left:12px}.dhx_cal_quick_info .icon_delete{background:#FE7510}.dhx_cal_quick_info .icon_delete div{padding-left:12px}.dhx_cal_navline .dhx_cal_export{width:32px;height:32px;margin:2px;cursor:pointer;top:12px}.dhx_cal_navline .dhx_cal_export.pdf{left:auto;right:249px;background-image:url(imgs_flat/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:auto;right:210px;background-image:url(imgs_flat/export_ical.png)}.dhx_mini_calendar{font-family:"Segoe UI",Arial;padding:5px}.dhx_mini_calendar .dhx_calendar_click,.dhx_mini_calendar .dhx_year_event{border-radius:0}.dhx_mini_calendar .dhx_month_head{color:#363636;font-family:"Segoe UI",Arial;font-size:13px;margin:2px}.dhx_mini_calendar .dhx_year_month{color:#454544;line-height:20px;height:25px;font-size:20px;font-weight:lighter}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{top:8px!important}.dhx_mini_calendar .dhx_scale_bar{font-family:"Segoe UI",Arial;font-size:11px} \ No newline at end of file
+.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;text-align:center;position:fixed;box-shadow:0 0 14px #888;z-index:20000}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#FFE763;border:1px solid #B7A543;color:#887A2E;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{border-bottom-style:dotted;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;border:none;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{font-weight:700;padding:5px 0 3px 10px}.dhx_section_time{white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-size:18px}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_larea{overflow:hidden;width:572px;height:1px}.dhx_btn_set{float:left}.dhx_btn_set div{float:left;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-image:url(imgs/controls.gif);background-position:-84px 0;width:21px}.dhx_cancel_btn{background-image:url(imgs/controls.gif);background-position:-63px 0;width:20px}.dhx_delete_btn{background-image:url(imgs/controls.gif);background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;font-weight:400;margin-right:5px;margin-top:0;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_section_time{text-align:center}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_agenda_area{width:100%;overflow-y:auto}.dhx_agenda_line{clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;text-align:center;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_month_head.dhx_year_event{background-color:#FFE763}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{cursor:pointer;background-image:url(imgs/calendar.gif)}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px;color:#887A2E}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;overflow:hidden}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_cal_light_wide .dhx_combo_box{width:608px!important;left:10px}.dhx_wa_column{float:left}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_second_scale_bar{padding-top:2px}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{position:absolute;z-index:300;background-color:#8e99ae;background-color:rgba(98,107,127,.5);padding-left:7px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{background-color:#fefefe;font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;background-color:#fefefe}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{height:20px;position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{padding-top:1px}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_prev_button{background-image:url(imgs/buttons.png);background-position:0 0;cursor:pointer}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;cursor:pointer}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;background-color:#D8E1EA;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{cursor:default}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder,.dhx_scale_holder_now{position:absolute}.dhx_scale_hour{height:41px;width:50px;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{padding-right:5px;text-align:right}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-repeat:no-repeat}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px}.dhx_custom_button_recurring{background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_event .dhx_title{border-width:1px 1px 0;-webkit-border-top-left-radius:1px;-webkit-border-top-right-radius:1px;-moz-border-radius-topleft:1px;-moz-border-radius-topright:1px;border-top-left-radius:1px;border-top-right-radius:1px;font-family:"Segoe UI",Arial;font-weight:700;font-size:12px;height:14px;line-height:14px}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{padding-bottom:8px;-webkit-border-bottom-right-radius:1px;-webkit-border-bottom-left-radius:1px;-moz-border-radius-bottomright:1px;-moz-border-radius-bottomleft:1px;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.dhx_cal_event .dhx_header,.dhx_cal_event.dhx_cal_select_menu .dhx_footer{display:none}.dhx_cal_event .dhx_footer{height:15px;border:0;background-color:transparent!important;margin-top:-11px}.dhx_cal_event .dhx_footer:hover{background:url(imgs_flat/resizing.png) center center no-repeat}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#5B9BE0;border-color:transparent;color:#fff}.dhx_cal_event,.dhx_cal_event_line{-webkit-box-shadow:0 0 1px #FFF;-moz-box-shadow:0 0 1px #FFF;box-shadow:0 0 1px #FFF}.dhx_cal_event.dhx_cal_editor{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:1px solid transparent}.dhx_cal_editor{font-size:12px;font-family:"Segoe UI",Arial}div.dhx_menu_head,div.dhx_menu_icon{background-image:url(imgs_flat/controls.png)}.dhx_cal_event_line{border:1px solid transparent;background-color:#5B9BE0;color:#FFF;height:17px;line-height:16px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.dhx_cal_event_line:hover div{background:url(imgs_flat/resize_dots.png) repeat-y}.dhx_cal_event_line_start{-webkit-border-top-left-radius:1px;-webkit-border-bottom-left-radius:1px;-moz-border-radius-topleft:1px;-moz-border-radius-bottomleft:1px;border-top-left-radius:1px;border-bottom-left-radius:1px}.dhx_cal_event_line_end{-webkit-border-top-right-radius:1px;-webkit-border-bottom-right-radius:1px;-moz-border-radius-topright:1px;-moz-border-radius-bottomright:1px;border-top-right-radius:1px;border-bottom-right-radius:1px}.dhx_cal_event .dhx_body,.dhx_cal_event_line{font-size:12px;font-family:"Segoe UI",Arial}.dhx_cal_event:hover .dhx_footer{background:url(imgs_flat/resizing.png) center center no-repeat}.dhx_cal_container{background-color:#fff;font-family:"Segoe UI",Arial}.dhx_cal_data{border-top:1px solid #CECECE}.dhx_scale_holder{background-image:url(imgs_flat/databg.png);border-right:1px solid #CECECE}.dhx_scale_holder_now{background-image:url(imgs_flat/databg_now.png);border-right:1px solid #CECECE}.dhx_scale_hour{border-bottom:1px solid #CECECE;background-color:#fff;font:11px/44px Arial;font-family:"Segoe UI",Arial;font-weight:lighter;color:#767676}.dhx_scale_h{display:inline-block;font-size:22px}.dhx_scale_m{display:inline-block;font-size:11px;line-height:35px;vertical-align:top}.dhx_cal_header{border:1px solid #CECECE;border-left:0;border-bottom:0}.dhx_scale_bar{border-left:1px solid #CECECE;font:12px/16px "Segoe UI",Arial;color:#767676;line-height:30px;padding-top:2px;background-color:#fff}.dhx_scale_bar>a{color:#5780AD;text-decoration:none}.dhx_scale_bar>a:hover{text-decoration:underline}.dhx_month_head>a{color:#5780AD;text-decoration:none}.dhx_month_head>a:hover{text-decoration:underline}.dhx_cal_navline div{top:14px}.dhx_cal_date,.dhx_cal_next_button,.dhx_cal_prev_button,.dhx_cal_tab,.dhx_cal_today_button{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:none;color:#454544;height:30px;line-height:30px;background:0 0;font-family:"Segoe UI",Arial;font-weight:lighter}.dhx_cal_navline .dhx_cal_date{border:0;color:#454544;font-family:"Segoe UI",Arial;font-weight:lighter;font-size:22px;text-align:center;top:14px;position:absolute;left:0;width:100%;z-index:-1}.dhx_cal_today_button{background:0 0;color:#5780AD;font-size:13px;font-weight:bolder;left:auto;right:123px;text-decoration:none;width:80px}.dhx_cal_next_button,.dhx_cal_prev_button{left:auto;width:46px}.dhx_cal_prev_button{right:61px;background:url(imgs_flat/arrow_left.png) center center no-repeat}.dhx_cal_next_button{right:14px;background:url(imgs_flat/arrow_right.png) center center no-repeat}.dhx_cal_tab{color:#5780AD;font-size:13px;font-weight:bolder;padding-top:0;text-decoration:none;width:60px}.dhx_cal_tab:hover,.dhx_cal_today_button:hover{text-decoration:underline}.dhx_cal_tab.active{background-color:#5780AD;border:none;color:#FFF;font-family:"Segoe UI",Arial;font-weight:lighter;text-decoration:none}.dhx_cal_tab_standalone{padding:0 5px}.dhx_multi_day,.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-color:#fff}.dhx_multi_day{border-top:1px solid #CECECE}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_multi_day_icon_small{background-image:url(imgs_flat/clock.png)}.dhx_multi_day_icon{background-image:url(imgs_flat/clock_big.gif)}.dhx_month_body,.dhx_month_head{background-color:#fff}.dhx_after .dhx_month_body,.dhx_after .dhx_month_head,.dhx_before .dhx_month_body,.dhx_before .dhx_month_head{background-color:#F7F7F7}.dhx_month_head{height:21px;padding-top:0;font:12px/21px "Segoe UI",Arial;color:#5780AD;border-right:1px solid #CECECE}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#bbb}.dhx_month_body{border-right:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_now .dhx_month_body,.dhx_now .dhx_month_head{background-color:#FFF3A1;font-weight:400}.dhx_cal_event_clear{color:#0E64A0}.dhx_cal_larea{margin-left:0}.dhx_cal_light_wide .dhx_cal_larea{margin-left:3px}.dhx_cal_light_wide .dhx_wrap_section{padding:5px 0}.dhx_cal_larea,.dhx_cal_light,.dhx_cal_light_wide .dhx_wrap_section,.dhx_cal_lsection,.dhx_cal_ltext textarea,.dhx_wrap_section{background-color:#fff;font-family:"Segoe UI",Arial}.dhx_cal_light input,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection,.dhx_cal_lsection .dhx_fullday{color:#444;font-family:"Segoe UI",Arial}.dhx_cal_light_wide .dhx_wrap_section{border-top:0;border-bottom:1px solid #CECECE}.dhx_cal_larea{border:1px solid transparent}.dhx_cal_light,.dhx_cal_light select,.dhx_cal_ltext textarea{color:#2E2E2E}.dhx_cal_light{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhx_cal_light_wide .dhx_cal_lsection,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{font-family:"Segoe UI",Arial;font-size:13px;font-weight:700}.dhx_section_time{background-color:transparent}.dhx_btn_set div:first-child,.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{display:none}.dhx_btn_set,.dhx_btn_set div{height:30px;padding:0 20px;line-height:30px}.dhx_btn_set{margin:12px 0 0;padding:0;font-size:13px;color:#444;font-weight:400;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhx_left_btn_set{margin-left:20px}.dhx_right_btn_set{margin-right:20px}.dhx_save_btn_set{border:none;color:#FFF;background-color:#5B9BE0}.dhx_cancel_btn_set{background-color:#FE7510;color:#FFF}.dhx_delete_btn_set{border:1px solid #888;color:#444}.dhx_cal_ltitle{height:30px;line-height:30px;border-bottom:1px solid #CECECE}.dhx_cal_ltitle span{float:left}.dhx_cal_light .dhx_title{font-size:13px;padding-left:13px}.dhx_mark{display:none}.dhx_time{font-size:12px;padding-left:10px}.dhx_close_icon{float:right;width:9px;height:9px;background:url(imgs_flat/close_icon.png) center center no-repeat;padding:10px;margin-top:1px}.dhx_cal_light_wide .dhx_cal_ltext.dhx_cal_template{line-height:22px}.dhx_cal_ltext textarea{line-height:20px;box-sizing:border-box;-moz-box-sizing:border-box;border:1px solid #CECECE;background-color:#F9F9F9}.dhtmlx_modal_box{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:#fff;font-family:"Segoe UI",Arial;width:330px}.dhtmlx_popup_text{font-size:16px}.dhtmlx_popup_controls{padding-bottom:9px}.dhtmlx_popup_button,.dhtmlx_popup_button div,.dhtmlx_popup_button div:active,.dhtmlx_popup_button:active{color:#444;background:#fff;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.dhtmlx_popup_button{border:1px solid #888}.dhtmlx_popup_button div{border:none}.dhtmlx_popup_button.dhtmlx_ok_button{border-color:#5B9BE0;background-color:#5B9BE0;color:#FFF}.dhtmlx_popup_button.dhtmlx_cancel_button{border-color:#FE7510;background-color:#FE7510;color:#FFF}.dhtmlx_popup_button.dhtmlx_cancel_button div,.dhtmlx_popup_button.dhtmlx_ok_button div{background:0 0;color:#FFF}.dhx_cal_container.dhx_mini_calendar{box-sizing:border-box;border:none;box-shadow:0 2px 10px 0 #AAA;border-radius:0}.dhx_mini_calendar .dhx_year_month{border:1px solid #CECECE;font-family:"Segoe UI",Arial}.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body,.dhx_mini_calendar .dhx_year_month{border-color:transparent}.dhx_mini_calendar .dhx_year_body{padding-top:1px}.dhx_mini_calendar .dhx_scale_bar{border-width:0}.dhx_mini_calendar .dhx_year_week{border-bottom:1px solid #CECECE;padding-top:1px}.dhx_mini_calendar .dhx_month_head{padding-right:0;text-align:center}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{border:0;height:20px}.dhx_cal_navline div.dhx_minical_icon{left:210px;top:14px;width:30px;height:30px;background:url(imgs_flat/calendar.gif) 3px 5px no-repeat}.dhx_cal_event_line .dhx_event_resize{background:0 0}.dhx_cal_event_line .dhx_event_resize:hover{background:url(imgs_flat/resize_dots.png) repeat-y}.dhx_matrix_cell,.dhx_matrix_scell{border-bottom:1px solid #CECECE;border-right:1px solid #CECECE}.dhx_cal_header div div{border-left:1px solid #CECECE}.dhx_matrix_scell{font-size:13px}.dhx_second_scale_bar{border-bottom:1px solid #CECECE}.dhx_repeat_divider{border-left:1px solid #CECECE}.dhx_custom_button{background-color:#fff;border:1px solid #a4a4a4;border-radius:0;color:#444}.dhx_cal_light_wide .dhx_custom_button{margin-top:6px}.dhx_custom_button_recurring{background-image:url(imgs_flat/but_repeat.gif)}input.dhx_repeat_date{border-color:#a8a8a8}.dhx_form_repeat{background-color:transparent}.dhx_agenda_line div,.dhx_v_border{border-right:1px solid #CECECE}.dhx_cal_header .dhx_agenda_line,.dhx_cal_header .dhx_agenda_line div{height:100%;line-height:35px}.dhx_agenda_area,.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs_flat/agenda_bg.gif)}.dhx_agenda_line{height:26px}.dhx_agenda_line div,.dhx_agenda_line span{line-height:26px}.dhx_agenda_line .dhx_event_icon{background-position:5px 6px}.dhx_year_month{border:1px solid #CECECE}.dhx_scale_bar_last{border-right:1px solid #CECECE}.dhx_year_body{border-left:1px solid #CECECE}.dhx_expand_icon{top:-3px}.dhx_scale_bar .dhx_cal_next_button,.dhx_scale_bar .dhx_cal_prev_button{width:20px;height:100%;top:0!important;border:0}.dhx_scale_bar .dhx_cal_next_button{right:1px!important;border-left:1px solid #CECECE}.dhx_scale_bar .dhx_cal_prev_button{left:1px!important;border-right:1px solid #CECECE}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border:0}.dhx_map_line .headline_date{border-right:1px solid #CECECE}.dhx_map_line.highlight{background-color:#b3daff}.dhx_cal_header .dhx_map_line{height:100%}.dhx_cal_header .dhx_map_line .headline_date,.dhx_cal_header .dhx_map_line .headline_description{height:100%;line-height:35px}.dhx_map_area{background-image:url(imgs_flat/agenda_bg.gif)}.dhx_map_line{height:26px}.dhx_map_line .line_description,.dhx_map_line div{line-height:26px;height:26px}.dhx_map_line .dhx_event_icon{background-position:5px 6px}.dhx_cal_data div.dhx_map_area,.dhx_cal_header div.dhx_map_line{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-right:1px solid #cecece}.dhtmlXTooltip.tooltip{border-left:1px solid #CECECE;border-top:1px solid #CECECE;color:#747473;font-size:12px;line-height:16px}.dhx_wa_scale_bar{border-top:1px solid #CECECE;border-bottom:1px solid #CECECE}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px solid #CECECE}.dhx_wa_ev_body{border-bottom:1px solid #CECECE}.dhx_wa_scale_bar{background-color:#f0ede7}.dhx_wa_ev_body.dhx_cal_event_selected{background-color:#fff3a1;color:#362d26}.dhx_wa_dnd{background-color:#fddb93!important;color:#747473!important;border:1px solid #ccb177}.dhx_text_disabled{color:#2E2E2E}.dhx_cal_ltext .dhx_text_disabled{line-height:22px}.dhx_grid_v_border{border-right-color:#CECECE}.dhx_cal_header .dhx_grid_line,.dhx_cal_header .dhx_grid_line div{height:100%;line-height:35px}.dhx_cal_header .dhx_grid_line div.dhx_grid_view_sort{height:10px;top:12px}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #CECECE}.dhx_cal_quick_info{background:rgba(204,204,204,.8);border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-family:"Segoe UI",Arial;width:280px}.dhx_cal_qi_title{color:#000}.dhx_cal_qi_tdate{color:#444}.dhx_cal_qi_content{background:0 0;border:none;padding:10px 8px}.dhx_qi_big_icon{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:none;color:#FFF;float:none;font-size:13px}.dhx_qi_big_icon .dhx_menu_icon{display:none!important}.dhx_cal_quick_info .icon_details{background:#5B9BE0;margin-left:100px}.dhx_cal_quick_info .icon_details div{padding-left:12px}.dhx_cal_quick_info .icon_delete{background:#FE7510}.dhx_cal_quick_info .icon_delete div{padding-left:12px}.dhx_cal_navline .dhx_cal_export{width:32px;height:32px;margin:2px;cursor:pointer;top:12px}.dhx_cal_navline .dhx_cal_export.pdf{left:auto;right:249px;background-image:url(imgs_flat/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:auto;right:210px;background-image:url(imgs_flat/export_ical.png)}.dhx_mini_calendar{font-family:"Segoe UI",Arial;padding:5px}.dhx_mini_calendar .dhx_calendar_click,.dhx_mini_calendar .dhx_year_event{border-radius:0}.dhx_mini_calendar .dhx_month_head{color:#363636;font-family:"Segoe UI",Arial;font-size:13px;margin:2px}.dhx_mini_calendar .dhx_year_month{color:#454544;line-height:20px;height:25px;font-size:20px;font-weight:lighter}.dhx_mini_calendar .dhx_cal_next_button,.dhx_mini_calendar .dhx_cal_prev_button{top:8px!important}.dhx_mini_calendar .dhx_scale_bar{font-family:"Segoe UI",Arial;font-size:11px} \ No newline at end of file
diff --git a/codebase/dhtmlxscheduler_glossy.css b/codebase/dhtmlxscheduler_glossy.css
index 22356cb..cdf912a 100644
--- a/codebase/dhtmlxscheduler_glossy.css
+++ b/codebase/dhtmlxscheduler_glossy.css
@@ -1,8 +1,8 @@
/*
-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.
*/
-.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background:-webkit-linear-gradient(top,#fff 1%,#d0d0d0 99%);background:-moz-linear-gradient(top,#fff 1%,#d0d0d0 99%);box-shadow:0 0 14px #888;font-family:Tahoma;z-index:20000;border-radius:6px;border:1px solid #fff}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#FFE763;border:1px solid #B7A543;color:#887A2E;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:700;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{background-color:#FFE763;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{border:1px solid #B7A543;border-top-style:dotted;z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;border-radius:5px;font-family:Tahoma;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{background-color:#DBCF8C;font-weight:700}.dhx_section_time{white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-family:Arial}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;border:none;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_light .dhx_title{padding-left:10px}.dhx_cal_larea{overflow:hidden;margin-left:3px;width:572px;height:1px}.dhx_btn_set{padding:5px 10px 0;float:left}.dhx_btn_set div{float:left;height:21px;line-height:21px;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-position:-84px 0;width:21px}.dhx_cancel_btn{background-position:-63px 0;width:20px}.dhx_delete_btn{background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;font-weight:400;margin-right:5px;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;background-color:#DBCF8C;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-family:Tahoma;font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;font-weight:700;font-family:Arial;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0;margin-top:2px}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;top:0;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs/databg.png)}.dhx_agenda_area{width:100%;overflow-y:auto;background-image:url(imgs/databg.png)}.dhx_agenda_line{height:21px;clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;border-right:1px dotted #8894A3;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px;line-height:21px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{color:#887A2E;font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{width:18px;height:18px;left:190px;top:1px;cursor:pointer;background-image:url(imgs/calendar.gif)}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;background:url(imgs/resize_dots.png) repeat-y;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-image:url(imgs/databg.png)}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{height:21px;clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border-left:0}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;line-height:21px;overflow:hidden}.dhx_map_line.highlight{background-color:#C4C5CC}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;font-size:8pt;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_wa_column{float:left}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px dotted #8894A3}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px;border-top:1px dotted #8894A3;border-bottom:1px dotted #8894A3}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{border-bottom:1px dotted #789;font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important;border:1px solid #B7A543}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{border:2px solid #888;border-radius:5px;position:absolute;z-index:300;background-color:#8e99ae;background-color:rgba(98,107,127,.5);padding-left:7px;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;color:#FFF;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{border:1px solid #888;background-color:#fefefe;padding:16px 8px;font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{border-radius:3px;color:#444;margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;background-color:#fefefe;border-bottom:1px solid #666;border-right:1px solid #666;float:left}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-family:Tahoma;font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;top:2px;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{font-weight:600}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_prev_button{background-position:0 0;left:50px;cursor:pointer}.dhx_cal_next_button{background-position:-30px 0;left:80px;cursor:pointer}.dhx_cal_today_button{background-position:-60px 0;height:17px;cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;background-color:#D8E1EA;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{text-decoration:none;cursor:default;font-weight:700;background-color:#C2D5FC}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder{position:absolute;background-image:url(imgs/databg.png)}.dhx_scale_holder_now{position:absolute;background-image:url(imgs/databg_now.png)}.dhx_scale_hour{height:41px;width:50px;background-color:#C2D5FC;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{color:#2F3A48;height:18px;padding-right:5px;padding-top:3px;text-align:right}.dhx_month_body{background-color:#FFF}.dhx_now .dhx_month_body{background-color:#E2EDFF}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#94A6BB}.dhx_now .dhx_month_head{font-weight:700}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_custom_button_recurring{background-image:url(imgs/but_repeat.gif);background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_tab.active{border:none}.dhx_multi_day{border:none;border-top:1px solid #A4BED4}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-right:none}.dhx_cal_container{background-image:url(imgs_glossy/top-days-bg.png);background-position:0 24px;background-repeat:repeat-x;background-color:#EBEBEB}.dhx_cal_navline{background-color:#EBEBEB;height:23px!important}.dhx_cal_next_button,.dhx_cal_prev_button{background-image:url(imgs_glossy/buttons.gif);width:30px;height:20px}.dhx_cal_today_button{padding-top:3px;background-image:url(imgs_glossy/buttons.gif);width:67px;left:110px;text-decoration:none}.dhx_cal_navline .dhx_cal_date{padding-top:4px;left:230px}.dhx_cal_tab{background-image:url(imgs_glossy/white_tab.png);width:60px;height:15px;text-decoration:none;padding-top:4px;margin-top:4px}.dhx_cal_tab.active{background-image:url(imgs_glossy/blue_tab.png);height:18px;width:60px;padding-top:4px;margin-top:2px}.dhx_cal_data{border-top:1px solid #A4BED4}.dhx_cal_header{background-image:url(imgs_glossy/top-days-bg.png);background-repeat:repeat-x;border-top:0;border-right:0}.dhx_scale_bar{background-image:url(imgs_glossy/top-separator.gif);background-position:0 0;background-repeat:no-repeat;background-color:transparent;border-left:0}.dhx_scale_holder,.dhx_scale_holder_now{border-right:1px solid #A4BED4}.dhx_scale_hour{background-image:url(imgs_glossy/left-time-bg.png);border-bottom:1px solid #A4BED4;color:#2F3A48}.dhx_multi_day{background-image:url(imgs_glossy/multi-days-bg.png);background-repeat:repeat;border-bottom:1px solid #A4BED4;border-left:0}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-image:url(imgs_glossy/clock_big.png);border-bottom:1px solid #A4BED4;border-left:1px solid #fff;background-color:transparent;background-repeat:no-repeat}.dhx_multi_day_icon_small{background-image:url(imgs_glossy/clock_small.png)}.dhx_month_head{background-color:#FFF}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#EFEDE2}.dhx_now .dhx_month_head{background-color:#E4EFFF}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#EFEDE2}.dhx_cal_event div{border:1px solid #FFBD51;background-color:#FFE4AB;color:#000}.dhx_cal_event_clear{color:#000}.dhx_cal_event_line{background-image:url(imgs_glossy/event-bg.png);border:1px solid #FFBD51;color:#000}.dhx_in_move{background-image:url(imgs_glossy/move.png)}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_title{background-color:#FFE4AB}.dhx_cal_light{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;background-color:#EBEBEB;border:2px solid #A4BED4;color:#000}.dhx_cal_larea{border:1px solid #A4BED4;border-width:0 1px 1px;background-color:#FFF}.dhx_cal_lsection{background-image:url(imgs_glossy/lightbox.png);font-size:14px;padding:5px 0 5px 10px;color:#000}.dhx_cal_light_wide .dhx_cal_lsection{background-image:url(imgs_glossy/multi-days-bg.png)}.dhx_cal_ltext textarea{background-color:#fff;color:#000}.dhx_cal_light input,.dhx_cal_light select{color:#000}.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{background-image:url(imgs_glossy/controlls5.png)}div.dhx_menu_head{background-image:url(imgs_glossy/controlls5.png);border:1px solid #FFE4AB}div.dhx_menu_icon{background-image:url(imgs_glossy/controlls5.png);border:none}.dhx_section_time{height:20px!important;padding:7px 0!important;text-align:center;background:#fff}.dhx_year_month{background-image:url(imgs_glossy/top-days-bg.png);border:0}.dhx_year_week{background-image:url(imgs_glossy/top-days-bg.png)}.dhx_month_head{border-right:1px solid #A4BED4}.dhx_matrix_cell,.dhx_matrix_scell,.dhx_month_body{border-right:1px solid #A4BED4;border-bottom:1px solid #A4BED4}.dhx_year_body{border-left:1px solid #A4BED4}.dhx_scale_bar_last{border-right:none}.dhx_month_head.dhx_year_event{background-color:#FFE4AB}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#EFEDE2!important}.dhx_cal_lsection .dhx_readonly{color:#000}.dhx_year_tooltip{-moz-box-shadow:2px 2px 2px #888;-khtml-box-shadow:2px 2px 2px #888}.dhx_custom_button{margin-top:-2px}.dhx_cal_lsection.dhx_cal_checkbox{height:16px;line-height:18px}.dhx_cal_light_wide .dhx_cal_lsection.dhx_cal_checkbox{height:20px}.dhx_cal_light_wide .dhx_combo_box{width:602px!important;left:0}.dhx_cal_checkbox label{vertical-align:top}.dhx_cal_light_wide .dhx_cal_lsection{color:#000}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #A4BED4;background-image:url(imgs_glossy/multi-days-bg.png)}.dhx_cal_light_wide .dhx_cal_ltext{border-left:1px solid #A4BED4;background-color:#fff}.dhx_custom_button{background:#fff;color:#000}.dhx_form_repeat{background:#fff}.dhx_repeat_divider{border-left:1px solid #A4BED4}.dhx_cal_header.dhx_second_cal_header{background-image:url(imgs_glossy/second-top-days-bg.png);padding-right:20px}.dhx_cal_header div div{border-left:0}.dhx_scale_bar{padding-top:4px}.dhx_second_scale_bar{border-bottom:0;padding-top:4px}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection .dhx_fullday{color:#000;font-size:14px}.dhx_cal_light_wide .dhx_cal_lsection{font-size:14px;padding-right:10px}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #A4BED4}.dhx_cal_navline .dhx_cal_export{width:18px;height:18px;margin:2px;cursor:pointer;top:1px}.dhx_cal_navline .dhx_cal_export.pdf{left:2px;background-image:url(imgs_glossy/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:24px;background-image:url(imgs_glossy/export_ical.png)} \ No newline at end of file
+.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000}.dhtmlx-info{min-width:120px;font-family:Tahoma;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.dhtmlx-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background:-webkit-linear-gradient(top,#fff 1%,#d0d0d0 99%);background:-moz-linear-gradient(top,#fff 1%,#d0d0d0 99%);box-shadow:0 0 14px #888;font-family:Tahoma;z-index:20000;border-radius:6px;border:1px solid #fff}.dhtmlx_popup_title{border-top-left-radius:5px;border-top-right-radius:5px;border-width:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%)}.dhtmlx-info,.dhtmlx_button,.dhtmlx_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.dhtmlx_popup_text{overflow:hidden}.dhtmlx_popup_controls{border-radius:6px;padding:5px}.dhtmlx_button,.dhtmlx_popup_button{height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:6px;color:#FFF}.dhtmlx_popup_button{min-width:120px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.dhtmlx-info img,.dhtmlx_modal_box img{float:left;margin-right:20px}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC)}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid red}.dhtmlx_button,.dhtmlx_popup_button{box-shadow:0 0 4px #888;border:1px solid #838383}.dhtmlx_button input,.dhtmlx_popup_button div{border:1px solid #FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=);background:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:400;-moz-box-sizing:content-box;box-sizing:content-box;color:#fff;padding:0;margin:0;vertical-align:top;height:28px;line-height:28px}.dhtmlx_button input:active,.dhtmlx_button input:focus,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background:-moz-linear-gradient(top,#707070 1%,#4c4c4c 99%)}.dhtmlx_popup_title{color:#fff;text-shadow:1px 1px #000;height:40px;line-height:40px;font-size:20px}.dhtmlx_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.dhtmlx-error,.dhtmlx-info{font-size:14px;color:#000;box-shadow:0 0 10px #888;padding:0;background-color:#FFF;border-radius:3px;border:1px solid #fff}.dhtmlx-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #B8B8B8}.dhtmlx-error{background-color:#d81b1b;border:1px solid #ff3c3c;box-shadow:0 0 10px #000}.dhtmlx-error div{background-color:#d81b1b;border:1px solid #940000;color:#FFF}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title{background-color:#FFE763;border:1px solid #B7A543;color:#887A2E;overflow:hidden;width:100%;font-family:Tahoma;font-size:8pt}.dhx_move_denied .dhx_cal_event .dhx_header,.dhx_move_denied .dhx_cal_event .dhx_title{cursor:default}.dhx_cal_event .dhx_header{height:1px;margin-left:1px;border-width:1px 1px 0;cursor:pointer}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:700;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer}.dhx_cal_event .dhx_body,.dhx_cal_event.dhx_cal_select_menu .dhx_body{border-width:0 1px 1px;padding:5px}.dhx_resize_denied,.dhx_resize_denied .dhx_event_resize{cursor:default!important}.dhx_cal_event .dhx_event_resize{cursor:s-resize}.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_select_menu_footer{height:1px;margin-left:2px;border-width:0 1px 1px;position:relative}.dhx_cal_event_line{background-color:#FFE763;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;cursor:pointer;overflow:hidden}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;white-space:nowrap;overflow:hidden;cursor:pointer}.dhx_in_move{background-color:#FFFF80}.dhx_cal_event.dhx_cal_editor{border:1px solid #B7A543;border-top-style:dotted;z-index:999;position:absolute;overflow:hidden}textarea.dhx_cal_editor{width:100%;height:100%;border:0 solid #000;margin:0;padding:0;overflow:auto}div.dhx_menu_head{background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;cursor:default}div.dhx_menu_icon{width:20px;height:20px;margin-left:-5px;margin-top:0;cursor:pointer}div.icon_details{background-position:0 0}div.icon_edit{background-position:-22px 0}div.icon_save{background-position:-84px -1px}div.icon_cancel{background-position:-62px 0}div.icon_delete{background-position:-42px 0}.dhx_month_link{position:absolute;box-sizing:border-box;-moz-box-sizing:border-box;text-align:right;cursor:pointer;padding-right:10px}.dhx_month_link a{color:#00f}.dhx_month_link a:hover{text-decoration:underline}.dhx_global_tip{font-family:Tahoma,Helvetica;text-align:center;font-size:20px;position:fixed;top:60px;right:20px;background-color:rgba(255,255,255,.7);color:#000;z-index:10000;padding:20px 30px;width:190px}.dhx_global_tip div{font-size:30px}@media (-moz-touch-enabled){.dhx_cal_container{user-select:none;-moz-user-select:none}}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_light{-webkit-tap-highlight-color:transparent;border-radius:5px;font-family:Tahoma;font-size:8pt;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888}.dhx_mark{position:relative;top:3px;background-image:url(imgs/controls.gif);background-position:0 -43px;padding-left:10px}.dhx_ie6 .dhx_mark{background-position:6px -41px}.dhx_cal_light select{font-family:Tahoma;font-size:8pt;padding:2px;margin:0}.dhx_cal_ltitle{padding:2px 0 2px 5px;overflow:hidden;white-space:nowrap}.dhx_cal_ltitle span{white-space:nowrap}.dhx_cal_lsection{background-color:#DBCF8C;font-weight:700}.dhx_section_time{background-color:#DBCF8C;white-space:nowrap}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.dhx_cal_lsection{font-family:Arial}.dhx_cal_ltext{padding:2px 0 2px 10px;overflow:hidden}.dhx_cal_ltext textarea{overflow:auto;border:none;height:100%;width:100%;outline:0!important;resize:none}.dhx_time{font-weight:700}.dhx_cal_light .dhx_title{padding-left:10px}.dhx_cal_larea{overflow:hidden;margin-left:3px;width:572px;height:1px}.dhx_btn_set{padding:5px 10px 0;float:left}.dhx_btn_set div{float:left;height:21px;line-height:21px;vertical-align:middle;cursor:pointer}.dhx_save_btn{background-position:-84px 0;width:21px}.dhx_cancel_btn{background-position:-63px 0;width:20px}.dhx_delete_btn{background-position:-42px 0;width:20px}.dhx_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:alpha(opacity=10)}.dhx_custom_button{padding:0 3px;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:400;margin-right:5px;cursor:pointer}.dhx_custom_button div{cursor:pointer;float:left;height:21px;line-height:21px;vertical-align:middle}.dhx_cal_light_wide .dhx_cal_larea{border-top-width:0}.dhx_cal_light_wide .dhx_cal_lsection{border:0;float:left;text-align:right;width:100px;height:20px;padding:5px 0 0 10px}.dhx_cal_light_wide .dhx_wrap_section{position:relative;background-color:#DBCF8C;overflow:hidden}.dhx_cal_light_wide .dhx_section_time{padding-top:2px!important;height:20px!important}.dhx_cal_light_wide .dhx_cal_larea{width:730px}.dhx_cal_light_wide{width:738px}.dhx_cal_light_wide .dhx_section_time{background:0 0}.dhx_cal_light_wide .dhx_cal_checkbox label{padding-left:0}.dhx_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.dhx_cal_light input{font-family:Tahoma;font-size:8pt}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;font-weight:700;font-family:Arial;cursor:pointer}.dhx_custom_button{float:right;height:21px}.dhx_cal_light_wide .dhx_custom_button{position:absolute;top:0;right:0;margin-top:2px}.dhx_cal_light_wide .dhx_repeat_right{margin-right:55px}.dhx_minical_popup{position:absolute;z-index:10100;width:251px;height:175px}.dhx_scale_bar_header{position:absolute;border-bottom:1px dotted #8894A3;width:100%}.dhx_expand_icon{position:absolute;top:0;right:0;background-image:url(imgs/collapse_expand_icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16}.dhx_scheduler_agenda .dhx_cal_data{background-image:url(imgs/databg.png)}.dhx_agenda_area{width:100%;overflow-y:auto;background-image:url(imgs/databg.png)}.dhx_agenda_line{height:21px;clear:both;overflow:hidden}.dhx_agenda_line div{float:left;width:188px;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_agenda_area .dhx_agenda_line div{border-right:0 dotted #8894A3}.dhx_v_border{position:absolute;left:187px;top:0;border-right:1px dotted #8894A3;width:1px;height:100%}.dhx_agenda_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_agenda_line span{padding-left:5px;line-height:21px}.dhx_year_week{position:relative}.dhx_year_month{height:18px;padding-top:3px;text-align:center;vertical-align:middle}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#E2E3E6!important}.dhx_year_body .dhx_month_body{height:0;overflow:hidden}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head{cursor:default}.dhx_year_tooltip{border:1px solid #BBB;background-image:url(imgs/databg.png);position:absolute;z-index:9998;width:300px;height:auto;font-family:Tahoma;font-size:8pt;overflow:hidden}.dhx_tooltip_line{line-height:20px;height:20px;overflow:hidden}.dhx_tooltip_line .dhx_event_icon{width:20px;height:20px;padding-right:10px;float:left;border-width:0;position:relative;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_tooltip_date{float:left;width:auto;padding-left:5px;text-align:center}.dhx_text_disabled{color:#887A2E;font-family:Tahoma;font-size:8pt}.dhx_mini_calendar{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;-moz-user-select:-moz-none;-webkit-user-select:none;-user-select:none}.dhx_mini_calendar .dhx_month_head{cursor:pointer}.dhx_mini_calendar .dhx_calendar_click{background-color:#C2D5FC}.dhx_cal_navline div.dhx_minical_icon{width:18px;height:18px;left:190px;top:1px;cursor:pointer;background-image:url(imgs/calendar.gif)}.dhx_matrix_scell{height:100%}.dhx_matrix_cell,.dhx_matrix_scell{overflow:hidden;text-align:center;vertical-align:middle}.dhx_matrix_cell{background-color:#fff}.dhx_matrix_line{overflow:hidden}.dhx_matrix_cell div,.dhx_matrix_scell div{overflow:hidden;text-align:center;height:auto}.dhx_cal_lsection .dhx_readonly{font-size:9pt;font-size:8pt;padding:2px}.dhx_cal_event_line .dhx_event_resize{cursor:w-resize;background:url(imgs/resize_dots.png) repeat-y;position:absolute;top:0;width:4px;height:100%}.dhx_event_resize_start{left:0}.dhx_event_resize_end{right:0}.dhx_data_table.folder .dhx_matrix_cell,.dhx_matrix_scell.folder{background-color:#969394;cursor:pointer}.dhx_matrix_scell .dhx_scell_level0{padding-left:5px}.dhx_matrix_scell .dhx_scell_level1{padding-left:20px}.dhx_matrix_scell .dhx_scell_level2{padding-left:35px}.dhx_matrix_scell .dhx_scell_level3{padding-left:50px}.dhx_matrix_scell .dhx_scell_level4{padding-left:65px}.dhx_matrix_scell.folder{font-weight:700;text-align:left}.dhx_matrix_scell.folder .dhx_scell_expand{float:left;width:10px;padding-right:3px}.dhx_matrix_scell.folder .dhx_scell_name{float:left;width:auto}.dhx_matrix_scell.item .dhx_scell_name{padding-left:15px;text-align:left}.dhx_data_table.folder .dhx_matrix_cell{border-right:0}.dhx_section_timeline{overflow:hidden;padding:4px 0 2px 10px}.dhx_section_timeline select{width:552px}.dhx_map_area{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-image:url(imgs/databg.png)}.dhx_map_line .dhx_event_icon{width:20px;border-width:0;background:url(imgs/icon.png) 5px 4px no-repeat;cursor:pointer}.dhx_map_line{height:21px;clear:both;overflow:hidden}.dhx_map{position:absolute}.dhx_map_line .headline_description,.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .dhx_map_description{float:left;border-right:0 dotted #8894A3;text-align:center;line-height:21px;overflow:hidden}.dhx_map_line .headline_date,.dhx_map_line .headline_description{border-left:0}.dhx_map_line .line_description{float:left;border-right:1px dotted #8894A3;text-align:left;padding-left:5px;line-height:21px;overflow:hidden}.dhx_map_line.highlight{background-color:#C4C5CC}.dhx_map_area .dhx_map_line div{border-right:0 dotted #8894A3}.dhtmlXTooltip.tooltip{-moz-box-shadow:3px 3px 3px #888;-webkit-box-shadow:3px 3px 3px #888;-o-box-shadow:3px 3px 3px #888;box-shadow:3px 3px 3px #888;filter:progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5);background-color:#fff;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;font-family:Tahoma;font-size:8pt;opacity:1}.dhx_cal_checkbox label{padding-left:5px}.dhx_cal_light .radio{padding:2px 0 2px 10px}.dhx_cal_light .radio input,.dhx_cal_light .radio label{line-height:15px}.dhx_cal_light .radio input{vertical-align:middle;margin:0;padding:0}.dhx_cal_light .radio label{vertical-align:middle;padding-right:10px}.dhx_cal_light .combo{padding:4px}.dhx_wa_column{float:left}.dhx_wa_column_last .dhx_wa_day_cont{border-left:1px dotted #8894A3}.dhx_wa_scale_bar{font-family:Tahoma;padding-left:10px;font-size:11px;border-top:1px dotted #8894A3;border-bottom:1px dotted #8894A3}.dhx_wa_day_data{background-color:#FCFEFC;overflow-y:auto}.dhx_wa_ev_body{border-bottom:1px dotted #789;font-size:12px;padding:5px 0 5px 7px}.dhx_wa_dnd{font-family:Tahoma;position:absolute;padding-right:7px;color:#887AE2!important;background-color:#FFE763!important;border:1px solid #B7A543}.dhx_cal_event_selected{background-color:#9cc1db;color:#fff}.dhx_grid_area{width:100%;height:100%;overflow-y:auto;background-color:#FCFEFC}.dhx_grid_area table{border-collapse:collapse;border-spacing:0;width:100%;table-layout:fixed}.dhx_grid_area td{table-layout:fixed;text-align:center}.dhx_grid_line{height:21px;clear:both;overflow:hidden}.dhx_grid_line div{float:left;cursor:default;padding-top:0;padding-bottom:0;text-align:center;line-height:21px;overflow:hidden}.dhx_grid_area td,.dhx_grid_line div{padding-left:8px;padding-right:8px}.dhx_grid_area tr.dhx_grid_event{height:21px;overflow:hidden;margin:0 0 1px}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4}.dhx_grid_area tr.dhx_grid_event:nth-child(2n) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td{border-bottom-width:0;border-bottom-style:none}.dhx_grid_area tr.dhx_grid_event:nth-child(2n){background-color:#ECEEF4}.dhx_grid_area .dhx_grid_dummy{table-layout:auto;margin:0!important;padding:0!important}.dhx_grid_v_border{position:absolute;border-right:1px solid #A4BED4;width:1px;height:100%}.dhx_grid_event_selected{background-color:#9cc1db!important;color:#fff!important}.dhx_grid_sort_desc .dhx_grid_view_sort{background-position:0 -55px}.dhx_grid_sort_asc .dhx_grid_view_sort{background-position:0 -66px}.dhx_grid_view_sort{width:10px;height:10px;position:absolute;border:none!important;top:5px;background-repeat:no-repeat;background-image:url(imgs/images.png)}.dhx_marked_timespan{position:absolute;width:100%}.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1}.dhx_time_block_reset{opacity:1;filter:alpha(opacity=100)}.dhx_mini_calendar .dhx_marked_timespan,.dhx_scheduler_month .dhx_marked_timespan{display:none}.dhx_now_time{width:100%;border-bottom:2px solid red;z-index:1}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px solid red}.dhx_matrix_now_time{border-left:2px solid red;z-index:1}.dhx_matrix_now_time,.dhx_now_time{opacity:.5}.dhx_cal_quick_info{border:2px solid #888;border-radius:5px;position:absolute;z-index:300;background-color:#8e99ae;background-color:rgba(98,107,127,.5);padding-left:7px;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.dhx_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.dhx_cal_quick_info.dhx_qi_left .dhx_qi_big_icon{float:right}.dhx_cal_qi_title{padding:5px 0 10px 5px;color:#FFF;letter-spacing:1px}.dhx_cal_qi_tdate{font-size:14px}.dhx_cal_qi_tcontent{font-size:18px;font-weight:700}.dhx_cal_qi_content{border:1px solid #888;background-color:#fefefe;padding:16px 8px;font-size:14px;color:#444;width:275px;overflow:hidden}.dhx_qi_big_icon{border-radius:3px;color:#444;margin:5px 9px 5px 0;min-width:60px;line-height:20px;vertical-align:middle;padding:5px 10px 5px 5px;cursor:pointer;background-color:#fefefe;border-bottom:1px solid #666;border-right:1px solid #666;float:left}.dhx_cal_qi_controls div{float:left;height:20px;text-align:center;line-height:20px}.dhx_qi_big_icon .dhx_menu_icon{margin:0 8px 0 0}.dhx_drag_marker{width:100%;filter:alpha(Opacity=50);opacity:.5;background-color:#FFE763;position:absolute;box-sizing:border-box!important;border-top:1px solid #B6B6B6;border-bottom:1px solid #b6b6b6}.dhx_cal_data,.dhx_cal_data div,.dhx_cal_data table *,.dhx_cal_header,.dhx_cal_header div,.dhx_cal_navline div,.dhx_cal_quick_info,.dhx_cal_quick_info div,.dhx_multi_day,.dhx_multi_day div,.dhx_tooltip_line div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dhx_cal_data table{border-collapse:separate}.dhx_cal_light .dhx_cal_radio label{margin-bottom:0}.dhx_cal_event div{line-height:normal}.dhx_cal_container{font-family:Tahoma;font-size:8pt;position:relative;overflow:hidden}.dhx_cal_container div{-moz-user-select:none;-moz-user-select:-moz-none}.dhx_cal_navline{position:absolute;z-index:3;width:750px;color:#2F3A48}.dhx_cal_navline div{position:absolute;top:2px;white-space:nowrap}.dhx_cal_navline .dhx_cal_date{font-weight:600}.dhx_cal_button .dhx_left_bg{width:1px;overflow:hidden;height:17px;z-index:20;top:0}.dhx_cal_prev_button{background-position:0 0;left:50px;cursor:pointer}.dhx_cal_next_button{background-position:-30px 0;left:80px;cursor:pointer}.dhx_cal_today_button{background-position:-60px 0;height:17px;cursor:pointer;text-align:center}.dhx_cal_tab{text-align:center;cursor:pointer;background-color:#D8E1EA;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.dhx_cal_tab.active{text-decoration:none;cursor:default;font-weight:700;background-color:#C2D5FC}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;z-index:2;overflow:hidden;color:#2F3A48}.dhx_cal_data{-webkit-tap-highlight-color:transparent;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-y}.dhx_cal_event,.dhx_cal_event_clear,.dhx_cal_event_line{-ms-touch-action:none}.dhx_scale_bar{position:absolute;text-align:center}.dhx_scale_holder{position:absolute;background-image:url(imgs/databg.png)}.dhx_scale_holder_now{position:absolute;background-image:url(imgs/databg_now.png)}.dhx_scale_hour{height:41px;width:50px;background-color:#C2D5FC;text-align:center;line-height:40px;overflow:hidden}.dhx_month_head{color:#2F3A48;height:18px;padding-right:5px;padding-top:3px;text-align:right}.dhx_month_body{background-color:#FFF}.dhx_now .dhx_month_body{background-color:#E2EDFF}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{color:#94A6BB}.dhx_now .dhx_month_head{font-weight:700}.dhx_scale_ignore{display:none}.dhx_cal_drag{position:absolute;z-index:9999;background-color:#FFE763;border:1px solid #B7A543;opacity:.5;filter:alpha(opacity=50)}.dhx_loading{position:absolute;width:128px;height:15px;background-image:url(imgs/loading.gif);z-index:9999}.dhx_multi_day,.dhx_multi_day_icon{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3}.dhx_multi_day{position:absolute}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff}.dhx_form_repeat,.dhx_form_repeat input{padding:0 0 0 5px;margin:0;font-family:Tahoma,Verdana;font-size:11px;line-height:24px}.dhx_form_repeat{overflow:hidden;background-color:#FFF4B5}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent}.dhx_repeat_center,.dhx_repeat_divider,.dhx_repeat_left,.dhx_repeat_right{height:115px;-moz-box-sizing:border-box;box-sizing:border-box}.dhx_repeat_center,.dhx_repeat_left{padding:10px 0 0 10px;float:left}.dhx_repeat_left{width:105px}.dhx_repeat_center{width:345px;padding-top:22px}.dhx_repeat_divider{float:left;width:1px}.dhx_repeat_right{float:right;width:173px;padding:17px 3px 0 10px}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px;line-height:18px;padding:0 0 0 2px}.dhx_form_repeat select{height:20px;width:87px;padding:0 0 0 2px;margin:0 4px}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px solid #7f9db9;line-height:18px}input.dhx_repeat_radio{margin-right:4px}input.dhx_repeat_checkbox{margin:4px 4px 0 0}.dhx_repeat_days td{padding-right:5px}.dhx_repeat_days label{font-size:10px}.dhx_custom_button{width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.dhx_custom_button_recurring{background-image:url(imgs/but_repeat.gif);background-position:-5px 20px;width:20px;margin-right:10px}.dhx_cal_light_rec{width:640px}.dhx_cal_light_rec .dhx_cal_larea{width:632px}.dhx_cal_light_rec.dhx_cal_light_wide{width:816px}.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{width:808px}.dhx_cal_tab.active{border:none}.dhx_multi_day{border:none;border-top:1px solid #A4BED4}.dhx_multi_day_icon,.dhx_multi_day_icon_small{border-right:none}.dhx_cal_container{background-image:url(imgs_glossy/top-days-bg.png);background-position:0 24px;background-repeat:repeat-x;background-color:#EBEBEB}.dhx_cal_navline{background-color:#EBEBEB;height:23px!important}.dhx_cal_next_button,.dhx_cal_prev_button{background-image:url(imgs_glossy/buttons.gif);width:30px;height:20px}.dhx_cal_today_button{padding-top:3px;background-image:url(imgs_glossy/buttons.gif);width:67px;left:110px;text-decoration:none}.dhx_cal_navline .dhx_cal_date{padding-top:4px;left:230px}.dhx_cal_tab{background-image:url(imgs_glossy/white_tab.png);width:60px;height:15px;text-decoration:none;padding-top:4px;margin-top:4px}.dhx_cal_tab.active{background-image:url(imgs_glossy/blue_tab.png);height:18px;width:60px;padding-top:4px;margin-top:2px}.dhx_cal_data{border-top:1px solid #A4BED4}.dhx_cal_header{background-image:url(imgs_glossy/top-days-bg.png);background-repeat:repeat-x;border-top:0;border-right:0}.dhx_scale_bar{background-image:url(imgs_glossy/top-separator.gif);background-position:0 0;background-repeat:no-repeat;background-color:transparent;border-left:0}.dhx_scale_holder,.dhx_scale_holder_now{border-right:1px solid #A4BED4}.dhx_scale_hour{background-image:url(imgs_glossy/left-time-bg.png);border-bottom:1px solid #A4BED4;color:#2F3A48}.dhx_multi_day{background-image:url(imgs_glossy/multi-days-bg.png);background-repeat:repeat;border-bottom:1px solid #A4BED4;border-left:0}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-image:url(imgs_glossy/clock_big.png);border-bottom:1px solid #A4BED4;border-left:1px solid #fff;background-color:transparent;background-repeat:no-repeat}.dhx_multi_day_icon_small{background-image:url(imgs_glossy/clock_small.png)}.dhx_month_head{background-color:#FFF}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#EFEDE2}.dhx_now .dhx_month_head{background-color:#E4EFFF}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#EFEDE2}.dhx_cal_event div{border:1px solid #FFBD51;background-color:#FFE4AB;color:#000}.dhx_cal_event_clear{color:#000}.dhx_cal_event_line{background-image:url(imgs_glossy/event-bg.png);border:1px solid #FFBD51;color:#000}.dhx_in_move{background-image:url(imgs_glossy/move.png)}.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_title{background-color:#FFE4AB}.dhx_cal_light{-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;background-color:#EBEBEB;border:2px solid #A4BED4;color:#000}.dhx_cal_larea{border:1px solid #A4BED4;border-width:0 1px 1px;background-color:#FFF}.dhx_cal_lsection{background-image:url(imgs_glossy/lightbox.png);font-size:14px;padding:5px 0 5px 10px;color:#000}.dhx_cal_light_wide .dhx_cal_lsection{background-image:url(imgs_glossy/multi-days-bg.png)}.dhx_cal_ltext textarea{background-color:#fff;color:#000}.dhx_cal_light input,.dhx_cal_light select{color:#000}.dhx_cancel_btn,.dhx_delete_btn,.dhx_save_btn{background-image:url(imgs_glossy/controlls5.png)}div.dhx_menu_head{background-image:url(imgs_glossy/controlls5.png);border:1px solid #FFE4AB}div.dhx_menu_icon{background-image:url(imgs_glossy/controlls5.png);border:none}.dhx_section_time{height:20px!important;padding:7px 0!important;text-align:center;background:#fff}.dhx_year_month{background-image:url(imgs_glossy/top-days-bg.png);border:0}.dhx_year_week{background-image:url(imgs_glossy/top-days-bg.png)}.dhx_month_head{border-right:1px solid #A4BED4}.dhx_matrix_cell,.dhx_matrix_scell,.dhx_month_body{border-right:1px solid #A4BED4;border-bottom:1px solid #A4BED4}.dhx_year_body{border-left:1px solid #A4BED4}.dhx_scale_bar_last{border-right:none}.dhx_month_head.dhx_year_event{background-color:#FFE4AB}.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head a,.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a{color:#EFEDE2!important}.dhx_cal_lsection .dhx_readonly{color:#000}.dhx_year_tooltip{-moz-box-shadow:2px 2px 2px #888;-khtml-box-shadow:2px 2px 2px #888}.dhx_custom_button{margin-top:-2px}.dhx_cal_lsection.dhx_cal_checkbox{height:16px;line-height:18px}.dhx_cal_light_wide .dhx_cal_lsection.dhx_cal_checkbox{height:20px}.dhx_cal_light_wide .dhx_combo_box{width:602px!important;left:0}.dhx_cal_checkbox label{vertical-align:top}.dhx_cal_light_wide .dhx_cal_lsection{color:#000}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #A4BED4;background-image:url(imgs_glossy/multi-days-bg.png)}.dhx_cal_light_wide .dhx_cal_ltext{border-left:1px solid #A4BED4;background-color:#fff}.dhx_custom_button{background:#fff;color:#000}.dhx_form_repeat{background:#fff}.dhx_repeat_divider{border-left:1px solid #A4BED4}.dhx_cal_header.dhx_second_cal_header{background-image:url(imgs_glossy/second-top-days-bg.png);padding-right:20px}.dhx_cal_header div div{border-left:0}.dhx_scale_bar{padding-top:4px}.dhx_second_scale_bar{border-bottom:0;padding-top:4px}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection .dhx_fullday{color:#000;font-size:14px}.dhx_cal_light_wide .dhx_cal_lsection{font-size:14px;padding-right:10px}.dhx_month_body_border,.dhx_month_head_border,.dhx_scale_bar_border,.dhx_scale_hour_border{border-left:1px solid #A4BED4}.dhx_cal_navline .dhx_cal_export{width:18px;height:18px;margin:2px;cursor:pointer;top:1px}.dhx_cal_navline .dhx_cal_export.pdf{left:2px;background-image:url(imgs_glossy/export_pdf.png)}.dhx_cal_navline .dhx_cal_export.ical{left:24px;background-image:url(imgs_glossy/export_ical.png)} \ No newline at end of file
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.
diff --git a/codebase/locale/locale_ar.js b/codebase/locale/locale_ar.js
index 94b9032..4c73cb2 100644
--- a/codebase/locale/locale_ar.js
+++ b/codebase/locale/locale_ar.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/locale/locale_be.js b/codebase/locale/locale_be.js
index 70264d3..46dda4d 100644
--- a/codebase/locale/locale_be.js
+++ b/codebase/locale/locale_be.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/locale/locale_ca.js b/codebase/locale/locale_ca.js
index 16cf953..a62b913 100644
--- a/codebase/locale/locale_ca.js
+++ b/codebase/locale/locale_ca.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/locale/locale_cn.js b/codebase/locale/locale_cn.js
index 8d5d3cb..8c4e001 100644
--- a/codebase/locale/locale_cn.js
+++ b/codebase/locale/locale_cn.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/locale/locale_cs.js b/codebase/locale/locale_cs.js
index 79f1a2f..8fee204 100644
--- a/codebase/locale/locale_cs.js
+++ b/codebase/locale/locale_cs.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/locale/locale_da.js b/codebase/locale/locale_da.js
index ae34073..3a1ab02 100644
--- a/codebase/locale/locale_da.js
+++ b/codebase/locale/locale_da.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/locale/locale_de.js b/codebase/locale/locale_de.js
index 9fcee1f..037abfc 100644
--- a/codebase/locale/locale_de.js
+++ b/codebase/locale/locale_de.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/locale/locale_el.js b/codebase/locale/locale_el.js
index 1496ce6..9e7265a 100644
--- a/codebase/locale/locale_el.js
+++ b/codebase/locale/locale_el.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/locale/locale_en.js b/codebase/locale/locale_en.js
index 1bdf8b6..61529d9 100644
--- a/codebase/locale/locale_en.js
+++ b/codebase/locale/locale_en.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/locale/locale_es.js b/codebase/locale/locale_es.js
index 2113c8d..e1c3c8d 100644
--- a/codebase/locale/locale_es.js
+++ b/codebase/locale/locale_es.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/locale/locale_fi.js b/codebase/locale/locale_fi.js
index 1126f0b..0997f19 100644
--- a/codebase/locale/locale_fi.js
+++ b/codebase/locale/locale_fi.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/locale/locale_fr.js b/codebase/locale/locale_fr.js
index cca59bf..8c296a7 100644
--- a/codebase/locale/locale_fr.js
+++ b/codebase/locale/locale_fr.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/locale/locale_he.js b/codebase/locale/locale_he.js
index e6d6aaf..492eea6 100644
--- a/codebase/locale/locale_he.js
+++ b/codebase/locale/locale_he.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/locale/locale_hu.js b/codebase/locale/locale_hu.js
index c375147..addf0ef 100644
--- a/codebase/locale/locale_hu.js
+++ b/codebase/locale/locale_hu.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/locale/locale_id.js b/codebase/locale/locale_id.js
index de6e83f..735370b 100644
--- a/codebase/locale/locale_id.js
+++ b/codebase/locale/locale_id.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/locale/locale_it.js b/codebase/locale/locale_it.js
index 76e064b..5a38ab1 100644
--- a/codebase/locale/locale_it.js
+++ b/codebase/locale/locale_it.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.
@@ -37,7 +37,7 @@ scheduler.locale = {
button_edit_occurrence: "Modificare una copia",
/*agenda view extension*/
- agenda_tab: "Giorno",
+ agenda_tab: "Agenda",
date: "Data",
description: "Descrizione",
@@ -45,7 +45,7 @@ scheduler.locale = {
year_tab: "Anni",
/*week agenda view extension*/
- week_agenda_tab: "Giorno",
+ week_agenda_tab: "Agenda",
/*grid view extension*/
grid_tab: "Griglia",
diff --git a/codebase/locale/locale_jp.js b/codebase/locale/locale_jp.js
index db6b63c..5687233 100644
--- a/codebase/locale/locale_jp.js
+++ b/codebase/locale/locale_jp.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/locale/locale_nb.js b/codebase/locale/locale_nb.js
index bdafb66..9e1b94c 100644
--- a/codebase/locale/locale_nb.js
+++ b/codebase/locale/locale_nb.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/locale/locale_nl.js b/codebase/locale/locale_nl.js
index 6d0120c..a601e82 100644
--- a/codebase/locale/locale_nl.js
+++ b/codebase/locale/locale_nl.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/locale/locale_no.js b/codebase/locale/locale_no.js
index 82f0e69..237d923 100644
--- a/codebase/locale/locale_no.js
+++ b/codebase/locale/locale_no.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/locale/locale_pl.js b/codebase/locale/locale_pl.js
index 0603b60..ac4cd7c 100644
--- a/codebase/locale/locale_pl.js
+++ b/codebase/locale/locale_pl.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/locale/locale_pt.js b/codebase/locale/locale_pt.js
index 40aaca8..ea75172 100644
--- a/codebase/locale/locale_pt.js
+++ b/codebase/locale/locale_pt.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/locale/locale_ro.js b/codebase/locale/locale_ro.js
index ca5c58a..6666b04 100644
--- a/codebase/locale/locale_ro.js
+++ b/codebase/locale/locale_ro.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/locale/locale_ru.js b/codebase/locale/locale_ru.js
index 8bf9104..9e0947e 100644
--- a/codebase/locale/locale_ru.js
+++ b/codebase/locale/locale_ru.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/locale/locale_si.js b/codebase/locale/locale_si.js
index 25b266c..b82cff3 100644
--- a/codebase/locale/locale_si.js
+++ b/codebase/locale/locale_si.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/locale/locale_sk.js b/codebase/locale/locale_sk.js
index e501203..888e397 100644
--- a/codebase/locale/locale_sk.js
+++ b/codebase/locale/locale_sk.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/locale/locale_sv.js b/codebase/locale/locale_sv.js
index b96b849..d05e3fc 100644
--- a/codebase/locale/locale_sv.js
+++ b/codebase/locale/locale_sv.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/locale/locale_tr.js b/codebase/locale/locale_tr.js
index dc74952..9294a5f 100644
--- a/codebase/locale/locale_tr.js
+++ b/codebase/locale/locale_tr.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/locale/locale_ua.js b/codebase/locale/locale_ua.js
index 029228b..3c8c1ac 100644
--- a/codebase/locale/locale_ua.js
+++ b/codebase/locale/locale_ua.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/locale/recurring/locale_recurring_be.js b/codebase/locale/recurring/locale_recurring_be.js
index c01ba80..d60ff1f 100644
--- a/codebase/locale/recurring/locale_recurring_be.js
+++ b/codebase/locale/recurring/locale_recurring_be.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/locale/recurring/locale_recurring_cn.js b/codebase/locale/recurring/locale_recurring_cn.js
index 2178826..aad7285 100644
--- a/codebase/locale/recurring/locale_recurring_cn.js
+++ b/codebase/locale/recurring/locale_recurring_cn.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/locale/recurring/locale_recurring_cs.js b/codebase/locale/recurring/locale_recurring_cs.js
index e4fdff4..2df3583 100644
--- a/codebase/locale/recurring/locale_recurring_cs.js
+++ b/codebase/locale/recurring/locale_recurring_cs.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/locale/recurring/locale_recurring_da.js b/codebase/locale/recurring/locale_recurring_da.js
index edcaa58..a54141b 100644
--- a/codebase/locale/recurring/locale_recurring_da.js
+++ b/codebase/locale/recurring/locale_recurring_da.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/locale/recurring/locale_recurring_de.js b/codebase/locale/recurring/locale_recurring_de.js
index 5b68c46..70fff17 100644
--- a/codebase/locale/recurring/locale_recurring_de.js
+++ b/codebase/locale/recurring/locale_recurring_de.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/locale/recurring/locale_recurring_el.js b/codebase/locale/recurring/locale_recurring_el.js
index febce77..7cc6322 100644
--- a/codebase/locale/recurring/locale_recurring_el.js
+++ b/codebase/locale/recurring/locale_recurring_el.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/locale/recurring/locale_recurring_en.js b/codebase/locale/recurring/locale_recurring_en.js
index b0ec2e1..3c0c134 100644
--- a/codebase/locale/recurring/locale_recurring_en.js
+++ b/codebase/locale/recurring/locale_recurring_en.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/locale/recurring/locale_recurring_es.js b/codebase/locale/recurring/locale_recurring_es.js
index 0391156..109b851 100644
--- a/codebase/locale/recurring/locale_recurring_es.js
+++ b/codebase/locale/recurring/locale_recurring_es.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/locale/recurring/locale_recurring_fi.js b/codebase/locale/recurring/locale_recurring_fi.js
index c3573b1..ec7b076 100644
--- a/codebase/locale/recurring/locale_recurring_fi.js
+++ b/codebase/locale/recurring/locale_recurring_fi.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/locale/recurring/locale_recurring_fr.js b/codebase/locale/recurring/locale_recurring_fr.js
index 13d4c49..1f7711e 100644
--- a/codebase/locale/recurring/locale_recurring_fr.js
+++ b/codebase/locale/recurring/locale_recurring_fr.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/locale/recurring/locale_recurring_it.js b/codebase/locale/recurring/locale_recurring_it.js
index dd2c16f..c10cc4d 100644
--- a/codebase/locale/recurring/locale_recurring_it.js
+++ b/codebase/locale/recurring/locale_recurring_it.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/locale/recurring/locale_recurring_nb.js b/codebase/locale/recurring/locale_recurring_nb.js
index 456c92b..a658765 100644
--- a/codebase/locale/recurring/locale_recurring_nb.js
+++ b/codebase/locale/recurring/locale_recurring_nb.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/locale/recurring/locale_recurring_nl.js b/codebase/locale/recurring/locale_recurring_nl.js
index 79c4ea6..47c2887 100644
--- a/codebase/locale/recurring/locale_recurring_nl.js
+++ b/codebase/locale/recurring/locale_recurring_nl.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/locale/recurring/locale_recurring_pl.js b/codebase/locale/recurring/locale_recurring_pl.js
index 39ed419..126e3da 100644
--- a/codebase/locale/recurring/locale_recurring_pl.js
+++ b/codebase/locale/recurring/locale_recurring_pl.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/locale/recurring/locale_recurring_pt.js b/codebase/locale/recurring/locale_recurring_pt.js
index 2f6cb0f..5a5a9ff 100644
--- a/codebase/locale/recurring/locale_recurring_pt.js
+++ b/codebase/locale/recurring/locale_recurring_pt.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/locale/recurring/locale_recurring_ro.js b/codebase/locale/recurring/locale_recurring_ro.js
index f10bd1b..b11937d 100644
--- a/codebase/locale/recurring/locale_recurring_ro.js
+++ b/codebase/locale/recurring/locale_recurring_ro.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/locale/recurring/locale_recurring_ru.js b/codebase/locale/recurring/locale_recurring_ru.js
index 0232760..f54854c 100644
--- a/codebase/locale/recurring/locale_recurring_ru.js
+++ b/codebase/locale/recurring/locale_recurring_ru.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/locale/recurring/locale_recurring_sk.js b/codebase/locale/recurring/locale_recurring_sk.js
index 986de6b..8e9af19 100644
--- a/codebase/locale/recurring/locale_recurring_sk.js
+++ b/codebase/locale/recurring/locale_recurring_sk.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/locale/recurring/locale_recurring_sv.js b/codebase/locale/recurring/locale_recurring_sv.js
index c81d458..59e92aa 100644
--- a/codebase/locale/recurring/locale_recurring_sv.js
+++ b/codebase/locale/recurring/locale_recurring_sv.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/locale/recurring/locale_recurring_ua.js b/codebase/locale/recurring/locale_recurring_ua.js
index ce2db1d..f1c2750 100644
--- a/codebase/locale/recurring/locale_recurring_ua.js
+++ b/codebase/locale/recurring/locale_recurring_ua.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/sources/dhtmlxscheduler.js b/codebase/sources/dhtmlxscheduler.js
index d2f15fe..e103242 100644
--- a/codebase/sources/dhtmlxscheduler.js
+++ b/codebase/sources/dhtmlxscheduler.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.
*/
-window.dhtmlXScheduler = window.scheduler = { version: "4.2.0" };
+window.dhtmlXScheduler = window.scheduler = { version: "4.3.0" };
if (!window.dhtmlx) {
dhtmlx = function(obj){
@@ -834,12 +834,14 @@ function dhtmlXHeir(a, b){
return a;
}
-function dhtmlxEvent(el, event, handler){
- if (el.addEventListener)
- el.addEventListener(event, handler, false);
+if(typeof (window.dhtmlxEvent) == 'undefined'){
+ window.dhtmlxEvent = function dhtmlxEvent(el, event, handler){
+ if (el.addEventListener)
+ el.addEventListener(event, handler, false);
- else if (el.attachEvent)
- el.attachEvent("on"+event, handler);
+ else if (el.attachEvent)
+ el.attachEvent("on"+event, handler);
+ };
}
//============= XSL Extension ===================================
@@ -2129,7 +2131,9 @@ scheduler._click={
scheduler._click.buttons[mask.split(" ")[1].replace("icon_","")](id);
} else{
scheduler._close_not_saved();
- scheduler.unselect();
+ if (new Date().valueOf()-(scheduler._new_event||0) > 500){
+ scheduler.unselect();
+ }
}
},
dhx_cal_prev_button:function(){
@@ -2350,16 +2354,30 @@ scheduler._close_not_saved=function(){
scheduler._correct_shift=function(start, back){
return start-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(start)).getTimezoneOffset())*60000*(back?-1:1);
};
+
+scheduler._is_pos_changed = function(old_pos, new_pos){
+ function diff(old_val, new_val, acc){
+ return !!(Math.abs(old_val - new_val) > acc);
+ }
+
+ var delay = 100,
+ d_pos = 5;
+
+ // start drag only if passed some time since mouse down, or if mouse position changed sufficiently
+ return !!(!this._drag_pos.start || (+new Date() - this._drag_pos.start > delay) || diff(old_pos.x, new_pos.x, d_pos) || diff(old_pos.y, new_pos.y, d_pos));
+};
+
scheduler._on_mouse_move=function(e){
if (this._drag_mode){
var pos=this._mouse_coords(e);
- if (!this._drag_pos || pos.force_redraw || this._drag_pos.x!=pos.x || this._drag_pos.y!=pos.y ){
+ if (pos.force_redraw || this._is_pos_changed(this._drag_pos, pos)){
var start, end;
if (this._edit_id!=this._drag_id)
this._close_not_saved();
this._drag_pos=pos;
-
+ this._drag_pos.has_moved = true;
+
if (this._drag_mode=="create"){
this._close_not_saved();
this.unselect(this._select_id);
@@ -2474,7 +2492,7 @@ scheduler._on_mouse_move=function(e){
// fix event dates when resized to bottom of the column (day/week views)
if(!this._table_view &&
!scheduler.config.all_timed &&
- (pos.x != this._get_event_sday({start_date: new Date(end), end_date:new Date(end)}) || new Date(end).getHours() >= this.config.last_hour)){
+ ((!scheduler._get_section_view() && pos.x != this._get_event_sday({start_date: new Date(end), end_date:new Date(end)})) || new Date(end).getHours() >= this.config.last_hour)){
var duration = end - new_start;
var day = this._min_date.valueOf()+(pos.x*24*60)*60000;
end = scheduler.date.date_part(new Date(day));
@@ -2568,6 +2586,8 @@ scheduler._on_mouse_down=function(e,src) {
else {
this._drag_id= id;
this._drag_event = scheduler._lame_clone(this.getEvent(this._drag_id) || {});
+ this._drag_pos = this._mouse_coords(e);
+ this._drag_pos.start = +new Date();
}
}
this._drag_start=null;
@@ -2634,7 +2654,7 @@ scheduler._on_mouse_up=function(e){
}
}
}
- if (this._drag_pos) this.render_view_data(); //redraw even if there is no real changes - necessary for correct positioning item after drag
+ if (this._drag_pos && (this._drag_pos.has_moved || this._drag_pos === true)) this.render_view_data(); //redraw even if there is no real changes - necessary for correct positioning item after drag
scheduler.callEvent("onDragEnd", [drag_id, mode, e]);
}
this._drag_id = null;
@@ -2720,7 +2740,8 @@ scheduler.setCurrentView = function(date, mode) {
this.updateView(date, mode);
this.callEvent("onViewChange", [this._mode, this._date]);
};
-scheduler._render_x_header = function(i,left,d,h){
+scheduler._render_x_header = function(i,left,d,h, offset_top){
+ offset_top = offset_top || 0;
//header scale
var head=document.createElement("DIV");
head.className = "dhx_scale_bar";
@@ -2736,7 +2757,7 @@ scheduler._render_x_header = function(i,left,d,h){
head.className += " dhx_scale_bar_border";
left = left+1;
}
- this.set_xy(head, width, this.xy.scale_height-2, left, 0);//-1 for border
+ this.set_xy(head, width, this.xy.scale_height-2, left, offset_top);//-1 for border
head.innerHTML=this.templates[this._mode+"_scale_date"](d,this._mode); //TODO - move in separate method
h.appendChild(head);
};
@@ -2827,6 +2848,7 @@ scheduler._render_scales = function(header, data_area){
left+=this._cols[i];
d=this.date.add(d,1,"day");
+ d = this.date.day_start(d);
}
};
@@ -2945,6 +2967,8 @@ scheduler._process_ignores = function(sd, n, mode, step, preserve){
n++;
}
ign_date = scheduler.date.add(ign_date, step, mode);
+ if(scheduler.date[mode + '_start'])
+ ign_date = scheduler.date[mode + '_start'](ign_date);
}
}
};
@@ -3255,11 +3279,13 @@ scheduler.date={
t[s[i]]=i;
},
date_part:function(date){
+ var old = new Date(date);
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
- if (date.getHours() !== 0)
+ if (date.getHours() && //shift to yesterday on dst
+ (date.getDate() < old.getDate() || date.getMonth() < old.getMonth() || date.getFullYear() < old.getFullYear()) )
date.setTime(date.getTime() + 60 * 60 * 1000 * (24 - date.getHours()));
return date;
},
@@ -3289,8 +3315,9 @@ scheduler.date={
var ndate = new Date(date.valueOf());
ndate.setDate(ndate.getDate() + inc);
- if (!date.getHours() && ndate.getHours()) //shift to yesterday
- ndate.setTime(ndate.getTime() + 60 * 60 * 1000 * (24 - ndate.getHours()));
+ if ((!date.getHours() && ndate.getHours()) &&//shift to yesterday on dst
+ (ndate.getDate() < date.getDate() || ndate.getMonth() < date.getMonth() || ndate.getFullYear() < date.getFullYear()) )
+ ndate.setTime(ndate.getTime() + 60 * 60 * 1000 * (24 - ndate.getHours()));
return ndate;
},
add:function(date,inc,mode){
@@ -3740,9 +3767,10 @@ scheduler.is_visible_events = function(ev) {
var in_visible_range = (ev.start_date < this._max_date && this._min_date < ev.end_date);
if(in_visible_range){
+
//end dates are not between last/first hours
- var end_dates_visible = (ev.end_date.getHours() >= this.config.first_hour && ev.end_date.getHours() < this.config.last_hour) ||
- (ev.start_date.getHours() >= this.config.first_hour && ev.start_date.getHours() < this.config.last_hour);
+ var end_dates_visible = (this._table_view || ((ev.end_date.getHours() >= this.config.first_hour && ev.end_date.getHours() < this.config.last_hour) ||
+ (ev.start_date.getHours() >= this.config.first_hour && ev.start_date.getHours() < this.config.last_hour))) ;
if(end_dates_visible){
return true;
@@ -3911,6 +3939,17 @@ scheduler.render_data = function(evs, hold) {
}else
this.render_event(evs[i]);
};
+
+scheduler._get_first_visible_cell = function(cells) {
+ for (var i = 0; i < cells.length; i++) {
+ if ((cells[i].className || "").indexOf("dhx_scale_ignore") == -1) {
+ return cells[i];
+ }
+ }
+ // if no visible cell found, return cells[0] to be more tolerant, since it's the original logic
+ return cells[0];
+};
+
scheduler._pre_render_events = function(evs, hold) {
var hb = this.xy.bar_height;
var h_old = this._colsS.heights;
@@ -3930,10 +3969,11 @@ scheduler._pre_render_events = function(evs, hold) {
if (evl.rows) {
for (var i = 0; i < evl.rows.length; i++) {
h[i]++;
+ var cells = evl.rows[i].cells;
var cellHeight = this._colsS.height - this.xy.month_head_height;
if ((h[i]) * hb > cellHeight) { // 22 - height of cell's header
//we have overflow, update heights
- var cells = evl.rows[i].cells;
+
var cHeight = cellHeight;
if(this.config.max_month_events*1 !== this.config.max_month_events || h[i] <= this.config.max_month_events){
cHeight = h[i] * hb;
@@ -3944,9 +3984,10 @@ scheduler._pre_render_events = function(evs, hold) {
for (var j = 0; j < cells.length; j++) {
cells[j].childNodes[1].style.height = cHeight + "px";
}
- h[i] = (h[i - 1] || 0) + cells[0].offsetHeight;
+ // h[i] = (h[i - 1] || 0) + cells[0].offsetHeight;
}
- h[i] = (h[i - 1] || 0) + evl.rows[i].cells[0].offsetHeight;
+
+ h[i] = (h[i - 1] || 0) + scheduler._get_first_visible_cell(cells).offsetHeight;
}
h.unshift(0);
if (evl.parentNode.offsetHeight < evl.parentNode.scrollHeight && !scheduler._colsS.scroll_fix && scheduler.xy.scroll_width) {
@@ -5249,6 +5290,9 @@ scheduler.form_blocks={
if (+end_date == +start_date || (+end_date >= +start_date && (ev.end_date.getHours() !== 0 || ev.end_date.getMinutes() !== 0)))
end_date = scheduler.date.add(end_date, 1, "day");
+ }else{
+ start_date = null;
+ end_date = null;
}
s[map[0]].disabled=input.checked;
@@ -5304,6 +5348,15 @@ scheduler.form_blocks={
ev.start_date=new Date(s[map[3]].value,s[map[2]].value,s[map[1]].value,0,s[map[0]].value);
ev.end_date=new Date(s[map[3]+4].value,s[map[2]+4].value,s[map[1]+4].value,0,s[map[0]+4].value);
+ if(!(s[map[3]].value && s[map[3]+4].value)){
+ // use the previous date if start/end years are empty (outside lightbox range)
+ var original = this.getEvent(this._lightbox_id);
+ if(original){
+ ev.start_date = original.start_date;
+ ev.end_date = original.end_date;
+ }
+ }
+
if (ev.end_date<=ev.start_date)
ev.end_date=scheduler.date.add(ev.start_date,scheduler.config.time_step,"minute");
return {
@@ -5701,13 +5754,46 @@ scheduler._touch_events = function(names, accessor, ignore){
}
}
+ function doMouseMove(e){
+ var dnd = scheduler.getState().drag_mode,
+ timeline = scheduler.matrix ? scheduler.matrix[scheduler._mode] : false;
+
+ var original_render = scheduler.render_view_data;
+ if(dnd == 'create' && timeline){
+ //suppress full redraw of timeline on creating event
+ scheduler.render_view_data = function() {
+ var id = scheduler.getState().drag_id;
+ var ev = scheduler.getEvent(id);
+ var property = timeline.y_property;
+
+ var evs = scheduler.getEvents(ev.start_date, ev.end_date);
+ for(var i = 0; i < evs.length; i++){
+ if(evs[i][property] != ev[property]){
+ evs.splice(i, 1);
+ i--;
+ }
+ }
+ ev._sorder = evs.length - 1;
+ ev._count = evs.length;
+
+ this.render_data([ev], scheduler.getState().mode);
+
+ };
+ }
+
+ scheduler._on_mouse_move(e);
+
+ if(dnd == 'create' && timeline){
+ scheduler.render_view_data = original_render;
+ }
+ }
attachTouchEvent(document.body, names[0], function(e){
if (ignore(e)) return;
if (drag_mode){
- scheduler._on_mouse_move(accessor(e));
+ doMouseMove(accessor(e));
scheduler._update_global_tip();
- if (e.preventDefault)
+ if (e.preventDefault)
e.preventDefault();
e.cancelBubble = true;
return false;
@@ -6004,6 +6090,17 @@ scheduler._skin_init = function(){
this._configure(scheduler.config, scheduler._skin_settings, set);
this._configure(scheduler.xy, scheduler._skin_xy, set);
+ if (scheduler.skin === "flat"){
+ scheduler.xy.scale_height = 35;
+ scheduler.templates.hour_scale = function(date){
+ var min = date.getMinutes();
+ min = min < 10 ? "0"+min : min;
+ var html = "<span class='dhx_scale_h'>"+ date.getHours() +"</span>"+
+ "<span class='dhx_scale_m'>&nbsp;"+ min +"</span>";
+ return html;
+ };
+ }
+
//classic skin need not any further customization
if (set) return;
@@ -6082,16 +6179,6 @@ scheduler._skin_init = function(){
}
}
- if (scheduler.skin && scheduler.skin === "flat"){
- scheduler.xy.scale_height = 35;
- scheduler.templates.hour_scale = function(date){
- var min = date.getMinutes();
- min = min < 10 ? "0"+min : min;
- var html = "<span class='dhx_scale_h'>"+ date.getHours() +"</span>"+
- "<span class='dhx_scale_m'>&nbsp;"+ min +"</span>";
- return html;
- };
- }
});
scheduler._skin_init = function(){};
};
diff --git a/codebase/sources/dhtmlxscheduler.js.map b/codebase/sources/dhtmlxscheduler.js.map
index 433cc0c..b52159d 100644
--- a/codebase/sources/dhtmlxscheduler.js.map
+++ b/codebase/sources/dhtmlxscheduler.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler.js","sources":["dhtmlxscheduler.js"],"names":["dtmlXMLLoaderObject","funcObject","dhtmlObject","async","rSeed","this","xmlDoc","onloadAction","mainObject","waitCall","callerFunction","handler","e","window","event","getAbsoluteLeft","htmlObject","getOffset","left","getAbsoluteTop","top","getOffsetSum","elem","parseInt","offsetTop","offsetLeft","offsetParent","getOffsetRect","box","getBoundingClientRect","body","document","docElem","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","Math","round","convertStringToBoolean","inputString","toLowerCase","getUrlSymbol","str","indexOf","dhtmlDragAndDropObject","dhtmlDragAndDrop","lastLanding","dragNode","dragStartNode","dragStartObject","tempDOMU","tempDOMM","waitDrag","_dhtmlxError","catches","dhtmlXHeir","a","b","c","dhtmlxEvent","el","addEventListener","attachEvent","dataProcessor","serverProcessorURL","serverProcessor","action_param","object","updatedRows","autoUpdate","updateMode","_tMode","post_delim","_waitMode","_in_progress","_invalid","mandatoryFields","messages","styles","updated","inserted","deleted","invalid","invalid_cell","error","clear","enableUTFencoding","dhtmlxEventable","dhtmlXScheduler","scheduler","version","dhtmlx","obj","extend_api","name","map","ext","t","that","tagName","apply","_init","arguments","_patch","prototype","dhtmlxAjax","get","url","callback","length","loadXML","post","getSync","postSync","count","waitLoadFunction","once","check","readyState","call","getXMLTopNode","oldObj","z","responseXML","temp","getElementsByTagName","split","_retry","_isIE","loadXMLString","responseText","replace","dhtmlxError","throwError","createElement","xmlString","silent","ActiveXObject","onreadystatechange","parser","DOMParser","parseFromString","filePath","postMode","postVars","rpc","Date","valueOf","XMLHttpRequest","open","setRequestHeader","navigator","userAgent","send","destructor","_filterXPath","_getAllNamedChilds","doXPath","doXPathOpera","doXSLTransToObject","doXSLTransToString","doSerialization","xmlNodeToJSON","setXSLParamValue","node","i","attributes","value","firstChild","nodeValue","childNodes","push","removeDraggableItem","htmlNode","onmousedown","dragStarter","dragLanding","addDraggableItem","preCreateDragCopy","addDragLanding","button","onmouseup","onmousemove","stopDrag","callDrag","downtime","preventDefault","dragger","_createDragNode","onselectstart","gldragNode","appendChild","pWindow","initFrameRoute","parentNode","grd","old","removeChild","oldBody","_dragOut","div","innerHTML","outerHTML","cloneNode","style","clientX","fx","clientY","fy","srcElement","target","checkLanding","calculateFramePosition","n","parent","frames","frameElement","ls","_dragIn","lastLanding_scr","_onNotFound","mode","stopFrameRoute","_drag","win","_isFF","_FFrv","_isOpera","_isKHTML","_isMacOS","_isChrome","_KHTMLrv","_OperaRv","parseFloat","substr","appName","appVersion","compatMode","xpathExp","docObj","namespace","result_type","XPathResult","nodeName","setProperty","selectSingleNode","selectNodes","Array","nodeObj","ownerDocument","retType","ANY_TYPE","FIRST_ORDERED_NODE_TYPE","rowsCol","col","evaluate","singleNodeValue","thisColMemb","iterateNext","catchError","type","func_name","params","alert","getAttribute","toUpperCase","j","xslDoc","paramName","paramValue","item","result","transformNodeToObject","transformNode","XSLProcessor","XSLTProcessor","importStylesheet","transformToDocument","res","xml","xmlSerializer","XMLSerializer","serializeToString","catcher","callObj","eventCatcher","addEvent","callEvent","arg0","checkEvent","dhx_catch","zr","ev","eval","removeEvent","id","detachEvent","list","detachAllEvents","config","usercall","modality","_dhx_msg_cfg","modal_key","code","which","keyCode","message","keyboard","cancelBubble","cover","onkeydown","className","scrollHeight","display","text","css","button_css","info","area","position","hide","onclick","insertBefore","expire","timers","setTimeout","pull","_boxStructure","ok","cancel","setAttribute","inner","width","height","title","content","ok_text","locale","labels","message_ok","undefined","cancel_text","message_cancel","buttons","getElementById","source","_createBox","hidden","x","abs","floor","innerWidth","offsetWidth","y","innerHeight","offsetHeight","focus","modalbox","alertPopup","confirmPopup","boxPopup","box_params","uid","confirm","subtype","seed","hideAll","key","clearTimeout","setTransactionMode","total","_tSend","_endnm","escape","data","_utf","encodeURIComponent","setDataColumns","val","_columns","getSyncState","enableDataNames","enablePartialDataSend","_changed","setUpdateMode","dnd","ignore","master","_silent_mode","setUpdated","rowId","state","ind","findRow","existing","getUserData","set_invalid","setUserData","is_invalid","splice","_clearUpdateFlag","markRow","sendData","_methods","details","getState","toString","checkBeforeUpdate","mytype","_h2","editStop","sendAllData","_beforeSendData","_getRowData","_sendData","serialize","serialize_one","stack","keys","hasOwnProperty","join","security_key","pref","a1","a2","d","ids","afterUpdate","a3","_user","valid","_getAllData","out","has_one","setVerificator","verifFunction","clearVerificator","pattern","defineAction","_uActions","afterUpdateCallback","sid","tid","action","btag","marker","correct","soid","JSON","tag","parse","finalizeUpdate","cleanUpdate","atag","init","anObj","_dp_init","setOnAfterUpdate","enableDebug","setOnBeforeUpdateHandler","func","setAutoUpdate","interval","user","_need_update","_loader","_update_busy","xml_node","afterAutoUpdate","fullSync","self","setInterval","loadUpdate","getUpdates","_v","_a","arr","vers","upds","status","init_original","_dataprocessor","ajax_error","console","log","_detachDomEvent","removeEventListener","_init_once","getWindowSize","w","clientWidth","h","clientHeight","equals","oldSize","newSize","_resize_timer","update_view","date","_currentDate","_obj","unset_actions","_skin_init","_els","_scroll","_quirks","_quirks7","get_elements","init_templates","set_actions","_init_touch_events","set_sizes","setCurrentView","xy","min_event_height","scale_width","scroll_width","scale_height","month_scale_height","menu_width","margin_top","margin_left","editor_width","month_head_height","edit_save","edit_cancel","_x","_y","scale_x","_table_view","scale_s","set_xy","nav_height","actual_height","data_y","max","els","class_name","attr_value","label","_click","ondblclick","oncontextmenu","_temp_touch_block","_on_mouse_move","_ignore_next_click","_on_mouse_down","_on_mouse_up","_on_dbl_click","src","returnValue","_locate_event","select","_select_id","_close_not_saved","unselect","updateEvent","getEvent","_mode","_date","min_date","_min_date","max_date","_max_date","editor_id","_edit_id","lightbox_id","_lightbox_id","new_event","_new_event","select_id","expanded","drag_id","_drag_id","drag_mode","_drag_mode","dhx_cal_data","trg","readonly","getActionData","mask","dhx_cal_prev_button","dhx_cal_next_button","dummy","step","add","dhx_cal_today_button","dhx_cal_tab","substring","search","delete","confirm_deleting","_dhtmlx_confirm","title_confirm_deleting","deleteEvent","edit","save","showLightbox","opts","addEventNow","start","end","base","constructor","match","event_duration","time_step","start_date","start_hour","first_hour","getHours","setHours","end_date","setTime","_loading","_drag_event","dblclick_create","details_on_dblclick","_timed","_get_column_index","x_pos","column","_cols","_ignores","_week_indexes_from_pos","pos","min","ceil","hour_size_px","_mouse_coords","pageX","pageY","_dy_shift","_colsS","dy","heights","_ignores_detected","preserve_length","_event_length","_get_real_event_length","x_step","x_unit","confirm_closing","title_confirm_closing","positive_closing","_correct_shift","back","getTimezoneOffset","_drag_pos","force_redraw","_get_date_from_pos","_drag_start","getMinutes","fields","_move_pos_shift","custom","time_part","matrix","_get_fictional_event_length","resize_date","_drag_from_start","day","date_part","resize_from_start","cursor","shift","new_end","new_start","limit_drag_out","duration","all_timed","_get_event_sday","last_hour","getDate","_allow_dnd","update_render","sx","for_rendered","r","classname","_lame_clone","_get_private_properties","_clear_temporary_properties","clean","flagged_event","initial","current_state","touch","_dhx_changed","is_new","edit_on_create","details_on_create","_lame_copy","render_view_data","_trigger_dyn_loading","_load_mode","_load","_render_wait","view","_reset_scale","isViewExists","templates","updateView","prev_scroll","preserve_scroll","dhx_multi_day","tabs","_render_x_header","head","left_border","_get_columns_num","from","to","count_n","_get_timeunit_start","_get_view_end","dd","ed","_calc_scale_sizes","summ","_process_ignores","realcount","_set_scale_col_size","_render_scales","header","data_area","sd","today","scales","cls","week_date_class","drag_resize","drag_move","_scales","week_start","_reset_month_scale","_reset_hours_scale","multi_day","navline","c1","visibility","col_length","c2","cc","hour_scale","scroll_hour","now_date","preserve","ign_date","_render_month_scale","getCellHeight","row","view_start","cd","rows","tdcss","cell_width","cellheight","html","rendered_dates","row_height","month_date_class","body_class","head_class","month_day","bf1","getFullYear","getMonth","divs","getLabel","property","sections","lightbox","map_to","options","updateCollection","list_name","collection","serverList","resetLightbox","cache","Number","String","Boolean","Object","n_ev","section","_focus","fd","end_slot","ev_length","hours","_start_correction","_end_correction","start_slot","render","_get_date_index","dir","per_day","days","_get_section_view","_props","_get_section_property","y_property","_is_initialized","_is_lightbox_open","s","month_short","month_short_hash","month_full","month_full_hash","setMinutes","setSeconds","setMilliseconds","getTime","getDay","start_on_monday","month_start","setDate","year_start","setMonth","day_start","_add_days","inc","ndate","setYear","to_fixed","num","copy","date_to_str","format","utc","Function","str_to_date","splt","getISOWeek","nday","first_thursday","year_number","ordinal_date","week_number","getUTCISOWeek","convert_to_utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","day_full","day_short","day_tab","week_tab","month_tab","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","section_description","section_time","full_day","confirm_recurring","section_recurring","button_recurring","button_recurring_open","button_edit_series","button_edit_occurrence","agenda_tab","description","year_tab","week_agenda_tab","grid_tab","drag_to_create","drag_to_move","default_date","month_date","load_date","week_date","day_date","hour_date","xml_date","api_date","drag_create","resize_month_events","resize_month_timed","cascade_event_display","cascade_event_count","cascade_event_margin","multi_day_height_limit","drag_lightbox","server_utc","touch_tip","touch_drag","quick_info_detached","drag_highlight","icons_edit","icons_select","buttons_left","buttons_right","highlight_displayed_event","delay_render","dhx_save_btn","dhx_cancel_btn","dhx_delete_btn","f","d1","d2","day_scale_date","month_scale_date","week_scale_date","time_picker","event_date","load_format","xml_format","event_header","event_text","event_class","event_bar_date","event_bar_text","month_events_link","drag_marker_class","drag_marker_content","_seed","_events","clearAll","_loaded","clear_view","extra_data","isOneDayEvent","event_updated","setEvent","hash","method","_rendered","changeEventId","new_id","attrs","create_getter","create_setter","is_visible_events","clear_event","in_visible_range","end_dates_visible","hidden_duration","delta","get_visible_events","only_timed","filter_event","filter","_is_main_area_event","evs","hold","_not_render","len","_recalculate_timed","tvs","tvd","_rendered_location","render_data","_view_month_day","_render_month_link","toRender","_sday","_eday","curr","_sweek","getEvents","_get_event_bar_pos","widt","x2","_pre_render_events","render_event_bar","max_evs","max_month_events","_sorder","render_event","hb","bar_height","h_old","_pre_render_events_table","_pre_render_events_line","evl","cellHeight","cells","cHeight","unshift","scroll_fix","scale_settings","sum_width","row_heights","slice","full_multi_day_height","used_multi_day_height","used_multi_day_height_css","multi_day_section","multi_day_icon","overflowY","_get_event_mapped_end_date","separate_short_events","ev_duration","_min_mapped_duration","sort","evs_originals","sh","eh","_inner","t_ev","t_end_date","slot_index","sorderSet","_is_sorder","k","_max_sorder","max_count","_count","_copy_event","_time_order","weeks","cols","chunks_info","first_chunk","last_chunk","chunk_info","locate_s","locate_holder_day","locate_e","_length","stack_line","_first_chunk","_last_chunk","_copy_dummy","_y_from_date","sm","_calc_event_y","min_height","em","menu","menu_offset","locate_holder","pos_y","ev_count","ev_sorder","limit","margin","right","_render_v_bar","_text_style","zIndex","tplClass","cssText","_editor","shiftKey","icons","icons_str","bg_color","color","textColor","highlightEventPosition","contentA","contentB","bottom","cs","cse","container","renderEvent","inner_html","footer_class","past","_get_dnd_order","order","ev_height","max_height","_orig_sorder","evTop","y_event_offset","resize_handle","resizable","left_chunk","right_chunk","resize_left","resize_right","style_text","_edit_stop_event","getRenderedEvent","rendered_events","rendered_event","showEvent","original_color","original_text_color","displayed_event_color","displayed_event_text_color","_append_drag_marker","m","zone","scale","lastChild","previousSibling","_update_marker_position","size","_load_url","prevent_cache","lf","cache_line","temp_to","l","on_load","loader","_process","_magic_parser","_process_loading","_after_call","_init_event","_tagvalue","_init_date","json","_temp","dhx_security","collections","collections_loaded","option","option_key","load","setLoadMode","array","_userdata","xml_string","skey","bind","itms","itm","attr","ud","udx","_xmlNodeToJSON","child","nodeType","show_loading","ical","RegExp","c_start","c_end","incoming","event_r","e_start","e_end","exec","param","param_r","parse_param","parse_date","dh","dm","dn","UTC","_lightbox_controls","formSection","_lightbox","getLightbox","nextSibling","getValue","form_blocks","get_value","setValue","set_value","get_template_control","control","get_select_control","get_textarea_control","get_time_control","template","sns","textarea","_dhx_onchange","onchange","time","time_format","_time_format_order","cfg","dt","last","first","limit_time_select","p","time_option","year","tdate","_time_values","diff","_fill_lightbox_select","time_values","direct_value","fixed_value","value_found","t_v","selectedIndex","_full_day","wide_form","input","checked","disabled","auto_end_date","_update_lightbox_select","showCover","scroll_top","scroll_left","view_height","scrollWidth","show_cover","_fill_lightbox","lightbox_header","current_sns","block","default_value","_lightbox_out","_empty_lightbox","hide_lightbox","hideCover","hide_cover","_cover","_document_height","_scroll_height","save_lightbox","startLightbox","_custom_lightbox","_temp_lightbox","endLightbox","cancel_lightbox","_init_lightbox_events","index","sec","button_click","setLightboxSize","con","lightbox_additional_height","_init_dnd_events","_move_while_dnd","_finish_dnd","_dnd_start_lb","dhx_unselectable","lb","now","_lb_start","_ready_to_dnd","recurring","test","_lightbox_template","label_name","ds","t_ds","old_id","msPointerEnabled","_touch_events","pointerType","MSPOINTER_TYPE_MOUSE","touches","names","accessor","attachTouchEvent","element","check_direction_swipe","s_ev","e_ev","dx","drag_cancel","_hide_global_tip","timer","action_mode","scroll_mode","tracker","a_webkit","dblclicktime","_update_global_tip","fake_event","_block_next_stop","_show_global_tip","toptip","_global_tip","dp","_dp_hook_delete","_validId","_update_callback","upd","_set_event_text_style","_skin_settings","fix_tab_position","use_select_menu_space","_skin_xy","_configure","skin","links","href","set","minic","minicalendar","padding","_old_month_day","old_month_day","navline_divs","minical","jQuery","$","methods","fn","dhx_scheduler","views","each","updateFlags","update_view_timer","curr_view_timer","lazy_setCurrentView","lazy_updateView","ars"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler.js","sources":["dhtmlxscheduler.js"],"names":["dtmlXMLLoaderObject","funcObject","dhtmlObject","async","rSeed","this","xmlDoc","onloadAction","mainObject","waitCall","callerFunction","handler","e","window","event","getAbsoluteLeft","htmlObject","getOffset","left","getAbsoluteTop","top","getOffsetSum","elem","parseInt","offsetTop","offsetLeft","offsetParent","getOffsetRect","box","getBoundingClientRect","body","document","docElem","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","Math","round","convertStringToBoolean","inputString","toLowerCase","getUrlSymbol","str","indexOf","dhtmlDragAndDropObject","dhtmlDragAndDrop","lastLanding","dragNode","dragStartNode","dragStartObject","tempDOMU","tempDOMM","waitDrag","_dhtmlxError","catches","dhtmlXHeir","a","b","c","dataProcessor","serverProcessorURL","serverProcessor","action_param","object","updatedRows","autoUpdate","updateMode","_tMode","post_delim","_waitMode","_in_progress","_invalid","mandatoryFields","messages","styles","updated","inserted","deleted","invalid","invalid_cell","error","clear","enableUTFencoding","dhtmlxEventable","dhtmlXScheduler","scheduler","version","dhtmlx","obj","extend_api","name","map","ext","t","that","tagName","apply","_init","arguments","attachEvent","_patch","prototype","dhtmlxAjax","get","url","callback","length","loadXML","post","getSync","postSync","count","waitLoadFunction","once","check","readyState","call","getXMLTopNode","oldObj","z","responseXML","temp","getElementsByTagName","split","_retry","_isIE","loadXMLString","responseText","replace","dhtmlxError","throwError","createElement","xmlString","silent","ActiveXObject","onreadystatechange","parser","DOMParser","parseFromString","filePath","postMode","postVars","rpc","Date","valueOf","XMLHttpRequest","open","setRequestHeader","navigator","userAgent","send","destructor","_filterXPath","_getAllNamedChilds","doXPath","doXPathOpera","doXSLTransToObject","doXSLTransToString","doSerialization","xmlNodeToJSON","setXSLParamValue","node","i","attributes","value","firstChild","nodeValue","childNodes","push","removeDraggableItem","htmlNode","onmousedown","dragStarter","dragLanding","addDraggableItem","preCreateDragCopy","addDragLanding","button","onmouseup","onmousemove","stopDrag","callDrag","downtime","preventDefault","dragger","_createDragNode","onselectstart","gldragNode","appendChild","pWindow","initFrameRoute","parentNode","grd","old","removeChild","oldBody","_dragOut","div","innerHTML","outerHTML","cloneNode","style","clientX","fx","clientY","fy","srcElement","target","checkLanding","calculateFramePosition","n","el","parent","frames","frameElement","ls","_dragIn","lastLanding_scr","_onNotFound","mode","stopFrameRoute","_drag","win","_isFF","_FFrv","_isOpera","_isKHTML","_isMacOS","_isChrome","_KHTMLrv","_OperaRv","parseFloat","substr","appName","appVersion","compatMode","xpathExp","docObj","namespace","result_type","XPathResult","nodeName","setProperty","selectSingleNode","selectNodes","Array","nodeObj","ownerDocument","retType","ANY_TYPE","FIRST_ORDERED_NODE_TYPE","rowsCol","col","evaluate","singleNodeValue","thisColMemb","iterateNext","catchError","type","func_name","params","alert","getAttribute","toUpperCase","j","dhtmlxEvent","addEventListener","xslDoc","paramName","paramValue","item","result","transformNodeToObject","transformNode","XSLProcessor","XSLTProcessor","importStylesheet","transformToDocument","res","xml","xmlSerializer","XMLSerializer","serializeToString","catcher","callObj","eventCatcher","addEvent","callEvent","arg0","checkEvent","dhx_catch","zr","ev","eval","removeEvent","id","detachEvent","list","detachAllEvents","config","usercall","modality","_dhx_msg_cfg","modal_key","code","which","keyCode","message","keyboard","cancelBubble","cover","onkeydown","className","scrollHeight","display","text","css","button_css","info","area","position","hide","onclick","insertBefore","expire","timers","setTimeout","pull","_boxStructure","ok","cancel","setAttribute","inner","width","height","title","content","ok_text","locale","labels","message_ok","undefined","cancel_text","message_cancel","buttons","getElementById","source","_createBox","hidden","x","abs","floor","innerWidth","offsetWidth","y","innerHeight","offsetHeight","focus","modalbox","alertPopup","confirmPopup","boxPopup","box_params","uid","confirm","subtype","seed","hideAll","key","clearTimeout","setTransactionMode","total","_tSend","_endnm","escape","data","_utf","encodeURIComponent","setDataColumns","val","_columns","getSyncState","enableDataNames","enablePartialDataSend","_changed","setUpdateMode","dnd","ignore","master","_silent_mode","setUpdated","rowId","state","ind","findRow","existing","getUserData","set_invalid","setUserData","is_invalid","splice","_clearUpdateFlag","markRow","sendData","_methods","details","getState","toString","checkBeforeUpdate","mytype","_h2","editStop","sendAllData","_beforeSendData","_getRowData","_sendData","serialize","serialize_one","stack","keys","hasOwnProperty","join","security_key","pref","a1","a2","d","ids","afterUpdate","a3","_user","valid","_getAllData","out","has_one","setVerificator","verifFunction","clearVerificator","pattern","defineAction","_uActions","afterUpdateCallback","sid","tid","action","btag","marker","correct","soid","JSON","tag","parse","finalizeUpdate","cleanUpdate","atag","init","anObj","_dp_init","setOnAfterUpdate","enableDebug","setOnBeforeUpdateHandler","func","setAutoUpdate","interval","user","_need_update","_loader","_update_busy","xml_node","afterAutoUpdate","fullSync","self","setInterval","loadUpdate","getUpdates","_v","_a","arr","vers","upds","status","init_original","_dataprocessor","ajax_error","console","log","_detachDomEvent","removeEventListener","_init_once","getWindowSize","w","clientWidth","h","clientHeight","equals","oldSize","newSize","_resize_timer","update_view","date","_currentDate","_obj","unset_actions","_skin_init","_els","_scroll","_quirks","_quirks7","get_elements","init_templates","set_actions","_init_touch_events","set_sizes","setCurrentView","xy","min_event_height","scale_width","scroll_width","scale_height","month_scale_height","menu_width","margin_top","margin_left","editor_width","month_head_height","edit_save","edit_cancel","_x","_y","scale_x","_table_view","scale_s","set_xy","nav_height","actual_height","data_y","max","els","class_name","attr_value","label","_click","ondblclick","oncontextmenu","_temp_touch_block","_on_mouse_move","_ignore_next_click","_on_mouse_down","_on_mouse_up","_on_dbl_click","src","returnValue","_locate_event","select","_select_id","_close_not_saved","unselect","updateEvent","getEvent","_mode","_date","min_date","_min_date","max_date","_max_date","editor_id","_edit_id","lightbox_id","_lightbox_id","new_event","_new_event","select_id","expanded","drag_id","_drag_id","drag_mode","_drag_mode","dhx_cal_data","trg","readonly","getActionData","mask","dhx_cal_prev_button","dhx_cal_next_button","dummy","step","add","dhx_cal_today_button","dhx_cal_tab","substring","search","delete","confirm_deleting","_dhtmlx_confirm","title_confirm_deleting","deleteEvent","edit","save","showLightbox","opts","addEventNow","start","end","base","constructor","match","event_duration","time_step","start_date","start_hour","first_hour","getHours","setHours","end_date","setTime","_loading","_drag_event","dblclick_create","details_on_dblclick","_timed","_get_column_index","x_pos","column","_cols","_ignores","_week_indexes_from_pos","pos","min","ceil","hour_size_px","_mouse_coords","pageX","pageY","_dy_shift","_colsS","dy","heights","_ignores_detected","preserve_length","_event_length","_get_real_event_length","x_step","x_unit","confirm_closing","title_confirm_closing","positive_closing","_correct_shift","back","getTimezoneOffset","_is_pos_changed","old_pos","new_pos","diff","old_val","new_val","acc","delay","d_pos","_drag_pos","force_redraw","has_moved","_get_date_from_pos","_drag_start","getMinutes","fields","_move_pos_shift","custom","time_part","matrix","_get_fictional_event_length","resize_date","_drag_from_start","day","date_part","resize_from_start","cursor","shift","new_end","new_start","limit_drag_out","duration","all_timed","_get_section_view","_get_event_sday","last_hour","getDate","_allow_dnd","update_render","sx","for_rendered","r","classname","_lame_clone","_get_private_properties","_clear_temporary_properties","clean","flagged_event","initial","current_state","touch","_dhx_changed","is_new","edit_on_create","details_on_create","_lame_copy","render_view_data","_trigger_dyn_loading","_load_mode","_load","_render_wait","view","_reset_scale","isViewExists","templates","updateView","prev_scroll","preserve_scroll","dhx_multi_day","tabs","_render_x_header","offset_top","head","left_border","_get_columns_num","from","to","count_n","_get_timeunit_start","_get_view_end","dd","ed","_calc_scale_sizes","summ","_process_ignores","realcount","_set_scale_col_size","_render_scales","header","data_area","sd","today","scales","cls","week_date_class","day_start","drag_resize","drag_move","_scales","week_start","_reset_month_scale","_reset_hours_scale","multi_day","navline","c1","visibility","col_length","c2","cc","hour_scale","scroll_hour","now_date","preserve","ign_date","_render_month_scale","getCellHeight","row","view_start","cd","rows","tdcss","cell_width","cellheight","html","rendered_dates","row_height","month_date_class","body_class","head_class","month_day","bf1","getFullYear","getMonth","divs","getLabel","property","sections","lightbox","map_to","options","updateCollection","list_name","collection","serverList","resetLightbox","cache","Number","String","Boolean","Object","n_ev","section","_focus","fd","end_slot","ev_length","hours","_start_correction","_end_correction","start_slot","render","_get_date_index","dir","per_day","days","_props","_get_section_property","y_property","_is_initialized","_is_lightbox_open","s","month_short","month_short_hash","month_full","month_full_hash","setMinutes","setSeconds","setMilliseconds","getTime","getDay","start_on_monday","month_start","setDate","year_start","setMonth","_add_days","inc","ndate","setYear","to_fixed","num","copy","date_to_str","format","utc","Function","str_to_date","splt","getISOWeek","nday","first_thursday","year_number","ordinal_date","week_number","getUTCISOWeek","convert_to_utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","day_full","day_short","day_tab","week_tab","month_tab","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","section_description","section_time","full_day","confirm_recurring","section_recurring","button_recurring","button_recurring_open","button_edit_series","button_edit_occurrence","agenda_tab","description","year_tab","week_agenda_tab","grid_tab","drag_to_create","drag_to_move","default_date","month_date","load_date","week_date","day_date","hour_date","xml_date","api_date","drag_create","resize_month_events","resize_month_timed","cascade_event_display","cascade_event_count","cascade_event_margin","multi_day_height_limit","drag_lightbox","server_utc","touch_tip","touch_drag","quick_info_detached","drag_highlight","icons_edit","icons_select","buttons_left","buttons_right","highlight_displayed_event","delay_render","dhx_save_btn","dhx_cancel_btn","dhx_delete_btn","f","d1","d2","day_scale_date","month_scale_date","week_scale_date","time_picker","event_date","load_format","xml_format","event_header","event_text","event_class","event_bar_date","event_bar_text","month_events_link","drag_marker_class","drag_marker_content","_seed","_events","clearAll","_loaded","clear_view","extra_data","isOneDayEvent","event_updated","setEvent","hash","method","_rendered","changeEventId","new_id","attrs","create_getter","create_setter","is_visible_events","clear_event","in_visible_range","end_dates_visible","hidden_duration","delta","get_visible_events","only_timed","filter_event","filter","_is_main_area_event","evs","hold","_not_render","len","_recalculate_timed","tvs","tvd","_rendered_location","render_data","_view_month_day","_render_month_link","toRender","_sday","_eday","curr","_sweek","getEvents","_get_event_bar_pos","widt","x2","_pre_render_events","render_event_bar","max_evs","max_month_events","_sorder","render_event","_get_first_visible_cell","cells","hb","bar_height","h_old","_pre_render_events_table","_pre_render_events_line","evl","cellHeight","cHeight","unshift","scroll_fix","scale_settings","sum_width","row_heights","slice","full_multi_day_height","used_multi_day_height","used_multi_day_height_css","multi_day_section","multi_day_icon","overflowY","_get_event_mapped_end_date","separate_short_events","ev_duration","_min_mapped_duration","sort","evs_originals","sh","eh","_inner","t_ev","t_end_date","slot_index","sorderSet","_is_sorder","k","_max_sorder","max_count","_count","_copy_event","_time_order","weeks","cols","chunks_info","first_chunk","last_chunk","chunk_info","locate_s","locate_holder_day","locate_e","_length","stack_line","_first_chunk","_last_chunk","_copy_dummy","_y_from_date","sm","_calc_event_y","min_height","em","menu","menu_offset","locate_holder","pos_y","ev_count","ev_sorder","limit","margin","right","_render_v_bar","_text_style","zIndex","tplClass","cssText","_editor","shiftKey","icons","icons_str","bg_color","color","textColor","highlightEventPosition","contentA","contentB","bottom","cs","cse","container","renderEvent","inner_html","footer_class","past","_get_dnd_order","order","ev_height","max_height","_orig_sorder","evTop","y_event_offset","resize_handle","resizable","left_chunk","right_chunk","resize_left","resize_right","style_text","_edit_stop_event","getRenderedEvent","rendered_events","rendered_event","showEvent","original_color","original_text_color","displayed_event_color","displayed_event_text_color","_append_drag_marker","m","zone","scale","lastChild","previousSibling","_update_marker_position","size","_load_url","prevent_cache","lf","cache_line","temp_to","l","on_load","loader","_process","_magic_parser","_process_loading","_after_call","_init_event","_tagvalue","_init_date","json","_temp","dhx_security","collections","collections_loaded","option","option_key","load","setLoadMode","array","_userdata","xml_string","skey","bind","itms","itm","attr","ud","udx","_xmlNodeToJSON","child","nodeType","show_loading","ical","RegExp","c_start","c_end","incoming","event_r","e_start","e_end","exec","param","param_r","parse_param","parse_date","dh","dm","dn","UTC","_lightbox_controls","formSection","_lightbox","getLightbox","nextSibling","getValue","form_blocks","get_value","setValue","set_value","get_template_control","control","get_select_control","get_textarea_control","get_time_control","template","sns","textarea","_dhx_onchange","onchange","time","time_format","_time_format_order","cfg","dt","last","first","limit_time_select","p","time_option","year","tdate","_time_values","_fill_lightbox_select","time_values","direct_value","fixed_value","value_found","t_v","selectedIndex","_full_day","wide_form","input","checked","disabled","auto_end_date","_update_lightbox_select","original","showCover","scroll_top","scroll_left","view_height","scrollWidth","show_cover","_fill_lightbox","lightbox_header","current_sns","block","default_value","_lightbox_out","_empty_lightbox","hide_lightbox","hideCover","hide_cover","_cover","_document_height","_scroll_height","save_lightbox","startLightbox","_custom_lightbox","_temp_lightbox","endLightbox","cancel_lightbox","_init_lightbox_events","index","sec","button_click","setLightboxSize","con","lightbox_additional_height","_init_dnd_events","_move_while_dnd","_finish_dnd","_dnd_start_lb","dhx_unselectable","lb","now","_lb_start","_ready_to_dnd","recurring","test","_lightbox_template","label_name","ds","t_ds","old_id","msPointerEnabled","_touch_events","pointerType","MSPOINTER_TYPE_MOUSE","touches","names","accessor","attachTouchEvent","element","check_direction_swipe","s_ev","e_ev","dx","doMouseMove","timeline","original_render","drag_cancel","_hide_global_tip","timer","action_mode","scroll_mode","tracker","a_webkit","dblclicktime","_update_global_tip","fake_event","_block_next_stop","_show_global_tip","toptip","_global_tip","dp","_dp_hook_delete","_validId","_update_callback","upd","_set_event_text_style","_skin_settings","fix_tab_position","use_select_menu_space","_skin_xy","_configure","skin","links","href","set","minic","minicalendar","padding","_old_month_day","old_month_day","navline_divs","minical","jQuery","$","methods","fn","dhx_scheduler","views","each","updateFlags","update_view_timer","curr_view_timer","lazy_setCurrentView","lazy_updateView","ars"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_active_links.js b/codebase/sources/ext/dhtmlxscheduler_active_links.js
index 619fcd5..bf4dc00 100644
--- a/codebase/sources/ext/dhtmlxscheduler_active_links.js
+++ b/codebase/sources/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/sources/ext/dhtmlxscheduler_agenda_view.js b/codebase/sources/ext/dhtmlxscheduler_agenda_view.js
index 8b7a2ac..a049c90 100644
--- a/codebase/sources/ext/dhtmlxscheduler_agenda_view.js
+++ b/codebase/sources/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/sources/ext/dhtmlxscheduler_all_timed.js b/codebase/sources/ext/dhtmlxscheduler_all_timed.js
index c257907..2e545af 100644
--- a/codebase/sources/ext/dhtmlxscheduler_all_timed.js
+++ b/codebase/sources/ext/dhtmlxscheduler_all_timed.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/sources/ext/dhtmlxscheduler_collision.js b/codebase/sources/ext/dhtmlxscheduler_collision.js
index 1614306..6cbecbc 100644
--- a/codebase/sources/ext/dhtmlxscheduler_collision.js
+++ b/codebase/sources/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/sources/ext/dhtmlxscheduler_container_autoresize.js b/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js
index c99eeaf..154f1bc 100644
--- a/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js
+++ b/codebase/sources/ext/dhtmlxscheduler_container_autoresize.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.
@@ -12,8 +12,11 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
var old_pre_render_event = scheduler._pre_render_events;
+ //need for temporary disabling without modifying public config
+ var active = true;
+
scheduler._pre_render_events = function(evs, hold) {
- if (!scheduler.config.container_autoresize) {
+ if (!(scheduler.config.container_autoresize && active)) {
return old_pre_render_event.apply(this, arguments);
}
@@ -142,6 +145,9 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
};
var conditionalUpdateContainerHeight = function() {
+ if(!(scheduler.config.container_autoresize && active))
+ return true;
+
var mode = scheduler.getState().mode;
updateContainterHeight();
@@ -161,4 +167,14 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
scheduler.attachEvent("onAfterSchedulerResize", conditionalUpdateContainerHeight);
scheduler.attachEvent("onClearAll", conditionalUpdateContainerHeight);
+ //disable container autoresize when expanded
+ scheduler.attachEvent("onBeforeExpand", function(){
+ active = false;
+ return true;
+ });
+
+ scheduler.attachEvent("onBeforeCollapse", function(){
+ active = true;
+ return true;
+ });
})(); \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js.map b/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js.map
index 189786c..89646b6 100644
--- a/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_container_autoresize.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_container_autoresize.js","sources":["dhtmlxscheduler_container_autoresize.js"],"names":["scheduler","config","container_autoresize","month_day_min_height","old_pre_render_event","_pre_render_events","evs","hold","apply","this","arguments","hb","xy","bar_height","h_old","_colsS","heights","h","data","_els","_table_view","_pre_render_events_table","_pre_render_events_line","evl","firstChild","rows","i","length","height","month_head_height","cells","cHeight","max_month_events","j","childNodes","style","offsetHeight","unshift","parentNode","scrollHeight","_h_fix","visibility","dh","top","parseInt","_obj","margin_top","last","className","_dy_shift","checked_divs","updateContainterHeight","is_repaint","total_height","checked_div","Math","max","mode","getState","rows_length","getElementsByTagName","matrix","cfg","y_unit","r","children","folder_dy","dy","updateView","conditionalUpdateContainerHeight","window","setTimeout","attachEvent"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_container_autoresize.js","sources":["dhtmlxscheduler_container_autoresize.js"],"names":["scheduler","config","container_autoresize","month_day_min_height","old_pre_render_event","_pre_render_events","active","evs","hold","apply","this","arguments","hb","xy","bar_height","h_old","_colsS","heights","h","data","_els","_table_view","_pre_render_events_table","_pre_render_events_line","evl","firstChild","rows","i","length","height","month_head_height","cells","cHeight","max_month_events","j","childNodes","style","offsetHeight","unshift","parentNode","scrollHeight","_h_fix","visibility","dh","top","parseInt","_obj","margin_top","last","className","_dy_shift","checked_divs","updateContainterHeight","is_repaint","total_height","checked_div","Math","max","mode","getState","rows_length","getElementsByTagName","matrix","cfg","y_unit","r","children","folder_dy","dy","updateView","conditionalUpdateContainerHeight","window","setTimeout","attachEvent"],"mappings":"CAAA,WAECA,UAAUC,OAAOC,sBAAuB,EACxCF,UAAUC,OAAOE,qBAAuB,EAExC,IAAIC,GAAuBJ,UAAUK,mBAGjCC,GAAS,CAEbN,WAAUK,mBAAqB,SAASE,EAAKC,GAC5C,IAAMR,UAAUC,OAAOC,uBAAwBI,EAC9C,MAAOF,GAAqBK,MAAMC,KAAMC,UAGzC,IAAIC,GAAKF,KAAKG,GAAGC,WACbC,EAAQL,KAAKM,OAAOC,QACpBC,EAAIR,KAAKM,OAAOC,SAAW,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC7CE,EAAOT,KAAKU,KAAmB,aAAE,EAOrC,IAFCb,EAHIG,KAAKW,YAGHX,KAAKY,yBAAyBf,EAAKC,GAFnCE,KAAKa,wBAAwBhB,EAAKC,GAIrCE,KAAKW,YACR,GAAIb,EACHE,KAAKM,OAAOC,QAAUF;IAChB,CACN,GAAIS,GAAML,EAAKM,UACf,IAAID,EAAIE,KAAM,CACb,IAAK,GAAIC,GAAI,EAAGA,EAAIH,EAAIE,KAAKE,OAAQD,IAAK,CAEzC,GADAT,EAAES,KACGT,EAAES,GAAMf,EAAKF,KAAKM,OAAOa,OAASnB,KAAKG,GAAGiB,kBAAmB,CAEjE,GAAIC,GAAQP,EAAIE,KAAKC,GAAGI,MAEpBC,EAAUtB,KAAKM,OAAOa,OAASnB,KAAKG,GAAGiB,iBACX,GAA7BpB,KAAKT,OAAOgC,mBAAuBvB,KAAKT,OAAOgC,kBAAoBf,EAAES,IAAMjB,KAAKT,OAAOgC,iBACzFD,EAAUd,EAAES,GAAKf,GACPF,KAAKT,OAAOgC,iBAAmB,GAAKrB,EAAKF,KAAKM,OAAOa,OAASnB,KAAKG,GAAGiB,oBAChFE,GAAWtB,KAAKT,OAAOgC,iBAAmB,GAAKrB,EAGhD,KAAK,GAAIsB,GAAI,EAAGA,EAAIH,EAAMH,OAAQM,IACjCH,EAAMG,GAAGC,WAAW,GAAGC,MAAMP,OAASG,EAAU,IAEjDd,GAAES,IAAMT,EAAES,EAAI,IAAM,GAAKI,EAAM,GAAGM;CAEnCnB,EAAES,IAAMT,EAAES,EAAI,IAAM,GAAKH,EAAIE,KAAKC,GAAGI,MAAM,GAAGM,aAE/CnB,EAAEoB,QAAQ,GACNd,EAAIe,WAAWF,aAAeb,EAAIe,WAAWC,eAAiBhB,EAAIiB,WAQtE,IAFKlC,EAAIqB,QAA4D,WAAlDlB,KAAKU,KAAoB,cAAE,GAAGgB,MAAMM,aACtDxB,EAAE,GAAK,IACJX,EAAIqB,QAAkB,IAARV,EAAE,GAAU,CAE7B,GACIyB,IADSnB,EAAIe,WAAWJ,YACjBjB,EAAE,GAAK,GAAKN,EAAK,EAAK,KACjCO,GAAKiB,MAAMQ,IAAOlC,KAAKU,KAAsB,gBAAE,GAAGiB,aAAe3B,KAAKU,KAAqB,eAAE,GAAGiB,aAAeQ,SAASF,EAAI,IAAO,KACnIxB,EAAKiB,MAAMP,OAAUnB,KAAKoC,KAAKT,aAAeQ,SAAS1B,EAAKiB,MAAMQ,IAAK,KAAOlC,KAAKG,GAAGkC,YAAc,GAAM,IAC1G,IAAIC,GAAOtC,KAAKU,KAAoB,cAAE,EACtC4B;EAAKZ,MAAMP,OAASc,EACpBK,EAAKZ,MAAMM,WAAsB,IAARxB,EAAE,GAAW,SAAW,UACjD8B,EAAOtC,KAAKU,KAAoB,cAAE,GAClC4B,EAAKZ,MAAMP,OAASc,EACpBK,EAAKZ,MAAMM,WAAsB,IAARxB,EAAE,GAAW,SAAW,UACjD8B,EAAKC,UAAY/B,EAAE,GAAK,qBAAuB,2BAC/CR,KAAKwC,WAAahC,EAAE,GAAK,GAAKN,EAC9BM,EAAE,GAAK,GAMX,MAAOX,GAGR,IAAI4C,IAAgB,kBAAmB,iBAAkB,gBAAiB,gBACtEC,EAAyB,SAASC,GAErC,IAAK,GADDC,GAAe,EACV3B,EAAI,EAAGA,EAAIwB,EAAavB,OAAQD,IAAK,CAE7C,GAAIsB,GAAYE,EAAaxB,GACzB4B,EAAevD,UAAUoB,KAAK6B,GAAcjD,UAAUoB,KAAK6B,GAAW,GAAK,KAC3EpB,EAAS,CACb,QAAQoB,GACP,IAAK,kBACL,IAAK,iBACJpB,EAASgB,SAASU,EAAYnB,MAAMP,OAAQ,GAC5C;KACD,KAAK,gBACJA,EAAS,EAAgB0B,EAAYlB,aAAe,EACtC,GAAVR,IACHA,EAAS,EACV,MACD,KAAK,eACJA,EAAS2B,KAAKC,IAAIF,EAAYlB,aAAe,EAAGkB,EAAYf,aAC5D,IAAIkB,GAAO1D,UAAU2D,WAAWD,IAChC,IAAY,SAARA,EAAiB,CACpB,GAAI1D,UAAUC,OAAOE,uBAAyBkD,EAAY,CACzD,GAAIO,GAAcL,EAAYM,qBAAqB,MAAMjC,MACzDC,GAAS+B,EAAc5D,UAAUC,OAAOE,qBAErCkD,IACHE,EAAYnB,MAAMP,OAASA,EAAS,MAGtC,GAAI7B,UAAU8D,QAAU9D,UAAU8D,OAAOJ,GACxC,GAAIL,EACHxB,GAAU,EACV0B,EAAYnB,MAAMP,OAASA,EAAS,SAC9B,CACNA,EAAS,CAGT,KAAI,GAFAkC,GAAM/D,UAAU8D,OAAOJ,GACvBhC,EAAOqC,EAAIC,OACPC,EAAE,EAAGA,EAAIvC,EAAKE,OAAQqC,IAC7BpC,GAAWH,EAAKuC,GAAGC,SAAqBH,EAAII,WAAWJ,EAAIK,GAA7BL,EAAIK;EAIzB,OAARV,GAAyB,QAARA,KACpB7B,GAAU,GAIbyB,GAAgBzB,EAEjB7B,UAAU8C,KAAKV,MAAMP,OAAS,EAAiB,KAE1CwB,GACJrD,UAAUqE,cAGRC,EAAmC,WACtC,IAAKtE,UAAUC,OAAOC,uBAAwBI,EAC7C,OAAO,CAER,IAAIoD,GAAO1D,UAAU2D,WAAWD,IAEhCN,MACMpD,UAAU8D,QAAU9D,UAAU8D,OAAOJ,IAAkB,SAARA,IACpDa,OAAOC,WAAW,WACjBpB,GAAuB,IACrB,GAILpD,WAAUyE,YAAY,eAAgBH,GACtCtE,UAAUyE,YAAY,QAASH,GAC/BtE,UAAUyE,YAAY,iBAAkBH,GACxCtE,UAAUyE,YAAY,iBAAkBH,GACxCtE,UAAUyE,YAAY,eAAgBH,GACtCtE,UAAUyE,YAAY,iBAAkBH,GACxCtE,UAAUyE,YAAY,yBAA0BH,GAChDtE,UAAUyE,YAAY,aAAcH,GAGpCtE,UAAUyE,YAAY,iBAAkB,WAEvC,MADAnE,IAAS,GACF;GAGRN,UAAUyE,YAAY,mBAAoB,WAEzC,MADAnE,IAAS,GACF"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_cookie.js b/codebase/sources/ext/dhtmlxscheduler_cookie.js
index c1c541b..210bf17 100644
--- a/codebase/sources/ext/dhtmlxscheduler_cookie.js
+++ b/codebase/sources/ext/dhtmlxscheduler_cookie.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.
@@ -26,11 +26,17 @@ This software is covered by GPL license. You also can obtain Commercial or Enter
}
var first = true;
scheduler.attachEvent("onBeforeViewChange",function(om,od,m,d){
+ // if Url plugin is enabled - explicit url values should have more priority than cookies
+ if (first && scheduler._get_url_nav){
+ var url_nav = scheduler._get_url_nav();
+ if(url_nav.date || url_nav.mode || url_nav.event){
+ first = false;
+ }
+ }
+
if (first){
first = false;
-
-
var data=getCookie("scheduler_settings");
if (data){
diff --git a/codebase/sources/ext/dhtmlxscheduler_cookie.js.map b/codebase/sources/ext/dhtmlxscheduler_cookie.js.map
index fb811aa..3c8584b 100644
--- a/codebase/sources/ext/dhtmlxscheduler_cookie.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_cookie.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_cookie.js","sources":["dhtmlxscheduler_cookie.js"],"names":["setCookie","name","cookie_param","value","str","document","cookie","getCookie","search","length","offset","indexOf","end","substring","first","scheduler","attachEvent","om","od","m","d","data","_min_date","unescape","split","this","templates","xml_date","view","isViewExists","date","isNaN","window","setTimeout","setCurrentView","text","escape","xml_format","old_load","_load","args","arguments","_date","_load_mode","that","apply"],"mappings":"CAAA,WACC,QAASA,GAAUC,EAAKC,EAAaC,GACpC,GAAIC,GAAMH,EAAO,IAAME,GAAUD,EAAc,KAAKA,EAAc,GAClEG,UAASC,OAASF,EAEnB,QAASG,GAAUN,GAClB,GAAIO,GAASP,EAAO,GACpB,IAAII,SAASC,OAAOG,OAAS,EAAG,CAC/B,GAAIC,GAASL,SAASC,OAAOK,QAAQH,EACrC,IAAc,IAAVE,EAAc,CACjBA,GAAUF,EAAOC,MACjB,IAAIG,GAAMP,SAASC,OAAOK,QAAQ,IAAKD,EAGvC,OAFW,IAAPE,IACHA,EAAMP,SAASC,OAAOG,QAChBJ,SAASC,OAAOO,UAAUH,EAAQE,IAG3C,MAAO,GAER,GAAIE,IAAQ,CACZC,WAAUC,YAAY,qBAAqB,SAASC,EAAGC,EAAGC,EAAEC,GAC3D,GAAIN,EAAM,CACTA,GAAQ,CAIR,IAAIO,GAAKd,EAAU,qBACnB,IAAIc,EAAK,CAEJN,UAAUO,YAGbP,UAAUO,UAAYF,GAGvBC,EAAOE,SAASF,GAAMG,MAAM,KAC5BH,EAAK,GAAKI,KAAKC,UAAUC,SAASN,EAAK,GACvC;GAAIO,GAAOH,KAAKI,aAAaR,EAAK,IAAMA,EAAK,GAAKF,EACjDW,EAAQC,OAAOV,EAAK,IAAgBD,EAAVC,EAAK,EAKhC,OAHAW,QAAOC,WAAW,WACjBlB,UAAUmB,eAAeJ,EAAKF,IAC7B,IACK,GAGT,GAAIO,GAAOC,OAAOX,KAAKC,UAAUW,WAAWjB,GAAGF,GAAI,KAAKC,GAAGF,GAE3D,OADAjB,GAAU,qBAAqB,wCAAwCmC,IAChE,GAKR,IAAIG,GAAWvB,UAAUwB,KACzBxB,WAAUwB,MAAQ,WACjB,GAAIC,GAAOC,SACX,KAAK1B,UAAU2B,OAAS3B,UAAU4B,WAAY,CAC7C,GAAIC,GAAOnB,IACXO,QAAOC,WAAW,WACjBK,EAASO,MAAMD,EAAMJ,IACpB,OAEFF,GAASO,MAAMpB,KAAMe"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_cookie.js","sources":["dhtmlxscheduler_cookie.js"],"names":["setCookie","name","cookie_param","value","str","document","cookie","getCookie","search","length","offset","indexOf","end","substring","first","scheduler","attachEvent","om","od","m","d","_get_url_nav","url_nav","date","mode","event","data","_min_date","unescape","split","this","templates","xml_date","view","isViewExists","isNaN","window","setTimeout","setCurrentView","text","escape","xml_format","old_load","_load","args","arguments","_date","_load_mode","that","apply"],"mappings":"CAAA,WACC,QAASA,GAAUC,EAAKC,EAAaC,GACpC,GAAIC,GAAMH,EAAO,IAAME,GAAUD,EAAc,KAAKA,EAAc,GAClEG,UAASC,OAASF,EAEnB,QAASG,GAAUN,GAClB,GAAIO,GAASP,EAAO,GACpB,IAAII,SAASC,OAAOG,OAAS,EAAG,CAC/B,GAAIC,GAASL,SAASC,OAAOK,QAAQH,EACrC,IAAc,IAAVE,EAAc,CACjBA,GAAUF,EAAOC,MACjB,IAAIG,GAAMP,SAASC,OAAOK,QAAQ,IAAKD,EAGvC,OAFW,IAAPE,IACHA,EAAMP,SAASC,OAAOG,QAChBJ,SAASC,OAAOO,UAAUH,EAAQE,IAG3C,MAAO,GAER,GAAIE,IAAQ,CACZC,WAAUC,YAAY,qBAAqB,SAASC,EAAGC,EAAGC,EAAEC,GAE3D,GAAIN,GAASC,UAAUM,aAAa,CACnC,GAAIC,GAAUP,UAAUM,gBACrBC,EAAQC,MAAQD,EAAQE,MAAQF,EAAQG,SAC1CX,GAAQ,GAIV,GAAIA,EAAM,CACTA,GAAQ,CAER,IAAIY,GAAKnB,EAAU,qBACnB;GAAImB,EAAK,CAEJX,UAAUY,YAGbZ,UAAUY,UAAYP,GAGvBM,EAAOE,SAASF,GAAMG,MAAM,KAC5BH,EAAK,GAAKI,KAAKC,UAAUC,SAASN,EAAK,GACvC,IAAIO,GAAOH,KAAKI,aAAaR,EAAK,IAAMA,EAAK,GAAKP,EACjDI,EAAQY,OAAOT,EAAK,IAAgBN,EAAVM,EAAK,EAKhC,OAHAU,QAAOC,WAAW,WACjBtB,UAAUuB,eAAef,EAAKU,IAC7B,IACK,GAGT,GAAIM,GAAOC,OAAOV,KAAKC,UAAUU,WAAWrB,GAAGF,GAAI,KAAKC,GAAGF,GAE3D,OADAjB,GAAU,qBAAqB,wCAAwCuC,IAChE,GAKR,IAAIG,GAAW3B,UAAU4B,KACzB5B,WAAU4B,MAAQ,WACjB,GAAIC,GAAOC,SACX,KAAK9B,UAAU+B,OAAS/B,UAAUgC,WAAY,CAC7C,GAAIC,GAAOlB,IACXM,QAAOC,WAAW,WACjBK,EAASO,MAAMD,EAAMJ;EACpB,OAEFF,GAASO,MAAMnB,KAAMc"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_editors.js b/codebase/sources/ext/dhtmlxscheduler_editors.js
index df1e292..38fbeab 100644
--- a/codebase/sources/ext/dhtmlxscheduler_editors.js
+++ b/codebase/sources/ext/dhtmlxscheduler_editors.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.
@@ -23,7 +23,14 @@ scheduler.form_blocks['combo']={
});
function resetCombo(){
if(node._combo && node._combo.DOMParent) {
- node._combo.destructor();
+ var combo = node._combo;
+ if(combo.unload){
+ combo.unload();
+ }else if(combo.destructor){
+ combo.destructor();
+ }
+ // dhtmlxCombo 4.1.0 bug
+ combo.DOMParent = combo.DOMelem = null;
}
}
})();
diff --git a/codebase/sources/ext/dhtmlxscheduler_editors.js.map b/codebase/sources/ext/dhtmlxscheduler_editors.js.map
index cb33ee0..da7bd2e 100644
--- a/codebase/sources/ext/dhtmlxscheduler_editors.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_editors.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_editors.js","sources":["dhtmlxscheduler_editors.js"],"names":["scheduler","form_blocks","render","sns","cached_options","res","type","height","set_value","node","value","ev","config","resetCombo","_combo","DOMParent","destructor","id","attachEvent","detachEvent","window","dhx_globalImgPath","image_path","dhtmlXCombo","name","offsetWidth","onchange","options_height","setOptionHeight","combo","enableFilteringMode","filtering","script_path","cache","selected_id","map_to","addOption","disable","selectOption","dhtmlxAjax","get","uid","result","option","doXPath","label","childNodes","nodeValue","setComboValue","all_options","i","options","length","single_option","key","css","push","index","getIndexByValue","get_value","getSelectedValue","getSelectedText","focus","vertical","radiobuttons","getElementsByTagName","checked","checked_value","wide_form","document","getElementById","isChecked","className","check_html","label_html","locale","labels","innerHTML","nextSibling","handler","checkbox","onclick","unchecked_value"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_editors.js","sources":["dhtmlxscheduler_editors.js"],"names":["scheduler","form_blocks","render","sns","cached_options","res","type","height","set_value","node","value","ev","config","resetCombo","_combo","DOMParent","combo","unload","destructor","DOMelem","id","attachEvent","detachEvent","window","dhx_globalImgPath","image_path","dhtmlXCombo","name","offsetWidth","onchange","options_height","setOptionHeight","enableFilteringMode","filtering","script_path","cache","selected_id","map_to","addOption","disable","selectOption","dhtmlxAjax","get","uid","result","option","doXPath","label","childNodes","nodeValue","setComboValue","all_options","i","options","length","single_option","key","css","push","index","getIndexByValue","get_value","getSelectedValue","getSelectedText","focus","vertical","radiobuttons","getElementsByTagName","checked","checked_value","wide_form","document","getElementById","isChecked","className","check_html","label_html","locale","labels","innerHTML","nextSibling","handler","checkbox","onclick","unchecked_value"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_expand.js b/codebase/sources/ext/dhtmlxscheduler_expand.js
index 92746f2..b329a1c 100644
--- a/codebase/sources/ext/dhtmlxscheduler_expand.js
+++ b/codebase/sources/ext/dhtmlxscheduler_expand.js
@@ -1,11 +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.expand = function() {
+ if(!scheduler.callEvent("onBeforeExpand", []))
+ return;
var t = scheduler._obj;
do {
t._position = t.style.position || "";
@@ -27,8 +29,11 @@ scheduler.expand = function() {
document.body._overflow = document.body.style.overflow || "";
document.body.style.overflow = "hidden";
scheduler._maximize();
+ scheduler.callEvent("onExpand", []);
};
scheduler.collapse = function() {
+ if(!scheduler.callEvent("onBeforeCollapse", []))
+ return;
var t = scheduler._obj;
do {
t.style.position = t._position;
@@ -38,6 +43,7 @@ scheduler.collapse = function() {
t.style.height = t._height;
document.body.style.overflow = document.body._overflow;
scheduler._maximize();
+ scheduler.callEvent("onCollapse", []);
};
scheduler.attachEvent("onTemplatesReady", function() {
var t = document.createElement("DIV");
diff --git a/codebase/sources/ext/dhtmlxscheduler_expand.js.map b/codebase/sources/ext/dhtmlxscheduler_expand.js.map
index de95c40..b471ca1 100644
--- a/codebase/sources/ext/dhtmlxscheduler_expand.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_expand.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_expand.js","sources":["dhtmlxscheduler_expand.js"],"names":["scheduler","expand","t","_obj","_position","style","position","parentNode","_width","width","_height","height","top","left","document","body","scrollTop","_overflow","overflow","_maximize","collapse","attachEvent","createElement","className","toggleIcon","appendChild","onclick","expanded","this","backgroundPosition","directions","i","length","prev_margin","xy","callEvent","update_view"],"mappings":"AAAAA,UAAUC,OAAS,WAClB,GAAIC,GAAIF,UAAUG,IAClB,GACCD,GAAEE,UAAYF,EAAEG,MAAMC,UAAY,GAClCJ,EAAEG,MAAMC,SAAW,gBACVJ,EAAIA,EAAEK,aAAeL,EAAEG,MACjCH,GAAIF,UAAUG,KACdD,EAAEG,MAAMC,SAAW,WACnBJ,EAAEM,OAASN,EAAEG,MAAMI,MACnBP,EAAEQ,QAAUR,EAAEG,MAAMM,OACpBT,EAAEG,MAAMI,MAAQP,EAAEG,MAAMM,OAAS,OACjCT,EAAEG,MAAMO,IAAMV,EAAEG,MAAMQ,KAAO,KAE7B,IAAID,GAAME,SAASC,IACnBH,GAAII,UAAY,EAEhBJ,EAAMA,EAAIL,WACNK,IACHA,EAAII,UAAY,GACjBF,SAASC,KAAKE,UAAYH,SAASC,KAAKV,MAAMa,UAAY,GAC1DJ,SAASC,KAAKV,MAAMa,SAAW,SAC/BlB,UAAUmB,aAEXnB,UAAUoB,SAAW,WACpB,GAAIlB,GAAIF,UAAUG,IAClB;EACCD,GAAEG,MAAMC,SAAWJ,EAAEE,iBACZF,EAAIA,EAAEK,aAAeL,EAAEG,MACjCH,GAAIF,UAAUG,KACdD,EAAEG,MAAMI,MAAQP,EAAEM,OAClBN,EAAEG,MAAMM,OAAST,EAAEQ,QACnBI,SAASC,KAAKV,MAAMa,SAAWJ,SAASC,KAAKE,UAC7CjB,UAAUmB,aAEXnB,UAAUqB,YAAY,mBAAoB,WACzC,GAAInB,GAAIY,SAASQ,cAAc,MAC/BpB,GAAEqB,UAAY,kBACdvB,UAAUwB,WAAatB,EACvBF,UAAUG,KAAKsB,YAAYvB,GAC3BA,EAAEwB,QAAU,WACN1B,UAAU2B,SAEd3B,UAAUoB,WADVpB,UAAUC,YAIbD,UAAUmB,UAAY,WACrBS,KAAKD,UAAYC,KAAKD,SACtBC,KAAKJ,WAAWnB,MAAMwB,mBAAqB,MAAQD,KAAKD,SAAW,IAAM,MAAQ,IAGjF;IAAK,GADDG,IAAc,OAAQ,OACjBC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC3C,GACIE,IADSjC,UAAUkC,GAAG,UAAYJ,EAAWC,IAC/B/B,UAAU,gBAAkB8B,EAAWC,IACrD/B,WAAUkC,GAAG,UAAYJ,EAAWC,KACvC/B,UAAU,gBAAkB8B,EAAWC,IAAM/B,UAAUkC,GAAG,UAAYJ,EAAWC,IACjF/B,UAAUkC,GAAG,UAAYJ,EAAWC,IAAM,GAEtCE,IACHjC,UAAUkC,GAAG,UAAYJ,EAAWC,IAAM/B,UAAU,gBAAkB8B,EAAWC,UAC1E/B,WAAU,gBAAkB8B,EAAWC,KAK7C/B,UAAUmC,UAAU,0BACvBnC,UAAUoC,cACVpC,UAAUmC,UAAU"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_expand.js","sources":["dhtmlxscheduler_expand.js"],"names":["scheduler","expand","callEvent","t","_obj","_position","style","position","parentNode","_width","width","_height","height","top","left","document","body","scrollTop","_overflow","overflow","_maximize","collapse","attachEvent","createElement","className","toggleIcon","appendChild","onclick","expanded","this","backgroundPosition","directions","i","length","prev_margin","xy","update_view"],"mappings":"AAAAA,UAAUC,OAAS,WAClB,GAAID,UAAUE,UAAU,qBAAxB,CAEA,GAAIC,GAAIH,UAAUI,IAClB,GACCD,GAAEE,UAAYF,EAAEG,MAAMC,UAAY,GAClCJ,EAAEG,MAAMC,SAAW,gBACVJ,EAAIA,EAAEK,aAAeL,EAAEG,MACjCH,GAAIH,UAAUI,KACdD,EAAEG,MAAMC,SAAW,WACnBJ,EAAEM,OAASN,EAAEG,MAAMI,MACnBP,EAAEQ,QAAUR,EAAEG,MAAMM,OACpBT,EAAEG,MAAMI,MAAQP,EAAEG,MAAMM,OAAS,OACjCT,EAAEG,MAAMO,IAAMV,EAAEG,MAAMQ,KAAO,KAE7B,IAAID,GAAME,SAASC,IACnBH,GAAII,UAAY,EAEhBJ,EAAMA,EAAIL,WACNK,IACHA,EAAII,UAAY,GACjBF,SAASC,KAAKE,UAAYH,SAASC,KAAKV,MAAMa,UAAY,GAC1DJ,SAASC,KAAKV,MAAMa,SAAW,SAC/BnB,UAAUoB,YACVpB,UAAUE,UAAU;GAErBF,UAAUqB,SAAW,WACpB,GAAIrB,UAAUE,UAAU,uBAAxB,CAEA,GAAIC,GAAIH,UAAUI,IAClB,GACCD,GAAEG,MAAMC,SAAWJ,EAAEE,iBACZF,EAAIA,EAAEK,aAAeL,EAAEG,MACjCH,GAAIH,UAAUI,KACdD,EAAEG,MAAMI,MAAQP,EAAEM,OAClBN,EAAEG,MAAMM,OAAST,EAAEQ,QACnBI,SAASC,KAAKV,MAAMa,SAAWJ,SAASC,KAAKE,UAC7ClB,UAAUoB,YACVpB,UAAUE,UAAU,mBAErBF,UAAUsB,YAAY,mBAAoB,WACzC,GAAInB,GAAIY,SAASQ,cAAc,MAC/BpB,GAAEqB,UAAY,kBACdxB,UAAUyB,WAAatB,EACvBH,UAAUI,KAAKsB,YAAYvB,GAC3BA,EAAEwB,QAAU,WACN3B,UAAU4B,SAEd5B,UAAUqB,WADVrB,UAAUC;IAIbD,UAAUoB,UAAY,WACrBS,KAAKD,UAAYC,KAAKD,SACtBC,KAAKJ,WAAWnB,MAAMwB,mBAAqB,MAAQD,KAAKD,SAAW,IAAM,MAAQ,IAGjF,KAAK,GADDG,IAAc,OAAQ,OACjBC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC3C,GACIE,IADSlC,UAAUmC,GAAG,UAAYJ,EAAWC,IAC/BhC,UAAU,gBAAkB+B,EAAWC,IACrDhC,WAAUmC,GAAG,UAAYJ,EAAWC,KACvChC,UAAU,gBAAkB+B,EAAWC,IAAMhC,UAAUmC,GAAG,UAAYJ,EAAWC,IACjFhC,UAAUmC,GAAG,UAAYJ,EAAWC,IAAM,GAEtCE,IACHlC,UAAUmC,GAAG,UAAYJ,EAAWC,IAAMhC,UAAU,gBAAkB+B,EAAWC,UAC1EhC,WAAU,gBAAkB+B,EAAWC,KAK7ChC,UAAUE,UAAU,0BACvBF,UAAUoC,cACVpC,UAAUE,UAAU"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_grid_view.js b/codebase/sources/ext/dhtmlxscheduler_grid_view.js
deleted file mode 100644
index 0c30045..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_grid_view.js
+++ /dev/null
@@ -1,470 +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(a,b, getVal){ return getVal(a)*1 < getVal(b)*1?1:-1; },
- "str":function(a,b, getVal){ return getVal(a) < getVal(b)?1:-1; },
- "date":function(a,b, getVal){ return new Date(getVal(a))< new Date(getVal(b))?1:-1; }
- },
- _getObjName:function(name){
- return "grid_"+name;
- },
- _getViewName:function(objName){
- return objName.replace(/^grid_/,'');
- }
- };
-}
-)();
-/*
-obj={
- name:'grid_name'
- fields:[
- { id:"id", label:"Id", width:80, sort:"int/date/str", template:function(start_date, end_date, ev){ return ""}, align:"right/left/center" },
- { id:"text", label:"Text", width:'*', css:"class_name", sort:function(a,b){ return 1 or -1}, valign:'top/bottom/middle' }
- ...
- ],
- from:new Date(0),
- to:Date:new Date(9999,1,1),
- rowHeight:int,
- paging:true/false,
- select:true/false
-}
-*/
-
-
-scheduler.createGridView=function(obj){
-
- var name = obj.name || 'grid';
- var objName = scheduler._grid._getObjName(name);
-
- scheduler.config[name + '_start'] = obj.from || (new Date(0));
- scheduler.config[name + '_end'] = obj.to || (new Date(9999,1,1));
-
- scheduler[objName] = obj;
- scheduler[objName].defPadding = 8;
- scheduler[objName].columns = scheduler[objName].fields;
- scheduler[objName].unit = obj.unit || "month";
- scheduler[objName].step = obj.step || 1;
- delete scheduler[objName].fields;
- function isValidSize(size){
- return !(size !== undefined && (size*1 != size || size < 0));
- }
-
- var cols = scheduler[objName].columns;
- for(var i=0; i < cols.length; i++){
- if(isValidSize(cols[i].width))
- cols[i].initialWidth = cols[i].width;
- if(!isValidSize(cols[i].paddingLeft))
- delete cols[i].paddingLeft;
- if(!isValidSize(cols[i].paddingRight))
- delete cols[i].paddingRight;
- }
-
- scheduler[objName].select = obj.select === undefined ? true : obj.select;
- if(scheduler.locale.labels[name +'_tab'] === undefined)
- scheduler.locale.labels[name +'_tab'] = scheduler[objName].label || scheduler.locale.labels.grid_tab;
-
- scheduler[objName]._selected_divs = [];
-
- scheduler.date[name+'_start']=function(d){
- if(scheduler.date[obj.unit+'_start'])
- return scheduler.date[obj.unit+'_start'](d);
- else
- return (d);
- };
- scheduler.date['add_' + name] = function(date, inc){
- return scheduler.date.add(date, inc*scheduler[objName].step, scheduler[objName].unit);
- };
-
- scheduler.templates[name+"_date"] = function(start, end){
- return scheduler.templates.day_date(start)+" - "+scheduler.templates.day_date(end);
- };
- scheduler.templates[name + '_full_date'] = function(start,end,ev){
- if (scheduler.isOneDayEvent(ev))
- return this[name + '_single_date'](start);
- else
- return scheduler.templates.day_date(start)+" &ndash; "+scheduler.templates.day_date(end);
- };
- scheduler.templates[name + '_single_date'] = function(date){
- return scheduler.templates.day_date(date)+" "+this.event_date(date);
- };
- scheduler.templates[name + '_field'] = function(field_name, event){
- return event[field_name];
- };
-
- scheduler.attachEvent("onTemplatesReady",function(){
-
- scheduler.attachEvent("onDblClick",function(event_id, native_event_object){
- if(this._mode == name){
- scheduler._click.buttons['details'](event_id);
- return false;
- }
- return true;
- });
-
- scheduler.attachEvent("onClick",function(event_id, native_event_object){
- if(this._mode == name && scheduler[objName].select ){
- scheduler._grid.unselectEvent('', name);
- scheduler._grid.selectEvent(event_id, name, native_event_object);
- return false;
- }
- return true;
- });
-
- var old = scheduler.render_data;
- scheduler.render_data=function(evs){
- if (this._mode == name)
- scheduler._grid._fill_grid_tab(objName);
- else
- return old.apply(this,arguments);
- };
-
- var old_render_view_data = scheduler.render_view_data;
- scheduler.render_view_data=function(){
- if(this._mode == name) {
- 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';
- }
- else {
- scheduler._els["dhx_cal_data"][0].style.overflowY = 'auto';
- }
- return old_render_view_data.apply(this,arguments);
- };
-});
-
-
- scheduler[name+'_view']=function(mode){
- scheduler._grid._sort_marker = null;
- delete scheduler._gridView;
- scheduler._rendered=[];
- scheduler[objName]._selected_divs = [];
-
- if (mode){
- var min = null,
- max = null;
- var view = scheduler[objName];
- if(view.paging){
- min = scheduler.date[name+'_start'](new Date(scheduler._date));
- max = scheduler.date['add_'+name](min, 1);
- }else{
- min = scheduler.config[name + '_start'];
- max = scheduler.config[name + '_end'];
- }
-
- scheduler._min_date = min;
- scheduler._max_date = max;
-
- scheduler._grid.set_full_view(objName);
-
- var header = "";
- if(+min > +new Date(0) && +max < +(new Date(9999,1,1)))
- header = scheduler.templates[name+"_date"](min, max);
-
- scheduler._els["dhx_cal_date"][0].innerHTML = header;
-
- //grid tab activated
- scheduler._gridView = objName;
- } else {
- //grid tab de-activated
- }
- };
-
-
-};
-
-
-scheduler.dblclick_dhx_grid_area=function(){
- if (!this.config.readonly && this.config.dblclick_create)
- this.addEventNow();
-};
-
-if(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 event = e||window.event;
- var params = scheduler._grid.get_sort_params(event, scheduler._gridView);
-
- scheduler._grid.draw_sort_marker(event.originalTarget || event.srcElement, params.dir);
-
- scheduler.clear_view();
- scheduler._grid._fill_grid_tab(scheduler._gridView, params);
- }
- else if(scheduler._old_header_click)
- return scheduler._old_header_click.apply(this,arguments);
-};
-
-scheduler._grid.selectEvent = function(id, view_name, native_event_object){
- if(scheduler.callEvent("onBeforeRowSelect",[id,native_event_object])){
- var objName = scheduler._grid._getObjName(view_name);
-
- scheduler.for_rendered(id, function(event_div){
- event_div.className += " dhx_grid_event_selected";
- scheduler[objName]._selected_divs.push(event_div);
- });
- scheduler._select_id = id;
- }
-};
-
-scheduler._grid._unselectDiv= function(div){
- div.className = div.className.replace(/ dhx_grid_event_selected/,'');
-};
-scheduler._grid.unselectEvent = function(id, view_name){
- var objName = scheduler._grid._getObjName(view_name);
- if(!objName || !scheduler[objName]._selected_divs)
- return;
-
- if(!id){
- for(var i=0; i<scheduler[objName]._selected_divs.length; i++)
- scheduler._grid._unselectDiv(scheduler[objName]._selected_divs[i]);
-
- scheduler[objName]._selected_divs = [];
-
- }else{
- for(var i=0; i<scheduler[objName]._selected_divs.length; i++)
- if(scheduler[objName]._selected_divs[i].getAttribute('event_id') == id){
- scheduler._grid._unselectDiv(scheduler[objName]._selected_divs[i]);
- scheduler[objName]._selected_divs.slice(i,1);
- break;
- }
-
- }
-};
-
-scheduler._grid.get_sort_params = function(event, objName){
- var targ = event.originalTarget || event.srcElement;
- var direction = "desc";
- if(targ.className == 'dhx_grid_view_sort')
- targ = targ.parentNode;
- if(!targ.className || targ.className.indexOf("dhx_grid_sort_asc") == -1)
- direction = 'asc';
-
- var index = 0;
- for(var i =0; i < targ.parentNode.childNodes.length; i++){
- if(targ.parentNode.childNodes[i] == targ){
- index = i;
- break;
- }
- }
-
- var value = null;
- if(scheduler[objName].columns[index].template){
- var template = scheduler[objName].columns[index].template;
- value = function(ev){
- return template(ev.start_date, ev.end_date, ev);
- };
- }else{
- var field = scheduler[objName].columns[index].id;
- if(field == "date")
- field = "start_date";
- value = function(ev){ return ev[field]; };
- }
-
- var rule = scheduler[objName].columns[index].sort;
-
- if(typeof rule != 'function'){
- rule = scheduler._grid.sort_rules[rule] || scheduler._grid.sort_rules['str'];
- }
-
- return {dir:direction, value:value, rule:rule};
-};
-
-scheduler._grid.draw_sort_marker = function(node, direction){
- if(node.className == 'dhx_grid_view_sort')
- node = node.parentNode;
-
- if(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);
- }
-
- node.className += " dhx_grid_sort_"+direction;
- scheduler._grid._sort_marker = node;
- var html = "<div class='dhx_grid_view_sort' style='left:"+(+node.style.width.replace('px','') -15+node.offsetLeft)+"px'>&nbsp;</div>";
- node.innerHTML += html;
-
-};
-
-scheduler._grid.sort_grid=function(sort){
-
- var sort = sort || {dir:'desc', value:function(ev){return ev.start_date;}, rule:scheduler._grid.sort_rules['date']};
-
- var events = scheduler.get_visible_events();
-
- if(sort.dir == 'desc')
- events.sort(function(a,b){return sort.rule(a,b,sort.value);});
- else
- events.sort(function(a,b){return -sort.rule(a,b, sort.value);});
- return events;
-};
-
-
-
-scheduler._grid.set_full_view = function(mode){
- if (mode){
- var l = scheduler.locale.labels;
- var html =scheduler._grid._print_grid_header(mode);
-
- scheduler._els["dhx_cal_header"][0].innerHTML= html;
- scheduler._table_view=true;
- scheduler.set_sizes();
- }
-};
-scheduler._grid._calcPadding = function(column, parent){
- var padding = (column.paddingLeft !== undefined ? 1*column.paddingLeft : scheduler[parent].defPadding) +
- (column.paddingRight !== undefined ? 1*column.paddingRight : scheduler[parent].defPadding);
- return padding;
-};
-
-scheduler._grid._getStyles = function(column, items){
- var cell_style = [], style = "";
- for(var i=0; items[i]; i++ ){
- style = items[i] + ":";
- switch (items[i]){
- case "text-align":
- if(column.align)
- cell_style.push(style+column.align);
- break;
- case "vertical-align":
- if(column.valign)
- cell_style.push(style+column.valign);
- break;
- case "padding-left":
- if(column.paddingLeft !== undefined)
- cell_style.push(style+(column.paddingLeft||'0') + "px");
- break;
- case "padding-right":
- if(column.paddingRight !== undefined)
- cell_style.push(style+(column.paddingRight||'0') + "px");
- break;
- }
- }
- return cell_style;
-};
-
-scheduler._grid._fill_grid_tab = function(objName, sort){
- //get current date
- var date = scheduler._date;
- //select events for which data need to be printed
- var events = scheduler._grid.sort_grid(sort);
-
- //generate html for the view
- var columns = scheduler[objName].columns;
-
- var html = "<div>";
- var left = -2;//column borders at the same pos as header borders...
- for(var i=0; i < columns.length; i++){
- var padding = scheduler._grid._calcPadding(columns[i], objName);
- left +=columns[i].width + padding ;//
- if(i < columns.length - 1)
- html += "<div class='dhx_grid_v_border' style='left:"+(left)+"px'></div>";
- }
- html += "</div>";
- html +="<div class='dhx_grid_area'><table>";
-
- for (var i=0; i<events.length; i++){
- html += scheduler._grid._print_event_row(events[i], objName);
- }
-
- html +="</table></div>";
- //render html
- scheduler._els["dhx_cal_data"][0].innerHTML = html;
- scheduler._els["dhx_cal_data"][0].scrollTop = scheduler._grid._gridScrollTop||0;
-
- var t=scheduler._els["dhx_cal_data"][0].getElementsByTagName("tr");
-
- scheduler._rendered=[];
- for (var i=0; i < t.length; i++){
- scheduler._rendered[i]=t[i];
- }
-
-};
-scheduler._grid._print_event_row = function(ev, objName){
-
- var styles = [];
- if(ev.color)
- styles.push("background:"+ev.color);
- if(ev.textColor)
- styles.push("color:"+ev.textColor);
- if(ev._text_style)
- styles.push(ev._text_style);
- if(scheduler[objName]['rowHeight'])
- styles.push('height:'+scheduler[objName]['rowHeight'] + 'px');
-
- var style = "";
- if(styles.length){
- style = "style='"+styles.join(";")+"'";
- }
-
- var columns = scheduler[objName].columns;
- var ev_class = scheduler.templates.event_class(ev.start_date, ev.end_date, ev);
-
- var html ="<tr class='dhx_grid_event"+(ev_class? ' '+ev_class:'')+"' event_id='"+ev.id+"' " + style + ">";
-
- var name = scheduler._grid._getViewName(objName);
- var availStyles = ["text-align", "vertical-align", "padding-left","padding-right"];
- for(var i =0; i < columns.length; i++){
- var value;
- if(columns[i].template){
- value = columns[i].template(ev.start_date, ev.end_date, ev);
- }else if(columns[i].id == 'date') {
- value = scheduler.templates[name + '_full_date'](ev.start_date, ev.end_date, ev);
- }else if(columns[i].id == 'start_date' || columns[i].id == 'end_date' ){
- value = scheduler.templates[name + '_single_date'](ev[columns[i].id]);
- }else{
- value = scheduler.templates[name + '_field'](columns[i].id, ev);
- }
-
- var cell_style = scheduler._grid._getStyles(columns[i], availStyles);
-
- var className = columns[i].css ? (" class=\""+columns[i].css+"\"") : "";
-
- html+= "<td style='width:"+ (columns[i].width )+"px;"+cell_style.join(";")+"' "+className+">"+value+"</td>";
-
- }
- html+="<td class='dhx_grid_dummy'></td></tr>";
-
- return html;
-};
-
-scheduler._grid._print_grid_header = function(objName){
- var head = "<div class='dhx_grid_line'>";
-
- var columns = scheduler[objName].columns;
- var widths = [];
-
- var unsized_columns = columns.length;
- var avail_width = scheduler._obj.clientWidth - 2*columns.length -20;//-20 for possible scrollbar, -length for borders
- for(var ind=0; ind < columns.length; ind++){
-
- var val = columns[ind].initialWidth*1;
- if(!isNaN(val) && columns[ind].initialWidth !== '' && columns[ind].initialWidth !== null && typeof columns[ind].initialWidth != 'boolean'){
-
- unsized_columns--;
- avail_width -= val;
- widths[ind] = val;
- }else {
- widths[ind] = null;
- }
- }
-
- var unsized_width = Math.floor(avail_width / unsized_columns);
- var availStyles = ["text-align", "padding-left","padding-right"];
- for(var i=0; i < columns.length; i++){
- var column_width = !widths[i] ? unsized_width : widths[i];
- columns[i].width = column_width - scheduler._grid._calcPadding(columns[i], objName);
- var cell_style = scheduler._grid._getStyles(columns[i], availStyles);
- head += "<div style='width:"+(columns[i].width -1)+"px;"+cell_style.join(";")+"'>" + (columns[i].label === undefined ? columns[i].id : columns[i].label) + "</div>";
- }
- head +="</div>";
-
- return head;
-};
diff --git a/codebase/sources/ext/dhtmlxscheduler_grid_view.js.map b/codebase/sources/ext/dhtmlxscheduler_grid_view.js.map
deleted file mode 100644
index 4a1c624..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_grid_view.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_grid_view.js","sources":["dhtmlxscheduler_grid_view.js"],"names":["scheduler","_grid","sort_rules","int","a","b","getVal","str","date","Date","_getObjName","name","_getViewName","objName","replace","createGridView","obj","isValidSize","size","undefined","config","from","to","defPadding","columns","fields","unit","step","cols","i","length","width","initialWidth","paddingLeft","paddingRight","select","locale","labels","label","grid_tab","_selected_divs","d","inc","add","templates","start","end","day_date","ev","isOneDayEvent","this","event_date","field_name","event","attachEvent","event_id","_mode","_click","buttons","native_event_object","unselectEvent","selectEvent","old","render_data","apply","arguments","_fill_grid_tab","old_render_view_data","render_view_data","_gridScrollTop","_els","childNodes","scrollTop","style","overflowY","mode","_sort_marker","_gridView","_rendered","min","max","view","paging","_date","_min_date","_max_date","set_full_view","header","innerHTML","dblclick_dhx_grid_area","readonly","dblclick_create","addEventNow","dhx_cal_header","_old_header_click","e","window","params","get_sort_params","draw_sort_marker","originalTarget","srcElement","dir","clear_view","id","view_name","callEvent","for_rendered","event_div","className","push","_select_id","_unselectDiv","div","getAttribute","slice","targ","direction","parentNode","indexOf","index","value","template","start_date","end_date","field","rule","sort","node","removeChild","lastChild","html","offsetLeft","sort_grid","events","get_visible_events","_print_grid_header","_table_view","set_sizes","_calcPadding","column","parent","padding","_getStyles","items","cell_style","align","valign","left","_print_event_row","t","getElementsByTagName","styles","color","textColor","_text_style","join","ev_class","event_class","availStyles","css","head","widths","unsized_columns","avail_width","_obj","clientWidth","ind","val","isNaN","unsized_width","Math","floor","column_width"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_html_templates.js b/codebase/sources/ext/dhtmlxscheduler_html_templates.js
index 29f6fbf..45b5955 100644
--- a/codebase/sources/ext/dhtmlxscheduler_html_templates.js
+++ b/codebase/sources/ext/dhtmlxscheduler_html_templates.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/sources/ext/dhtmlxscheduler_key_nav.js b/codebase/sources/ext/dhtmlxscheduler_key_nav.js
index 33befda..617e012 100644
--- a/codebase/sources/ext/dhtmlxscheduler_key_nav.js
+++ b/codebase/sources/ext/dhtmlxscheduler_key_nav.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/sources/ext/dhtmlxscheduler_layer.js b/codebase/sources/ext/dhtmlxscheduler_layer.js
index 6b952f5..8aff9d7 100644
--- a/codebase/sources/ext/dhtmlxscheduler_layer.js
+++ b/codebase/sources/ext/dhtmlxscheduler_layer.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/sources/ext/dhtmlxscheduler_limit.js b/codebase/sources/ext/dhtmlxscheduler_limit.js
index 3fd070a..57a0a34 100644
--- a/codebase/sources/ext/dhtmlxscheduler_limit.js
+++ b/codebase/sources/ext/dhtmlxscheduler_limit.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.
@@ -336,11 +336,17 @@ scheduler._temp_limit_scope = function(){
};
if (!this._table_view) {
if (this._props && this._props[this._mode]) { // units view
+
+ var view = this._props[this._mode];
+ var units_l = view.options.length;
+ var start_index = day_index*units_l;
+ var end_index = (day_index+1)*units_l;
+
var day_divs = this._els["dhx_cal_data"][0].childNodes;
var r_divs = [];
- for (var i=0; i<day_divs.length-1; i++) {
- var t_day = day_index+i; // as each unit is actually considered +1 day
+ for (var i=start_index; i<end_index; i++) {
+ var t_day = i; // as each unit is actually considered +1 day
options.days = t_day;
var t_div = scheduler._render_marked_timespan(options, null, t_day)[0];
r_divs.push(t_div);
@@ -624,9 +630,17 @@ scheduler._temp_limit_scope = function(){
if (this._props && this._props[this._mode] && options.sections && options.sections[this._mode]) {
var view = this._props[this._mode];
- index = this._get_section_sday(options.sections[this._mode]);
- if (view.size && (index > view.position+view.size)) {
- index = 0;
+ index = view.order[options.sections[this._mode]];
+
+ var inner_index = view.order[options.sections[this._mode]];
+ if(!(view.days > 1)){
+ index = inner_index;
+ if (view.size && (index > view.position+view.size)) {
+ index = 0;
+ }
+ }else{
+ var units_l =view.options.length;
+ index = index*units_l + inner_index;
}
}
area = area ? area : scheduler.locate_holder(index);
@@ -867,6 +881,16 @@ scheduler._temp_limit_scope = function(){
}
}
}
+
+ for (var i in scheduler._marked_timespans.timeline) {
+ for (var j in scheduler._marked_timespans.timeline[i]) {
+ for (var k in scheduler._marked_timespans.timeline[i][j]) {
+ if (k === type) {
+ delete scheduler._marked_timespans.timeline[i][j][k];
+ }
+ }
+ }
+ }
};
scheduler.deleteMarkedTimespan = function(configuration) {
// delete everything
@@ -913,7 +937,7 @@ scheduler._temp_limit_scope = function(){
}
};
scheduler._get_types_to_render = function(common, specific) {
- var types_to_render = (common) ? scheduler._lame_copy({},common) : {};
+ var types_to_render = (common) ? common : {};
for (var type in specific||{} ) {
if (specific.hasOwnProperty(type)) {
types_to_render[type] = specific[type];
@@ -945,7 +969,16 @@ scheduler._temp_limit_scope = function(){
var units = view.options;
var index = scheduler._get_unit_index(view, day);
var unit = units[index]; // key, label
- day = scheduler.date.date_part(new Date(this._date)); // for units view actually only 1 day is displayed yet the day variable will change, need to use this._date for all calls
+
+ if(!(view.days > 1)){
+ day = scheduler.date.date_part(new Date(this._date)); // for units view actually only 1 day is displayed yet the day variable will change, need to use this._date for all calls
+ }else{
+ var dx = 24*60*60*1000;
+ var day_ind = Math.floor((day - scheduler._min_date)/dx);
+
+ day = scheduler.date.add(scheduler._min_date, Math.floor(day_ind/units.length), "day"); // to the "same" day for all sections
+ day = scheduler.date.date_part(day);
+ }
day_index = day.getDay();
day_value = day.valueOf();
@@ -964,7 +997,7 @@ scheduler._temp_limit_scope = function(){
scheduler._render_marked_timespan(r_configs[i], area, day);
}
});
-
+
scheduler.dblclick_dhx_marked_timespan = function(e,src){
if (!scheduler.config.dblclick_create){
scheduler.callEvent("onScaleDblClick",[scheduler.getActionData(e).date,src,e]);
diff --git a/codebase/sources/ext/dhtmlxscheduler_limit.js.map b/codebase/sources/ext/dhtmlxscheduler_limit.js.map
index 78ac9cf..fbe0305 100644
--- a/codebase/sources/ext/dhtmlxscheduler_limit.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_limit.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_limit.js","sources":["dhtmlxscheduler_limit.js"],"names":["scheduler","config","limit_start","limit_end","limit_view","check_limits","mark_now","display_marked_timespans","_temp_limit_scope","getZones","ev","timespans","day_index","day_value","timespan_type","s","zones","containers","_props","matrix","container","property","view","view_config","linker","_add_timespan_zones","_get_blocked_zones","before","dhx_time_block","default_timespan_type","fix_options","options","days","Date","start_date","end_date","get_resulting_options","sections","type","css","blockTime","addMarkedTimespan","unblockTime","deleteMarkedTimespan","attachEvent","om","od","nm","nd","isBlocked","date","mode","date_end","add","valueOf","setTimeout","resetDate","setCurrentView","checkInMarkedTimespan","on_overlap","res","temp_start_date","temp_end_date","_marked_timespans","date_part","getDay","i","length","sm","_get_zone_minutes","em","getDate","sz","ez","blocker","checkLimitViolation","event","c","evs","rec_type","dates","getRecDates","_copy_event","_lame_copy","push","complete_res","p","_timed","isOneDayEvent","allow","_drag_id","_drag_mode","setHours","setMinutes","checkEvent","callEvent","id","timeline_zones","blocked_timeline_zones","this","_get_relevant_blocked_zones","relevant_zones","classname","getEvent","event_id","data","data_copy","_lame_clone","_roll_back_dates","event_duration","time_step","getActionData","_mark_now","window","_mark_now_timer","setInterval","_is_initialized","hide","dhx_now_time","_els","now","_currentDate","cfg","_remove_mark_now","_max_date","_min_date","getHours","first_hour","last_hour","locate_holder_day","_append_mark_now","zone_start","_table_view","_mode","day_divs","childNodes","r_divs","t_day","t_div","_render_marked_timespan","els","div","parent","parentNode","removeChild","global","getMinutes","_prepare_timespan_options","r_configs","temp_configs","Array","t_days","slice","cloned_config","apply","undefined","min","max","invert_zones","invertZones","uid","view_key","hasOwnProperty","ids","t_config","k","c_config","t_sd","t_ed","zone_end","_get_dates_by_index","index","start","end","start_day","delta","t_date","_get_css_classes_by_config","css_classes","join","_get_block_by_config","block","document","createElement","html","innerHTML","appendChild","area","day","blocks","min_date","max_date","date_to_display","min_day","areas","_scales","sweek","Math","floor","_correct_shift","_cols","sday","_ignores","block_proto","height","offsetHeight","width","offsetWidth","left","_colsS","top","heights","xy","month_scale_height","className","style","lineHeight","cloneNode","round","_get_section_sday","size","position","locate_holder","all_hours_height","hour_size_px","hour_ms","markTimespan","configuration","configs","divs","unmarkTimespan","_marked_timespans_ids","unit_id","timespans_view","_marked_timespans_types","day_configs","_array","current_zones","resulting_zones","c_zone_start","c_zone_end","isLast","offset","splice","_subtract_timespan_zones","is_modified","_delete_marked_timespan_by_id","parent_array","_delete_marked_timespan_by_config","day_timespans","d_t","related_zones","arguments","types","t","typedConfig","_get_types_to_render","common","specific","types_to_render","_get_configs_to_render","units","_get_unit_index","unit","_date","key","unit_zones","unit_types","global_data","day_types","dblclick_dhx_marked_timespan","e","src","dblclick_create","addEventNow"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_limit.js","sources":["dhtmlxscheduler_limit.js"],"names":["scheduler","config","limit_start","limit_end","limit_view","check_limits","mark_now","display_marked_timespans","_temp_limit_scope","getZones","ev","timespans","day_index","day_value","timespan_type","s","zones","containers","_props","matrix","container","property","view","view_config","linker","_add_timespan_zones","_get_blocked_zones","before","dhx_time_block","default_timespan_type","fix_options","options","days","Date","start_date","end_date","get_resulting_options","sections","type","css","blockTime","addMarkedTimespan","unblockTime","deleteMarkedTimespan","attachEvent","om","od","nm","nd","isBlocked","date","mode","date_end","add","valueOf","setTimeout","resetDate","setCurrentView","checkInMarkedTimespan","on_overlap","res","temp_start_date","temp_end_date","_marked_timespans","date_part","getDay","i","length","sm","_get_zone_minutes","em","getDate","sz","ez","blocker","checkLimitViolation","event","c","evs","rec_type","dates","getRecDates","_copy_event","_lame_copy","push","complete_res","p","_timed","isOneDayEvent","allow","_drag_id","_drag_mode","setHours","setMinutes","checkEvent","callEvent","id","timeline_zones","blocked_timeline_zones","this","_get_relevant_blocked_zones","relevant_zones","classname","getEvent","event_id","data","data_copy","_lame_clone","_roll_back_dates","event_duration","time_step","getActionData","_mark_now","window","_mark_now_timer","setInterval","_is_initialized","hide","dhx_now_time","_els","now","_currentDate","cfg","_remove_mark_now","_max_date","_min_date","getHours","first_hour","last_hour","locate_holder_day","_append_mark_now","zone_start","_table_view","_mode","units_l","start_index","end_index","r_divs","childNodes","t_day","t_div","_render_marked_timespan","els","div","parent","parentNode","removeChild","global","getMinutes","_prepare_timespan_options","r_configs","temp_configs","Array","t_days","slice","cloned_config","apply","undefined","min","max","invert_zones","invertZones","uid","view_key","hasOwnProperty","ids","t_config","k","c_config","t_sd","t_ed","zone_end","_get_dates_by_index","index","start","end","start_day","delta","t_date","_get_css_classes_by_config","css_classes","join","_get_block_by_config","block","document","createElement","html","innerHTML","appendChild","area","day","blocks","min_date","max_date","date_to_display","min_day","areas","_scales","sweek","Math","floor","_correct_shift","_cols","sday","_ignores","block_proto","height","offsetHeight","width","offsetWidth","left","_colsS","top","heights","xy","month_scale_height","className","style","lineHeight","cloneNode","round","order","inner_index","size","position","locate_holder","all_hours_height","hour_size_px","hour_ms","markTimespan","configuration","configs","divs","unmarkTimespan","_marked_timespans_ids","unit_id","timespans_view","_marked_timespans_types","day_configs","_array","current_zones","resulting_zones","c_zone_start","c_zone_end","isLast","offset","splice","_subtract_timespan_zones","is_modified","_delete_marked_timespan_by_id","parent_array","_delete_marked_timespan_by_config","day_timespans","d_t","related_zones","timeline","j","arguments","types","t","typedConfig","_get_types_to_render","common","specific","types_to_render","_get_configs_to_render","units","_get_unit_index","unit","dx","day_ind","_date","key","unit_zones","unit_types","global_data","day_types","dblclick_dhx_marked_timespan","e","src","dblclick_create","addEventNow"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_map_view.js b/codebase/sources/ext/dhtmlxscheduler_map_view.js
index a6ce87c..849e5b3 100644
--- a/codebase/sources/ext/dhtmlxscheduler_map_view.js
+++ b/codebase/sources/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.
diff --git a/codebase/sources/ext/dhtmlxscheduler_minical.js b/codebase/sources/ext/dhtmlxscheduler_minical.js
index 7038540..fe6126e 100644
--- a/codebase/sources/ext/dhtmlxscheduler_minical.js
+++ b/codebase/sources/ext/dhtmlxscheduler_minical.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/sources/ext/dhtmlxscheduler_monthheight.js b/codebase/sources/ext/dhtmlxscheduler_monthheight.js
index 0c34893..50c2812 100644
--- a/codebase/sources/ext/dhtmlxscheduler_monthheight.js
+++ b/codebase/sources/ext/dhtmlxscheduler_monthheight.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/sources/ext/dhtmlxscheduler_multisection.js b/codebase/sources/ext/dhtmlxscheduler_multisection.js
deleted file mode 100644
index 90ac985..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_multisection.js
+++ /dev/null
@@ -1,289 +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 = true;
-scheduler.config.multisection_shift_all = true;
-scheduler.config.section_delemiter = ",";
-scheduler.attachEvent("onSchedulerReady", function(){
-
-
- var old_unit = scheduler._update_unit_section;
- scheduler._update_unit_section = function(action){
- return scheduler._update_sections(action, old_unit);
- };
- var old_timeline = scheduler._update_timeline_section;
- scheduler._update_timeline_section =function(action){
- return scheduler._update_sections(action, old_timeline);
- };
-
-
- scheduler.isMultisectionEvent = function(ev){
- if(ev && this._get_multisection_view()){
- var units = this._get_event_sections(ev);
- return (units.length > 1);
- }
- return false;
- };
-
- scheduler._get_event_sections = function(event){
- var mapping = this._get_section_property();
- var units = event[mapping] || "";
- return this._parse_event_sections(units);
- };
- scheduler._parse_event_sections = function(value){
- if(value instanceof Array){
- return value;
- }else{
- return value.toString().split(scheduler.config.section_delemiter);
- }
- };
-
- scheduler._register_copies_array = function(evs){
- for(var i=0; i < evs.length; i++)
- this._register_copy(evs[i]);
- };
- scheduler._register_copy = function(copy){
- if(!this._multisection_copies[copy.id]){
- this._multisection_copies[copy.id] = {};
- }
- var section = copy[this._get_section_property()];
- var evs = this._multisection_copies[copy.id];
- if(!evs[section]){
- evs[section] = copy;
- }
- };
- scheduler._get_copied_event = function(event_id, section){
- if(!this._multisection_copies[event_id])
- return null;
-
- if(this._multisection_copies[event_id][section])
- return this._multisection_copies[event_id][section];
-
- var parts = this._multisection_copies[event_id];
- //multisection event has not been rendered in this section, need retrieve state of one of rendered events
- if(scheduler._drag_event && scheduler._drag_event._orig_section && parts[scheduler._drag_event._orig_section]){
- return parts[scheduler._drag_event._orig_section];
- }else{
- var min_sorder = Infinity,
- ev = null;
- for(var i in parts){
- if(parts[i]._sorder < min_sorder){
- ev = parts[i];
- min_sorder = parts[i]._sorder;
- }
- }
- return ev;
- }
- };
- scheduler._clear_copied_events = function(){
- this._multisection_copies = {};
- };
- scheduler._clear_copied_events();
-
- scheduler._split_events = function(evs) {
- var stack = [];
- var pr = this._get_multisection_view();
- var mapping = this._get_section_property();
- if(pr) {
- for (var i=0; i<evs.length; i++) {
- var units = this._get_event_sections(evs[i]);
-
- if(units.length > 1) {
- for (var j=0; j<units.length; j++) {
- if(typeof pr.order[units[j]] === "undefined")
- continue;
- var ev = this._lame_copy({}, evs[i]);
- ev[mapping] = units[j];
- stack.push(ev);
- }
- } else {
- stack.push(evs[i]);
- }
-
- }
- }else{
- stack = evs;
- }
- return stack;
- };
-
-
- scheduler._get_multisection_view = function(){
- if(!this.config.multisection){
- return false;
- }else{
- return scheduler._get_section_view();
- }
- };
-
- var vis_evs = scheduler.get_visible_events;
- scheduler.get_visible_events = function(only_timed) {
- this._clear_copied_events();
- var evs = vis_evs.apply(this,arguments);
-
- if (this._get_multisection_view()){
- evs = this._split_events(evs);
-
- for(var i=0; i <evs.length; i++){
- if(!this.is_visible_events(evs[i])){
- evs.splice(i, 1);
- i--;
- }
- }
-
- this._register_copies_array(evs);
- }
-
- return evs;
- };
-
- scheduler._rendered_events = {};
- var old_view_data = scheduler.render_view_data;
- scheduler.render_view_data = function(evs, hold) {
- if (this._get_multisection_view() && evs) {
- //render single event during dnd, restore flags that were calculated during full render
- evs = this._split_events(evs);
- this._restore_render_flags(evs);
- }
-
- return old_view_data.apply(this,[evs, hold]);
- };
- scheduler._restore_render_flags = function(section_evs){
- var map_to = this._get_section_property();
- for(var i=0; i < section_evs.length; i++){
- var ev = section_evs[i];
- var prev_state = scheduler._get_copied_event(ev.id, ev[map_to]);
- if(prev_state){
- for(var p in prev_state){
- if(p.indexOf("_") === 0){
- ev[p] = prev_state[p];
- }
- }
- }
- }
- };
- scheduler._update_sections = function(action, def_handler){
- var view = action.view,
- event = action.event,
- pos = action.pos,
- drag_single = true;
- //view - timeline or units view object. both stores displayed sections in 'view.order' hash
- // pos - mouse position, calculated in _mouse_coords method
- // event - scheduler event
-
- if(!scheduler.isMultisectionEvent(event)){
- def_handler.apply(scheduler, [action]);
- }else{
- if(!scheduler._drag_event._orig_section){
- scheduler._drag_event._orig_section = pos.section;
- }
-
- if(scheduler._drag_event._orig_section != pos.section){
- var shift = (view.order[pos.section] - view.order[scheduler._drag_event._orig_section]);
- if(shift){
- var sections = this._get_event_sections(event);
- var new_sections = [];
- var shifted = true;
- if(scheduler.config.multisection_shift_all){
- for(var i=0; i<sections.length; i++){
- var new_section = scheduler._shift_sections(view, sections[i], shift);
- if(new_section !== null){
- new_sections[i] = new_section;
- }else{
- new_sections = sections;
- shifted = false;
- break;
- }
- }
- }else{
- for(var i=0; i<sections.length; i++){
- // if section is occupied return
- if(sections[i] == pos.section){
- new_sections = sections;
- shifted = false;
- break;
- }
-
- // find and shift only one section
- if(sections[i] == scheduler._drag_event._orig_section){
- var new_section = scheduler._shift_sections(view, sections[i], shift);
- if(new_section !== null){
- new_sections[i] = new_section;
- }else{
- new_sections = sections;
- shifted = false;
- break;
- }
- }else{
- new_sections[i] = sections[i];
- }
- }
- }
-
- if(shifted)
- scheduler._drag_event._orig_section = pos.section;
-
- event[scheduler._get_section_property()] = new_sections.join(",");
- }
-
- }
- }
- };
-
- scheduler._shift_sections = function(matrix, orig_section, shift){
- for(var i in matrix.order){
- if(matrix.order[i] - matrix.order[orig_section] == shift){
- return i;
- }
- }
- return null;
- };
-
-
- // limit extension
-
- var old_get_blocked_zones = scheduler._get_blocked_zones;
- scheduler._get_blocked_zones = function(timespans, property, day_index, day_value, timespan_type){
- if(property && this.config.multisection){
- property = this._parse_event_sections(property);
- var zones = [];
- for(var i =0; i < property.length; i++){
- zones = zones.concat(old_get_blocked_zones.apply(this, [timespans, property[i], day_index, day_value, timespan_type]));
- }
- return zones;
- }else{
- return old_get_blocked_zones.apply(this, arguments);
- }
- };
-
-
- // collision extension
- var old_check_secions_collision = scheduler._check_sections_collision;
-
- scheduler._check_sections_collision = function(a, b){
- if(this.config.multisection && this._get_section_view()){
- a = this._split_events([a]);
- b = this._split_events([b]);
-
- var collision = false;
- for(var a_ind = 0, a_len = a.length; a_ind < a_len; a_ind++){
- if(collision){
- break;
- }
- for(var b_ind = 0, b_len = b.length; b_ind < b_len; b_ind++){
- if(old_check_secions_collision.apply(this, [a[a_ind], b[b_ind]])){
- collision = true;
- break;
- }
- }
- }
- return collision;
- }else{
- return old_check_secions_collision.apply(this, arguments);
- }
- };
-}); \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_multisection.js.map b/codebase/sources/ext/dhtmlxscheduler_multisection.js.map
deleted file mode 100644
index 772c26a..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_multisection.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_multisection.js","sources":["dhtmlxscheduler_multisection.js"],"names":["scheduler","config","multisection","multisection_shift_all","section_delemiter","attachEvent","old_unit","_update_unit_section","action","_update_sections","old_timeline","_update_timeline_section","isMultisectionEvent","ev","this","_get_multisection_view","units","_get_event_sections","length","event","mapping","_get_section_property","_parse_event_sections","value","Array","toString","split","_register_copies_array","evs","i","_register_copy","copy","_multisection_copies","id","section","_get_copied_event","event_id","parts","_drag_event","_orig_section","min_sorder","Infinity","_sorder","_clear_copied_events","_split_events","stack","pr","j","order","_lame_copy","push","_get_section_view","vis_evs","get_visible_events","apply","arguments","is_visible_events","splice","_rendered_events","old_view_data","render_view_data","hold","_restore_render_flags","section_evs","map_to","prev_state","p","indexOf","def_handler","view","pos","shift","sections","new_sections","shifted","new_section","_shift_sections","join","matrix","orig_section","old_get_blocked_zones","_get_blocked_zones","timespans","property","day_index","day_value","timespan_type","zones","concat","old_check_secions_collision","_check_sections_collision","a","b","collision","a_ind","a_len","b_ind","b_len"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_multiselect.js b/codebase/sources/ext/dhtmlxscheduler_multiselect.js
index 716c369..2bb513f 100644
--- a/codebase/sources/ext/dhtmlxscheduler_multiselect.js
+++ b/codebase/sources/ext/dhtmlxscheduler_multiselect.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/sources/ext/dhtmlxscheduler_multisource.js b/codebase/sources/ext/dhtmlxscheduler_multisource.js
index 680c392..c921e86 100644
--- a/codebase/sources/ext/dhtmlxscheduler_multisource.js
+++ b/codebase/sources/ext/dhtmlxscheduler_multisource.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/sources/ext/dhtmlxscheduler_mvc.js b/codebase/sources/ext/dhtmlxscheduler_mvc.js
index 9fa72ba..c6d8b19 100644
--- a/codebase/sources/ext/dhtmlxscheduler_mvc.js
+++ b/codebase/sources/ext/dhtmlxscheduler_mvc.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/sources/ext/dhtmlxscheduler_offline.js b/codebase/sources/ext/dhtmlxscheduler_offline.js
index 712b871..9aadfd5 100644
--- a/codebase/sources/ext/dhtmlxscheduler_offline.js
+++ b/codebase/sources/ext/dhtmlxscheduler_offline.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/sources/ext/dhtmlxscheduler_outerdrag.js b/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
index 39dac88..8bdb616 100644
--- a/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
+++ b/codebase/sources/ext/dhtmlxscheduler_outerdrag.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/sources/ext/dhtmlxscheduler_pdf.js b/codebase/sources/ext/dhtmlxscheduler_pdf.js
index 33d34ec..36e863d 100644
--- a/codebase/sources/ext/dhtmlxscheduler_pdf.js
+++ b/codebase/sources/ext/dhtmlxscheduler_pdf.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/sources/ext/dhtmlxscheduler_quick_info.js b/codebase/sources/ext/dhtmlxscheduler_quick_info.js
index 33f351a..0ac4ea9 100644
--- a/codebase/sources/ext/dhtmlxscheduler_quick_info.js
+++ b/codebase/sources/ext/dhtmlxscheduler_quick_info.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/sources/ext/dhtmlxscheduler_readonly.js b/codebase/sources/ext/dhtmlxscheduler_readonly.js
index c396bcf..c815b2d 100644
--- a/codebase/sources/ext/dhtmlxscheduler_readonly.js
+++ b/codebase/sources/ext/dhtmlxscheduler_readonly.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/sources/ext/dhtmlxscheduler_recurring.js b/codebase/sources/ext/dhtmlxscheduler_recurring.js
index 8f81264..e28f5c3 100644
--- a/codebase/sources/ext/dhtmlxscheduler_recurring.js
+++ b/codebase/sources/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.
diff --git a/codebase/sources/ext/dhtmlxscheduler_serialize.js b/codebase/sources/ext/dhtmlxscheduler_serialize.js
index ced6f4f..f3836bd 100644
--- a/codebase/sources/ext/dhtmlxscheduler_serialize.js
+++ b/codebase/sources/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/sources/ext/dhtmlxscheduler_timeline.js b/codebase/sources/ext/dhtmlxscheduler_timeline.js
deleted file mode 100644
index 034e40c..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_timeline.js
+++ /dev/null
@@ -1,1311 +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(){
-
-
-
-scheduler.matrix = {};
-scheduler._merge=function(a,b){
- for (var c in b)
- if (typeof a[c] == "undefined")
- a[c]=b[c];
-};
-scheduler.createTimelineView=function(obj){
- scheduler._skin_init();
-
- scheduler._merge(obj,{
- section_autoheight: true,
- 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: true,
- fit_events: true,
- show_unassigned: false,
- second_scale: false,
- round_position: false,
- _logic: function(render_name, y_unit, timeline) {
- var res = {};
- if(scheduler.checkEvent("onBeforeSectionRender")) {
- res = scheduler.callEvent("onBeforeSectionRender", [render_name, y_unit, timeline]);
- }
- return res;
- }
- });
- obj._original_x_start = obj.x_start;
-
- //first and last hours are applied only to day based timeline
- if (obj.x_unit != "day") obj.first_hour = obj.last_hour = 0;
- //correction for first and last hour
- obj._start_correction = obj.first_hour?obj.first_hour*60*60*1000:0;
- obj._end_correction = obj.last_hour?(24-obj.last_hour)*60*60*1000:0;
-
- if (scheduler.checkEvent("onTimelineCreated")) {
- scheduler.callEvent("onTimelineCreated", [obj]);
- }
-
- var old = scheduler.render_data;
- scheduler.render_data = function(evs, mode) {
- if (this._mode == obj.name) {
- //repaint single event, precision is not necessary
- if (mode && !obj.show_unassigned && obj.render != "cell") {
- for (var i = 0; i < evs.length; i++) {
- this.clear_event(evs[i]);
- this.render_timeline_event.call(this.matrix[this._mode], evs[i], true);
- }
- } else {
- scheduler._renderMatrix.call(obj, true, true);
- }
- } else
- return old.apply(this, arguments);
- };
-
- scheduler.matrix[obj.name]=obj;
- scheduler.templates[obj.name+"_cell_value"] = function(ar){ return ar?ar.length:""; };
- scheduler.templates[obj.name+"_cell_class"] = function(arr){ return ""; };
- scheduler.templates[obj.name+"_scalex_class"] = function(date){ return ""; };
- scheduler.templates[obj.name+"_second_scalex_class"] = function(date){ return ""; };
-
- scheduler.templates[obj.name+"_scaley_class"] = function(section_id, section_label, section_options){ return ""; };
- scheduler.templates[obj.name+"_scale_label"] = function(section_id, section_label, section_options){ return section_label; };
-
- scheduler.templates[obj.name+"_tooltip"] = function(a,b,e){ return e.text; };
- scheduler.templates[obj.name+"_date"] = function(datea, dateb){
- if ( (datea.getDay()==dateb.getDay() && dateb-datea < (24*60*60*1000)) ||
- +datea == +scheduler.date.date_part(new Date(dateb)) ||
- (+scheduler.date.add(datea, 1, "day") == +dateb && dateb.getHours() === 0 && dateb.getMinutes() === 0) )
- return scheduler.templates.day_date(datea);
- if ( (datea.getDay() != dateb.getDay() && dateb-datea < (24*60*60*1000)) ) {
- return scheduler.templates.day_date(datea)+" &ndash; "+scheduler.templates.day_date(dateb);
- }
- return scheduler.templates.week_date(datea, dateb);
- };
-
- scheduler.templates[obj.name+"_scale_date"] = scheduler.date.date_to_str(obj.x_date||scheduler.config.hour_date);
- scheduler.templates[obj.name+"_second_scale_date"] = scheduler.date.date_to_str((obj.second_scale && obj.second_scale.x_date)?obj.second_scale.x_date:scheduler.config.hour_date);
-
- scheduler.date["add_" + obj.name] = function(date, step, c) {
- var resulting_date = scheduler.date.add(date, (obj.x_length || obj.x_size) * step * obj.x_step, obj.x_unit);
- if (obj.x_unit == "minute" || obj.x_unit == "hour") {
- var size = (obj.x_length || obj.x_size);
- var converted_step = (obj.x_unit == "hour") ? obj.x_step*60 : obj.x_step;
- if((converted_step * size) % (24 * 60)){
- //if scroll hours within the day
- if ( +scheduler.date.date_part(new Date(date)) == +scheduler.date.date_part(new Date(resulting_date )) ) {
- obj.x_start += step*size;
- } else {
- // total steps starting from 0
- var total_steps = ( (24 * 60) / (size * converted_step) ) - 1;
- var steps_offset = Math.round(total_steps * size);
-
- if (step > 0) {
- obj.x_start = obj.x_start - steps_offset;
- } else {
- obj.x_start = steps_offset + obj.x_start;
- }
- }
- }
- }
- return resulting_date;
- };
- scheduler.date[obj.name+"_start"] = function(date) {
- var func = scheduler.date[obj.x_unit+"_start"] || scheduler.date.day_start;
- var start_date = func.call(scheduler.date, date);
- start_date = scheduler.date.add(start_date, obj.x_step*obj.x_start, obj.x_unit);
- return start_date;
- };
-
-
- scheduler.callEvent("onOptionsLoad",[obj]);
-
- //init custom wrappers
- scheduler[obj.name+"_view"]=function(enable){
- if(enable){
- scheduler._table_view = true;
- //_renderMatrix will be called by render_data immediately after
- }else{
- scheduler._renderMatrix.apply(obj, arguments);
- }
- };
-
- //enable drag for non-cell modes
- var temp_date = new Date();
- var step_diff = (scheduler.date.add(temp_date, obj.x_step, obj.x_unit).valueOf() - temp_date.valueOf()); // "minute" + step in ms
- scheduler["mouse_"+obj.name]=function(pos){ //mouse_coord handler
- //get event object
- var ev = this._drag_event;
- if (this._drag_id){
- ev = this.getEvent(this._drag_id);
- this._drag_event._dhx_changed = true;
- }
-
- pos.x-=obj.dx;
- var summ = 0, xind = 0;
- var ratio,
- column_width;
- for (xind; xind <= this._cols.length-1; xind++) {
-
- column_width = this._cols[xind];
- summ += column_width;
- if (summ>pos.x){ //index of section
- ratio = (pos.x-(summ-column_width))/column_width;
- ratio = (ratio < 0) ? 0 : ratio;
- break;
- }
- }
-
- if(obj.round_position){
- // in case of click, mouse position will be always rounded to start date of the cell
- // when dragging - position can be rounded to the start date of the next column, in order to improve the usability
- // edge = 1 - always return start date of current cell
- // 0.5 - round to next cell if mouse in the right half of cell
- var edge = 1;
- if(scheduler.getState().drag_mode && scheduler.getState().drag_mode != "move"){
- edge = 0.5;//rounding for resize
- }
- if(ratio >= edge){
- xind++;
- }
- ratio = 0;
- }
-
- //border cases
- if (xind === 0 && this._ignores[0]) {
- xind = 1; ratio = 0;
- while (this._ignores[xind]) xind++;
- } else if ( xind == this._cols.length && this._ignores[xind-1]) {
- xind = this._cols.length-1; ratio = 0;
- while (this._ignores[xind]) xind--;
- xind++;
- }
-
-
- pos.x = 0;
- pos.force_redraw = true;
- pos.custom = true;
-
- var end_date;
- // if our event is at the end of the view
- if(xind >= obj._trace_x.length) {
- end_date = scheduler.date.add(obj._trace_x[obj._trace_x.length-1], obj.x_step, obj.x_unit);
- if (obj._end_correction)
- end_date = new Date(end_date-obj._end_correction);
- } else {
- var timestamp_diff = ratio * column_width * obj._step + obj._start_correction;
- end_date = new Date(+obj._trace_x[xind]+timestamp_diff);
- }
-
- // as we can simply be calling _locate_cell_timeline
- if (this._drag_mode == "move" && this._drag_id && this._drag_event) {
- var ev = this.getEvent(this._drag_id);
- var drag_event = this._drag_event;
-
- pos._ignores = (this._ignores_detected || obj._start_correction || obj._end_correction);
- if (!drag_event._move_delta) {
- drag_event._move_delta = (ev.start_date-end_date)/60000;
- if (this.config.preserve_length && pos._ignores){
- drag_event._move_delta = this._get_real_event_length(ev.start_date,end_date, obj);
- drag_event._event_length = this._get_real_event_length(ev.start_date,ev.end_date, obj);
- }
- }
-
-
-
-
- //preserve visible size of event
- if (this.config.preserve_length && pos._ignores){
- var ev_length = drag_event._event_length;//this._get_real_event_length(ev.start_date, ev.end_date, obj);
- var current_back_shift = this._get_fictional_event_length(end_date, drag_event._move_delta, obj, true);
- end_date = new Date(end_date - current_back_shift);
- } else {
- // converting basically to start_date
- end_date = scheduler.date.add(end_date, drag_event._move_delta, "minute");
- }
- }
-
- if (this._drag_mode == "resize" && ev){
- if(this._drag_from_start && +end_date> +ev.end_date){
- this._drag_from_start = false;
- }else if(!this._drag_from_start && +end_date < +ev.start_date){
- this._drag_from_start = true;
- }
- pos.resize_from_start = this._drag_from_start;
- }
-
- if (obj.round_position) {
- switch(this._drag_mode) {
- case "move":
- if (!this.config.preserve_length){
- end_date = get_rounded_date.call(obj, end_date, false);
- // to preserve original start and end dates
- if(obj.x_unit == "day")//only make sense for whole-day cells
- pos.custom = false;
- }
- break;
- case "resize":
- if(this._drag_event){
- // will save and use resize position only once
- if (this._drag_event._resize_from_start === null || this._drag_event._resize_from_start === undefined) {
- this._drag_event._resize_from_start = pos.resize_from_start;
- }
- pos.resize_from_start = this._drag_event._resize_from_start;
- end_date = get_rounded_date.call(obj, end_date, !this._drag_event._resize_from_start);
- }
- break;
- }
- }
-
- this._resolve_timeline_section(obj, pos);
- if(pos.section){
- // update draggable event with current section
- this._update_timeline_section({pos:pos, event:this.getEvent(this._drag_id), view:obj});
- }
- pos.y = Math.round((end_date-this._min_date)/(1000*60*this.config.time_step));
- pos.shift = this.config.time_step; //step_diff;
-
-
- return pos;
- };
-};
-
-scheduler._get_timeline_event_height = function(ev, config){
- var section = ev[config.y_property]; // section id
- var event_height = config.event_dy;
- if (config.event_dy == "full") {
- if (config.section_autoheight) {
- event_height = config._section_height[section] - 6;
- } else {
- event_height = config.dy - 3;
- }
- }
-
- if (config.resize_events) {
- event_height = Math.max(Math.floor(event_height / ev._count), config.event_min_dy);
- }
- return event_height;
-};
-scheduler._get_timeline_event_y = function(order, event_height){
- var sorder = order;
- var y = 2+sorder*event_height+(sorder?(sorder*2):0); // original top + number_of_events * event_dy + default event top/bottom borders
- if (scheduler.config.cascade_event_display) {
- y =2+sorder*scheduler.config.cascade_event_margin+(sorder?(sorder*2):0);
- }
- return y;
-};
-
-scheduler.render_timeline_event = function(ev, attach){
- var section = ev[this.y_property]; // section id
- if (!section)
- return ""; // as we may await html
-
- var sorder = ev._sorder;
-
- var x_start = _getX(ev, false, this);
- var x_end = _getX(ev, true, this);
-
- var event_height = scheduler._get_timeline_event_height(ev, this);
-
- var hb = event_height - 2;// takes into account css sizes (border/padding)
- if (!ev._inner && this.event_dy == "full") {
- hb=(hb+2)*(ev._count-sorder)-2;
- }
-
- var y = scheduler._get_timeline_event_y(ev._sorder, event_height);
-
- var section_height = event_height+y+2;
- if(!this._events_height[section] || (this._events_height[section] < section_height)){
- this._events_height[section] = section_height;
- }
-
- var cs = scheduler.templates.event_class(ev.start_date,ev.end_date,ev);
- cs = "dhx_cal_event_line "+(cs||"");
-
- var bg_color = (ev.color?("background:"+ev.color+";"):"");
- var color = (ev.textColor?("color:"+ev.textColor+";"):"");
- var text = scheduler.templates.event_bar_text(ev.start_date,ev.end_date,ev);
-
- var html='<div event_id="'+ev.id+'" class="'+cs+'" style="'+bg_color+''+color+'position:absolute; top:'+y+'px; height: '+hb+'px; left:'+x_start+'px; width:'+Math.max(0,x_end-x_start)+'px;'+(ev._text_style||"")+'">';
- if (scheduler.config.drag_resize && !scheduler.config.readonly) {
- var dhx_event_resize = 'dhx_event_resize';
- html += ("<div class='"+dhx_event_resize+" "+dhx_event_resize+"_start' style='height: "+hb+"px;'></div><div class='"+dhx_event_resize+" "+dhx_event_resize+"_end' style='height: "+hb+"px;'></div>");
- }
- html += (text+'</div>');
-
- if (!attach)
- return html;
- else {
- var d = document.createElement("DIV");
- d.innerHTML = html;
- var ind = this.order[section];
- var parent = scheduler._els["dhx_cal_data"][0].firstChild.rows[ind].cells[1].firstChild;
-
- scheduler._rendered.push(d.firstChild);
- parent.appendChild(d.firstChild);
- }
-};
-function trace_events(){
- //minimize event set
- var evs = scheduler.get_visible_events();
- var matrix =[];
- for (var i=0; i < this.y_unit.length; i++)
- matrix[i]=[];
-
- //next code defines row for undefined key
- //most possible it is an artifact of incorrect configuration
- if (!matrix[y])
- matrix[y]=[];
-
- for (var i=0; i < evs.length; i++) {
- var y = this.order[evs[i][this.y_property]];
- var x = 0;
- while (this._trace_x[x+1] && evs[i].start_date>=this._trace_x[x+1]) x++;
- while (this._trace_x[x] && evs[i].end_date>this._trace_x[x]) {
- if (!matrix[y][x]) matrix[y][x]=[];
- matrix[y][x].push(evs[i]);
- x++;
- }
- }
- return matrix;
-}
-// function used to get X (both start and end) coordinates for timeline bar view
-function _getX(ev, isEndPoint, config) {
- var x = 0;
- var step = config._step;
- var round_position = config.round_position;
-
- var column_offset = 0;
- var date = (isEndPoint) ? ev.end_date : ev.start_date;
-
- if(date.valueOf()>scheduler._max_date.valueOf())
- date = scheduler._max_date;
- var delta = date - scheduler._min_date_timeline;
-
- if (delta > 0){
- var index = scheduler._get_date_index(config, date);
- if (scheduler._ignores[index])
- round_position=true;
-
- for (var i = 0; i < index; i++) {
- x += scheduler._cols[i];
- }
-
- var column_date = scheduler.date.add(scheduler._min_date_timeline, scheduler.matrix[scheduler._mode].x_step*index, scheduler.matrix[scheduler._mode].x_unit);
- if (!round_position) {
- delta = date - column_date;
- if (config.first_hour || config.last_hour){
- delta = delta - config._start_correction;
- if (delta < 0) delta = 0;
- column_offset = Math.round(delta/step);
- if (column_offset > scheduler._cols[index])
- column_offset = scheduler._cols[index];
- } else {
- column_offset = Math.round(delta/step);
- }
- } else {
- if (+date > +column_date && isEndPoint) {
- column_offset = scheduler._cols[index];
- }
- }
- }
- if (isEndPoint) {
- // special handling for "round" dates which match columns and usual ones
- if (delta !== 0 && !round_position) {
- x += column_offset-12;
- } else {
- x += column_offset-14;
- }
- } else {
- x += column_offset+1;
- }
- return x;
-}
-function get_rounded_date(date, isEndDate) {
- var index = scheduler._get_date_index(this, date);
- var rounded_date = this._trace_x[index];
- if (isEndDate && (+date != +this._trace_x[index])) {
- rounded_date = (this._trace_x[index+1]) ? this._trace_x[index+1] : scheduler.date.add(this._trace_x[index], this.x_step, this.x_unit);
- }
- return new Date(rounded_date);
-}
-function get_events_html(evs) {
- var html = "";
- if (evs && this.render != "cell"){
- evs.sort(this.sort || function(a,b){
- if(a.start_date.valueOf()==b.start_date.valueOf())
- return a.id>b.id?1:-1;
- return a.start_date>b.start_date?1:-1;
- });
- var stack=[];
- var evs_length = evs.length;
- // prepare events for render
- for (var j=0; j<evs_length; j++){
- var ev = evs[j];
- ev._inner = false;
-
- var ev_start_date = (this.round_position) ? get_rounded_date.apply(this, [ev.start_date, false]) : ev.start_date;
- var ev_end_date = (this.round_position) ? get_rounded_date.apply(this, [ev.end_date, true]) : ev.end_date;
-
- // cutting stack from the last -> first event side
- while (stack.length) {
- var stack_ev = stack[stack.length-1];
- if (stack_ev.end_date.valueOf() <= ev_start_date.valueOf()) {
- stack.splice(stack.length-1,1);
- } else {
- break;
- }
- }
-
- // cutting stack from the first -> last event side
- var sorderSet = false;
- for(var p=0; p<stack.length; p++){
- var t_ev = stack[p];
- if(t_ev.end_date.valueOf() <= ev_start_date.valueOf()){
- sorderSet = true;
- ev._sorder=t_ev._sorder;
- stack.splice(p,1);
- ev._inner=true;
- break;
- }
- }
-
-
- if (stack.length)
- stack[stack.length-1]._inner=true;
-
-
- if (!sorderSet) {
- if (stack.length) {
- if (stack.length <= stack[stack.length - 1]._sorder) {
- if (!stack[stack.length - 1]._sorder)
- ev._sorder = 0;
- else
- for (var h = 0; h < stack.length; h++) {
- var _is_sorder = false;
- for (var t = 0; t < stack.length; t++) {
- if (stack[t]._sorder == h) {
- _is_sorder = true;
- break;
- }
- }
- if (!_is_sorder) {
- ev._sorder = h;
- break;
- }
- }
- ev._inner = true;
- }
- else {
- var _max_sorder = stack[0]._sorder;
- for (var w = 1; w < stack.length; w++)
- if (stack[w]._sorder > _max_sorder)
- _max_sorder = stack[w]._sorder;
- ev._sorder = _max_sorder + 1;
- ev._inner = false;
- }
- }
- else
- ev._sorder = 0;
- }
-
- stack.push(ev);
-
- if (stack.length>(stack.max_count||0)) {
- stack.max_count=stack.length;
- ev._count=stack.length;
- }
- else {
- ev._count=(ev._count)?ev._count:1;
- }
- }
- // fix _count for every event
- for (var m=0; m < evs.length; m++) {
- evs[m]._count = stack.max_count;
- }
- // render events
- for (var v=0; v<evs_length; v++) {
- html+=scheduler.render_timeline_event.call(this, evs[v], false);
- }
- }
- return html;
-}
-
-
-function y_scale(d) {
- var html = "<table style='table-layout:fixed;' cellspacing='0' cellpadding='0'>";
- var evs=[];
- if(scheduler._load_mode)
- scheduler._load();
- if (this.render == "cell")
- evs = trace_events.call(this);
- else {
- var tevs = scheduler.get_visible_events();
- var order = this.order;
-
- for (var j = 0; j < tevs.length; j++) {
- var tev = tevs[j];
- var tev_section = tev[this.y_property];
- var index = this.order[ tev_section ];
-
- if (this.show_unassigned && !tev_section) {
- for (var key in order) {
- if (order.hasOwnProperty(key)) {
- index = order[key];
- if (!evs[index]) evs[index] = [];
- var clone = scheduler._lame_copy({}, tev);
- clone[this.y_property] = key;
- evs[index].push(clone);
- }
- }
- } else {
- // required as we could have index of not displayed section or "undefined"
- if (!evs[index]) evs[index] = [];
- evs[index].push(tev);
- }
- }
- }
-
- var summ = 0;
- for (var i=0; i < scheduler._cols.length; i++)
- summ+=scheduler._cols[i];
-
- var step = new Date();
- var realcount = scheduler._cols.length-scheduler._ignores_detected;
- step = ((scheduler.date.add(step, this.x_step*realcount, this.x_unit)-step)-(this._start_correction + this._end_correction)*realcount)/summ;
- this._step = step;
- this._summ = summ;
-
- var heights = scheduler._colsS.heights=[];
- var render_stats = [];
-
- this._events_height = {};
- this._section_height = {};
- for (var i=0; i<this.y_unit.length; i++){
-
- var stats = this._logic(this.render, this.y_unit[i], this); // obj with custom style
-
- scheduler._merge(stats, {
- height: this.dy
- });
-
- //autosize height, if we have a free space
- if(this.section_autoheight) {
- if (this.y_unit.length * stats.height < d.offsetHeight) {
- stats.height = Math.max(stats.height, Math.floor((d.offsetHeight - 1) / this.y_unit.length));
- }
- this._section_height[this.y_unit[i].key] = stats.height;
- }
-
-
- if(!stats.td_className){
- stats.td_className = "dhx_matrix_scell"+((scheduler.templates[this.name+"_scaley_class"](this.y_unit[i].key, this.y_unit[i].label, this.y_unit[i]))?" "+scheduler.templates[this.name+"_scaley_class"](this.y_unit[i].key, this.y_unit[i].label, this.y_unit[i]):'');
- }
- if(!stats.td_content){
- stats.td_content = scheduler.templates[this.name+'_scale_label'](this.y_unit[i].key, this.y_unit[i].label, this.y_unit[i]);
- }
- scheduler._merge(stats, {
- //section 1
- tr_className: "",
- style_height: "height:"+stats.height+"px;",
- style_width: "width:"+(this.dx-1)+"px;",
- //section 2
- summ_width: "width:"+summ+"px;",
- //section 3
- table_className: ''
- });
-
- // generating events html in a temporary file, calculating their height
- var events_html = get_events_html.call(this, evs[i]);
-
- if(this.fit_events){
- var rendered_height = this._events_height[this.y_unit[i].key]||0;
- stats.height = (rendered_height>stats.height)?rendered_height:stats.height;
- stats.style_height = "height:"+stats.height+"px;";
- this._section_height[this.y_unit[i].key] = stats.height;
- }
-
- // section 1
- html+="<tr class='"+stats.tr_className+"' style='"+stats.style_height+"'><td class='"+stats.td_className+"' style='"+stats.style_width+" height:"+(stats.height-1)+"px;'>"+stats.td_content+"</td>";
-
- if (this.render == "cell"){
- for (var j=0; j < scheduler._cols.length; j++) {
- if (scheduler._ignores[j])
- html+="<td></td>";
- else
- html+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](evs[i][j],this._trace_x[j],this.y_unit[i])+"' style='width:"+(scheduler._cols[j]-1)+"px'><div style='width:"+(scheduler._cols[j]-1)+"px'>"+scheduler.templates[this.name+"_cell_value"](evs[i][j],this._trace_x[j],this.y_unit[i])+"</div></td>";
- }
- } else {
- //section 2
- html+="<td><div style='"+stats.summ_width+" "+stats.style_height+" position:relative;' class='dhx_matrix_line'>";
-
- // adding events
- html += events_html;
-
- //section 3
- html+="<table class='"+stats.table_className+"' cellpadding='0' cellspacing='0' style='"+stats.summ_width+" "+stats.style_height+"' >";
- for (var j=0; j < scheduler._cols.length; j++){
- if (scheduler._ignores[j])
- html+="<td></td>";
- else
- html+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](evs[i],this._trace_x[j],this.y_unit[i])+"' style='width:"+(scheduler._cols[j]-1)+"px'><div style='width:"+(scheduler._cols[j]-1)+"px'></div></td>";
- }
- html+="</table>";
- html+="</div></td>";
- }
- html+="</tr>";
- render_stats.push(stats);
- }
- html += "</table>";
- this._matrix = evs;
-
- //d.scrollTop = 0; //fix flickering in FF; disabled as it was impossible to create dnd event if scroll was used (window jumped to the top)
- d.innerHTML = html;
-
- scheduler._rendered = [];
- var divs = scheduler._obj.getElementsByTagName("DIV");
- for (var i=0; i < divs.length; i++)
- if (divs[i].getAttribute("event_id"))
- scheduler._rendered.push(divs[i]);
-
- this._scales = {};
- var rows = d.firstChild.rows;
- var unit = null;
- for (var i= 0, len = render_stats.length; i < len; i++) {
- unit = this.y_unit[i];
- heights.push(render_stats[i].height);
-
- //heights.push(rows[i].offsetHeight);
- var unit_key = unit.key;
- var scale = this._scales[unit_key] = (scheduler._isRender('cell')) ? rows[i] : rows[i].childNodes[1].getElementsByTagName('div')[0];
- scheduler.callEvent("onScaleAdd", [scale, unit_key]);
- }
-}
-function x_scale(h){
- var current_sh = scheduler.xy.scale_height;
- var original_sh = this._header_resized||scheduler.xy.scale_height;
- scheduler._cols=[]; //store for data section, each column width
- scheduler._colsS={height:0}; // heights of the y sections
- this._trace_x =[]; // list of dates per cells
- var summ = scheduler._x - this.dx - scheduler.xy.scroll_width; //border delta, whole width
- var left = [this.dx]; // left margins, initial left margin
- var header = scheduler._els['dhx_cal_header'][0];
- header.style.width = (left[0]+summ)+'px';
-
- scheduler._min_date_timeline = scheduler._min_date;
-
- var preserve = scheduler.config.preserve_scale_length;
- var start = scheduler._min_date;
- scheduler._process_ignores(start, this.x_size, this.x_unit, this.x_step, preserve);
-
- var size = this.x_size + (preserve ? scheduler._ignores_detected : 0);
- if (size != this.x_size)
- scheduler._max_date = scheduler.date.add(scheduler._min_date, size*this.x_step, this.x_unit);
-
- var realcount = size - scheduler._ignores_detected;
- for (var k=0; k<size; k++){
- // dates calculation
- this._trace_x[k]=new Date(start);
- start = scheduler.date.add(start, this.x_step, this.x_unit);
-
- // position calculation
- if (scheduler._ignores[k]){
- scheduler._cols[k]=0;
- realcount++;
- } else {
- scheduler._cols[k]=Math.floor(summ/(realcount-k));
- }
-
- summ -= scheduler._cols[k];
- left[k+1] = left[k] + scheduler._cols[k];
- }
- h.innerHTML = "<div></div>";
-
- if(this.second_scale){
- // additional calculations
- var mode = this.second_scale.x_unit;
- var control_dates = [this._trace_x[0]]; // first control date
- var second_cols = []; // each column width of the secondary row
- var second_left = [this.dx, this.dx]; // left margins of the secondary row
- var t_index = 0; // temp index
- for (var l = 0; l < this._trace_x.length; l++) {
- var date = this._trace_x[l];
- var res = is_new_interval(mode, date, control_dates[t_index]);
-
- if(res) { // new interval
- ++t_index; // starting new interval
- control_dates[t_index] = date; // updating control date as we moved to the new interval
- second_left[t_index+1] = second_left[t_index];
- }
- var t = t_index+1;
- second_cols[t_index] = scheduler._cols[l] + (second_cols[t_index]||0);
- second_left[t] += scheduler._cols[l];
- }
-
- h.innerHTML = "<div></div><div></div>";
- var top = h.firstChild;
- top.style.height = (original_sh)+'px'; // actually bottom header takes 21px
- var bottom = h.lastChild;
- bottom.style.position = "relative";
-
- for (var m = 0; m < control_dates.length; m++) {
- var tdate = control_dates[m];
- var scs = scheduler.templates[this.name+"_second_scalex_class"](tdate);
- var head=document.createElement("DIV"); head.className="dhx_scale_bar dhx_second_scale_bar"+((scs)?(" "+scs):"");
- scheduler.set_xy(head,second_cols[m]-1,original_sh-3,second_left[m],0); //-1 for border, -3 = -2 padding -1 border bottom
- head.innerHTML = scheduler.templates[this.name+"_second_scale_date"](tdate);
- top.appendChild(head);
- }
- }
-
- scheduler.xy.scale_height = original_sh; // fix for _render_x_header which uses current scale_height value
- h = h.lastChild; // h - original scale
- for (var i=0; i<this._trace_x.length; i++){
- if (scheduler._ignores[i])
- continue;
-
- start = this._trace_x[i];
- scheduler._render_x_header(i, left[i], start, h);
- var cs = scheduler.templates[this.name+"_scalex_class"](start);
- if (cs)
- h.lastChild.className += " "+cs;
- }
- scheduler.xy.scale_height = current_sh; // restoring current value
-
- var trace = this._trace_x;
- h.onclick = function(e){
- var pos = locate_hcell(e);
- if (pos)
- scheduler.callEvent("onXScaleClick",[pos.x, trace[pos.x], e||event]);
- };
- h.ondblclick = function(e){
- var pos = locate_hcell(e);
- if (pos)
- scheduler.callEvent("onXScaleDblClick",[pos.x, trace[pos.x], e||event]);
- };
-}
-function is_new_interval(mode, date, control_date){ // mode, date to check, control_date for which period should be checked
- switch(mode) {
- case "hour":
- return ((date.getHours() != control_date.getHours()) || is_new_interval("day", date, control_date));
- case "day":
- return !(date.getDate() == control_date.getDate() && date.getMonth() == control_date.getMonth() && date.getFullYear() == control_date.getFullYear());
- case "week":
- return !(scheduler.date.getISOWeek(date) == scheduler.date.getISOWeek(control_date) && date.getFullYear() == control_date.getFullYear());
- case "month":
- return !(date.getMonth() == control_date.getMonth() && date.getFullYear() == control_date.getFullYear());
- case "year":
- return !(date.getFullYear() == control_date.getFullYear());
- default:
- return false; // same interval
- }
-}
-function set_full_view(mode){
- if (mode){
- scheduler.set_sizes();
- scheduler._init_matrix_tooltip();
-
- //we need to have day-rounded scales for navigation
- //in same time, during rendering scales may be shifted
- var temp = scheduler._min_date;
- x_scale.call(this,scheduler._els["dhx_cal_header"][0]);
- y_scale.call(this,scheduler._els["dhx_cal_data"][0]);
- scheduler._min_date = temp;
- scheduler._els["dhx_cal_date"][0].innerHTML=scheduler.templates[this.name+"_date"](scheduler._min_date, scheduler._max_date);
- if (scheduler._mark_now) {
- scheduler._mark_now();
- }
- }
-
- // hide tooltip if it is displayed
- hideToolTip();
-}
-
-
-function hideToolTip(){
- if (scheduler._tooltip){
- scheduler._tooltip.style.display = "none";
- scheduler._tooltip.date = "";
- }
-}
-function showToolTip(obj,pos,offset){
- if (obj.render != "cell") return;
- var mark = pos.x+"_"+pos.y;
- var evs = obj._matrix[pos.y][pos.x];
-
- if (!evs) return hideToolTip();
-
- evs.sort(function(a,b){ return a.start_date>b.start_date?1:-1; });
-
- if (scheduler._tooltip){
- if (scheduler._tooltip.date == mark) return;
- scheduler._tooltip.innerHTML="";
- } else {
- var t = scheduler._tooltip = document.createElement("DIV");
- t.className = "dhx_year_tooltip";
- document.body.appendChild(t);
- t.onclick = scheduler._click.dhx_cal_data;
- }
-
- var html = "";
-
- for (var i=0; i<evs.length; i++){
- var bg_color = (evs[i].color?("background-color:"+evs[i].color+";"):"");
- var color = (evs[i].textColor?("color:"+evs[i].textColor+";"):"");
- html+="<div class='dhx_tooltip_line' event_id='"+evs[i].id+"' style='"+bg_color+""+color+"'>";
- html+="<div class='dhx_tooltip_date'>"+(evs[i]._timed?scheduler.templates.event_date(evs[i].start_date):"")+"</div>";
- html+="<div class='dhx_event_icon icon_details'>&nbsp;</div>";
- html+=scheduler.templates[obj.name+"_tooltip"](evs[i].start_date, evs[i].end_date,evs[i])+"</div>";
- }
-
- scheduler._tooltip.style.display="";
- scheduler._tooltip.style.top = "0px";
-
- if (document.body.offsetWidth-offset.left-scheduler._tooltip.offsetWidth < 0)
- scheduler._tooltip.style.left = offset.left-scheduler._tooltip.offsetWidth+"px";
- else
- scheduler._tooltip.style.left = offset.left+pos.src.offsetWidth+"px";
-
- scheduler._tooltip.date = mark;
- scheduler._tooltip.innerHTML = html;
-
- if (document.body.offsetHeight-offset.top-scheduler._tooltip.offsetHeight < 0)
- scheduler._tooltip.style.top= offset.top-scheduler._tooltip.offsetHeight+pos.src.offsetHeight+"px";
- else
- scheduler._tooltip.style.top= offset.top+"px";
-}
-
-scheduler._matrix_tooltip_handler = function(e){
- var obj = scheduler.matrix[scheduler._mode];
- if (!obj || obj.render != "cell")
- return;
- if (obj){
- var pos = scheduler._locate_cell_timeline(e);
- var e = e || event;
- var src = e.target||e.srcElement;
- if (pos)
- return showToolTip(obj,pos,getOffset(pos.src));
- }
- hideToolTip();
-};
-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(mode, refresh) {
- if (!refresh)
- 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 = true;
- if (this.second_scale) {
- if (mode && !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";
- }
- if (!mode && this._header_resized) {
- scheduler.xy.scale_height /= 2;
- this._header_resized = false;
- var header = scheduler._els['dhx_cal_header'][0];
- header.className = header.className.replace(/ dhx_second_cal_header/gi,"");
- }
- }
- set_full_view.call(this,mode);
-};
-
-function html_index(el) {
- var p = el.parentNode.childNodes;
- for (var i=0; i < p.length; i++)
- if (p[i] == el) return i;
- return -1;
-}
-function locate_hcell(e){
- e = e||event;
- var trg = e.target?e.target:e.srcElement;
- while (trg && trg.tagName != "DIV")
- trg=trg.parentNode;
- if (trg && trg.tagName == "DIV"){
- var cs = trg.className.split(" ")[0];
- if (cs == "dhx_scale_bar")
- return { x:html_index(trg), y:-1, src:trg, scale:true };
- }
-}
-scheduler._locate_cell_timeline = function(e){
- e = e||event;
- var trg = e.target?e.target:e.srcElement;
-
- var res = {};
- var view = scheduler.matrix[scheduler._mode];
- var pos = scheduler.getActionData(e);
-
- for (var xind = 0; xind < view._trace_x.length-1; xind++) {
- // | 8:00, 8:30 | 8:15 should be checked against 8:30
- // clicking at the most left part of the cell, say 8:30 should create event in that cell, not previous one
- if (+pos.date < view._trace_x[xind+1])
- break;
- }
-
- res.x = xind;
- res.y = view.order[pos.section];
- var diff = scheduler._isRender('cell') ? 1 : 0;
- res.src = view._scales[pos.section] ? view._scales[pos.section].getElementsByTagName('td')[xind+diff] : null;
-
- var isScale = false;
- while (res.x === 0 && trg.className != "dhx_cal_data" && trg.parentNode) {
- if (trg.className.split(" ")[0] == "dhx_matrix_scell") {
- isScale = true;
- break;
- } else {
- trg = trg.parentNode;
- }
- }
- if (isScale) { // Y scale
- res.x = -1;
- res.src = trg;
- res.scale = true;
- }
-
- return res;
-};
-
-var old_click = scheduler._click.dhx_cal_data;
-scheduler._click.dhx_marked_timespan = scheduler._click.dhx_cal_data = function(e){
- var ret = old_click.apply(this,arguments);
- var obj = scheduler.matrix[scheduler._mode];
- if (obj){
- var pos = scheduler._locate_cell_timeline(e);
- if (pos){
- if (pos.scale)
- scheduler.callEvent("onYScaleClick",[pos.y, obj.y_unit[pos.y], e||event]);
- else
- scheduler.callEvent("onCellClick",[pos.x, pos.y, obj._trace_x[pos.x], (((obj._matrix[pos.y]||{})[pos.x])||[]), e||event]);
- }
- }
- return ret;
-};
-
-scheduler.dblclick_dhx_matrix_cell = function(e){
- var obj = scheduler.matrix[scheduler._mode];
- if (obj){
- var pos = scheduler._locate_cell_timeline(e);
- if (pos){
- if (pos.scale)
- scheduler.callEvent("onYScaleDblClick",[pos.y, obj.y_unit[pos.y], e||event]);
- else
- scheduler.callEvent("onCellDblClick",[pos.x, pos.y, obj._trace_x[pos.x], (((obj._matrix[pos.y]||{})[pos.x])||[]), e||event]);
- }
- }
-};
-
-var old_dblclick_marked_timespan = scheduler.dblclick_dhx_marked_timespan || function(){};
-scheduler.dblclick_dhx_marked_timespan = function(e){
- var obj = scheduler.matrix[scheduler._mode];
- if (obj)
- return scheduler.dblclick_dhx_matrix_cell(e);
- else
- return old_dblclick_marked_timespan.apply(this,arguments);
-};
-
-scheduler.dblclick_dhx_matrix_scell = function(e){
- return scheduler.dblclick_dhx_matrix_cell(e);
-};
-
-scheduler._isRender = function(mode){
- return (scheduler.matrix[scheduler._mode] && scheduler.matrix[scheduler._mode].render == mode);
-};
-
-scheduler.attachEvent("onCellDblClick", function (x, y, a, b, event){
- if (this.config.readonly|| (event.type == "dblclick" && !this.config.dblclick_create)) return;
-
- var obj = scheduler.matrix[scheduler._mode];
- var event_options = {};
- event_options.start_date = obj._trace_x[x];
- event_options.end_date = (obj._trace_x[x+1]) ? obj._trace_x[x+1] : scheduler.date.add(obj._trace_x[x], obj.x_step, obj.x_unit);
-
- if (obj._start_correction)
- event_options.start_date = new Date(event_options.start_date*1 + obj._start_correction);
- if (obj._end_correction)
- event_options.end_date = new Date(event_options.end_date - obj._end_correction);
-
- event_options[obj.y_property] = obj.y_unit[y].key;
- scheduler.addEventNow(event_options, null, event);
-});
-
-scheduler.attachEvent("onBeforeDrag", function (event_id, mode, native_event_object){
- return !scheduler._isRender("cell");
-});
-scheduler.attachEvent("onEventChanged", function(id, ev) {
- ev._timed = this.isOneDayEvent(ev);
-});
-
-
-scheduler._is_column_visible = function(date){
- var mode = scheduler.matrix[scheduler._mode];
- var start_ind = scheduler._get_date_index(mode, date);
- return !scheduler._ignores[start_ind];
-};
-var old_render_marked_timespan = scheduler._render_marked_timespan;
-scheduler._render_marked_timespan = function(options, area, unit_id, min_date, max_date) {
- if (!scheduler.config.display_marked_timespans)
- return [];
-
- if (scheduler.matrix && scheduler.matrix[scheduler._mode]) {
- if (scheduler._isRender('cell'))
- return;
-
- var view_opts = scheduler._lame_copy({}, scheduler.matrix[scheduler._mode]);
- //timespans must always use actual position, not rounded
- view_opts.round_position = false;
- var blocks = [];
-
- var units = [];
- var areas = [];
- var section = options.sections ? (options.sections.units || options.sections.timeline) : null;
- if (!unit_id) { // should draw for every unit...
- var order = view_opts.order;
- if (section) { // ...or for only section if mentioned in configuration of timespan
- if (order.hasOwnProperty(section)) {
- units.push(section);
- areas.push(view_opts._scales[section]);
- }
- }else{
- for (var key in order) {
- if (order.hasOwnProperty(key)) {
- units.push(key);
- areas.push(view_opts._scales[key]);
- }
- }
- }
- } else {
- areas = [area];
- units = [unit_id];
- }
-
- var min_date = min_date ? new Date(min_date) : scheduler._min_date;
- var max_date = max_date ? new Date(max_date) : scheduler._max_date;
-
- if(min_date.valueOf() < scheduler._min_date.valueOf())
- min_date = new Date(scheduler._min_date);
- if(max_date.valueOf() > scheduler._max_date.valueOf())
- max_date = new Date(scheduler._max_date);
-
- if(!scheduler._is_column_visible(min_date))
- return;
-
- var dates = [];
-
- if (options.days > 6) {
- var specific_date = new Date(options.days);
- if (scheduler.date.date_part(new Date(min_date)) <= +specific_date && +max_date >= +specific_date)
- dates.push(specific_date);
- } else {
- dates.push.apply(dates, scheduler._get_dates_by_index(options.days));
- }
-
- var zones = options.zones;
- var css_classes = scheduler._get_css_classes_by_config(options);
-
- for (var j=0; j<units.length; j++) {
- area = areas[j];
- unit_id = units[j];
-
- for (var i=0; i<dates.length; i++) {
- var date = dates[i];
- for (var k=0; k<zones.length; k += 2) {
- var zone_start = zones[k];
- var zone_end = zones[k+1];
- var start_date = new Date(+date + zone_start*60*1000);
- var end_date = new Date(+date + zone_end*60*1000);
-
- if (!(min_date < end_date && max_date > start_date))
- continue;
-
- var block = scheduler._get_block_by_config(options);
- block.className = css_classes;
-
- var start_pos = _getX({start_date: start_date}, false, view_opts)-1;
- var end_pos = _getX({start_date: end_date}, false, view_opts)-1;
- var width = Math.max(1, end_pos - start_pos - 1);
- var height = view_opts._section_height[unit_id]-1;
-
- block.style.cssText = "height: "+height+"px; left: "+start_pos+"px; width: "+width+"px; top: 0;";
-
- area.insertBefore(block, area.firstChild);
- blocks.push(block);
- }
- }
- }
-
- return blocks;
-
- } else {
- return old_render_marked_timespan.apply(scheduler, [options, area, unit_id]);
- }
-};
-
-var old_append_mark_now = scheduler._append_mark_now;
-scheduler._append_mark_now = function(day_index, now) {
- if (scheduler.matrix && scheduler.matrix[scheduler._mode]) {
- var n_date = scheduler._currentDate();
- var zone_start = scheduler._get_zone_minutes(n_date);
- var options = {
- days: +scheduler.date.date_part(n_date),
- zones: [zone_start, zone_start+1],
- css: "dhx_matrix_now_time",
- type: "dhx_now_time"
- };
- return scheduler._render_marked_timespan(options);
- } else {
- return old_append_mark_now.apply(scheduler, [day_index, now]);
- }
-};
-
-scheduler.attachEvent("onScaleAdd", function(scale, unit_key) {
- var timespans = scheduler._marked_timespans;
-
- if (timespans && scheduler.matrix && scheduler.matrix[scheduler._mode]) {
- var mode = scheduler._mode;
-
- var min_date = scheduler._min_date;
- var max_date = scheduler._max_date;
- var global_data = timespans["global"];
-
- for (var t_date = scheduler.date.date_part(new Date(min_date)); t_date < max_date; t_date = scheduler.date.add(t_date, 1, "day")) {
- var day_value = +t_date;
- var day_index = t_date.getDay();
- var r_configs = [];
-
- var day_types = global_data[day_value]||global_data[day_index];
- r_configs.push.apply(r_configs, scheduler._get_configs_to_render(day_types));
-
- if (timespans[mode] && timespans[mode][unit_key]) {
- var z_config = [];
- var unit_types = scheduler._get_types_to_render(timespans[mode][unit_key][day_index], timespans[mode][unit_key][day_value]);
- z_config.push.apply(z_config, scheduler._get_configs_to_render(unit_types));
- if(z_config.length)
- r_configs = z_config;
- }
-
- for (var i=0; i<r_configs.length; i++) {
- var config = r_configs[i];
- var day = config.days;
- if (day < 7) {
- day = day_value;
- //specify min/max timespan dates, otherwise it can be rendered multiple times in some configurations
- scheduler._render_marked_timespan(config, scale, unit_key, t_date, scheduler.date.add(t_date, 1, "day"));
- day = day_index;
- } else {
- scheduler._render_marked_timespan(config, scale, unit_key, t_date, scheduler.date.add(t_date, 1, "day"));
- }
- }
- }
- }
-});
-
-scheduler._resolve_timeline_section = function(view, pos){
- var yind = 0;
- var summ = 0;
- for (yind; yind < this._colsS.heights.length; yind++) {
- summ += this._colsS.heights[yind];
- if (summ > pos.y)
- break;
- }
-
- if(!view.y_unit[yind]) {
- yind=view.y_unit.length-1;
- }
- if(this._drag_event && !this._drag_event._orig_section){
- this._drag_event._orig_section = view.y_unit[yind].key;
- }
-
- pos.fields = {};
- if (yind >= 0 && view.y_unit[yind]) {
- pos.section = pos.fields[view.y_property] = view.y_unit[yind].key;
- }
-};
-scheduler._update_timeline_section = function(action){
- var view = action.view,
- event = action.event,
- pos = action.pos;
-
- if (event) {
- if(event[view.y_property] != pos.section){
- var line_height = this._get_timeline_event_height(event, view);
- event._sorder = this._get_dnd_order(event._sorder, line_height, view._section_height[pos.section]);
- }
- event[view.y_property] = pos.section;
- }
-};
-scheduler._get_date_index=function(config, date) {
- var index = 0;
- var trace_x = config._trace_x;
- while (index < trace_x.length-1 && +date >= +trace_x[index+1]) {
- index++;
- }
- return index;
-};
-
-scheduler.attachEvent("onBeforeTodayDisplayed", function() {
- for(var i in scheduler.matrix){
- var obj = scheduler.matrix[i];
- obj.x_start = obj._original_x_start;
- }
- return true;
-});
-
-scheduler.attachEvent("onOptionsLoad",function(){
- for(var i in scheduler.matrix){
- var obj = scheduler.matrix[i];
-
- obj.order = {};
- scheduler.callEvent('onOptionsLoadStart', []);
- for(var i=0; i<obj.y_unit.length;i++)
- obj.order[obj.y_unit[i].key]=i;
- scheduler.callEvent('onOptionsLoadFinal', []);
- if (scheduler._date && obj.name == scheduler._mode)
- scheduler.setCurrentView(scheduler._date, scheduler._mode);
- }
-});
-
-scheduler.attachEvent("onSchedulerResize",function(){
- if (scheduler.matrix[this._mode]){
- var obj = scheduler.matrix[this._mode];
- scheduler._renderMatrix.call(obj, true, true);
- return false;
- }
- return true;
-});
-
-scheduler.attachEvent("onBeforeDrag",function(id, drag_mode, e){
- if(drag_mode == 'resize'){
- var trg = e.target || e.srcElement;
- if((trg.className||"").indexOf("dhx_event_resize_end") < 0){
- scheduler._drag_from_start = true;
- }else{
- scheduler._drag_from_start = false;
- }
- }
-
- return true;
-});
-
-};
-scheduler._temp_matrix_scope();
diff --git a/codebase/sources/ext/dhtmlxscheduler_timeline.js.map b/codebase/sources/ext/dhtmlxscheduler_timeline.js.map
deleted file mode 100644
index 48aabd8..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_timeline.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_timeline.js","sources":["dhtmlxscheduler_timeline.js"],"names":["scheduler","_temp_matrix_scope","trace_events","evs","get_visible_events","matrix","i","this","y_unit","length","y","order","y_property","x","_trace_x","start_date","end_date","push","_getX","ev","isEndPoint","config","step","_step","round_position","column_offset","date","valueOf","_max_date","delta","_min_date_timeline","index","_get_date_index","_ignores","_cols","column_date","add","_mode","x_step","x_unit","first_hour","last_hour","_start_correction","Math","round","get_rounded_date","isEndDate","rounded_date","Date","get_events_html","html","render","sort","a","b","id","stack","evs_length","j","_inner","ev_start_date","apply","stack_ev","splice","sorderSet","p","t_ev","_sorder","h","_is_sorder","t","_max_sorder","w","max_count","_count","m","v","render_timeline_event","call","y_scale","d","_load_mode","_load","tevs","tev","tev_section","show_unassigned","key","hasOwnProperty","clone","_lame_copy","summ","realcount","_ignores_detected","_end_correction","_summ","heights","_colsS","render_stats","_events_height","_section_height","stats","_logic","_merge","height","dy","section_autoheight","offsetHeight","max","floor","td_className","templates","name","label","td_content","tr_className","style_height","style_width","dx","summ_width","table_className","events_html","fit_events","rendered_height","_matrix","innerHTML","_rendered","divs","_obj","getElementsByTagName","getAttribute","_scales","rows","firstChild","unit","len","unit_key","scale","_isRender","childNodes","callEvent","x_scale","current_sh","xy","scale_height","original_sh","_header_resized","_x","scroll_width","left","header","_els","style","width","_min_date","preserve","preserve_scale_length","start","_process_ignores","x_size","size","k","second_scale","mode","control_dates","second_cols","second_left","t_index","l","res","is_new_interval","top","bottom","lastChild","position","tdate","scs","head","document","createElement","className","set_xy","appendChild","_render_x_header","cs","trace","onclick","e","pos","locate_hcell","event","ondblclick","control_date","getHours","getDate","getMonth","getFullYear","getISOWeek","set_full_view","set_sizes","_init_matrix_tooltip","temp","_mark_now","hideToolTip","_tooltip","display","showToolTip","obj","offset","mark","body","_click","dhx_cal_data","bg_color","color","textColor","_timed","event_date","offsetWidth","src","html_index","el","parentNode","trg","target","srcElement","tagName","split","c","createTimelineView","_skin_init","y_step","x_start","y_start","y_size","event_dy","bar_height","event_min_dy","resize_events","render_name","timeline","checkEvent","_original_x_start","old","render_data","arguments","clear_event","_renderMatrix","ar","section_id","section_label","text","datea","dateb","getDay","date_part","getMinutes","day_date","week_date","date_to_str","x_date","hour_date","resulting_date","x_length","converted_step","total_steps","steps_offset","func","day_start","enable","_table_view","temp_date","_drag_event","_drag_id","getEvent","_dhx_changed","ratio","column_width","xind","edge","getState","drag_mode","force_redraw","custom","timestamp_diff","_drag_mode","drag_event","_move_delta","preserve_length","_get_real_event_length","_event_length","current_back_shift","_get_fictional_event_length","_drag_from_start","resize_from_start","_resize_from_start","undefined","_resolve_timeline_section","section","_update_timeline_section","view","time_step","shift","_get_timeline_event_height","event_height","_get_timeline_event_y","sorder","cascade_event_display","cascade_event_margin","attach","x_end","hb","section_height","event_class","event_bar_text","_text_style","drag_resize","readonly","dhx_event_resize","ind","parent","cells","_matrix_tooltip_handler","_locate_cell_timeline","getOffset","_detachDomEvent","dhtmlxEvent","refresh","scrollTop","_date","replace","getActionData","diff","isScale","old_click","dhx_marked_timespan","ret","dblclick_dhx_matrix_cell","old_dblclick_marked_timespan","dblclick_dhx_marked_timespan","dblclick_dhx_matrix_scell","attachEvent","type","dblclick_create","event_options","addEventNow","isOneDayEvent","_is_column_visible","start_ind","old_render_marked_timespan","_render_marked_timespan","options","area","unit_id","min_date","max_date","display_marked_timespans","view_opts","blocks","units","areas","sections","dates","days","specific_date","_get_dates_by_index","zones","css_classes","_get_css_classes_by_config","zone_start","zone_end","block","_get_block_by_config","start_pos","end_pos","cssText","insertBefore","old_append_mark_now","_append_mark_now","day_index","now","n_date","_currentDate","_get_zone_minutes","css","timespans","_marked_timespans","global_data","t_date","day_value","r_configs","day_types","_get_configs_to_render","z_config","unit_types","_get_types_to_render","day","yind","_orig_section","fields","action","line_height","_get_dnd_order","trace_x","setCurrentView","indexOf"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_tooltip.js b/codebase/sources/ext/dhtmlxscheduler_tooltip.js
index b5191f8..60ead36 100644
--- a/codebase/sources/ext/dhtmlxscheduler_tooltip.js
+++ b/codebase/sources/ext/dhtmlxscheduler_tooltip.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/sources/ext/dhtmlxscheduler_treetimeline.js b/codebase/sources/ext/dhtmlxscheduler_treetimeline.js
deleted file mode 100644
index f42695c..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_treetimeline.js
+++ /dev/null
@@ -1,313 +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 (obj){
-
- if(obj.render == "tree") {
- obj.y_unit_original = obj.y_unit;
- obj.y_unit = scheduler._getArrayToDisplay(obj.y_unit_original);
-
- scheduler.attachEvent('onOptionsLoadStart', function(){
- obj.y_unit = scheduler._getArrayToDisplay(obj.y_unit_original);
- });
-
- scheduler.form_blocks[obj.name]={
- render:function(sns) {
- var _result = "<div class='dhx_section_timeline' style='overflow: hidden; height: "+sns.height+"px'></div>";
- return _result;
- },
- set_value:function(node,value,ev,config){
- var options = scheduler._getArrayForSelect(scheduler.matrix[config.type].y_unit_original, config.type);
- node.innerHTML = '';
- var temp_select = document.createElement('select');
- node.appendChild(temp_select);
-
- var select = node.getElementsByTagName('select')[0];
-
- if (!select._dhx_onchange && config.onchange) {
- select.onchange = config.onchange;
- select._dhx_onchange = true;
- }
-
- for (var i = 0; i < options.length; i++) {
- var temp_option = document.createElement('option');
- temp_option.value = options[i].key;
- if(temp_option.value == ev[scheduler.matrix[config.type].y_property])
- temp_option.selected = true;
- temp_option.innerHTML = options[i].label;
- select.appendChild(temp_option);
- }
- },
- get_value:function(node,ev,config){
- return node.firstChild.value;
- },
- focus:function(node){
- }
- };
-
-
- }
-});
-
-scheduler.attachEvent("onBeforeSectionRender", function (render_name, y_unit, timeline){
- var res = {};
- if(render_name == "tree"){
- var height;
- // section 1
- var tr_className, style_height, td_className;
- var div_expand;
- // section 3
- var table_className;
- if(y_unit.children) {
- height = timeline.folder_dy||timeline.dy;
- if(timeline.folder_dy && !timeline.section_autoheight) {
- style_height = "height:"+timeline.folder_dy+"px;";
- }
- tr_className = "dhx_row_folder";
- td_className = "dhx_matrix_scell folder";
- div_expand = "<div class='dhx_scell_expand'>"+((y_unit.open)?'-':'+')+"</div>";
- table_className = (timeline.folder_events_available)?"dhx_data_table folder_events":"dhx_data_table folder";
- } else {
- height = timeline.dy;
- tr_className = "dhx_row_item";
- td_className = "dhx_matrix_scell item"+(scheduler.templates[timeline.name+"_scaley_class"](y_unit.key, y_unit.label, y_unit) ?
- " "+scheduler.templates[timeline.name+"_scaley_class"](y_unit.key, y_unit.label, y_unit) : '');
- div_expand = '';
- table_className = "dhx_data_table";
- }
- var td_content = "<div class='dhx_scell_level"+y_unit.level+"'>"+div_expand+"<div class='dhx_scell_name'>"+(scheduler.templates[timeline.name+'_scale_label'](y_unit.key, y_unit.label, y_unit)||y_unit.label)+"</div></div>";
-
- res = {
- height: height,
- style_height: style_height,
- //section 1
- tr_className: tr_className,
- td_className: td_className,
- td_content: td_content,
- //section 3
- table_className: table_className
- };
- }
- return res;
-});
-
-var section_id_before; // section id of the event before dragging (to bring it back if user drop's event on folder without folder_events_available)
-
-scheduler.attachEvent("onBeforeEventChanged", function(event_object, native_event, is_new) {
- if (scheduler._isRender("tree")) { // if mode's render == tree
- var section = scheduler.getSection(event_object[scheduler.matrix[scheduler._mode].y_property]);
- if (section && typeof section.children != 'undefined' && !scheduler.matrix[scheduler._mode].folder_events_available) { // section itself could be not defined in case of new event (addEventNow)
- if (!is_new) { //if old - move back
- event_object[scheduler.matrix[scheduler._mode].y_property] = section_id_before;
- }
- return false;
- }
- }
- return true;
-});
-
-scheduler.attachEvent("onBeforeDrag", function (event_id, mode, native_event_object){
- if(scheduler._isRender("tree")) {
- var cell = scheduler._locate_cell_timeline(native_event_object);
- var section_id;
- if(cell) {
- section_id = scheduler.matrix[scheduler._mode].y_unit[cell.y].key;
- if(typeof scheduler.matrix[scheduler._mode].y_unit[cell.y].children != "undefined" && !scheduler.matrix[scheduler._mode].folder_events_available) {
- return false;
- }
- }
-
- var ev = scheduler.getEvent(event_id);
- section_id_before = section_id||ev[scheduler.matrix[scheduler._mode].y_property]; // either event id or section_id will be available
- }
- return true;
-});
-
-scheduler._getArrayToDisplay = function(array){ // function to flatten out hierarhical array, used for tree view
- var result = [];
- var fillResultArray = function(array, lvl){
- var level = lvl||0;
- for(var i=0; i<array.length; i++) {
- array[i].level = level;
- if(typeof array[i].children != "undefined" && typeof array[i].key == "undefined")
- array[i].key=scheduler.uid();
- result.push(array[i]);
- if(array[i].open && array[i].children) {
- fillResultArray(array[i].children, level+1);
- }
- }
- };
- fillResultArray(array);
- return result;
-};
-
-
-scheduler._getArrayForSelect = function(array, mode){ // function to flatten out hierarhical array, used for tree view
- var result = [];
- var fillResultArray = function(array){
- for(var i=0; i<array.length; i++) {
- if(scheduler.matrix[mode].folder_events_available) {
- result.push(array[i]);
- }
- else {
- if(typeof array[i].children == "undefined") {
- result.push(array[i]);
- }
- }
- if(array[i].children)
- fillResultArray(array[i].children, mode);
- }
- };
- fillResultArray(array);
- return result;
-};
-
-
-/*
-scheduler._toggleFolderDisplay(4) -- toggle display of the section with key 4 (closed -> open)
-scheduler._toggleFolderDisplay(4, true) -- open section with the key 4 (doesn't matter what status was before). False - close.
-scheduler._toggleFolderDisplay(4, false, true) -- close ALL sections. Key is not used in such condition.
-*/
-scheduler._toggleFolderDisplay = function(key, status, all_sections){ // used for tree view
- var marked;
- var toggleElement = function(key, array, status, all_sections) {
- for (var i=0; i<array.length; i++) {
- if((array[i].key == key || all_sections) && array[i].children) {
- array[i].open = (typeof status != "undefined") ? status : !array[i].open;
- marked = true;
- if(!all_sections && marked)
- break;
- }
- if(array[i].children) {
- toggleElement(key,array[i].children, status, all_sections);
- }
- }
- };
- var section = scheduler.getSection(key);
-
- if((typeof status == "undefined") && !all_sections){
- //toggle
- status = !section.open;
- }
- if (scheduler.callEvent("onBeforeFolderToggle", [section, status, all_sections])) {
- toggleElement(key,scheduler.matrix[scheduler._mode].y_unit_original, status, all_sections);
- scheduler.matrix[scheduler._mode].y_unit = scheduler._getArrayToDisplay(scheduler.matrix[scheduler._mode].y_unit_original);
- scheduler.callEvent("onOptionsLoad",[]);
- scheduler.callEvent("onAfterFolderToggle", [section, status, all_sections]);
- }
-};
-
-scheduler.attachEvent("onCellClick", function (x, y, a, b, event){
- if(scheduler._isRender("tree")) {
- if(!scheduler.matrix[scheduler._mode].folder_events_available) {
- if(typeof scheduler.matrix[scheduler._mode].y_unit[y] != "undefined" &&
- typeof scheduler.matrix[scheduler._mode].y_unit[y].children != "undefined") {
- scheduler._toggleFolderDisplay(scheduler.matrix[scheduler._mode].y_unit[y].key);
- }
- }
- }
-});
-
-scheduler.attachEvent("onYScaleClick", function (index, value, event){
- if(scheduler._isRender("tree")) {
- if(typeof value.children != "undefined") {
- scheduler._toggleFolderDisplay(value.key);
- }
- }
-});
-
-scheduler.getSection = function(id){
- if(scheduler._isRender("tree")) {
- var obj;
- var findElement = function(key, array) {
- for (var i=0; i<array.length; i++) {
- if(array[i].key == key)
- obj = array[i];
- if(array[i].children)
- findElement(key,array[i].children);
- }
- };
- findElement(id, scheduler.matrix[scheduler._mode].y_unit_original);
- return obj||null;
- }
-};
-
-scheduler.deleteSection = function(id){
- if(scheduler._isRender("tree")) {
- var result = false;
- var deleteElement = function(key, array) {
- for (var i=0; i<array.length; i++) {
- if(array[i].key == key) {
- array.splice(i,1);
- result = true;
- }
- if(result)
- break;
- if(array[i].children)
- deleteElement(key,array[i].children);
- }
- };
- deleteElement(id, 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",[]);
- return result;
- }
-};
-
-scheduler.deleteAllSections = function(){
- if(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(obj, parent_id){
- if(scheduler._isRender("tree")) {
- var result = false;
- var addElement = function(obj, parent_key, array) {
- if(!parent_id) {
- array.push(obj);
- result = true;
- }
- else {
- for (var i=0; i<array.length; i++) {
- if(array[i].key == parent_key && typeof array[i].children != "undefined") {
- array[i].children.push(obj);
- result = true;
- }
- if(result)
- break;
- if(array[i].children)
- addElement(obj,parent_key,array[i].children);
- }
- }
- };
- addElement(obj, parent_id, 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",[]);
- return result;
- }
-};
-
-
-scheduler.openAllSections = function() {
- if(scheduler._isRender("tree"))
- scheduler._toggleFolderDisplay(1, true, true);
-};
-scheduler.closeAllSections = function() {
- if(scheduler._isRender("tree"))
- scheduler._toggleFolderDisplay(1, false, true);
-};
-scheduler.openSection = function(section_id){
- if(scheduler._isRender("tree"))
- scheduler._toggleFolderDisplay(section_id, true);
-};
-scheduler.closeSection = function(section_id){
- if(scheduler._isRender("tree"))
- scheduler._toggleFolderDisplay(section_id, false);
-};
diff --git a/codebase/sources/ext/dhtmlxscheduler_treetimeline.js.map b/codebase/sources/ext/dhtmlxscheduler_treetimeline.js.map
deleted file mode 100644
index 9c46552..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_treetimeline.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_treetimeline.js","sources":["dhtmlxscheduler_treetimeline.js"],"names":["scheduler","attachEvent","obj","render","y_unit_original","y_unit","_getArrayToDisplay","form_blocks","name","sns","_result","height","set_value","node","value","ev","config","options","_getArrayForSelect","matrix","type","innerHTML","temp_select","document","createElement","appendChild","select","getElementsByTagName","_dhx_onchange","onchange","i","length","temp_option","key","y_property","selected","label","get_value","firstChild","focus","render_name","timeline","res","tr_className","style_height","td_className","div_expand","table_className","children","folder_dy","dy","section_autoheight","templates","td_content","level","section_id_before","event_object","native_event","is_new","_isRender","section","getSection","_mode","folder_events_available","event_id","mode","native_event_object","section_id","cell","_locate_cell_timeline","y","getEvent","array","result","fillResultArray","lvl","uid","push","open","_toggleFolderDisplay","status","all_sections","marked","toggleElement","callEvent","x","index","id","findElement","deleteSection","deleteElement","splice","deleteAllSections","addSection","parent_id","addElement","parent_key","openAllSections","closeAllSections","openSection","closeSection"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_units.js b/codebase/sources/ext/dhtmlxscheduler_units.js
deleted file mode 100644
index ea095df..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_units.js
+++ /dev/null
@@ -1,264 +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(name,property,list,size,step,skip_incorrect){
- if (typeof name == "object"){
- list = name.list;
- property = name.property;
- size = name.size||0;
- step = name.step||1;
- skip_incorrect = name.skip_incorrect;
- name = name.name;
- }
-
- scheduler._props[name]={map_to:property, options:list, step:step, position:0 };
- if(size>scheduler._props[name].options.length){
- scheduler._props[name]._original_size = size;
- size = 0;
- }
- scheduler._props[name].size = size;
- scheduler._props[name].skip_incorrect = skip_incorrect||false;
-
- scheduler.date[name+"_start"]= scheduler.date.day_start;
- scheduler.templates[name+"_date"] = function(date){
- return scheduler.templates.day_date(date);
- };
-
- scheduler._get_unit_index = function(unit_view, date) {
- var original_position = unit_view.position || 0;
- var date_position = Math.floor((scheduler._correct_shift(+date, 1) - +scheduler._min_date) / (60 * 60 * 24 * 1000));
- return original_position + date_position;
- };
- scheduler.templates[name + "_scale_text"] = function(id, label, option) {
- if (option.css) {
- return "<span class='" + option.css + "'>" + label + "</span>";
- } else {
- return label;
- }
- };
- scheduler.templates[name+"_scale_date"] = function(date) {
- var unit_view = scheduler._props[name];
- var list = unit_view.options;
- if (!list.length) return "";
- var index = scheduler._get_unit_index(unit_view, date);
- var option = list[index];
- return scheduler.templates[name + "_scale_text"](option.key, option.label, option);
- };
-
- scheduler.date["add_"+name]=function(date,inc){ return scheduler.date.add(date,inc,"day"); };
- scheduler.date["get_"+name+"_end"]=function(date){
- return scheduler.date.add(date,scheduler._props[name].size||scheduler._props[name].options.length,"day");
- };
-
- scheduler.attachEvent("onOptionsLoad",function(){
- var pr = scheduler._props[name];
- var order = pr.order = {};
- var list = pr.options;
- for(var i=0; i<list.length;i++)
- order[list[i].key]=i;
- if(pr._original_size && pr.size===0){
- pr.size = pr._original_size;
- delete pr.original_size;
- }
- if(pr.size > list.length) {
- pr._original_size = pr.size;
- pr.size = 0;
- }
- else
- pr.size = pr._original_size||pr.size;
- if (scheduler._date && scheduler._mode == name)
- scheduler.setCurrentView(scheduler._date, scheduler._mode);
- });
-
- scheduler["mouse_"+ name] = function(pos){ //mouse_coord handler
- var pr = scheduler._props[this._mode];
-
- if (pr){
- pos = this._week_indexes_from_pos(pos);
- if(!this._drag_event) this._drag_event = {};
-
- if (this._drag_id && this._drag_mode){
- this._drag_event._dhx_changed = true;
- }
- var unit_ind = Math.min(pos.x+pr.position,pr.options.length-1);
- pos.section = (pr.options[unit_ind]||{}).key;
- pos.x = 0;
-
- var ev = this.getEvent(this._drag_id);
- this._update_unit_section({view:pr, event:ev, pos:pos});
- }
- pos.force_redraw = true;
-
- return pos;
- };
-
-
-
- scheduler.callEvent("onOptionsLoad",[]);
-};
-
-scheduler._update_unit_section = function(action){
- var view = action.view,
- event = action.event,
- pos = action.pos;
- if(event) {
- event[view.map_to] = pos.section;
- }
-};
-
-scheduler.scrollUnit=function(step){
- var pr = scheduler._props[this._mode];
- if (pr){
- pr.position=Math.min(Math.max(0,pr.position+step),pr.options.length-pr.size);
- this.setCurrentView();
- }
-};
-(function(){
- var _removeIncorrectEvents = function(evs) {
- var pr = scheduler._props[scheduler._mode];
- if(pr && pr.order && pr.skip_incorrect) {
- var correct_events = [];
- for(var i=0; i<evs.length; i++) {
- if(typeof pr.order[evs[i][pr.map_to]] != "undefined") {
- correct_events.push(evs[i]);
- }
- }
- evs.splice(0,evs.length);
- evs.push.apply(evs,correct_events);
- }
- return evs;
- };
- var old_pre_render_events_table = scheduler._pre_render_events_table;
- scheduler._pre_render_events_table=function(evs,hold) {
- evs = _removeIncorrectEvents(evs);
- return old_pre_render_events_table.apply(this, [evs, hold]);
- };
- var old_pre_render_events_line = scheduler._pre_render_events_line;
- scheduler._pre_render_events_line = function(evs,hold){
- evs = _removeIncorrectEvents(evs);
- return old_pre_render_events_line.apply(this, [evs, hold]);
- };
- var fix_und=function(pr,ev){
- if (pr && typeof pr.order[ev[pr.map_to]] == "undefined"){
- var s = scheduler;
- var dx = 24*60*60*1000;
- var ind = Math.floor((ev.end_date - s._min_date)/dx);
- //ev.end_date = new Date(s.date.time_part(ev.end_date)*1000+s._min_date.valueOf());
- //ev.start_date = new Date(s.date.time_part(ev.start_date)*1000+s._min_date.valueOf());
- ev[pr.map_to] = pr.options[Math.min(ind+pr.position,pr.options.length-1)].key;
- return true;
- }
- };
- var t = scheduler._reset_scale;
-
- var oldive = scheduler.is_visible_events;
- scheduler.is_visible_events = function(e){
- var res = oldive.apply(this,arguments);
- if (res){
- var pr = scheduler._props[this._mode];
- if (pr && pr.size){
- var val = pr.order[e[pr.map_to]];
- if (val < pr.position || val >= pr.size+pr.position )
- return false;
- }
- }
- return res;
- };
- scheduler._reset_scale = function(){
- var pr = scheduler._props[this._mode];
- var ret = t.apply(this,arguments);
- if (pr){
- this._max_date=this.date.add(this._min_date,1,"day");
-
- var d = this._els["dhx_cal_data"][0].childNodes;
- for (var i=0; i < d.length; i++)
- d[i].className = d[i].className.replace("_now",""); //clear now class
-
- if (pr.size && pr.size < pr.options.length){
-
- var h = this._els["dhx_cal_header"][0];
- var arrow = document.createElement("DIV");
- if (pr.position){
- arrow.className = "dhx_cal_prev_button";
- arrow.style.cssText="left:1px;top:2px;position:absolute;";
- arrow.innerHTML = "&nbsp;";
- h.firstChild.appendChild(arrow);
- arrow.onclick=function(){
- scheduler.scrollUnit(pr.step*-1);
- };
- }
- if (pr.position+pr.size<pr.options.length){
- arrow = document.createElement("DIV");
- arrow.className = "dhx_cal_next_button";
- arrow.style.cssText="left:auto; right:0px;top:2px;position:absolute;";
- arrow.innerHTML = "&nbsp;";
- h.lastChild.appendChild(arrow);
- arrow.onclick=function(){
- scheduler.scrollUnit(pr.step);
- };
- }
- }
- }
- return ret;
-
- };
- var r = scheduler._get_event_sday;
- scheduler._get_event_sday=function(ev){
- var pr = scheduler._props[this._mode];
- if (pr){
- fix_und(pr,ev);
- return this._get_section_sday(ev[pr.map_to]);
- }
- return r.call(this,ev);
- };
- scheduler._get_section_sday = function(section){
- var pr = scheduler._props[this._mode];
- return pr.order[section]-pr.position;
- };
-
- var l = scheduler.locate_holder_day;
- scheduler.locate_holder_day=function(a,b,ev){
- var pr = scheduler._props[this._mode];
- if (pr && ev) {
- fix_und(pr,ev);
- return pr.order[ev[pr.map_to]]*1+(b?1:0)-pr.position;
- }
- return l.apply(this,arguments);
- };
-
- var o = scheduler._time_order;
- scheduler._time_order = function(evs){
- var pr = scheduler._props[this._mode];
- if (pr){
- evs.sort(function(a,b){
- return pr.order[a[pr.map_to]]>pr.order[b[pr.map_to]]?1:-1;
- });
- } else
- o.apply(this,arguments);
- };
- scheduler.attachEvent("onEventAdded",function(id,ev){
- if (this._loading) return true;
- for (var a in scheduler._props){
- var pr = scheduler._props[a];
- if (typeof ev[pr.map_to] == "undefined")
- ev[pr.map_to] = pr.options[0].key;
- }
- return true;
- });
- scheduler.attachEvent("onEventCreated",function(id,n_ev){
- var pr = scheduler._props[this._mode];
- if (pr && n_ev){
- var ev = this.getEvent(id);
- var pos = this._mouse_coords(n_ev);
- this._update_unit_section({view:pr, event:ev, pos:pos});
- fix_und(pr,ev);
- this.event_updated(ev);
- }
- return true;
- });
-})();
diff --git a/codebase/sources/ext/dhtmlxscheduler_units.js.map b/codebase/sources/ext/dhtmlxscheduler_units.js.map
deleted file mode 100644
index c10e6c4..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_units.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_units.js","sources":["dhtmlxscheduler_units.js"],"names":["scheduler","_props","createUnitsView","name","property","list","size","step","skip_incorrect","map_to","options","position","length","_original_size","date","day_start","templates","day_date","_get_unit_index","unit_view","original_position","date_position","Math","floor","_correct_shift","_min_date","id","label","option","css","index","key","inc","add","attachEvent","pr","order","i","original_size","_date","_mode","setCurrentView","pos","this","_week_indexes_from_pos","_drag_event","_drag_id","_drag_mode","_dhx_changed","unit_ind","min","x","section","ev","getEvent","_update_unit_section","view","event","force_redraw","callEvent","action","scrollUnit","max","_removeIncorrectEvents","evs","correct_events","push","splice","apply","old_pre_render_events_table","_pre_render_events_table","hold","old_pre_render_events_line","_pre_render_events_line","fix_und","s","dx","ind","end_date","t","_reset_scale","oldive","is_visible_events","e","res","arguments","val","ret","_max_date","d","_els","childNodes","className","replace","h","arrow","document","createElement","style","cssText","innerHTML","firstChild","appendChild","onclick","lastChild","r","_get_event_sday","_get_section_sday","call","l","locate_holder_day","a","b","o","_time_order","sort","_loading","n_ev","_mouse_coords","event_updated"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_url.js b/codebase/sources/ext/dhtmlxscheduler_url.js
index 554a5c6..9718d59 100644
--- a/codebase/sources/ext/dhtmlxscheduler_url.js
+++ b/codebase/sources/ext/dhtmlxscheduler_url.js
@@ -1,37 +1,80 @@
/*
-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 first = true;
- var s2d = scheduler.date.str_to_date("%Y-%m-%d");
- var d2s = scheduler.date.date_to_str("%Y-%m-%d");
- scheduler.attachEvent("onBeforeViewChange",function(om,od,m,d){
- if (first){
- first = false;
- var p={};
- var data=(document.location.hash||"").replace("#","").split(",");
- for (var i=0; i < data.length; i++) {
- var s = data[i].split("=");
- if (s.length==2)
- p[s[0]]=s[1];
- }
-
- if (p.date || p.mode){
- try{
- this.setCurrentView((p.date?s2d(p.date):null),(p.mode||null));
- } catch(e){
- //assuming that mode is not available anymore
- this.setCurrentView((p.date?s2d(p.date):null),m);
- }
- return false;
- }
- }
- var text = "#date="+d2s(d||od)+",mode="+(m||om);
- document.location.hash = text;
- return true;
- });
+scheduler._get_url_nav = function(){
+ var p = {};
+ var data = (document.location.hash || "").replace("#", "").split(",");
+ for (var i = 0; i < data.length; i++) {
+ var s = data[i].split("=");
+ if (s.length == 2)
+ p[s[0]] = s[1];
+ }
+ return p;
+};
+
+scheduler.attachEvent("onTemplatesReady", function () {
+ var first = true;
+ var s2d = scheduler.date.str_to_date("%Y-%m-%d");
+ var d2s = scheduler.date.date_to_str("%Y-%m-%d");
+ var select_event = scheduler._get_url_nav().event || null;
+
+ scheduler.attachEvent("onAfterEventDisplay", function(ev){
+ select_event = null;
+ return true;
+ });
+
+ scheduler.attachEvent("onBeforeViewChange", function (om, od, m, d) {
+ if (first) {
+ first = false;
+ var p = scheduler._get_url_nav();
+
+ if (p.event){
+ try{
+ if(scheduler.getEvent(p.event)){
+ showEvent(p.event);
+ return false;
+ }else{
+ var handler = scheduler.attachEvent("onXLE", function(){
+ showEvent(p.event);
+ scheduler.detachEvent(handler);
+ });
+ }
+ } catch (e){}
+ }
+
+ if (p.date || p.mode) {
+ try {
+ this.setCurrentView((p.date ? s2d(p.date) : null), (p.mode || null));
+ } catch (e) {
+ //assuming that mode is not available anymore
+ this.setCurrentView((p.date ? s2d(p.date) : null), m);
+ }
+ return false;
+ }
+ }
+
+ var values = [
+ "date=" + d2s(d || od),
+ "mode=" + (m || om)
+ ];
+
+ if(select_event){
+ values.push("event=" + select_event);
+ }
+
+ var text = "#" + values.join(",");
+ document.location.hash = text;
+ return true;
+ });
+
+ function showEvent(e){
+ select_event = e;
+ if(scheduler.getEvent(e)){
+ scheduler.showEvent(e);
+ }
+ }
}); \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_url.js.map b/codebase/sources/ext/dhtmlxscheduler_url.js.map
index 27a45c4..8849edf 100644
--- a/codebase/sources/ext/dhtmlxscheduler_url.js.map
+++ b/codebase/sources/ext/dhtmlxscheduler_url.js.map
@@ -1 +1 @@
-{"version":3,"file":"dhtmlxscheduler_url.js","sources":["dhtmlxscheduler_url.js"],"names":["scheduler","attachEvent","first","s2d","date","str_to_date","d2s","date_to_str","om","od","m","d","p","data","document","location","hash","replace","split","i","length","s","mode","this","setCurrentView","e","text"],"mappings":"AAAAA,UAAUC,YAAY,mBAAmB,WACtC,GAAIC,IAAQ,EACRC,EAAMH,UAAUI,KAAKC,YAAY,YACjCC,EAAMN,UAAUI,KAAKG,YAAY,WACrCP,WAAUC,YAAY,qBAAqB,SAASO,EAAGC,EAAGC,EAAEC,GACzD,GAAIT,EAAM,CACPA,GAAQ,CAGR,KAAK,GAFDU,MACAC,GAAMC,SAASC,SAASC,MAAM,IAAIC,QAAQ,IAAI,IAAIC,MAAM,KACnDC,EAAE,EAAGA,EAAIN,EAAKO,OAAQD,IAAK,CACnC,GAAIE,GAAIR,EAAKM,GAAGD,MAAM,IACR,IAAVG,EAAED,SACNR,EAAES,EAAE,IAAIA,EAAE,IAGX,GAAIT,EAAER,MAAQQ,EAAEU,KAAK,CACpB,IACGC,KAAKC,eAAgBZ,EAAER,KAAKD,EAAIS,EAAER,MAAM,KAAOQ,EAAEU,MAAM,MACzD,MAAMG,GAEPF,KAAKC,eAAgBZ,EAAER,KAAKD,EAAIS,EAAER,MAAM,KAAMM,GAE5C,OAAO,GAGb,GAAIgB,GAAO,SAASpB,EAAIK,GAAGF,GAAI,UAAUC,GAAGF,EAE5C;MADAM,UAASC,SAASC,KAAOU,GAClB"} \ No newline at end of file
+{"version":3,"file":"dhtmlxscheduler_url.js","sources":["dhtmlxscheduler_url.js"],"names":["scheduler","_get_url_nav","p","data","document","location","hash","replace","split","i","length","s","attachEvent","showEvent","e","select_event","getEvent","first","s2d","date","str_to_date","d2s","date_to_str","event","om","od","m","d","handler","detachEvent","mode","this","setCurrentView","values","push","text","join"],"mappings":"AAAAA,UAAUC,aAAe,WAGxB,IAAK,GAFDC,MACAC,GAAQC,SAASC,SAASC,MAAQ,IAAIC,QAAQ,IAAK,IAAIC,MAAM,KACxDC,EAAI,EAAGA,EAAIN,EAAKO,OAAQD,IAAK,CACrC,GAAIE,GAAIR,EAAKM,GAAGD,MAAM,IACN,IAAZG,EAAED,SACLR,EAAES,EAAE,IAAMA,EAAE,IAEd,MAAOT,IAGRF,UAAUY,YAAY,mBAAoB,WAuDzC,QAASC,GAAUC,GAClBC,EAAeD,EACZd,UAAUgB,SAASF,IACrBd,UAAUa,UAAUC,GAzDtB,GAAIG,IAAQ,EACRC,EAAMlB,UAAUmB,KAAKC,YAAY,YACjCC,EAAMrB,UAAUmB,KAAKG,YAAY,YACjCP,EAAgBf,UAAUC,eAAesB,OAAS,IAEtDvB,WAAUY,YAAY,sBAAuB,WAE5C,MADAG,GAAe,MACR;GAGRf,UAAUY,YAAY,qBAAsB,SAAUY,EAAIC,EAAIC,EAAGC,GAChE,GAAIV,EAAO,CACVA,GAAQ,CACR,IAAIf,GAAIF,UAAUC,cAElB,IAAIC,EAAEqB,MACL,IACC,GAAGvB,UAAUgB,SAASd,EAAEqB,OAEvB,MADAV,GAAUX,EAAEqB,QACL,CAEP,IAAIK,GAAU5B,UAAUY,YAAY,QAAS,WAC5CC,EAAUX,EAAEqB,OACZvB,UAAU6B,YAAYD,KAGvB,MAAOd,IAGV,GAAIZ,EAAEiB,MAAQjB,EAAE4B,KAAM,CACrB,IACCC,KAAKC,eAAgB9B,EAAEiB,KAAOD,EAAIhB,EAAEiB,MAAQ,KAAQjB,EAAE4B,MAAQ,MAC7D,MAAOhB,GAERiB,KAAKC,eAAgB9B,EAAEiB,KAAOD,EAAIhB,EAAEiB,MAAQ,KAAOO,GAEpD,OAAO,GAIT,GAAIO,IACH,QAAUZ,EAAIM,GAAKF,GACnB,SAAWC,GAAKF,GAGdT,IACFkB,EAAOC,KAAK,SAAWnB,EAGxB,IAAIoB,GAAO,IAAMF,EAAOG,KAAK,IAE7B,OADAhC,UAASC,SAASC,KAAO6B,GAClB"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_week_agenda.js b/codebase/sources/ext/dhtmlxscheduler_week_agenda.js
deleted file mode 100644
index c51bbe4..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_week_agenda.js
+++ /dev/null
@@ -1,261 +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(start_date, end_date, event, date) {
- return scheduler.templates.event_date(start_date) + " " + event.text;
-};
-scheduler.date.week_agenda_start = scheduler.date.week_start;
-scheduler.date.week_agenda_end = function(date) {
- return scheduler.date.add(date, 7, "day");
-};
-scheduler.date.add_week_agenda = function(date, inc) {
- return scheduler.date.add(date, inc * 7, "day");
-};
-
-scheduler.attachEvent("onSchedulerReady", function() {
- var t = scheduler.templates;
- if (!t.week_agenda_date)
- t.week_agenda_date = t.week_date;
-});
-
-(function() {
- var scale_date_format = scheduler.date.date_to_str("%l, %F %d");
- scheduler.templates.week_agenda_scale_date = function(date) {
- return scale_date_format(date);
- };
-})();
-
-scheduler.attachEvent("onTemplatesReady", function() {
-
- scheduler.attachEvent("onSchedulerResize", function() {
- if (this._mode == "week_agenda") {
- this.week_agenda_view(true);
- return false;
- }
- return true;
- });
-
- var old = scheduler.render_data;
- scheduler.render_data = function(evs) {
- if (this._mode == "week_agenda") {
- scheduler.week_agenda_view(true);
- } else
- return old.apply(this, arguments);
- };
-
- var getColumnSizes = function() {
- // widths
- scheduler._cols = [];
- var twidth = parseInt(scheduler._els['dhx_cal_data'][0].style.width);
- scheduler._cols.push(Math.floor(twidth / 2));
- scheduler._cols.push(twidth - scheduler._cols[0] - 1); // To add border between columns
-
- // heights
- scheduler._colsS = {
- 0: [],
- 1: []
- };
- var theight = parseInt(scheduler._els['dhx_cal_data'][0].style.height);
- for (var i = 0; i < 3; i++) {
- scheduler._colsS[0].push(Math.floor(theight / (3 - scheduler._colsS[0].length)));
- theight -= scheduler._colsS[0][i];
- }
- scheduler._colsS[1].push(scheduler._colsS[0][0]);
- scheduler._colsS[1].push(scheduler._colsS[0][1]);
- // last two days
- theight = scheduler._colsS[0][scheduler._colsS[0].length - 1];
- scheduler._colsS[1].push(Math.floor(theight / 2));
- scheduler._colsS[1].push(theight - scheduler._colsS[1][scheduler._colsS[1].length - 1]);
- };
- var fillWeekAgendaTab = function() {
- getColumnSizes();
- scheduler._els["dhx_cal_data"][0].innerHTML = '';
- scheduler._rendered = [];
- var html = '';
- for (var i = 0; i < 2; i++) {
- var width = scheduler._cols[i];
- var column_css = 'dhx_wa_column';
- if (i == 1)
- column_css += ' dhx_wa_column_last';
- html += "<div class='" + column_css + "' style='width: " + width + "px;'>";
- for (var k = 0; k < scheduler._colsS[i].length; k++) {
- var scale_height = scheduler.xy.week_agenda_scale_height - 2;
- var height = scheduler._colsS[i][k] - scale_height - 2;
- var day = Math.min(6, k * 2 + i);
- html += "<div class='dhx_wa_day_cont'><div style='height:" + scale_height + "px; line-height:" + scale_height + "px;' class='dhx_wa_scale_bar'></div><div style='height:" + height + "px;' class='dhx_wa_day_data' day='" + day + "'></div></div>";
- }
- html += "</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 = html;
- var all_divs = scheduler._els["dhx_cal_data"][0].getElementsByTagName('div');
- var day_divs = [];
- for (var i = 0; i < all_divs.length; i++) {
- if (all_divs[i].className == 'dhx_wa_day_cont')
- day_divs.push(all_divs[i]);
- }
- scheduler._wa._selected_divs = [];
- var events = scheduler.get_visible_events(); // list of events to be displayed in current week
- var tstart = scheduler.date.week_start(scheduler._date);
- var tend = scheduler.date.add(tstart, 1, "day");
- for (var i = 0; i < 7; i++) {
- day_divs[i]._date = tstart;
- var scale_bar = day_divs[i].childNodes[0];
- var events_div = day_divs[i].childNodes[1];
- scale_bar.innerHTML = scheduler.templates.week_agenda_scale_date(tstart);
- var evs = []; // events which will be displayed in the current day
- for (var j = 0; j < events.length; j++) {
- var tev = events[j];
- if (tev.start_date < tend && tev.end_date > tstart)
- evs.push(tev);
- }
- evs.sort(function(a, b) {
- if (a.start_date.valueOf() == b.start_date.valueOf())
- return a.id > b.id ? 1 : -1;
- return a.start_date > b.start_date ? 1 : -1;
- });
- for (var k = 0; k < evs.length; k++) {
- var ev = evs[k];
- var ev_div = document.createElement('div');
- scheduler._rendered.push(ev_div);
- var ev_class = scheduler.templates.event_class(ev.start_date, ev.end_date, ev);
- ev_div.className = 'dhx_wa_ev_body' + (ev_class ? (' ' + ev_class) : '');
- if (ev._text_style)
- ev_div.style.cssText = ev._text_style;
- if (ev.color)
- ev_div.style.background = ev.color;
- if (ev.textColor)
- ev_div.style.color = ev.textColor;
- if (scheduler._select_id && ev.id == scheduler._select_id && !(!scheduler.config.week_agenda_select && scheduler.config.week_agenda_select !== undefined)) {
- ev_div.className += " dhx_cal_event_selected";
- scheduler._wa._selected_divs.push(ev_div);
- }
- var position = "";
- if (!ev._timed) {
- position = "middle";
- if (ev.start_date.valueOf() >= tstart.valueOf() && ev.start_date.valueOf() <= tend.valueOf())
- position = "start";
- if (ev.end_date.valueOf() >= tstart.valueOf() && ev.end_date.valueOf() <= tend.valueOf())
- position = "end";
- }
- ev_div.innerHTML = scheduler.templates.week_agenda_event_text(ev.start_date, ev.end_date, ev, tstart, position);
- ev_div.setAttribute('event_id', ev.id);
- events_div.appendChild(ev_div);
- }
- tstart = scheduler.date.add(tstart, 1, "day");
- tend = scheduler.date.add(tend, 1, "day");
- }
- };
- scheduler.week_agenda_view = function(mode) {
- scheduler._min_date = scheduler.date.week_start(scheduler._date);
- scheduler._max_date = scheduler.date.add(scheduler._min_date, 1, "week");
- scheduler.set_sizes();
- if (mode) { // mode enabled
- scheduler._table_view = scheduler._allow_dnd = true;
-
- // hiding default top border from dhx_cal_data
- 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';
-
- // cleaning dhx_cal_date from the previous date
- scheduler._els['dhx_cal_date'][0].innerHTML = "";
-
- // 1 to make navline to be over data
- 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';
- fillWeekAgendaTab();
- } else { // leaving week_agenda mode
- scheduler._table_view = scheduler._allow_dnd = false;
-
- // restoring default top border to dhx_cal_data
- if (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(pos) {
- var native_event = pos.ev;
- var src = native_event.srcElement || native_event.target;
- var date;
- while (src.parentNode) {
- if (src._date)
- date = src._date;
- src = src.parentNode;
- }
- if (!date)
- return pos;
- pos.x = 0;
- var diff = date.valueOf() - scheduler._min_date.valueOf();
- pos.y = Math.ceil(( diff / (1000 * 60) ) / this.config.time_step);
- if (this._drag_mode == 'move') {
- var event_div;
- this._drag_event._dhx_changed = true;
- this._select_id = this._drag_id;
- for (var i = 0; i < scheduler._rendered.length; i++) {
- if (scheduler._drag_id == this._rendered[i].getAttribute('event_id'))
- event_div = this._rendered[i];
- }
- if (!scheduler._wa._dnd) {
- var div = event_div.cloneNode(true);
- this._wa._dnd = div;
- div.className = event_div.className;
- div.id = 'dhx_wa_dnd';
- div.className += ' dhx_wa_dnd';
- document.body.appendChild(div);
- }
- var dnd_div = document.getElementById('dhx_wa_dnd');
- dnd_div.style.top = ((native_event.pageY || native_event.clientY) + 20) + "px";
- dnd_div.style.left = ((native_event.pageX || native_event.clientX) + 20) + "px";
- }
- return pos;
- };
- scheduler.attachEvent('onBeforeEventChanged', function(event_object, native_event, is_new) {
- if (this._mode == 'week_agenda') {
- if (this._drag_mode == 'move') {
- var dnd = document.getElementById('dhx_wa_dnd');
- dnd.parentNode.removeChild(dnd);
- scheduler._wa._dnd = false;
- }
- }
- return true;
- });
-
- scheduler.attachEvent("onEventSave", function(id, data, is_new_event) {
- if (is_new_event && this._mode == 'week_agenda')
- this._select_id = id;
- return true;
- });
-
- scheduler._wa._selected_divs = [];
-
- scheduler.attachEvent("onClick", function(event_id, native_event_object) {
- if (this._mode == 'week_agenda' && !(!scheduler.config.week_agenda_select && scheduler.config.week_agenda_select !== undefined)) {
- if (scheduler._wa._selected_divs) {
- for (var i = 0; i < this._wa._selected_divs.length; i++) {
- var div = this._wa._selected_divs[i];
- div.className = div.className.replace(/ dhx_cal_event_selected/, '');
- }
- }
- this.for_rendered(event_id, function(event_div) {
- event_div.className += " dhx_cal_event_selected";
- scheduler._wa._selected_divs.push(event_div);
- });
- scheduler.select(event_id);
- return false;
- }
- return true;
- });
-});
diff --git a/codebase/sources/ext/dhtmlxscheduler_week_agenda.js.map b/codebase/sources/ext/dhtmlxscheduler_week_agenda.js.map
deleted file mode 100644
index fcb26db..0000000
--- a/codebase/sources/ext/dhtmlxscheduler_week_agenda.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dhtmlxscheduler_week_agenda.js","sources":["dhtmlxscheduler_week_agenda.js"],"names":["scheduler","_wa","xy","week_agenda_scale_height","templates","week_agenda_event_text","start_date","end_date","event","event_date","text","date","week_agenda_start","week_start","week_agenda_end","add","add_week_agenda","inc","attachEvent","t","week_agenda_date","week_date","scale_date_format","date_to_str","week_agenda_scale_date","this","_mode","week_agenda_view","old","render_data","apply","arguments","getColumnSizes","_cols","twidth","parseInt","_els","style","width","push","Math","floor","_colsS",1,"theight","height","i","length","fillWeekAgendaTab","innerHTML","_rendered","html","column_css","k","scale_height","day","min","_min_date","_max_date","all_divs","getElementsByTagName","day_divs","className","_selected_divs","events","get_visible_events","tstart","_date","tend","scale_bar","childNodes","events_div","evs","j","tev","sort","a","b","valueOf","id","ev","ev_div","document","createElement","ev_class","event_class","_text_style","cssText","color","background","textColor","_select_id","config","week_agenda_select","undefined","position","_timed","setAttribute","appendChild","mode","set_sizes","_table_view","_allow_dnd","_prev_data_border","borderTop","overflowY","top","display","mouse_week_agenda","pos","native_event","src","srcElement","target","parentNode","x","diff","y","ceil","time_step","_drag_mode","event_div","_drag_event","_dhx_changed","_drag_id","getAttribute","_dnd","div","cloneNode","body","dnd_div","getElementById","pageY","clientY","left","pageX","clientX","dnd","removeChild","data","is_new_event","event_id","replace","for_rendered","select"],"mappings":"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"} \ No newline at end of file
diff --git a/codebase/sources/ext/dhtmlxscheduler_wp.js b/codebase/sources/ext/dhtmlxscheduler_wp.js
index 30b8ffe..31bac7e 100644
--- a/codebase/sources/ext/dhtmlxscheduler_wp.js
+++ b/codebase/sources/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/sources/ext/dhtmlxscheduler_year_view.js b/codebase/sources/ext/dhtmlxscheduler_year_view.js
index a0f7253..d3efb92 100644
--- a/codebase/sources/ext/dhtmlxscheduler_year_view.js
+++ b/codebase/sources/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.
diff --git a/codebase/sources/skins/dhtmlxscheduler.css b/codebase/sources/skins/dhtmlxscheduler.css
index 96421dc..ce35c75 100644
--- a/codebase/sources/skins/dhtmlxscheduler.css
+++ b/codebase/sources/skins/dhtmlxscheduler.css
@@ -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/sources/skins/dhtmlxscheduler_classic.css b/codebase/sources/skins/dhtmlxscheduler_classic.css
index 204a96e..1d16f82 100644
--- a/codebase/sources/skins/dhtmlxscheduler_classic.css
+++ b/codebase/sources/skins/dhtmlxscheduler_classic.css
@@ -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/sources/skins/dhtmlxscheduler_flat.css b/codebase/sources/skins/dhtmlxscheduler_flat.css
index f9504a7..6b15ecb 100644
--- a/codebase/sources/skins/dhtmlxscheduler_flat.css
+++ b/codebase/sources/skins/dhtmlxscheduler_flat.css
@@ -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.
@@ -1639,7 +1639,7 @@ div.dhx_menu_icon {
background-color: #5B9BE0;
color: #FFF;
height: 17px;
- line-height: 17px;
+ line-height: 16px;
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
diff --git a/codebase/sources/skins/dhtmlxscheduler_glossy.css b/codebase/sources/skins/dhtmlxscheduler_glossy.css
index fc3484c..83dc7ec 100644
--- a/codebase/sources/skins/dhtmlxscheduler_glossy.css
+++ b/codebase/sources/skins/dhtmlxscheduler_glossy.css
@@ -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/whatsnew.txt b/whatsnew.txt
index 6dae6b5..4ff3e22 100644
--- a/whatsnew.txt
+++ b/whatsnew.txt
@@ -1,4 +1,15 @@
-4.2.0
+4.3.0
+ "Days" mode for Timeline view was added
+ Ability to present units for multiple days in the Units view
+ Add ability to link events using URL extension
+ Several new API events and settings
+ Fixes for DST issues
+ Fixed bug with creating new events on touch devices in Timeline
+
+ Week Agenda, Grid View, Timeline view, Units View, Multisection events are available in Commercial and Enterprise editions only
+
+
+4.2.0
Ability to customize the layout of recurring form
Updated dhtmlxDataProcessor - REST mode and support of JSON response format
Updated D'n'D of the multisection events