From b79406cb896e6f6003cb7ca6adc71f3f2da82d80 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 24 Oct 2012 15:48:59 +0200 Subject: [WIP] Updated dhtmlx calendar bzr revid: fme@openerp.com-20121024134859-pru7zenpiz0la8mq --- .../dhtmlxScheduler/codebase/dhtmlxscheduler.css | 4 +- .../dhtmlxScheduler/codebase/dhtmlxscheduler.js | 308 +- .../codebase/dhtmlxscheduler_debug.js | 4277 -------------------- .../codebase/dhtmlxscheduler_dhx_terrace.css | 5 + .../codebase/dhtmlxscheduler_glossy.css | 4 +- .../codebase/ext/dhtmlxscheduler_active_links.js | 5 +- .../codebase/ext/dhtmlxscheduler_agenda_view.js | 15 +- .../codebase/ext/dhtmlxscheduler_all_timed.js | 9 + .../codebase/ext/dhtmlxscheduler_collision.js | 10 +- .../codebase/ext/dhtmlxscheduler_cookie.js | 6 +- .../codebase/ext/dhtmlxscheduler_dhx_terrace.js | 8 + .../codebase/ext/dhtmlxscheduler_editors.js | 15 +- .../codebase/ext/dhtmlxscheduler_expand.js | 2 +- .../codebase/ext/dhtmlxscheduler_grid_view.js | 28 + .../codebase/ext/dhtmlxscheduler_html_templates.js | 2 +- .../codebase/ext/dhtmlxscheduler_key_nav.js | 7 +- .../codebase/ext/dhtmlxscheduler_limit.js | 37 +- .../codebase/ext/dhtmlxscheduler_map_view.js | 18 +- .../codebase/ext/dhtmlxscheduler_minical.js | 46 +- .../codebase/ext/dhtmlxscheduler_multiselect.js | 4 +- .../codebase/ext/dhtmlxscheduler_multisource.js | 2 +- .../codebase/ext/dhtmlxscheduler_offline.js | 11 +- .../codebase/ext/dhtmlxscheduler_outerdrag.js | 6 +- .../codebase/ext/dhtmlxscheduler_pdf.js | 25 +- .../codebase/ext/dhtmlxscheduler_readonly.js | 12 +- .../codebase/ext/dhtmlxscheduler_recurring.js | 60 +- .../codebase/ext/dhtmlxscheduler_serialize.js | 11 +- .../codebase/ext/dhtmlxscheduler_timeline.js | 72 +- .../codebase/ext/dhtmlxscheduler_tooltip.js | 15 +- .../codebase/ext/dhtmlxscheduler_touch.css | 5 - .../codebase/ext/dhtmlxscheduler_touch.js | 26 - .../codebase/ext/dhtmlxscheduler_treetimeline.js | 26 +- .../codebase/ext/dhtmlxscheduler_units.js | 22 +- .../codebase/ext/dhtmlxscheduler_url.js | 2 +- .../codebase/ext/dhtmlxscheduler_week_agenda.js | 31 +- .../codebase/ext/dhtmlxscheduler_year_view.js | 28 +- .../dhtmlxScheduler/codebase/imgs/clock_small.gif | Bin 388 -> 388 bytes .../codebase/imgs/colapce-expand-icon.gif | Bin 452 -> 0 bytes .../codebase/imgs/collapse_expand_icon.gif | Bin 0 -> 452 bytes .../dhtmlxScheduler/codebase/imgs/controlls5.png | Bin 2835 -> 0 bytes .../lib/dhtmlxScheduler/codebase/imgs/images.png | Bin 0 -> 1581 bytes .../lib/dhtmlxScheduler/codebase/imgs/lightbox.png | Bin 207 -> 0 bytes .../lib/dhtmlxScheduler/codebase/imgs/move.png | Bin 145 -> 0 bytes .../codebase/imgs/multi-days-bg.png | Bin 350 -> 0 bytes .../dhtmlxScheduler/codebase/imgs/resize_dots.png | Bin 0 -> 111 bytes .../codebase/imgs_dhx_terrace/arrow_left.png | Bin 0 -> 198 bytes .../codebase/imgs_dhx_terrace/arrow_right.png | Bin 0 -> 189 bytes .../codebase/imgs_dhx_terrace/but_repeat.gif | Bin 0 -> 1472 bytes .../codebase/imgs_dhx_terrace/calendar.gif | Bin 0 -> 1018 bytes .../codebase/imgs_dhx_terrace/clock_big.gif | Bin 0 -> 1958 bytes .../codebase/imgs_dhx_terrace/clock_small.gif | Bin 0 -> 588 bytes .../codebase/imgs_dhx_terrace/close_icon.png | Bin 0 -> 162 bytes .../imgs_dhx_terrace/collapse_expand_icon.gif | Bin 0 -> 1192 bytes .../codebase/imgs_dhx_terrace/controls.png | Bin 0 -> 761 bytes .../codebase/imgs_dhx_terrace/databg.png | Bin 0 -> 103 bytes .../codebase/imgs_dhx_terrace/databg_now.png | Bin 0 -> 103 bytes .../codebase/imgs_dhx_terrace/resize_dots.png | Bin 0 -> 110 bytes .../codebase/imgs_dhx_terrace/resizing.png | Bin 0 -> 99 bytes .../codebase/imgs_glossy/blue_tab.png | Bin 0 -> 247 bytes .../codebase/imgs_glossy/blue_tab_wide.png | Bin 0 -> 252 bytes .../codebase/imgs_glossy/but_repeat.gif | Bin 0 -> 1149 bytes .../codebase/imgs_glossy/buttons.gif | Bin 0 -> 616 bytes .../codebase/imgs_glossy/calendar.gif | Bin 0 -> 622 bytes .../codebase/imgs_glossy/clock_big.png | Bin 0 -> 1580 bytes .../codebase/imgs_glossy/clock_small.png | Bin 0 -> 3809 bytes .../codebase/imgs_glossy/collapse_expand_icon.gif | Bin 0 -> 452 bytes .../codebase/imgs_glossy/controlls5.png | Bin 0 -> 2835 bytes .../codebase/imgs_glossy/databg.png | Bin 0 -> 89 bytes .../codebase/imgs_glossy/databg_now.png | Bin 0 -> 89 bytes .../codebase/imgs_glossy/event-bg.png | Bin 0 -> 148 bytes .../dhtmlxScheduler/codebase/imgs_glossy/icon.png | Bin 0 -> 230 bytes .../codebase/imgs_glossy/left-separator.png | Bin 0 -> 230 bytes .../codebase/imgs_glossy/left-time-bg.png | Bin 0 -> 124 bytes .../codebase/imgs_glossy/lightbox.png | Bin 0 -> 207 bytes .../codebase/imgs_glossy/loading.gif | Bin 0 -> 3951 bytes .../dhtmlxScheduler/codebase/imgs_glossy/move.png | Bin 0 -> 145 bytes .../codebase/imgs_glossy/multi-days-bg.png | Bin 0 -> 350 bytes .../codebase/imgs_glossy/second-top-days-bg.png | Bin 0 -> 138 bytes .../codebase/imgs_glossy/top-days-bg.png | Bin 0 -> 177 bytes .../codebase/imgs_glossy/top-separator.gif | Bin 0 -> 259 bytes .../codebase/imgs_glossy/white_tab.png | Bin 0 -> 290 bytes .../codebase/imgs_glossy/white_tab_wide.png | Bin 0 -> 300 bytes 82 files changed, 486 insertions(+), 4678 deletions(-) delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_debug.js create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_all_timed.js create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_dhx_terrace.js create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_grid_view.js delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.css delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.js delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/colapce-expand-icon.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/collapse_expand_icon.gif delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controlls5.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/images.png delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/lightbox.png delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/move.png delete mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/multi-days-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/resize_dots.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_left.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_right.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/but_repeat.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/calendar.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_big.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_small.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/close_icon.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/collapse_expand_icon.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/controls.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg_now.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resize_dots.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resizing.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab_wide.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/but_repeat.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/buttons.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/calendar.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_big.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_small.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/collapse_expand_icon.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/controlls5.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg_now.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/event-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/icon.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-separator.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-time-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/lightbox.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/loading.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/move.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/multi-days-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/second-top-days-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-days-bg.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-separator.gif create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab.png create mode 100644 addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab_wide.png (limited to 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase') diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css index 6259fe59eba..2e4cae2bdbf 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css @@ -1,5 +1,5 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -.dhx_cal_container{background-color:#C2D5FC;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;top:2px;white-space:nowrap;}.dhx_cal_navline .dhx_cal_date{font-weight:600;left:210px;}.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;width:29px;height:17px;left:50px;cursor:pointer;}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;width:29px;height:17px;left:80px;cursor:pointer;}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;width:75px;height:17px;left:112px;cursor:pointer;text-align:center;text-decoration:underline;}.dhx_cal_tab{width:59px;height:19px;text-align:center;text-decoration:underline;padding-top:2px;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:bold;border:1px dotted #586A7E;border-bottom:0;background-color:#C2D5FC;}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;border-top:1px dotted #8894A3;border-right:1px dotted #8894A3;z-index:2;overflow:hidden;color:#2F3A48;}.dhx_cal_data{border-top:1px dotted #8894A3;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;}.dhx_scale_bar{position:absolute;text-align:center;background-color:#C2D5FC;padding-top:3px;border-left:1px dotted #586A7E;}.dhx_scale_holder{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg.png);}.dhx_scale_holder_now{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg_now.png);}.dhx_scale_hour{height:41px;width:50px;border-bottom:1px dotted #8894A3;background-color:#C2D5FC;text-align:center;line-height:40px;color:#586A7E;overflow:hidden;}.dhx_month_head{background-color:#EBEFF4;color:#2F3A48;border-right:1px dotted #586A7E;height:18px;padding-right:5px;padding-top:3px;text-align:right;}.dhx_month_body{border-right:1px dotted #586A7E;border-bottom:1px dotted #586A7E;background-color:#FFF;}.dhx_now .dhx_month_body{background-color:#E2EDFF;}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#ECECEC;}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#E2E3E6;color:#94A6BB;}.dhx_now .dhx_month_head{background-color:#D1DEF4;font-weight:bold;}.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_icon,.dhx_multi_day{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3;}.dhx_multi_day{position:absolute;border-top:1px dotted #8894A3;}.dhx_multi_day_icon{background-image:url(imgs/clock_big.gif);}.dhx_multi_day_icon_small{background-image:url(imgs/clock_small.gif);}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-color:#E1E6FF;background-repeat:no-repeat;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff;}.dhx_cal_event div{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 1px;cursor:pointer;}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:bold;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer;}.dhx_cal_event .dhx_body{border-width:0 1px 1px 1px;padding:5px;}.dhx_resize_denied .dhx_cal_event .dhx_footer{cursor:default;}.dhx_cal_event .dhx_footer{height:1px;margin-left:2px;border-width:0 1px 1px 1px;cursor:s-resize;}.dhx_cal_event_line{background-color:#FFE763;border:1px solid #B7A543;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;color:#887A2E;cursor:pointer;overflow:hidden;}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;color:#887A2E;white-space:nowrap;overflow:hidden;cursor:pointer;}.dhx_in_move{background-color:#FFFF80;}div.dhx_cal_editor{background-color:#FFE763;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 black;margin:none;padding:none;overflow:auto;}div.dhx_menu_head{background-image:url(imgs/controls.gif);background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default;}div.dhx_menu_icon{background-image:url(imgs/controls.gif);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;}div.dhx_now_time{position:absolute;width:100%;border-bottom:2px dotted red;z-index:1;}div.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1;}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none;}.dhx_cal_light{background-color:#FFE763;border-radius:5px;font-family:Tahoma;font-size:8pt;border:1px solid #B7A64B;color:#887A2E;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888;}.dhx_cal_light_wide{width:650px;}.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;color:#887A2E;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;color:#FFF4B5;font-weight:bold;padding:5px 0 3px 10px;}.dhx_section_time{background-color:#DBCF8C;}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:#887A2E;font-size:12px;font-weight:normal;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{background-color:#FFF4B5;overflow:auto;border:none;color:#887A2E;height:100%;width:100%;outline:none!important;}.dhx_time{font-weight:bold;}.dhx_cal_light .dhx_title{padding-left:10px;}.dhx_cal_larea{border:1px solid #DCC43E;background-color:#FFF4B5;overflow:hidden;margin-left:3px;width:572px;height:1px;}.dhx_btn_set{padding:5px 10px 0 10px;float:left;}.dhx_btn_set div{float:left;height:21px;line-height:21px;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:black;opacity:.1;filter:alpha(opacity=10);}.dhx_custom_button{padding:0 3px 0 3px;color:#887A2E;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:normal;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;font-size:16px;padding:5px 0 0 10px;}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #DBCF8C;position:relative;background-color:#DBCF8C;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:transparent;}.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;color:#887A2E;}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;color:#FFF4B5;font-weight:bold;font-size:16px;font-family:Arial;cursor:pointer;}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;}.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_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/colapce-expand-icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16;}.dhx_agenda_area{width:100%;height: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:186px;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_agenda_line span{padding-left:5px;line-height:21px;}.dhx_year_body{border-left:1px dotted #586A7E;}.dhx_year_week{position:relative;}.dhx_scale_bar_last{border-right:1px dotted #586A7E;}.dhx_year_month{height:18px;padding-top:3px;border:1px dotted #586A7E;text-align:center;vertical-align:middle;}.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head{cursor:default;}.dhx_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) no-repeat;background-position:5px 4px;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;}.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;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_matrix_cell{background-color:white;}.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_matrix_scell.folder,.dhx_data_table.folder .dhx_matrix_cell{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:bold;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_map_line{height:21px;clear:both;overflow:hidden;}.dhx_map{position:absolute;}.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden;}.dhx_map_line .headline_description{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:white;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;}.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:white;}.dhx_second_scale_bar{border-bottom:1px dotted #586A7E;padding-top:2px;}div.dhx_form_repeat input.radio{margin:-4px 0 0 -4px!ie;}div.dhx_form_repeat input.checkbox{margin:0 0 0 -4px!ie;}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px;}.dhx_form_repeat{overflow:hidden;height:0;background-color:#FFF4B5;}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent;}.dhx_repeat_center,.dhx_repeat_left{height:115px;padding:10px 0 10px 10px;float:left;}.dhx_repeat_left{width:95px;}.dhx_repeat_center{width:335px;margin-top:12px;}.dhx_repeat_divider{float:left;height:115px;border-left:1px dotted #DCC43E;width:1px;}.dhx_repeat_right{float:right;height:115px;width:160px;padding:10px 3px 10px 10px;margin-top:7px;}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 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 0 4px;}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;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;} \ No newline at end of file +.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;}.dhtmlx-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Tahoma;z-index:10000;margin:5px;margin-bottom: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-color:#fff;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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);}.dhtmlx-info,.dhtmlx_popup_button,.dhtmlx_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_popup_button,.dhtmlx_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 #f00;}.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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:normal;-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:focus,.dhtmlx_button input:active,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background-image:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background-image:-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 15px;font-size:14px;color:#000;min-height:30px;border-radius:6px;}.dhtmlx-info,.dhtmlx-error{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 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_container{background-color:#C2D5FC;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;top:2px;white-space:nowrap;}.dhx_cal_navline .dhx_cal_date{font-weight:600;left:210px;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;width:29px;height:17px;left:50px;cursor:pointer;}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;width:29px;height:17px;left:80px;cursor:pointer;}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;width:75px;height:17px;left:112px;cursor:pointer;text-align:center;text-decoration:underline;}.dhx_cal_tab{width:59px;height:19px;text-align:center;text-decoration:underline;padding-top:2px;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:bold;border:1px dotted #586A7E;border-bottom:0;background-color:#C2D5FC;}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;border-top:1px dotted #8894A3;border-right:1px dotted #8894A3;z-index:2;overflow:hidden;color:#2F3A48;}.dhx_cal_data{border-top:1px dotted #8894A3;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;}.dhx_scale_bar{position:absolute;text-align:center;background-color:#C2D5FC;padding-top:3px;border-left:1px dotted #586A7E;}.dhx_scale_holder{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg.png);}.dhx_scale_holder_now{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg_now.png);}.dhx_scale_hour{height:41px;width:50px;border-bottom:1px dotted #8894A3;background-color:#C2D5FC;text-align:center;line-height:40px;color:#586A7E;overflow:hidden;}.dhx_month_head{background-color:#EBEFF4;color:#2F3A48;border-right:1px dotted #586A7E;height:18px;padding-right:5px;padding-top:3px;text-align:right;}.dhx_month_body{border-right:1px dotted #586A7E;border-bottom:1px dotted #586A7E;background-color:#FFF;}.dhx_now .dhx_month_body{background-color:#E2EDFF;}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#ECECEC;}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#E2E3E6;color:#94A6BB;}.dhx_now .dhx_month_head{background-color:#D1DEF4;font-weight:bold;}.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_icon,.dhx_multi_day{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3;}.dhx_multi_day{position:absolute;border-top:1px dotted #8894A3;}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-color:#E1E6FF;background-repeat:no-repeat;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_multi_day_icon{background-image:url(imgs/clock_big.gif);}.dhx_multi_day_icon_small{background-image:url(imgs/clock_small.gif);}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff;}.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title,.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer{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 1px;cursor:pointer;}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:bold;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 1px;padding:5px;}.dhx_resize_denied{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 1px;}.dhx_cal_event_line{background-color:#FFE763;border:1px solid #B7A543;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;color:#887A2E;cursor:pointer;overflow:hidden;}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;color:#887A2E;white-space:nowrap;overflow:hidden;cursor:pointer;}.dhx_in_move{background-color:#FFFF80;}div.dhx_cal_editor{background-color:#FFE763;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 black;margin:none;padding:none;overflow:auto;}div.dhx_menu_head{background-image:url(imgs/controls.gif);background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default;}div.dhx_menu_icon{background-image:url(imgs/controls.gif);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_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none;}.dhx_cal_light{background-color:#FFE763;border-radius:5px;font-family:Tahoma;font-size:8pt;border:1px solid #B7A64B;color:#887A2E;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888;}.dhx_cal_light_wide{width:650px;}.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;color:#887A2E;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;color:#FFF4B5;font-weight:bold;padding:5px 0 3px 10px;}.dhx_section_time{background-color:#DBCF8C;white-space:nowrap;}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:#887A2E;font-size:12px;font-weight:normal;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{background-color:#FFF4B5;overflow:auto;border:none;color:#887A2E;height:100%;width:100%;outline:none!important;resize:none;}.dhx_time{font-weight:bold;}.dhx_cal_light .dhx_title{padding-left:10px;}.dhx_cal_larea{border:1px solid #DCC43E;background-color:#FFF4B5;overflow:hidden;margin-left:3px;width:572px;height:1px;}.dhx_btn_set{padding:5px 10px 0 10px;float:left;}.dhx_btn_set div{float:left;height:21px;line-height:21px;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:black;opacity:.1;filter:alpha(opacity=10);}.dhx_custom_button{padding:0 3px 0 3px;color:#887A2E;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:normal;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;font-size:16px;padding:5px 0 0 10px;}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #DBCF8C;position:relative;background-color:#DBCF8C;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:transparent;}.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;color:#887A2E;}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;color:#FFF4B5;font-weight:bold;font-size:16px;font-family:Arial;cursor:pointer;}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;}.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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_agenda_line span{padding-left:5px;line-height:21px;}.dhx_year_body{border-left:1px dotted #586A7E;}.dhx_year_week{position:relative;}.dhx_scale_bar_last{border-right:1px dotted #586A7E;}.dhx_year_month{height:18px;padding-top:3px;border:1px dotted #586A7E;text-align:center;vertical-align:middle;}.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head{cursor:default;}.dhx_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) no-repeat;background-position:5px 4px;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;}.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;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_matrix_cell{background-color:white;}.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;background:url(./imgs/resize_dots.png) repeat-y;position:absolute;top:0;width:4px;}.dhx_event_resize_start{left:0;}.dhx_event_resize_end{right:0;}.dhx_matrix_scell.folder,.dhx_data_table.folder .dhx_matrix_cell{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:bold;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_map_line{height:21px;clear:both;overflow:hidden;}.dhx_map{position:absolute;}.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden;}.dhx_map_line .headline_description{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:white;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;}.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_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:white;}.dhx_second_scale_bar{border-bottom:1px dotted #586A7E;padding-top:2px;}.dhx_cal_header div div{border-left:1px dotted #8894A3;}.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 0;}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4;}.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n) 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:white!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_scheduler_month .dhx_marked_timespan{display:none;}.dhx_mini_calendar .dhx_marked_timespan{display:none;}.dhx_now_time{width:100%;border-bottom:2px dotted red;z-index:1;}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px dotted red;}.dhx_matrix_now_time{border-left:2px dotted red;z-index:1;}div.dhx_form_repeat input.radio{margin:-4px 0 0 -4px!ie;}div.dhx_form_repeat input.checkbox{margin:0 0 0 -4px!ie;}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px;}.dhx_form_repeat{overflow:hidden;height:0;background-color:#FFF4B5;}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent;}.dhx_repeat_center,.dhx_repeat_left{height:115px;padding:10px 0 10px 10px;float:left;}.dhx_repeat_left{width:95px;}.dhx_repeat_center{width:335px;margin-top:12px;}.dhx_repeat_divider{float:left;height:115px;border-left:1px dotted #DCC43E;width:1px;}.dhx_repeat_right{float:right;height:115px;width:160px;padding:10px 3px 10px 10px;margin-top:7px;}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 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 0 4px;}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;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;} \ No newline at end of file diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.js index 2c78468e81e..5d48e5a13e0 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.js @@ -1,194 +1,218 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -dhtmlx=function(a){for(var b in a)dhtmlx[b]=a[b];return dhtmlx}; -dhtmlx.extend_api=function(a,b,c){var d=window[a];if(d)window[a]=function(a){if(a&&typeof a=="object"&&!a.tagName&&!(a instanceof Array)){var c=d.apply(this,b._init?b._init(a):arguments),g;for(g in dhtmlx)if(b[g])this[b[g]](dhtmlx[g]);for(g in a)if(b[g])this[b[g]](a[g]);else g.indexOf("on")==0&&this.attachEvent(g,a[g])}else c=d.apply(this,arguments);b._patch&&b._patch(this);return c||this},window[a].prototype=d.prototype,c&&dhtmlXHeir(window[a].prototype,c)}; +window.dhtmlx||(dhtmlx=function(a){for(var b in a)dhtmlx[b]=a[b];return dhtmlx}); +dhtmlx.extend_api=function(a,b,c){var d=window[a];if(d)window[a]=function(a){if(a&&typeof a=="object"&&!a.tagName){var c=d.apply(this,b._init?b._init(a):arguments),g;for(g in dhtmlx)if(b[g])this[b[g]](dhtmlx[g]);for(g in a)if(b[g])this[b[g]](a[g]);else g.indexOf("on")==0&&this.attachEvent(g,a[g])}else c=d.apply(this,arguments);b._patch&&b._patch(this);return c||this},window[a].prototype=d.prototype,c&&dhtmlXHeir(window[a].prototype,c)}; dhtmlxAjax={get:function(a,b){var c=new dtmlXMLLoaderObject(!0);c.async=arguments.length<3;c.waitCall=b;c.loadXML(a);return c},post:function(a,b,c){var d=new dtmlXMLLoaderObject(!0);d.async=arguments.length<4;d.waitCall=c;d.loadXML(a,!0,b);return d},getSync:function(a){return this.get(a,null,!0)},postSync:function(a,b){return this.post(a,b,null,!0)}}; -function dtmlXMLLoaderObject(a,b,c,d){this.xmlDoc="";this.async=typeof c!="undefined"?c:!0;this.onloadAction=a||null;this.mainObject=b||null;this.waitCall=null;this.rSeed=d||!1;return this} -dtmlXMLLoaderObject.prototype.waitLoadFunction=function(a){var b=!0;return this.check=function(){if(a&&a.onloadAction!=null&&(!a.xmlDoc.readyState||a.xmlDoc.readyState==4)&&b){b=!1;if(typeof a.onloadAction=="function")a.onloadAction(a.mainObject,null,null,null,a);if(a.waitCall)a.waitCall.call(this,a),a.waitCall=null}}}; -dtmlXMLLoaderObject.prototype.getXMLTopNode=function(a,b){if(this.xmlDoc.responseXML){var c=this.xmlDoc.responseXML.getElementsByTagName(a);c.length==0&&a.indexOf(":")!=-1&&(c=this.xmlDoc.responseXML.getElementsByTagName(a.split(":")[1]));var d=c[0]}else d=this.xmlDoc.documentElement;if(d)return this._retry=!1,d;if(_isIE&&!this._retry){var e=this.xmlDoc.responseText,b=this.xmlDoc;this._retry=!0;this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");this.xmlDoc.async=!1;this.xmlDoc.loadXML(e);return this.getXMLTopNode(a, -b)}dhtmlxError.throwError("LoadXML","Incorrect XML",[b||this.xmlDoc,this.mainObject]);return document.createElement("DIV")};dtmlXMLLoaderObject.prototype.loadXMLString=function(a){try{var b=new DOMParser;this.xmlDoc=b.parseFromString(a,"text/xml")}catch(c){this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"),this.xmlDoc.async=this.async,this.xmlDoc.loadXML(a)}this.onloadAction(this.mainObject,null,null,null,this);if(this.waitCall)this.waitCall(),this.waitCall=null}; +function dtmlXMLLoaderObject(a,b,c,d){this.xmlDoc="";this.async=typeof c!="undefined"?c:!0;this.onloadAction=a||null;this.mainObject=b||null;this.waitCall=null;this.rSeed=d||!1;return this}dtmlXMLLoaderObject.count=0; +dtmlXMLLoaderObject.prototype.waitLoadFunction=function(a){var b=!0;return this.check=function(){if(a&&a.onloadAction!=null&&(!a.xmlDoc.readyState||a.xmlDoc.readyState==4)&&b){b=!1;dtmlXMLLoaderObject.count++;if(typeof a.onloadAction=="function")a.onloadAction(a.mainObject,null,null,null,a);if(a.waitCall)a.waitCall.call(this,a),a.waitCall=null}}}; +dtmlXMLLoaderObject.prototype.getXMLTopNode=function(a,b){if(this.xmlDoc.responseXML){var c=this.xmlDoc.responseXML.getElementsByTagName(a);c.length==0&&a.indexOf(":")!=-1&&(c=this.xmlDoc.responseXML.getElementsByTagName(a.split(":")[1]));var d=c[0]}else d=this.xmlDoc.documentElement;if(d)return this._retry=!1,d;if(!this._retry)return this._retry=!0,b=this.xmlDoc,this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""),!0),this.getXMLTopNode(a,b);dhtmlxError.throwError("LoadXML","Incorrect XML", +[b||this.xmlDoc,this.mainObject]);return document.createElement("DIV")};dtmlXMLLoaderObject.prototype.loadXMLString=function(a,b){if(_isIE)this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"),this.xmlDoc.async=this.async,this.xmlDoc.onreadystatechange=function(){},this.xmlDoc.loadXML(a);else{var c=new DOMParser;this.xmlDoc=c.parseFromString(a,"text/xml")}if(!b){if(this.onloadAction)this.onloadAction(this.mainObject,null,null,null,this);if(this.waitCall)this.waitCall(),this.waitCall=null}}; dtmlXMLLoaderObject.prototype.loadXML=function(a,b,c,d){this.rSeed&&(a+=(a.indexOf("?")!=-1?"&":"?")+"a_dhx_rSeed="+(new Date).valueOf());this.filePath=a;this.xmlDoc=!_isIE&&window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");if(this.async)this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);this.xmlDoc.open(b?"POST":"GET",a,this.async);d?(this.xmlDoc.setRequestHeader("User-Agent","dhtmlxRPC v0.1 ("+navigator.userAgent+")"),this.xmlDoc.setRequestHeader("Content-type", -"text/xml")):b&&this.xmlDoc.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");this.xmlDoc.send(c);this.async||(new this.waitLoadFunction(this))()};dtmlXMLLoaderObject.prototype.destructor=function(){return this.xmlDoc=this.mainObject=this.onloadAction=null}; +"text/xml")):b&&this.xmlDoc.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");this.xmlDoc.send(c);this.async||(new this.waitLoadFunction(this))()}; +dtmlXMLLoaderObject.prototype.destructor=function(){return this.setXSLParamValue=this.getXMLTopNode=this.xmlNodeToJSON=this.doSerialization=this.loadXMLString=this.loadXML=this.doXSLTransToString=this.doXSLTransToObject=this.doXPathOpera=this.doXPath=this.xmlDoc=this.mainObject=this.onloadAction=this.filePath=this.rSeed=this.async=this._retry=this._getAllNamedChilds=this._filterXPath=null}; dtmlXMLLoaderObject.prototype.xmlNodeToJSON=function(a){for(var b={},c=0;c-1&&(_isChrome=!0); -if(navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("Konqueror")!=-1){var x=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5));if(x>525){_isFF=!0;var w=1.9}else _isKHTML=!0}else navigator.userAgent.indexOf("Opera")!=-1?(_isOpera=!0,_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))):navigator.appName.indexOf("Microsoft")!=-1?(_isIE=!0,navigator.appVersion.indexOf("MSIE 8.0")!=-1&&document.compatMode!="BackCompat"&& -(_isIE=8)):(_isFF=!0,w=parseFloat(navigator.userAgent.split("rv:")[1])); +dhtmlDragAndDropObject.prototype.initFrameRoute=function(a,b){if(a)window.dhtmlDragAndDrop.preCreateDragCopy(),window.dhtmlDragAndDrop.dragStartNode=a.dhtmlDragAndDrop.dragStartNode,window.dhtmlDragAndDrop.dragStartObject=a.dhtmlDragAndDrop.dragStartObject,window.dhtmlDragAndDrop.dragNode=a.dhtmlDragAndDrop.dragNode,window.dhtmlDragAndDrop.gldragNode=a.dhtmlDragAndDrop.dragNode,window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag,window.waitDrag=0,!_isIE&&b&&(!_isFF||_FFrv<1.8)&&window.dhtmlDragAndDrop.calculateFramePosition(); +try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=a&&parent.dhtmlDragAndDrop.initFrameRoute(window)}catch(c){}for(var d=0;d-1&&(_isChrome=!0); +if(navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("Konqueror")!=-1)_KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5)),_KHTMLrv>525?(_isFF=!0,_FFrv=1.9):_isKHTML=!0;else if(navigator.userAgent.indexOf("Opera")!=-1)_isOpera=!0,_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3));else if(navigator.appName.indexOf("Microsoft")!=-1){if(_isIE=!0,(navigator.appVersion.indexOf("MSIE 8.0")!=-1||navigator.appVersion.indexOf("MSIE 9.0")!= +-1||navigator.appVersion.indexOf("MSIE 10.0")!=-1)&&document.compatMode!="BackCompat")_isIE=8}else _isFF=!0,_FFrv=parseFloat(navigator.userAgent.split("rv:")[1]); dtmlXMLLoaderObject.prototype.doXPath=function(a,b,c,d){if(_isKHTML||!_isIE&&!window.XPathResult)return this.doXPathOpera(a,b);if(_isIE)return b||(b=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),b||dhtmlxError.throwError("LoadXML","Incorrect XML",[b||this.xmlDoc,this.mainObject]),c!=null&&b.setProperty("SelectionNamespaces","xmlns:xsl='"+c+"'"),d=="single"?b.selectSingleNode(a):b.selectNodes(a)||[];else{var e=b;b||(b=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML);b||dhtmlxError.throwError("LoadXML", -"Incorrect XML",[b||this.xmlDoc,this.mainObject]);b.nodeName.indexOf("document")!=-1?e=b:(e=b,b=b.ownerDocument);var f=XPathResult.ANY_TYPE;if(d=="single")f=XPathResult.FIRST_ORDERED_NODE_TYPE;var g=[],h=b.evaluate(a,e,function(){return c},f,null);if(f==XPathResult.FIRST_ORDERED_NODE_TYPE)return h.singleNodeValue;for(var i=h.iterateNext();i;)g[g.length]=i,i=h.iterateNext();return g}};function z(){if(!this.catches)this.catches=[];return this}z.prototype.catchError=function(a,b){this.catches[a]=b}; -z.prototype.throwError=function(a,b,c){if(this.catches[a])return this.catches[a](a,b,c);if(this.catches.ALL)return this.catches.ALL(a,b,c);alert("Error type: "+a+"\nDescription: "+b);return null};window.dhtmlxError=new z; +"Incorrect XML",[b||this.xmlDoc,this.mainObject]);b.nodeName.indexOf("document")!=-1?e=b:(e=b,b=b.ownerDocument);var f=XPathResult.ANY_TYPE;if(d=="single")f=XPathResult.FIRST_ORDERED_NODE_TYPE;var g=[],h=b.evaluate(a,e,function(){return c},f,null);if(f==XPathResult.FIRST_ORDERED_NODE_TYPE)return h.singleNodeValue;for(var k=h.iterateNext();k;)g[g.length]=k,k=h.iterateNext();return g}};function v(){if(!this.catches)this.catches=[];return this}v.prototype.catchError=function(a,b){this.catches[a]=b}; +v.prototype.throwError=function(a,b,c){if(this.catches[a])return this.catches[a](a,b,c);if(this.catches.ALL)return this.catches.ALL(a,b,c);alert("Error type: "+a+"\nDescription: "+b);return null};window.dhtmlxError=new v; dtmlXMLLoaderObject.prototype.doXPathOpera=function(a,b){var c=a.replace(/[\/]+/gi,"/").split("/"),d=null,e=1;if(!c.length)return[];if(c[0]==".")d=[b];else if(c[0]=="")d=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(c[e].replace(/\[[^\]]*\]/g,"")),e++;else return[];for(;e
"+a+"
"}function e(a){if(!l.area)l.area=document.createElement("DIV"),l.area.className="dhtmlx_message_area",l.area.style[l.position]="5px",document.body.appendChild(l.area);l.hide(a.id);var b=document.createElement("DIV");b.innerHTML="
"+a.text+"
";b.className="dhtmlx-info dhtmlx-"+a.type;b.onclick=function(){l.hide(a.id); +a=null};l.position=="bottom"&&l.area.firstChild?l.area.insertBefore(b,l.area.firstChild):l.area.appendChild(b);a.expire>0&&(l.timers[a.id]=window.setTimeout(function(){l.hide(a.id)},a.expire));l.pull[a.id]=b;b=null;return a.id}function f(b,c,e){var f=document.createElement("DIV");f.className=" dhtmlx_modal_box dhtmlx-"+b.type;f.setAttribute("dhxbox",1);var g="";if(b.width)f.style.width=b.width;if(b.height)f.style.height=b.height;b.title&&(g+='
'+b.title+"
");g+= +'
'+(b.content?"":b.text)+'
';c&&(g+=d(b.ok||"OK",!0));e&&(g+=d(b.cancel||"Cancel",!1));if(b.buttons)for(var h=0;h";f.innerHTML=g;if(b.content){var i=b.content;typeof i=="string"&&(i=document.getElementById(i));if(i.style.display=="none")i.style.display="";f.childNodes[b.title?1:0].appendChild(i)}f.onclick=function(c){var c=c||event,d=c.target||c.srcElement;if(!d.className)d= +d.parentNode;d.className.split(" ")[0]=="dhtmlx_popup_button"&&(result=d.getAttribute("result"),result=result=="true"||(result=="false"?!1:result),a(b,result))};b.box=f;if(c||e)p=b;return f}function g(a,d,e){var g=a.tagName?a:f(a,d,e);a.hidden||c(!0);document.body.appendChild(g);var h=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-g.offsetWidth)/2)),i=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-g.offsetHeight)/2));g.style.top=a.position== +"top"?"-3px":i+"px";g.style.left=h+"px";g.onkeydown=b;g.focus();a.hidden&&dhtmlx.modalbox.hide(g);return g}function h(a){return g(a,!0,!1)}function k(a){return g(a,!0,!0)}function i(a){return g(a)}function j(a,b,c){typeof a!="object"&&(typeof b=="function"&&(c=b,b=""),a={text:a,type:b,callback:c});return a}function m(a,b,c,d){typeof a!="object"&&(a={text:a,type:b,expire:c,id:d});a.id=a.id||l.uid();a.expire=a.expire||l.expire;return a}var p=null;document.attachEvent?document.attachEvent("onkeydown", +b):document.addEventListener("keydown",b,!0);dhtmlx.alert=function(){text=j.apply(this,arguments);text.type=text.type||"confirm";return h(text)};dhtmlx.confirm=function(){text=j.apply(this,arguments);text.type=text.type||"alert";return k(text)};dhtmlx.modalbox=function(){text=j.apply(this,arguments);text.type=text.type||"alert";return i(text)};dhtmlx.modalbox.hide=function(a){for(;a&&a.getAttribute&&!a.getAttribute("dhxbox");)a=a.parentNode;a&&(a.parentNode.removeChild(a),c(!1))};var l=dhtmlx.message= +function(a,b,c,d){a=m.apply(this,arguments);a.type=a.type||"info";var f=a.type.split("-")[0];switch(f){case "alert":return h(a);case "confirm":return k(a);case "modalbox":return i(a);default:return e(a)}};l.seed=(new Date).valueOf();l.uid=function(){return l.seed++};l.expire=4E3;l.keyboard=!0;l.position="top";l.pull={};l.timers={};l.hideAll=function(){for(var a in l.pull)l.hide(a)};l.hide=function(a){var b=l.pull[a];b&&b.parentNode&&(window.setTimeout(function(){b.parentNode.removeChild(b);b=null}, +2E3),b.className+=" hidden",l.timers[a]&&window.clearTimeout(l.timers[a]),delete l.pull[a])}})(); +function dataProcessor(a){this.serverProcessor=a;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);return this} dataProcessor.prototype={setTransactionMode:function(a,b){this._tMode=a;this._tSend=b},escape:function(a){return this._utf?encodeURIComponent(a):escape(a)},enableUTFencoding:function(a){this._utf=convertStringToBoolean(a)},setDataColumns:function(a){this._columns=typeof a=="string"?a.split(","):a},getSyncState:function(){return!this.updatedRows.length},enableDataNames:function(a){this._endnm=convertStringToBoolean(a)},enablePartialDataSend:function(a){this._changed=convertStringToBoolean(a)},setUpdateMode:function(a, b){this.autoUpdate=a=="cell";this.updateMode=a;this.dnd=b},ignore:function(a,b){this._silent_mode=!0;a.call(b||window);this._silent_mode=!1},setUpdated:function(a,b,c){if(!this._silent_mode){var d=this.findRow(a),c=c||"updated",e=this.obj.getUserData(a,this.action_param);e&&c=="updated"&&(c=e);b?(this.set_invalid(a,!1),this.updatedRows[d]=a,this.obj.setUserData(a,this.action_param,c),this._in_progress[a]&&(this._in_progress[a]="wait")):this.is_invalid(a)||(this.updatedRows.splice(d,1),this.obj.setUserData(a, this.action_param,""));b||this._clearUpdateFlag(a);this.markRow(a,b,c);b&&this.autoUpdate&&this.sendData(a)}},_clearUpdateFlag:function(){},markRow:function(a,b,c){var d="",e=this.is_invalid(a);e&&(d=this.styles[e],b=!0);if(this.callEvent("onRowMark",[a,b,c,e])&&(d=this.styles[b?c:"clear"]+d,this.obj[this._methods[0]](a,d),e&&e.details)){d+=this.styles[e+"_cell"];for(var f=0;f0?"&dhx_no_header=1":"")},b=function(b){return a.call(this,b)+(this._connector_sorting||"")+(this._connector_filter||"")},c=function(a,c,d){this._connector_sorting="&dhx_sort["+c+"]="+d;return b.call(this, a)},d=function(a,c,d){for(var h=0;h0)this.xy.nav_height=e;var f=this.xy.scale_height+ this.xy.nav_height+(this._quirks?-2:0);this.set_xy(this._els.dhx_cal_data[0],a,b-(f+2),0,f+2)};scheduler.set_xy=function(a,b,c,d,e){a.style.width=Math.max(0,b)+"px";a.style.height=Math.max(0,c)+"px";if(arguments.length>3)a.style.left=d+"px",a.style.top=e+"px"}; -scheduler.get_elements=function(){for(var a=this._obj.getElementsByTagName("DIV"),b=0;bf.getHours()&&(f.setHours(g),a=f.valueOf());b=a+e}var h=new Date(b);f.valueOf()==h.valueOf()&&h.setTime(h.valueOf()+e);d.start_date=d.start_date||f;d.end_date=d.end_date||h;d.text=d.text||this.locale.labels.new_event;d.id=this._drag_id= -this.uid();this._drag_mode="new-size";this._loading=!0;this.addEvent(d);this.callEvent("onEventCreated",[this._drag_id,c]);this._loading=!1;this._drag_event={};this._on_mouse_up(c)}; -scheduler._on_dbl_click=function(a,b){b=b||a.target||a.srcElement;if(!this.config.readonly){var c=b.className.split(" ")[0];switch(c){case "dhx_scale_holder":case "dhx_scale_holder_now":case "dhx_month_body":case "dhx_wa_day_data":if(!scheduler.config.dblclick_create)break;var d=this._mouse_coords(a),e=this._min_date.valueOf()+(d.y*this.config.time_step+(this._table_view?0:d.x)*1440)*6E4,e=this._correct_shift(e);this.addEventNow(e,null,a);break;case "dhx_body":case "dhx_wa_ev_body":case "dhx_cal_event_line":case "dhx_cal_event_clear":var f= -this._locate_event(b);if(!this.callEvent("onDblClick",[f,a]))break;this.config.details_on_dblclick||this._table_view||!this.getEvent(f)._timed?this.showLightbox(f):this.edit(f);break;case "":if(b.parentNode)return scheduler._on_dbl_click(a,b.parentNode);default:var g=this["dblclick_"+c];g&&g.call(this,a)}}}; +scheduler.get_elements=function(){for(var a=this._obj.getElementsByTagName("DIV"),b=0;bf.getHours()&&(f.setHours(g),a=f.valueOf());b=a.valueOf()+e}var h=new Date(b);f.valueOf()==h.valueOf()&&h.setTime(h.valueOf()+e);d.start_date=d.start_date||f;d.end_date=d.end_date||h;d.text=d.text||this.locale.labels.new_event; +d.id=this._drag_id=this.uid();this._drag_mode="new-size";this._loading=!0;this.addEvent(d);this.callEvent("onEventCreated",[this._drag_id,c]);this._loading=!1;this._drag_event={};this._on_mouse_up(c)}; +scheduler._on_dbl_click=function(a,b){b=b||a.target||a.srcElement;if(!this.config.readonly){var c=b.className.split(" ")[0];switch(c){case "dhx_scale_holder":case "dhx_scale_holder_now":case "dhx_month_body":case "dhx_wa_day_data":case "dhx_marked_timespan":if(!scheduler.config.dblclick_create)break;this.addEventNow(this.getActionData(a).date,null,a);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 d= +this._locate_event(b);if(!this.callEvent("onDblClick",[d,a]))break;this.config.details_on_dblclick||this._table_view||!this.getEvent(d)._timed||!this.config.select?this.showLightbox(d):this.edit(d);break;case "dhx_time_block":case "dhx_cal_container":break;default:var e=this["dblclick_"+c];if(e)e.call(this,a);else if(b.parentNode&&b!=this)return scheduler._on_dbl_click(a,b.parentNode)}}}; scheduler._mouse_coords=function(a){var b,c=document.body,d=document.documentElement;b=a.pageX||a.pageY?{x:a.pageX,y:a.pageY}:{x:a.clientX+(c.scrollLeft||d.scrollLeft||0)-c.clientLeft,y:a.clientY+(c.scrollTop||d.scrollTop||0)-c.clientTop};b.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width);b.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop;b.ev=a;var e=this["mouse_"+this._mode];if(e)return e.call(this, -b);if(this._table_view){for(var f=0,f=1;fb.y)break;b.y=(Math.max(0,Math.ceil(b.x/this._cols[0])-1)+Math.max(0,f-1)*7)*1440/this.config.time_step;b.x=0}else b.x=Math.max(0,Math.ceil(b.x/this._cols[0])-1),b.y=Math.max(0,Math.ceil(b.y*60/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step);return b}; -scheduler._close_not_saved=function(){if((new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var a=scheduler.locale.labels.confirm_closing;(!a||confirm(a))&&scheduler.editStop(scheduler.config.positive_closing)}};scheduler._correct_shift=function(a,b){return a-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(a)).getTimezoneOffset())*6E4*(b?-1:1)}; -scheduler._on_mouse_move=function(a){if(this._drag_mode){var b=this._mouse_coords(a);if(!this._drag_pos||b.custom||this._drag_pos.x!=b.x||this._drag_pos.y!=b.y){this._edit_id!=this._drag_id&&this._close_not_saved();this._drag_pos=b;if(this._drag_mode=="create"){this._close_not_saved();this._loading=!0;var c=this._min_date.valueOf()+(b.y*this.config.time_step+(this._table_view?0:b.x)*1440)*6E4,c=this._correct_shift(c);if(!this._drag_start){this._drag_start=c;return}var d=c;if(d==this._drag_start)return; -this._drag_id=this.uid();this.addEvent(new Date(this._drag_start),new Date(d),this.locale.labels.new_event,this._drag_id,b.fields);this.callEvent("onEventCreated",[this._drag_id,a]);this._loading=!1;this._drag_mode="new-size"}var e=this.getEvent(this._drag_id);if(this._drag_mode=="move")c=this._min_date.valueOf()+(b.y*this.config.time_step+b.x*1440)*6E4,!b.custom&&this._table_view&&(c+=this.date.time_part(e.start_date)*1E3),c=this._correct_shift(c),d=e.end_date.valueOf()-(e.start_date.valueOf()-c); -else{c=e.start_date.valueOf();if(this._table_view)d=this._min_date.valueOf()+b.y*this.config.time_step*6E4+(b.custom?0:864E5),this._mode=="month"&&(d=this._correct_shift(d,!1));else if(d=this.date.date_part(new Date(e.end_date)).valueOf()+b.y*this.config.time_step*6E4,this._els.dhx_cal_data[0].style.cursor="s-resize",this._mode=="week"||this._mode=="day")d=this._correct_shift(d);if(this._drag_mode=="new-size")if(d<=this._drag_start)var f=b.shift||(this._table_view&&!b.custom?864E5:0),c=d-(b.shift? -0:f),d=this._drag_start+(f||this.config.time_step*6E4);else c=this._drag_start;else d<=c&&(d=c+this.config.time_step*6E4)}var g=new Date(d-1),h=new Date(c);if(this._table_view||g.getDate()==h.getDate()&&g.getHours()this._min_date&&t.getHours()>=this.config.first_hour&&t.getHours()b.y)break;b.y=Math.ceil((Math.max(0,b.x/this._cols[0])+Math.max(0,f-1)*7)*1440/this.config.time_step);if(scheduler._drag_mode||this._mode=="month")b.y=(Math.max(0,Math.ceil(b.x/this._cols[0])-1)+Math.max(0,f-1)*7)*1440/this.config.time_step;b.x=0}else b.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(b.x/this._cols[0])-1)),b.y=Math.max(0,Math.ceil(b.y*60/(this.config.time_step* +this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step);return b};scheduler._close_not_saved=function(){if((new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var a=scheduler.locale.labels.confirm_closing;scheduler._dhtmlx_confirm(a,scheduler.locale.labels.title_confirm_closing,function(){scheduler.editStop(scheduler.config.positive_closing)})}}; +scheduler._correct_shift=function(a,b){return a-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(a)).getTimezoneOffset())*6E4*(b?-1:1)}; +scheduler._on_mouse_move=function(a){if(this._drag_mode){var b=this._mouse_coords(a);if(!this._drag_pos||b.custom||this._drag_pos.x!=b.x||this._drag_pos.y!=b.y){var c,d;this._edit_id!=this._drag_id&&this._close_not_saved();this._drag_pos=b;if(this._drag_mode=="create"){this._close_not_saved();this._loading=!0;c=this._get_date_from_pos(b).valueOf();var e=this.callEvent("onBeforeEventCreated",[a]);if(!e)return;if(!this._drag_start){this._drag_start=c;return}d=c;if(d==this._drag_start)return;this._drag_id= +this.uid();this.addEvent(new Date(this._drag_start),new Date(d),this.locale.labels.new_event,this._drag_id,b.fields);this.callEvent("onEventCreated",[this._drag_id,a]);this._loading=!1;this._drag_mode="new-size"}var f=this.getEvent(this._drag_id);if(this._drag_mode=="move")c=this._min_date.valueOf()+(b.y*this.config.time_step+b.x*1440)*6E4,!b.custom&&this._table_view&&(c+=this.date.time_part(f.start_date)*1E3),c=this._correct_shift(c),d=f.end_date.valueOf()-(f.start_date.valueOf()-c);else{c=f.start_date.valueOf(); +d=f.end_date.valueOf();if(this._table_view){var g=this._min_date.valueOf()+b.y*this.config.time_step*6E4+(b.custom?0:864E5);this._mode=="month"&&(g=this._correct_shift(g,!1));b.resize_from_start?c=g:d=g}else if(d=this.date.date_part(new Date(f.end_date)).valueOf()+b.y*this.config.time_step*6E4,this._els.dhx_cal_data[0].style.cursor="s-resize",this._mode=="week"||this._mode=="day")d=this._correct_shift(d);if(this._drag_mode=="new-size")if(d<=this._drag_start){var h=b.shift||(this._table_view&&!b.custom? +864E5:0);c=d-(b.shift?0:h);d=this._drag_start+(h||this.config.time_step*6E4)}else c=this._drag_start;else d<=c&&(d=c+this.config.time_step*6E4)}var k=new Date(d-1),i=new Date(c);if(this._table_view||k.getDate()==i.getDate()&&k.getHours()";for(var o=0;o<7;o++){l+= -"=d?m="dhx_after":c.valueOf()==e.valueOf()&&(m="dhx_now");l+=" class='"+m+" "+this.templates.month_date_class(c,e)+"' ";l+=">
"+this.templates.month_day(c)+"
";c=this.date.add(c,1,"day")}l+="";i[k]=j;j+=this._colsS.height}l+="";this._max_date=c;a.innerHTML=l;return c}; -scheduler.getLabel=function(a,b){for(var c=this.config.lightbox.sections,d=0;d11?"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 a}});b&&(a=a.replace(/date\.get/g, -"date.getUTC"));return new Function("date",'return "'+a+'";')},str_to_date:function(a,b){for(var c="var temp=date.split(/[^0-9a-zA-Z]+/g);",d=a.match(/%[a-zA-Z]/g),e=0;e50?1900:2000);";break;case "%g":case "%G":case "%h":case "%H":c+="set[3]=temp["+e+"]||0;";break;case "%i":c+="set[4]=temp["+e+"]||0;";break;case "%Y":c+= -"set[0]=temp["+e+"]||0;";break;case "%a":case "%A":c+="set[3]=set[3]%12+((temp["+e+"]||'').toLowerCase()=='am'?0:12);";break;case "%s":c+="set[5]=temp["+e+"]||0;";break;case "%M":c+="set[1]=scheduler.locale.date.month_short_hash[temp["+e+"]]||0;";break;case "%F":c+="set[1]=scheduler.locale.date.month_full_hash[temp["+e+"]]||0;"}var f="set[0],set[1],set[2],set[3],set[4],set[5]";b&&(f=" Date.UTC("+f+")");return new Function("date","var set=[0,0,1,0,0,0]; "+c+" return new Date("+f+");")},getISOWeek:function(a){if(!a)return!1; -var b=a.getDay();b===0&&(b=7);var c=new Date(a.valueOf());c.setDate(a.getDate()+(4-b));var d=c.getFullYear(),e=Math.round((c.getTime()-(new Date(d,0,1)).getTime())/864E5),f=1+Math.floor(e/7);return f},getUTCISOWeek:function(a){return this.getISOWeek(a)}}; +scheduler._reset_month_scale=function(a,b,c){var d=scheduler.date.add(b,1,"month"),e=new Date;this.date.date_part(e);this.date.date_part(c);var f=Math.ceil(Math.round((d.valueOf()-c.valueOf())/864E5)/7),g=[],h=Math.floor(a.clientHeight/f)-22;this._colsS.height=h+22;for(var k=this._colsS.heights=[],i=0;i<=7;i++)g[i]=" style='height:"+h+"px; width:"+((this._cols[i]||0)-1)+"px;' ";var j=0;this._min_date=c;for(var m="",p=[],i=0;i";for(var l=0;l<7;l++){m+= +"=d?n="dhx_after":c.valueOf()==e.valueOf()&&(n="dhx_now");m+=" class='"+n+" "+this.templates.month_date_class(c,e)+"' ";m+=">
"+this.templates.month_day(c)+"
";p.push(c);c=this.date.add(c,1,"day")}m+="";k[i]=j;j+=this._colsS.height}m+="
";this._max_date=c;a.innerHTML=m;this._scales={};for(var r=a.getElementsByTagName("div"),i=0;i11?"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 a}});b&&(a=a.replace(/date\.get/g,"date.getUTC"));return new Function("date",'return "'+a+'";')},str_to_date:function(a,b){for(var c="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",d=a.match(/%[a-zA-Z]/g),e=0;e50?1900:2000);";break;case "%g":case "%G":case "%h":case "%H":c+="set[3]=temp["+e+"]||0;";break;case "%i":c+="set[4]=temp["+e+"]||0;";break;case "%Y":c+="set[0]=temp["+e+"]||0;";break;case "%a":case "%A":c+="set[3]=set[3]%12+((temp["+e+"]||'').toLowerCase()=='am'?0:12);";break;case "%s":c+="set[5]=temp["+e+"]||0;";break;case "%M":c+="set[1]=scheduler.locale.date.month_short_hash[temp["+e+"]]||0;";break;case "%F":c+="set[1]=scheduler.locale.date.month_full_hash[temp["+ +e+"]]||0;"}var f="set[0],set[1],set[2],set[3],set[4],set[5]";b&&(f=" Date.UTC("+f+")");return new Function("date","var set=[0,0,1,0,0,0]; "+c+" return new Date("+f+");")},getISOWeek:function(a){if(!a)return!1;var b=a.getDay();b===0&&(b=7);var c=new Date(a.valueOf());c.setDate(a.getDate()+(4-b));var d=c.getFullYear(),e=Math.round((c.getTime()-(new Date(d,0,1)).getTime())/864E5),f=1+Math.floor(e/7);return f},getUTCISOWeek:function(a){return this.getISOWeek(a)},convert_to_utc:function(a){return new Date(a.getUTCFullYear(), +a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds())}}; scheduler.locale={date:{month_full:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),month_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),day_full:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},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",agenda_tab:"Agenda",date:"Date",description:"Description",year_tab:"Year",week_agenda_tab:"Agenda"}}; +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"}}; 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",hour_size_px:42,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,click_form_details:0,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,drag_lightbox:!0,preserve_scroll:!0, -server_utc:!1,positive_closing:!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"}]},repeat_date_of_end:"01.01.2010"};scheduler.templates={}; -scheduler.init_templates=function(){var a=scheduler.date.date_to_str,b=scheduler.config,c=function(a,b){for(var c in b)a[c]||(a[c]=b[c])};c(scheduler.templates,{day_date:a(b.default_date),month_date:a(b.month_date),week_date:function(a,b){return scheduler.templates.day_date(a)+" – "+scheduler.templates.day_date(scheduler.date.add(b,-1,"day"))},day_scale_date:a(b.default_date),month_scale_date:a(b.week_date),week_scale_date:a(b.day_date),hour_scale:a(b.hour_date),time_picker:a(b.hour_date),event_date:a(b.hour_date), -month_day:a(b.month_day),xml_date:scheduler.date.str_to_date(b.xml_date,b.server_utc),load_format:a(b.load_date,b.server_utc),xml_format:a(b.xml_date,b.server_utc),api_date:scheduler.date.str_to_date(b.api_date),event_header:function(a,b){return scheduler.templates.event_date(a)+" - "+scheduler.templates.event_date(b)},event_text:function(a,b,c){return c.text},event_class:function(){return""},month_date_class:function(){return""},week_date_class:function(){return""},event_bar_date:function(a){return scheduler.templates.event_date(a)+ -" "},event_bar_text:function(a,b,c){return c.text}});this.callEvent("onTemplatesReady",[])};scheduler.uid=function(){if(!this._seed)this._seed=(new Date).valueOf();return this._seed++};scheduler._events={};scheduler.clearAll=function(){this._events={};this._loaded={};this.clear_view()}; +select:!0,server_utc:!1,positive_closing:!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,displayed_event_color:"#ffc5ab",displayed_event_text_color:"#7e2727"};scheduler.templates={}; +scheduler.init_templates=function(){var a=scheduler.locale.labels;a.dhx_save_btn=a.icon_save;a.dhx_cancel_btn=a.icon_cancel;a.dhx_delete_btn=a.icon_delete;var b=scheduler.date.date_to_str,c=scheduler.config,d=function(a,b){for(var c in b)a[c]||(a[c]=b[c])};d(scheduler.templates,{day_date:b(c.default_date),month_date:b(c.month_date),week_date:function(a,b){return scheduler.templates.day_date(a)+" – "+scheduler.templates.day_date(scheduler.date.add(b,-1,"day"))},day_scale_date:b(c.default_date), +month_scale_date:b(c.week_date),week_scale_date:b(c.day_date),hour_scale:b(c.hour_date),time_picker:b(c.hour_date),event_date:b(c.hour_date),month_day:b(c.month_day),xml_date:scheduler.date.str_to_date(c.xml_date,c.server_utc),load_format:b(c.load_date,c.server_utc),xml_format:b(c.xml_date,c.server_utc),api_date:scheduler.date.str_to_date(c.api_date),event_header:function(a,b){return scheduler.templates.event_date(a)+" - "+scheduler.templates.event_date(b)},event_text:function(a,b,c){return c.text}, +event_class:function(){return""},month_date_class:function(){return""},week_date_class:function(){return""},event_bar_date:function(a){return scheduler.templates.event_date(a)+" "},event_bar_text:function(a,b,c){return c.text}});this.callEvent("onTemplatesReady",[])};scheduler.uid=function(){if(!this._seed)this._seed=(new Date).valueOf();return this._seed++};scheduler._events={};scheduler.clearAll=function(){this._events={};this._loaded={};this.clear_view()}; scheduler.addEvent=function(a,b,c,d,e){if(!arguments.length)return this.addEventNow();var f=a;if(arguments.length!=1)f=e||{},f.start_date=a,f.end_date=b,f.text=c,f.id=d;f.id=f.id||scheduler.uid();f.text=f.text||"";if(typeof f.start_date=="string")f.start_date=this.templates.api_date(f.start_date);if(typeof f.end_date=="string")f.end_date=this.templates.api_date(f.end_date);var g=(this.config.event_duration||this.config.time_step)*6E4;f.start_date.valueOf()==f.end_date.valueOf()&&f.end_date.setTime(f.end_date.valueOf()+ -g);f._timed=this.is_one_day_event(f);var h=!this._events[f.id];this._events[f.id]=f;this.event_updated(f);this._loading||this.callEvent(h?"onEventAdded":"onEventChanged",[f.id,f])};scheduler.deleteEvent=function(a,b){var c=this._events[a];if(b||this.callEvent("onBeforeEventDelete",[a,c])&&this.callEvent("onConfirmedBeforeEventDelete",[a,c]))c&&(delete this._events[a],this.unselect(a),this.event_updated(c)),this.callEvent("onEventDeleted",[a])};scheduler.getEvent=function(a){return this._events[a]}; +g);f._timed=this.is_one_day_event(f);var h=!this._events[f.id];this._events[f.id]=f;this.event_updated(f);this._loading||this.callEvent(h?"onEventAdded":"onEventChanged",[f.id,f]);return f.id};scheduler.deleteEvent=function(a,b){var c=this._events[a];if(b||this.callEvent("onBeforeEventDelete",[a,c])&&this.callEvent("onConfirmedBeforeEventDelete",[a,c]))c&&(delete this._events[a],this.unselect(a),this.event_updated(c)),this.callEvent("onEventDeleted",[a,c])};scheduler.getEvent=function(a){return this._events[a]}; scheduler.setEvent=function(a,b){this._events[a]=b};scheduler.for_rendered=function(a,b){for(var c=this._rendered.length-1;c>=0;c--)this._rendered[c].getAttribute("event_id")==a&&b(this._rendered[c],c)};scheduler.changeEventId=function(a,b){if(a!=b){var c=this._events[a];if(c)c.id=b,this._events[b]=c,delete this._events[a];this.for_rendered(a,function(a){a.setAttribute("event_id",b)});if(this._select_id==a)this._select_id=b;if(this._edit_id==a)this._edit_id=b;this.callEvent("onEventIdChange",[a,b])}}; (function(){for(var a="text,Text,start_date,StartDate,end_date,EndDate".split(","),b=function(a){return function(b){return scheduler.getEvent(b)[a]}},c=function(a){return function(b,c){var d=scheduler.getEvent(b);d[a]=c;d._changed=!0;d._timed=this.is_one_day_event(d);scheduler.event_updated(d,!0)}},d=0;dthis._colsS.height-22){for(var i=g.rows[h].cells,k=0;kb.id?1:-1:a.start_date>b.start_date?1:-1});for(var c=[],d=[],e=0;el)l=i[j]._sorder;f._sorder=l+1;f._inner=!1}else f._sorder=0;i.push(f);i.length>(i.max_count||0)?(i.max_count=i.length,f._count= -i.length):f._count=f._count?f._count:1}if(g=this.config.last_hour)if(d.push(f),a[e]=f=this._copy_event(f),g=this.config.last_hour&&(f.end_date.setMinutes(0),f.end_date.setHours(this.config.last_hour)),f.start_date>f.end_date||g==this.config.last_hour)a.splice(e,1),e--}if(!b){for(e=0;ec.id?1:-1:a.start_date>c.start_date?1:-1})}; -scheduler._pre_render_events_table=function(a,b){this._time_order(a);for(var c=[],d=[[],[],[],[],[],[],[]],e=this._colsS.heights,f,g=this._cols.length,h=0;hthis._max_date)j=this._max_date;var l=this.locate_holder_day(k,!1,i);i._sday=l%g;var o=this.locate_holder_day(j,!0,i)||g;i._eday=o%g||g;i._length=o-l;i._sweek=Math.floor((this._correct_shift(k.valueOf(),1)-this._min_date.valueOf())/(864E5*g));var m= -d[i._sweek],n;for(n=0;n";if(this._quirks7)m.firstChild.style.height=g- -12+"px";this._editor=m.firstChild;this._editor.onkeypress=function(a){if((a||event).shiftKey)return!0;var b=(a||event).keyCode;b==scheduler.keys.edit_save&&scheduler.editStop(!0);b==scheduler.keys.edit_cancel&&scheduler.editStop(!1)};this._editor.onselectstart=function(a){return(a||event).cancelBubble=!0};m.firstChild.focus();this._els.dhx_cal_data[0].scrollLeft=0;m.firstChild.select()}if(this._select_id==a.id){if(this.config.cascade_event_display&&this._drag_mode)o.style.zIndex=1;for(var n=this.config["icons_"+ -(this._edit_id==a.id?"edit":"select")],p="",q=a.color?"background-color:"+a.color+";":"",v=a.textColor?"color:"+a.textColor+";":"",s=0;s
";var r=this._render_v_bar(a.id,i-b+1,f,b,n.length*20+26,"","
",p,!0);r.style.left=i-b+1;this._els.dhx_cal_data[0].appendChild(r);this._rendered.push(r)}}}}; -scheduler._render_v_bar=function(a,b,c,d,e,f,g,h,i){var k=document.createElement("DIV"),j=this.getEvent(a),l="dhx_cal_event",o=scheduler.templates.event_class(j.start_date,j.end_date,j);o&&(l=l+" "+o);var m=j.color?"background-color:"+j.color+";":"",n=j.textColor?"color:"+j.textColor+";":"",p='
';p+='
 
'; -p+='
'+g+"
";p+='
'+h+"
";p+='
';k.innerHTML=p;return k.firstChild};scheduler.locate_holder=function(a){return this._mode=="day"?this._els.dhx_cal_data[0].firstChild:this._els.dhx_cal_data[0].childNodes[a]}; -scheduler.locate_holder_day=function(a,b){var c=Math.floor((this._correct_shift(a,1)-this._min_date)/864E5);b&&this.date.time_part(a)&&c++;return c}; -scheduler.render_event_bar=function(a){var b=this._rendered_location,c=this._colsS[a._sday],d=this._colsS[a._eday];d==c&&(d=this._colsS[a._eday+1]);var e=this.xy.bar_height,f=this._colsS.heights[a._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+a._sorder*e,g=document.createElement("DIV"),h=a._timed?"dhx_cal_event_clear":"dhx_cal_event_line",i=scheduler.templates.event_class(a.start_date,a.end_date,a);i&&(h=h+" "+i);var k=a.color?"background-color:"+a.color+";":"",j=a.textColor?"color:"+ -a.textColor+";":"",l='
';a._timed&&(l+=scheduler.templates.event_bar_date(a.start_date,a.end_date,a));l+=scheduler.templates.event_bar_text(a.start_date,a.end_date,a)+"
";l+="";g.innerHTML=l;this._rendered.push(g.firstChild);b.appendChild(g.firstChild)}; -scheduler._locate_event=function(a){for(var b=null;a&&!b&&a.getAttribute;)b=a.getAttribute("event_id"),a=a.parentNode;return b};scheduler.edit=function(a){if(this._edit_id!=a)this.editStop(!1,a),this._edit_id=a,this.updateEvent(a)};scheduler.editStop=function(a,b){if(!(b&&this._edit_id==b)){var c=this.getEvent(this._edit_id);if(c){if(a)c.text=this._editor.value;this._editor=this._edit_id=null;this.updateEvent(c.id);this._edit_stop_event(c,a)}}}; -scheduler._edit_stop_event=function(a,b){this._new_event?(b?this.callEvent("onEventAdded",[a.id,a]):this.deleteEvent(a.id,!0),this._new_event=null):b&&this.callEvent("onEventChanged",[a.id,a])};scheduler.getEvents=function(a,b){var c=[],d;for(d in this._events){var e=this._events[d];e&&e.start_datea&&c.push(e)}return c};scheduler._loaded={}; +scheduler.get_visible_events=function(a){var b=[],c;for(c in this._events)this.is_visible_events(this._events[c])&&(!a||this._events[c]._timed)&&this.filter_event(c,this._events[c])&&b.push(this._events[c]);return b};scheduler.filter_event=function(a,b){var c=this["filter_"+this._mode];return c?c(a,b):!0}; +scheduler.render_view_data=function(a,b){if(!a){if(this._not_render){this._render_wait=!0;return}this._render_wait=!1;this.clear_view();a=this.get_visible_events(!(this._table_view||this.config.multi_day))}if(this.config.multi_day&&!this._table_view){for(var c=[],d=[],e=0;ethis._colsS.height-22){for(var k=g.rows[h].cells,i=0;ib.id?1:-1:a.start_date>b.start_date?1:-1});var c=[],d=[];this._min_mapped_duration=Math.ceil(this.xy.min_event_height*60/this.config.hour_size_px);for(var e=0;er)r=j[n]._sorder;f._sorder=r+1;f._inner=!1}else f._sorder=0;j.push(f);j.length>(j.max_count||0)?(j.max_count=j.length,f._count=j.length):f._count=f._count?f._count:1}if(k=this.config.last_hour)if(d.push(f),a[e]=f=this._copy_event(f),k=this.config.last_hour&&(f.end_date.setMinutes(0), +f.end_date.setHours(this.config.last_hour)),f.start_date>f.end_date||k==this.config.last_hour)a.splice(e,1),e--}if(!b){for(e=0;ec.id?1:-1:a.start_date>c.start_date?1:-1})}; +scheduler._pre_render_events_table=function(a,b){this._time_order(a);for(var c=[],d=[[],[],[],[],[],[],[]],e=this._colsS.heights,f,g=this._cols.length,h={},k=0;kthis._max_date)m.last_chunk=!1,l=this._max_date;var n=this.locate_holder_day(p,!1,i);i._sday=n%g;var r=this.locate_holder_day(l,!0,i)||g;i._eday=r%g||g;i._length= +r-n;i._sweek=Math.floor((this._correct_shift(p.valueOf(),1)-this._min_date.valueOf())/(864E5*g));var o=d[i._sweek],q;for(q=0;q";if(this._quirks7)r.firstChild.style.height=k-12+"px";this._editor=r.firstChild;this._editor.onkeydown= +function(a){if((a||event).shiftKey)return!0;var b=(a||event).keyCode;b==scheduler.keys.edit_save&&scheduler.editStop(!0);b==scheduler.keys.edit_cancel&&scheduler.editStop(!1)};this._editor.onselectstart=function(a){return(a||event).cancelBubble=!0};r.firstChild.focus();this._els.dhx_cal_data[0].scrollLeft=0;r.firstChild.select()}if(this.xy.menu_width!==0&&this._select_id==a.id){if(this.config.cascade_event_display&&this._drag_mode)n.style.zIndex=1;for(var o=this.config["icons_"+(this._edit_id==a.id? +"edit":"select")],q="",s=a.color?"background-color: "+a.color+";":"",t=a.textColor?"color: "+a.textColor+";":"",u=0;u";var w=this._render_v_bar(a.id,j-b+1,h,b,o.length*20+26-2,"","
",q,!0);w.style.left=j-b+1;this._els.dhx_cal_data[0].appendChild(w);this._rendered.push(w)}}}}; +scheduler._render_v_bar=function(a,b,c,d,e,f,g,h,k){var i=document.createElement("DIV"),j=this.getEvent(a),m=k?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event",p=scheduler.templates.event_class(j.start_date,j.end_date,j);p&&(m=m+" "+p);var l=j.color?"background:"+j.color+";":"",n=j.textColor?"color:"+j.textColor+";":"",r='
';i.innerHTML=r;var o=i.cloneNode(!0).firstChild; +if(!scheduler.renderEvent||k||!scheduler.renderEvent(o,j)){var o=i.firstChild,q='
 
';q+='
'+g+"
";q+='
'+h+"
";var s="dhx_event_resize dhx_footer";k&&(s="dhx_resize_denied "+s);q+='
';o.innerHTML=q}return o};scheduler.locate_holder=function(a){return this._mode=="day"?this._els.dhx_cal_data[0].firstChild:this._els.dhx_cal_data[0].childNodes[a]};scheduler.locate_holder_day=function(a,b){var c=Math.floor((this._correct_shift(a,1)-this._min_date)/864E5);b&&this.date.time_part(a)&&c++;return c}; +scheduler.render_event_bar=function(a){var b=this._rendered_location,c=this._colsS[a._sday],d=this._colsS[a._eday];d==c&&(d=this._colsS[a._eday+1]);var e=this.xy.bar_height,f=this._colsS.heights[a._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+a._sorder*e,g=document.createElement("DIV"),h="dhx_cal_event_clear";a._timed||(h="dhx_cal_event_line",a.hasOwnProperty("_first_chunk")&&a._first_chunk&&(h+=" dhx_cal_event_line_start"),a.hasOwnProperty("_last_chunk")&&a._last_chunk&&(h+=" dhx_cal_event_line_end")); +var k=scheduler.templates.event_class(a.start_date,a.end_date,a);k&&(h=h+" "+k);var i=a.color?"background:"+a.color+";":"",j=a.textColor?"color:"+a.textColor+";":"",m='
',a=scheduler.getEvent(a.id);a._timed&&(m+=scheduler.templates.event_bar_date(a.start_date,a.end_date,a));m+=scheduler.templates.event_bar_text(a.start_date,a.end_date,a)+"
";m+=""; +g.innerHTML=m;this._rendered.push(g.firstChild);b.appendChild(g.firstChild)};scheduler._locate_event=function(a){for(var b=null;a&&!b&&a.getAttribute;)b=a.getAttribute("event_id"),a=a.parentNode;return b};scheduler.edit=function(a){if(this._edit_id!=a)this.editStop(!1,a),this._edit_id=a,this.updateEvent(a)}; +scheduler.editStop=function(a,b){if(!(b&&this._edit_id==b)){var c=this.getEvent(this._edit_id);if(c){if(a)c.text=this._editor.value;this._editor=this._edit_id=null;this.updateEvent(c.id);this._edit_stop_event(c,a)}}};scheduler._edit_stop_event=function(a,b){this._new_event?(b?this.callEvent("onEventAdded",[a.id,a]):a&&this.deleteEvent(a.id,!0),this._new_event=null):b&&this.callEvent("onEventChanged",[a.id,a])}; +scheduler.getEvents=function(a,b){var c=[],d;for(d in this._events){var e=this._events[d];e&&(!a&&!b||e.start_datea)&&c.push(e)}return c};scheduler.getRenderedEvent=function(a){if(a){for(var b=scheduler._rendered,c=0;cthis._min_date;)b=this.date.add(b,-1,this._load_mode);c=b;for(var e=!0;cb&&this._loaded[d(f)]);if(c<=b)return!1;for(dhtmlxAjax.get(a+"&from="+d(b)+"&to="+d(c),function(a){scheduler.on_load(a)});b"},set_value:function(a,b){a.innerHTML=b||""},get_value:function(a){return a.innerHTML||""},focus:function(){}},textarea:{render:function(a){var b=(a.height||"130")+"px";return"
"},set_value:function(a,b){a.firstChild.value=b||""},get_value:function(a){return a.firstChild.value}, -focus:function(a){var b=a.firstChild;b.select();b.focus()}},select:{render:function(a){for(var b=(a.height||"23")+"px",c="
";return c},set_value:function(a,b){if(typeof b=="undefined")b=(a.firstChild.options[0]||{}).value;a.firstChild.value=b||""},get_value:function(a){return a.firstChild.value},focus:function(a){var b= -a.firstChild;b.select&&b.select();b.focus()}},time:{render:function(){var a=scheduler.config,b=this.date.date_part(new Date),c=1440,d=0;scheduler.config.limit_time_select&&(c=60*a.last_hour+1,d=60*a.first_hour,b.setHours(a.first_hour));for(var e=" ";return"
"+e+"  –  "+e+"
"},set_value:function(a, -b,c){function d(a,b,c){a[b+0].value=Math.round((c.getHours()*60+c.getMinutes())/scheduler.config.time_step)*scheduler.config.time_step;a[b+1].value=c.getDate();a[b+2].value=c.getMonth();a[b+3].value=c.getFullYear()}var e=a.getElementsByTagName("select");if(scheduler.config.full_day){if(!a._full_day){var f="";scheduler.config.wide_form||(f=a.previousSibling.innerHTML+ -f);a.previousSibling.innerHTML=f;a._full_day=!0}var g=a.previousSibling.getElementsByTagName("input")[0],h=scheduler.date.time_part(c.start_date)===0&&scheduler.date.time_part(c.end_date)===0&&c.end_date.valueOf()-c.start_date.valueOf()<1728E5;g.checked=h;for(var i in e)e[i].disabled=g.checked;g.onclick=function(){if(g.checked){var a=new Date(c.start_date),b=new Date(c.end_date);scheduler.date.date_part(a);b=scheduler.date.add(a,1,"day")}for(var f in e)e[f].disabled=g.checked;d(e,0,a||c.start_date); -d(e,4,b||c.end_date)}}if(scheduler.config.auto_end_date&&scheduler.config.event_duration)for(var k=function(){c.start_date=new Date(e[3].value,e[2].value,e[1].value,0,e[0].value);c.end_date.setTime(c.start_date.getTime()+scheduler.config.event_duration*6E4);d(e,4,c.end_date)},j=0;j<4;j++)e[j].onchange=k;d(e,0,c.start_date);d(e,4,c.end_date)},get_value:function(a,b){s=a.getElementsByTagName("select");b.start_date=new Date(s[3].value,s[2].value,s[1].value,0,s[0].value);b.end_date=new Date(s[7].value, -s[6].value,s[5].value,0,s[4].value);if(b.end_date<=b.start_date)b.end_date=scheduler.date.add(b.start_date,scheduler.config.time_step,"minute")},focus:function(a){a.getElementsByTagName("select")[0].focus()}}}; +focus:function(a){var b=a.firstChild;b.select();b.focus()}},select:{render:function(a){for(var b=(a.height||"23")+"px",c="
";return c},set_value:function(a,b,c,d){var e=a.firstChild;if(!e._dhx_onchange&&d.onchange)e.onchange=d.onchange,e._dhx_onchange=!0;if(typeof b=="undefined")b=(e.options[0]||{}).value; +e.value=b||""},get_value:function(a){return a.firstChild.value},focus:function(a){var b=a.firstChild;b.select&&b.select();b.focus()}},time:{render:function(a){var b=scheduler.config,c=this.date.date_part(new Date),d=1440,e=0;scheduler.config.limit_time_select&&(d=60*b.last_hour+1,e=60*b.first_hour,c.setHours(b.first_hour));var f=" ";return"
"+ +f+"  –  "+f+"
"},set_value:function(a,b,c,d){function e(a,b,c){for(var e=d._time_values,f=c.getHours()*60+c.getMinutes(),g=f,h=!1,i=0;i";scheduler.config.wide_form||(h=a.previousSibling.innerHTML+h);a.previousSibling.innerHTML=h;a._full_day=!0}var k=a.previousSibling.getElementsByTagName("input")[0];k.checked=scheduler.date.time_part(c.start_date)===0&&scheduler.date.time_part(c.end_date)===0;g[0].disabled=k.checked;g[g.length/2].disabled=k.checked;k.onclick=function(){if(k.checked){var b={};scheduler.form_blocks.time.get_value(a,b);var d=scheduler.date.date_part(b.start_date), +f=scheduler.date.date_part(b.end_date);if(+f==+d||+f>=+d&&(c.end_date.getHours()!=0||c.end_date.getMinutes()!=0))f=scheduler.date.add(f,1,"day")}g[0].disabled=k.checked;g[g.length/2].disabled=k.checked;e(g,0,d||c.start_date);e(g,4,f||c.end_date)}}if(f.auto_end_date&&f.event_duration)for(var i=function(){var a=new Date(g[3].value,g[2].value,g[1].value,0,g[0].value),b=new Date(a.getTime()+scheduler.config.event_duration*6E4);e(g,4,b)},j=0;j<4;j++)g[j].onchange=i;e(g,0,c.start_date);e(g,4,c.end_date)}, +get_value:function(a,b){s=a.getElementsByTagName("select");b.start_date=new Date(s[3].value,s[2].value,s[1].value,0,s[0].value);b.end_date=new Date(s[7].value,s[6].value,s[5].value,0,s[4].value);if(b.end_date<=b.start_date)b.end_date=scheduler.date.add(b.start_date,scheduler.config.time_step,"minute");return{start_date:new Date(b.start_date),end_date:new Date(b.end_date)}},focus:function(a){a.getElementsByTagName("select")[0].focus()}}}; scheduler.showCover=function(a){if(a){a.style.display="block";var b=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,c=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,d=window.innerHeight||document.documentElement.clientHeight;a.style.top=b?Math.round(b+Math.max((d-a.offsetHeight)/2,0))+"px":Math.round(Math.max((d-a.offsetHeight)/2,0)+9)+"px";a.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(c+(document.body.offsetWidth- -a.offsetWidth)/2)+"px":Math.round((document.body.offsetWidth-a.offsetWidth)/2)+"px"}this.show_cover()};scheduler.showLightbox=function(a){if(a&&this.callEvent("onBeforeLightbox",[a])){var b=this._get_lightbox();this.showCover(b);this._fill_lightbox(a,b);this.callEvent("onLightbox",[a])}}; -scheduler._fill_lightbox=function(a,b){var c=this.getEvent(a),d=b.getElementsByTagName("span");scheduler.templates.lightbox_header?(d[1].innerHTML="",d[2].innerHTML=scheduler.templates.lightbox_header(c.start_date,c.end_date,c)):(d[1].innerHTML=this.templates.event_header(c.start_date,c.end_date,c),d[2].innerHTML=(this.templates.event_bar_text(c.start_date,c.end_date,c)||"").substr(0,70));for(var e=this.config.lightbox.sections,f=0;f
"+scheduler.locale.labels[c[d]]+"
";c=this.config.buttons_right;for(d=0;d
"+scheduler.locale.labels[c[d]]+"
";b+="";a.innerHTML=b;if(scheduler.config.drag_lightbox)a.firstChild.onmousedown= -scheduler._ready_to_dnd,a.firstChild.onselectstart=function(){return!1},a.firstChild.style.cursor="pointer",scheduler._init_dnd_events();document.body.insertBefore(a,document.body.firstChild);this._lightbox=a;for(var e=this.config.lightbox.sections,b="",d=0;d
"+this.locale.labels["button_"+ -e[d].button]+"
");this.config.wide_form&&(b+="
");b+="
"+g+this.locale.labels["section_"+e[d].name]+"
"+f.render.call(this,e[d]);b+="
"}}var h=a.getElementsByTagName("div");h[1].innerHTML=b;this.setLightboxSize();this._init_lightbox_events(this);a.style.display="none";a.style.visibility="visible"}return this._lightbox};scheduler._lightbox_template="
 
"; +scheduler.save_lightbox=function(){var a=this._lightbox_out({},this._lame_copy(this.getEvent(this._lightbox_id)));if(!this.checkEvent("onEventSave")||this.callEvent("onEventSave",[this._lightbox_id,a,this._new_event]))this._empty_lightbox(a),this.hide_lightbox()};scheduler.startLightbox=function(a,b){this._lightbox_id=a;this._lightbox=b;this.showCover(b)}; +scheduler.endLightbox=function(a,b){this._edit_stop_event(scheduler.getEvent(this._lightbox_id),a);a&&scheduler.render_view_data();this.hideCover(b);this._lightbox_id=null};scheduler.resetLightbox=function(){scheduler._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(a){var b=a?a.target:event.srcElement;if(!b.className)b=b.previousSibling;if(b&&b.className)switch(b.className){case "dhx_save_btn":scheduler.save_lightbox();break;case "dhx_delete_btn":var c=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(c,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(b.getAttribute("dhx_button"))scheduler.callEvent("onLightboxButton",[b.className,b,a]);else{var d,e,f;if(b.className.indexOf("dhx_custom_button")!=-1)b.className.indexOf("dhx_custom_button_")!=-1?(d=b.parentNode.getAttribute("index"),f=b.parentNode.parentNode):(d=b.getAttribute("index"),f=b.parentNode,b=b.firstChild);d&&(e=scheduler.form_blocks[scheduler.config.lightbox.sections[d].type],e.button_click(d,b,f,f.nextSibling))}}};this.getLightbox().onkeydown= +function(a){switch((a||event).keyCode){case scheduler.keys.edit_save:if((a||event).shiftKey)break;scheduler.save_lightbox();break;case scheduler.keys.edit_cancel:scheduler.cancel_lightbox()}}};scheduler.setLightboxSize=function(){var a=this._lightbox;if(a){var b=a.childNodes[1];b.style.height="0px";b.style.height=b.scrollHeight+"px";a.style.height=b.scrollHeight+scheduler.xy.lightbox_additional_height+"px";b.style.height=b.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(a){if(scheduler._dnd_start_lb){if(!document.dhx_unselectable)document.body.className+=" dhx_unselectable",document.dhx_unselectable=!0;var b=scheduler.getLightbox(),c=a&&a.target?[a.pageX,a.pageY]:[event.clientX,event.clientY];b.style.top=scheduler._lb_start[1]+c[1]-scheduler._dnd_start_lb[1]+"px";b.style.left=scheduler._lb_start[0]+c[0]-scheduler._dnd_start_lb[0]+"px"}}; +scheduler._ready_to_dnd=function(a){var b=scheduler.getLightbox();scheduler._lb_start=[parseInt(b.style.left,10),parseInt(b.style.top,10)];scheduler._dnd_start_lb=a&&a.target?[a.pageX,a.pageY]:[event.clientX,event.clientY]};scheduler._finish_dnd=function(){if(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 a=document.createElement("DIV");a.className="dhx_cal_light";scheduler.config.wide_form&&(a.className+=" dhx_cal_light_wide");scheduler.form_blocks.recurring&&(a.className+=" dhx_cal_light_rec");/msie|MSIE 6/.test(navigator.userAgent)&&(a.className+=" dhx_ie6");a.style.visibility="hidden";for(var b=this._lightbox_template,c=this.config.buttons_left,d=0;d
"+scheduler.locale.labels[c[d]]+"
";c=this.config.buttons_right;for(d=0;d
"+scheduler.locale.labels[c[d]]+"
";b+="";a.innerHTML=b;if(scheduler.config.drag_lightbox)a.firstChild.onmousedown=scheduler._ready_to_dnd,a.firstChild.onselectstart=function(){return!1},a.firstChild.style.cursor="pointer",scheduler._init_dnd_events(); +document.body.insertBefore(a,document.body.firstChild);this._lightbox=a;for(var e=this.config.lightbox.sections,b="",d=0;d
"+this.locale.labels["button_"+e[d].button]+"
");this.config.wide_form&&(b+="
");b+="
"+ +g+this.locale.labels["section_"+e[d].name]+"
"+f.render.call(this,e[d]);b+="
"}}for(var h=a.getElementsByTagName("div"),d=0;d-1) - _isChrome=true; - -if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ - var _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); - - if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ - _isFF=true; - var _FFrv = 1.9; - } else - _isKHTML=true; -} else if (navigator.userAgent.indexOf('Opera') != -1){ - _isOpera=true; - _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); -} - - -else if (navigator.appName.indexOf("Microsoft") != -1){ - _isIE=true; - if (navigator.appVersion.indexOf("MSIE 8.0")!= -1 && document.compatMode != "BackCompat") _isIE=8; -} else { - _isFF=true; - var _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) -} - - -//multibrowser Xpath processor -dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){ - if (_isKHTML || (!_isIE && !window.XPathResult)) - return this.doXPathOpera(xpathExp, docObj); - - if (_isIE){ //IE - if (!docObj) - if (!this.xmlDoc.nodeName) - docObj=this.xmlDoc.responseXML - else - docObj=this.xmlDoc; - - if (!docObj) - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ - (docObj||this.xmlDoc), - this.mainObject - ]); - - if (namespace != null) - docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); // - - if (result_type == 'single'){ - return docObj.selectSingleNode(xpathExp); - } - else { - return docObj.selectNodes(xpathExp)||new Array(0); - } - } else { //Mozilla - var nodeObj = docObj; - - if (!docObj){ - if (!this.xmlDoc.nodeName){ - docObj=this.xmlDoc.responseXML - } - else { - docObj=this.xmlDoc; - } - } - - if (!docObj) - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ - (docObj||this.xmlDoc), - this.mainObject - ]); - - if (docObj.nodeName.indexOf("document") != -1){ - nodeObj=docObj; - } - else { - nodeObj=docObj; - docObj=docObj.ownerDocument; - } - var retType = XPathResult.ANY_TYPE; - - if (result_type == 'single') - retType=XPathResult.FIRST_ORDERED_NODE_TYPE - var rowsCol = new Array(); - var col = docObj.evaluate(xpathExp, nodeObj, function(pref){ - return namespace - }, retType, null); - - if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){ - return col.singleNodeValue; - } - var thisColMemb = col.iterateNext(); - - while (thisColMemb){ - rowsCol[rowsCol.length]=thisColMemb; - thisColMemb=col.iterateNext(); - } - return rowsCol; - } -} - -function _dhtmlxError(type, name, params){ - if (!this.catches) - this.catches=new Array(); - - return this; -} - -_dhtmlxError.prototype.catchError=function(type, func_name){ - this.catches[type]=func_name; -} -_dhtmlxError.prototype.throwError=function(type, name, params){ - if (this.catches[type]) - return this.catches[type](type, name, params); - - if (this.catches["ALL"]) - return this.catches["ALL"](type, name, params); - - alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]); - return null; -} - -window.dhtmlxError=new _dhtmlxError(); - - -//opera fake, while 9.0 not released -//multibrowser Xpath processor -dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){ - //this is fake for Opera - var z = xpathExp.replace(/[\/]+/gi, "/").split('/'); - var obj = null; - var i = 1; - - if (!z.length) - return []; - - if (z[0] == ".") - obj=[docObj]; else if (z[0] == ""){ - obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, "")); - i++; - } else - return []; - - for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]); - - if (z[i-1].indexOf("[") != -1) - obj=this._filterXPath(obj, z[i-1]); - return obj; -} - -dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){ - var c = new Array(); - var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, ""); - - for (var i = 0; i < a.length; i++) - if (a[i].getAttribute(b)) - c[c.length]=a[i]; - - return c; -} -dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){ - var c = new Array(); - - if (_isKHTML) - b=b.toUpperCase(); - - for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){ - if (_isKHTML){ - if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b) - c[c.length]=a[i].childNodes[j]; - } - - else if (a[i].childNodes[j].tagName == b) - c[c.length]=a[i].childNodes[j]; - } - - return c; -} - -function dhtmlXHeir(a, b){ - for (var c in b) - if (typeof (b[c]) == "function") - a[c]=b[c]; - return a; -} - -function dhtmlxEvent(el, event, handler){ - if (el.addEventListener) - el.addEventListener(event, handler, false); - - else if (el.attachEvent) - el.attachEvent("on"+event, handler); -} - -//============= XSL Extension =================================== - -dtmlXMLLoaderObject.prototype.xslDoc=null; -dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){ - if (!xslDoc) - xslDoc=this.xslDoc - - if (xslDoc.responseXML) - xslDoc=xslDoc.responseXML; - var item = - this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc, - "http:/\/www.w3.org/1999/XSL/Transform", "single"); - - if (item != null) - item.firstChild.nodeValue=paramValue -} -dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){ - if (!xslDoc) - xslDoc=this.xslDoc; - - if (xslDoc.responseXML) - xslDoc=xslDoc.responseXML - - if (!xmlDoc) - xmlDoc=this.xmlDoc; - - if (xmlDoc.responseXML) - xmlDoc=xmlDoc.responseXML - - //MOzilla - if (!_isIE){ - if (!this.XSLProcessor){ - this.XSLProcessor=new XSLTProcessor(); - this.XSLProcessor.importStylesheet(xslDoc); - } - var result = this.XSLProcessor.transformToDocument(xmlDoc); - } else { - var result = new ActiveXObject("Msxml2.DOMDocument.3.0"); - try{ - xmlDoc.transformNodeToObject(xslDoc, result); - }catch(e){ - result = xmlDoc.transformNode(xslDoc); - } - } - return result; -} - -dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){ - var res = this.doXSLTransToObject(xslDoc, xmlDoc); - if(typeof(res)=="string") - return res; - return this.doSerialization(res); -} - -dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){ - if (!xmlDoc) - xmlDoc=this.xmlDoc; - if (xmlDoc.responseXML) - xmlDoc=xmlDoc.responseXML - if (!_isIE){ - var xmlSerializer = new XMLSerializer(); - return xmlSerializer.serializeToString(xmlDoc); - } else - return xmlDoc.xml; -} - -/** -* @desc: -* @type: private -*/ -dhtmlxEventable=function(obj){ - obj.dhx_SeverCatcherPath=""; - obj.attachEvent=function(name, catcher, callObj){ - name='ev_'+name.toLowerCase(); - if (!this[name]) - this[name]=new this.eventCatcher(callObj||this); - - return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID) - } - obj.callEvent=function(name, arg0){ - name='ev_'+name.toLowerCase(); - if (this[name]) - return this[name].apply(this, arg0); - return true; - } - obj.checkEvent=function(name){ - return (!!this['ev_'+name.toLowerCase()]) - } - obj.eventCatcher=function(obj){ - var dhx_catch = []; - var z = function(){ - var res = true; - for (var i = 0; i < dhx_catch.length; i++){ - if (dhx_catch[i] != null){ - var zr = dhx_catch[i].apply(obj, arguments); - res=res&&zr; - } - } - return res; - } - z.addEvent=function(ev){ - if (typeof (ev) != "function") - ev=eval(ev); - if (ev) - return dhx_catch.push(ev)-1; - return false; - } - z.removeEvent=function(id){ - dhx_catch[id]=null; - } - return z; - } - obj.detachEvent=function(id){ - if (id != false){ - var list = id.split(':'); //get EventName and ID - this[list[0]].removeEvent(list[1]); //remove event - } - } - obj.detachAllEvents = function(){ - for (var name in this){ - if (name.indexOf("ev_")==0) - delete this[name]; - } - } -} - -/** - * @desc: constructor, data processor object - * @param: serverProcessorURL - url used for update - * @type: public - */ -function dataProcessor(serverProcessorURL){ - this.serverProcessor = serverProcessorURL; - this.action_param="!nativeeditor_status"; - - this.object = null; - this.updatedRows = []; //ids of updated rows - - this.autoUpdate = true; - 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(true); - dhtmlxEventable(this); - - return this; - } - -dataProcessor.prototype={ - /** - * @desc: select GET or POST transaction model - * @param: mode - GET/POST - * @param: total - true/false - send records row by row or all at once (for grid only) - * @type: public - */ - setTransactionMode:function(mode,total){ - this._tMode=mode; - this._tSend=total; - }, - escape:function(data){ - if (this._utf) - return encodeURIComponent(data); - else - return escape(data); - }, - /** - * @desc: allows to set escaping mode - * @param: true - utf based escaping, simple - use current page encoding - * @type: public - */ - enableUTFencoding:function(mode){ - this._utf=convertStringToBoolean(mode); - }, - /** - * @desc: allows to define, which column may trigger update - * @param: val - array or list of true/false values - * @type: public - */ - setDataColumns:function(val){ - this._columns=(typeof val == "string")?val.split(","):val; - }, - /** - * @desc: get state of updating - * @returns: true - all in sync with server, false - some items not updated yet. - * @type: public - */ - getSyncState:function(){ - return !this.updatedRows.length; - }, - /** - * @desc: enable/disable named field for data syncing, will use column ids for grid - * @param: mode - true/false - * @type: public - */ - enableDataNames:function(mode){ - this._endnm=convertStringToBoolean(mode); - }, - /** - * @desc: enable/disable mode , when only changed fields and row id send to the server side, instead of all fields in default mode - * @param: mode - true/false - * @type: public - */ - enablePartialDataSend:function(mode){ - this._changed=convertStringToBoolean(mode); - }, - /** - * @desc: set if rows should be send to server automaticaly - * @param: mode - "row" - based on row selection changed, "cell" - based on cell editing finished, "off" - manual data sending - * @type: public - */ - setUpdateMode:function(mode,dnd){ - this.autoUpdate = (mode=="cell"); - this.updateMode = mode; - this.dnd=dnd; - }, - ignore:function(code,master){ - this._silent_mode=true; - code.call(master||window); - this._silent_mode=false; - }, - /** - * @desc: mark row as updated/normal. check mandatory fields,initiate autoupdate (if turned on) - * @param: rowId - id of row to set update-status for - * @param: state - true for "updated", false for "not updated" - * @param: mode - update mode name - * @type: public - */ - setUpdated:function(rowId,state,mode){ - if (this._silent_mode) return; - var ind=this.findRow(rowId); - - mode=mode||"updated"; - var existing = this.obj.getUserData(rowId,this.action_param); - if (existing && mode == "updated") mode=existing; - if (state){ - this.set_invalid(rowId,false); //clear previous error flag - this.updatedRows[ind]=rowId; - this.obj.setUserData(rowId,this.action_param,mode); - if (this._in_progress[rowId]) - this._in_progress[rowId]="wait"; - } else{ - if (!this.is_invalid(rowId)){ - this.updatedRows.splice(ind,1); - this.obj.setUserData(rowId,this.action_param,""); - } - } - - //clear changed flag - if (!state) - this._clearUpdateFlag(rowId); - - this.markRow(rowId,state,mode); - if (state && this.autoUpdate) this.sendData(rowId); - }, - _clearUpdateFlag:function(id){}, - markRow:function(id,state,mode){ - var str=""; - var invalid=this.is_invalid(id); - if (invalid){ - str=this.styles[invalid]; - state=true; - } - if (this.callEvent("onRowMark",[id,state,mode,invalid])){ - //default logic - str=this.styles[state?mode:"clear"]+str; - - this.obj[this._methods[0]](id,str); - - if (invalid && invalid.details){ - str+=this.styles[invalid+"_cell"]; - for (var i=0; i < invalid.details.length; i++) - if (invalid.details[i]) - this.obj[this._methods[1]](id,i,str); - } - } - }, - getState:function(id){ - return this.obj.getUserData(id,this.action_param); - }, - is_invalid:function(id){ - return this._invalid[id]; - }, - set_invalid:function(id,mode,details){ - if (details) mode={value:mode, details:details, toString:function(){ return this.value.toString(); }}; - this._invalid[id]=mode; - }, - /** - * @desc: check mandatory fields and varify values of cells, initiate update (if specified) - * @param: rowId - id of row to set update-status for - * @type: public - */ - checkBeforeUpdate:function(rowId){ - return true; - }, - /** - * @desc: send row(s) values to server - * @param: rowId - id of row which data to send. If not specified, then all "updated" rows will be send - * @type: public - */ - sendData:function(rowId){ - if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return; - if (this.obj.editStop) this.obj.editStop(); - - - if(typeof rowId == "undefined" || this._tSend) return this.sendAllData(); - if (this._in_progress[rowId]) return false; - - this.messages=[]; - if (!this.checkBeforeUpdate(rowId) && this.callEvent("onValidatationError",[rowId,this.messages])) return false; - this._beforeSendData(this._getRowData(rowId),rowId); - }, - _beforeSendData:function(data,rowId){ - if (!this.callEvent("onBeforeUpdate",[rowId,this.getState(rowId),data])) return false; - this._sendData(data,rowId); - }, - serialize:function(data, id){ - if (typeof data == "string") - return data; - if (typeof id != "undefined") - return this.serialize_one(data,""); - else{ - var stack = []; - var keys = []; - for (var key in data) - if (data.hasOwnProperty(key)){ - stack.push(this.serialize_one(data[key],key+this.post_delim)); - keys.push(key); - } - stack.push("ids="+this.escape(keys.join(","))); - return stack.join("&"); - } - }, - serialize_one:function(data, pref){ - if (typeof data == "string") - return data; - var stack = []; - for (var key in data) - if (data.hasOwnProperty(key)) - stack.push(this.escape((pref||"")+key)+"="+this.escape(data[key])); - return stack.join("&"); - }, - _sendData:function(a1,rowId){ - if (!a1) return; //nothing to send - if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId),a1]:[null, null, a1])) return false; - - if (rowId) - this._in_progress[rowId]=(new Date()).valueOf(); - var a2=new dtmlXMLLoaderObject(this.afterUpdate,this,true); - - var a3 = this.serverProcessor+(this._user?(getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&")):""); - - if (this._tMode!="POST") - a2.loadXML(a3+((a3.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId)); - else - a2.loadXML(a3,true,this.serialize(a1,rowId)); - - this._waitMode++; - }, - sendAllData:function(){ - if (!this.updatedRows.length) return; - - this.messages=[]; var valid=true; - for (var i=0; i[close] [clear]  DataProcessor
 Current state
 Log:
"; - if (document.body) document.body.insertBefore(c,document.body.firstChild); - else dhtmlxEvent(window,"load",function(){ - document.body.insertBefore(c,document.body.firstChild); - }) - dhtmlxEvent(window,"dblclick",function(){ - c.style.display=''; - }) - return c; -} - -dataProcessor.prototype._error=function(data){ - this._log(""+data+""); -} -dataProcessor.prototype._log=function(data){ - var div=document.createElement("DIV"); - div.innerHTML = data; - var parent=this._console.childNodes[2]; - parent.appendChild(div); - parent.scrollTop=parent.scrollHeight; - - if (window.console && window.console.log) - window.console.log("DataProcessor :: "+data.replace(" "," ").replace("","").replace("","")); - -} -dataProcessor.prototype._updateStat=function(data){ - var data=[" Current state"]; - for(var i=0;i")+"
Current mode: "+this.updateMode; -} -dataProcessor.prototype.xml_analize=function(xml){ - if (_isFF){ - if (!xml.xmlDoc.responseXML) - this._error("Not an XML, probably incorrect content type specified ( must be text/xml ), or some text output was started before XML data"); - else if (xml.xmlDoc.responseXML.firstChild.tagName=="parsererror") - this._error(xml.xmlDoc.responseXML.firstChild.textContent); - else return true; - } else if (_isIE){ - if (xml.xmlDoc.responseXML.parseError.errorCode) - this._error("XML error : "+xml.xmlDoc.responseXML.parseError.reason); - else if (!xml.xmlDoc.responseXML.documentElement) - this._error("Not an XML, probably incorrect content type specified ( must be text/xml ), or some text output was started before XML data"); - else return true; - } - return false; -} - -dataProcessor.wrap=function(name,before,after){ - var d=dataProcessor.prototype; - if (!d._wrap) d._wrap={}; - d._wrap[name]=d[name]; - d[name]=function(){ - if (before) before.apply(this,arguments); - var res=d._wrap[name].apply(this,arguments); - if (after) after.apply(this,[arguments,res]); - return res; - } -}; - -dataProcessor.wrap("setUpdated",function(rowId,state,mode){ - this._log(" row "+rowId+" "+(state?"marked":"unmarked")+" ["+(mode||"updated")+","+(this.is_invalid(rowId)||"valid")+"]"); -},function(){ - this._updateStat(); -}); - - - -dataProcessor.wrap("sendData",function(rowId){ - if (rowId){ - this._log(" Initiating data sending for "+rowId+""); - if (this.obj.mytype=="tree"){ - if (!this.obj._idpull[rowId]) - this._log(" Error! item with such ID not exists "+rowId+""); - } else { - if (this.rowsAr && !this.obj.rowsAr[rowId]) - this._log(" Error! row with such ID not exists "+rowId+""); - } - } -},function(){ - -}); - -dataProcessor.wrap("sendAllData",function(){ - this._log(" Initiating data sending for all rows "); -},function(){ - -}); -dataProcessor.logSingle=function(data,id){ - var tdata = {}; - if (id) - tdata[id] = data; - else - tdata = data; - - var url = []; - for (var key in tdata) { - url.push("
"+key+""); - var suburl = []; - - for (var ikey in tdata[key]) - suburl.push(ikey+" = "+tdata[key][ikey]); - - url.push(suburl.join("
")); - url.push("
"); - } - return url.join(""); -} -dataProcessor.wrap("_sendData",function(data,rowId){ - if (rowId) - this._log(" Sending in one-by-one mode, current ID = "+rowId); - else - this._log(" Sending all data at once"); - this._log(" Server url: "+this.serverProcessor+" parameters"); - var url = []; - this._log("
"+dataProcessor.logSingle(data,rowId)+"
"); -},function(){ - -}); - - -dataProcessor.wrap("afterUpdate",function(that,b,c,d,xml){ - that._log(" Server response received details
"+(xml.xmlDoc.responseText||"").replace(/\&/g,"&").replace(//g,">")+"
"); - if (!that.xml_analize(xml)) return; - var atag=xml.doXPath("//data/action"); - if (!atag){ - that._log(" No actions found"); - var atag=xml.getXMLTopNode("data"); - if (!atag) that._log(" XML not valid"); - else that._log(" Incorrect content type - need to be text/xml"); - } -},function(){ - -}); - -dataProcessor.wrap("afterUpdateCallback",function(sid,tid,action){ - if (this.obj.mytype=="tree"){ - if (!this.obj._idpull[sid]) this._log("Incorrect SID, item with such ID not exists in grid"); - } else { - if (this.obj.rowsAr && !this.obj.rowsAr[sid]) this._log("Incorrect SID, row with such ID not exists in grid"); - } - this._log(" Action: "+action+" SID:"+sid+" TID:"+tid); -},function(){ - -}); - - - - - - - -/* - dhx_sort[index]=direction - dhx_filter[index]=mask -*/ -if (window.dhtmlXGridObject){ - dhtmlXGridObject.prototype._init_point_connector=dhtmlXGridObject.prototype._init_point; - dhtmlXGridObject.prototype._init_point=function(){ - var clear_url=function(url){ - url=url.replace(/(\?|\&)connector[^\f]*/g,""); - return url+(url.indexOf("?")!=-1?"&":"?")+"connector=true"+(this.hdr.rows.length > 0 ? "&dhx_no_header=1":""); - }; - var combine_urls=function(url){ - return clear_url.call(this,url)+(this._connector_sorting||"")+(this._connector_filter||""); - }; - var sorting_url=function(url,ind,dir){ - this._connector_sorting="&dhx_sort["+ind+"]="+dir; - return combine_urls.call(this,url); - }; - var filtering_url=function(url,inds,vals){ - for (var i=0; i 0) this.xy.nav_height = actual_height; - - var data_y=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0); - this.set_xy(this._els["dhx_cal_data"][0],w,h-(data_y+2),0,data_y+2); -}; -scheduler.set_xy=function(node,w,h,x,y){ - node.style.width=Math.max(0,w)+"px"; - node.style.height=Math.max(0,h)+"px"; - if (arguments.length>3){ - node.style.left=x+"px"; - node.style.top=y+"px"; - } -}; -scheduler.get_elements=function(){ - //get all child elements as named hash - var els=this._obj.getElementsByTagName("DIV"); - for (var i=0; i < els.length; i++){ - var name=els[i].className; - if (!this._els[name]) this._els[name]=[]; - this._els[name].push(els[i]); - - //check if name need to be changed - var t=scheduler.locale.labels[els[i].getAttribute("name")||name]; - if (t) els[i].innerHTML=t; - } -}; -scheduler.set_actions=function(){ - for (var a in this._els) - if (this._click[a]) - for (var i=0; i < this._els[a].length; i++) - this._els[a][i].onclick=scheduler._click[a]; - this._obj.onselectstart=function(e){ return false; }; - this._obj.onmousemove=function(e){ - scheduler._on_mouse_move(e||event); - }; - this._obj.onmousedown=function(e){ - scheduler._on_mouse_down(e||event); - }; - this._obj.onmouseup=function(e){ - scheduler._on_mouse_up(e||event); - }; - this._obj.ondblclick=function(e){ - scheduler._on_dbl_click(e||event); - } -}; -scheduler.select=function(id){ - if (this._table_view || !this.getEvent(id)._timed) return; //temporary block - if (this._select_id==id) return; - this.editStop(false); - this.unselect(); - this._select_id = id; - this.updateEvent(id); -}; -scheduler.unselect=function(id){ - if (id && id!=this._select_id) return; - var t=this._select_id; - this._select_id = null; - if (t) this.updateEvent(t); -}; -scheduler.getState=function(){ - return { - mode: this._mode, - date: this._date, - min_date: this._min_date, - max_date: this._max_date, - editor_id: this._edit_id, - lightbox_id: this._lightbox_id, - new_event: this._new_event - }; -}; -scheduler._click={ - dhx_cal_data:function(e){ - //debugger; - var trg = e?e.target:event.srcElement; - var id = scheduler._locate_event(trg); - - e = e || event; - if ((id && !scheduler.callEvent("onClick",[id,e])) ||scheduler.config.readonly) return; - - if (id) { - scheduler.select(id); - var mask = trg.className; - if (mask.indexOf("_icon")!=-1) - scheduler._click.buttons[mask.split(" ")[1].replace("icon_","")](id); - } else - scheduler._close_not_saved(); - }, - dhx_cal_prev_button:function(){ - scheduler._click.dhx_cal_next_button(0,-1); - }, - dhx_cal_next_button:function(dummy,step){ - scheduler.setCurrentView(scheduler.date.add( //next line changes scheduler._date , but seems it has not side-effects - scheduler.date[scheduler._mode+"_start"](scheduler._date),(step||1),scheduler._mode)); - }, - dhx_cal_today_button:function(){ - scheduler.setCurrentView(new Date()); - }, - dhx_cal_tab:function(){ - var name = this.getAttribute("name"); - var mode = name.substring(0, name.search("_tab")); - scheduler.setCurrentView(scheduler._date,mode); - }, - buttons:{ - "delete":function(id){ var c=scheduler.locale.labels.confirm_deleting; if (!c||confirm(c)) scheduler.deleteEvent(id); }, - edit:function(id){ scheduler.edit(id); }, - save:function(id){ scheduler.editStop(true); }, - details:function(id){ scheduler.showLightbox(id); }, - cancel:function(id){ scheduler.editStop(false); } - } -}; -scheduler.addEventNow=function(start,end,e){ - var base = {}; - if (start && start.constructor.toString().match(/object/i) !== null){ - base = start; - start = null; - } - - var d = (this.config.event_duration||this.config.time_step)*60000; - if (!start) start = Math.round((new Date()).valueOf()/d)*d; - var start_date = new Date(start); - if (!end){ - var start_hour = this.config.first_hour; - if (start_hour > start_date.getHours()){ - start_date.setHours(start_hour); - start = start_date.valueOf(); - } - end = start+d; - } - var end_date = new Date(end); - - // scheduler.addEventNow(new Date(), new Date()) + collision though get_visible events defect (such event was not retrieved) - if(start_date.valueOf() == end_date.valueOf()) - end_date.setTime(end_date.valueOf()+d); - - base.start_date = base.start_date||start_date; - base.end_date = base.end_date||end_date; - base.text = base.text||this.locale.labels.new_event; - base.id = this._drag_id = this.uid(); - this._drag_mode="new-size"; - - this._loading=true; - this.addEvent(base); - this.callEvent("onEventCreated",[this._drag_id,e]); - this._loading=false; - - this._drag_event={}; //dummy , to trigger correct event updating logic - this._on_mouse_up(e); -}; -scheduler._on_dbl_click=function(e,src){ - src = src||(e.target||e.srcElement); - if (this.config.readonly) return; - var name = src.className.split(" ")[0]; - switch(name){ - case "dhx_scale_holder": - case "dhx_scale_holder_now": - case "dhx_month_body": - case "dhx_wa_day_data": - if (!scheduler.config.dblclick_create) break; - var pos=this._mouse_coords(e); - var start=this._min_date.valueOf()+(pos.y*this.config.time_step+(this._table_view?0:pos.x)*24*60)*60000; - start = this._correct_shift(start); - this.addEventNow(start,null,e); - break; - case "dhx_body": - case "dhx_wa_ev_body": - case "dhx_cal_event_line": - case "dhx_cal_event_clear": - var id = this._locate_event(src); - if (!this.callEvent("onDblClick",[id,e])) return; - if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id)._timed) - this.showLightbox(id); - else - this.edit(id); - break; - case "": - if (src.parentNode) - return scheduler._on_dbl_click(e,src.parentNode); - default: - var t = this["dblclick_"+name]; - if (t) t.call(this,e); - break; - } -}; - -scheduler._mouse_coords=function(ev){ - var pos; - var b=document.body; - var d = document.documentElement; - if(ev.pageX || ev.pageY) - pos={x:ev.pageX, y:ev.pageY}; - else pos={ - x:ev.clientX + (b.scrollLeft||d.scrollLeft||0) - b.clientLeft, - y:ev.clientY + (b.scrollTop||d.scrollTop||0) - b.clientTop - }; - - //apply layout - pos.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width); - pos.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els["dhx_cal_data"][0].scrollTop; - pos.ev = ev; - - var handler = this["mouse_"+this._mode]; - if (handler) - return handler.call(this,pos); - - //transform to date - if (!this._table_view){ - pos.x=Math.max(0,Math.ceil(pos.x/this._cols[0])-1); - pos.y=Math.max(0,Math.ceil(pos.y*60/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step); - } else { - var dy=0; - for (dy=1; dy < this._colsS.heights.length; dy++) - if (this._colsS.heights[dy]>pos.y) break; - - pos.y=(Math.max(0,Math.ceil(pos.x/this._cols[0])-1)+Math.max(0,dy-1)*7)*24*60/this.config.time_step; - pos.x=0; - } - - return pos; -} -scheduler._close_not_saved=function(){ - if (new Date().valueOf()-(scheduler._new_event||0) > 500 && scheduler._edit_id){ - var c=scheduler.locale.labels.confirm_closing; - if (!c || confirm(c)) - scheduler.editStop(scheduler.config.positive_closing); - } -}; -scheduler._correct_shift=function(start, back){ - return start-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(start)).getTimezoneOffset())*60000*(back?-1:1); -}; -scheduler._on_mouse_move=function(e){ - if (this._drag_mode){ - var pos=this._mouse_coords(e); - if (!this._drag_pos || pos.custom || this._drag_pos.x!=pos.x || this._drag_pos.y!=pos.y){ - - if (this._edit_id!=this._drag_id) - this._close_not_saved(); - - this._drag_pos=pos; - - if (this._drag_mode=="create"){ - this._close_not_saved(); - this._loading=true; //will be ignored by dataprocessor - - var start=this._min_date.valueOf()+(pos.y*this.config.time_step+(this._table_view?0:pos.x)*24*60)*60000; - //if (this._mode != "week" && this._mode != "day") - start = this._correct_shift(start); - - if (!this._drag_start){ - this._drag_start=start; return; - } - var end = start; - if (end==this._drag_start) return; - - this._drag_id=this.uid(); - this.addEvent(new Date(this._drag_start), new Date(end),this.locale.labels.new_event,this._drag_id, pos.fields); - - this.callEvent("onEventCreated",[this._drag_id,e]); - this._loading=false; - this._drag_mode="new-size"; - - } - - var ev=this.getEvent(this._drag_id); - var start,end; - if (this._drag_mode=="move"){ - start = this._min_date.valueOf()+(pos.y*this.config.time_step+pos.x*24*60)*60000; - if (!pos.custom && this._table_view) start+=this.date.time_part(ev.start_date)*1000; - start = this._correct_shift(start); - end = ev.end_date.valueOf()-(ev.start_date.valueOf()-start); - } else { - start = ev.start_date.valueOf(); - if (this._table_view) { - end = this._min_date.valueOf()+pos.y*this.config.time_step*60000 + (pos.custom?0:24*60*60000); - if (this._mode == "month") - end = this._correct_shift(end, false); - } - else{ - end = this.date.date_part(new Date(ev.end_date)).valueOf()+pos.y*this.config.time_step*60000; - this._els["dhx_cal_data"][0].style.cursor="s-resize"; - if (this._mode == "week" || this._mode == "day") - end = this._correct_shift(end); - } - if (this._drag_mode == "new-size"){ - if (end <= this._drag_start){ - var shift = pos.shift||((this._table_view && !pos.custom)?24*60*60000:0); - start = end-(pos.shift?0:shift); - end = this._drag_start+(shift||(this.config.time_step*60000)); - } else { - start = this._drag_start; - } - - } else if (end<=start) - end=start+this.config.time_step*60000; - } - var new_end = new Date(end-1); - var new_start = new Date(start); - //prevent out-of-borders situation for day|week view - if ( this._table_view || (new_end.getDate()==new_start.getDate() && new_end.getHours() this._min_date && now.getHours() >= this.config.first_hour && now.getHours()=ed) - cls='dhx_after'; - else if (sd.valueOf()==cd.valueOf()) - cls='dhx_now'; - html+=" class='"+cls+" "+this.templates.month_date_class(sd,cd)+"' "; - html+=">
"+this.templates.month_day(sd)+"
"; - sd=this.date.add(sd,1,"day"); - } - html+=""; - h[i] = cellheight; - cellheight+=this._colsS.height; - } - html+=""; - this._max_date=sd; - - b.innerHTML=html; - return sd; -}; -scheduler.getLabel = function(property, key) { - var sections = this.config.lightbox.sections; - for (var i=0; i11?\"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 a; - } - }); - if (utc) format=format.replace(/date\.get/g,"date.getUTC"); - return new Function("date","return \""+format+"\";"); - }, - str_to_date:function(format,utc){ - var splt="var temp=date.split(/[^0-9a-zA-Z]+/g);"; - var mask=format.match(/%[a-zA-Z]/g); - for (var i=0; i50?1900:2000);"; - break; - case "%g": - case "%G": - case "%h": - case "%H": - splt+="set[3]=temp["+i+"]||0;"; - break; - case "%i": - splt+="set[4]=temp["+i+"]||0;"; - break; - case "%Y": splt+="set[0]=temp["+i+"]||0;"; - break; - case "%a": - case "%A": splt+="set[3]=set[3]%12+((temp["+i+"]||'').toLowerCase()=='am'?0:12);"; - break; - case "%s": splt+="set[5]=temp["+i+"]||0;"; - break; - case "%M": splt+="set[1]=scheduler.locale.date.month_short_hash[temp["+i+"]]||0;"; - break; - case "%F": splt+="set[1]=scheduler.locale.date.month_full_hash[temp["+i+"]]||0;"; - break; - default: - break; - } - } - var code ="set[0],set[1],set[2],set[3],set[4],set[5]"; - if (utc) code =" Date.UTC("+code+")"; - return new Function("date","var set=[0,0,1,0,0,0]; "+splt+" return new Date("+code+");"); - }, - - getISOWeek: function(ndate) { - if(!ndate) return false; - var nday = ndate.getDay(); - if (nday === 0) { - nday = 7; - } - var first_thursday = new Date(ndate.valueOf()); - first_thursday.setDate(ndate.getDate() + (4 - nday)); - var year_number = first_thursday.getFullYear(); // year of the first Thursday - var ordinal_date = Math.round( (first_thursday.getTime() - new Date(year_number, 0, 1).getTime()) / 86400000); //ordinal date of the first Thursday - 1 (so not really ordinal date) - var week_number = 1 + Math.floor( ordinal_date / 7); - return week_number; - }, - - getUTCISOWeek: function(ndate){ - return this.getISOWeek(ndate); - } -}; -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:"",//Your changes will be lost, are your sure ? - confirm_deleting:"Event will be deleted permanently, are you sure?", - section_description:"Description", - section_time:"Time period", - full_day:"Full day", - - /*recurring events*/ - confirm_recurring:"Do you want to edit the whole set of repeated events?", - section_recurring:"Repeat event", - button_recurring:"Disabled", - button_recurring_open:"Enabled", - - /*agenda view extension*/ - agenda_tab:"Agenda", - date:"Date", - description:"Description", - - /*year view extension*/ - year_tab:"Year", - - /* week agenda extension */ - week_agenda_tab: "Agenda" - } -}; - - -/* -%e Day of the month without leading zeros (01..31) -%d Day of the month, 2 digits with leading zeros (01..31) -%j Day of the year, 3 digits with leading zeros (001..366) -%a A textual representation of a day, two letters -%W A full textual representation of the day of the week - -%c Numeric representation of a month, without leading zeros (0..12) -%m Numeric representation of a month, with leading zeros (00..12) -%b A short textual representation of a month, three letters (Jan..Dec) -%M A full textual representation of a month, such as January or March (January..December) - -%y A two digit representation of a year (93..03) -%Y A full numeric representation of a year, 4 digits (1993..03) -*/ - -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", - - hour_size_px:42, - time_step:5, - - start_on_monday:1, - first_hour:0, - last_hour:24, - readonly:false, - drag_resize:1, - drag_move:1, - drag_create:1, - dblclick_create:1, - edit_on_create:1, - details_on_create:0, - click_form_details:0, - cascade_event_display: false, - cascade_event_count:4, - cascade_event_margin: 30, - drag_lightbox:true, - preserve_scroll:true, - - server_utc:false, - - positive_closing:false, - - 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:true}, - {name:"time", height:72, type:"time", map_to:"auto"} ] - }, - - repeat_date_of_end: "01.01.2010" -}; -scheduler.templates={}; -scheduler.init_templates=function(){ - var d=scheduler.date.date_to_str; - var c=scheduler.config; - var f = function(a,b){ - for (var c in b) - if (!a[c]) a[c]=b[c]; - }; - f(scheduler.templates,{ - day_date:d(c.default_date), - month_date:d(c.month_date), - week_date:function(d1,d2){ - return scheduler.templates.day_date(d1)+" – "+scheduler.templates.day_date(scheduler.date.add(d2,-1,"day")); - }, - day_scale_date:d(c.default_date), - month_scale_date:d(c.week_date), - week_scale_date:d(c.day_date), - hour_scale:d(c.hour_date), - time_picker:d(c.hour_date), - event_date:d(c.hour_date), - month_day:d(c.month_day), - xml_date:scheduler.date.str_to_date(c.xml_date,c.server_utc), - load_format:d(c.load_date,c.server_utc), - xml_format:d(c.xml_date,c.server_utc), - api_date:scheduler.date.str_to_date(c.api_date), - event_header:function(start,end,ev){ - return scheduler.templates.event_date(start)+" - "+scheduler.templates.event_date(end); - }, - event_text:function(start,end,ev){ - return ev.text; - }, - event_class:function(start,end,ev){ - return ""; - }, - month_date_class:function(d){ - return ""; - }, - week_date_class:function(d){ - return ""; - }, - event_bar_date:function(start,end,ev){ - return scheduler.templates.event_date(start)+" "; - }, - event_bar_text:function(start,end,ev){ - return ev.text; - } - }); - this.callEvent("onTemplatesReady",[]); -}; - - - -scheduler.uid=function(){ - if (!this._seed) this._seed=(new Date).valueOf(); - return this._seed++; -}; -scheduler._events={}; -scheduler.clearAll=function(){ - this._events={}; - this._loaded={}; - this.clear_view(); -}; -scheduler.addEvent=function(start_date,end_date,text,id,extra_data){ - if(!arguments.length) - return this.addEventNow(); - var ev=start_date; - if (arguments.length!=1){ - ev=extra_data||{}; - ev.start_date=start_date; - ev.end_date=end_date; - ev.text=text; - ev.id=id; - } - ev.id = ev.id||scheduler.uid(); - ev.text = ev.text||""; - - if (typeof ev.start_date == "string") ev.start_date=this.templates.api_date(ev.start_date); - if (typeof ev.end_date == "string") ev.end_date=this.templates.api_date(ev.end_date); - - var d = (this.config.event_duration||this.config.time_step)*60000; - if(ev.start_date.valueOf() == ev.end_date.valueOf()) - ev.end_date.setTime(ev.end_date.valueOf()+d); - - ev._timed=this.is_one_day_event(ev); - - var is_new=!this._events[ev.id]; - this._events[ev.id]=ev; - this.event_updated(ev); - if (!this._loading) - this.callEvent(is_new?"onEventAdded":"onEventChanged",[ev.id,ev]); -}; -scheduler.deleteEvent=function(id,silent){ - var ev=this._events[id]; - if (!silent && (!this.callEvent("onBeforeEventDelete",[id,ev]) || !this.callEvent("onConfirmedBeforeEventDelete", [id,ev]))) - return; - if (ev){ - delete this._events[id]; - this.unselect(id); - this.event_updated(ev); - } - - this.callEvent("onEventDeleted", [id]); -}; -scheduler.getEvent=function(id){ - return this._events[id]; -}; -scheduler.setEvent=function(id,hash){ - this._events[id]=hash; -}; -scheduler.for_rendered=function(id,method){ - for (var i=this._rendered.length-1; i>=0; i--) - if (this._rendered[i].getAttribute("event_id")==id) - method(this._rendered[i],i); -}; -scheduler.changeEventId=function(id,new_id){ - if (id == new_id) return; - var ev=this._events[id]; - if (ev){ - ev.id=new_id; - this._events[new_id]=ev; - delete this._events[id]; - } - this.for_rendered(id,function(r){ - r.setAttribute("event_id",new_id); - }); - if (this._select_id==id) this._select_id=new_id; - if (this._edit_id==id) this._edit_id=new_id; - //if (this._drag_id==id) this._drag_id=new_id; - this.callEvent("onEventIdChange",[id,new_id]); -}; - -(function(){ - var attrs=["text","Text","start_date","StartDate","end_date","EndDate"]; - var create_getter=function(name){ - return function(id){ return (scheduler.getEvent(id))[name]; }; - }; - var create_setter=function(name){ - return function(id,value){ - var ev=scheduler.getEvent(id); ev[name]=value; - ev._changed=true; - ev._timed=this.is_one_day_event(ev); - scheduler.event_updated(ev,true); - }; - }; - for (var i=0; i this._colsS.height-22){ // 22 - height of cell's header - //we have overflow, update heights - var cells = evl.rows[i].cells; - for (var j=0; j < cells.length; j++) { - cells[j].childNodes[1].style.height = h[i]*hb+"px"; - } - h[i]=(h[i-1]||0)+cells[0].offsetHeight; - } - h[i]=(h[i-1]||0)+evl.rows[i].cells[0].offsetHeight; - } - h.unshift(0); - if (evl.parentNode.offsetHeightb.id?1:-1; - return a.start_date>b.start_date?1:-1; - }); - var days=[]; //events by weeks - var evs_originals = []; - for (var i=0; i < evs.length; i++) { - var ev=evs[i]; - - //check scale overflow - var sh = ev.start_date.getHours(); - var eh = ev.end_date.getHours(); - - ev._sday=this._get_event_sday(ev); - if (!days[ev._sday]) days[ev._sday]=[]; - - if (!hold){ - ev._inner=false; - - var stack=days[ev._sday]; - while (stack.length && stack[stack.length-1].end_date<=ev.start_date) - stack.splice(stack.length-1,1); - - var sorderSet = false; - for(var j=0; j _max_sorder) - _max_sorder = stack[j]._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; - } - } - - if (sh < this.config.first_hour || eh >= this.config.last_hour){ - evs_originals.push(ev); - evs[i]=ev=this._copy_event(ev); - if (sh < this.config.first_hour){ - ev.start_date.setHours(this.config.first_hour); - ev.start_date.setMinutes(0); - } - if (eh >= this.config.last_hour){ - ev.end_date.setMinutes(0); - ev.end_date.setHours(this.config.last_hour); - } - if (ev.start_date>ev.end_date || sh==this.config.last_hour) { - evs.splice(i,1); i--; continue; - } - } - } - if (!hold){ - for (var i=0; i < evs.length; i++) { - evs[i]._count = days[evs[i]._sday].max_count; - } - for (var i=0; i < evs_originals.length; i++) - evs_originals[i]._count=days[evs_originals[i]._sday].max_count; - } - - return evs; -}; -scheduler._time_order=function(evs){ - evs.sort(function(a,b){ - if (a.start_date.valueOf()==b.start_date.valueOf()){ - if (a._timed && !b._timed) return 1; - if (!a._timed && b._timed) return -1; - return a.id>b.id?1:-1; - } - return a.start_date>b.start_date?1:-1; - }); -}; -scheduler._pre_render_events_table=function(evs,hold){ // max - max height of week slot - this._time_order(evs); - - var out=[]; - var weeks=[[],[],[],[],[],[],[]]; //events by weeks - var max = this._colsS.heights; - var start_date; - var cols = this._cols.length; - - for (var i=0; i < evs.length; i++) { - var ev=evs[i]; - var sd = (start_date||ev.start_date); - var ed = ev.end_date; - //trim events which are crossing through current view - if (sdthis._max_date) ed=this._max_date; - - var locate_s = this.locate_holder_day(sd,false,ev); - ev._sday=locate_s%cols; - var locate_e = this.locate_holder_day(ed,true,ev)||cols; - ev._eday=(locate_e%cols)||cols; //cols used to fill full week, when event end on monday - ev._length=locate_e-locate_s; - - //3600000 - compensate 1 hour during winter|summer time shift - ev._sweek=Math.floor((this._correct_shift(sd.valueOf(),1)-this._min_date.valueOf())/(60*60*1000*24*cols)); - - //current slot - var stack=weeks[ev._sweek]; - //check order position - var stack_line; - - for (stack_line=0; stack_line"; - if (this._quirks7) d2.firstChild.style.height=height-12+"px"; //IEFIX - this._editor=d2.firstChild; - this._editor.onkeypress=function(e){ - if ((e||event).shiftKey) return true; - var code=(e||event).keyCode; - if (code==scheduler.keys.edit_save) scheduler.editStop(true); - if (code==scheduler.keys.edit_cancel) scheduler.editStop(false); - }; - this._editor.onselectstart=function(e){ return (e||event).cancelBubble=true; }; - d2.firstChild.focus(); - //IE and opera can add x-scroll during focusing - this._els["dhx_cal_data"][0].scrollLeft=0; - d2.firstChild.select(); - - } - if (this._select_id==ev.id){ - if(this.config.cascade_event_display && this._drag_mode) - d.style.zIndex = 1; //fix overlapping issue for cascade view in case of dnd of selected event - var icons=this.config["icons_"+((this._edit_id==ev.id)?"edit":"select")]; - var icons_str=""; - var bg_color = (ev.color?("background-color:"+ev.color+";"):""); - var color = (ev.textColor?("color:"+ev.textColor+";"):""); - for (var i=0; i"; - var obj = this._render_v_bar(ev.id,left-menu+1,top,menu,icons.length*20+26,"","
",icons_str,true); - obj.style.left=left-menu+1; - this._els["dhx_cal_data"][0].appendChild(obj); - this._rendered.push(obj); - } -}; -scheduler._render_v_bar=function(id,x,y,w,h,style,contentA,contentB,bottom){ - var d=document.createElement("DIV"); - var ev = this.getEvent(id); - var cs = "dhx_cal_event"; - var cse = scheduler.templates.event_class(ev.start_date,ev.end_date,ev); - if (cse) cs=cs+" "+cse; - - var bg_color = (ev.color?("background-color:"+ev.color+";"):""); - var color = (ev.textColor?("color:"+ev.textColor+";"):""); - - var html='
'; - html+='
 
'; - html+='
'+contentA+'
'; - html+='
'+contentB+'
'; - html+='
'; - - d.innerHTML=html; - return d.firstChild; -}; -scheduler.locate_holder=function(day){ - if (this._mode=="day") return this._els["dhx_cal_data"][0].firstChild; //dirty - return this._els["dhx_cal_data"][0].childNodes[day]; -}; -scheduler.locate_holder_day=function(date,past){ - var day = Math.floor((this._correct_shift(date,1)-this._min_date)/(60*60*24*1000)); - //when locating end data of event , we need to use next day if time part was defined - if (past && this.date.time_part(date)) day++; - return day; -}; -scheduler.render_event_bar=function(ev){ - var parent=this._rendered_location; - - var x=this._colsS[ev._sday]; - var x2=this._colsS[ev._eday]; - if (x2==x) x2=this._colsS[ev._eday+1]; - var hb = this.xy.bar_height; - - var y=this._colsS.heights[ev._sweek]+(this._colsS.height?(this.xy.month_scale_height+2):2)+(ev._sorder*hb); - - var d=document.createElement("DIV"); - var cs = ev._timed?"dhx_cal_event_clear":"dhx_cal_event_line"; - var cse = scheduler.templates.event_class(ev.start_date,ev.end_date,ev); - if (cse) cs=cs+" "+cse; - - var bg_color = (ev.color?("background-color:"+ev.color+";"):""); - var color = (ev.textColor?("color:"+ev.textColor+";"):""); - - var title_line = scheduler.templates.event_bar_text(ev.start_date,ev.end_date,ev); - - var html='
'; - - if (ev._timed) - html+=scheduler.templates.event_bar_date(ev.start_date,ev.end_date,ev); - html+=scheduler.templates.event_bar_text(ev.start_date,ev.end_date,ev)+'
'; - html+=''; - - d.innerHTML=html; - - this._rendered.push(d.firstChild); - parent.appendChild(d.firstChild); -}; - -scheduler._locate_event=function(node){ - var id=null; - while (node && !id && node.getAttribute){ - id=node.getAttribute("event_id"); - node=node.parentNode; - } - return id; -}; - - -scheduler.edit=function(id){ - if (this._edit_id==id) return; - this.editStop(false,id); - this._edit_id=id; - this.updateEvent(id); -}; -scheduler.editStop=function(mode,id){ - if (id && this._edit_id==id) return; - var ev=this.getEvent(this._edit_id); - if (ev){ - if (mode) ev.text=this._editor.value; - this._edit_id=null; - this._editor=null; - this.updateEvent(ev.id); - this._edit_stop_event(ev,mode); - } -}; -scheduler._edit_stop_event=function(ev,mode){ - if (this._new_event){ - if (!mode) this.deleteEvent(ev.id,true); - else this.callEvent("onEventAdded",[ev.id,ev]); - this._new_event=null; - } else - if (mode) this.callEvent("onEventChanged",[ev.id,ev]); -}; - -scheduler.getEvents = function(from,to){ - var result = []; - for (var a in this._events){ - var ev = this._events[a]; - if (ev && ev.start_datefrom) - result.push(ev); - } - return result; -}; - -scheduler._loaded={}; -scheduler._load=function(url,from){ - url=url||this._load_url; - url+=(url.indexOf("?")==-1?"?":"&")+"timeshift="+(new Date()).getTimezoneOffset(); - if (this.config.prevent_cache) url+="&uid="+this.uid(); - var to; - from=from||this._date; - - if (this._load_mode){ - var lf = this.templates.load_format; - - from = this.date[this._load_mode+"_start"](new Date(from.valueOf())); - while (from>this._min_date) from=this.date.add(from,-1,this._load_mode); - to = from; - - var cache_line = true; - while (tofrom && this._loaded[lf(temp_to)]); - - if (to<=from) - return false; //already loaded - dhtmlxAjax.get(url+"&from="+lf(from)+"&to="+lf(to),function(l){scheduler.on_load(l);}); - while(from"; - }, - set_value:function(node,value,ev,config){ - node.innerHTML = value||""; - }, - get_value:function(node,ev,config){ - return node.innerHTML||""; - }, - focus: function(node){ - } - }, - textarea:{ - render:function(sns){ - var height=(sns.height||"130")+"px"; - return "
"; - }, - set_value:function(node,value,ev){ - node.firstChild.value=value||""; - }, - get_value:function(node,ev){ - return node.firstChild.value; - }, - focus:function(node){ - var a=node.firstChild; a.select(); a.focus(); - } - }, - select:{ - render:function(sns){ - var height=(sns.height||"23")+"px"; - var html="
"; - return html; - }, - set_value:function(node,value,ev){ - if (typeof value == "undefined") - value = (node.firstChild.options[0]||{}).value; - node.firstChild.value=value||""; - }, - get_value:function(node,ev){ - return node.firstChild.value; - }, - focus:function(node){ - var a=node.firstChild; if (a.select) a.select(); a.focus(); - } - }, - time:{ - render:function(){ - //hours - var cfg = scheduler.config; - var dt = this.date.date_part(new Date()); - var last = 24*60, first = 0; - if(scheduler.config.limit_time_select){ - last = 60*cfg.last_hour+1; - first = 60*cfg.first_hour; - dt.setHours(cfg.first_hour); - } - - var html=" "; - - return "
"+html+"  –  "+html+"
"; - - }, - set_value:function(node,value,ev){ - - - var s=node.getElementsByTagName("select"); - - if(scheduler.config.full_day) { - if (!node._full_day){ - var html = ""; - if (!scheduler.config.wide_form) - html = node.previousSibling.innerHTML+html; - node.previousSibling.innerHTML=html; - node._full_day=true; - } - var input=node.previousSibling.getElementsByTagName("input")[0]; - var isFulldayEvent = (scheduler.date.time_part(ev.start_date)===0 && scheduler.date.time_part(ev.end_date)===0 && ev.end_date.valueOf()-ev.start_date.valueOf() < 2*24*60*60*1000); - input.checked = isFulldayEvent; - - for(var k in s) - s[k].disabled=input.checked; - - input.onclick = function(){ - if(input.checked) { - var start_date = new Date(ev.start_date); - var end_date = new Date(ev.end_date); - - scheduler.date.date_part(start_date); - end_date = scheduler.date.add(start_date, 1, "day"); - } - for(var i in s) - s[i].disabled=input.checked; - - _fill_lightbox_select(s,0,start_date||ev.start_date); - _fill_lightbox_select(s,4,end_date||ev.end_date); - }; - } - - if(scheduler.config.auto_end_date && scheduler.config.event_duration) { - function _update_lightbox_select() { - ev.start_date=new Date(s[3].value,s[2].value,s[1].value,0,s[0].value); - ev.end_date.setTime(ev.start_date.getTime() + (scheduler.config.event_duration * 60 * 1000)); - _fill_lightbox_select(s,4,ev.end_date); - } - for(var i=0; i<4; i++) { - s[i].onchange = _update_lightbox_select; - } - } - - function _fill_lightbox_select(s,i,d){ - s[i+0].value=Math.round((d.getHours()*60+d.getMinutes())/scheduler.config.time_step)*scheduler.config.time_step; - s[i+1].value=d.getDate(); - s[i+2].value=d.getMonth(); - s[i+3].value=d.getFullYear(); - } - - _fill_lightbox_select(s,0,ev.start_date); - _fill_lightbox_select(s,4,ev.end_date); - }, - get_value:function(node,ev){ - s=node.getElementsByTagName("select"); - ev.start_date=new Date(s[3].value,s[2].value,s[1].value,0,s[0].value); - ev.end_date=new Date(s[7].value,s[6].value,s[5].value,0,s[4].value); - if (ev.end_date<=ev.start_date) - ev.end_date=scheduler.date.add(ev.start_date,scheduler.config.time_step,"minute"); - }, - focus:function(node){ - node.getElementsByTagName("select")[0].focus(); - } - } -}; -scheduler.showCover=function(box){ - if (box){ - box.style.display="block"; - - var scroll_top = window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop; - var scroll_left = window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft; - - var view_height = window.innerHeight||document.documentElement.clientHeight; - - if(scroll_top) // if vertical scroll on window - box.style.top=Math.round(scroll_top+Math.max((view_height-box.offsetHeight)/2, 0))+"px"; - else // vertical scroll on body - box.style.top=Math.round(Math.max(((view_height-box.offsetHeight)/2), 0) + 9)+"px"; // +9 for compatibility with auto tests - - // not quite accurate but used for compatibility reasons - if(document.documentElement.scrollWidth > document.body.offsetWidth) // if horizontal scroll on the window - box.style.left=Math.round(scroll_left+(document.body.offsetWidth-box.offsetWidth)/2)+"px"; - else // horizontal scroll on the body - box.style.left=Math.round((document.body.offsetWidth-box.offsetWidth)/2)+"px"; - } - this.show_cover(); -}; -scheduler.showLightbox=function(id){ - if (!id) return; - if (!this.callEvent("onBeforeLightbox",[id])) return; - var box = this._get_lightbox(); - this.showCover(box); - this._fill_lightbox(id,box); - this.callEvent("onLightbox",[id]); -}; -scheduler._fill_lightbox=function(id,box){ - var ev=this.getEvent(id); - var s=box.getElementsByTagName("span"); - if (scheduler.templates.lightbox_header){ - s[1].innerHTML=""; - s[2].innerHTML=scheduler.templates.lightbox_header(ev.start_date,ev.end_date,ev); - } else { - s[1].innerHTML=this.templates.event_header(ev.start_date,ev.end_date,ev); - s[2].innerHTML=(this.templates.event_bar_text(ev.start_date,ev.end_date,ev)||"").substr(0,70); //IE6 fix - } - - - var sns = this.config.lightbox.sections; - for (var i=0; i < sns.length; i++) { - var node=document.getElementById(sns[i].id).nextSibling; - var block=this.form_blocks[sns[i].type]; - block.set_value.call(this,node,ev[sns[i].map_to],ev, sns[i]); - if (sns[i].focus) - block.focus.call(this,node); - } - - scheduler._lightbox_id=id; -}; -scheduler._lightbox_out=function(ev){ - var sns = this.config.lightbox.sections; - for (var i=0; i < sns.length; i++) { - var node = document.getElementById(sns[i].id); - node=(node?node.nextSibling:node); - var block=this.form_blocks[sns[i].type]; - var res=block.get_value.call(this,node,ev, sns[i]); - if (sns[i].map_to!="auto") - ev[sns[i].map_to]=res; - } - return ev; -}; -scheduler._empty_lightbox=function(){ - var id=scheduler._lightbox_id; - var ev=this.getEvent(id); - var box=this._get_lightbox(); - - this._lightbox_out(ev); - - ev._timed=this.is_one_day_event(ev); - this.setEvent(ev.id,ev); - this._edit_stop_event(ev,true); - this.render_view_data(); -}; -scheduler.hide_lightbox=function(id){ - this.hideCover(this._get_lightbox()); - this._lightbox_id=null; - this.callEvent("onAfterLightbox",[]); -}; -scheduler.hideCover=function(box){ - if (box) box.style.display="none"; - this.hide_cover(); -}; -scheduler.hide_cover=function(){ - if (this._cover) - this._cover.parentNode.removeChild(this._cover); - this._cover=null; -}; -scheduler.show_cover=function(){ - this._cover=document.createElement("DIV"); - this._cover.className="dhx_cal_cover"; - var _document_height = ((document.height !== undefined) ? document.height : document.body.offsetHeight); - var _scroll_height = ((document.documentElement) ? document.documentElement.scrollHeight : 0); - this._cover.style.height = Math.max(_document_height, _scroll_height) + 'px'; - document.body.appendChild(this._cover); -}; -scheduler.save_lightbox=function(){ - if (this.checkEvent("onEventSave") && !this.callEvent("onEventSave",[this._lightbox_id,this._lightbox_out({ id: this._lightbox_id}), this._new_event])) - return; - this._empty_lightbox(); - this.hide_lightbox(); -}; -scheduler.startLightbox = function(id, box){ - this._lightbox_id=id; - this.showCover(box); -}; -scheduler.endLightbox = function(mode, box){ - this._edit_stop_event(scheduler.getEvent(this._lightbox_id),mode); - if (mode) - scheduler.render_view_data(); - this.hideCover(box); -}; -scheduler.resetLightbox = function(){ - if (scheduler._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(false); - this.hide_lightbox(); -}; -scheduler._init_lightbox_events=function(){ - this._get_lightbox().onclick=function(e){ - var src=e?e.target:event.srcElement; - if (!src.className) src=src.previousSibling; - if (src && src.className) - switch(src.className){ - case "dhx_save_btn": - scheduler.save_lightbox(); - break; - case "dhx_delete_btn": - var c=scheduler.locale.labels.confirm_deleting; - if (!c||confirm(c)) { - scheduler.deleteEvent(scheduler._lightbox_id); - scheduler._new_event = null; //clear flag, if it was unsaved event - scheduler.hide_lightbox(); - } - break; - case "dhx_cancel_btn": - scheduler.cancel_lightbox(); - break; - - default: - if (src.getAttribute("dhx_button")){ - scheduler.callEvent("onLightboxButton", [src.className, src, e]); - } else if (src.className.indexOf("dhx_custom_button_")!=-1){ - var index = src.parentNode.getAttribute("index"); - var block=scheduler.form_blocks[scheduler.config.lightbox.sections[index].type]; - var sec = src.parentNode.parentNode; - block.button_click(index,src,sec,sec.nextSibling); - } - break; - } - }; - this._get_lightbox().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(); - break; - default: - break; - } - }; -}; -scheduler.setLightboxSize=function(){ - var d = this._lightbox; - if (!d) return; - - var con = d.childNodes[1]; - con.style.height="0px"; - con.style.height=con.scrollHeight+"px"; - d.style.height=con.scrollHeight+50+"px"; - con.style.height=con.scrollHeight+"px"; //it is incredible , how ugly IE can be -}; - -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){ - if (!document.dhx_unselectable){ - document.body.className += " dhx_unselectable"; - document.dhx_unselectable = true; - } - var lb = scheduler._get_lightbox(); - var now = (e&&e.target)?[e.pageX, e.pageY]:[event.clientX, event.clientY]; - lb.style.top = scheduler._lb_start[1]+now[1]-scheduler._dnd_start_lb[1]+"px"; - lb.style.left = scheduler._lb_start[0]+now[0]-scheduler._dnd_start_lb[0]+"px"; - } -}; -scheduler._ready_to_dnd = function(e){ - var lb = scheduler._get_lightbox(); - scheduler._lb_start = [parseInt(lb.style.left,10), parseInt(lb.style.top,10)]; - scheduler._dnd_start_lb = (e&&e.target)?[e.pageX, e.pageY]:[event.clientX, event.clientY]; -}; -scheduler._finish_dnd = function(){ - if (scheduler._lb_start){ - scheduler._lb_start = scheduler._dnd_start_lb = false; - document.body.className = document.body.className.replace(" dhx_unselectable",""); - document.dhx_unselectable = false; - } -}; -scheduler._get_lightbox=function(){ //scheduler.config.wide_form=true; - if (!this._lightbox){ - var d=document.createElement("DIV"); - d.className="dhx_cal_light"; - if (scheduler.config.wide_form) - d.className+=" dhx_cal_light_wide"; - if (scheduler.form_blocks.recurring) - d.className+=" dhx_cal_light_rec"; - - if (/msie|MSIE 6/.test(navigator.userAgent)) - d.className+=" dhx_ie6"; - d.style.visibility="hidden"; - var html = this._lightbox_template - var buttons = this.config.buttons_left; - scheduler.locale.labels["dhx_save_btn"] = scheduler.locale.labels.icon_save; - scheduler.locale.labels["dhx_cancel_btn"] = scheduler.locale.labels.icon_cancel; - scheduler.locale.labels["dhx_delete_btn"] = scheduler.locale.labels.icon_delete; - for (var i = 0; i < buttons.length; i++) - html+="
"+scheduler.locale.labels[buttons[i]]+"
"; - buttons = this.config.buttons_right; - for (var i = 0; i < buttons.length; i++) - html+="
"+scheduler.locale.labels[buttons[i]]+"
"; - - html+=""; - d.innerHTML=html; - if (scheduler.config.drag_lightbox){ - d.firstChild.onmousedown = scheduler._ready_to_dnd; - d.firstChild.onselectstart = function(){ return false; }; - d.firstChild.style.cursor = "pointer"; - scheduler._init_dnd_events(); - - } - document.body.insertBefore(d,document.body.firstChild); - this._lightbox=d; - - var sns=this.config.lightbox.sections; - html=""; - for (var i=0; i < sns.length; i++) { - var block=this.form_blocks[sns[i].type]; - if (!block) continue; //ignore incorrect blocks - sns[i].id="area_"+this.uid(); - var button = ""; - if (sns[i].button){ - button = "
"+this.locale.labels["button_"+sns[i].button]+"
"; - } - - if (this.config.wide_form){ - html+="
"; - } - html+="
"+button+this.locale.labels["section_"+sns[i].name]+"
"+block.render.call(this,sns[i]); - html+="
" - } - - //localization - var ds=d.getElementsByTagName("div"); - //sections - ds[1].innerHTML=html; - //sizes - this.setLightboxSize(); - - this._init_lightbox_events(this); - d.style.display="none"; - d.style.visibility="visible"; - } - return this._lightbox; -}; -scheduler._lightbox_template="
 
"; - -scheduler._dp_init=function(dp){ - dp._methods=["setEventTextStyle","","changeEventId","deleteEvent"]; - - this.attachEvent("onEventAdded",function(id){ - if (!this._loading && this.validId(id)) - dp.setUpdated(id,true,"inserted"); - }); - this.attachEvent("onConfirmedBeforeEventDelete", function(id){ - if (!this.validId(id)) return; - var z=dp.getState(id); - - if (z=="inserted" || this._new_event) { dp.setUpdated(id,false); return true; } - if (z=="deleted") return false; - if (z=="true_deleted") return true; - - dp.setUpdated(id,true,"deleted"); - return false; - }); - this.attachEvent("onEventChanged",function(id){ - if (!this._loading && this.validId(id)) - dp.setUpdated(id,true,"updated"); - }); - - dp._getRowData=function(id,pref){ - var ev=this.obj.getEvent(id); - var data = {}; - - for (var a in ev){ - if (a.indexOf("_")==0) continue; - if (ev[a] && ev[a].getUTCFullYear) //not very good, but will work - data[a] = this.obj.templates.xml_format(ev[a]); - else - data[a] = ev[a]; - } - - return data; - }; - dp._clearUpdateFlag=function(){}; - - dp.attachEvent("insertCallback", scheduler._update_callback); - dp.attachEvent("updateCallback", scheduler._update_callback); - dp.attachEvent("deleteCallback", function(upd, id) { - this.obj.setUserData(id, this.action_param, "true_deleted"); - this.obj.deleteEvent(id); - }); - -}; - - -scheduler.setUserData=function(id,name,value){ - if (id) - this.getEvent(id)[name]=value; - else - this._userdata[name]=value; -}; -scheduler.getUserData=function(id,name){ - return id?this.getEvent(id)[name]:this._userdata[name]; -}; -scheduler.setEventTextStyle=function(id,style){ - this.for_rendered(id,function(r){ - r.style.cssText+=";"+style; - }); - var ev = this.getEvent(id); - ev["_text_style"]=style; - this.event_updated(ev); -}; -scheduler.validId=function(id){ - return true; -}; - -scheduler._update_callback = function(upd,id){ - var data = scheduler.xmlNodeToJSON(upd.firstChild); - data.text = data.text||data._tagvalue; - data.start_date = scheduler.templates.xml_date(data.start_date); - data.end_date = scheduler.templates.xml_date(data.end_date); - - scheduler.addEvent(data); -}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css new file mode 100644 index 00000000000..48230ffe08f --- /dev/null +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css @@ -0,0 +1,5 @@ +/* +This software is allowed to use under GPL or you need to obtain Commercial or Enterise License +to use it in non-GPL project. Please contact sales@dhtmlx.com for details +*/ +.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;}.dhtmlx-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Tahoma;z-index:10000;margin:5px;margin-bottom: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-color:#fff;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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);}.dhtmlx-info,.dhtmlx_popup_button,.dhtmlx_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_popup_button,.dhtmlx_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 #f00;}.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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:normal;-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:focus,.dhtmlx_button input:active,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background-image:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background-image:-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 15px;font-size:14px;color:#000;min-height:30px;border-radius:6px;}.dhtmlx-info,.dhtmlx-error{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 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_container{background-color:#C2D5FC;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;top:2px;white-space:nowrap;}.dhx_cal_navline .dhx_cal_date{font-weight:600;left:210px;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;width:29px;height:17px;left:50px;cursor:pointer;}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;width:29px;height:17px;left:80px;cursor:pointer;}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;width:75px;height:17px;left:112px;cursor:pointer;text-align:center;text-decoration:underline;}.dhx_cal_tab{width:59px;height:19px;text-align:center;text-decoration:underline;padding-top:2px;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:bold;border:1px dotted #586A7E;border-bottom:0;background-color:#C2D5FC;}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;border-top:1px dotted #8894A3;border-right:1px dotted #8894A3;z-index:2;overflow:hidden;color:#2F3A48;}.dhx_cal_data{border-top:1px dotted #8894A3;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;}.dhx_scale_bar{position:absolute;text-align:center;background-color:#C2D5FC;padding-top:3px;border-left:1px dotted #586A7E;}.dhx_scale_holder{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg.png);}.dhx_scale_holder_now{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg_now.png);}.dhx_scale_hour{height:41px;width:50px;border-bottom:1px dotted #8894A3;background-color:#C2D5FC;text-align:center;line-height:40px;color:#586A7E;overflow:hidden;}.dhx_month_head{background-color:#EBEFF4;color:#2F3A48;border-right:1px dotted #586A7E;height:18px;padding-right:5px;padding-top:3px;text-align:right;}.dhx_month_body{border-right:1px dotted #586A7E;border-bottom:1px dotted #586A7E;background-color:#FFF;}.dhx_now .dhx_month_body{background-color:#E2EDFF;}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#ECECEC;}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#E2E3E6;color:#94A6BB;}.dhx_now .dhx_month_head{background-color:#D1DEF4;font-weight:bold;}.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_icon,.dhx_multi_day{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3;}.dhx_multi_day{position:absolute;border-top:1px dotted #8894A3;}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-color:#E1E6FF;background-repeat:no-repeat;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_multi_day_icon{background-image:url(imgs/clock_big.gif);}.dhx_multi_day_icon_small{background-image:url(imgs/clock_small.gif);}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff;}.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title,.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer{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 1px;cursor:pointer;}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:bold;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 1px;padding:5px;}.dhx_resize_denied{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 1px;}.dhx_cal_event_line{background-color:#FFE763;border:1px solid #B7A543;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;color:#887A2E;cursor:pointer;overflow:hidden;}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;color:#887A2E;white-space:nowrap;overflow:hidden;cursor:pointer;}.dhx_in_move{background-color:#FFFF80;}div.dhx_cal_editor{background-color:#FFE763;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 black;margin:none;padding:none;overflow:auto;}div.dhx_menu_head{background-image:url(imgs/controls.gif);background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default;}div.dhx_menu_icon{background-image:url(imgs/controls.gif);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_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none;}.dhx_cal_light{background-color:#FFE763;border-radius:5px;font-family:Tahoma;font-size:8pt;border:1px solid #B7A64B;color:#887A2E;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888;}.dhx_cal_light_wide{width:650px;}.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;color:#887A2E;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;color:#FFF4B5;font-weight:bold;padding:5px 0 3px 10px;}.dhx_section_time{background-color:#DBCF8C;white-space:nowrap;}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:#887A2E;font-size:12px;font-weight:normal;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{background-color:#FFF4B5;overflow:auto;border:none;color:#887A2E;height:100%;width:100%;outline:none!important;resize:none;}.dhx_time{font-weight:bold;}.dhx_cal_light .dhx_title{padding-left:10px;}.dhx_cal_larea{border:1px solid #DCC43E;background-color:#FFF4B5;overflow:hidden;margin-left:3px;width:572px;height:1px;}.dhx_btn_set{padding:5px 10px 0 10px;float:left;}.dhx_btn_set div{float:left;height:21px;line-height:21px;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:black;opacity:.1;filter:alpha(opacity=10);}.dhx_custom_button{padding:0 3px 0 3px;color:#887A2E;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:normal;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;font-size:16px;padding:5px 0 0 10px;}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #DBCF8C;position:relative;background-color:#DBCF8C;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:transparent;}.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;color:#887A2E;}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;color:#FFF4B5;font-weight:bold;font-size:16px;font-family:Arial;cursor:pointer;}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;}.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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_agenda_line span{padding-left:5px;line-height:21px;}.dhx_year_body{border-left:1px dotted #586A7E;}.dhx_year_week{position:relative;}.dhx_scale_bar_last{border-right:1px dotted #586A7E;}.dhx_year_month{height:18px;padding-top:3px;border:1px dotted #586A7E;text-align:center;vertical-align:middle;}.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head{cursor:default;}.dhx_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) no-repeat;background-position:5px 4px;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;}.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;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_matrix_cell{background-color:white;}.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;background:url(./imgs/resize_dots.png) repeat-y;position:absolute;top:0;width:4px;}.dhx_event_resize_start{left:0;}.dhx_event_resize_end{right:0;}.dhx_matrix_scell.folder,.dhx_data_table.folder .dhx_matrix_cell{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:bold;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_map_line{height:21px;clear:both;overflow:hidden;}.dhx_map{position:absolute;}.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden;}.dhx_map_line .headline_description{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:white;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;}.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_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:white;}.dhx_second_scale_bar{border-bottom:1px dotted #586A7E;padding-top:2px;}.dhx_cal_header div div{border-left:1px dotted #8894A3;}.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 0;}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4;}.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n) 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:white!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_scheduler_month .dhx_marked_timespan{display:none;}.dhx_mini_calendar .dhx_marked_timespan{display:none;}.dhx_now_time{width:100%;border-bottom:2px dotted red;z-index:1;}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px dotted red;}.dhx_matrix_now_time{border-left:2px dotted red;z-index:1;}div.dhx_form_repeat input.radio{margin:-4px 0 0 -4px!ie;}div.dhx_form_repeat input.checkbox{margin:0 0 0 -4px!ie;}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px;}.dhx_form_repeat{overflow:hidden;height:0;background-color:#FFF4B5;}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent;}.dhx_repeat_center,.dhx_repeat_left{height:115px;padding:10px 0 10px 10px;float:left;}.dhx_repeat_left{width:95px;}.dhx_repeat_center{width:335px;margin-top:12px;}.dhx_repeat_divider{float:left;height:115px;border-left:1px dotted #DCC43E;width:1px;}.dhx_repeat_right{float:right;height:115px;width:160px;padding:10px 3px 10px 10px;margin-top:7px;}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 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 0 4px;}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;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_event .dhx_title{border-width:1px 1px 0 1px;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:bold;font-size: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_footer{height:5px;border:0;margin-top:-6px;background:url(imgs_dhx_terrace/resizing.png) no-repeat center center;}.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_footer,.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_title{background-color:#1796b0;border-color:transparent;color:white;}div.dhx_cal_editor{border:1px solid transparent;background-color:#1796b0;}.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 #1796b0;background-color:#1796b0;color:white;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:white;}.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:white;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;}.dhx_scale_bar{font:11px/16px Arial;color:#767676;padding-top:2px;background-color:white;}.dhx_cal_navline div{top:14px;}.dhx_cal_tab,.dhx_cal_date,.dhx_cal_today_button,.dhx_cal_prev_button,.dhx_cal_next_button{color:#454544;height:30px;line-height:30px;background:none;border:1px solid #CECECE;}.dhx_cal_navline .dhx_cal_date{border:0;font-size:18px;font-weight:normal;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:none;text-decoration:none;width:80px;font-size:12px;font-weight:bold;font-family:arial;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}.dhx_cal_prev_button,.dhx_cal_next_button{left:auto;width:46px;}.dhx_cal_prev_button{right:61px;background:url(imgs_dhx_terrace/arrow_left.png) no-repeat center center;-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) no-repeat center center;-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:bold;font-family:arial;font-size:12px;}.dhx_cal_tab.active{background-color:#F0EDE7;color:#454544;border:1px solid #CECECE;text-shadow:0 1px 0 white;}.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_small,.dhx_multi_day_icon{background-color:white;}.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_month_head,.dhx_after .dhx_month_head,.dhx_before .dhx_month_head,.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:white;}.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,.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_head,.dhx_now .dhx_month_body{background-color:#FFF3A1;font-weight:normal;}.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_light,.dhx_cal_larea,.dhx_cal_lsection,.dhx_wrap_section,.dhx_cal_light_wide .dhx_wrap_section,.dhx_cal_ltext textarea{background-color:white;}.dhx_cal_lsection,.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday,.dhx_cal_lsection .dhx_fullday,.dhx_cal_light input{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_ltext textarea,.dhx_cal_light select,.dhx_cal_light{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_save_btn,.dhx_cancel_btn,.dhx_delete_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 0;padding:0;font-size:12px;color:#454544;font-weight:bold;-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:white;text-shadow:0 -1px 0 #6F6F6F;background-color:#22A1BC;}.dhx_cancel_btn_set{border:1px solid #CECECE;}.dhx_delete_btn_set{border:1px solid #FF8831;background-color:#FF8831;color:white;text-shadow:0 -1px 0 #93755F;}.dhx_cal_ltitle{height:30px;line-height:30px;border-bottom:1px solid #CECECE;}.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) no-repeat center center;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:white;width:330px;}.dhtmlx_popup_controls{padding-bottom:9px;}.dhtmlx_popup_button,.dhtmlx_popup_button:active,.dhtmlx_popup_button div,.dhtmlx_popup_button div:active{color:#444;background:white;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:white;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 #888;}.dhx_mini_calendar .dhx_year_month{border:1px solid #CECECE;font-family:Arial;}.dhx_mini_calendar .dhx_month_head,.dhx_mini_calendar .dhx_year_month,.dhx_mini_calendar .dhx_month_body,.dhx_mini_calendar .dhx_scale_bar,.dhx_mini_calendar .dhx_year_body{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;margin-right:1px;text-align:center;}.dhx_mini_calendar .dhx_cal_prev_button,.dhx_mini_calendar .dhx_cal_next_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) no-repeat;background-position:3px 5px;}.dhx_cal_event_line .dhx_event_resize{background:url(./imgs_dhx_terrace/resize_dots.png) repeat-y;}.dhx_matrix_scell,.dhx_matrix_cell{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:white;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_v_border,.dhx_agenda_line div{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;} \ No newline at end of file diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css index 64cf1bc40c5..7831ca4028c 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css @@ -1,5 +1,5 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -.dhx_cal_container{background-color:#C2D5FC;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;top:2px;white-space:nowrap;}.dhx_cal_navline .dhx_cal_date{font-weight:600;left:210px;}.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;width:29px;height:17px;left:50px;cursor:pointer;}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;width:29px;height:17px;left:80px;cursor:pointer;}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;width:75px;height:17px;left:112px;cursor:pointer;text-align:center;text-decoration:underline;}.dhx_cal_tab{width:59px;height:19px;text-align:center;text-decoration:underline;padding-top:2px;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:bold;border:1px dotted #586A7E;border-bottom:0;background-color:#C2D5FC;}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;border-top:1px dotted #8894A3;border-right:1px dotted #8894A3;z-index:2;overflow:hidden;color:#2F3A48;}.dhx_cal_data{border-top:1px dotted #8894A3;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;}.dhx_scale_bar{position:absolute;text-align:center;background-color:#C2D5FC;padding-top:3px;border-left:1px dotted #586A7E;}.dhx_scale_holder{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg.png);}.dhx_scale_holder_now{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg_now.png);}.dhx_scale_hour{height:41px;width:50px;border-bottom:1px dotted #8894A3;background-color:#C2D5FC;text-align:center;line-height:40px;color:#586A7E;overflow:hidden;}.dhx_month_head{background-color:#EBEFF4;color:#2F3A48;border-right:1px dotted #586A7E;height:18px;padding-right:5px;padding-top:3px;text-align:right;}.dhx_month_body{border-right:1px dotted #586A7E;border-bottom:1px dotted #586A7E;background-color:#FFF;}.dhx_now .dhx_month_body{background-color:#E2EDFF;}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#ECECEC;}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#E2E3E6;color:#94A6BB;}.dhx_now .dhx_month_head{background-color:#D1DEF4;font-weight:bold;}.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_icon,.dhx_multi_day{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3;}.dhx_multi_day{position:absolute;border-top:1px dotted #8894A3;}.dhx_multi_day_icon{background-image:url(imgs/clock_big.gif);}.dhx_multi_day_icon_small{background-image:url(imgs/clock_small.gif);}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-color:#E1E6FF;background-repeat:no-repeat;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff;}.dhx_cal_event div{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 1px;cursor:pointer;}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:bold;text-align:center;background-position:right;background-repeat:no-repeat;cursor:pointer;}.dhx_cal_event .dhx_body{border-width:0 1px 1px 1px;padding:5px;}.dhx_resize_denied .dhx_cal_event .dhx_footer{cursor:default;}.dhx_cal_event .dhx_footer{height:1px;margin-left:2px;border-width:0 1px 1px 1px;cursor:s-resize;}.dhx_cal_event_line{background-color:#FFE763;border:1px solid #B7A543;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;color:#887A2E;cursor:pointer;overflow:hidden;}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;color:#887A2E;white-space:nowrap;overflow:hidden;cursor:pointer;}.dhx_in_move{background-color:#FFFF80;}div.dhx_cal_editor{background-color:#FFE763;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 black;margin:none;padding:none;overflow:auto;}div.dhx_menu_head{background-image:url(imgs/controls.gif);background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default;}div.dhx_menu_icon{background-image:url(imgs/controls.gif);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;}div.dhx_now_time{position:absolute;width:100%;border-bottom:2px dotted red;z-index:1;}div.dhx_time_block{position:absolute;width:100%;background:silver;opacity:.4;filter:alpha(opacity=40);z-index:1;}.dhx_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none;}.dhx_cal_light{background-color:#FFE763;border-radius:5px;font-family:Tahoma;font-size:8pt;border:1px solid #B7A64B;color:#887A2E;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888;}.dhx_cal_light_wide{width:650px;}.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;color:#887A2E;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;color:#FFF4B5;font-weight:bold;padding:5px 0 3px 10px;}.dhx_section_time{background-color:#DBCF8C;}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:#887A2E;font-size:12px;font-weight:normal;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{background-color:#FFF4B5;overflow:auto;border:none;color:#887A2E;height:100%;width:100%;outline:none!important;}.dhx_time{font-weight:bold;}.dhx_cal_light .dhx_title{padding-left:10px;}.dhx_cal_larea{border:1px solid #DCC43E;background-color:#FFF4B5;overflow:hidden;margin-left:3px;width:572px;height:1px;}.dhx_btn_set{padding:5px 10px 0 10px;float:left;}.dhx_btn_set div{float:left;height:21px;line-height:21px;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:black;opacity:.1;filter:alpha(opacity=10);}.dhx_custom_button{padding:0 3px 0 3px;color:#887A2E;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:normal;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;font-size:16px;padding:5px 0 0 10px;}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #DBCF8C;position:relative;background-color:#DBCF8C;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:transparent;}.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;color:#887A2E;}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;color:#FFF4B5;font-weight:bold;font-size:16px;font-family:Arial;cursor:pointer;}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;}.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_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/colapce-expand-icon.gif);width:18px;height:18px;cursor:pointer;background-position:0 18px;z-index:16;}.dhx_agenda_area{width:100%;height: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:186px;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_agenda_line span{padding-left:5px;line-height:21px;}.dhx_year_body{border-left:1px dotted #586A7E;}.dhx_year_week{position:relative;}.dhx_scale_bar_last{border-right:1px dotted #586A7E;}.dhx_year_month{height:18px;padding-top:3px;border:1px dotted #586A7E;text-align:center;vertical-align:middle;}.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head{cursor:default;}.dhx_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) no-repeat;background-position:5px 4px;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;}.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;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_matrix_cell{background-color:white;}.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_matrix_scell.folder,.dhx_data_table.folder .dhx_matrix_cell{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:bold;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_map_line{height:21px;clear:both;overflow:hidden;}.dhx_map{position:absolute;}.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden;}.dhx_map_line .headline_description{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:white;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;}.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:white;}.dhx_second_scale_bar{border-bottom:1px dotted #586A7E;padding-top:2px;}div.dhx_form_repeat input.radio{margin:-4px 0 0 -4px!ie;}div.dhx_form_repeat input.checkbox{margin:0 0 0 -4px!ie;}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px;}.dhx_form_repeat{overflow:hidden;height:0;background-color:#FFF4B5;}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent;}.dhx_repeat_center,.dhx_repeat_left{height:115px;padding:10px 0 10px 10px;float:left;}.dhx_repeat_left{width:95px;}.dhx_repeat_center{width:335px;margin-top:12px;}.dhx_repeat_divider{float:left;height:115px;border-left:1px dotted #DCC43E;width:1px;}.dhx_repeat_right{float:right;height:115px;width:160px;padding:10px 3px 10px 10px;margin-top:7px;}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 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 0 4px;}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;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_prev_button{background-image:url(imgs_glossy/buttons.gif);width:30px;height:20px;}.dhx_cal_next_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;padding-top:3px;border-left:0;}.dhx_scale_holder{border-right:1px solid #A4BED4;}.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/multi-days-bg.png);border-bottom:1px solid #A4BED4;border-left:1px solid #fff;background-position:0 0;background-repeat:repeat;}.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{background-color:#FFE4AB;}.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 select,.dhx_cal_light input{color:#000;}.dhx_save_btn{background-image:url(imgs_glossy/controlls5.png);}.dhx_cancel_btn{background-image:url(imgs_glossy/controlls5.png);}.dhx_delete_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:medium none;}.dhx_section_time{height:20px!important;padding:7px 0!important;text-align:center;background:white;}div.dhx_cal_editor{background-color:#FFE4AB;}.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_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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .dhx_month_head a{color:#EFEDE2!important;}.dhx_cal_lsection .dhx_readonly{color:#000;}.dhx_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_fullday{color:#000;}.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_checkbox label{vertical-align:top;}.dhx_cal_light_wide .dhx_cal_lsection{color:black;}.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;}.dhx_cal_light_wide .dhx_cal_ltext{background-color:white;}.dhx_custom_button{background:white;color:black;}.dhx_form_repeat{background:white;}.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_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;} \ No newline at end of file +.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;}.dhtmlx-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Tahoma;z-index:10000;margin:5px;margin-bottom: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-color:#fff;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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 97%,#393939 97%);}.dhtmlx-info,.dhtmlx_popup_button,.dhtmlx_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_popup_button,.dhtmlx_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 #f00;}.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-image:-webkit-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);background-image:-moz-linear-gradient(top,#707070 1%,#3d3d3d 70%,#4c4c4c 99%);border-radius:6px;font-size:15px;font-weight:normal;-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:focus,.dhtmlx_button input:active,.dhtmlx_popup_button div:active,.dhtmlx_popup_button div:focus{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==);background-image:-webkit-linear-gradient(top,#707070 1%,#4c4c4c 99%);background-image:-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 15px;font-size:14px;color:#000;min-height:30px;border-radius:6px;}.dhtmlx-info,.dhtmlx-error{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 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_container{background-color:#C2D5FC;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;top:2px;white-space:nowrap;}.dhx_cal_navline .dhx_cal_date{font-weight:600;left:210px;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;width:29px;height:17px;left:50px;cursor:pointer;}.dhx_cal_next_button{background-image:url(imgs/buttons.png);background-position:-30px 0;width:29px;height:17px;left:80px;cursor:pointer;}.dhx_cal_today_button{background-image:url(imgs/buttons.png);background-position:-60px 0;width:75px;height:17px;left:112px;cursor:pointer;text-align:center;text-decoration:underline;}.dhx_cal_tab{width:59px;height:19px;text-align:center;text-decoration:underline;padding-top:2px;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:bold;border:1px dotted #586A7E;border-bottom:0;background-color:#C2D5FC;}.dhx_cal_header{position:absolute;left:10px;top:23px;width:750px;border-top:1px dotted #8894A3;border-right:1px dotted #8894A3;z-index:2;overflow:hidden;color:#2F3A48;}.dhx_cal_data{border-top:1px dotted #8894A3;position:absolute;top:44px;width:600px;overflow-y:auto;overflow-x:hidden;}.dhx_scale_bar{position:absolute;text-align:center;background-color:#C2D5FC;padding-top:3px;border-left:1px dotted #586A7E;}.dhx_scale_holder{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg.png);}.dhx_scale_holder_now{position:absolute;border-right:1px dotted #586A7E;background-image:url(imgs/databg_now.png);}.dhx_scale_hour{height:41px;width:50px;border-bottom:1px dotted #8894A3;background-color:#C2D5FC;text-align:center;line-height:40px;color:#586A7E;overflow:hidden;}.dhx_month_head{background-color:#EBEFF4;color:#2F3A48;border-right:1px dotted #586A7E;height:18px;padding-right:5px;padding-top:3px;text-align:right;}.dhx_month_body{border-right:1px dotted #586A7E;border-bottom:1px dotted #586A7E;background-color:#FFF;}.dhx_now .dhx_month_body{background-color:#E2EDFF;}.dhx_after .dhx_month_body,.dhx_before .dhx_month_body{background-color:#ECECEC;}.dhx_after .dhx_month_head,.dhx_before .dhx_month_head{background-color:#E2E3E6;color:#94A6BB;}.dhx_now .dhx_month_head{background-color:#D1DEF4;font-weight:bold;}.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_icon,.dhx_multi_day{background-color:#E1E6FF;background-repeat:no-repeat;border-right:1px dotted #8894A3;}.dhx_multi_day{position:absolute;border-top:1px dotted #8894A3;}.dhx_multi_day_icon,.dhx_multi_day_icon_small{background-position:center center;background-color:#E1E6FF;background-repeat:no-repeat;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_multi_day_icon{background-image:url(imgs/clock_big.gif);}.dhx_multi_day_icon_small{background-image:url(imgs/clock_small.gif);}.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container{background-color:#d0e5ff;}.dhx_cal_event .dhx_header,.dhx_cal_event .dhx_title,.dhx_cal_event .dhx_body,.dhx_cal_event .dhx_footer{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 1px;cursor:pointer;}.dhx_cal_event .dhx_title{height:12px;border-width:0 1px 1px 1px;border-bottom-style:dotted;font-size:7pt;font-weight:bold;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 1px;padding:5px;}.dhx_resize_denied{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 1px;}.dhx_cal_event_line{background-color:#FFE763;border:1px solid #B7A543;border-radius:3px;font-family:Tahoma;font-size:8pt;height:13px;padding-left:10px;color:#887A2E;cursor:pointer;overflow:hidden;}.dhx_cal_event_clear{font-family:Tahoma;font-size:8pt;height:13px;padding-left:2px;color:#887A2E;white-space:nowrap;overflow:hidden;cursor:pointer;}.dhx_in_move{background-color:#FFFF80;}div.dhx_cal_editor{background-color:#FFE763;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 black;margin:none;padding:none;overflow:auto;}div.dhx_menu_head{background-image:url(imgs/controls.gif);background-position:0 -43px;width:10px;height:10px;margin-left:5px;margin-top:1px;border:none;cursor:default;}div.dhx_menu_icon{background-image:url(imgs/controls.gif);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_unselectable,.dhx_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none;}.dhx_cal_light{background-color:#FFE763;border-radius:5px;font-family:Tahoma;font-size:8pt;border:1px solid #B7A64B;color:#887A2E;position:absolute;z-index:10001;width:580px;height:300px;box-shadow:5px 5px 5px #888;}.dhx_cal_light_wide{width:650px;}.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;color:#887A2E;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;color:#FFF4B5;font-weight:bold;padding:5px 0 3px 10px;}.dhx_section_time{background-color:#DBCF8C;white-space:nowrap;}.dhx_cal_lsection .dhx_fullday{float:right;margin-right:5px;color:#887A2E;font-size:12px;font-weight:normal;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{background-color:#FFF4B5;overflow:auto;border:none;color:#887A2E;height:100%;width:100%;outline:none!important;resize:none;}.dhx_time{font-weight:bold;}.dhx_cal_light .dhx_title{padding-left:10px;}.dhx_cal_larea{border:1px solid #DCC43E;background-color:#FFF4B5;overflow:hidden;margin-left:3px;width:572px;height:1px;}.dhx_btn_set{padding:5px 10px 0 10px;float:left;}.dhx_btn_set div{float:left;height:21px;line-height:21px;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:black;opacity:.1;filter:alpha(opacity=10);}.dhx_custom_button{padding:0 3px 0 3px;color:#887A2E;font-family:Tahoma;font-size:8pt;background-color:#FFE763;font-weight:normal;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;font-size:16px;padding:5px 0 0 10px;}.dhx_cal_light_wide .dhx_wrap_section{border-top:1px solid #DBCF8C;position:relative;background-color:#DBCF8C;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:transparent;}.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;color:#887A2E;}.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{float:none;margin-right:0;color:#FFF4B5;font-weight:bold;font-size:16px;font-family:Arial;cursor:pointer;}.dhx_custom_button{float:right;height:21px;width:90px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;}.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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_agenda_line span{padding-left:5px;line-height:21px;}.dhx_year_body{border-left:1px dotted #586A7E;}.dhx_year_week{position:relative;}.dhx_scale_bar_last{border-right:1px dotted #586A7E;}.dhx_year_month{height:18px;padding-top:3px;border:1px dotted #586A7E;text-align:center;vertical-align:middle;}.dhx_year_body .dhx_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head{cursor:default;}.dhx_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) no-repeat;background-position:5px 4px;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;}.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;border-bottom:1px dotted #8894A3;border-right:1px dotted #8894A3;}.dhx_matrix_cell{background-color:white;}.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;background:url(./imgs/resize_dots.png) repeat-y;position:absolute;top:0;width:4px;}.dhx_event_resize_start{left:0;}.dhx_event_resize_end{right:0;}.dhx_matrix_scell.folder,.dhx_data_table.folder .dhx_matrix_cell{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:bold;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) no-repeat;background-position:5px 4px;cursor:pointer;}.dhx_map_line{height:21px;clear:both;overflow:hidden;}.dhx_map{position:absolute;}.dhx_map_line div{float:left;border-right:1px dotted #8894A3;text-align:center;line-height:21px;overflow:hidden;}.dhx_map_line .headline_description{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:white;border-left:1px dotted #887A2E;border-top:1px dotted #887A2E;color:#887A2E;cursor:default;padding:10px;position:absolute;z-index:500;}.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_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:white;}.dhx_second_scale_bar{border-bottom:1px dotted #586A7E;padding-top:2px;}.dhx_cal_header div div{border-left:1px dotted #8894A3;}.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 0;}.dhx_grid_area tr.dhx_grid_event td{border-bottom:1px solid #ECEEF4;}.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td,.dhx_grid_area tr.dhx_grid_event:nth-child(2n) 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:white!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_scheduler_month .dhx_marked_timespan{display:none;}.dhx_mini_calendar .dhx_marked_timespan{display:none;}.dhx_now_time{width:100%;border-bottom:2px dotted red;z-index:1;}.dhx_scheduler_month .dhx_now_time{border-bottom:0;border-left:2px dotted red;}.dhx_matrix_now_time{border-left:2px dotted red;z-index:1;}div.dhx_form_repeat input.radio{margin:-4px 0 0 -4px!ie;}div.dhx_form_repeat input.checkbox{margin:0 0 0 -4px!ie;}.dhx_form_repeat,.dhx_form_repeat input{padding:0;margin:0;padding-left:5px;font-family:Tahoma,Verdana;font-size:11px;line-height:24px;}.dhx_form_repeat{overflow:hidden;height:0;background-color:#FFF4B5;}.dhx_cal_light_wide .dhx_form_repeat{background-color:transparent;}.dhx_repeat_center,.dhx_repeat_left{height:115px;padding:10px 0 10px 10px;float:left;}.dhx_repeat_left{width:95px;}.dhx_repeat_center{width:335px;margin-top:12px;}.dhx_repeat_divider{float:left;height:115px;border-left:1px dotted #DCC43E;width:1px;}.dhx_repeat_right{float:right;height:115px;width:160px;padding:10px 3px 10px 10px;margin-top:7px;}input.dhx_repeat_text{height:16px;width:27px;margin:0 4px 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 0 4px;}input.dhx_repeat_date{height:18px;width:80px;padding:0 0 0 2px;margin:0 4px 0 4px;background-repeat:no-repeat;background-position:64px 0;border:1px #7f9db9 solid;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_prev_button{background-image:url(imgs_glossy/buttons.gif);width:30px;height:20px;}.dhx_cal_next_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;padding-top:3px;border-left:0;}.dhx_scale_holder{border-right:1px solid #A4BED4;}.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{background-color:#FFE4AB;}.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 select,.dhx_cal_light input{color:#000;}.dhx_save_btn{background-image:url(imgs_glossy/controlls5.png);}.dhx_cancel_btn{background-image:url(imgs_glossy/controlls5.png);}.dhx_delete_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:medium none;}.dhx_section_time{height:20px!important;padding:7px 0!important;text-align:center;background:white;}div.dhx_cal_editor{background-color:#FFE4AB;}.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_month_body,.dhx_matrix_cell,.dhx_matrix_scell{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_before .dhx_month_head,.dhx_year_body .dhx_after .dhx_month_head,.dhx_year_body .dhx_before .dhx_month_head a,.dhx_year_body .dhx_after .dhx_month_head a{color:#EFEDE2!important;}.dhx_cal_lsection .dhx_readonly{color:#000;}.dhx_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_fullday{color:#000;}.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_checkbox label{vertical-align:top;}.dhx_cal_light_wide .dhx_cal_lsection{color:black;}.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;}.dhx_cal_light_wide .dhx_cal_ltext{background-color:white;}.dhx_custom_button{background:white;color:black;}.dhx_form_repeat{background:white;}.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;} \ No newline at end of file diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_active_links.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_active_links.js index 6499338d09b..aa3dd4df2e0 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_active_links.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_active_links.js @@ -1,6 +1,7 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ +scheduler.config.active_link_view="day"; scheduler.attachEvent("onTemplatesReady",function(){var d=scheduler.date.str_to_date(scheduler.config.api_date),b=scheduler.date.date_to_str(scheduler.config.api_date),e=scheduler.templates.month_day;scheduler.templates.month_day=function(a){return""+e(a)+""};var f=scheduler.templates.week_scale_date;scheduler.templates.week_scale_date=function(a){return""+f(a)+""};dhtmlxEvent(this._obj,"click",function(a){var b=a.target||event.srcElement, -c=b.getAttribute("jump_to");if(c)return scheduler.setCurrentView(d(c),"day"),a&&a.preventDefault&&a.preventDefault(),!1})}); +c=b.getAttribute("jump_to");if(c)return scheduler.setCurrentView(d(c),scheduler.config.active_link_view),a&&a.preventDefault&&a.preventDefault(),!1})}); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_agenda_view.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_agenda_view.js index c0eb363b8d5..2871439cc68 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_agenda_view.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_agenda_view.js @@ -1,10 +1,11 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -scheduler.date.add_agenda=function(b){return new Date(b.valueOf())};scheduler.dblclick_dhx_agenda_area=function(){!this.config.readonly&&this.config.dblclick_create&&this.addEventNow()};scheduler.templates.agenda_time=function(b,d,a){return a._timed?this.day_date(a.start_date,a.end_date,a)+" "+this.event_date(b):scheduler.templates.day_date(b)+" – "+scheduler.templates.day_date(d)};scheduler.templates.agenda_text=function(b,d,a){return a.text};scheduler.date.agenda_start=function(b){return b}; -scheduler.attachEvent("onTemplatesReady",function(){function b(b){if(b){var a=scheduler.locale.labels;scheduler._els.dhx_cal_header[0].innerHTML="
"+a.date+"
"+a.description+"
";scheduler._table_view=!0;scheduler.set_sizes()}}function d(){var b=scheduler._date,a=scheduler.get_visible_events();a.sort(function(a,b){return a.start_date>b.start_date?1:-1});for(var d="
",e=0;e
"+scheduler.templates.agenda_time(c.start_date,c.end_date,c)+"
";d+="
 
";d+=""+scheduler.templates.agenda_text(c.start_date,c.end_date,c)+"
"}d+="
";scheduler._els.dhx_cal_data[0].innerHTML=d;scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop= -scheduler._agendaScrollTop||0;var g=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML="";scheduler._rendered=[];for(e=0;e
"+a.date+"
"+a.description+"";scheduler._table_view=!0;scheduler.set_sizes()}}function d(){var c=scheduler._date,a=scheduler.get_visible_events();a.sort(function(b,a){return b.start_date>a.start_date?1:-1});for(var d="
",e=0;e
"+scheduler.templates.agenda_time(b.start_date,b.end_date,b)+"
";d+="
 
";d+=""+scheduler.templates.agenda_text(b.start_date,b.end_date,b)+"
"}d+= +"
";scheduler._els.dhx_cal_data[0].innerHTML=d;scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=scheduler._agendaScrollTop||0;var f=scheduler._els.dhx_cal_data[0].childNodes[0],k=f.childNodes[f.childNodes.length-1];k.style.height=f.offsetHeight=24)},j=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(a,f){if(!this.config.all_timed)return j.call(this,a,f);for(var c=0;cthis._min_date&&b.start_dateb.end_date&&a.splice(c--,1);var e=this._lame_copy({},d);e.end_date=new Date(e.end_date);e.start_date=e.start_date=scheduler.config.collision_limit&&(a[j]=n,k=!1)}else b.length>scheduler.config.collision_limit&&(k=!1);return!k?!scheduler.callEvent("onEventCollision",[a,b]):k}var n,e;scheduler.config.collision_limit=1;scheduler.attachEvent("onBeforeDrag",function(a){h(a); -return!0});scheduler.attachEvent("onBeforeLightbox",function(a){var b=scheduler.getEvent(a);e=[b.start_date,b.end_date];h(a);return!0});scheduler.attachEvent("onEventChanged",function(a){if(!a)return!0;var b=scheduler.getEvent(a);if(!g(b)){if(!e)return!1;b.start_date=e[0];b.end_date=e[1];b._timed=this.is_one_day_event(b)}return!0});scheduler.attachEvent("onBeforeEventChanged",function(a){return g(a)});scheduler.attachEvent("onEventSave",function(a,b){return b.rec_type?(scheduler._roll_back_dates(b), -g(b)):!0})})(); +(function(){function h(b){var a=scheduler._props?scheduler._props[scheduler._mode]:null,i=scheduler.matrix?scheduler.matrix[scheduler._mode]:null,e=a||i;if(a)var f=e.map_to;if(i)f=e.y_property;e&&b&&(n=scheduler.getEvent(b)[f])}function g(b){var a=[],i=scheduler.config.collision_limit;if(b.rec_type)for(var e=scheduler.getRecDates(b),f=0;f=i&&(l=!1)}else a.length>=i&&(l=!1);if(!l){var p=!scheduler.callEvent("onEventCollision",[b,a]);p||(b[k]=n||b[k]);return p}return l}var n,d;scheduler.config.collision_limit=1;scheduler.attachEvent("onBeforeDrag", +function(b){h(b);return!0});scheduler.attachEvent("onBeforeLightbox",function(b){var a=scheduler.getEvent(b);d=[a.start_date,a.end_date];h(b);return!0});scheduler.attachEvent("onEventChanged",function(b){if(!b)return!0;var a=scheduler.getEvent(b);if(!g(a)){if(!d)return!1;a.start_date=d[0];a.end_date=d[1];a._timed=this.is_one_day_event(a)}return!0});scheduler.attachEvent("onBeforeEventChanged",function(b){return g(b)});scheduler.attachEvent("onEventSave",function(b,a){a=scheduler._lame_clone(a);a.id= +b;a.rec_type&&scheduler._roll_back_dates(data_copy);return g(a)})})(); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_cookie.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_cookie.js index ef80ea8e8d0..774a629f8cb 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_cookie.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_cookie.js @@ -1,6 +1,6 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -(function(){function g(e,b,a){var c=e+"="+a+(b?"; "+b:"");document.cookie=c}function h(e){var b=e+"=";if(document.cookie.length>0){var a=document.cookie.indexOf(b);if(a!=-1){a+=b.length;var c=document.cookie.indexOf(";",a);if(c==-1)c=document.cookie.length;return document.cookie.substring(a,c)}}return""}var f=!0;scheduler.attachEvent("onBeforeViewChange",function(e,b,a,c){if(f){f=!1;var d=h("scheduler_settings");if(d)return d=d.split("@"),d[0]=this.templates.xml_date(d[0]),this.setCurrentView(d[0], -d[1]),!1}var i=this.templates.xml_format(c||b)+"@"+(a||e);g("scheduler_settings","expires=Sun, 31 Jan 9999 22:00:00 GMT",i);return!0})})(); +(function(){function g(e,b,a){var c=e+"="+a+(b?"; "+b:"");document.cookie=c}function h(e){var b=e+"=";if(document.cookie.length>0){var a=document.cookie.indexOf(b);if(a!=-1){a+=b.length;var c=document.cookie.indexOf(";",a);if(c==-1)c=document.cookie.length;return document.cookie.substring(a,c)}}return""}var f=!0;scheduler.attachEvent("onBeforeViewChange",function(e,b,a,c){if(f){f=!1;var d=h("scheduler_settings");if(d)return d=unescape(d).split("@"),d[0]=this.templates.xml_date(d[0]),window.setTimeout(function(){scheduler.setCurrentView(d[0], +d[1])},1),!1}var i=escape(this.templates.xml_format(c||b)+"@"+(a||e));g("scheduler_settings","expires=Sun, 31 Jan 9999 22:00:00 GMT",i);return!0})})(); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_dhx_terrace.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_dhx_terrace.js new file mode 100644 index 00000000000..89e7d1b16f8 --- /dev/null +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_dhx_terrace.js @@ -0,0 +1,8 @@ +/* +This software is allowed to use under GPL or you need to obtain Commercial or Enterise License +to use it in non-GPL project. Please contact sales@dhtmlx.com for details +*/ +(function(){scheduler.config.fix_tab_position=!0;scheduler.config.use_select_menu_space=!0;scheduler.config.hour_size_px=44;scheduler.xy.nav_height=59;scheduler.xy.bar_height=24;scheduler.config.wide_form=!0;scheduler.xy.lightbox_additional_height=90;scheduler.config.displayed_event_color="#ff4a4a";scheduler.config.displayed_event_text_color="#ffef80";scheduler.templates.event_bar_date=function(c){return"\u2022 "+scheduler.templates.event_date(c)+" "};scheduler.attachEvent("onLightbox",function(){for(var c= +scheduler.getLightbox(),d=c.getElementsByTagName("div"),b=0;b 
";scheduler.attachEvent("onTemplatesReady",function(){var c=scheduler.date.date_to_str("%d"), +d=scheduler.templates.month_day;scheduler.templates.month_day=function(a){if(this._mode=="month"){var b=c(a);a.getDate()==1&&(b=scheduler.locale.date.month_full[a.getMonth()]+" "+b);+a==+scheduler.date.date_part(new Date)&&(b=scheduler.locale.labels.dhx_cal_today_button+" "+b);return b}else return d.call(this,a)};if(scheduler.config.fix_tab_position)for(var b=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),e=[],f=211,g=0;g";return d},set_value:function(a,d,c,b){a._combo&&a._combo.destructor();window.dhx_globalImgPath=b.image_path||"/";a._combo=new dhtmlXCombo(a,b.name,a.offsetWidth-8);a._combo.enableFilteringMode(!!b.filtering,b.script_path||null,!!b.cache);if(b.script_path)a._combo.setComboValue(c[b.map_to]||null);else{for(var f=[],e=0;e";for(var c=0;c";a.vertical&&(d+="
")}d+="";return d},set_value:function(a,d,c,b){for(var f=a.getElementsByTagName("input"),e=0;e':""},set_value:function(a,d,c,b){var a=document.getElementById(b.id),f=scheduler.uid(),e=!1;typeof b.checked_value!="undefined"&&c[b.map_to]==b.checked_value&&(e=!0);a.className+=" dhx_cal_checkbox";var g="",h="";scheduler.config.wide_form?(a.innerHTML=h,a.nextSibling.innerHTML=g):a.innerHTML=g+h},get_value:function(a,d,c){var a=document.getElementById(c.id),b=a.getElementsByTagName("input")[0];b||(b=a.nextSibling.getElementsByTagName("input")[0]);return b.checked?c.checked_value||!0:c.unchecked_value||!1},focus:function(){}}; +scheduler.form_blocks.combo={render:function(b){if(!b.cached_options)b.cached_options={};var d="";d+="
";return d},set_value:function(b,d,c,a){b._combo&&b._combo.destructor();window.dhx_globalImgPath=a.image_path||"/";b._combo=new dhtmlXCombo(b,a.name,b.offsetWidth-8);a.options_height&&b._combo.setOptionHeight(a.options_height);var e=b._combo;e.enableFilteringMode(!!a.filtering,a.script_path||null,!!a.cache);if(a.script_path){var f= +c[a.map_to];f?a.cached_options[f]?(e.addOption(f,a.cached_options[f]),e.disable(1),e.selectOption(0),e.disable(0)):dhtmlxAjax.get(a.script_path+"?id="+f+"&uid="+scheduler.uid(),function(b){var c=b.doXPath("//option")[0],d=c.childNodes[0].nodeValue;a.cached_options[f]=d;e.addOption(f,d);e.disable(1);e.selectOption(0);e.disable(0)}):e.setComboValue(null)}else{for(var g=[],h=0;h";for(var c=0;c";b.vertical&&(d+="
")}d+="";return d},set_value:function(b,d,c,a){for(var e=b.getElementsByTagName("input"),f=0;f':""},set_value:function(b,d,c,a){var b=document.getElementById(a.id),e=scheduler.uid(),f=typeof a.checked_value!="undefined"?c[a.map_to]==a.checked_value:!!d;b.className+=" dhx_cal_checkbox";var g="",h=""; +scheduler.config.wide_form?(b.innerHTML=h,b.nextSibling.innerHTML=g):b.innerHTML=g+h;if(a.handler){var i=b.getElementsByTagName("input")[0];i.onclick=a.handler}},get_value:function(b,d,c){var b=document.getElementById(c.id),a=b.getElementsByTagName("input")[0];a||(a=b.nextSibling.getElementsByTagName("input")[0]);return a.checked?c.checked_value||!0:c.unchecked_value||!1},focus:function(){}}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_expand.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_expand.js index 06a1187a723..fdc64711b59 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_expand.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_expand.js @@ -1,6 +1,6 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ scheduler.expand=function(){var a=scheduler._obj;do a._position=a.style.position||"",a.style.position="static";while((a=a.parentNode)&&a.style);a=scheduler._obj;a.style.position="absolute";a._width=a.style.width;a._height=a.style.height;a.style.width=a.style.height="100%";a.style.top=a.style.left="0px";var b=document.body;b.scrollTop=0;if(b=b.parentNode)b.scrollTop=0;document.body._overflow=document.body.style.overflow||"";document.body.style.overflow="hidden";scheduler._maximize()}; scheduler.collapse=function(){var a=scheduler._obj;do a.style.position=a._position;while((a=a.parentNode)&&a.style);a=scheduler._obj;a.style.width=a._width;a.style.height=a._height;document.body.style.overflow=document.body._overflow;scheduler._maximize()};scheduler.attachEvent("onTemplatesReady",function(){var a=document.createElement("DIV");a.className="dhx_expand_icon";scheduler.toggleIcon=a;scheduler._obj.appendChild(a);a.onclick=function(){scheduler.expanded?scheduler.collapse():scheduler.expand()}}); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_grid_view.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_grid_view.js new file mode 100644 index 00000000000..4b233ca8bd7 --- /dev/null +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_grid_view.js @@ -0,0 +1,28 @@ +/* +This software is allowed to use under GPL or you need to obtain Commercial or Enterise License +to use it in non-GPL project. Please contact sales@dhtmlx.com for details +*/ +(function(){scheduler.grid={sort_rules:{"int":function(b,d,a){return a(b)*1new Date(0)&&scheduler._max_date "; +b.innerHTML+=a};scheduler.grid.sort_grid=function(b){var b=b||{dir:"desc",value:function(a){return a.start_date},rule:scheduler.grid.sort_rules.date},d=scheduler.get_visible_events();b.dir=="desc"?d.sort(function(a,c){return b.rule(a,c,b.value)}):d.sort(function(a,c){return-b.rule(a,c,b.value)});return d};scheduler.grid.set_full_view=function(b){if(b){var d=scheduler.locale.labels,a=scheduler.grid._print_grid_header(b);scheduler._els.dhx_cal_header[0].innerHTML=a;scheduler._table_view=!0;scheduler.set_sizes()}}; +scheduler.grid._calcPadding=function(b,d){var a=(b.paddingLeft!==void 0?1*b.paddingLeft:scheduler[d].defPadding)+(b.paddingRight!==void 0?1*b.paddingRight:scheduler[d].defPadding);return a}; +scheduler.grid._getStyles=function(b,d){for(var a=[],c="",e=0;d[e];e++)switch(c=d[e]+":",d[e]){case "text-align":b.align&&a.push(c+b.align);break;case "vertical-align":b.valign&&a.push(c+b.valign);break;case "padding-left":b.paddingLeft!=void 0&&a.push(c+(b.paddingLeft||"0")+"px");break;case "padding-left":b.paddingRight!=void 0&&a.push(c+(b.paddingRight||"0")+"px")}return a}; +scheduler.grid._fill_grid_tab=function(b,d){for(var a=scheduler._date,c=scheduler.grid.sort_grid(d),e=scheduler[b].columns,f="
",i=-2,g=0;g
")}f+="";f+="
";for(g=0;g";scheduler._els.dhx_cal_data[0].innerHTML=f;scheduler._els.dhx_cal_data[0].scrollTop= +scheduler.grid._gridScrollTop||0;var h=scheduler._els.dhx_cal_data[0].getElementsByTagName("tr");scheduler._rendered=[];for(g=0;g",g=scheduler.grid._getViewName(d),k=["text-align", +"vertical-align","padding-left","padding-right"],h=0;h"+j+""}i+= +"";return i}; +scheduler.grid._print_grid_header=function(b){for(var d="
",a=scheduler[b].columns,c=[],e=a.length,f=scheduler._obj.clientWidth-2*a.length-20,i=0;i"+(a[j].label===void 0?a[j].id:a[j].label)+"
"}d+="";return d}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_html_templates.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_html_templates.js index d882becfd64..da1bccf0da9 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_html_templates.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_html_templates.js @@ -1,5 +1,5 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ scheduler.attachEvent("onTemplatesReady",function(){for(var c=document.body.getElementsByTagName("DIV"),b=0;bd&&(a[e+1]=d);m=!0};scheduler.attachEvent("onScaleAdd",function(b,a){var c=k[a.valueOf()]||l[a.getDay()];if(c)for(var d=0;dscheduler.config.limit_end.valueOf()||this.date.add(d,1,c)<=scheduler.config.limit_start.valueOf())?(setTimeout(function(){scheduler.setCurrentView(scheduler._date, -c)},1),!1):!0});var f=function(b){var a=scheduler.config,c=b.start_date.valueOf()>=a.limit_start.valueOf()&&b.end_date.valueOf()<=a.limit_end.valueOf();if(c&&m&&b._timed){var d=scheduler.date.date_part(new Date(b.start_date.valueOf())),e=k[d.valueOf()]||l[d.getDay()],f=b.start_date.getHours()*60+b.start_date.getMinutes(),h=b.end_date.getHours()*60+b.end_date.getMinutes();if(e)for(var j=0;jf){if(f<=i&&f>=g){if(i==1440||h=g&&h=scheduler.config.limit_end.valueOf())a.start_date=this.date.add(scheduler.config.limit_end,-1,"day");if(a.end_date=scheduler.config.limit_end.valueOf())a.end_date=this.date.add(scheduler.config.limit_end,-1,"day");if(a.start_date.valueOf()>=a.end_date.valueOf())a.end_date=this.date.add(a.start_date,this.config.event_duration||this.config.time_step,"minute");a._timed=this.is_one_day_event(a)}return!0});scheduler.attachEvent("onEventChanged",function(b){if(!b)return!0;var a=scheduler.getEvent(b);if(!f(a)){if(!g)return!1;a.start_date=g[0];a.end_date= -g[1];a._timed=this.is_one_day_event(a)}return!0});scheduler.attachEvent("onBeforeEventChanged",function(b){return f(b)})})(); +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; +(function(){var u=null,s="dhx_time_block",F=function(b,a,c){a instanceof Date&&c instanceof Date?(b.start_date=a,b.end_date=c):(b.days=a,b.zones=c);return b},E=function(b,a,c){var d=typeof b=="object"?b:{days:b};d.type=s;d.css="";if(a){if(c)d.sections=c;d=F(d,b,a)}return d};scheduler.blockTime=function(b,a,c){var d=E(b,a,c);return scheduler.addMarkedTimespan(d)};scheduler.unblockTime=function(b,a,c){var a=a||"fullday",d=E(b,a,c);return scheduler.deleteMarkedTimespan(d)};scheduler.attachEvent("onBeforeViewChange", +function(b,a,c,d){d=d||a;c=c||b;return scheduler.config.limit_view&&(d.valueOf()>scheduler.config.limit_end.valueOf()||this.date.add(d,1,c)<=scheduler.config.limit_start.valueOf())?(setTimeout(function(){scheduler.setCurrentView(scheduler._date,c)},1),!1):!0});var x=function(b,a,c){var d=c[a]&&c[a][s]?c[a][s]:c[b]&&c[b][s]?c[b][s]:[];return d},t=function(b){if(!b)return!0;if(!scheduler.config.check_limits)return!0;for(var a=scheduler,c=a._mode,d=scheduler._marked_timespans,e=a.config,h=[],h=b.rec_type? +scheduler.getRecDates(b):[b],g=!0,i=0;i=e.limit_start.valueOf()&&f.end_date.valueOf()<=e.limit_end.valueOf():!0)for(var j=new Date(f.start_date.valueOf()),p=scheduler.date.add(j,1,"day");jp||f.end_date.getDate()!=j.getDate()?1440:scheduler._get_zone_minutes(f.end_date);if(k)for(l=0;lC){if(C<=w&&C>=z){if(w==1440||y=z&&yw)if(f._timed&&a._drag_id&&a._drag_mode=="new-size")f.end_date.setHours(0),f.end_date.setMinutes(z);else{g=!1;break}}}}if(!g)a._drag_id=null,a._drag_mode=null,g=a.checkEvent("onLimitViolation")?a.callEvent("onLimitViolation",[f.id,f]):g}return g};scheduler.attachEvent("onMouseDown", +function(b){return!(b=s)});scheduler.attachEvent("onBeforeDrag",function(b){return!b?!0:t(scheduler.getEvent(b))});scheduler.attachEvent("onClick",function(b){return t(scheduler.getEvent(b))});scheduler.attachEvent("onBeforeLightbox",function(b){var a=scheduler.getEvent(b);u=[a.start_date,a.end_date];return t(a)});scheduler.attachEvent("onEventSave",function(b,a){if(a.rec_type){var c=scheduler._lame_clone(a);scheduler._roll_back_dates(c)}return t(a)});scheduler.attachEvent("onEventAdded",function(b){if(!b)return!0; +var a=scheduler.getEvent(b);if(!t(a)&&scheduler.config.limit_start&&scheduler.config.limit_end){if(a.start_date=scheduler.config.limit_end.valueOf())a.start_date=this.date.add(scheduler.config.limit_end,-1,"day");if(a.end_date=scheduler.config.limit_end.valueOf())a.end_date=this.date.add(scheduler.config.limit_end, +-1,"day");if(a.start_date.valueOf()>=a.end_date.valueOf())a.end_date=this.date.add(a.start_date,this.config.event_duration||this.config.time_step,"minute");a._timed=this.is_one_day_event(a)}return!0});scheduler.attachEvent("onEventChanged",function(b){if(!b)return!0;var a=scheduler.getEvent(b);if(!t(a)){if(!u)return!1;a.start_date=u[0];a.end_date=u[1];a._timed=this.is_one_day_event(a)}return!0});scheduler.attachEvent("onBeforeEventChanged",function(b){return t(b)});scheduler.attachEvent("onBeforeEventCreated", +function(b){var a=scheduler.getActionData(b).date,c={_timed:!0,start_date:a,end_date:scheduler.date.add(a,scheduler.config.time_step,"minute")};return t(c)});scheduler.attachEvent("onViewChange",function(){scheduler.markNow()});scheduler.attachEvent("onSchedulerResize",function(){window.setTimeout(function(){scheduler.markNow()},1);return!0});scheduler.attachEvent("onTemplatesReady",function(){scheduler._mark_now_timer=window.setInterval(function(){scheduler.markNow()},6E4)});scheduler.markNow=function(b){var a= +"dhx_now_time";this._els[a]||(this._els[a]=[]);var c=scheduler.config.now_date||new Date,d=this.config;scheduler._remove_mark_now();if(!b&&d.mark_now&&cthis._min_date&&c.getHours()>=d.first_hour&&c.getHours()b.start_date||b.days!==void 0&&b.zones))return a; +var g=0,i=1440;if(b.zones=="fullday")b.zones=[g,i];if(b.zones&&b.invert_zones)b.zones=scheduler.invertZones(b.zones);b.id=scheduler.uid();b.css=b.css||"";b.type=b.type||"default";var f=b.sections;if(f)for(var j in f){if(f.hasOwnProperty(j)){var p=f[j];p instanceof Array||(p=[p]);for(e=0;er?scheduler._get_zone_minutes(m):g,s=q>v||q.getDate()!=r.getDate()?i:scheduler._get_zone_minutes(q);n.zones=[l,s];a.push(n);r=v;v=scheduler.date.add(v,1,"day")}else{if(k.days instanceof Date)k.days=scheduler.date.date_part(k.days).valueOf();k.zones=b.zones.slice();a.push(k)}}return a};scheduler._get_dates_by_index=function(b,a,c){for(var d=[],a=a||scheduler._min_date, +c=c||scheduler._max_date,e=a.getDay(),h=b-e>=0?b-e:7-a.getDay()+b,g=scheduler.date.add(a,h,"day");g=+f&&+h<=+f))return d;var j=f.getDay(),c=scheduler.config.start_on_monday?j==0?6:j-1:j}var p=b.zones,n=scheduler._get_css_classes_by_config(b);if(scheduler._table_view&&scheduler._mode=="month"){var o=[],k=[];if(a)o.push(a),k.push(c);else for(var k=i?[i]:scheduler._get_dates_by_index(c),m=0;mh&&f<=h||f=e)c[d]=Math.min(e,f),c[d+1]=Math.max(h,j),d-=2;else{if(!g)continue;var p=e>f?0:2;c.splice(d+p,0,f,j)}a.splice(i--,2);break}return c};scheduler._subtract_timespan_zones=function(b,a){for(var c=b.slice(),d=0;de&&i=i&&h<=f&&c.splice(d,2);ef&&c.splice(j?d+2:d,j?0:2,f,h);d-=2;break}}return c};scheduler.invertZones=function(b){return scheduler._subtract_timespan_zones([0,1440],b.slice())};scheduler._delete_marked_timespan_by_id=function(b){var a=scheduler._marked_timespans_ids[b];if(a)for(var c=0;c"+e.text+"

"+(e.event_location||"")+"

"+scheduler.templates.marker_date(f)+" - "+scheduler.templates.marker_date(g)+""}; -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,1,"hour")})};scheduler.templates.map_time=function(f,g,e){return e._timed?this.day_date(e.start_date,e.end_date,e)+" "+this.event_date(f):scheduler.templates.day_date(f)+" – "+scheduler.templates.day_date(g)};scheduler.templates.map_text=function(f,g,e){return e.text};scheduler.date.map_start=function(f){return f}; -scheduler.date.add_map=function(f){return new Date(f.valueOf())};scheduler.templates.map_date=function(){return""};scheduler._latLngUpdate=!1; -scheduler.attachEvent("onSchedulerReady",function(){function f(a){if(a){var c=scheduler.locale.labels;scheduler._els.dhx_cal_header[0].innerHTML="
"+c.date+"
"+c.description+"
";scheduler._table_view=!0;scheduler.set_sizes()}} -function g(){scheduler._selected_event_id=null;scheduler.map._infowindow.close();for(var a in scheduler.map._markers)scheduler.map._markers[a].setMap(null),delete scheduler.map._markers[a],scheduler.map._infowindows_content[a]&&delete scheduler.map._infowindows_content[a]}function e(){var a=scheduler.get_visible_events();a.sort(function(a,b){return a.start_date
"+scheduler.templates.map_time(b.start_date,b.end_date,b)+"
";c+="
 
"; +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(f,g,e){return e._timed?this.day_date(e.start_date,e.end_date,e)+" "+this.event_date(f):scheduler.templates.day_date(f)+" – "+scheduler.templates.day_date(g)};scheduler.templates.map_text=function(f,g,e){return e.text}; +scheduler.date.map_start=function(f){return f};scheduler.date.add_map=function(f){return new Date(f.valueOf())};scheduler.templates.map_date=function(){return""};scheduler._latLngUpdate=!1; +scheduler.attachEvent("onSchedulerReady",function(){function f(a){if(a){var c=scheduler.locale.labels;scheduler._els.dhx_cal_header[0].innerHTML="
"+c.date+"
"+c.description+"
";scheduler._table_view=!0; +scheduler.set_sizes()}}function g(){scheduler._selected_event_id=null;scheduler.map._infowindow.close();var a=scheduler.map._markers,c;for(c in a)a.hasOwnProperty(c)&&(a[c].setMap(null),delete scheduler.map._markers[c],scheduler.map._infowindows_content[c]&&delete scheduler.map._infowindows_content[c])}function e(){var a=scheduler.get_visible_events();a.sort(function(a,b){return a.start_date.valueOf()==b.start_date.valueOf()?a.id>b.id?1:-1:a.start_date>b.start_date?1:-1});for(var c="
", +d=0;d
"+scheduler.templates.map_time(b.start_date,b.end_date,b)+"
";c+="
 
"; c+="
"+scheduler.templates.map_text(b.start_date,b.end_date,b)+"
"}c+="
";scheduler._els.dhx_cal_data[0].scrollTop=0;scheduler._els.dhx_cal_data[0].innerHTML=c;scheduler._els.dhx_cal_data[0].style.width=scheduler.xy.map_date_width+scheduler.xy.map_description_width+ 1+"px";var g=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(d=0;dscheduler._min_date||c.start_datescheduler._max_date||c.start_date.valueOf()>=scheduler._min_date&&c.end_date.valueOf()<=scheduler._max_date? +scheduler._latLngUpdate=!0;scheduler.callEvent("onEventChanged",[a.id,a])})},o=function(a,c,d,b){setTimeout(function(){var b=a.apply(c,d);a=c=d=null;return b},b||1)};scheduler.attachEvent("onEventChanged",function(a){if(this._latLngUpdate)this._latLngUpdate=!1;else{var c=scheduler.getEvent(a);c.start_datescheduler._min_date||c.start_datescheduler._max_date||c.start_date.valueOf()>=scheduler._min_date&&c.end_date.valueOf()<=scheduler._max_date? (scheduler.map._markers[a]&&scheduler.map._markers[a].setMap(null),j(c)):(scheduler._selected_event_id=null,scheduler.map._infowindow.close(),scheduler.map._markers[a]&&scheduler.map._markers[a].setMap(null))}return!0});scheduler.attachEvent("onEventIdChange",function(a,c){var d=scheduler.getEvent(c);if(d.start_datescheduler._min_date||d.start_datescheduler._max_date||d.start_date.valueOf()>=scheduler._min_date&&d.end_date.valueOf()<= scheduler._max_date)scheduler.map._markers[a]&&(scheduler.map._markers[a].setMap(null),delete scheduler.map._markers[a]),scheduler.map._infowindows_content[a]&&delete scheduler.map._infowindows_content[a],j(d);return!0});scheduler.attachEvent("onEventAdded",function(a,c){if(!scheduler._dataprocessor&&(c.start_datescheduler._min_date||c.start_datescheduler._max_date||c.start_date.valueOf()>=scheduler._min_date&&c.end_date.valueOf()<= scheduler._max_date))scheduler.map._markers[a]&&scheduler.map._markers[a].setMap(null),j(c);return!0});scheduler.attachEvent("onBeforeEventDelete",function(a){scheduler.map._markers[a]&&scheduler.map._markers[a].setMap(null);scheduler._selected_event_id=null;scheduler.map._infowindow.close();return!0});scheduler._event_resolve_delay=1500;scheduler.attachEvent("onEventLoading",function(a){scheduler.config.map_resolve_event_location&&a.event_location&&!a.lat&&!a.lng&&(scheduler._event_resolve_delay+= diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_minical.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_minical.js index b7b0ba1d21d..7dcf3b45bd7 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_minical.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_minical.js @@ -1,26 +1,26 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -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.renderCalendar=function(b,c){var a=null,d=b.date||new Date;typeof d=="string"&&(d=this.templates.api_date(d));if(c)a=this._render_calendar(c.parentNode,d,b,c),scheduler.unmarkCalendar(a);else{var e=b.container,f=b.position;typeof e=="string"&&(e=document.getElementById(e));typeof f=="string"&&(f=document.getElementById(f));if(f&&typeof f.left=="undefined")var n=getOffset(f),f={top:n.top+f.offsetHeight,left:n.left};e||(e=scheduler._get_def_cont(f));a=this._render_calendar(e,d,b);a.onclick= -function(a){var a=a||event,b=a.target||a.srcElement;if(b.className.indexOf("dhx_month_head")!=-1){var c=b.parentNode.className;if(c.indexOf("dhx_after")==-1&&c.indexOf("dhx_before")==-1){var d=scheduler.templates.xml_date(this.getAttribute("date"));d.setDate(parseInt(b.innerHTML,10));scheduler.unmarkCalendar(this);scheduler.markCalendar(this,d,"dhx_calendar_click");this._last_date=d;this.conf.handler&&this.conf.handler.call(scheduler,d,this)}}}}for(var m=scheduler.date.month_start(d),k=scheduler.date.add(m, -1,"month"),p=this.getEvents(m,k),i=0;i=k.valueOf())break}this._markCalendarCurrentDate(a);a.conf=b;return a}; -scheduler._get_def_cont=function(b){if(!this._def_count)this._def_count=document.createElement("DIV"),this._def_count.style.cssText="position:absolute;z-index:10100;width:251px; height:175px;",this._def_count.onclick=function(b){(b||event).cancelBubble=!0},document.body.appendChild(this._def_count);this._def_count.style.left=b.left+"px";this._def_count.style.top=b.top+"px";this._def_count._created=new Date;return this._def_count}; -scheduler._locateCalendar=function(b,c){var a=b.childNodes[2].childNodes[0];typeof c=="string"&&(c=scheduler.templates.api_date(c));var d=b.week_start+c.getDate()-1;return a.rows[Math.floor(d/7)].cells[d%7].firstChild};scheduler.markCalendar=function(b,c,a){this._locateCalendar(b,c).className+=" "+a};scheduler.unmarkCalendar=function(b,c,a){c=c||b._last_date;a=a||"dhx_calendar_click";if(c){var d=this._locateCalendar(b,c);d.className=(d.className||"").replace(RegExp(a,"g"))}}; -scheduler._week_template=function(b){for(var c=b||250,a=0,d=document.createElement("div"),e=this.date.week_start(new Date),f=0;f<7;f++)this._cols[f]=Math.floor(c/(7-f)),this._render_x_header(f,a,e,d),e=this.date.add(e,1,"day"),c-=this._cols[f],a+=this._cols[f];d.lastChild.className+=" dhx_scale_bar_last";return d};scheduler.updateCalendar=function(b,c){b.conf.date=c;this.renderCalendar(b.conf,b)};scheduler._mini_cal_arrows=[" "," "]; -scheduler._render_calendar=function(b,c,a,d){var e=scheduler.templates,f=this._cols;this._cols=[];var n=this._mode;this._mode="calendar";var m=this._colsS;this._colsS={height:0};var k=new Date(this._min_date),p=new Date(this._max_date),i=new Date(scheduler._date),o=e.month_day;e.month_day=e.calendar_date;var c=this.date.month_start(c),l=this._week_template(b.offsetWidth-1),g;d?g=d:(g=document.createElement("DIV"),g.className="dhx_cal_container dhx_mini_calendar");g.setAttribute("date",this.templates.xml_format(c)); -g.innerHTML="
"+l.innerHTML+"
";g.childNodes[0].innerHTML=this.templates.calendar_month(c);if(a.navigation){var h=document.createElement("DIV");h.className="dhx_cal_prev_button";h.style.cssText="left:1px;top:2px;position:absolute;";h.innerHTML=this._mini_cal_arrows[0];g.firstChild.appendChild(h);h.onclick=function(){scheduler.updateCalendar(g,scheduler.date.add(g._date,-1,"month"));scheduler._date.getMonth()== -g._date.getMonth()&&scheduler._date.getFullYear()==g._date.getFullYear()&&scheduler._markCalendarCurrentDate(g)};h=document.createElement("DIV");h.className="dhx_cal_next_button";h.style.cssText="left:auto; right:1px;top:2px;position:absolute;";h.innerHTML=this._mini_cal_arrows[1];g.firstChild.appendChild(h);h.onclick=function(){scheduler.updateCalendar(g,scheduler.date.add(g._date,1,"month"));scheduler._date.getMonth()==g._date.getMonth()&&scheduler._date.getFullYear()==g._date.getFullYear()&&scheduler._markCalendarCurrentDate(g)}}g._date= -new Date(c);g.week_start=(c.getDay()-(this.config.start_on_monday?1:0)+7)%7;var u=this.date.week_start(c);this._reset_month_scale(g.childNodes[2],c,u);for(var j=g.childNodes[2].firstChild.rows,q=j.length;q<6;q++){var t=j[j.length-1];j[0].parentNode.appendChild(t.cloneNode(!0));for(var r=parseInt(t.childNodes[t.childNodes.length-1].childNodes[0].innerHTML),r=r<10?r:0,s=0;s500))b=this._def_count.firstChild;if(b&&(b.onclick=null,b.innerHTML="",b.parentNode&&b.parentNode.removeChild(b),this._def_count))this._def_count.style.top="-1000px"};scheduler.isCalendarVisible=function(){return this._def_count&&parseInt(this._def_count.style.top,10)>0?this._def_count:!1}; -scheduler.attachEvent("onTemplatesReady",function(){dhtmlxEvent(document.body,"click",function(){scheduler.destroyCalendar()})});scheduler.templates.calendar_time=scheduler.date.date_to_str("%d-%m-%Y"); -scheduler.form_blocks.calendar_time={render:function(){var b="",c=scheduler.config,a=this.date.date_part(new Date);c.first_hour&&a.setHours(c.first_hour);b+=" ";var f=scheduler.config.full_day;return"
"+ -b+"  –  "+b+"
"},set_value:function(b,c,a){function d(a,b,c){n(a,b,c);a.value=scheduler.templates.calendar_time(b);a._date=scheduler.date.date_part(new Date(b))}var e=b.getElementsByTagName("input"),f=b.getElementsByTagName("select"),n=function(a,b,c){a.onclick=function(){scheduler.destroyCalendar(null,!0);scheduler.renderCalendar({position:a,date:new Date(this._date),navigation:!0,handler:function(b){a.value=scheduler.templates.calendar_time(b); -a._date=new Date(b);scheduler.destroyCalendar();scheduler.config.event_duration&&scheduler.config.auto_end_date&&c==0&&o()}})}};if(scheduler.config.full_day){if(!b._full_day){var m="";scheduler.config.wide_form||(m=b.previousSibling.innerHTML+m);b.previousSibling.innerHTML=m;b._full_day=!0}var k=b.previousSibling.getElementsByTagName("input")[0],p=scheduler.date.time_part(a.start_date)== -0&&scheduler.date.time_part(a.end_date)==0&&a.end_date.valueOf()-a.start_date.valueOf()<1728E5;k.checked=p;for(var i in f)f[i].disabled=k.checked;for(i=0;i=n.valueOf())break}}this._markCalendarCurrentDate(d);d.conf=a;a.sync&&!c&&this._synced_minicalendars.push(d);return d}; +scheduler._get_def_cont=function(a){if(!this._def_count)this._def_count=document.createElement("DIV"),this._def_count.className="dhx_minical_popup",this._def_count.onclick=function(a){(a||event).cancelBubble=!0},document.body.appendChild(this._def_count);this._def_count.style.left=a.left+"px";this._def_count.style.top=a.top+"px";this._def_count._created=new Date;return this._def_count}; +scheduler._locateCalendar=function(a,b){var c=a.childNodes[2].childNodes[0];typeof b=="string"&&(b=scheduler.templates.api_date(b));var d=a.week_start+b.getDate()-1;return c.rows[Math.floor(d/7)].cells[d%7].firstChild};scheduler.markCalendar=function(a,b,c){this._locateCalendar(a,b).className+=" "+c};scheduler.unmarkCalendar=function(a,b,c){b=b||a._last_date;c=c||"dhx_calendar_click";if(b){var d=this._locateCalendar(a,b);d.className=(d.className||"").replace(RegExp(c,"g"))}}; +scheduler._week_template=function(a){for(var b=a||250,c=0,d=document.createElement("div"),f=this.date.week_start(new Date),e=0;e<7;e++)this._cols[e]=Math.floor(b/(7-e)),this._render_x_header(e,c,f,d),f=this.date.add(f,1,"day"),b-=this._cols[e],c+=this._cols[e];d.lastChild.className+=" dhx_scale_bar_last";return d};scheduler.updateCalendar=function(a,b){a.conf.date=b;this.renderCalendar(a.conf,a,!0)};scheduler._mini_cal_arrows=[" "," "]; +scheduler._render_calendar=function(a,b,c,d){var f=scheduler.templates,e=this._cols;this._cols=[];var h=this._mode;this._mode="calendar";var k=this._colsS;this._colsS={height:0};var j=new Date(this._min_date),n=new Date(this._max_date),l=new Date(scheduler._date),s=f.month_day;f.month_day=f.calendar_date;var b=this.date.month_start(b),p=this._week_template(a.offsetWidth-1),g;d?g=d:(g=document.createElement("DIV"),g.className="dhx_cal_container dhx_mini_calendar");g.setAttribute("date",this.templates.xml_format(b)); +g.innerHTML="
"+p.innerHTML+"
";g.childNodes[0].innerHTML=this.templates.calendar_month(b);if(c.navigation)for(var i=function(a,b){var c=scheduler.date.add(a._date,b,"month");scheduler.updateCalendar(a,c);scheduler._date.getMonth()==a._date.getMonth()&&scheduler._date.getFullYear()==a._date.getFullYear()&&scheduler._markCalendarCurrentDate(a)},w=["dhx_cal_prev_button","dhx_cal_next_button"],x=["left:1px;top:2px;position:absolute;", +"left:auto; right:1px;top:2px;position:absolute;"],y=[-1,1],z=function(a){return function(){if(c.sync)for(var b=scheduler._synced_minicalendars,d=0;d500))a=this._def_count.firstChild;if(a&&(a.onclick=null,a.innerHTML="",a.parentNode&&a.parentNode.removeChild(a),this._def_count))this._def_count.style.top="-1000px"}; +scheduler.isCalendarVisible=function(){return this._def_count&&parseInt(this._def_count.style.top,10)>0?this._def_count:!1};scheduler.attachEvent("onTemplatesReady",function(){dhtmlxEvent(document.body,"click",function(){scheduler.destroyCalendar()})});scheduler.templates.calendar_time=scheduler.date.date_to_str("%d-%m-%Y"); +scheduler.form_blocks.calendar_time={render:function(){var a="",b=scheduler.config,c=this.date.date_part(new Date),d=1440,f=0;b.limit_time_select&&(f=60*b.first_hour,d=60*b.last_hour+1);c.setHours(f/60);a+=" ";var k=scheduler.config.full_day;return"
"+ +a+"  –  "+a+"
"},set_value:function(a,b,c){function d(a,b,c){h(a,b,c);a.value=scheduler.templates.calendar_time(b);a._date=scheduler.date.date_part(new Date(b))}var f=a.getElementsByTagName("input"),e=a.getElementsByTagName("select"),h=function(a,b,c){a.onclick=function(){scheduler.destroyCalendar(null,!0);scheduler.renderCalendar({position:a,date:new Date(this._date),navigation:!0,handler:function(b){a.value=scheduler.templates.calendar_time(b); +a._date=new Date(b);scheduler.destroyCalendar();scheduler.config.event_duration&&scheduler.config.auto_end_date&&c==0&&l()}})}};if(scheduler.config.full_day){if(!a._full_day){var k="";scheduler.config.wide_form||(k=a.previousSibling.innerHTML+k);a.previousSibling.innerHTML=k;a._full_day=!0}var j=a.previousSibling.getElementsByTagName("input")[0],n=scheduler.date.time_part(c.start_date)== +0&&scheduler.date.time_part(c.end_date)==0;j.checked=n;e[0].disabled=j.checked;e[1].disabled=j.checked;j.onclick=function(){if(j.checked==!0){var b={};scheduler.form_blocks.calendar_time.get_value(a,b);var h=scheduler.date.date_part(b.start_date),g=scheduler.date.date_part(b.end_date);if(+g==+h||+g>=+h&&(c.end_date.getHours()!=0||c.end_date.getMinutes()!=0))g=scheduler.date.add(g,1,"day")}var i=h||c.start_date,k=g||c.end_date;d(f[0],i);d(f[1],k);e[0].value=i.getHours()*60+i.getMinutes();e[1].value= +k.getHours()*60+k.getMinutes();e[0].disabled=j.checked;e[1].disabled=j.checked}}if(scheduler.config.event_duration&&scheduler.config.auto_end_date){var l=function(){start_date=scheduler.date.add(f[0]._date,e[0].value,"minute");end_date=new Date(start_date.getTime()+scheduler.config.event_duration*6E4);f[1].value=scheduler.templates.calendar_time(end_date);f[1]._date=scheduler.date.date_part(new Date(end_date));e[1].value=end_date.getHours()*60+end_date.getMinutes()};e[0].onchange=l}d(f[0],c.start_date, +0);d(f[1],c.end_date,1);h=function(){};e[0].value=c.start_date.getHours()*60+c.start_date.getMinutes();e[1].value=c.end_date.getHours()*60+c.end_date.getMinutes()},get_value:function(a,b){var c=a.getElementsByTagName("input"),d=a.getElementsByTagName("select");b.start_date=scheduler.date.add(c[0]._date,d[0].value,"minute");b.end_date=scheduler.date.add(c[1]._date,d[1].value,"minute");if(b.end_date<=b.start_date)b.end_date=scheduler.date.add(b.start_date,scheduler.config.time_step,"minute")},focus:function(){}}; +scheduler.linkCalendar=function(a,b){var c=function(){var c=scheduler._date,f=new Date(c.valueOf());b&&(f=b(f));f.setDate(1);scheduler.updateCalendar(a,f);return!0};scheduler.attachEvent("onViewChange",c);scheduler.attachEvent("onXLE",c);scheduler.attachEvent("onEventAdded",c);scheduler.attachEvent("onEventChanged",c);scheduler.attachEvent("onAfterEventDelete",c);c()}; +scheduler._markCalendarCurrentDate=function(a){var b=scheduler._date,c=scheduler._mode,d=scheduler.date.month_start(new Date(a._date)),f=scheduler.date.add(d,1,"month");if(c=="day"||this._props&&this._props[c])d.valueOf()<=b.valueOf()&&f>b&&scheduler.markCalendar(a,b,"dhx_calendar_click");else if(c=="week")for(var e=scheduler.date.week_start(new Date(b.valueOf())),h=0;h<7;h++)d.valueOf()<=e.valueOf()&&f>e&&scheduler.markCalendar(a,e,"dhx_calendar_click"),e=scheduler.date.add(e,1,"day")}; +scheduler.attachEvent("onEventCancel",function(){scheduler.destroyCalendar(null,!0)}); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_multiselect.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_multiselect.js index 432bad25af0..fd8fa20b857 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_multiselect.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_multiselect.js @@ -1,7 +1,7 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ scheduler.form_blocks.multiselect={render:function(d){for(var a="
",b=0;b"+d.options[b].label+"",convertStringToBoolean(d.vertical)&&(a+="
");a+="
";return a},set_value:function(d,a,b,c){function h(b){for(var c=d.getElementsByTagName("input"),a=0;a";o=c[0].offsetWidth;return a}function y(c,a){for(var b=parseInt(c.style.left),d=0;db)return d;return a}function w(c){for(var a="",b=c.firstChild.rows,d=0;d";k=c.firstChild.rows[0].cells[0].offsetHeight}return a}function A(c){var a= -"";if(scheduler._mode=="agenda"){var b=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes;a+=""+g(b[0].innerHTML)+""+g(b[1].innerHTML)+""}else if(scheduler._mode=="year")for(var b=scheduler._els.dhx_cal_data[0].childNodes,d=0;d",a+=q(b[d].childNodes[1].childNodes),a+=w(b[d].childNodes[2]),a+="";else{a+="";b=scheduler._els.dhx_cal_header[0].childNodes;a+=q(b);a+="";var e=scheduler._els.dhx_cal_data[0];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){a+="";for(d=0;d";a+="";k=e.firstChild.rows[0].cells[0].offsetHeight}else if(e.firstChild.tagName=="TABLE")a+=w(e);else{for(e=e.childNodes[e.childNodes.length- -1];e.className.indexOf("dhx_scale_holder")==-1;)e=e.previousSibling;e=e.childNodes;a+="";for(d=0;d";a+="";k=e[0].offsetHeight}}a+="";return a}function r(c,a){return(window.getComputedStyle?window.getComputedStyle(c,null)[a]:c.currentStyle?c.currentStyle[a]:null)||""}function B(){var c="",a=scheduler._rendered;if(scheduler._mode=="agenda")for(var b=0;b"+g(a[b].childNodes[0].innerHTML)+""+ -g(a[b].childNodes[2].innerHTML)+"";else if(scheduler._mode=="year"){a=scheduler.get_visible_events();for(b=0;b";d=scheduler.date.add(d,1,"day"); -if(d.valueOf()>=scheduler._max_date.valueOf())break}}}else for(b=0;b";if(n=="event"){c+="
";var u=p?r(a[b].childNodes[2],"color"):"",v=p?r(a[b].childNodes[2],"backgroundColor"): -"";c+=""}else u=p?r(a[b],"color"):"",v=p?r(a[b],"backgroundColor"):"",c+="";c+=""}return c}function C(){var c="
";return c}var o=0,k=0,p=!1;f=="fullcolor"&&(p=!0,f="color");f=f||"color";html_regexp=RegExp("<[^>]*>","g");var l=(new Date).valueOf(),i=document.createElement("div");i.style.display="none";document.body.appendChild(i); -i.innerHTML='
';document.getElementById(l).firstChild.value=A(f).replace("\u2013","-")+B()+C();document.getElementById(l).submit();i.parentNode.removeChild(i);grid=null}; +scheduler.toPDF=function(A,k,t,u){function g(d){return d.replace(newline_regexp,"\n").replace(html_regexp,"")}function m(d){d=parseFloat(d);return isNaN(d)?"auto":100*d/(q+1)}function x(d){d=parseFloat(d);return isNaN(d)?"auto":100*d/n}function v(d){var a="";if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){if(scheduler.matrix[scheduler._mode].second_scale)var b=d[1].childNodes;d=d[0].childNodes}for(var c=0;c";q=d[0].offsetWidth; +if(b)for(var f=0,e=d[0].offsetWidth,h=1,c=0;c",f+=b[c].offsetWidth,f>=e&&(e+=d[h]?d[h].offsetWidth:0,h++),q=b[0].offsetWidth;return a}function B(d,a){for(var b=parseInt(d.style.left,10),c=0;cb)return c;return a} +function z(d){for(var a="",b=d.firstChild.rows,c=0;c";n=d.firstChild.rows[0].cells[0].offsetHeight}return a}function D(d){var a="";if(scheduler._mode=="week_agenda")for(var c=scheduler._els.dhx_cal_data[0].getElementsByTagName("DIV"),f=0;f"+g(c[f].innerHTML)+"");else if(scheduler._mode=="agenda"||scheduler._mode=="map")c=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes,a+=""+g(c[0].innerHTML)+""+g(c[1].innerHTML)+""; +else if(scheduler._mode=="year"){c=scheduler._els.dhx_cal_data[0].childNodes;for(f=0;f",a+=v(c[f].childNodes[1].childNodes),a+=z(c[f].childNodes[2]),a+=""}else{a+="";c=scheduler._els.dhx_cal_header[0].childNodes;a+=v(c);a+="";var e=scheduler._els.dhx_cal_data[0];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){a+="";for(f=0;f"}a+="";n=e.firstChild.rows[0].cells[0].offsetHeight}else if(e.firstChild.tagName=="TABLE")a+=z(e);else{for(e=e.childNodes[e.childNodes.length-1];e.className.indexOf("dhx_scale_holder")==-1;)e=e.previousSibling;e=e.childNodes;a+="";for(f=0;f";a+="";n=e[0].offsetHeight}}a+="";return a}function l(d,a){return(window.getComputedStyle?window.getComputedStyle(d,null)[a]:d.currentStyle?d.currentStyle[a]:null)|| +""}function E(){var d="",a=scheduler._rendered;if(scheduler._mode=="agenda"||scheduler._mode=="map")for(var b=0;b"+g(a[b].childNodes[0].innerHTML)+""+g(a[b].childNodes[2].innerHTML)+"";else if(scheduler._mode=="week_agenda")for(b=0;b"+g(a[b].innerHTML)+"";else if(scheduler._mode=="year"){a=scheduler.get_visible_events();for(b=0;b";c=scheduler.date.add(c,1,"day");if(c.valueOf()>= +scheduler._max_date.valueOf())break}}}else{var k=scheduler.matrix&&scheduler.matrix[scheduler._mode];if(k&&k.render=="cell"){a=scheduler._els.dhx_cal_data[0].getElementsByTagName("TD");for(b=0;b"}else for(b=0;b";p=="event"?(d+="
",h=j?l(a[b].childNodes[2],"color"):"",o=j?l(a[b].childNodes[2],"backgroundColor"):"",d+=""):(h=j?l(a[b],"color"):"",o=j?l(a[b],"backgroundColor"):"",d+="");d+=""}}}}return d}function F(){var d="
";return d}var q=0,n=0,j=!1;k=="fullcolor"&&(j=!0,k="color");k=k||"color";html_regexp=RegExp("<[^>]*>","g");newline_regexp=RegExp("]*>","g");var p=(new Date).valueOf(),i=document.createElement("div");i.style.display= +"none";document.body.appendChild(i);i.innerHTML='
';document.getElementById(p).firstChild.value=encodeURIComponent(D(k).replace("\u2013","-")+E()+F());document.getElementById(p).submit();i.parentNode.removeChild(i);grid=null}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_readonly.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_readonly.js index 066e5e5a57b..0cb1e926595 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_readonly.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_readonly.js @@ -1,9 +1,9 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -scheduler.attachEvent("onTemplatesReady",function(){function h(d,b,c,f){for(var e=b.getElementsByTagName(d),a=c.getElementsByTagName(d),g=a.length-1;g>=0;g--)if(c=a[g],f){var i=document.createElement("SPAN");i.className="dhx_text_disabled";i.innerHTML=f(e[g]);c.parentNode.insertBefore(i,c);c.parentNode.removeChild(c)}else c.disabled=!0}scheduler.attachEvent("onBeforeLightbox",function(d){if(this.config.readonly_form||this.getEvent(d).readonly)this.config.readonly_active=!0;else return this.config.readonly_active= -!1,!0;for(var b=0;b=0;f--)if(a=g[f],h){var d=document.createElement("SPAN");d.className="dhx_text_disabled";d.innerHTML=h(i[f]);a.parentNode.insertBefore(d,a);a.parentNode.removeChild(a)}else a.disabled=!0}var r=scheduler.config.lightbox.sections,k=null,n=scheduler.config.buttons_left.slice(),o=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 b=0;be)return a.setDate(a.getDate()+b[h]*1-e-(d?c:f));this.transpose_day_week(a,b,c+d,null,c)}; -scheduler.transpose_type=function(a){var b="transpose_"+a;if(!this.date[b]){var c=a.split("_"),d=864E5,f="add_"+a,e=this.transponse_size[c[0]]*c[1];if(c[0]=="day"||c[0]=="week"){var h=null;if(c[4]&&(h=c[4].split(","),scheduler.config.start_on_monday)){for(var j=0;j0&&a.setDate(a.getDate()+c*e);h&&scheduler.transpose_day_week(a,h,1,e)};this.date[f]=function(a,b){var c=new Date(a.valueOf()); +scheduler.showLightbox=function(a){var b=this.locale,c=scheduler.config.lightbox_recurring,d=this.getEvent(a).event_pid,f=a.toString().indexOf("#")!=-1;f&&(d=a.split("#")[0]);if(!d||d==0||!b.labels.confirm_recurring||c=="instance"||c=="series"&&!f)return this.showLightbox_rec(a);var e=function(){d=this.getEvent(d);d._end_date=d.end_date;d.end_date=new Date(d.start_date.valueOf()+d.event_length*1E3);return this.showLightbox_rec(d.id)};if(c=="ask"){var h=this;dhtmlx.modalbox({text:b.labels.confirm_recurring, +title:b.labels.title_confirm_recurring,width:"500px",position:"middle",buttons:[b.labels.button_edit_series,b.labels.button_edit_occurrence,b.labels.icon_cancel],callback:function(b){switch(+b){case 0:return e.call(h);case 1:return h.showLightbox_rec(a)}}})}else e()};scheduler.get_visible_events_rec=scheduler.get_visible_events; +scheduler.get_visible_events=function(a){for(var b=0;be)return a.setDate(a.getDate()+b[h]*1-e-(d?c:f));this.transpose_day_week(a,b,c+d,null,c)}; +scheduler.transpose_type=function(a){var b="transpose_"+a;if(!this.date[b]){var c=a.split("_"),d=864E5,f="add_"+a,e=this.transponse_size[c[0]]*c[1];if(c[0]=="day"||c[0]=="week"){var h=null;if(c[4]&&(h=c[4].split(","),scheduler.config.start_on_monday)){for(var i=0;i0&&a.setDate(a.getDate()+c*e);h&&scheduler.transpose_day_week(a,h,1,e)};this.date[f]=function(a,b){var c=new Date(a.valueOf()); if(h)for(var d=0;d=0&&a.setMonth(a.getMonth()+d*e);c[3]&&scheduler.date.day_week(a,c[2],c[3])},this.date[f]=function(a,b){var d=new Date(a.valueOf());d.setMonth(d.getMonth()+b*e);c[3]&&scheduler.date.day_week(d,c[2],c[3]);return d}}}; -scheduler.repeat_date=function(a,b,c,d,f){var d=d||this._min_date,f=f||this._max_date,e=new Date(a.start_date.valueOf());if(!a.rec_pattern&&a.rec_type)a.rec_pattern=a.rec_type.split("#")[0];this.transpose_type(a.rec_pattern);for(scheduler.date["transpose_"+a.rec_pattern](e,d);e0?new Date(e.valueOf()+a.event_length*1E3-k*6E4):new Date(i.end_date.valueOf()+k*6E4);i._timed=this.is_one_day_event(i);if(!i._timed&&!this._table_view&&!this.config.multi_day)break;b.push(i);c||(this._events[i.id]=i,this._rec_temp.push(i))}e=this.date.add(e,1,a.rec_pattern)}}; -scheduler.getRecDates=function(a,b){var c=typeof a=="object"?a:scheduler.getEvent(a),d=0,f=[],b=b||1E3,e=new Date(c.start_date.valueOf()),h=new Date(e.valueOf());if(!c.rec_type)return[{start_date:c.start_date,end_date:c.end_date}];this.transpose_type(c.rec_pattern);for(scheduler.date["transpose_"+c.rec_pattern](e,h);e0?new Date(d.valueOf()+c.event_length*1E3-e*6E4):new Date(b.valueOf()-e*6E4):new Date(f.valueOf())}; +scheduler.getRecDates=function(a,b){var c=typeof a=="object"?a:scheduler.getEvent(a),d=0,f=[],b=b||100,e=new Date(c.start_date.valueOf()),h=new Date(e.valueOf());if(!c.rec_type)return[{start_date:c.start_date,end_date:c.end_date}];if(c.rec_type=="none")return[];this.transpose_type(c.rec_pattern);for(scheduler.date["transpose_"+c.rec_pattern](e,h);ea)if(f.rec_pattern){if(f.rec_pattern!="none"){var e=[];this.repeat_date(f,e,!0,a,b);for(var h=0;ha&&!this._rec_markers[e[h].id]&&c.push(e[h])}}else f.id.toString().indexOf("#")==-1&&c.push(f)}return c};scheduler.config.repeat_date="%m.%d.%Y"; -scheduler.config.lightbox.sections=[{name:"description",height:130,map_to:"text",type:"textarea",focus:!0},{name:"recurring",type:"recurring",map_to:"rec_type",button:"recurring"},{name:"time",height:72,type:"time",map_to:"auto"}];scheduler._copy_dummy=function(){this.start_date=new Date(this.start_date);this.end_date=new Date(this.end_date);this.event_length=this.event_pid=this.rec_pattern=this.rec_type=this._timed=null}; -scheduler.__recurring_template='








day everymonth
everymonth

occurrences

'; +scheduler.config.lightbox.sections=[{name:"description",height:130,map_to:"text",type:"textarea",focus:!0},{name:"recurring",type:"recurring",map_to:"rec_type",button:"recurring"},{name:"time",height:72,type:"time",map_to:"auto"}];scheduler._copy_dummy=function(){var a=new Date(this.start_date),b=new Date(this.end_date);this.start_date=a;this.end_date=b;this.event_length=this.event_pid=this.rec_pattern=this.rec_type=null};scheduler.config.include_end_by=!1;scheduler.config.lightbox_recurring="ask"; +scheduler.__recurring_template='



day everymonth
everymonth

occurrences

'; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_serialize.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_serialize.js index fd3b34913bb..dafc552292a 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_serialize.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_serialize.js @@ -1,8 +1,9 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -scheduler.data_attributes=function(){var f=[],d=scheduler.templates.xml_format,c;for(c in this._events){var e=this._events[c],a;for(a in e)a.substr(0,1)!="_"&&f.push([a,a=="start_date"||a=="end_date"?d:null]);break}return f}; -scheduler.toXML=function(f){var d=[],c=this.data_attributes(),e;for(e in this._events){var a=this._events[e];if(a.id.toString().indexOf("#")==-1){d.push("");for(var b=0;b");d.push("")}}return(f||"")+""+d.join("\n")+""}; -scheduler.toJSON=function(){var f=[],d=this.data_attributes(),c;for(c in this._events){var e=this._events[c];if(e.id.toString().indexOf("#")==-1){for(var e=this._events[c],a=[],b=0;b");for(var a=0;a");c.push("")}}return(g||"")+""+c.join("\n")+""}; +scheduler.toJSON=function(){var g=[],c=this.data_attributes(),b;for(b in this._events){var e=this._events[b];if(e.id.toString().indexOf("#")==-1){for(var e=this._events[b],d=[],a=0;a=this._trace_x[d+1];)d++;for(;this._trace_x[d]&&a[c].end_date>this._trace_x[d];)b[f][d]||(b[f][d]=[]),b[f][d].push(a[c]),d++}return b}function v(a,b,c){var f=0,d=b?a.end_date:a.start_date;if(d.valueOf()>scheduler._max_date.valueOf())d=scheduler._max_date;var i=d-scheduler._min_date_timeline; -if(i<0)k=0;else{var g=Math.round(i/(c*scheduler._cols[0]));if(g>scheduler._cols.length)g=scheduler._cols.length;for(var e=0;ed.start_date?1:-1});for(var l=[],d=0;dm.start_date;)n++;l[n]=m;o+=scheduler.render_timeline_event.call(this,m,n)}}if(this.fit_events){var w=this._events_height[this.y_unit[e].key]||0;h.height=w>h.height?w:h.height;h.style_height="height:"+ -h.height+"px;"}b+=""+h.td_content+"";if(this.render=="cell")for(d=0;d
"+scheduler.templates[this.name+"_cell_value"](c[e][d])+ -"
";else{b+="
";b+=o;b+="";for(d=0;d
"; -b+="
";b+="
"}b+=""}b+="";this._matrix=c;a.innerHTML=b;scheduler._rendered=[];for(var q=document.getElementsByTagName("DIV"),e=0;e";if(this.second_scale){for(var j=this.second_scale.x_unit,k=[this._trace_x[0]],h=[],o=[this.dx,this.dx],l=0,m=0;m
";var p=a.firstChild;p.style.height=c+"px";var v=a.lastChild;v.style.position="relative";for(var r=0;rd.start_date?1:-1});if(scheduler._tooltip){if(scheduler._tooltip.date== -f)return;scheduler._tooltip.innerHTML=""}else{var i=scheduler._tooltip=document.createElement("DIV");i.className="dhx_tooltip";document.body.appendChild(i);i.onclick=scheduler._click.dhx_cal_data}for(var g="",e=0;e";g+="
"+(d[e]._timed?scheduler.templates.event_date(d[e].start_date): -"")+"
";g+="
 
";g+=scheduler.templates[a.name+"_tooltip"](d[e].start_date,d[e].end_date,d[e])+""}scheduler._tooltip.style.display="";scheduler._tooltip.style.top="0px";scheduler._tooltip.style.left=document.body.offsetWidth-c.left-scheduler._tooltip.offsetWidth<0?c.left-scheduler._tooltip.offsetWidth+"px":c.left+b.src.offsetWidth+"px";scheduler._tooltip.date=f;scheduler._tooltip.innerHTML=g;scheduler._tooltip.style.top=document.body.offsetHeight- -c.top-scheduler._tooltip.offsetHeight<0?c.top-scheduler._tooltip.offsetHeight+b.src.offsetHeight+"px":c.top+"px"}}function t(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(a){var b=scheduler.matrix[scheduler._mode];if(b){var c=scheduler._locate_cell_timeline(a),a=a||event,f=a.target||a.srcElement;if(c)return F(b,c,getOffset(c.src))}u()});t=function(){}}function G(a){for(var b=a.parentNode.childNodes,c=0;cb.x)break;for(g=0;jb.y)break;b.fields={};a.y_unit[j]||(j=a.y_unit.length-1);b.fields[a.y_property]=c[a.y_property]=a.y_unit[j].key;b.x=0;this._drag_mode=="new-size"&&c.start_date*1==this._drag_start*1&&e++;var k=e>=a._trace_x.length?scheduler.date.add(a._trace_x[a._trace_x.length-1],a.x_step,a.x_unit):a._trace_x[e];b.y=Math.round((k-this._min_date)/(6E4*this.config.time_step));b.custom=!0;b.shift=f;return b}}};scheduler.render_timeline_event=function(a,b,c){var f=v(a,!1,this._step),d=v(a,!0, -this._step),i=scheduler.xy.bar_height,g=2+b*i,e=i+g-2,j=a[this.y_property];if(!this._events_height[j]||this._events_height[j]'+scheduler.templates.event_bar_text(a.start_date, -a.end_date,a)+"";if(c){var m=document.createElement("DIV");m.innerHTML=l;var n=this.order[j],p=scheduler._els.dhx_cal_data[0].firstChild.rows[n].cells[1].firstChild;scheduler._rendered.push(m.firstChild);p.appendChild(m.firstChild)}else return l};scheduler.renderMatrix=function(a){scheduler._els.dhx_cal_data[0].scrollTop=0;var b=scheduler.date[this.name+"_start"](scheduler._date);scheduler._min_date=scheduler.date.add(b,this.x_start*this.x_step,this.x_unit);scheduler._max_date=scheduler.date.add(scheduler._min_date, -this.x_size*this.x_step,this.x_unit);scheduler._table_view=!0;if(this.second_scale){if(a&&!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(!a&&this._header_resized){scheduler.xy.scale_height/=2;this._header_resized=!1;var c=scheduler._els.dhx_cal_header[0];c.className=c.className.replace(/ dhx_second_cal_header/gi,"")}}p.call(this,a)};scheduler._locate_cell_timeline=function(a){for(var a= -a||event,b=a.target?a.target:a.srcElement;b&&b.tagName!="TD";)b=b.parentNode;if(b&&b.tagName=="TD"){var c=b.className.split(" ")[0];if(c=="dhx_matrix_cell")if(scheduler._isRender("cell"))return{x:b.cellIndex-1,y:b.parentNode.rowIndex,src:b};else{for(var f=b.parentNode;f&&f.tagName!="TD";)f=f.parentNode;return{x:b.cellIndex,y:f.parentNode.rowIndex,src:b}}else if(c=="dhx_matrix_scell")return{x:-1,y:b.parentNode.rowIndex,src:b,scale:!0}}return!1};var H=scheduler._click.dhx_cal_data;scheduler._click.dhx_cal_data= -function(a){var b=H.apply(this,arguments),c=scheduler.matrix[scheduler._mode];if(c){var f=scheduler._locate_cell_timeline(a);f&&(f.scale?scheduler.callEvent("onYScaleClick",[f.y,c.y_unit[f.y],a||event]):scheduler.callEvent("onCellClick",[f.x,f.y,c._trace_x[f.x],(c._matrix[f.y]||{})[f.x]||[],a||event]))}return b};scheduler.dblclick_dhx_matrix_cell=function(a){var b=scheduler.matrix[scheduler._mode];if(b){var c=scheduler._locate_cell_timeline(a);c&&(c.scale?scheduler.callEvent("onYScaleDblClick",[c.y, -b.y_unit[c.y],a||event]):scheduler.callEvent("onCellDblClick",[c.x,c.y,b._trace_x[c.x],(b._matrix[c.y]||{})[c.x]||[],a||event]))}};scheduler.dblclick_dhx_matrix_scell=function(a){return scheduler.dblclick_dhx_matrix_cell(a)};scheduler._isRender=function(a){return scheduler.matrix[scheduler._mode]&&scheduler.matrix[scheduler._mode].render==a};scheduler.attachEvent("onCellDblClick",function(a,b,c,f,d){if(!(this.config.readonly||d.type=="dblclick"&&!this.config.dblclick_create)){var i=scheduler.matrix[scheduler._mode], -g={};g.start_date=i._trace_x[a];g.end_date=i._trace_x[a+1]?i._trace_x[a+1]:scheduler.date.add(i._trace_x[a],i.x_step,i.x_unit);g[scheduler.matrix[scheduler._mode].y_property]=i.y_unit[b].key;scheduler.addEventNow(g,null,d)}});scheduler.attachEvent("onBeforeDrag",function(){return scheduler._isRender("cell")?!1:!0})})(); +(function(){function E(){for(var a=scheduler.get_visible_events(),c=[],b=0;b=this._trace_x[f+1];)f++;for(;this._trace_x[f]&&a[b].end_date>this._trace_x[f];)c[e][f]||(c[e][f]=[]),c[e][f].push(a[b]),f++}return c}function t(a,c,b){var e=0,f=c?a.end_date:a.start_date;if(f.valueOf()>scheduler._max_date.valueOf())f=scheduler._max_date;var g=f-scheduler._min_date_timeline; +if(g<0)k=0;else{var i=Math.round(g/(b*scheduler._cols[0]));if(i>scheduler._cols.length)i=scheduler._cols.length;for(var d=0;db.id?1:-1:a.start_date>b.start_date? +1:-1});for(var b=[],e=a.length,f=0;fh)h=b[m]._sorder;g._sorder=h+1;g._inner=!1}else g._sorder=0;b.push(g);b.length>(b.max_count||0)?(b.max_count=b.length,g._count=b.length):g._count=g._count?g._count:1}for(var n=0;nh.height?m:h.height;h.style_height="height:"+h.height+"px;";this._section_height[this.y_unit[d].key]=h.height}c+= +""+h.td_content+"";if(this.render=="cell")for(f=0;f
"+scheduler.templates[this.name+"_cell_value"](b[d][f])+"
"; +else{c+="
";c+=l;c+="";for(f=0;f
";c+="
"; +c+="
"}c+=""}c+="";this._matrix=b;a.innerHTML=c;scheduler._rendered=[];for(var n=scheduler._obj.getElementsByTagName("DIV"),d=0;d";if(this.second_scale){for(var j=this.second_scale.x_unit,k=[this._trace_x[0]],h=[],l=[this.dx,this.dx],m=0,n=0;n
";var u=a.firstChild;u.style.height=b+"px";var s=a.lastChild;s.style.position="relative";for(var v=0;vb.start_date?1:-1});if(scheduler._tooltip){if(scheduler._tooltip.date==e)return;scheduler._tooltip.innerHTML=""}else{var g=scheduler._tooltip=document.createElement("DIV");g.className="dhx_tooltip";document.body.appendChild(g);g.onclick=scheduler._click.dhx_cal_data}for(var i="",d=0;d";i+="
"+(f[d]._timed?scheduler.templates.event_date(f[d].start_date):"")+"
";i+="
 
";i+=scheduler.templates[a.name+"_tooltip"](f[d].start_date,f[d].end_date,f[d])+""}scheduler._tooltip.style.display="";scheduler._tooltip.style.top="0px";scheduler._tooltip.style.left= +document.body.offsetWidth-b.left-scheduler._tooltip.offsetWidth<0?b.left-scheduler._tooltip.offsetWidth+"px":b.left+c.src.offsetWidth+"px";scheduler._tooltip.date=e;scheduler._tooltip.innerHTML=i;scheduler._tooltip.style.top=document.body.offsetHeight-b.top-scheduler._tooltip.offsetHeight<0?b.top-scheduler._tooltip.offsetHeight+c.src.offsetHeight+"px":b.top+"px"}}function C(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(a){var c=scheduler.matrix[scheduler._mode];if(c&&c.render== +"cell"){if(c){var b=scheduler._locate_cell_timeline(a),a=a||event,e=a.target||a.srcElement;if(b)return J(c,b,getOffset(b.src))}D()}});C=function(){}}function K(a){for(var c=a.parentNode.childNodes,b=0;bb.x){var h=(b.x-(e-k))/k,h=h<0?0:h;break}}for(e=0;j< +this._colsS.heights.length;j++)if(e+=this._colsS.heights[j],e>b.y)break;b.fields={};a.y_unit[j]||(j=a.y_unit.length-1);if(j>=0&&a.y_unit[j]&&(b.section=b.fields[a.y_property]=a.y_unit[j].key,c))c[a.y_property]=b.section;b.x=0;var l;if(d>=a._trace_x.length)l=scheduler.date.add(a._trace_x[a._trace_x.length-1],a.x_step,a.x_unit);else{var m=a._trace_x[d+1]?a._trace_x[d+1]:scheduler.date.add(a._trace_x[a._trace_x.length-1],a.x_step,a.x_unit),n=Math.ceil(h*(m-a._trace_x[d]));l=new Date(+a._trace_x[d]+n)}if(this._drag_mode== +"move"&&this._drag_id&&this._drag_event){var c=this.getEvent(this._drag_id),o=this._drag_event;if(!o._move_delta)o._move_delta=(c.start_date-l)/6E4;l=scheduler.date.add(l,o._move_delta,"minute")}if(this._drag_mode=="resize"&&c)b.resize_from_start=!!(Math.abs(c.start_date-l)';if(scheduler.config.drag_resize){var p="dhx_event_resize";o+="
"}o+=n+"";if(c){var r=document.createElement("DIV");r.innerHTML=o;var u=this.order[b],s=scheduler._els.dhx_cal_data[0].firstChild.rows[u].cells[1].firstChild;scheduler._rendered.push(r.firstChild);s.appendChild(r.firstChild)}else return o};scheduler.renderMatrix=function(a,c){if(!c)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;if(this.second_scale){if(a&&!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(!a&&this._header_resized){scheduler.xy.scale_height/=2;this._header_resized=!1;var b=scheduler._els.dhx_cal_header[0];b.className=b.className.replace(/ dhx_second_cal_header/gi,"")}}I.call(this,a)};scheduler._locate_cell_timeline=function(a){for(var a= +a||event,c=a.target?a.target:a.srcElement,b={},e=scheduler.matrix[scheduler._mode],f=scheduler.getActionData(a),g=0;g6){var m=new Date(a.days);scheduler.date.date_part(new Date(k))<=+m&&+h>=+m&&l.push(m)}else l.push.apply(l,scheduler._get_dates_by_index(a.days));for(var n=a.zones,o=scheduler._get_css_classes_by_config(a), +p=0;px){var q=scheduler._get_block_by_config(a);q.className=o;var y=t({start_date:x},!1,e._step)-1,A=t({start_date:w},!1,e._step)-1,B=A-y-1,C=e._section_height[b]-1;q.style.cssText="height: "+C+"px; left: "+y+"px; width: "+B+"px; top: 0;";c.insertBefore(q,c.firstChild);f.push(q)}}return f}}else return M.apply(scheduler, +[a,c,b])};var N=scheduler._append_mark_now;scheduler._append_mark_now=function(a){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var c=new Date,b=scheduler._get_zone_minutes(c),e={days:+scheduler.date.date_part(c),zones:[b,b+1],css:"dhx_matrix_now_time",type:"dhx_now_time"};return scheduler._render_marked_timespan(e)}else return N.apply(scheduler,[a])};scheduler.attachEvent("onViewChange",function(a,c){scheduler.matrix&&scheduler.matrix[c]&&scheduler.markNow&&scheduler.markNow()});scheduler.attachEvent("onScaleAdd", +function(a,c){var b=scheduler._marked_timespans;if(b&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var e=scheduler._mode,f=scheduler._min_date,g=scheduler._max_date,i=b.global,d=scheduler.date.date_part(new Date(f));dEvent: "+c.text+"
Start date: "+scheduler.templates.tooltip_date_format(b)+"
End date: "+scheduler.templates.tooltip_date_format(d)}; +dhtmlXTooltip.show=function(b,d){var c=dhtmlXTooltip,f=this.tooltip,a=f.style;c.tooltip.className=c.config.className;var e=this.position(b),g=b.target||b.srcElement;if(!this.isTooltip(g)){var h=0,l=0,i=scheduler._obj;if(i.offsetParent){do h+=i.offsetLeft,l+=i.offsetTop;while(i=i.offsetParent)}var j=e.x+(c.config.delta_x||0)-h,k=e.y-(c.config.delta_y||0)-l;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=d;scheduler._obj.appendChild(this.tooltip);var n=this.tooltip.offsetWidth,o=this.tooltip.offsetHeight,m=scheduler._obj.parentNode.scrollLeft||0,p=Math.min(scheduler._obj.offsetWidth,scheduler._obj.parentNode.offsetWidth);p-j-(scheduler.xy.margin_left||0)-n<0?(a.removeAttribute?a.removeAttribute("left"):a.removeProperty("left"),a.right=scheduler._obj.offsetWidth-m-j+2*(c.config.delta_x||0)+"px"):a.left=j<0?e.x+Math.abs(c.config.delta_x||0)+"px":j+m+"px"; +scheduler._obj.offsetHeight-k-(scheduler.xy.margin_top||0)-o<0?(a.removeAttribute?a.removeAttribute("top"):a.removeProperty("top"),a.bottom=scheduler._obj.offsetHeight-k-2*(c.config.delta_y||0)+"px"):a.top=k<0?e.y+Math.abs(c.config.delta_y||0)+"px":k+"px";a.visibility="visible"}};dhtmlXTooltip.hide=function(){this.tooltip.parentNode&&this.tooltip.parentNode.removeChild(this.tooltip)}; +dhtmlXTooltip.delay=function(b,d,c,f){this.tooltip._timeout_id&&window.clearTimeout(this.tooltip._timeout_id);this.tooltip._timeout_id=setTimeout(function(){var a=b.apply(d,c);b=d=c=null;return a},f||this.config.timeout_to_display)};dhtmlXTooltip.isTooltip=function(b){for(var d=!1;b&&!d;)d=b.className==this.tooltip.className,b=b.parentNode;return d}; +dhtmlXTooltip.position=function(b){b=b||window.event;if(b.pageX||b.pageY)return{x:b.pageX,y:b.pageY};var d=window._isIE&&document.compatMode!="BackCompat"?document.documentElement:document.body;return{x:b.clientX+d.scrollLeft-d.clientLeft,y:b.clientY+d.scrollTop-d.clientTop}}; +scheduler.attachEvent("onMouseMove",function(b,d){var c=window.event||d,f=c.target||c.srcElement,a=dhtmlXTooltip;if(b||a.isTooltip(f)){var e=scheduler.getEvent(b)||scheduler.getEvent(a.tooltip.event_id);if(e){a.tooltip.event_id=e.id;var g=scheduler.templates.tooltip_text(e.start_date,e.end_date,e);if(!g)return a.hide();var h=void 0;_isIE&&(h=document.createEventObject(c));scheduler.callEvent("onBeforeTooltip",[b,e])&&g&&a.delay(a.show,a,[h||c,g])}}else a.delay(a.hide,a,[])}); +scheduler.attachEvent("onBeforeDrag",function(){dhtmlXTooltip.hide();return!0});scheduler.attachEvent("onEventDeleted",function(){dhtmlXTooltip.hide();return!0});scheduler.templates.tooltip_date_format=scheduler.date.date_to_str("%Y-%m-%d %H:%i");scheduler.templates.tooltip_text=function(b,d,c){return"Event: "+c.text+"
Start date: "+scheduler.templates.tooltip_date_format(b)+"
End date: "+scheduler.templates.tooltip_date_format(d)}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.css b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.css deleted file mode 100644 index 212423da5d1..00000000000 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.css +++ /dev/null @@ -1,5 +0,0 @@ -/* -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details -*/ -.dhx_cal_prev_button,.dhx_cal_next_button,.dhx_cal_today_button,.dhx_cal_add_button{top:6px!important;left:10px;border:1px solid #575D65;border-top:1px solid #4E5052;color:#FFF;text-shadow:0 -1px 0 #65696E;background-image:-webkit-gradient(linear,left top,left bottom,from(#B2B6BC),to(#6B737E));background-color:#989B9F;background-position:0 1px;background-repeat:repeat-x;-webkit-border-radius:5px;padding:3px;text-align:center;text-decoration:none;}.dhx_cal_today_button{left:55px;}.dhx_cal_next_button{left:146px;}.dhx_cal_add_button{right:9px;left:auto;width:20px;font-size:20px;padding:1px 2px 2px 2px;}.dhx_cal_navline .dhx_cal_date{top:7px;left:160px;right:350px;padding-top:4px;width:auto;text-align:center;color:#4F5459;}.dhx_cal_navline{background:-webkit-gradient(linear,0% 0,0% 100%,color-stop(0,#F4F5F8),color-stop(0.3,#F1F2F4),color-stop(0.7,#C4C7D0),color-stop(1,#A6AAB7));border-bottom:1px solid #797F90;height:40px!important;font-family:Helvetica;font-weight:bold;font-size:13px;}.dhx_cal_tab{top:6px!important;color:#4F5459;text-align:center;padding:5px 10px;width:80px;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#F7F7F7),to(#B9BDC7));background-color:#CFD0D1;background-position:0 1px;background-repeat:repeat-x;text-decoration:none;border:1px solid #95989F;border-top:1px solid #686A6A;height:16px;}.dhx_cal_tab.active{background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#B0B2B6),to(#666D74));background-color:#949799;background-position:0 1px;background-repeat:repeat-x;border:1px solid #4C4D4F;border-top:1px solid #52585C;color:#F8F8F8;text-shadow:0 -1px 0 #5E6063;text-decoration:none;height:16px;padding:5px 10px;z-index:100;}.dhx_cal_light{-webkit-transition:-webkit-transform;-webkit-transform-style:preserve-3d;}.dhx_cal_cover{opacity:.5;}.dhx_cal_ltext{padding-top:0;padding-bottom:0;}.dhx_cal_ltext textarea{-webkit-background-size:0;-webkit-border-radius:0;height:94%;}.dhx_mini_calendar .dhx_month_head{height:35px;line-height:35px;text-align:center;padding-right:0;padding-left:0;}.dhx_mini_calendar .dhx_year_month{height:35px;line-height:30px;background:-webkit-gradient(linear,0% 0,0% 100%,from(#F4F5F8),to(#8A8E9A));font-family:Helvetica;font-weight:bold;font-size:13px;}.dhx_mini_calendar .dhx_year_month .dhx_cal_prev_button,.dhx_mini_calendar .dhx_year_month .dhx_cal_next_button{line-height:normal;} \ No newline at end of file diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.js deleted file mode 100644 index 70b4abeda7c..00000000000 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_touch.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details -*/ -TouchScroll=function(a,b,c,e){this.debug=!!b;this.compat=!!e;this.rough=!!c;this.axisX=this.axisY=!0;typeof a!="object"&&(a=document.getElementById(a));this._init();a.addEventListener("touchstart",this,!1);a.addEventListener("webkitTransitionEnd",this,!1);this.debug&&a.addEventListener("mousedown",this,!1);this.node=a;for(var d=0;d50)this.scroll_x=!0;if(Math.abs(e)>50)this.scroll_y=!0;if(this.scroll_x|| -this.scroll_y){this.x=b.pageX;this.y=b.pageY;this.scroll=!0;var d=this.get_matrix();c+=this.target_x-d.e;e+=this.target_y-d.f;var f="2000ms",g="500ms";this.target_x=c+d.e;this.target_y=e+d.f;if(this.target_x>0)this.target_x=0,f=g;if(this.target_y>0)this.target_y=0,f=g;if(this.mx-this.dx+this.target_x<0)this.target_x=-this.mx+this.dx,f=g;if(this.my-this.dy+this.target_y<0)this.target_y=-this.my+this.dy,f=g;this.set_matrix({e:this.target_x,f:this.target_y},f);this._add_scroll(d.e,d.f);this._correct_scroll(this.target_x, -this.target_y,f);this.onscroll(this.target_x,this.target_y)}return!1}}},_correct_scroll:function(a,b,c){if(this.scrolls.x){var e=this.get_matrix(this.scrolls.x),d=this.dx*a/this.mx;this.set_matrix({e:-1*d,f:0},c,this.scrolls.x)}if(this.scrolls.y){var e=this.get_matrix(this.scrolls.y),f=this.dy*b/this.my;this.set_matrix({e:0,f:-1*f},c,this.scrolls.y)}},_remove_scroll:function(){this.scrolls.x&&this.scrolls.x.parentNode.removeChild(this.scrolls.x);this.scrolls.y&&this.scrolls.y.parentNode.removeChild(this.scrolls.y); -this.scrolls={}},_add_scroll:function(){if(!this.scrolls.ready){var a;if(this.my>5&&this.axisY){var b=this.dy*this.dy/this.my-1;this.scrolls.y=a=document.createElement("DIV");a.className="dhx_scroll_y";a.style.height=b+"px";this.node.appendChild(a)}if(this.mx>5&&this.axisX)b=this.dx*this.dx/this.mx,this.scrolls.x=a=document.createElement("DIV"),a.className="dhx_scroll_x",a.style.width=b+"px",this.node.appendChild(a);var c=this.get_matrix();this._correct_scroll(c.e,c.f,0);this.scrolls.ready=!0}},_init_events:function(){document.addEventListener("touchmove", -this,!1);document.addEventListener("touchend",this,!1);this.debug&&(document.addEventListener("mousemove",this,!1),document.addEventListener("mouseup",this,!1))},_deinit_events:function(){document.removeEventListener("touchmove",this,!1);document.removeEventListener("touchend",this,!1);this.debug&&(document.removeEventListener("mousemove",this,!1),document.removeEventListener("mouseup",this,!1))},_init:function(){document.styleSheets[0].insertRule(".dhx_scroll_x { width:50px;height:4px;background:rgba(0, 0, 0, 0.4);position:absolute; left:0px; bottom:3px; border:1px solid transparent; -webkit-border-radius:4px;-webkit-transition: -webkit-transform;}", -0);document.styleSheets[0].insertRule(".dhx_scroll_y { width:4px;height:50px;background:rgba(0, 0, 0, 0.4);position:absolute; top:0px; right:3px; border:1px solid transparent; -webkit-border-radius:4px;-webkit-transition: -webkit-transform;}",0);this._init=function(){}}}; -scheduler._ipad_before_init=function(){scheduler._ipad_before_init=function(){};scheduler.xy.scroll_width=0;for(var a=scheduler._els.dhx_cal_tab,b=42,c=a.length-1;c>=0;c--)a[c].style.cssText+="top:4px;",a[c].style.left="auto",a[c].style.right=b+"px",c==0&&(a[c].style.cssText+=";-webkit-border-top-left-radius: 5px; -webkit-border-bottom-left-radius: 5px;"),c==a.length-1&&(a[c].style.cssText+=";-webkit-border-top-right-radius: 5px; -webkit-border-bottom-right-radius: 5px;"),b+=100;scheduler._els.dhx_cal_prev_button[0].innerHTML= -"<";scheduler._els.dhx_cal_next_button[0].innerHTML=">";var e=document.createElement("div");e.className="dhx_cal_add_button";e.innerHTML="+ ";e.onclick=function(){var a=new Date;a>scheduler._min_date&&a50||c>50)d=window.clearTimeout(d)}scheduler.config.touch_actions&&scheduler._on_mouse_move(a.touches[0])};this._obj.ontouchstart=function(a){scheduler._lightbox_id||(d=window.setTimeout(function(){scheduler._on_dbl_click(a.touches[0],a.target.className?a.target:a.target.parentNode)},400),f=[a.touches[0].pageX,a.touches[0].pageY],scheduler.config.touch_actions&&scheduler._on_mouse_down(a.touches[0]))};this._obj.ontouchend=function(a){d&&(d=window.clearTimeout(d)); -scheduler.config.touch_actions&&scheduler._on_mouse_up(a.touches[0])}}; -scheduler._ipad_init=function(){var a=document.createElement("DIV"),b=scheduler._els.dhx_cal_data[0];a.appendChild(b);a.style.cssText="overflow:hidden; width:100%; overflow:hidden;position:relative;";this._obj.appendChild(a);b.style.overflowY="hidden";var c=new TouchScroll(a);c.axisX=!1;scheduler._ipad_init=function(){b.parentNode.style.height=b.style.height;b.parentNode.style.top=b.style.top;b.style.height=b.scrollHeight+"px";b.style.top="0px";Math.abs(b.parentNode.offsetHeight-b.offsetHeight)<5? -(c.axisY=!1,c.scrollTo(0,0,0)):c.axisY=!0;c.refresh()};scheduler.attachEvent("onSchedulerResize",function(){setTimeout(function(){scheduler._ipad_init()});return!0});scheduler._ipad_init()};scheduler.attachEvent("onViewChange",function(){scheduler._ipad_init()});scheduler.attachEvent("onBeforeViewChange",function(){scheduler._ipad_before_init();return!0}); -scheduler.showCover=function(a){this.show_cover();if(a){a.style.display="block";var b=getOffset(this._obj);a.style.top=a.offsetHeight*-1+"px";a.style.left=Math.round(b.left+(this._obj.offsetWidth-a.offsetWidth)/2)+"px"}var c=this._get_lightbox(),e=c.addEventListener("webkitTransitionEnd",function(){c.style.top="41px";c.style.webkitTransform="";c.style.webkitTransition="";c.removeEventListener(e)},!1);c.style.webkitTransform="translate(0px,"+(a.offsetHeight+41)+"px)";c.style.webkitTransitionDuration= -"500ms"};scheduler.hideCover=function(a){if(a){var b=a.addEventListener("webkitTransitionEnd",function(){a.style.top=(a.offsetHeight+41)*-1+"px";a.style.webkitTransform="";a.style.webkitTransition="";a.removeEventListener(b)},!1);a.style.webkitTransform="translate(0px,"+(a.offsetHeight+41)*-1+"px)";a.style.webkitTransitionDuration="500ms"}this.hide_cover()};scheduler.config.lightbox.sections[0].height=100; -if(scheduler.form_blocks.calendar_time)scheduler.config.lightbox.sections[1].type="calendar_time",scheduler._mini_cal_arrows=["<",">"];scheduler.xy.menu_width=0;scheduler.attachEvent("onClick",function(){return!1});scheduler.locale.labels.new_event=""; -scheduler._mouse_coords=function(a){var b,c=document.body,e=document.documentElement;b=a.pageX||a.pageY?{x:a.pageX,y:a.pageY}:{x:a.clientX+(c.scrollLeft||e.scrollLeft||0)-c.clientLeft,y:a.clientY+(c.scrollTop||e.scrollTop||0)-c.clientTop};b.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width);var d=b.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+this._dy_shift+this.xy.scale_height-(this._els.dhx_cal_data[0]._scrollTop||0);if(this._table_view){for(var f=0,f=1;f -b.y)break;b.y=(Math.max(0,Math.ceil(b.x/this._cols[0])-1)+Math.max(0,f-1)*7)*1440/this.config.time_step;b.x=0}else b.x=Math.max(0,Math.ceil(b.x/this._cols[0])-1),b.y=Math.max(0,Math.ceil(b.y*60/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step);return b}; diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_treetimeline.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_treetimeline.js index c131cb1eb13..986ce0fa3e3 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_treetimeline.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_treetimeline.js @@ -1,19 +1,19 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ -scheduler.attachEvent("onTimelineCreated",function(a){if(a.render=="tree")a.y_unit_original=a.y_unit,a.y_unit=scheduler._getArrayToDisplay(a.y_unit_original),scheduler.attachEvent("onOptionsLoadStart",function(){a.y_unit=scheduler._getArrayToDisplay(a.y_unit_original)}),scheduler.form_blocks[a.name]={render:function(b){var c="
";return c},set_value:function(b,c,g,e){var d=scheduler._getArrayForSelect(scheduler.matrix[e.type].y_unit_original, -e.type);b.innerHTML="";var a=document.createElement("select");b.appendChild(a);for(var i=b.getElementsByTagName("select")[0],j=0;j",h=c.folder_events_available?"dhx_data_table folder_events":"dhx_data_table folder"):(e=c.dy,d="dhx_row_item",i="dhx_matrix_scell item",j="",h="dhx_data_table");td_content="
"+j+"
"+(scheduler.templates[c.name+"_scale_label"](b.key,b.label,b)||b.label)+"
";g={height:e,style_height:f,tr_className:d,td_className:i,td_content:td_content,table_className:h}}return g});var section_id_before; -scheduler.attachEvent("onBeforeEventChanged",function(a,b,c){if(scheduler._isRender("tree")){var g=scheduler.getSection(a[scheduler.matrix[scheduler._mode].y_property]);if(typeof g.children!="undefined"&&!scheduler.matrix[scheduler._mode].folder_events_available)return c||(a[scheduler.matrix[scheduler._mode].y_property]=section_id_before),!1}return!0}); -scheduler.attachEvent("onBeforeDrag",function(a,b,c){var g=scheduler._locate_cell_timeline(c);if(g){var e=scheduler.matrix[scheduler._mode].y_unit[g.y].key;if(typeof scheduler.matrix[scheduler._mode].y_unit[g.y].children!="undefined"&&!scheduler.matrix[scheduler._mode].folder_events_available)return!1}scheduler._isRender("tree")&&(ev=scheduler.getEvent(a),section_id_before=e||ev[scheduler.matrix[scheduler._mode].y_property]);return!0}); -scheduler._getArrayToDisplay=function(a){var b=[],c=function(a,e){for(var d=e||0,f=0;f";return c},set_value:function(b,c,e,f){var d=scheduler._getArrayForSelect(scheduler.matrix[f.type].y_unit_original, +f.type);b.innerHTML="";var a=document.createElement("select");b.appendChild(a);for(var h=b.getElementsByTagName("select")[0],i=0;i",g=c.folder_events_available?"dhx_data_table folder_events":"dhx_data_table folder"):(f=c.dy,d="dhx_row_item",h="dhx_matrix_scell item",i="",g="dhx_data_table");td_content="
"+i+"
"+(scheduler.templates[c.name+"_scale_label"](b.key,b.label,b)||b.label)+"
";e={height:f,style_height:j,tr_className:d,td_className:h,td_content:td_content,table_className:g}}return e});var section_id_before; +scheduler.attachEvent("onBeforeEventChanged",function(a,b,c){if(scheduler._isRender("tree")){var e=scheduler.getSection(a[scheduler.matrix[scheduler._mode].y_property]);if(e&&typeof e.children!="undefined"&&!scheduler.matrix[scheduler._mode].folder_events_available)return c||(a[scheduler.matrix[scheduler._mode].y_property]=section_id_before),!1}return!0}); +scheduler.attachEvent("onBeforeDrag",function(a,b,c){if(scheduler._isRender("tree")){var e=scheduler._locate_cell_timeline(c);if(e){var f=scheduler.matrix[scheduler._mode].y_unit[e.y].key;if(typeof scheduler.matrix[scheduler._mode].y_unit[e.y].children!="undefined"&&!scheduler.matrix[scheduler._mode].folder_events_available)return!1}var d=scheduler.getEvent(a);section_id_before=f||d[scheduler.matrix[scheduler._mode].y_property]}return!0}); +scheduler._getArrayToDisplay=function(a){var b=[],c=function(e,f){for(var d=f||0,a=0;ascheduler._props[a].options.length)scheduler._props[a]._original_size=g,g=0;scheduler._props[a].size=g;scheduler._props[a].skip_incorrect=l||!1;scheduler.date[a+"_start"]=scheduler.date.day_start;scheduler.templates[a+"_date"]=function(a){return scheduler.templates.day_date(a)};scheduler.templates[a+ -"_scale_date"]=function(c){var h=scheduler._props[a].options;if(!h.length)return"";var f=(scheduler._props[a].position||0)+Math.floor((scheduler._correct_shift(c.valueOf(),1)-scheduler._min_date.valueOf())/864E5);return h[f].css?""+h[f].label+"":h[f].label};scheduler.date["add_"+a]=function(a,f){return scheduler.date.add(a,f,"day")};scheduler.date["get_"+a+"_end"]=function(c){return scheduler.date.add(c,scheduler._props[a].size||scheduler._props[a].options.length, -"day")};scheduler.attachEvent("onOptionsLoad",function(){for(var c=scheduler._props[a],f=c.order={},g=c.options,i=0;ig.length?(c._original_size=c.size,c.size=0):c.size=c._original_size||c.size;scheduler._date&&scheduler._mode==a&&scheduler.setCurrentView(scheduler._date,scheduler._mode)});scheduler.callEvent("onOptionsLoad",[])}; -scheduler.scrollUnit=function(a){var f=scheduler._props[this._mode];if(f)f.position=Math.min(Math.max(0,f.position+a),f.options.length-f.size),this.update_view()}; -(function(){var a=function(b){var d=scheduler._props[scheduler._mode];if(d&&d.order&&d.skip_incorrect){for(var a=[],e=0;escheduler._props[a].options.length)scheduler._props[a]._original_size=f,f=0;scheduler._props[a].size=f;scheduler._props[a].skip_incorrect=l||!1;scheduler.date[a+"_start"]=scheduler.date.day_start;scheduler.templates[a+"_date"]=function(a){return scheduler.templates.day_date(a)};scheduler.templates[a+ +"_scale_date"]=function(c){var h=scheduler._props[a].options;if(!h.length)return"";var g=(scheduler._props[a].position||0)+Math.floor((scheduler._correct_shift(c.valueOf(),1)-scheduler._min_date.valueOf())/864E5);return h[g].css?""+h[g].label+"":h[g].label};scheduler.date["add_"+a]=function(a,g){return scheduler.date.add(a,g,"day")};scheduler.date["get_"+a+"_end"]=function(c){return scheduler.date.add(c,scheduler._props[a].size||scheduler._props[a].options.length, +"day")};scheduler.attachEvent("onOptionsLoad",function(){for(var c=scheduler._props[a],g=c.order={},f=c.options,i=0;if.length?(c._original_size=c.size,c.size=0):c.size=c._original_size||c.size;scheduler._date&&scheduler._mode==a&&scheduler.setCurrentView(scheduler._date,scheduler._mode)});scheduler.callEvent("onOptionsLoad",[])}; +scheduler.scrollUnit=function(a){var g=scheduler._props[this._mode];if(g)g.position=Math.min(Math.max(0,g.position+a),g.options.length-g.size),this.update_view()}; +(function(){var a=function(b){var d=scheduler._props[scheduler._mode];if(d&&d.order&&d.skip_incorrect){for(var a=[],e=0;e=a.size+a.position)return!1}}return d};scheduler._reset_scale=function(){var b= -scheduler._props[this._mode],a=k.apply(this,arguments);if(b){this._max_date=this.date.add(this._min_date,1,"day");for(var c=this._els.dhx_cal_data[0].childNodes,e=0;ed.order[b[d.map_to]]?1:-1}):i.apply(this,arguments)};scheduler.attachEvent("onEventAdded",function(a,d){if(this._loading)return!0;for(var c in scheduler._props){var e=scheduler._props[c];if(typeof d[e.map_to]=="undefined")d[e.map_to]=e.options[0].key}return!0});scheduler.attachEvent("onEventCreated",function(a,c){var f=scheduler._props[this._mode]; -if(f){var e=this.getEvent(a);this._mouse_coords(c);g(f,e);this.event_updated(e)}return!0})})(); +scheduler._props[this._mode],a=k.apply(this,arguments);if(b){this._max_date=this.date.add(this._min_date,1,"day");for(var c=this._els.dhx_cal_data[0].childNodes,e=0;ed.order[b[d.map_to]]?1:-1}):i.apply(this,arguments)};scheduler.attachEvent("onEventAdded",function(a,d){if(this._loading)return!0;for(var c in scheduler._props){var e=scheduler._props[c];if(typeof d[e.map_to]=="undefined")d[e.map_to]=e.options[0].key}return!0});scheduler.attachEvent("onEventCreated",function(a,c){var g= +scheduler._props[this._mode];if(g&&c){var e=this.getEvent(a);this._mouse_coords(c);f(g,e);this.event_updated(e)}return!0})})(); diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_url.js b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_url.js index bb342e484e0..d0241636ec9 100644 --- a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_url.js +++ b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_url.js @@ -1,6 +1,6 @@ /* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License -to use it in not GPL project. Please contact sales@dhtmlx.com for details +to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ scheduler.attachEvent("onTemplatesReady",function(){var d=!0,e=scheduler.date.str_to_date("%Y-%m-%d"),h=scheduler.date.date_to_str("%Y-%m-%d");scheduler.attachEvent("onBeforeViewChange",function(i,j,f,k){if(d){d=!1;for(var a={},g=(document.location.hash||"").replace("#","").split(","),b=0;b";for(var h=0;h
"}b+=""}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=b;for(var i=scheduler._els.dhx_cal_data[0].getElementsByTagName("div"),l=[],a=0;aj&&o.push(r)}o.sort(function(a,b){return a.start_date.valueOf()==b.start_date.valueOf()?a.id>b.id?1:-1:a.start_date>b.start_date?1:-1});for(h=0;h=j.valueOf()&&d.start_date.valueOf()<=n.valueOf()&&(p="start"),d.end_date.valueOf()>=j.valueOf()&&d.end_date.valueOf()<=n.valueOf()&&(p="end"));g.innerHTML=scheduler.templates.week_agenda_event_text(d.start_date,d.end_date,d,j,p);g.setAttribute("event_id",d.id);t.appendChild(g)}j=scheduler.date.add(j,1,"day");n=scheduler.date.add(n,1,"day")}};scheduler.week_agenda_view= -function(b){scheduler._min_date=scheduler.date.week_start(scheduler._date);scheduler._max_date=scheduler.date.add(scheduler._min_date,1,"week");scheduler.set_sizes();if(b)scheduler._table_view=!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)- -scheduler.xy.bar_height-1+"px",scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)+scheduler.xy.bar_height+1+"px",scheduler._els.dhx_cal_header[0].style.display="none",e(),f();else{scheduler._table_view=!1;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)+ -scheduler.xy.bar_height+"px";scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)-scheduler.xy.bar_height+"px";scheduler._els.dhx_cal_header[0].style.display="block"}};scheduler.mouse_week_agenda=function(b){for(var a=b.ev,c=a.srcElement||a.target;c.parentNode;){if(c._date)var e=c._date;c=c.parentNode}if(!e)return b;b.x=0;var h=e.valueOf()-scheduler._min_date.valueOf();b.y=Math.ceil(h/6E4/this.config.time_step);if(this._drag_mode=="move"){this._drag_event._dhx_changed= -!0;this._select_id=this._drag_id;for(var k=0;k";for(var e=0;e
"}b+= +""}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=b;for(var l=scheduler._els.dhx_cal_data[0].getElementsByTagName("div"),o=[],a=0;ai&&p.push(s)}p.sort(function(a,b){return a.start_date.valueOf()==b.start_date.valueOf()?a.id>b.id?1:-1:a.start_date>b.start_date?1:-1});for(e=0;e=i.valueOf()&&d.start_date.valueOf()<=n.valueOf()&&(q="start"),d.end_date.valueOf()>=i.valueOf()&& +d.end_date.valueOf()<=n.valueOf()&&(q="end"));f.innerHTML=scheduler.templates.week_agenda_event_text(d.start_date,d.end_date,d,i,q);f.setAttribute("event_id",d.id);w.appendChild(f)}i=scheduler.date.add(i,1,"day");n=scheduler.date.add(n,1,"day")}};scheduler.week_agenda_view=function(b){scheduler._min_date=scheduler.date.week_start(scheduler._date);scheduler._max_date=scheduler.date.add(scheduler._min_date,1,"week");scheduler.set_sizes();if(b)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)-scheduler.xy.bar_height-1+"px",scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)+scheduler.xy.bar_height+1+"px",scheduler._els.dhx_cal_header[0].style.display="none", +h();else{scheduler._table_view=scheduler._allow_dnd=!1;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)+scheduler.xy.bar_height+"px";scheduler._els.dhx_cal_data[0].style.height=parseInt(scheduler._els.dhx_cal_data[0].style.height)-scheduler.xy.bar_height+"px";scheduler._els.dhx_cal_header[0].style.display= +"block"}};scheduler.mouse_week_agenda=function(b){for(var a=b.ev,c=a.srcElement||a.target;c.parentNode;){if(c._date)var g=c._date;c=c.parentNode}if(!g)return b;b.x=0;var e=g.valueOf()-scheduler._min_date.valueOf();b.y=Math.ceil(e/6E4/this.config.time_step);if(this._drag_mode=="move"){this._drag_event._dhx_changed=!0;this._select_id=this._drag_id;for(var j=0;j";l+="
"+(h[f]._timed?this.templates.event_date(h[f].start_date):"")+"
";l+="
 
";l+=this.templates.year_tooltip(h[f].start_date,h[f].end_date,h[f])+""}this._tooltip.style.display= -"";this._tooltip.style.top="0px";this._tooltip.style.left=document.body.offsetWidth-b.left-this._tooltip.offsetWidth<0?b.left-this._tooltip.offsetWidth+"px":b.left+c.offsetWidth+"px";this._tooltip.date=a;this._tooltip.innerHTML=l;this._tooltip.style.top=document.body.offsetHeight-b.top-this._tooltip.offsetHeight<0?b.top-this._tooltip.offsetHeight+c.offsetHeight+"px":b.top+"px"};scheduler._init_year_tooltip=function(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(a){if(c()){var a= -a||event,b=a.target||a.srcElement;if(b.tagName.toLowerCase()=="a")b=b.parentNode;(b.className||"").indexOf("dhx_year_event")!=-1?scheduler.showToolTip(w(b.getAttribute("date")),getOffset(b),a,b):scheduler.hideToolTip()}});this._init_year_tooltip=function(){}};scheduler.attachEvent("onSchedulerResize",function(){return c()?(this.year_view(!0),!1):!0});scheduler._get_year_cell=function(a){var b=a.getMonth()+12*(a.getFullYear()-this._min_date.getFullYear())-this.week_starts._month,d=this._els.dhx_cal_data[0].childNodes[b], -a=this.week_starts[b]+a.getDate()-1;return d.childNodes[2].firstChild.rows[Math.floor(a/7)].cells[a%7].firstChild};var j=[];scheduler._mark_year_date=function(a,b){var d=this._get_year_cell(a);d.className="dhx_month_head dhx_year_event "+this.templates.event_class(b.start_date,b.end_date,b);d.setAttribute("date",v(a));j.push(d)};scheduler._unmark_year_date=function(a){this._get_year_cell(a).className="dhx_month_head"};scheduler._year_render_event=function(a){for(var b=a.start_date,b=b.valueOf()=this._max_date.valueOf())break};scheduler.year_view=function(a){if(a){var b=scheduler.xy.scale_height;scheduler.xy.scale_height=-1}scheduler._els.dhx_cal_header[0].style.display=a?"none":"";scheduler.set_sizes();if(a)scheduler.xy.scale_height=b;scheduler._table_view=a;if(!this._load_mode||!this._load())a?(scheduler._init_year_tooltip(),scheduler._reset_year_scale(),scheduler.render_view_data()): -scheduler.hideToolTip()};scheduler._reset_year_scale=function(){this._cols=[];this._colsS={};var a=[],b=this._els.dhx_cal_data[0],d=this.config;b.scrollTop=0;b.innerHTML="";var c=Math.floor(parseInt(b.style.width)/d.year_x),k=Math.floor((parseInt(b.style.height)-scheduler.xy.year_top)/d.year_y);k<190&&(k=190,c=Math.floor((parseInt(b.style.width)-scheduler.xy.scroll_width)/d.year_x));for(var h=c-11,l=0,f=document.createElement("div"),m=this.date.week_start(new Date),e=0;e<7;e++)this._cols[e]=Math.floor(h/ -(7-e)),this._render_x_header(e,l,m,f),m=this.date.add(m,1,"day"),h-=this._cols[e],l+=this._cols[e];f.lastChild.className+=" dhx_scale_bar_last";for(var g=this.date[this._mode+"_start"](this.date.copy(this._date)),j=g,e=0;e
"+f.innerHTML+"
"; -i.childNodes[0].innerHTML=this.templates.year_month(g);for(var p=this.date.week_start(g),t=this._reset_month_scale(i.childNodes[2],g,p),n=i.childNodes[2].firstChild.rows,q=n.length;q<6;q++){n[0].parentNode.appendChild(n[0].cloneNode(!0));for(var s=0;s";c+="
"+(h[e]._timed?this.templates.event_date(h[e].start_date):"")+"
";c+="
 
";c+=this.templates.year_tooltip(h[e].start_date,h[e].end_date,h[e])+""}this._tooltip.style.display= +"";this._tooltip.style.top="0px";this._tooltip.style.left=document.body.offsetWidth-a.left-this._tooltip.offsetWidth<0?a.left-this._tooltip.offsetWidth+"px":a.left+k.offsetWidth+"px";this._tooltip.date=b;this._tooltip.innerHTML=c;this._tooltip.style.top=document.body.offsetHeight-a.top-this._tooltip.offsetHeight<0?a.top-this._tooltip.offsetHeight+k.offsetHeight+"px":a.top+"px"};scheduler._init_year_tooltip=function(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(b){if(c()){var b= +b||event,a=b.target||b.srcElement;if(a.tagName.toLowerCase()=="a")a=a.parentNode;(a.className||"").indexOf("dhx_year_event")!=-1?scheduler.showToolTip(w(a.getAttribute("date")),getOffset(a),b,a):scheduler.hideToolTip()}});this._init_year_tooltip=function(){}};scheduler.attachEvent("onSchedulerResize",function(){return c()?(this.year_view(!0),!1):!0});scheduler._get_year_cell=function(b){var a=b.getMonth()+12*(b.getFullYear()-this._min_date.getFullYear())-this.week_starts._month,j=this._els.dhx_cal_data[0].childNodes[a], +b=this.week_starts[a]+b.getDate()-1;return j.childNodes[2].firstChild.rows[Math.floor(b/7)].cells[b%7].firstChild};var l={};scheduler._mark_year_date=function(b,a){var j=v(b),c=this._get_year_cell(b),g=this.templates.event_class(a.start_date,a.end_date,a);if(!l[j])c.className="dhx_month_head dhx_year_event",c.setAttribute("date",j),l[j]=c;c.className+=g?" "+g:""};scheduler._unmark_year_date=function(b){this._get_year_cell(b).className="dhx_month_head"};scheduler._year_render_event=function(b){for(var a= +b.start_date,a=a.valueOf()=this._max_date.valueOf())break};scheduler.year_view=function(b){if(b){var a=scheduler.xy.scale_height;scheduler.xy.scale_height=-1}scheduler._els.dhx_cal_header[0].style.display=b?"none":"";scheduler.set_sizes();if(b)scheduler.xy.scale_height=a;scheduler._table_view=b;if(!this._load_mode||!this._load())if(b){scheduler._init_year_tooltip(); +scheduler._reset_year_scale();if(scheduler._load_mode&&scheduler._load())return scheduler._render_wait=!0;scheduler.render_view_data()}else scheduler.hideToolTip()};scheduler._reset_year_scale=function(){this._cols=[];this._colsS={};var b=[],a=this._els.dhx_cal_data[0],c=this.config;a.scrollTop=0;a.innerHTML="";var k=Math.floor(parseInt(a.style.width)/c.year_x),g=Math.floor((parseInt(a.style.height)-scheduler.xy.year_top)/c.year_y);g<190&&(g=190,k=Math.floor((parseInt(a.style.width)-scheduler.xy.scroll_width)/ +c.year_x));for(var h=k-11,l=0,e=document.createElement("div"),m=this.date.week_start(new Date),d=0;d<7;d++)this._cols[d]=Math.floor(h/(7-d)),this._render_x_header(d,l,m,e),m=this.date.add(m,1,"day"),h-=this._cols[d],l+=this._cols[d];e.lastChild.className+=" dhx_scale_bar_last";for(var f=this.date[this._mode+"_start"](this.date.copy(this._date)),n=f,d=0;d
";i.childNodes[0].innerHTML=this.templates.year_month(f);for(var q=this.date.week_start(f),t=this._reset_month_scale(i.childNodes[2],f,q),o=i.childNodes[2].firstChild.rows,p=o.length;p<6;p++){o[0].parentNode.appendChild(o[0].cloneNode(!0));for(var s=0;s