Merge lp:~openerp-dev/openerp-web/trunk-cal-jke into lp:openerp-web
- trunk-cal-jke
- Merge into trunk
Proposed by
Antony Lesuisse (OpenERP)
Status: | Merged |
---|---|
Merged at revision: | 3913 |
Proposed branch: | lp:~openerp-dev/openerp-web/trunk-cal-jke |
Merge into: | lp:openerp-web |
Diff against target: |
27283 lines (+9062/-17740) 51 files modified
addons/web/static/src/js/view_form.js (+35/-17) addons/web/static/src/js/views.js (+1/-0) addons/web_calendar/__openerp__.py (+6/-8) addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css (+0/-5) addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css (+0/-5) addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css (+0/-5) addons/web_calendar/static/lib/dhtmlxScheduler/license.txt (+0/-228) addons/web_calendar/static/lib/dhtmlxScheduler/readme.txt (+0/-6) addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.css (+0/-1419) addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.js (+0/-4806) addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler_dhx_terrace.css (+0/-2018) addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler_glossy.css (+0/-1715) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_active_links.js (+0/-28) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_agenda_view.js (+0/-120) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_all_timed.js (+0/-133) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_collision.js (+0/-119) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_cookie.js (+0/-42) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_dhx_terrace.js (+0/-90) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_editors.js (+0/-142) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_expand.js (+0/-74) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_grid_view.js (+0/-470) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_html_templates.js (+0/-19) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_key_nav.js (+0/-79) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_limit.js (+0/-831) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_map_view.js (+0/-490) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_minical.js (+0/-435) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_multiselect.js (+0/-66) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_multisource.js (+0/-26) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_offline.js (+0/-79) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_outerdrag.js (+0/-51) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_pdf.js (+0/-276) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_readonly.js (+0/-144) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_recurring.js (+0/-750) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_serialize.js (+0/-77) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_timeline.js (+0/-963) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_tooltip.js (+0/-172) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_treetimeline.js (+0/-292) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_units.js (+0/-226) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_url.js (+0/-34) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_week_agenda.js (+0/-256) addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_year_view.js (+0/-276) addons/web_calendar/static/lib/dhtmlxScheduler/whatsnew.txt (+0/-48) addons/web_calendar/static/lib/fullcalendar/css/fullcalendar.css (+608/-0) addons/web_calendar/static/lib/fullcalendar/js/fullcalendar.js (+6110/-0) addons/web_calendar/static/lib/fullcalendar/js/gcal.js (+107/-0) addons/web_calendar/static/lib/fullcalendar/license.txt (+20/-0) addons/web_calendar/static/src/css/Makefile (+4/-0) addons/web_calendar/static/src/css/web_fullcalendar.css (+272/-44) addons/web_calendar/static/src/css/web_fullcalendar.sass (+413/-41) addons/web_calendar/static/src/js/web_calendar.js (+1413/-583) addons/web_calendar/static/src/xml/web_fullcalendar.xml (+73/-32) |
To merge this branch: | bzr merge lp:~openerp-dev/openerp-web/trunk-cal-jke |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Christophe Simonis (OpenERP) | Needs Fixing | ||
Review via email: mp+199809@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
- 3890. By jke-openerp
-
[FIX] Fixe according to aprs review
- 3891. By jke-openerp
-
[MERGE] Merge with trunk
- 3892. By jke-openerp
-
[TYPO] cleaning
- 3893. By jke-openerp
-
[IMP] Remove unused library jquery.
ui.touch- punch - 3894. By jke-openerp
-
[Merge] Merge with trunk
Revision history for this message
Christophe Simonis (OpenERP) (kangol) wrote : | # |
review:
Needs Fixing
Revision history for this message
jke-openerp (jke-openerp) wrote : | # |
> Seems you forgot to add the fullcalendar library
Library FullCalendar is well there : http://
But AL would like that I move contact model (Favorite CoWorker) from Web to Addons before the merge. I try to do it this end of week ...
- 3895. By jke-openerp
-
[IMP] Improve according first review CHS
- 3896. By jke-openerp
-
[REF] Refactoring according to the review of CHS
- 3897. By jke-openerp
-
[MERGE] Merge with trunk
- 3898. By jke-openerp
-
[MERGE] Merge with trunk
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'addons/web/static/src/js/view_form.js' |
2 | --- addons/web/static/src/js/view_form.js 2013-12-19 13:40:55 +0000 |
3 | +++ addons/web/static/src/js/view_form.js 2014-01-14 13:58:12 +0000 |
4 | @@ -4261,6 +4261,7 @@ |
5 | |
6 | instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(instance.web.form.CompletionFieldMixin, instance.web.form.ReinitializeFieldMixin, { |
7 | template: "FieldMany2ManyTags", |
8 | + tag_template: "FieldMany2ManyTag", |
9 | init: function() { |
10 | this._super.apply(this, arguments); |
11 | instance.web.form.CompletionFieldMixin.init.call(this); |
12 | @@ -4268,13 +4269,9 @@ |
13 | this._display_orderer = new instance.web.DropMisordered(); |
14 | this._drop_shown = false; |
15 | }, |
16 | - initialize_content: function() { |
17 | - if (this.get("effective_readonly")) |
18 | - return; |
19 | + initialize_texttext: function(){ |
20 | var self = this; |
21 | - var ignore_blur = false; |
22 | - self.$text = this.$("textarea"); |
23 | - self.$text.textext({ |
24 | + return { |
25 | plugins : 'tags arrow autocomplete', |
26 | autocomplete: { |
27 | render: function(suggestion) { |
28 | @@ -4325,7 +4322,15 @@ |
29 | }, |
30 | }, |
31 | }, |
32 | - }).bind('getSuggestions', function(e, data) { |
33 | + } |
34 | + }, |
35 | + initialize_content: function() { |
36 | + if (this.get("effective_readonly")) |
37 | + return; |
38 | + var self = this; |
39 | + var ignore_blur = false; |
40 | + self.$text = this.$("textarea"); |
41 | + self.$text.textext(self.initialize_texttext()).bind('getSuggestions', function(e, data) { |
42 | var _this = this; |
43 | var str = !!data ? data.query || '' : ''; |
44 | self.get_search_result(str).done(function(result) { |
45 | @@ -4373,6 +4378,24 @@ |
46 | get_search_blacklist: function() { |
47 | return this.get("value"); |
48 | }, |
49 | + map_tag: function(data){ |
50 | + return _.map(data, function(el) {return {name: el[1], id:el[0]};}) |
51 | + }, |
52 | + get_render_data: function(ids){ |
53 | + var self = this; |
54 | + var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context()); |
55 | + return dataset.name_get(ids); |
56 | + }, |
57 | + render_tag: function(data) { |
58 | + var self = this; |
59 | + if (! self.get("effective_readonly")) { |
60 | + self.tags.containerElement().children().remove(); |
61 | + self.$('textarea').css("padding-left", "3px"); |
62 | + self.tags.addTags(self.map_tag(data)); |
63 | + } else { |
64 | + self.$el.html(QWeb.render(self.tag_template, {elements: data})); |
65 | + } |
66 | + }, |
67 | render_value: function() { |
68 | var self = this; |
69 | var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context()); |
70 | @@ -4385,17 +4408,12 @@ |
71 | indexed[el[0]] = el; |
72 | }); |
73 | data = _.map(values, function(el) { return indexed[el]; }); |
74 | - if (! self.get("effective_readonly")) { |
75 | - self.tags.containerElement().children().remove(); |
76 | - self.$('textarea').css("padding-left", "3px"); |
77 | - self.tags.addTags(_.map(data, function(el) {return {name: el[1], id:el[0]};})); |
78 | - } else { |
79 | - self.$el.html(QWeb.render("FieldMany2ManyTag", {elements: data})); |
80 | - } |
81 | - }; |
82 | + self.render_tag(data); |
83 | + } |
84 | if (! values || values.length > 0) { |
85 | - this._display_orderer.add(dataset.name_get(values)).done(handle_names); |
86 | - } else { |
87 | + this._display_orderer.add(self.get_render_data(values)).done(handle_names); |
88 | + } |
89 | + else{ |
90 | handle_names([]); |
91 | } |
92 | }, |
93 | |
94 | === modified file 'addons/web/static/src/js/views.js' |
95 | --- addons/web/static/src/js/views.js 2013-12-18 16:50:33 +0000 |
96 | +++ addons/web/static/src/js/views.js 2014-01-14 13:58:12 +0000 |
97 | @@ -331,6 +331,7 @@ |
98 | action_menu_id: null, |
99 | additional_context: {}, |
100 | }); |
101 | + |
102 | if (action === false) { |
103 | action = { type: 'ir.actions.act_window_close' }; |
104 | } else if (_.isString(action) && instance.web.client_actions.contains(action)) { |
105 | |
106 | === modified file 'addons/web_calendar/__openerp__.py' |
107 | --- addons/web_calendar/__openerp__.py 2012-10-24 16:05:25 +0000 |
108 | +++ addons/web_calendar/__openerp__.py 2014-01-14 13:58:12 +0000 |
109 | @@ -8,18 +8,16 @@ |
110 | """, |
111 | 'version': '2.0', |
112 | 'depends': ['web'], |
113 | + 'data' : [], |
114 | 'js': [ |
115 | - 'static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.js', |
116 | - 'static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_minical.js', |
117 | - 'static/src/js/calendar.js' |
118 | + 'static/lib/fullcalendar/js/fullcalendar.js', |
119 | + 'static/src/js/*.js' |
120 | ], |
121 | 'css': [ |
122 | - #'static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css', |
123 | - #'static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css', |
124 | - 'static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css', |
125 | - 'static/src/css/web_calendar.css' |
126 | + 'static/lib/fullcalendar/css/*.css', |
127 | + 'static/src/css/*.css' |
128 | ], |
129 | - 'qweb' : [ |
130 | + 'qweb': [ |
131 | 'static/src/xml/*.xml', |
132 | ], |
133 | 'auto_install': True |
134 | |
135 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler' |
136 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase' |
137 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css' |
138 | --- addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css 2012-10-24 13:48:59 +0000 |
139 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler.css 1970-01-01 00:00:00 +0000 |
140 | @@ -1,5 +0,0 @@ |
141 | -/* |
142 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
143 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
144 | -*/ |
145 | -.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;} |
146 | \ No newline at end of file |
147 | |
148 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css' |
149 | --- addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css 2012-10-24 13:48:59 +0000 |
150 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_dhx_terrace.css 1970-01-01 00:00:00 +0000 |
151 | @@ -1,5 +0,0 @@ |
152 | -/* |
153 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
154 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
155 | -*/ |
156 | -.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;} |
157 | \ No newline at end of file |
158 | |
159 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css' |
160 | --- addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css 2012-10-24 13:48:59 +0000 |
161 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_glossy.css 1970-01-01 00:00:00 +0000 |
162 | @@ -1,5 +0,0 @@ |
163 | -/* |
164 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
165 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
166 | -*/ |
167 | -.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;} |
168 | \ No newline at end of file |
169 | |
170 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs' |
171 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/but_repeat.gif' |
172 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/but_repeat.gif 2011-04-07 16:41:06 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/but_repeat.gif 1970-01-01 00:00:00 +0000 differ |
173 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/buttons.png' |
174 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/buttons.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/buttons.png 1970-01-01 00:00:00 +0000 differ |
175 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/calendar.gif' |
176 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/calendar.gif 2011-04-07 16:41:06 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/calendar.gif 1970-01-01 00:00:00 +0000 differ |
177 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_big.gif' |
178 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_big.gif 2011-04-07 16:41:06 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_big.gif 1970-01-01 00:00:00 +0000 differ |
179 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_small.gif' |
180 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_small.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/clock_small.gif 1970-01-01 00:00:00 +0000 differ |
181 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/collapse_expand_icon.gif' |
182 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/collapse_expand_icon.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/collapse_expand_icon.gif 1970-01-01 00:00:00 +0000 differ |
183 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controls.gif' |
184 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controls.gif 2011-04-07 16:41:06 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controls.gif 1970-01-01 00:00:00 +0000 differ |
185 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg.png' |
186 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg.png 1970-01-01 00:00:00 +0000 differ |
187 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg_now.png' |
188 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg_now.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/databg_now.png 1970-01-01 00:00:00 +0000 differ |
189 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/icon.png' |
190 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/icon.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/icon.png 1970-01-01 00:00:00 +0000 differ |
191 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/images.png' |
192 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/images.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/images.png 1970-01-01 00:00:00 +0000 differ |
193 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/loading.gif' |
194 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/loading.gif 2011-04-07 16:41:06 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/loading.gif 1970-01-01 00:00:00 +0000 differ |
195 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/resize_dots.png' |
196 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/resize_dots.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/resize_dots.png 1970-01-01 00:00:00 +0000 differ |
197 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace' |
198 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_left.png' |
199 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_left.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_left.png 1970-01-01 00:00:00 +0000 differ |
200 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_right.png' |
201 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_right.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/arrow_right.png 1970-01-01 00:00:00 +0000 differ |
202 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/but_repeat.gif' |
203 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/but_repeat.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/but_repeat.gif 1970-01-01 00:00:00 +0000 differ |
204 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/calendar.gif' |
205 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/calendar.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/calendar.gif 1970-01-01 00:00:00 +0000 differ |
206 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_big.gif' |
207 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_big.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_big.gif 1970-01-01 00:00:00 +0000 differ |
208 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_small.gif' |
209 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_small.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/clock_small.gif 1970-01-01 00:00:00 +0000 differ |
210 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/close_icon.png' |
211 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/close_icon.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/close_icon.png 1970-01-01 00:00:00 +0000 differ |
212 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/collapse_expand_icon.gif' |
213 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/collapse_expand_icon.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/collapse_expand_icon.gif 1970-01-01 00:00:00 +0000 differ |
214 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/controls.png' |
215 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/controls.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/controls.png 1970-01-01 00:00:00 +0000 differ |
216 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg.png' |
217 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg.png 1970-01-01 00:00:00 +0000 differ |
218 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg_now.png' |
219 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg_now.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/databg_now.png 1970-01-01 00:00:00 +0000 differ |
220 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resize_dots.png' |
221 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resize_dots.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resize_dots.png 1970-01-01 00:00:00 +0000 differ |
222 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resizing.png' |
223 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resizing.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_dhx_terrace/resizing.png 1970-01-01 00:00:00 +0000 differ |
224 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy' |
225 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab.png' |
226 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab.png 1970-01-01 00:00:00 +0000 differ |
227 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab_wide.png' |
228 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab_wide.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/blue_tab_wide.png 1970-01-01 00:00:00 +0000 differ |
229 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/but_repeat.gif' |
230 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/but_repeat.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/but_repeat.gif 1970-01-01 00:00:00 +0000 differ |
231 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/buttons.gif' |
232 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/buttons.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/buttons.gif 1970-01-01 00:00:00 +0000 differ |
233 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/calendar.gif' |
234 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/calendar.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/calendar.gif 1970-01-01 00:00:00 +0000 differ |
235 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_big.png' |
236 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_big.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_big.png 1970-01-01 00:00:00 +0000 differ |
237 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_small.png' |
238 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_small.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/clock_small.png 1970-01-01 00:00:00 +0000 differ |
239 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/collapse_expand_icon.gif' |
240 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/collapse_expand_icon.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/collapse_expand_icon.gif 1970-01-01 00:00:00 +0000 differ |
241 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/controlls5.png' |
242 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/controlls5.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/controlls5.png 1970-01-01 00:00:00 +0000 differ |
243 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg.png' |
244 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg.png 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg.png 1970-01-01 00:00:00 +0000 differ |
245 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg_now.png' |
246 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg_now.png 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/databg_now.png 1970-01-01 00:00:00 +0000 differ |
247 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/event-bg.png' |
248 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/event-bg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/event-bg.png 1970-01-01 00:00:00 +0000 differ |
249 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/icon.png' |
250 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/icon.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/icon.png 1970-01-01 00:00:00 +0000 differ |
251 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-separator.png' |
252 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-separator.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-separator.png 1970-01-01 00:00:00 +0000 differ |
253 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-time-bg.png' |
254 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-time-bg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/left-time-bg.png 1970-01-01 00:00:00 +0000 differ |
255 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/lightbox.png' |
256 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/lightbox.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/lightbox.png 1970-01-01 00:00:00 +0000 differ |
257 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/loading.gif' |
258 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/loading.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/loading.gif 1970-01-01 00:00:00 +0000 differ |
259 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/move.png' |
260 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/move.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/move.png 1970-01-01 00:00:00 +0000 differ |
261 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/multi-days-bg.png' |
262 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/multi-days-bg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/multi-days-bg.png 1970-01-01 00:00:00 +0000 differ |
263 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/second-top-days-bg.png' |
264 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/second-top-days-bg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/second-top-days-bg.png 1970-01-01 00:00:00 +0000 differ |
265 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-days-bg.png' |
266 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-days-bg.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-days-bg.png 1970-01-01 00:00:00 +0000 differ |
267 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-separator.gif' |
268 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-separator.gif 2012-10-24 13:48:59 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/top-separator.gif 1970-01-01 00:00:00 +0000 differ |
269 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab.png' |
270 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab.png 1970-01-01 00:00:00 +0000 differ |
271 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab_wide.png' |
272 | Binary files addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab_wide.png 2013-06-05 12:43:27 +0000 and addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs_glossy/white_tab_wide.png 1970-01-01 00:00:00 +0000 differ |
273 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/license.txt' |
274 | --- addons/web_calendar/static/lib/dhtmlxScheduler/license.txt 2013-05-14 14:34:02 +0000 |
275 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/license.txt 1970-01-01 00:00:00 +0000 |
276 | @@ -1,228 +0,0 @@ |
277 | - |
278 | - GNU GENERAL PUBLIC LICENSE |
279 | - |
280 | -Version 2, June 1991 |
281 | - |
282 | -Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
283 | - |
284 | -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
285 | - |
286 | -Everyone is permitted to copy and distribute verbatim copies |
287 | - |
288 | -of this license document, but changing it is not allowed. |
289 | - |
290 | -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
291 | - |
292 | -0. This License applies to any program or other work which contains a |
293 | -notice placed by the copyright holder saying it may be distributed under |
294 | -the terms of this General Public License. The "Program", below, refers |
295 | -to any such program or work, and a "work based on the Program" means |
296 | -either the Program or any derivative work under copyright law: that is |
297 | -to say, a work containing the Program or a portion of it, either |
298 | -verbatim or with modifications and/or translated into another language. |
299 | -(Hereinafter, translation is included without limitation in the term |
300 | -"modification".) Each licensee is addressed as "you". |
301 | - |
302 | -Activities other than copying, distribution and modification are not |
303 | -covered by this License; they are outside its scope. The act of running |
304 | -the Program is not restricted, and the output from the Program is |
305 | -covered only if its contents constitute a work based on the Program |
306 | -(independent of having been made by running the Program). Whether that |
307 | -is true depends on what the Program does. |
308 | - |
309 | -1. You may copy and distribute verbatim copies of the Program's source |
310 | -code as you receive it, in any medium, provided that you conspicuously |
311 | -and appropriately publish on each copy an appropriate copyright notice |
312 | -and disclaimer of warranty; keep intact all the notices that refer to |
313 | -this License and to the absence of any warranty; and give any other |
314 | -recipients of the Program a copy of this License along with the Program. |
315 | - |
316 | -You may charge a fee for the physical act of transferring a copy, and |
317 | -you may at your option offer warranty protection in exchange for a fee. |
318 | - |
319 | -2. You may modify your copy or copies of the Program or any portion of |
320 | -it, thus forming a work based on the Program, and copy and distribute |
321 | -such modifications or work under the terms of Section 1 above, provided |
322 | -that you also meet all of these conditions: |
323 | - |
324 | -a) You must cause the modified files to carry prominent notices stating |
325 | -that you changed the files and the date of any change. |
326 | - |
327 | -b) You must cause any work that you distribute or publish, that in whole |
328 | -or in part contains or is derived from the Program or any part thereof, |
329 | -to be licensed as a whole at no charge to all third parties under the |
330 | -terms of this License. |
331 | - |
332 | -c) If the modified program normally reads commands interactively when |
333 | -run, you must cause it, when started running for such interactive use in |
334 | -the most ordinary way, to print or display an announcement including an |
335 | -appropriate copyright notice and a notice that there is no warranty (or |
336 | -else, saying that you provide a warranty) and that users may |
337 | -redistribute the program under these conditions, and telling the user |
338 | -how to view a copy of this License. (Exception: if the Program itself is |
339 | -interactive but does not normally print such an announcement, your work |
340 | -based on the Program is not required to print an announcement.) |
341 | - |
342 | -These requirements apply to the modified work as a whole. If |
343 | -identifiable sections of that work are not derived from the Program, and |
344 | -can be reasonably considered independent and separate works in |
345 | -themselves, then this License, and its terms, do not apply to those |
346 | -sections when you distribute them as separate works. But when you |
347 | -distribute the same sections as part of a whole which is a work based on |
348 | -the Program, the distribution of the whole must be on the terms of this |
349 | -License, whose permissions for other licensees extend to the entire |
350 | -whole, and thus to each and every part regardless of who wrote it. |
351 | - |
352 | -Thus, it is not the intent of this section to claim rights or contest |
353 | -your rights to work written entirely by you; rather, the intent is to |
354 | -exercise the right to control the distribution of derivative or |
355 | -collective works based on the Program. |
356 | - |
357 | -In addition, mere aggregation of another work not based on the Program |
358 | -with the Program (or with a work based on the Program) on a volume of a |
359 | -storage or distribution medium does not bring the other work under the |
360 | -scope of this License. |
361 | - |
362 | -3. You may copy and distribute the Program (or a work based on it, under |
363 | -Section 2) in object code or executable form under the terms of Sections |
364 | -1 and 2 above provided that you also do one of the following: |
365 | - |
366 | -a) Accompany it with the complete corresponding machine-readable source |
367 | -code, which must be distributed under the terms of Sections 1 and 2 |
368 | -above on a medium customarily used for software interchange; or, |
369 | - |
370 | -b) Accompany it with a written offer, valid for at least three years, to |
371 | -give any third party, for a charge no more than your cost of physically |
372 | -performing source distribution, a complete machine-readable copy of the |
373 | -corresponding source code, to be distributed under the terms of Sections |
374 | -1 and 2 above on a medium customarily used for software interchange; or, |
375 | - |
376 | -c) Accompany it with the information you received as to the offer to |
377 | -distribute corresponding source code. (This alternative is allowed only |
378 | -for noncommercial distribution and only if you received the program in |
379 | -object code or executable form with such an offer, in accord with |
380 | -Subsection b above.) |
381 | - |
382 | -The source code for a work means the preferred form of the work for |
383 | -making modifications to it. For an executable work, complete source code |
384 | -means all the source code for all modules it contains, plus any |
385 | -associated interface definition files, plus the scripts used to control |
386 | -compilation and installation of the executable. However, as a special |
387 | -exception, the source code distributed need not include anything that is |
388 | -normally distributed (in either source or binary form) with the major |
389 | -components (compiler, kernel, and so on) of the operating system on |
390 | -which the executable runs, unless that component itself accompanies the |
391 | -executable. |
392 | - |
393 | -If distribution of executable or object code is made by offering access |
394 | -to copy from a designated place, then offering equivalent access to copy |
395 | -the source code from the same place counts as distribution of the source |
396 | -code, even though third parties are not compelled to copy the source |
397 | -along with the object code. |
398 | - |
399 | -4. You may not copy, modify, sublicense, or distribute the Program |
400 | -except as expressly provided under this License. Any attempt otherwise |
401 | -to copy, modify, sublicense or distribute the Program is void, and will |
402 | -automatically terminate your rights under this License. However, parties |
403 | -who have received copies, or rights, from you under this License will |
404 | -not have their licenses terminated so long as such parties remain in |
405 | -full compliance. |
406 | - |
407 | -5. You are not required to accept this License, since you have not |
408 | -signed it. However, nothing else grants you permission to modify or |
409 | -distribute the Program or its derivative works. These actions are |
410 | -prohibited by law if you do not accept this License. Therefore, by |
411 | -modifying or distributing the Program (or any work based on the |
412 | -Program), you indicate your acceptance of this License to do so, and all |
413 | -its terms and conditions for copying, distributing or modifying the |
414 | -Program or works based on it. |
415 | - |
416 | -6. Each time you redistribute the Program (or any work based on the |
417 | -Program), the recipient automatically receives a license from the |
418 | -original licensor to copy, distribute or modify the Program subject to |
419 | -these terms and conditions. You may not impose any further restrictions |
420 | -on the recipients' exercise of the rights granted herein. You are not |
421 | -responsible for enforcing compliance by third parties to this License. |
422 | - |
423 | -7. If, as a consequence of a court judgment or allegation of patent |
424 | -infringement or for any other reason (not limited to patent issues), |
425 | -conditions are imposed on you (whether by court order, agreement or |
426 | -otherwise) that contradict the conditions of this License, they do not |
427 | -excuse you from the conditions of this License. If you cannot distribute |
428 | -so as to satisfy simultaneously your obligations under this License and |
429 | -any other pertinent obligations, then as a consequence you may not |
430 | -distribute the Program at all. For example, if a patent license would |
431 | -not permit royalty-free redistribution of the Program by all those who |
432 | -receive copies directly or indirectly through you, then the only way you |
433 | -could satisfy both it and this License would be to refrain entirely from |
434 | -distribution of the Program. |
435 | - |
436 | -If any portion of this section is held invalid or unenforceable under |
437 | -any particular circumstance, the balance of the section is intended to |
438 | -apply and the section as a whole is intended to apply in other |
439 | -circumstances. |
440 | - |
441 | -It is not the purpose of this section to induce you to infringe any |
442 | -patents or other property right claims or to contest validity of any |
443 | -such claims; this section has the sole purpose of protecting the |
444 | -integrity of the free software distribution system, which is implemented |
445 | -by public license practices. Many people have made generous |
446 | -contributions to the wide range of software distributed through that |
447 | -system in reliance on consistent application of that system; it is up to |
448 | -the author/donor to decide if he or she is willing to distribute |
449 | -software through any other system and a licensee cannot impose that choice. |
450 | - |
451 | -This section is intended to make thoroughly clear what is believed to be |
452 | -a consequence of the rest of this License. |
453 | - |
454 | -8. If the distribution and/or use of the Program is restricted in |
455 | -certain countries either by patents or by copyrighted interfaces, the |
456 | -original copyright holder who places the Program under this License may |
457 | -add an explicit geographical distribution limitation excluding those |
458 | -countries, so that distribution is permitted only in or among countries |
459 | -not thus excluded. In such case, this License incorporates the |
460 | -limitation as if written in the body of this License. |
461 | - |
462 | -9. The Free Software Foundation may publish revised and/or new versions |
463 | -of the General Public License from time to time. Such new versions will |
464 | -be similar in spirit to the present version, but may differ in detail to |
465 | -address new problems or concerns. |
466 | - |
467 | -Each version is given a distinguishing version number. If the Program |
468 | -specifies a version number of this License which applies to it and "any |
469 | -later version", you have the option of following the terms and |
470 | -conditions either of that version or of any later version published by |
471 | -the Free Software Foundation. If the Program does not specify a version |
472 | -number of this License, you may choose any version ever published by the |
473 | -Free Software Foundation. |
474 | - |
475 | -10. If you wish to incorporate parts of the Program into other free |
476 | -programs whose distribution conditions are different, write to the |
477 | -author to ask for permission. For software which is copyrighted by the |
478 | -Free Software Foundation, write to the Free Software Foundation; we |
479 | -sometimes make exceptions for this. Our decision will be guided by the |
480 | -two goals of preserving the free status of all derivatives of our free |
481 | -software and of promoting the sharing and reuse of software generally. |
482 | - |
483 | -NO WARRANTY |
484 | - |
485 | -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
486 | -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
487 | -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
488 | -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER |
489 | -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
490 | -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE |
491 | -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH |
492 | -YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL |
493 | -NECESSARY SERVICING, REPAIR OR CORRECTION. |
494 | - |
495 | -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN |
496 | -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY |
497 | -AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR |
498 | -DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL |
499 | -DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM |
500 | -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED |
501 | -INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF |
502 | -THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR |
503 | -OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
504 | - |
505 | |
506 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/readme.txt' |
507 | --- addons/web_calendar/static/lib/dhtmlxScheduler/readme.txt 2012-10-24 13:48:59 +0000 |
508 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/readme.txt 1970-01-01 00:00:00 +0000 |
509 | @@ -1,6 +0,0 @@ |
510 | -dhtmlxScheduler v.3.5 build 120823 |
511 | - |
512 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
513 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
514 | - |
515 | -(c) DHTMLX Ltd. |
516 | \ No newline at end of file |
517 | |
518 | === removed directory 'addons/web_calendar/static/lib/dhtmlxScheduler/sources' |
519 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.css' |
520 | --- addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.css 2012-10-24 13:48:59 +0000 |
521 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.css 1970-01-01 00:00:00 +0000 |
522 | @@ -1,1419 +0,0 @@ |
523 | -/* |
524 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
525 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
526 | -*/ |
527 | - |
528 | -.dhtmlx_message_area{ |
529 | - position:fixed; |
530 | - right:5px; |
531 | - width:250px; |
532 | - z-index:1000; |
533 | -} |
534 | - |
535 | -.dhtmlx-info{ |
536 | - min-width: 120px; |
537 | - padding:4px 4px 4px 20px; |
538 | - font-family:Tahoma; |
539 | - z-index: 10000; |
540 | - |
541 | - margin:5px; |
542 | - margin-bottom:10px; |
543 | - |
544 | - -webkit-transition: all .5s ease; |
545 | - -moz-transition: all .5s ease; |
546 | - -o-transition: all .5s ease; |
547 | - transition: all .5s ease; |
548 | -} |
549 | -.dhtmlx-info.hidden{ |
550 | - height:0px; |
551 | - padding:0px; |
552 | - border-width:0px; |
553 | - margin:0px; |
554 | - overflow:hidden; |
555 | -} |
556 | - |
557 | -.dhtmlx_modal_box{ |
558 | - overflow:hidden; |
559 | - display: inline-block; |
560 | - min-width: 300px; |
561 | - width: 300px; |
562 | - text-align: center; |
563 | - position:fixed; |
564 | - |
565 | - background-color: #fff; |
566 | - background:-webkit-linear-gradient(top, #ffffff 1%, #d0d0d0 99%); |
567 | - background:-moz-linear-gradient(top, #ffffff 1%, #d0d0d0 99%); |
568 | - box-shadow: 0px 0px 14px #888; |
569 | - |
570 | - font-family: Tahoma; |
571 | - |
572 | - z-index:20000; |
573 | - |
574 | - border-radius:6px; |
575 | - border: 1px solid #ffffff; |
576 | -} |
577 | - |
578 | -.dhtmlx_popup_title{ |
579 | - border-top-left-radius:5px; |
580 | - border-top-right-radius:5px; |
581 | - |
582 | - border-width:0px; |
583 | - |
584 | - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAoCAMAAAAIaGBFAAAAhFBMVEVwcHBubm5sbGxqampoaGhmZmZlZWVjY2NhYWFfX19dXV1bW1taWlpYWFhWVlZUVFRSUlJRUVFPT09NTU1LS0tJSUlHR0dGRkZERERCQkJAQEA+Pj49PT09PT0+Pj5AQEBBQUFDQ0NERERGRkZHR0dJSUlKSkpMTExMTEw5OTk5OTk5OTkny8YEAAAAQklEQVQImQXBCRJCAAAAwKVSQqdyjSPXNP7/QLsIhA6OTiJnF7GrRCpzc/fw9PKW+/gqlCq1RqvTG/yMJrPF6m/bAVEhAxxnHG0oAAAAAElFTkSuQmCC); |
585 | - background-image: -webkit-linear-gradient(top, #707070 1%, #3d3d3d 70%, #4c4c4c 97%, #393939 97%); |
586 | - background-image: -moz-linear-gradient(top, #707070 1%, #3d3d3d 70%, #4c4c4c 97%, #393939 97%); |
587 | -} |
588 | - |
589 | -.dhtmlx-info, .dhtmlx_popup_button, .dhtmlx_button{ |
590 | - user-select: none; |
591 | - -webkit-user-select: none; |
592 | - -moz-user-select:-moz-none; |
593 | - |
594 | - cursor:pointer; |
595 | -} |
596 | - |
597 | -.dhtmlx_popup_text{ |
598 | - overflow:hidden; |
599 | -} |
600 | - |
601 | -.dhtmlx_popup_controls{ |
602 | - border-radius:6px; |
603 | - padding:5px; |
604 | -} |
605 | - |
606 | -.dhtmlx_popup_button, .dhtmlx_button{ |
607 | - height: 30px; |
608 | - line-height:30px; |
609 | - |
610 | - display: inline-block; |
611 | - margin: 0 5px; |
612 | - border-radius: 6px; |
613 | - |
614 | - color:#FFF; |
615 | -} |
616 | -.dhtmlx_popup_button{ |
617 | - min-width: 120px; |
618 | -} |
619 | - |
620 | -div.dhx_modal_cover { |
621 | - background-color:#000; |
622 | - cursor:default; |
623 | - |
624 | - filter:alpha(opacity = 20); |
625 | - opacity: 0.2; |
626 | - |
627 | - position: fixed; |
628 | - z-index:19999; |
629 | - left: 0px; top: 0px; |
630 | - width: 100%; height: 100%; |
631 | - |
632 | - border: none; |
633 | - zoom: 1; |
634 | -} |
635 | - |
636 | -.dhtmlx-info img, .dhtmlx_modal_box img{ |
637 | - float:left; |
638 | - margin-right:20px; |
639 | -} |
640 | - |
641 | -.dhtmlx-alert-error .dhtmlx_popup_title, .dhtmlx-confirm-error .dhtmlx_popup_title{ |
642 | - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAIAAAArRUU2AAAATklEQVR4nIWLuw2AMBBDjVuQiBT2oWbRDATrnB0KQOJoqPzRe3BrHI6dcBASYREKovtK6/6DsDOX+stN+3H1YX9ciRgnYq5EWYhS2dftBIuLT4JyIrPCAAAAAElFTkSuQmCC); |
643 | -} |
644 | -.dhtmlx-alert-error, .dhtmlx-confirm-error { |
645 | - border: 1px solid #ff0000; |
646 | -} |
647 | - |
648 | -/*Skin section*/ |
649 | -.dhtmlx_button, .dhtmlx_popup_button{ |
650 | - box-shadow: 0px 0px 4px #888; |
651 | - border:1px solid #838383; |
652 | -} |
653 | -.dhtmlx_button input, .dhtmlx_popup_button div{ |
654 | - border:1px solid #FFF; |
655 | - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAYFBMVEVwcHBtbW1ra2toaGhmZmZjY2NhYWFeXl5cXFxaWlpXV1dVVVVSUlJQUFBNTU1LS0tJSUlGRkZERERBQUE/Pz88PDw9PT0+Pj5AQEBCQkJDQ0NFRUVHR0dISEhKSkpMTEzqthaMAAAAMklEQVQImQXBhQ2AMAAAsOIMlwWH/8+kRSKVyRVKlVrQaHV6g9FktlhFm93hdLk9Xt8PIfgBvdUqyskAAAAASUVORK5CYII=); |
656 | - background-image: -webkit-linear-gradient(top, #707070 1%, #3d3d3d 70%, #4c4c4c 99%); |
657 | - background-image: -moz-linear-gradient(top, #707070 1%, #3d3d3d 70%, #4c4c4c 99%); |
658 | - |
659 | - border-radius:6px; |
660 | - font-size:15px; |
661 | - font-weight:normal; |
662 | - -moz-box-sizing:content-box; |
663 | - box-sizing:content-box; |
664 | - |
665 | - color:#fff; padding:0px; margin:0px; |
666 | - vertical-align:top; |
667 | - |
668 | - height:28px; |
669 | - line-height:28px; |
670 | -} |
671 | - |
672 | -.dhtmlx_button input:focus, .dhtmlx_button input:active, .dhtmlx_popup_button div:active, .dhtmlx_popup_button div:focus{ |
673 | - |
674 | - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAMAAADaS4T1AAAAXVBMVEVwcHBubm5tbW1sbGxra2tpaWloaGhnZ2dmZmZlZWVjY2NiYmJhYWFgYGBfX19dXV1cXFxbW1taWlpZWVlXV1dWVlZVVVVUVFRTU1NRUVFQUFBPT09OTk5NTU1LS0tT9SY0AAAAMUlEQVQImQXBhQGAMAAAIGxnx2z9/00BiVQmVyhVakGj1ekNRpPZYhVtdofT5fZ4fT8hpwG05JjexgAAAABJRU5ErkJggg==); |
675 | - background-image: -webkit-linear-gradient(top, #707070 1%, #4c4c4c 99%); |
676 | - background-image: -moz-linear-gradient(top, #707070 1%, #4c4c4c 99%); |
677 | -} |
678 | -.dhtmlx_popup_title{ |
679 | - color:#fff; |
680 | - text-shadow: 1px 1px #000; |
681 | - height:40px; line-height:40px; |
682 | - font-size:20px; |
683 | -} |
684 | -.dhtmlx_popup_text{ |
685 | - margin:15px 15px 5px 15px; |
686 | - font-size:14px; |
687 | - color:#000; |
688 | - min-height:30px; |
689 | - border-radius:6px; |
690 | -} |
691 | - |
692 | - |
693 | -.dhtmlx-info, .dhtmlx-error{ |
694 | - font-size:14px; |
695 | - color:#000; |
696 | - box-shadow: 0px 0px 10px #888; |
697 | - |
698 | - padding:0px; |
699 | - |
700 | - background-color:#FFF; |
701 | - border-radius:3px; |
702 | - border:1px solid #ffffff; |
703 | -} |
704 | -.dhtmlx-info div{ |
705 | - padding:5px 10px 5px 10px; |
706 | - background-color: #fff; |
707 | - |
708 | - border-radius:3px; |
709 | - border:1px solid #B8B8B8; |
710 | -} |
711 | -.dhtmlx-error{ |
712 | - background-color: #d81b1b; |
713 | - border:1px solid #ff3c3c; |
714 | - box-shadow: 0px 0px 10px #000; |
715 | -} |
716 | -.dhtmlx-error div{ |
717 | - background-color: #d81b1b; |
718 | - border:1px solid #940000; |
719 | - color:#FFF; |
720 | -} |
721 | - |
722 | - |
723 | -.dhx_cal_container{ |
724 | - background-color:#C2D5FC; |
725 | - font-family:Tahoma; |
726 | - font-size:8pt; |
727 | - position:relative; |
728 | - overflow:hidden; |
729 | -} |
730 | -.dhx_cal_container div{ |
731 | - -moz-user-select:none; |
732 | - -moz-user-select:-moz-none; |
733 | -} |
734 | -.dhx_cal_navline{ |
735 | - height:20px; |
736 | - position:absolute; |
737 | - z-index:3; |
738 | - width:750px; |
739 | - color:#2F3A48; |
740 | -} |
741 | -.dhx_cal_navline div{ |
742 | - position:absolute; |
743 | - top:2px; |
744 | - white-space:nowrap; |
745 | -} |
746 | -.dhx_cal_navline .dhx_cal_date { |
747 | - font-weight:600; |
748 | - left:210px; |
749 | - padding-top: 1px; |
750 | -} |
751 | -.dhx_cal_button .dhx_left_bg{ |
752 | - width:1px; overflow:hidden; |
753 | - height:17px; |
754 | - z-index:20; |
755 | - top:0px; |
756 | -} |
757 | -.dhx_cal_prev_button{ |
758 | - background-image:url(imgs/buttons.png); |
759 | - background-position:0px 0px; |
760 | - width:29px; height:17px; |
761 | - left:50px; cursor:pointer; |
762 | -} |
763 | -.dhx_cal_next_button{ |
764 | - background-image:url(imgs/buttons.png); |
765 | - background-position: -30px 0px; |
766 | - width:29px; height:17px; |
767 | - left:80px; cursor:pointer; |
768 | -} |
769 | -.dhx_cal_today_button{ |
770 | - background-image:url(imgs/buttons.png); |
771 | - background-position: -60px 0px; |
772 | - width:75px; height:17px; |
773 | - left:112px; cursor:pointer; |
774 | - text-align:center; |
775 | - text-decoration:underline; |
776 | -} |
777 | -.dhx_cal_tab{ |
778 | - width:59px; height:19px; |
779 | - text-align:center; |
780 | - text-decoration:underline; |
781 | - padding-top:2px; |
782 | - cursor:pointer; |
783 | - background-color: #D8E1EA; |
784 | - |
785 | - -webkit-border-top-left-radius: 4px; |
786 | - -webkit-border-top-right-radius: 4px; |
787 | - -moz-border-radius-topleft: 4px; |
788 | - -moz-border-radius-topright: 4px; |
789 | - border-top-left-radius: 4px; |
790 | - border-top-right-radius: 4px; |
791 | -} |
792 | -.dhx_cal_tab.active{ |
793 | - text-decoration:none; |
794 | - |
795 | - cursor:default; |
796 | - font-weight:bold; |
797 | - border: 1px dotted #586A7E; |
798 | - border-bottom: 0; |
799 | - background-color: #C2D5FC; |
800 | -} |
801 | -.dhx_cal_header{ |
802 | - position:absolute; |
803 | - left:10px; top:23px; |
804 | - width:750px; |
805 | - border-top:1px dotted #8894A3; |
806 | - border-right:1px dotted #8894A3; |
807 | - z-index:2; |
808 | - overflow:hidden; |
809 | - color:#2F3A48; |
810 | -} |
811 | -.dhx_cal_data{ |
812 | - border-top:1px dotted #8894A3; |
813 | - position:absolute; |
814 | - top:44px; |
815 | - width:600px; |
816 | - overflow-y:auto; |
817 | - overflow-x:hidden; |
818 | -} |
819 | -.dhx_scale_bar{ |
820 | - position:absolute; |
821 | - text-align:center; |
822 | - background-color:#C2D5FC; |
823 | - padding-top:3px; |
824 | - border-left:1px dotted #586A7E; |
825 | -} |
826 | -.dhx_scale_holder{ |
827 | - position:absolute; |
828 | - border-right:1px dotted #586A7E; |
829 | - background-image:url(imgs/databg.png); |
830 | -} |
831 | -.dhx_scale_holder_now{ |
832 | - position:absolute; |
833 | - border-right:1px dotted #586A7E; |
834 | - background-image:url(imgs/databg_now.png); |
835 | -} |
836 | -.dhx_scale_hour{ |
837 | - height:41px; |
838 | - width:50px; |
839 | - border-bottom:1px dotted #8894A3; |
840 | - background-color:#C2D5FC; |
841 | - text-align:center; |
842 | - line-height:40px; |
843 | - color:#586A7E; |
844 | - overflow:hidden; |
845 | -} |
846 | -.dhx_month_head{ |
847 | - background-color:#EBEFF4; |
848 | - color:#2F3A48; |
849 | - border-right:1px dotted #586A7E; |
850 | - height:18px; |
851 | - padding-right:5px; |
852 | - padding-top:3px; |
853 | - text-align:right; |
854 | -} |
855 | -.dhx_month_body{ |
856 | - border-right:1px dotted #586A7E; |
857 | - border-bottom:1px dotted #586A7E; |
858 | - background-color:#FFFFFF; |
859 | -} |
860 | -.dhx_now .dhx_month_body{ |
861 | - background-color:#E2EDFF; |
862 | -} |
863 | -.dhx_after .dhx_month_body, .dhx_before .dhx_month_body{ |
864 | - background-color:#ECECEC; |
865 | -} |
866 | -.dhx_after .dhx_month_head, .dhx_before .dhx_month_head{ |
867 | - background-color:#E2E3E6; |
868 | - color:#94A6BB; |
869 | -} |
870 | -.dhx_now .dhx_month_head{ |
871 | - background-color:#D1DEF4; |
872 | - font-weight:bold; |
873 | -} |
874 | -.dhx_cal_drag{ |
875 | - position:absolute; |
876 | - z-index:9999; |
877 | - background-color:#FFE763; |
878 | - border:1px solid #B7A543; |
879 | - opacity:0.5; |
880 | - filter:alpha(opacity=50); |
881 | -} |
882 | -.dhx_loading{ |
883 | - position:absolute; |
884 | - width:128px; |
885 | - height:15px; |
886 | - background-image:url(imgs/loading.gif); |
887 | - z-index:9999; |
888 | -} |
889 | -.dhx_multi_day_icon, .dhx_multi_day{ |
890 | - background-color:#E1E6FF; |
891 | - background-repeat:no-repeat; |
892 | - border-right:1px dotted #8894A3; |
893 | -} |
894 | -.dhx_multi_day{ |
895 | - position: absolute; |
896 | - border-top:1px dotted #8894A3; |
897 | -} |
898 | -.dhx_multi_day_icon, .dhx_multi_day_icon_small{ |
899 | - background-position: center center; |
900 | - background-color:#E1E6FF; |
901 | - background-repeat:no-repeat; |
902 | - border-bottom:1px dotted #8894A3; |
903 | - border-right:1px dotted #8894A3; |
904 | -} |
905 | -.dhx_multi_day_icon{ |
906 | - background-image:url(imgs/clock_big.gif); |
907 | -} |
908 | -.dhx_multi_day_icon_small{ |
909 | - background-image:url(imgs/clock_small.gif); |
910 | - |
911 | -} |
912 | -.dhtmlxLayoutPolyContainer_dhx_skyblue .dhx_cal_container { |
913 | - background-color: #d0e5ff; |
914 | -} |
915 | -.dhx_cal_event .dhx_header, .dhx_cal_event .dhx_title, .dhx_cal_event .dhx_body, .dhx_cal_event .dhx_footer { |
916 | - background-color:#FFE763; |
917 | - border:1px solid #B7A543; |
918 | - color:#887A2E; |
919 | - overflow:hidden; |
920 | - width:100%; |
921 | - |
922 | - font-family:Tahoma; |
923 | - font-size:8pt; |
924 | -} |
925 | -.dhx_move_denied .dhx_cal_event .dhx_header, .dhx_move_denied .dhx_cal_event .dhx_title{ |
926 | - cursor:default; |
927 | -} |
928 | -.dhx_cal_event .dhx_header{ |
929 | - height:1px; |
930 | - margin-left:1px; |
931 | - border-width:1px 1px 0px 1px; |
932 | - cursor:pointer; |
933 | -} |
934 | -.dhx_cal_event .dhx_title { |
935 | - height:12px; |
936 | - border-width:0px 1px 1px 1px; |
937 | - border-bottom-style:dotted; |
938 | - |
939 | - font-size:7pt; |
940 | - font-weight:bold; |
941 | - text-align:center; |
942 | - |
943 | - background-position:right; |
944 | - background-repeat:no-repeat; |
945 | - cursor:pointer; |
946 | -} |
947 | -.dhx_cal_event .dhx_body, .dhx_cal_event.dhx_cal_select_menu .dhx_body{ |
948 | - border-width:0 1px 1px 1px; |
949 | - padding:5px; |
950 | -} |
951 | -.dhx_resize_denied { |
952 | - cursor:default !important; |
953 | -} |
954 | -.dhx_cal_event .dhx_event_resize { |
955 | - cursor:s-resize; |
956 | -} |
957 | -.dhx_cal_event .dhx_footer, .dhx_cal_event .dhx_select_menu_footer{ |
958 | - height:1px; |
959 | - margin-left:2px; |
960 | - border-width:0px 1px 1px 1px; |
961 | -} |
962 | -.dhx_cal_event_line{ |
963 | - background-color:#FFE763; |
964 | - border:1px solid #B7A543; |
965 | - border-radius:3px; |
966 | - font-family:Tahoma; |
967 | - font-size:8pt; |
968 | - height:13px; |
969 | - padding-left:10px; |
970 | - color:#887A2E; |
971 | - cursor:pointer; |
972 | - overflow:hidden; |
973 | -} |
974 | -.dhx_cal_event_clear{ |
975 | - font-family:Tahoma; |
976 | - font-size:8pt; |
977 | - height:13px; |
978 | - padding-left:2px; |
979 | - color:#887A2E; |
980 | - white-space:nowrap; |
981 | - overflow:hidden; |
982 | - cursor:pointer; |
983 | -} |
984 | -.dhx_in_move{ |
985 | - background-color:#FFFF80; |
986 | -} |
987 | -div.dhx_cal_editor{ |
988 | - background-color:#FFE763; |
989 | - border:1px solid #B7A543; |
990 | - border-top-style:dotted; |
991 | - z-index:999; |
992 | - position:absolute; |
993 | - overflow:hidden; |
994 | -} |
995 | -textarea.dhx_cal_editor{ |
996 | - width:100%; |
997 | - height:100%; |
998 | - border:0px solid black; |
999 | - margin:none; |
1000 | - padding:none; |
1001 | - overflow:auto; |
1002 | -} |
1003 | -div.dhx_menu_head{ |
1004 | - background-image:url(imgs/controls.gif); |
1005 | - background-position: 0px -43px; |
1006 | - width:10px; height:10px; |
1007 | - margin-left:5px; margin-top:1px; |
1008 | - border:none; |
1009 | - cursor:default; |
1010 | -} |
1011 | -div.dhx_menu_icon{ |
1012 | - background-image:url(imgs/controls.gif); |
1013 | - width:20px; height:20px; |
1014 | - margin-left:-5px; margin-top:0px; |
1015 | - border:none; |
1016 | - cursor:pointer; |
1017 | -} |
1018 | -div.icon_details{ |
1019 | - background-position: 0px 0px; |
1020 | -} |
1021 | -div.icon_edit{ |
1022 | - background-position: -22px 0px; |
1023 | -} |
1024 | -div.icon_save{ |
1025 | - background-position: -84px -1px; |
1026 | -} |
1027 | -div.icon_cancel{ |
1028 | - background-position: -62px 0px; |
1029 | -} |
1030 | -div.icon_delete{ |
1031 | - background-position: -42px 0px; |
1032 | -} |
1033 | -.dhx_unselectable, .dhx_unselectable div{ |
1034 | - -webkit-user-select:none; |
1035 | - -moz-user-select:none; |
1036 | - -moz-user-select:-moz-none; |
1037 | -} |
1038 | -.dhx_cal_light{ |
1039 | - background-color:#FFE763; |
1040 | - border-radius:5px; |
1041 | - font-family:Tahoma; |
1042 | - font-size:8pt; |
1043 | - border:1px solid #B7A64B; |
1044 | - color:#887A2E; |
1045 | - |
1046 | - position:absolute; |
1047 | - z-index:10001; |
1048 | - |
1049 | - width:580px; |
1050 | - height:300px; |
1051 | - |
1052 | - box-shadow:5px 5px 5px #888; |
1053 | -} |
1054 | -.dhx_cal_light_wide{ |
1055 | - width:650px; |
1056 | -} |
1057 | -.dhx_mark{ |
1058 | - position:relative; top:3px; |
1059 | - background-image:url('./imgs/controls.gif'); |
1060 | - background-position: 0px -43px; |
1061 | - padding-left:10px; |
1062 | -} |
1063 | -.dhx_ie6 .dhx_mark{ |
1064 | - background-position: 6px -41px; |
1065 | -} |
1066 | - |
1067 | -.dhx_cal_light select{ |
1068 | - font-family:Tahoma; |
1069 | - font-size:8pt; |
1070 | - color:#887A2E; |
1071 | - padding:2px; |
1072 | - margin:0px; |
1073 | -} |
1074 | -.dhx_cal_ltitle{ |
1075 | - padding:2px 0px 2px 5px; |
1076 | - overflow:hidden; |
1077 | - white-space:nowrap; |
1078 | -} |
1079 | -.dhx_cal_ltitle span{ |
1080 | - white-space:nowrap; |
1081 | -} |
1082 | -.dhx_cal_lsection{ |
1083 | - background-color:#DBCF8C; |
1084 | - color:#FFF4B5; |
1085 | - font-weight:bold; |
1086 | - padding:5px 0px 3px 10px; |
1087 | -} |
1088 | -.dhx_section_time{ |
1089 | - background-color:#DBCF8C; |
1090 | - white-space:nowrap; |
1091 | -} |
1092 | -.dhx_cal_lsection .dhx_fullday{ |
1093 | - float:right; |
1094 | - margin-right:5px; |
1095 | - color:#887A2E; |
1096 | - font-size:12px; |
1097 | - font-weight:normal; |
1098 | - line-height:20px; |
1099 | - vertical-align:top; |
1100 | - cursor:pointer; |
1101 | -} |
1102 | -.dhx_cal_lsection{ |
1103 | - font-size:18px; |
1104 | - font-family:Arial; |
1105 | -} |
1106 | -.dhx_cal_ltext{ |
1107 | - padding:2px 0px 2px 10px; |
1108 | - overflow:hidden; |
1109 | -} |
1110 | -.dhx_cal_ltext textarea{ |
1111 | - background-color: #FFF4B5; /* #FFF4B5; should be the same for dhx_cal_larea, was transperent */ |
1112 | - overflow:auto; |
1113 | - border:none; |
1114 | - color:#887A2E; |
1115 | - height:100%; |
1116 | - width:100%; |
1117 | - outline:none !important; |
1118 | - resize: none; |
1119 | -} |
1120 | -.dhx_time{ |
1121 | - font-weight:bold; |
1122 | -} |
1123 | -.dhx_cal_light .dhx_title{ |
1124 | - padding-left:10px; |
1125 | -} |
1126 | -.dhx_cal_larea{ |
1127 | - border:1px solid #DCC43E; |
1128 | - background-color:#FFF4B5; |
1129 | - overflow:hidden; |
1130 | - |
1131 | - margin-left:3px; |
1132 | - |
1133 | - width:572px; |
1134 | - height:1px; |
1135 | -} |
1136 | -.dhx_btn_set{ |
1137 | - padding:5px 10px 0px 10px; |
1138 | - float:left; |
1139 | -} |
1140 | -.dhx_btn_set div{ |
1141 | - float:left; |
1142 | - height:21px; |
1143 | - line-height:21px; |
1144 | - vertical-align:middle; |
1145 | - cursor:pointer; |
1146 | -} |
1147 | -.dhx_save_btn{ |
1148 | - background-image:url('./imgs/controls.gif'); |
1149 | - background-position:-84px 0px; |
1150 | - width:21px; |
1151 | - |
1152 | -} |
1153 | -.dhx_cancel_btn{ |
1154 | - background-image:url('./imgs/controls.gif'); |
1155 | - background-position:-63px 0px; |
1156 | - width:20px; |
1157 | -} |
1158 | -.dhx_delete_btn{ |
1159 | - background-image:url('./imgs/controls.gif'); |
1160 | - background-position:-42px 0px; |
1161 | - width:20px; |
1162 | -} |
1163 | -.dhx_cal_cover{ |
1164 | - width:100%; |
1165 | - height:100%; |
1166 | - position:absolute; |
1167 | - z-index:10000; |
1168 | - top:0px; |
1169 | - left:0px; |
1170 | - background-color:black; |
1171 | - |
1172 | - opacity:0.1; |
1173 | - filter:alpha(opacity=10); |
1174 | -} |
1175 | -.dhx_custom_button{ |
1176 | - padding:0px 3px 0px 3px; |
1177 | - color:#887A2E; |
1178 | - font-family:Tahoma; |
1179 | - font-size:8pt; |
1180 | - background-color:#FFE763; |
1181 | - font-weight:normal; |
1182 | - margin-right:5px; |
1183 | - margin-top:0px; |
1184 | - cursor:pointer; |
1185 | -} |
1186 | -.dhx_custom_button div{ |
1187 | - cursor:pointer; |
1188 | - float:left; |
1189 | - height:21px; |
1190 | - line-height:21px; |
1191 | - vertical-align:middle; |
1192 | -} |
1193 | - |
1194 | - |
1195 | -.dhx_cal_light_wide .dhx_cal_larea{ |
1196 | - border-top-width:0px; |
1197 | -} |
1198 | -.dhx_cal_light_wide .dhx_cal_lsection{ |
1199 | - border:0px; |
1200 | - float:left; |
1201 | - text-align:right; |
1202 | - width:100px; |
1203 | - height:20px; |
1204 | - font-size:16px; |
1205 | - padding: 5px 0px 0px 10px; |
1206 | -} |
1207 | -.dhx_cal_light_wide .dhx_wrap_section{ |
1208 | - border-top:1px solid #DBCF8C; |
1209 | - position:relative; |
1210 | - background-color:#DBCF8C; |
1211 | - overflow:hidden; |
1212 | -} |
1213 | -.dhx_cal_light_wide .dhx_section_time{ |
1214 | - padding-top:2px !important; |
1215 | - height:20px !important; |
1216 | -} |
1217 | -.dhx_section_time{ |
1218 | - text-align: center; |
1219 | -} |
1220 | -.dhx_cal_light_wide .dhx_cal_larea{ |
1221 | - width:730px; |
1222 | -} |
1223 | -.dhx_cal_light_wide{ |
1224 | - width:738px; |
1225 | -} |
1226 | - |
1227 | -.dhx_cal_light_wide .dhx_section_time{ |
1228 | - background:transparent; |
1229 | -} |
1230 | -.dhx_cal_light_wide .dhx_cal_checkbox label{ |
1231 | - padding-left:0px; |
1232 | -} |
1233 | -.dhx_cal_wide_checkbox input{ |
1234 | - margin-top:8px; |
1235 | - margin-left:14px; |
1236 | -} |
1237 | -.dhx_cal_light input{ |
1238 | - font-family:Tahoma; |
1239 | - font-size:8pt; |
1240 | - color:#887A2E; |
1241 | -} |
1242 | -.dhx_cal_light_wide .dhx_cal_lsection .dhx_fullday{ |
1243 | - float:none; |
1244 | - margin-right:0px; |
1245 | - color:#FFF4B5; |
1246 | - font-weight:bold; |
1247 | - font-size:16px; |
1248 | - font-family:Arial; |
1249 | - cursor:pointer; |
1250 | -} |
1251 | -.dhx_custom_button{ |
1252 | - float: right; |
1253 | - height: 21px; |
1254 | - width:90px; |
1255 | - -webkit-border-radius: 4px; |
1256 | - -moz-border-radius: 4px; |
1257 | - -ms-border-radius: 4px; |
1258 | - -o-border-radius: 4px; |
1259 | - border-radius: 4px; |
1260 | -} |
1261 | -.dhx_cal_light_wide .dhx_custom_button { |
1262 | - position:absolute; |
1263 | - top:0; |
1264 | - right:0; |
1265 | - margin-top: 2px; |
1266 | -} |
1267 | -.dhx_cal_light_wide .dhx_repeat_right { |
1268 | - margin-right: 55px; |
1269 | -} |
1270 | -.dhx_minical_popup{ |
1271 | - position:absolute;z-index:10100; |
1272 | - width:251px; height:175px; |
1273 | -} |
1274 | -.dhx_scale_bar_header { |
1275 | - position: absolute; |
1276 | - border-bottom: 1px dotted #8894A3; |
1277 | - width: 100%; |
1278 | -} |
1279 | -.dhx_expand_icon { |
1280 | - position:absolute; top:0px; right:0px; |
1281 | - background-image:url(./imgs/collapse_expand_icon.gif); |
1282 | - width:18px; height:18px; |
1283 | - cursor:pointer; |
1284 | - background-position:0px 18px; |
1285 | - z-index:16; |
1286 | -} |
1287 | -.dhx_scheduler_agenda .dhx_cal_data { |
1288 | - background-image:url(./imgs/databg.png); |
1289 | -} |
1290 | -.dhx_agenda_area{ |
1291 | - width:100%; |
1292 | - overflow-y:auto; |
1293 | - background-image:url(./imgs/databg.png); |
1294 | -} |
1295 | -.dhx_agenda_line{ |
1296 | - height:21px; |
1297 | - clear:both; |
1298 | - overflow:hidden; |
1299 | -} |
1300 | -.dhx_agenda_line div{ |
1301 | - float:left; |
1302 | - width:188px; |
1303 | - border-right:1px dotted #8894A3; |
1304 | - text-align:center; |
1305 | - line-height:21px; |
1306 | - overflow:hidden; |
1307 | -} |
1308 | -.dhx_agenda_area .dhx_agenda_line div{ |
1309 | - border-right:0px dotted #8894A3; |
1310 | -} |
1311 | -.dhx_v_border{ |
1312 | - position:absolute; |
1313 | - left:187px; |
1314 | - top:0; |
1315 | - border-right:1px dotted #8894A3; |
1316 | - width:1px; |
1317 | - height:100%; |
1318 | -} |
1319 | -.dhx_agenda_line .dhx_event_icon{ |
1320 | - width:20px; |
1321 | - border-width:0px; |
1322 | - background:url(./imgs/icon.png) no-repeat; |
1323 | - background-position: 5px 4px; |
1324 | - cursor:pointer; |
1325 | -} |
1326 | -.dhx_agenda_line span{ |
1327 | - padding-left:5px; |
1328 | - line-height:21px; |
1329 | -} |
1330 | - |
1331 | - |
1332 | -.dhx_year_body{ |
1333 | - border-left:1px dotted #586A7E; |
1334 | -} |
1335 | -.dhx_year_week{ |
1336 | - position:relative; |
1337 | -} |
1338 | -.dhx_scale_bar_last{ |
1339 | - border-right:1px dotted #586A7E; |
1340 | -} |
1341 | -.dhx_year_month{ |
1342 | - height:18px; |
1343 | - padding-top:3px; |
1344 | - border:1px dotted #586A7E; |
1345 | - text-align:center; |
1346 | - vertical-align:middle; |
1347 | -} |
1348 | -.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{ |
1349 | - color:#E2E3E6 !important; |
1350 | -} |
1351 | -.dhx_year_body .dhx_month_body{ |
1352 | - height:0px; |
1353 | - overflow:hidden; |
1354 | -} |
1355 | -.dhx_month_head.dhx_year_event{ |
1356 | - background-color:#FFE763; |
1357 | -} |
1358 | -.dhx_year_body .dhx_before .dhx_month_head, .dhx_year_body .dhx_after .dhx_month_head{ |
1359 | - cursor: default; |
1360 | -} |
1361 | -.dhx_tooltip{ |
1362 | - border:1px solid #BBBBBB; |
1363 | - background-image:url(./imgs/databg.png); |
1364 | - position:absolute; |
1365 | - z-index:9998; |
1366 | - width:300px; |
1367 | - height:auto; |
1368 | - font-family:Tahoma; |
1369 | - font-size:8pt; |
1370 | - overflow:hidden; |
1371 | -} |
1372 | - |
1373 | -.dhx_tooltip_line{ |
1374 | - line-height:20px; |
1375 | - height:20px; |
1376 | - overflow:hidden; |
1377 | -} |
1378 | - |
1379 | -.dhx_tooltip_line .dhx_event_icon{ |
1380 | - width:20px; height:20px; |
1381 | - padding-right:10px; |
1382 | - float:left; |
1383 | - border-width:0px; |
1384 | - position:relative; |
1385 | - background:url(./imgs/icon.png) no-repeat; |
1386 | - background-position: 5px 4px; |
1387 | - cursor:pointer; |
1388 | -} |
1389 | - |
1390 | -.dhx_tooltip_date{ |
1391 | - float:left; |
1392 | - width:auto; |
1393 | - padding-left:5px; |
1394 | - text-align:center; |
1395 | -} |
1396 | - |
1397 | -.dhx_text_disabled{ |
1398 | - color:#887A2E; |
1399 | - font-family:Tahoma; |
1400 | - font-size:8pt; |
1401 | -} |
1402 | - |
1403 | -.dhx_mini_calendar{ |
1404 | - -moz-box-shadow:5px 5px 5px #888; /*Doesn't work in IE*/ |
1405 | - -khtml-box-shadow: 5px 5px 5px #888; |
1406 | -} |
1407 | - |
1408 | -.dhx_mini_calendar .dhx_month_head{ |
1409 | - cursor:pointer; |
1410 | -} |
1411 | -.dhx_mini_calendar .dhx_calendar_click{ |
1412 | - background-color: #C2D5FC; |
1413 | -} |
1414 | -.dhx_cal_navline div.dhx_minical_icon{ |
1415 | - width:18px; |
1416 | - height:18px; |
1417 | - left:190px; |
1418 | - top:1px; |
1419 | - cursor:pointer; |
1420 | - background-image:url(./imgs/calendar.gif); |
1421 | -} |
1422 | - |
1423 | -.dhx_matrix_scell { |
1424 | - height: 100%; |
1425 | -} |
1426 | - |
1427 | -.dhx_matrix_cell, .dhx_matrix_scell{ |
1428 | - overflow:hidden; |
1429 | - text-align:center; |
1430 | - vertical-align:middle; |
1431 | - border-bottom:1px dotted #8894A3; |
1432 | - border-right:1px dotted #8894A3; |
1433 | -} |
1434 | -.dhx_matrix_cell{ |
1435 | - background-color:white; |
1436 | -} |
1437 | -.dhx_matrix_line{ |
1438 | - overflow: hidden; |
1439 | -} |
1440 | -.dhx_matrix_cell div, .dhx_matrix_scell div{ |
1441 | - overflow:hidden; |
1442 | - text-align:center; |
1443 | - height:auto; |
1444 | -} |
1445 | - |
1446 | -.dhx_cal_lsection .dhx_readonly{ |
1447 | - font-size:9pt; |
1448 | - font-size:8pt; |
1449 | - padding:2px; |
1450 | - color:#887A2E; |
1451 | -} |
1452 | -.dhx_cal_event_line .dhx_event_resize { |
1453 | - cursor: w-resize; |
1454 | - background: url(./imgs/resize_dots.png) repeat-y; |
1455 | - position: absolute; |
1456 | - top: 0; |
1457 | - width: 4px; |
1458 | -} |
1459 | -.dhx_event_resize_start { |
1460 | - left: 0; |
1461 | -} |
1462 | -.dhx_event_resize_end { |
1463 | - right: 0; |
1464 | -} |
1465 | - |
1466 | -/* Tree view */ |
1467 | -.dhx_matrix_scell.folder, .dhx_data_table.folder .dhx_matrix_cell{ |
1468 | - background-color: #969394; |
1469 | - cursor: pointer; |
1470 | -} |
1471 | -.dhx_matrix_scell .dhx_scell_level0{ |
1472 | - padding-left: 5px; |
1473 | -} |
1474 | -.dhx_matrix_scell .dhx_scell_level1{ |
1475 | - padding-left: 20px; |
1476 | -} |
1477 | -.dhx_matrix_scell .dhx_scell_level2{ |
1478 | - padding-left: 35px; |
1479 | -} |
1480 | -.dhx_matrix_scell .dhx_scell_level3{ |
1481 | - padding-left: 50px; |
1482 | -} |
1483 | -.dhx_matrix_scell .dhx_scell_level4{ |
1484 | - padding-left: 65px; |
1485 | -} |
1486 | - |
1487 | -.dhx_matrix_scell.folder{ |
1488 | - font-weight: bold; |
1489 | - text-align: left; |
1490 | -} |
1491 | -.dhx_matrix_scell.folder .dhx_scell_expand{ |
1492 | - float: left; |
1493 | - width: 10px; |
1494 | - padding-right:3px; |
1495 | -} |
1496 | -.dhx_matrix_scell.folder .dhx_scell_name{ |
1497 | - float: left; |
1498 | - width: auto; |
1499 | -} |
1500 | -.dhx_matrix_scell.item .dhx_scell_name{ |
1501 | - padding-left:15px; |
1502 | - text-align: left; |
1503 | -} |
1504 | -.dhx_data_table.folder .dhx_matrix_cell{ |
1505 | - border-right: 0; |
1506 | -} |
1507 | -.dhx_section_timeline { |
1508 | - overflow: hidden; |
1509 | - padding: 4px 0 2px 10px; |
1510 | -} |
1511 | -.dhx_section_timeline select{ |
1512 | - width: 552px; |
1513 | -} |
1514 | - |
1515 | -/* Tree view end*/ |
1516 | - |
1517 | -/* Map view */ |
1518 | -.dhx_map_area{ |
1519 | - width:100%; |
1520 | - height:100%; |
1521 | - overflow-y: auto; |
1522 | - overflow-x: hidden; |
1523 | - background-image:url(./imgs/databg.png); |
1524 | -} |
1525 | -.dhx_map_line .dhx_event_icon{ |
1526 | - width:20px; |
1527 | - border-width:0px; |
1528 | - background:url(./imgs/icon.png) no-repeat; |
1529 | - background-position: 5px 4px; |
1530 | - cursor:pointer; |
1531 | -} |
1532 | -.dhx_map_line{ |
1533 | - height:21px; |
1534 | - clear:both; |
1535 | - overflow:hidden; |
1536 | -} |
1537 | -.dhx_map { |
1538 | - position:absolute; |
1539 | -} |
1540 | -.dhx_map_line div{ |
1541 | - float:left; |
1542 | - border-right:1px dotted #8894A3; |
1543 | - text-align:center; |
1544 | - line-height:21px; |
1545 | - overflow:hidden; |
1546 | -} |
1547 | -.dhx_map_line .headline_description{ |
1548 | - float:left; |
1549 | - |
1550 | - border-right:1px dotted #8894A3; |
1551 | - text-align:center; |
1552 | - line-height:21px; |
1553 | - overflow:hidden; |
1554 | -} |
1555 | -.dhx_map_line .dhx_map_description{ |
1556 | - float:left; |
1557 | - border-right: 0 dotted #8894A3; |
1558 | - text-align:center; |
1559 | - line-height:21px; |
1560 | - overflow:hidden; |
1561 | -} |
1562 | -.dhx_map_line .headline_date, .dhx_map_line .headline_description { |
1563 | - border-left: 0; |
1564 | -} |
1565 | -.dhx_map_line .line_description { |
1566 | - float:left; |
1567 | - border-right:1px dotted #8894A3; |
1568 | - text-align:left; |
1569 | - padding-left:5px; |
1570 | - line-height:21px; |
1571 | - overflow:hidden; |
1572 | -} |
1573 | -.dhx_map_line.highlight{ |
1574 | - background-color: #C4C5CC; |
1575 | -} |
1576 | -.dhx_map_area .dhx_map_line div{ |
1577 | - border-right:0px dotted #8894A3; |
1578 | -} |
1579 | -/* Map view end */ |
1580 | - |
1581 | -/* dhtmlXTooltip start */ |
1582 | -.dhtmlXTooltip.tooltip{ |
1583 | - -moz-box-shadow:3px 3px 3px #888888; |
1584 | - -webkit-box-shadow:3px 3px 3px #888888; |
1585 | - -o-box-shadow:3px 3px 3px #888888; |
1586 | - box-shadow:3px 3px 3px #888888; |
1587 | - filter: |
1588 | - progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=5) |
1589 | - ; |
1590 | - background-color:white; |
1591 | - border-left:1px dotted #887A2E; |
1592 | - border-top:1px dotted #887A2E; |
1593 | - color:#887A2E; |
1594 | - cursor:default; |
1595 | - padding:10px; |
1596 | - position:absolute; |
1597 | - z-index:500; |
1598 | -} |
1599 | -/* dhtmlXTooltip end */ |
1600 | - |
1601 | -/* Lightbox checkbox section */ |
1602 | -.dhx_cal_checkbox label { |
1603 | - padding-left: 5px; |
1604 | -} |
1605 | -/* Lightbox checkbox section end */ |
1606 | - |
1607 | - |
1608 | -/* Lightbox radiobuttons section */ |
1609 | -.dhx_cal_light .radio { |
1610 | - padding: 2px 0px 2px 10px; |
1611 | -} |
1612 | -.dhx_cal_light .radio input, .dhx_cal_light .radio label{ |
1613 | - line-height: 15px; |
1614 | -} |
1615 | -.dhx_cal_light .radio input { |
1616 | - vertical-align: middle; |
1617 | - margin: 0px; |
1618 | - padding: 0px; |
1619 | -} |
1620 | -.dhx_cal_light .radio label { |
1621 | - vertical-align: middle; |
1622 | - padding-right: 10px; |
1623 | -} |
1624 | -/* Lightbox radiobuttons section end */ |
1625 | - |
1626 | - |
1627 | -/* Lightbox dhtmlx combo section */ |
1628 | -.dhx_cal_light .combo { |
1629 | - padding: 4px; |
1630 | -} |
1631 | -.dhx_cal_light_wide .dhx_combo_box/*, .dhx_cal_light_wide .combo*/ { |
1632 | - width: 608px !important; |
1633 | - left: 10px; |
1634 | -} |
1635 | -/* Lightbox dhtmlx combo section end */ |
1636 | - |
1637 | -/* Agenda week start */ |
1638 | -.dhx_wa_column { |
1639 | - float: left; |
1640 | -} |
1641 | -.dhx_wa_column_last .dhx_wa_day_cont{ |
1642 | - border-left: 1px dotted #8894A3; |
1643 | -} |
1644 | -.dhx_wa_scale_bar { |
1645 | - font-family: Tahoma; |
1646 | - padding-left: 10px; |
1647 | - font-size: 11px; |
1648 | - border-top: 1px dotted #8894A3; |
1649 | - border-bottom: 1px dotted #8894A3; |
1650 | -} |
1651 | -.dhx_wa_day_data { |
1652 | - background-color: #FCFEFC; |
1653 | - overflow-y: auto; |
1654 | -} |
1655 | -.dhx_wa_ev_body { |
1656 | - border-bottom: 1px dotted #778899; |
1657 | - font-size: 12px; |
1658 | - padding: 5px 0 5px 7px; |
1659 | -} |
1660 | -.dhx_wa_dnd { |
1661 | - font-family: Tahoma; |
1662 | - position: absolute; |
1663 | - padding-right: 7px; |
1664 | - color: #887AE2 !important; |
1665 | - background-color: #FFE763 !important; |
1666 | - border: 1px solid #B7A543; |
1667 | -} |
1668 | -.dhx_cal_event_selected{ |
1669 | - background-color: #9cc1db; |
1670 | - color: white; |
1671 | -} |
1672 | -/* Agenda week end */ |
1673 | - |
1674 | -/* timeline second scale start */ |
1675 | -.dhx_second_scale_bar { |
1676 | - border-bottom: 1px dotted #586A7E; |
1677 | - padding-top: 2px; |
1678 | -} |
1679 | -/* timeline second scale end */ |
1680 | - |
1681 | - |
1682 | -/* grid view */ |
1683 | - |
1684 | -.dhx_cal_header div div{ |
1685 | - border-left: 1px dotted #8894A3; |
1686 | -} |
1687 | - |
1688 | -.dhx_grid_area{ |
1689 | - width:100%; |
1690 | - height:100%; |
1691 | - overflow-y:auto; |
1692 | - background-color:#FCFEFC; |
1693 | -} |
1694 | -.dhx_grid_area table{ |
1695 | - border-collapse: collapse; |
1696 | - border-spacing: 0; |
1697 | - width:100%; |
1698 | - table-layout:fixed; |
1699 | -} |
1700 | -.dhx_grid_area td{ |
1701 | - table-layout:fixed; |
1702 | - text-align:center; |
1703 | -} |
1704 | - |
1705 | -.dhx_grid_line{ |
1706 | - height:21px; |
1707 | - clear:both; |
1708 | - overflow:hidden; |
1709 | -} |
1710 | -.dhx_grid_line div{ |
1711 | - float:left; |
1712 | - cursor:default; |
1713 | - padding-top: 0; |
1714 | - padding-bottom: 0; |
1715 | - text-align:center; |
1716 | - line-height:21px; |
1717 | - overflow:hidden; |
1718 | -} |
1719 | - |
1720 | -.dhx_grid_area td, .dhx_grid_line div{ |
1721 | - padding-left:8px; |
1722 | - padding-right:8px; |
1723 | -} |
1724 | - |
1725 | - |
1726 | -.dhx_grid_area tr.dhx_grid_event{ |
1727 | - height:21px; |
1728 | - overflow:hidden; |
1729 | - margin:0 0 1px 0; |
1730 | -} |
1731 | -.dhx_grid_area tr.dhx_grid_event td{ |
1732 | - /*borders for old ies*/ |
1733 | - border-bottom:1px solid #ECEEF4; |
1734 | -} |
1735 | -.dhx_grid_area tr.dhx_grid_event:nth-child(2n+1) td, .dhx_grid_area tr.dhx_grid_event:nth-child(2n) td{ |
1736 | - border-bottom-width:0px; |
1737 | - border-bottom-style:none; |
1738 | -} |
1739 | -.dhx_grid_area tr.dhx_grid_event:nth-child(2n){ |
1740 | - background-color:#ECEEF4;; |
1741 | -} |
1742 | -.dhx_grid_area .dhx_grid_dummy{ |
1743 | - table-layout:auto; |
1744 | - margin:0 !important; |
1745 | - padding:0 !important; |
1746 | -} |
1747 | - |
1748 | -.dhx_grid_v_border{ |
1749 | - position:absolute; |
1750 | - border-right:1px solid #A4BED4; |
1751 | - width:1px; |
1752 | - height:100%; |
1753 | -} |
1754 | - |
1755 | -.dhx_grid_event_selected{ |
1756 | - background-color: #9cc1db !important; |
1757 | - color: white !important; |
1758 | -} |
1759 | - |
1760 | -.dhx_grid_sort_desc .dhx_grid_view_sort{ |
1761 | - background-position: 0 -55px; |
1762 | -} |
1763 | -.dhx_grid_sort_asc .dhx_grid_view_sort{ |
1764 | - background-position: 0 -66px; |
1765 | -} |
1766 | -.dhx_grid_view_sort{ |
1767 | - width:10px; |
1768 | - height:10px; |
1769 | - position: absolute; |
1770 | - border:none !important; |
1771 | - top: 5px; |
1772 | - background-repeat:no-repeat; |
1773 | - background-image: url(./imgs/images.png); |
1774 | -} |
1775 | -/* end grid */ |
1776 | - |
1777 | -/* marked timespans */ |
1778 | -.dhx_marked_timespan { |
1779 | - position: absolute; |
1780 | - width: 100%; |
1781 | -} |
1782 | -.dhx_time_block { |
1783 | - position:absolute; |
1784 | - width:100%; |
1785 | - background:silver; |
1786 | - opacity:0.4; |
1787 | - filter:alpha(opacity=40); |
1788 | - z-index:1; |
1789 | -} |
1790 | -.dhx_time_block_reset { |
1791 | - opacity: 1; |
1792 | - filter:alpha(opacity=100); |
1793 | -} |
1794 | -.dhx_scheduler_month .dhx_marked_timespan { |
1795 | - display: none; |
1796 | -} |
1797 | -.dhx_mini_calendar .dhx_marked_timespan { |
1798 | - display: none; |
1799 | -} |
1800 | -/* now time */ |
1801 | -.dhx_now_time { |
1802 | - width:100%; |
1803 | - border-bottom:2px dotted red; |
1804 | - z-index: 1; |
1805 | -} |
1806 | -.dhx_scheduler_month .dhx_now_time { |
1807 | - border-bottom: 0; |
1808 | - border-left: 2px dotted red; |
1809 | -} |
1810 | -.dhx_matrix_now_time { |
1811 | - border-left:2px dotted red; |
1812 | - z-index: 1; |
1813 | -} |
1814 | - |
1815 | - |
1816 | -/*IE*/ |
1817 | -div.dhx_form_repeat input.radio { margin:-4px 0 0 -4px !ie; } |
1818 | -div.dhx_form_repeat input.checkbox { margin:0 0 0 -4px !ie; } |
1819 | - |
1820 | -/*All*/ |
1821 | -.dhx_form_repeat, .dhx_form_repeat input { |
1822 | - padding:0; |
1823 | - margin:0; |
1824 | - padding-left:5px; |
1825 | - font-family:Tahoma, Verdana; |
1826 | - font-size:11px; |
1827 | - line-height:24px; |
1828 | -} |
1829 | - |
1830 | -.dhx_form_repeat { |
1831 | - overflow:hidden; |
1832 | - /*height:115px;*/ |
1833 | - height:0px; |
1834 | - background-color: #FFF4B5; |
1835 | - /*border: 1px solid #DCC43E;*/ |
1836 | -} |
1837 | - |
1838 | -.dhx_cal_light_wide .dhx_form_repeat { |
1839 | - background-color: transparent; |
1840 | -} |
1841 | - |
1842 | - |
1843 | -.dhx_repeat_center, .dhx_repeat_left{ |
1844 | - height:115px; |
1845 | - padding:10px 0 10px 10px; |
1846 | - float:left; |
1847 | -} |
1848 | - |
1849 | -.dhx_repeat_left{ |
1850 | - width:95px; |
1851 | -} |
1852 | - |
1853 | -.dhx_repeat_center{ |
1854 | - width:335px; |
1855 | - margin-top:12px; |
1856 | -} |
1857 | - |
1858 | -.dhx_repeat_divider{ |
1859 | - float:left; |
1860 | - height:115px; |
1861 | - border-left:1px dotted #DCC43E; |
1862 | - /*background-color: #DCC43E;*/ |
1863 | - width:1px; |
1864 | -} |
1865 | - |
1866 | -.dhx_repeat_right { |
1867 | - float:right; |
1868 | - height:115px; |
1869 | - width:160px; |
1870 | - padding:10px 3px 10px 10px; |
1871 | - margin-top:7px; |
1872 | -} |
1873 | - |
1874 | -input.dhx_repeat_text { |
1875 | - height:16px; |
1876 | - width: 27px; |
1877 | - margin: 0 4px 0 4px; |
1878 | - line-height:18px; |
1879 | - padding: 0 0 0 2px; |
1880 | -} |
1881 | - |
1882 | -.dhx_form_repeat select { |
1883 | - height: 20px; |
1884 | - width: 87px; |
1885 | - padding:0 0 0 2px; |
1886 | - margin: 0 4px 0 4px; |
1887 | -} |
1888 | - |
1889 | -input.dhx_repeat_date{ |
1890 | - height: 18px; |
1891 | - width: 80px; |
1892 | - padding:0 0 0 2px; |
1893 | - margin: 0 4px 0 4px; |
1894 | - background-repeat:no-repeat; |
1895 | - background-position:64px 0; |
1896 | - border:1px #7f9db9 solid; |
1897 | - line-height:18px; |
1898 | -} |
1899 | - |
1900 | -input.dhx_repeat_radio { |
1901 | - margin-right:4px; |
1902 | -} |
1903 | - |
1904 | -input.dhx_repeat_checkbox { |
1905 | - margin:4px 4px 0 0; |
1906 | -} |
1907 | - |
1908 | -.dhx_repeat_days td { |
1909 | - padding-right:5px; |
1910 | -} |
1911 | -.dhx_repeat_days label { |
1912 | - font-size:10px; |
1913 | -} |
1914 | -.dhx_custom_button{ |
1915 | - width:90px; |
1916 | - -webkit-border-radius: 4px; |
1917 | - -moz-border-radius: 4px; |
1918 | - -ms-border-radius: 4px; |
1919 | - -o-border-radius: 4px; |
1920 | - border-radius: 4px; |
1921 | -} |
1922 | -.dhx_custom_button_recurring{ |
1923 | - background-image:url(./imgs/but_repeat.gif); |
1924 | - background-position:-5px 20px; |
1925 | - width:20px; |
1926 | - margin-right:10px; |
1927 | -} |
1928 | - |
1929 | -/* increase width of lightbox */ |
1930 | -.dhx_cal_light_rec{ |
1931 | - width:640px; |
1932 | -} |
1933 | -.dhx_cal_light_rec .dhx_cal_larea{ |
1934 | - width:632px; |
1935 | -} |
1936 | -.dhx_cal_light_rec.dhx_cal_light_wide{ |
1937 | - width:816px; |
1938 | -} |
1939 | -.dhx_cal_light_rec.dhx_cal_light_wide .dhx_cal_larea{ |
1940 | - width:808px; |
1941 | -} |
1942 | \ No newline at end of file |
1943 | |
1944 | === removed file 'addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.js' |
1945 | --- addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.js 2012-10-24 13:48:59 +0000 |
1946 | +++ addons/web_calendar/static/lib/dhtmlxScheduler/sources/dhtmlxscheduler.js 1970-01-01 00:00:00 +0000 |
1947 | @@ -1,4806 +0,0 @@ |
1948 | -/* |
1949 | -This software is allowed to use under GPL or you need to obtain Commercial or Enterise License |
1950 | -to use it in non-GPL project. Please contact sales@dhtmlx.com for details |
1951 | -*/ |
1952 | - |
1953 | -if (!window.dhtmlx) { |
1954 | - dhtmlx = function(obj){ |
1955 | - for (var a in obj) dhtmlx[a]=obj[a]; |
1956 | - return dhtmlx; //simple singleton |
1957 | - }; |
1958 | -} |
1959 | -dhtmlx.extend_api=function(name,map,ext){ |
1960 | - var t = window[name]; |
1961 | - if (!t) return; //component not defined |
1962 | - window[name]=function(obj){ |
1963 | - if (obj && typeof obj == "object" && !obj.tagName){ |
1964 | - var that = t.apply(this,(map._init?map._init(obj):arguments)); |
1965 | - //global settings |
1966 | - for (var a in dhtmlx) |
1967 | - if (map[a]) this[map[a]](dhtmlx[a]); |
1968 | - //local settings |
1969 | - for (var a in obj){ |
1970 | - if (map[a]) this[map[a]](obj[a]); |
1971 | - else if (a.indexOf("on")==0){ |
1972 | - this.attachEvent(a,obj[a]); |
1973 | - } |
1974 | - } |
1975 | - } else |
1976 | - var that = t.apply(this,arguments); |
1977 | - if (map._patch) map._patch(this); |
1978 | - return that||this; |
1979 | - }; |
1980 | - window[name].prototype=t.prototype; |
1981 | - if (ext) |
1982 | - dhtmlXHeir(window[name].prototype,ext); |
1983 | -}; |
1984 | - |
1985 | -dhtmlxAjax={ |
1986 | - get:function(url,callback){ |
1987 | - var t=new dtmlXMLLoaderObject(true); |
1988 | - t.async=(arguments.length<3); |
1989 | - t.waitCall=callback; |
1990 | - t.loadXML(url) |
1991 | - return t; |
1992 | - }, |
1993 | - post:function(url,post,callback){ |
1994 | - var t=new dtmlXMLLoaderObject(true); |
1995 | - t.async=(arguments.length<4); |
1996 | - t.waitCall=callback; |
1997 | - t.loadXML(url,true,post) |
1998 | - return t; |
1999 | - }, |
2000 | - getSync:function(url){ |
2001 | - return this.get(url,null,true) |
2002 | - }, |
2003 | - postSync:function(url,post){ |
2004 | - return this.post(url,post,null,true); |
2005 | - } |
2006 | -} |
2007 | - |
2008 | -/** |
2009 | - * @desc: xmlLoader object |
2010 | - * @type: private |
2011 | - * @param: funcObject - xml parser function |
2012 | - * @param: object - jsControl object |
2013 | - * @param: async - sync/async mode (async by default) |
2014 | - * @param: rSeed - enable/disable random seed ( prevent IE caching) |
2015 | - * @topic: 0 |
2016 | - */ |
2017 | -function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){ |
2018 | - this.xmlDoc=""; |
2019 | - |
2020 | - if (typeof (async) != "undefined") |
2021 | - this.async=async; |
2022 | - else |
2023 | - this.async=true; |
2024 | - |
2025 | - this.onloadAction=funcObject||null; |
2026 | - this.mainObject=dhtmlObject||null; |
2027 | - this.waitCall=null; |
2028 | - this.rSeed=rSeed||false; |
2029 | - return this; |
2030 | -}; |
2031 | - |
2032 | -dtmlXMLLoaderObject.count = 0; |
2033 | - |
2034 | -/** |
2035 | - * @desc: xml loading handler |
2036 | - * @type: private |
2037 | - * @param: dtmlObject - xmlLoader object |
2038 | - * @topic: 0 |
2039 | - */ |
2040 | -dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){ |
2041 | - var once = true; |
2042 | - this.check=function (){ |
2043 | - if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){ |
2044 | - if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){ |
2045 | - if (!once) |
2046 | - return; |
2047 | - |
2048 | - once=false; //IE 5 fix |
2049 | - dtmlXMLLoaderObject.count++; |
2050 | - if (typeof dhtmlObject.onloadAction == "function") |
2051 | - dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject); |
2052 | - |
2053 | - if (dhtmlObject.waitCall){ |
2054 | - dhtmlObject.waitCall.call(this,dhtmlObject); |
2055 | - dhtmlObject.waitCall=null; |
2056 | - } |
2057 | - } |
2058 | - } |
2059 | - }; |
2060 | - return this.check; |
2061 | -}; |
2062 | - |
2063 | -/** |
2064 | - * @desc: return XML top node |
2065 | - * @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla) |
2066 | - * @type: private |
2067 | - * @returns: top XML node |
2068 | - * @topic: 0 |
2069 | - */ |
2070 | -dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){ |
2071 | - if (this.xmlDoc.responseXML){ |
2072 | - var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName); |
2073 | - if(temp.length==0 && tagName.indexOf(":")!=-1) |
2074 | - var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]); |
2075 | - var z = temp[0]; |
2076 | - } else |
2077 | - var z = this.xmlDoc.documentElement; |
2078 | - |
2079 | - if (z){ |
2080 | - this._retry=false; |
2081 | - return z; |
2082 | - } |
2083 | - |
2084 | - if (!this._retry){ |
2085 | - this._retry=true; |
2086 | - var oldObj = this.xmlDoc; |
2087 | - this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""), true); |
2088 | - return this.getXMLTopNode(tagName, oldObj); |
2089 | - } |
2090 | - |
2091 | - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ |
2092 | - (oldObj||this.xmlDoc), |
2093 | - this.mainObject |
2094 | - ]); |
2095 | - |
2096 | - return document.createElement("DIV"); |
2097 | -}; |
2098 | - |
2099 | -/** |
2100 | - * @desc: load XML from string |
2101 | - * @type: private |
2102 | - * @param: xmlString - xml string |
2103 | - * @topic: 0 |
2104 | - */ |
2105 | -dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString, silent){ |
2106 | - |
2107 | - if (!_isIE){ |
2108 | - var parser = new DOMParser(); |
2109 | - this.xmlDoc=parser.parseFromString(xmlString, "text/xml"); |
2110 | - } else { |
2111 | - this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); |
2112 | - this.xmlDoc.async=this.async; |
2113 | - this.xmlDoc.onreadystatechange = function(){}; |
2114 | - this.xmlDoc["loadXM"+"L"](xmlString); |
2115 | - } |
2116 | - |
2117 | - if (silent) |
2118 | - return; |
2119 | - |
2120 | - if (this.onloadAction) |
2121 | - this.onloadAction(this.mainObject, null, null, null, this); |
2122 | - |
2123 | - if (this.waitCall){ |
2124 | - this.waitCall(); |
2125 | - this.waitCall=null; |
2126 | - } |
2127 | -} |
2128 | -/** |
2129 | - * @desc: load XML |
2130 | - * @type: private |
2131 | - * @param: filePath - xml file path |
2132 | - * @param: postMode - send POST request |
2133 | - * @param: postVars - list of vars for post request |
2134 | - * @topic: 0 |
2135 | - */ |
2136 | -dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){ |
2137 | - if (this.rSeed) |
2138 | - filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf(); |
2139 | - this.filePath=filePath; |
2140 | - |
2141 | - if ((!_isIE)&&(window.XMLHttpRequest)) |
2142 | - this.xmlDoc=new XMLHttpRequest(); |
2143 | - else { |
2144 | - this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP"); |
2145 | - } |
2146 | - |
2147 | - if (this.async) |
2148 | - this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); |
2149 | - this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async); |
2150 | - |
2151 | - if (rpc){ |
2152 | - this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")"); |
2153 | - this.xmlDoc.setRequestHeader("Content-type", "text/xml"); |
2154 | - } |
2155 | - |
2156 | - else if (postMode) |
2157 | - this.xmlDoc.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); |
2158 | - |
2159 | - this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest"); |
2160 | - this.xmlDoc.send(null||postVars); |
2161 | - |
2162 | - if (!this.async) |
2163 | - (new this.waitLoadFunction(this))(); |
2164 | -}; |
2165 | -/** |
2166 | - * @desc: destructor, cleans used memory |
2167 | - * @type: private |
2168 | - * @topic: 0 |
2169 | - */ |
2170 | -dtmlXMLLoaderObject.prototype.destructor=function(){ |
2171 | - this._filterXPath = null; |
2172 | - this._getAllNamedChilds = null; |
2173 | - this._retry = null; |
2174 | - this.async = null; |
2175 | - this.rSeed = null; |
2176 | - this.filePath = null; |
2177 | - this.onloadAction = null; |
2178 | - this.mainObject = null; |
2179 | - this.xmlDoc = null; |
2180 | - this.doXPath = null; |
2181 | - this.doXPathOpera = null; |
2182 | - this.doXSLTransToObject = null; |
2183 | - this.doXSLTransToString = null; |
2184 | - this.loadXML = null; |
2185 | - this.loadXMLString = null; |
2186 | - // this.waitLoadFunction = null; |
2187 | - this.doSerialization = null; |
2188 | - this.xmlNodeToJSON = null; |
2189 | - this.getXMLTopNode = null; |
2190 | - this.setXSLParamValue = null; |
2191 | - return null; |
2192 | -} |
2193 | - |
2194 | -dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){ |
2195 | - var t={}; |
2196 | - for (var i=0; i<node.attributes.length; i++) |
2197 | - t[node.attributes[i].name]=node.attributes[i].value; |
2198 | - t["_tagvalue"]=node.firstChild?node.firstChild.nodeValue:""; |
2199 | - for (var i=0; i<node.childNodes.length; i++){ |
2200 | - var name=node.childNodes[i].tagName; |
2201 | - if (name){ |
2202 | - if (!t[name]) t[name]=[]; |
2203 | - t[name].push(this.xmlNodeToJSON(node.childNodes[i])); |
2204 | - } |
2205 | - } |
2206 | - return t; |
2207 | -} |
2208 | - |
2209 | -/** |
2210 | - * @desc: Call wrapper |
2211 | - * @type: private |
2212 | - * @param: funcObject - action handler |
2213 | - * @param: dhtmlObject - user data |
2214 | - * @returns: function handler |
2215 | - * @topic: 0 |
2216 | - */ |
2217 | -function callerFunction(funcObject, dhtmlObject){ |
2218 | - this.handler=function(e){ |
2219 | - if (!e) |
2220 | - e=window.event; |
2221 | - funcObject(e, dhtmlObject); |
2222 | - return true; |
2223 | - }; |
2224 | - return this.handler; |
2225 | -}; |
2226 | - |
2227 | -/** |
2228 | - * @desc: Calculate absolute position of html object |
2229 | - * @type: private |
2230 | - * @param: htmlObject - html object |
2231 | - * @topic: 0 |
2232 | - */ |
2233 | -function getAbsoluteLeft(htmlObject){ |
2234 | - return getOffset(htmlObject).left; |
2235 | -} |
2236 | -/** |
2237 | - * @desc: Calculate absolute position of html object |
2238 | - * @type: private |
2239 | - * @param: htmlObject - html object |
2240 | - * @topic: 0 |
2241 | - */ |
2242 | -function getAbsoluteTop(htmlObject){ |
2243 | - return getOffset(htmlObject).top; |
2244 | -} |
2245 | - |
2246 | -function getOffsetSum(elem) { |
2247 | - var top=0, left=0; |
2248 | - while(elem) { |
2249 | - top = top + parseInt(elem.offsetTop); |
2250 | - left = left + parseInt(elem.offsetLeft); |
2251 | - elem = elem.offsetParent; |
2252 | - } |
2253 | - return {top: top, left: left}; |
2254 | -} |
2255 | -function getOffsetRect(elem) { |
2256 | - var box = elem.getBoundingClientRect(); |
2257 | - var body = document.body; |
2258 | - var docElem = document.documentElement; |
2259 | - var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; |
2260 | - var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; |
2261 | - var clientTop = docElem.clientTop || body.clientTop || 0; |
2262 | - var clientLeft = docElem.clientLeft || body.clientLeft || 0; |
2263 | - var top = box.top + scrollTop - clientTop; |
2264 | - var left = box.left + scrollLeft - clientLeft; |
2265 | - return { top: Math.round(top), left: Math.round(left) }; |
2266 | -} |
2267 | -function getOffset(elem) { |
2268 | - if (elem.getBoundingClientRect) { |
2269 | - return getOffsetRect(elem); |
2270 | - } else { |
2271 | - return getOffsetSum(elem); |
2272 | - } |
2273 | -} |
2274 | - |
2275 | -/** |
2276 | - * @desc: Convert string to it boolean representation |
2277 | - * @type: private |
2278 | - * @param: inputString - string for covertion |
2279 | - * @topic: 0 |
2280 | - */ |
2281 | -function convertStringToBoolean(inputString){ |
2282 | - if (typeof (inputString) == "string") |
2283 | - inputString=inputString.toLowerCase(); |
2284 | - |
2285 | - switch (inputString){ |
2286 | - case "1": |
2287 | - case "true": |
2288 | - case "yes": |
2289 | - case "y": |
2290 | - case 1: |
2291 | - case true: |
2292 | - return true; |
2293 | - break; |
2294 | - |
2295 | - default: return false; |
2296 | - } |
2297 | -} |
2298 | - |
2299 | -/** |
2300 | - * @desc: find out what symbol to use as url param delimiters in further params |
2301 | - * @type: private |
2302 | - * @param: str - current url string |
2303 | - * @topic: 0 |
2304 | - */ |
2305 | -function getUrlSymbol(str){ |
2306 | - if (str.indexOf("?") != -1) |
2307 | - return "&" |
2308 | - else |
2309 | - return "?" |
2310 | -} |
2311 | - |
2312 | -function dhtmlDragAndDropObject(){ |
2313 | - if (window.dhtmlDragAndDrop) |
2314 | - return window.dhtmlDragAndDrop; |
2315 | - |
2316 | - this.lastLanding=0; |
2317 | - this.dragNode=0; |
2318 | - this.dragStartNode=0; |
2319 | - this.dragStartObject=0; |
2320 | - this.tempDOMU=null; |
2321 | - this.tempDOMM=null; |
2322 | - this.waitDrag=0; |
2323 | - window.dhtmlDragAndDrop=this; |
2324 | - |
2325 | - return this; |
2326 | -}; |
2327 | - |
2328 | -dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){ |
2329 | - htmlNode.onmousedown=null; |
2330 | - htmlNode.dragStarter=null; |
2331 | - htmlNode.dragLanding=null; |
2332 | -} |
2333 | -dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode, dhtmlObject){ |
2334 | - htmlNode.onmousedown=this.preCreateDragCopy; |
2335 | - htmlNode.dragStarter=dhtmlObject; |
2336 | - this.addDragLanding(htmlNode, dhtmlObject); |
2337 | -} |
2338 | -dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode, dhtmlObject){ |
2339 | - htmlNode.dragLanding=dhtmlObject; |
2340 | -} |
2341 | -dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){ |
2342 | - if ((e||window.event) && (e||event).button == 2) |
2343 | - return; |
2344 | - |
2345 | - if (window.dhtmlDragAndDrop.waitDrag){ |
2346 | - window.dhtmlDragAndDrop.waitDrag=0; |
2347 | - document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU; |
2348 | - document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM; |
2349 | - return false; |
2350 | - } |
2351 | - |
2352 | - if (window.dhtmlDragAndDrop.dragNode) |
2353 | - window.dhtmlDragAndDrop.stopDrag(e); |
2354 | - |
2355 | - window.dhtmlDragAndDrop.waitDrag=1; |
2356 | - window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup; |
2357 | - window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove; |
2358 | - window.dhtmlDragAndDrop.dragStartNode=this; |
2359 | - window.dhtmlDragAndDrop.dragStartObject=this.dragStarter; |
2360 | - document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy; |
2361 | - document.body.onmousemove=window.dhtmlDragAndDrop.callDrag; |
2362 | - window.dhtmlDragAndDrop.downtime = new Date().valueOf(); |
2363 | - |
2364 | - |
2365 | - if ((e)&&(e.preventDefault)){ |
2366 | - e.preventDefault(); |
2367 | - return false; |
2368 | - } |
2369 | - return false; |
2370 | -}; |
2371 | -dhtmlDragAndDropObject.prototype.callDrag=function(e){ |
2372 | - if (!e) |
2373 | - e=window.event; |
2374 | - dragger=window.dhtmlDragAndDrop; |
2375 | - if ((new Date()).valueOf()-dragger.downtime<100) return; |
2376 | - |
2377 | - //if ((e.button == 0)&&(_isIE)) |
2378 | - // return dragger.stopDrag(); |
2379 | - |
2380 | - if (!dragger.dragNode){ |
2381 | - if (dragger.waitDrag){ |
2382 | - dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode, e); |
2383 | - |
2384 | - if (!dragger.dragNode) |
2385 | - return dragger.stopDrag(); |
2386 | - |
2387 | - dragger.dragNode.onselectstart=function(){return false;} |
2388 | - dragger.gldragNode=dragger.dragNode; |
2389 | - document.body.appendChild(dragger.dragNode); |
2390 | - document.body.onmouseup=dragger.stopDrag; |
2391 | - dragger.waitDrag=0; |
2392 | - dragger.dragNode.pWindow=window; |
2393 | - dragger.initFrameRoute(); |
2394 | - } |
2395 | - else return dragger.stopDrag(e, true); |
2396 | - } |
2397 | - |
2398 | - if (dragger.dragNode.parentNode != window.document.body && dragger.gldragNode){ |
2399 | - var grd = dragger.gldragNode; |
2400 | - |
2401 | - if (dragger.gldragNode.old) |
2402 | - grd=dragger.gldragNode.old; |
2403 | - |
2404 | - //if (!document.all) dragger.calculateFramePosition(); |
2405 | - grd.parentNode.removeChild(grd); |
2406 | - var oldBody = dragger.dragNode.pWindow; |
2407 | - |
2408 | - if (grd.pWindow && grd.pWindow.dhtmlDragAndDrop.lastLanding) |
2409 | - grd.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(grd.pWindow.dhtmlDragAndDrop.lastLanding); |
2410 | - |
2411 | - // var oldp=dragger.dragNode.parentObject; |
2412 | - if (_isIE){ |
2413 | - var div = document.createElement("Div"); |
2414 | - div.innerHTML=dragger.dragNode.outerHTML; |
2415 | - dragger.dragNode=div.childNodes[0]; |
2416 | - } else |
2417 | - dragger.dragNode=dragger.dragNode.cloneNode(true); |
2418 | - |
2419 | - dragger.dragNode.pWindow=window; |
2420 | - // dragger.dragNode.parentObject=oldp; |
2421 | - |
2422 | - dragger.gldragNode.old=dragger.dragNode; |
2423 | - document.body.appendChild(dragger.dragNode); |
2424 | - oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode; |
2425 | - } |
2426 | - |
2427 | - dragger.dragNode.style.left=e.clientX+15+(dragger.fx |
2428 | - ? dragger.fx*(-1) |
2429 | - : 0) |
2430 | - +(document.body.scrollLeft||document.documentElement.scrollLeft)+"px"; |
2431 | - dragger.dragNode.style.top=e.clientY+3+(dragger.fy |
2432 | - ? dragger.fy*(-1) |
2433 | - : 0) |
2434 | - +(document.body.scrollTop||document.documentElement.scrollTop)+"px"; |
2435 | - |
2436 | - if (!e.srcElement) |
2437 | - var z = e.target; |
2438 | - else |
2439 | - z=e.srcElement; |
2440 | - dragger.checkLanding(z, e); |
2441 | -} |
2442 | - |
2443 | -dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){ |
2444 | - //this.fx = 0, this.fy = 0; |
2445 | - if (window.name){ |
2446 | - var el = parent.frames[window.name].frameElement.offsetParent; |
2447 | - var fx = 0; |
2448 | - var fy = 0; |
2449 | - |
2450 | - while (el){ |
2451 | - fx+=el.offsetLeft; |
2452 | - fy+=el.offsetTop; |
2453 | - el=el.offsetParent; |
2454 | - } |
2455 | - |
2456 | - if ((parent.dhtmlDragAndDrop)){ |
2457 | - var ls = parent.dhtmlDragAndDrop.calculateFramePosition(1); |
2458 | - fx+=ls.split('_')[0]*1; |
2459 | - fy+=ls.split('_')[1]*1; |
2460 | - } |
2461 | - |
2462 | - if (n) |
2463 | - return fx+"_"+fy; |
2464 | - else |
2465 | - this.fx=fx; |
2466 | - this.fy=fy; |
2467 | - } |
2468 | - return "0_0"; |
2469 | -} |
2470 | -dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject, e){ |
2471 | - if ((htmlObject)&&(htmlObject.dragLanding)){ |
2472 | - if (this.lastLanding) |
2473 | - this.lastLanding.dragLanding._dragOut(this.lastLanding); |
2474 | - this.lastLanding=htmlObject; |
2475 | - this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, e.clientX, |
2476 | - e.clientY, e); |
2477 | - this.lastLanding_scr=(_isIE ? e.srcElement : e.target); |
2478 | - } else { |
2479 | - if ((htmlObject)&&(htmlObject.tagName != "BODY")) |
2480 | - this.checkLanding(htmlObject.parentNode, e); |
2481 | - else { |
2482 | - if (this.lastLanding) |
2483 | - this.lastLanding.dragLanding._dragOut(this.lastLanding, e.clientX, e.clientY, e); |
2484 | - this.lastLanding=0; |
2485 | - |
2486 | - if (this._onNotFound) |
2487 | - this._onNotFound(); |
2488 | - } |
2489 | - } |
2490 | -} |
2491 | -dhtmlDragAndDropObject.prototype.stopDrag=function(e, mode){ |
2492 | - dragger=window.dhtmlDragAndDrop; |
2493 | - |
2494 | - if (!mode){ |
2495 | - dragger.stopFrameRoute(); |
2496 | - var temp = dragger.lastLanding; |
2497 | - dragger.lastLanding=null; |
2498 | - |
2499 | - if (temp) |
2500 | - temp.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, temp, (_isIE |
2501 | - ? event.srcElement |
2502 | - : e.target)); |
2503 | - } |
2504 | - dragger.lastLanding=null; |
2505 | - |
2506 | - if ((dragger.dragNode)&&(dragger.dragNode.parentNode == document.body)) |
2507 | - dragger.dragNode.parentNode.removeChild(dragger.dragNode); |
2508 | - dragger.dragNode=0; |
2509 | - dragger.gldragNode=0; |
2510 | - dragger.fx=0; |
2511 | - dragger.fy=0; |
2512 | - dragger.dragStartNode=0; |
2513 | - dragger.dragStartObject=0; |
2514 | - document.body.onmouseup=dragger.tempDOMU; |
2515 | - document.body.onmousemove=dragger.tempDOMM; |
2516 | - dragger.tempDOMU=null; |
2517 | - dragger.tempDOMM=null; |
2518 | - dragger.waitDrag=0; |
2519 | -} |
2520 | - |
2521 | -dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){ |
2522 | - if (win) |
2523 | - window.dhtmlDragAndDrop.stopDrag(1, 1); |
2524 | - |
2525 | - for (var i = 0; i < window.frames.length; i++){ |
2526 | - try{ |
2527 | - if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop)) |
2528 | - window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window); |
2529 | - } catch(e){} |
2530 | - } |
2531 | - |
2532 | - try{ |
2533 | - if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win)) |
2534 | - parent.dhtmlDragAndDrop.stopFrameRoute(window); |
2535 | - } catch(e){} |
2536 | -} |
2537 | -dhtmlDragAndDropObject.prototype.initFrameRoute=function(win, mode){ |
2538 | - if (win){ |
2539 | - window.dhtmlDragAndDrop.preCreateDragCopy(); |
2540 | - window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode; |
2541 | - window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject; |
2542 | - window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode; |
2543 | - window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode; |
2544 | - window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag; |
2545 | - window.waitDrag=0; |
2546 | - |
2547 | - if (((!_isIE)&&(mode))&&((!_isFF)||(_FFrv < 1.8))) |
2548 | - window.dhtmlDragAndDrop.calculateFramePosition(); |
2549 | - } |
2550 | - try{ |
2551 | - if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win)) |
2552 | - parent.dhtmlDragAndDrop.initFrameRoute(window); |
2553 | - }catch(e){} |
2554 | - |
2555 | - for (var i = 0; i < window.frames.length; i++){ |
2556 | - try{ |
2557 | - if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop)) |
2558 | - window.frames[i].dhtmlDragAndDrop.initFrameRoute(window, ((!win||mode) ? 1 : 0)); |
2559 | - } catch(e){} |
2560 | - } |
2561 | -} |
2562 | - |
2563 | -_isFF = false; |
2564 | -_isIE = false; |
2565 | -_isOpera = false; |
2566 | -_isKHTML = false; |
2567 | -_isMacOS = false; |
2568 | -_isChrome = false; |
2569 | -_FFrv = false; |
2570 | -_KHTMLrv = false; |
2571 | -_OperaRv = false; |
2572 | - |
2573 | -if (navigator.userAgent.indexOf('Macintosh') != -1) |
2574 | - _isMacOS=true; |
2575 | - |
2576 | - |
2577 | -if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1) |
2578 | - _isChrome=true; |
2579 | - |
2580 | -if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ |
2581 | - _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); |
2582 | - |
2583 | - if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ |
2584 | - _isFF=true; |
2585 | - _FFrv = 1.9; |
2586 | - } else |
2587 | - _isKHTML=true; |
2588 | -} else if (navigator.userAgent.indexOf('Opera') != -1){ |
2589 | - _isOpera=true; |
2590 | - _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); |
2591 | -} |
2592 | - |
2593 | - |
2594 | -else if (navigator.appName.indexOf("Microsoft") != -1){ |
2595 | - _isIE=true; |
2596 | - if ((navigator.appVersion.indexOf("MSIE 8.0")!= -1 || navigator.appVersion.indexOf("MSIE 9.0")!= -1 || navigator.appVersion.indexOf("MSIE 10.0")!= -1 ) && document.compatMode != "BackCompat"){ |
2597 | - _isIE=8; |
2598 | - } |
2599 | -} else { |
2600 | - _isFF=true; |
2601 | - _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) |
2602 | -} |
2603 | - |
2604 | - |
2605 | -//multibrowser Xpath processor |
2606 | -dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){ |
2607 | - if (_isKHTML || (!_isIE && !window.XPathResult)) |
2608 | - return this.doXPathOpera(xpathExp, docObj); |
2609 | - |
2610 | - if (_isIE){ //IE |
2611 | - if (!docObj) |
2612 | - if (!this.xmlDoc.nodeName) |
2613 | - docObj=this.xmlDoc.responseXML |
2614 | - else |
2615 | - docObj=this.xmlDoc; |
2616 | - |
2617 | - if (!docObj) |
2618 | - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ |
2619 | - (docObj||this.xmlDoc), |
2620 | - this.mainObject |
2621 | - ]); |
2622 | - |
2623 | - if (namespace != null) |
2624 | - docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); // |
2625 | - |
2626 | - if (result_type == 'single'){ |
2627 | - return docObj.selectSingleNode(xpathExp); |
2628 | - } |
2629 | - else { |
2630 | - return docObj.selectNodes(xpathExp)||new Array(0); |
2631 | - } |
2632 | - } else { //Mozilla |
2633 | - var nodeObj = docObj; |
2634 | - |
2635 | - if (!docObj){ |
2636 | - if (!this.xmlDoc.nodeName){ |
2637 | - docObj=this.xmlDoc.responseXML |
2638 | - } |
2639 | - else { |
2640 | - docObj=this.xmlDoc; |
2641 | - } |
2642 | - } |
2643 | - |
2644 | - if (!docObj) |
2645 | - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ |
2646 | - (docObj||this.xmlDoc), |
2647 | - this.mainObject |
2648 | - ]); |
2649 | - |
2650 | - if (docObj.nodeName.indexOf("document") != -1){ |
2651 | - nodeObj=docObj; |
2652 | - } |
2653 | - else { |
2654 | - nodeObj=docObj; |
2655 | - docObj=docObj.ownerDocument; |
2656 | - } |
2657 | - var retType = XPathResult.ANY_TYPE; |
2658 | - |
2659 | - if (result_type == 'single') |
2660 | - retType=XPathResult.FIRST_ORDERED_NODE_TYPE |
2661 | - var rowsCol = new Array(); |
2662 | - var col = docObj.evaluate(xpathExp, nodeObj, function(pref){ |
2663 | - return namespace |
2664 | - }, retType, null); |
2665 | - |
2666 | - if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){ |
2667 | - return col.singleNodeValue; |
2668 | - } |
2669 | - var thisColMemb = col.iterateNext(); |
2670 | - |
2671 | - while (thisColMemb){ |
2672 | - rowsCol[rowsCol.length]=thisColMemb; |
2673 | - thisColMemb=col.iterateNext(); |
2674 | - } |
2675 | - return rowsCol; |
2676 | - } |
2677 | -} |
2678 | - |
2679 | -function _dhtmlxError(type, name, params){ |
2680 | - if (!this.catches) |
2681 | - this.catches=new Array(); |
2682 | - |
2683 | - return this; |
2684 | -} |
2685 | - |
2686 | -_dhtmlxError.prototype.catchError=function(type, func_name){ |
2687 | - this.catches[type]=func_name; |
2688 | -} |
2689 | -_dhtmlxError.prototype.throwError=function(type, name, params){ |
2690 | - if (this.catches[type]) |
2691 | - return this.catches[type](type, name, params); |
2692 | - |
2693 | - if (this.catches["ALL"]) |
2694 | - return this.catches["ALL"](type, name, params); |
2695 | - |
2696 | - alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]); |
2697 | - return null; |
2698 | -} |
2699 | - |
2700 | -window.dhtmlxError=new _dhtmlxError(); |
2701 | - |
2702 | - |
2703 | -//opera fake, while 9.0 not released |
2704 | -//multibrowser Xpath processor |
2705 | -dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){ |
2706 | - //this is fake for Opera |
2707 | - var z = xpathExp.replace(/[\/]+/gi, "/").split('/'); |
2708 | - var obj = null; |
2709 | - var i = 1; |
2710 | - |
2711 | - if (!z.length) |
2712 | - return []; |
2713 | - |
2714 | - if (z[0] == ".") |
2715 | - obj=[docObj]; else if (z[0] == ""){ |
2716 | - obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, "")); |
2717 | - i++; |
2718 | - } else |
2719 | - return []; |
2720 | - |
2721 | - for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]); |
2722 | - |
2723 | - if (z[i-1].indexOf("[") != -1) |
2724 | - obj=this._filterXPath(obj, z[i-1]); |
2725 | - return obj; |
2726 | -} |
2727 | - |
2728 | -dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){ |
2729 | - var c = new Array(); |
2730 | - var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, ""); |
2731 | - |
2732 | - for (var i = 0; i < a.length; i++) |
2733 | - if (a[i].getAttribute(b)) |
2734 | - c[c.length]=a[i]; |
2735 | - |
2736 | - return c; |
2737 | -} |
2738 | -dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){ |
2739 | - var c = new Array(); |
2740 | - |
2741 | - if (_isKHTML) |
2742 | - b=b.toUpperCase(); |
2743 | - |
2744 | - for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){ |
2745 | - if (_isKHTML){ |
2746 | - if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b) |
2747 | - c[c.length]=a[i].childNodes[j]; |
2748 | - } |
2749 | - |
2750 | - else if (a[i].childNodes[j].tagName == b) |
2751 | - c[c.length]=a[i].childNodes[j]; |
2752 | - } |
2753 | - |
2754 | - return c; |
2755 | -} |
2756 | - |
2757 | -function dhtmlXHeir(a, b){ |
2758 | - for (var c in b) |
2759 | - if (typeof (b[c]) == "function") |
2760 | - a[c]=b[c]; |
2761 | - return a; |
2762 | -} |
2763 | - |
2764 | -function dhtmlxEvent(el, event, handler){ |
2765 | - if (el.addEventListener) |
2766 | - el.addEventListener(event, handler, false); |
2767 | - |
2768 | - else if (el.attachEvent) |
2769 | - el.attachEvent("on"+event, handler); |
2770 | -} |
2771 | - |
2772 | -//============= XSL Extension =================================== |
2773 | - |
2774 | -dtmlXMLLoaderObject.prototype.xslDoc=null; |
2775 | -dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){ |
2776 | - if (!xslDoc) |
2777 | - xslDoc=this.xslDoc |
2778 | - |
2779 | - if (xslDoc.responseXML) |
2780 | - xslDoc=xslDoc.responseXML; |
2781 | - var item = |
2782 | - this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc, |
2783 | - "http:/\/www.w3.org/1999/XSL/Transform", "single"); |
2784 | - |
2785 | - if (item != null) |
2786 | - item.firstChild.nodeValue=paramValue |
2787 | -} |
2788 | -dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){ |
2789 | - if (!xslDoc) |
2790 | - xslDoc=this.xslDoc; |
2791 | - |
2792 | - if (xslDoc.responseXML) |
2793 | - xslDoc=xslDoc.responseXML |
2794 | - |
2795 | - if (!xmlDoc) |
2796 | - xmlDoc=this.xmlDoc; |
2797 | - |
2798 | - if (xmlDoc.responseXML) |
2799 | - xmlDoc=xmlDoc.responseXML |
2800 | - |
2801 | - //MOzilla |
2802 | - if (!_isIE){ |
2803 | - if (!this.XSLProcessor){ |
2804 | - this.XSLProcessor=new XSLTProcessor(); |
2805 | - this.XSLProcessor.importStylesheet(xslDoc); |
2806 | - } |
2807 | - var result = this.XSLProcessor.transformToDocument(xmlDoc); |
2808 | - } else { |
2809 | - var result = new ActiveXObject("Msxml2.DOMDocument.3.0"); |
2810 | - try{ |
2811 | - xmlDoc.transformNodeToObject(xslDoc, result); |
2812 | - }catch(e){ |
2813 | - result = xmlDoc.transformNode(xslDoc); |
2814 | - } |
2815 | - } |
2816 | - return result; |
2817 | -} |
2818 | - |
2819 | -dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){ |
2820 | - var res = this.doXSLTransToObject(xslDoc, xmlDoc); |
2821 | - if(typeof(res)=="string") |
2822 | - return res; |
2823 | - return this.doSerialization(res); |
2824 | -} |
2825 | - |
2826 | -dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){ |
2827 | - if (!xmlDoc) |
2828 | - xmlDoc=this.xmlDoc; |
2829 | - if (xmlDoc.responseXML) |
2830 | - xmlDoc=xmlDoc.responseXML |
2831 | - if (!_isIE){ |
2832 | - var xmlSerializer = new XMLSerializer(); |
2833 | - return xmlSerializer.serializeToString(xmlDoc); |
2834 | - } else |
2835 | - return xmlDoc.xml; |
2836 | -} |
2837 | - |
2838 | -/** |
2839 | - * @desc: |
2840 | - * @type: private |
2841 | - */ |
2842 | -dhtmlxEventable=function(obj){ |
2843 | - obj.attachEvent=function(name, catcher, callObj){ |
2844 | - name='ev_'+name.toLowerCase(); |
2845 | - if (!this[name]) |
2846 | - this[name]=new this.eventCatcher(callObj||this); |
2847 | - |
2848 | - return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID) |
2849 | - } |
2850 | - obj.callEvent=function(name, arg0){ |
2851 | - name='ev_'+name.toLowerCase(); |
2852 | - if (this[name]) |
2853 | - return this[name].apply(this, arg0); |
2854 | - return true; |
2855 | - } |
2856 | - obj.checkEvent=function(name){ |
2857 | - return (!!this['ev_'+name.toLowerCase()]) |
2858 | - } |
2859 | - obj.eventCatcher=function(obj){ |
2860 | - var dhx_catch = []; |
2861 | - var z = function(){ |
2862 | - var res = true; |
2863 | - for (var i = 0; i < dhx_catch.length; i++){ |
2864 | - if (dhx_catch[i] != null){ |
2865 | - var zr = dhx_catch[i].apply(obj, arguments); |
2866 | - res=res&&zr; |
2867 | - } |
2868 | - } |
2869 | - return res; |
2870 | - } |
2871 | - z.addEvent=function(ev){ |
2872 | - if (typeof (ev) != "function") |
2873 | - ev=eval(ev); |
2874 | - if (ev) |
2875 | - return dhx_catch.push(ev)-1; |
2876 | - return false; |
2877 | - } |
2878 | - z.removeEvent=function(id){ |
2879 | - dhx_catch[id]=null; |
2880 | - } |
2881 | - return z; |
2882 | - } |
2883 | - obj.detachEvent=function(id){ |
2884 | - if (id != false){ |
2885 | - var list = id.split(':'); //get EventName and ID |
2886 | - this[list[0]].removeEvent(list[1]); //remove event |
2887 | - } |
2888 | - } |
2889 | - obj.detachAllEvents = function(){ |
2890 | - for (var name in this){ |
2891 | - if (name.indexOf("ev_")==0) |
2892 | - delete this[name]; |
2893 | - } |
2894 | - } |
2895 | - obj = null; |
2896 | -}; |
2897 | - |
2898 | -if(!window.dhtmlx) |
2899 | - window.dhtmlx = {}; |
2900 | - |
2901 | -(function(){ |
2902 | - var _dhx_msg_cfg = null; |
2903 | - function callback(config, result){ |
2904 | - var usercall = config.callback; |
2905 | - modality(false); |
2906 | - config.box.parentNode.removeChild(config.box); |
2907 | - _dhx_msg_cfg = config.box = null; |
2908 | - if (usercall) |
2909 | - usercall(result); |
2910 | - } |
2911 | - function modal_key(e){ |
2912 | - if (_dhx_msg_cfg){ |
2913 | - e = e||event; |
2914 | - var code = e.which||event.keyCode; |
2915 | - if (dhtmlx.message.keyboard){ |
2916 | - if (code == 13 || code == 32) |
2917 | - callback(_dhx_msg_cfg, true); |
2918 | - if (code == 27) |
2919 | - callback(_dhx_msg_cfg, false); |
2920 | - } |
2921 | - if (e.preventDefault) |
2922 | - e.preventDefault(); |
2923 | - return !(e.cancelBubble = true); |
2924 | - } |
2925 | - } |
2926 | - if (document.attachEvent) |
2927 | - document.attachEvent("onkeydown", modal_key); |
2928 | - else |
2929 | - document.addEventListener("keydown", modal_key, true); |
2930 | - |
2931 | - function modality(mode){ |
2932 | - if(!modality.cover){ |
2933 | - modality.cover = document.createElement("DIV"); |
2934 | - //necessary for IE only |
2935 | - modality.cover.onkeydown = modal_key; |
2936 | - modality.cover.className = "dhx_modal_cover"; |
2937 | - document.body.appendChild(modality.cover); |
2938 | - } |
2939 | - var height = document.body.scrollHeight; |
2940 | - modality.cover.style.display = mode?"inline-block":"none"; |
2941 | - } |
2942 | - |
2943 | - function button(text, result){ |
2944 | - var button_css = "dhtmlx_"+text.toLowerCase().replace(/ /g, "_")+"_button"; // dhtmlx_ok_button, dhtmlx_click_me_button |
2945 | - return "<div class='dhtmlx_popup_button "+button_css+"' result='"+result+"' ><div>"+text+"</div></div>"; |
2946 | - } |
2947 | - |
2948 | - function info(text){ |
2949 | - if (!t.area){ |
2950 | - t.area = document.createElement("DIV"); |
2951 | - t.area.className = "dhtmlx_message_area"; |
2952 | - t.area.style[t.position]="5px"; |
2953 | - document.body.appendChild(t.area); |
2954 | - } |
2955 | - |
2956 | - t.hide(text.id); |
2957 | - var message = document.createElement("DIV"); |
2958 | - message.innerHTML = "<div>"+text.text+"</div>"; |
2959 | - message.className = "dhtmlx-info dhtmlx-" + text.type; |
2960 | - message.onclick = function(){ |
2961 | - t.hide(text.id); |
2962 | - text = null; |
2963 | - }; |
2964 | - |
2965 | - if (t.position == "bottom" && t.area.firstChild) |
2966 | - t.area.insertBefore(message,t.area.firstChild); |
2967 | - else |
2968 | - t.area.appendChild(message); |
2969 | - |
2970 | - if (text.expire > 0) |
2971 | - t.timers[text.id]=window.setTimeout(function(){ |
2972 | - t.hide(text.id); |
2973 | - }, text.expire); |
2974 | - |
2975 | - t.pull[text.id] = message; |
2976 | - message = null; |
2977 | - |
2978 | - return text.id; |
2979 | - } |
2980 | - function _boxStructure(config, ok, cancel){ |
2981 | - var box = document.createElement("DIV"); |
2982 | - box.className = " dhtmlx_modal_box dhtmlx-"+config.type; |
2983 | - box.setAttribute("dhxbox", 1); |
2984 | - |
2985 | - var inner = ''; |
2986 | - |
2987 | - if (config.width) |
2988 | - box.style.width = config.width; |
2989 | - if (config.height) |
2990 | - box.style.height = config.height; |
2991 | - if (config.title) |
2992 | - inner+='<div class="dhtmlx_popup_title">'+config.title+'</div>'; |
2993 | - inner+='<div class="dhtmlx_popup_text"><span>'+(config.content?'':config.text)+'</span></div><div class="dhtmlx_popup_controls">'; |
2994 | - if (ok) |
2995 | - inner += button(config.ok || "OK", true); |
2996 | - if (cancel) |
2997 | - inner += button(config.cancel || "Cancel", false); |
2998 | - if (config.buttons){ |
2999 | - for (var i=0; i<config.buttons.length; i++) |
3000 | - inner += button(config.buttons[i],i); |
3001 | - } |
3002 | - inner += '</div>'; |
3003 | - box.innerHTML = inner; |
3004 | - |
3005 | - if (config.content){ |
3006 | - var node = config.content; |
3007 | - if (typeof node == "string") |
3008 | - node = document.getElementById(node); |
3009 | - if (node.style.display == 'none') |
3010 | - node.style.display = ""; |
3011 | - box.childNodes[config.title?1:0].appendChild(node); |
3012 | - } |
3013 | - |
3014 | - box.onclick = function(e){ |
3015 | - e = e ||event; |
3016 | - var source = e.target || e.srcElement; |
3017 | - if (!source.className) source = source.parentNode; |
3018 | - if (source.className.split(" ")[0] == "dhtmlx_popup_button"){ |
3019 | - result = source.getAttribute("result"); |
3020 | - result = (result == "true")||(result == "false"?false:result); |
3021 | - callback(config, result); |
3022 | - } |
3023 | - }; |
3024 | - config.box = box; |
3025 | - if (ok||cancel) |
3026 | - _dhx_msg_cfg = config; |
3027 | - |
3028 | - return box; |
3029 | - } |
3030 | - function _createBox(config, ok, cancel){ |
3031 | - var box = config.tagName ? config : _boxStructure(config, ok, cancel); |
3032 | - |
3033 | - if (!config.hidden) |
3034 | - modality(true); |
3035 | - document.body.appendChild(box); |
3036 | - var x = Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth) - box.offsetWidth)/2)); |
3037 | - var y = Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight) - box.offsetHeight)/2)); |
3038 | - if (config.position == "top") |
3039 | - box.style.top = "-3px"; |
3040 | - else |
3041 | - box.style.top = y+'px'; |
3042 | - box.style.left = x+'px'; |
3043 | - //necessary for IE only |
3044 | - box.onkeydown = modal_key; |
3045 | - |
3046 | - box.focus(); |
3047 | - if (config.hidden) |
3048 | - dhtmlx.modalbox.hide(box); |
3049 | - |
3050 | - return box; |
3051 | - } |
3052 | - |
3053 | - function alertPopup(config){ |
3054 | - return _createBox(config, true, false); |
3055 | - } |
3056 | - function confirmPopup(config){ |
3057 | - return _createBox(config, true, true); |
3058 | - } |
3059 | - function boxPopup(config){ |
3060 | - return _createBox(config); |
3061 | - } |
3062 | - function box_params(text, type, callback){ |
3063 | - if (typeof text != "object"){ |
3064 | - if (typeof type == "function"){ |
3065 | - callback = type; |
3066 | - type = ""; |
3067 | - } |
3068 | - text = {text:text, type:type, callback:callback }; |
3069 | - } |
3070 | - return text; |
3071 | - } |
3072 | - function params(text, type, expire, id){ |
3073 | - if (typeof text != "object") |
3074 | - text = {text:text, type:type, expire:expire, id:id}; |
3075 | - text.id = text.id||t.uid(); |
3076 | - text.expire = text.expire||t.expire; |
3077 | - return text; |
3078 | - } |
3079 | - dhtmlx.alert = function(){ |
3080 | - text = box_params.apply(this, arguments); |
3081 | - text.type = text.type || "confirm"; |
3082 | - return alertPopup(text); |
3083 | - }; |
3084 | - dhtmlx.confirm = function(){ |
3085 | - text = box_params.apply(this, arguments); |
3086 | - text.type = text.type || "alert"; |
3087 | - return confirmPopup(text); |
3088 | - }; |
3089 | - dhtmlx.modalbox = function(){ |
3090 | - text = box_params.apply(this, arguments); |
3091 | - text.type = text.type || "alert"; |
3092 | - return boxPopup(text); |
3093 | - }; |
3094 | - dhtmlx.modalbox.hide = function(node){ |
3095 | - while (node && node.getAttribute && !node.getAttribute("dhxbox")) |
3096 | - node = node.parentNode; |
3097 | - if (node){ |
3098 | - node.parentNode.removeChild(node); |
3099 | - modality(false); |
3100 | - } |
3101 | - }; |
3102 | - var t = dhtmlx.message = function(text, type, expire, id){ |
3103 | - text = params.apply(this, arguments); |
3104 | - text.type = text.type||"info"; |
3105 | - |
3106 | - var subtype = text.type.split("-")[0]; |
3107 | - switch (subtype){ |
3108 | - case "alert": |
3109 | - return alertPopup(text); |
3110 | - case "confirm": |
3111 | - return confirmPopup(text); |
3112 | - case "modalbox": |
3113 | - return boxPopup(text); |
3114 | - default: |
3115 | - return info(text); |
3116 | - break; |
3117 | - } |
3118 | - }; |
3119 | - |
3120 | - t.seed = (new Date()).valueOf(); |
3121 | - t.uid = function(){return t.seed++;}; |
3122 | - t.expire = 4000; |
3123 | - t.keyboard = true; |
3124 | - t.position = "top"; |
3125 | - t.pull = {}; |
3126 | - t.timers = {}; |
3127 | - |
3128 | - t.hideAll = function(){ |
3129 | - for (var key in t.pull) |
3130 | - t.hide(key); |
3131 | - }; |
3132 | - t.hide = function(id){ |
3133 | - var obj = t.pull[id]; |
3134 | - if (obj && obj.parentNode){ |
3135 | - window.setTimeout(function(){ |
3136 | - obj.parentNode.removeChild(obj); |
3137 | - obj = null; |
3138 | - },2000); |
3139 | - obj.className+=" hidden"; |
3140 | - |
3141 | - if(t.timers[id]) |
3142 | - window.clearTimeout(t.timers[id]); |
3143 | - delete t.pull[id]; |
3144 | - } |
3145 | - }; |
3146 | -})(); |
3147 | -/** |
3148 | - * @desc: constructor, data processor object |
3149 | - * @param: serverProcessorURL - url used for update |
3150 | - * @type: public |
3151 | - */ |
3152 | -function dataProcessor(serverProcessorURL){ |
3153 | - this.serverProcessor = serverProcessorURL; |
3154 | - this.action_param="!nativeeditor_status"; |
3155 | - |
3156 | - this.object = null; |
3157 | - this.updatedRows = []; //ids of updated rows |
3158 | - |
3159 | - this.autoUpdate = true; |
3160 | - this.updateMode = "cell"; |
3161 | - this._tMode="GET"; |
3162 | - this.post_delim = "_"; |
3163 | - |
3164 | - this._waitMode=0; |
3165 | - this._in_progress={};//? |
3166 | - this._invalid={}; |
3167 | - this.mandatoryFields=[]; |
3168 | - this.messages=[]; |
3169 | - |
3170 | - this.styles={ |
3171 | - updated:"font-weight:bold;", |
3172 | - inserted:"font-weight:bold;", |
3173 | - deleted:"text-decoration : line-through;", |
3174 | - invalid:"background-color:FFE0E0;", |
3175 | - invalid_cell:"border-bottom:2px solid red;", |
3176 | - error:"color:red;", |
3177 | - clear:"font-weight:normal;text-decoration:none;" |
3178 | - }; |
3179 | - |
3180 | - this.enableUTFencoding(true); |
3181 | - dhtmlxEventable(this); |
3182 | - |
3183 | - return this; |
3184 | - } |
3185 | - |
3186 | -dataProcessor.prototype={ |
3187 | - /** |
3188 | - * @desc: select GET or POST transaction model |
3189 | - * @param: mode - GET/POST |
3190 | - * @param: total - true/false - send records row by row or all at once (for grid only) |
3191 | - * @type: public |
3192 | - */ |
3193 | - setTransactionMode:function(mode,total){ |
3194 | - this._tMode=mode; |
3195 | - this._tSend=total; |
3196 | - }, |
3197 | - escape:function(data){ |
3198 | - if (this._utf) |
3199 | - return encodeURIComponent(data); |
3200 | - else |
3201 | - return escape(data); |
3202 | - }, |
3203 | - /** |
3204 | - * @desc: allows to set escaping mode |
3205 | - * @param: true - utf based escaping, simple - use current page encoding |
3206 | - * @type: public |
3207 | - */ |
3208 | - enableUTFencoding:function(mode){ |
3209 | - this._utf=convertStringToBoolean(mode); |
3210 | - }, |
3211 | - /** |
3212 | - * @desc: allows to define, which column may trigger update |
3213 | - * @param: val - array or list of true/false values |
3214 | - * @type: public |
3215 | - */ |
3216 | - setDataColumns:function(val){ |
3217 | - this._columns=(typeof val == "string")?val.split(","):val; |
3218 | - }, |
3219 | - /** |
3220 | - * @desc: get state of updating |
3221 | - * @returns: true - all in sync with server, false - some items not updated yet. |
3222 | - * @type: public |
3223 | - */ |
3224 | - getSyncState:function(){ |
3225 | - return !this.updatedRows.length; |
3226 | - }, |
3227 | - /** |
3228 | - * @desc: enable/disable named field for data syncing, will use column ids for grid |
3229 | - * @param: mode - true/false |
3230 | - * @type: public |
3231 | - */ |
3232 | - enableDataNames:function(mode){ |
3233 | - this._endnm=convertStringToBoolean(mode); |
3234 | - }, |
3235 | - /** |
3236 | - * @desc: enable/disable mode , when only changed fields and row id send to the server side, instead of all fields in default mode |
3237 | - * @param: mode - true/false |
3238 | - * @type: public |
3239 | - */ |
3240 | - enablePartialDataSend:function(mode){ |
3241 | - this._changed=convertStringToBoolean(mode); |
3242 | - }, |
3243 | - /** |
3244 | - * @desc: set if rows should be send to server automaticaly |
3245 | - * @param: mode - "row" - based on row selection changed, "cell" - based on cell editing finished, "off" - manual data sending |
3246 | - * @type: public |
3247 | - */ |
3248 | - setUpdateMode:function(mode,dnd){ |
3249 | - this.autoUpdate = (mode=="cell"); |
3250 | - this.updateMode = mode; |
3251 | - this.dnd=dnd; |
3252 | - }, |
3253 | - ignore:function(code,master){ |
3254 | - this._silent_mode=true; |
3255 | - code.call(master||window); |
3256 | - this._silent_mode=false; |
3257 | - }, |
3258 | - /** |
3259 | - * @desc: mark row as updated/normal. check mandatory fields,initiate autoupdate (if turned on) |
3260 | - * @param: rowId - id of row to set update-status for |
3261 | - * @param: state - true for "updated", false for "not updated" |
3262 | - * @param: mode - update mode name |
3263 | - * @type: public |
3264 | - */ |
3265 | - setUpdated:function(rowId,state,mode){ |
3266 | - if (this._silent_mode) return; |
3267 | - var ind=this.findRow(rowId); |
3268 | - |
3269 | - mode=mode||"updated"; |
3270 | - var existing = this.obj.getUserData(rowId,this.action_param); |
3271 | - if (existing && mode == "updated") mode=existing; |
3272 | - if (state){ |
3273 | - this.set_invalid(rowId,false); //clear previous error flag |
3274 | - this.updatedRows[ind]=rowId; |
3275 | - this.obj.setUserData(rowId,this.action_param,mode); |
3276 | - if (this._in_progress[rowId]) |
3277 | - this._in_progress[rowId]="wait"; |
3278 | - } else{ |
3279 | - if (!this.is_invalid(rowId)){ |
3280 | - this.updatedRows.splice(ind,1); |
3281 | - this.obj.setUserData(rowId,this.action_param,""); |
3282 | - } |
3283 | - } |
3284 | - |
3285 | - //clear changed flag |
3286 | - if (!state) |
3287 | - this._clearUpdateFlag(rowId); |
3288 | - |
3289 | - this.markRow(rowId,state,mode); |
3290 | - if (state && this.autoUpdate) this.sendData(rowId); |
3291 | - }, |
3292 | - _clearUpdateFlag:function(id){}, |
3293 | - markRow:function(id,state,mode){ |
3294 | - var str=""; |
3295 | - var invalid=this.is_invalid(id); |
3296 | - if (invalid){ |
3297 | - str=this.styles[invalid]; |
3298 | - state=true; |
3299 | - } |
3300 | - if (this.callEvent("onRowMark",[id,state,mode,invalid])){ |
3301 | - //default logic |
3302 | - str=this.styles[state?mode:"clear"]+str; |
3303 | - |
3304 | - this.obj[this._methods[0]](id,str); |
3305 | - |
3306 | - if (invalid && invalid.details){ |
3307 | - str+=this.styles[invalid+"_cell"]; |
3308 | - for (var i=0; i < invalid.details.length; i++) |
3309 | - if (invalid.details[i]) |
3310 | - this.obj[this._methods[1]](id,i,str); |
3311 | - } |
3312 | - } |
3313 | - }, |
3314 | - getState:function(id){ |
3315 | - return this.obj.getUserData(id,this.action_param); |
3316 | - }, |
3317 | - is_invalid:function(id){ |
3318 | - return this._invalid[id]; |
3319 | - }, |
3320 | - set_invalid:function(id,mode,details){ |
3321 | - if (details) mode={value:mode, details:details, toString:function(){ return this.value.toString(); }}; |
3322 | - this._invalid[id]=mode; |
3323 | - }, |
3324 | - /** |
3325 | - * @desc: check mandatory fields and varify values of cells, initiate update (if specified) |
3326 | - * @param: rowId - id of row to set update-status for |
3327 | - * @type: public |
3328 | - */ |
3329 | - checkBeforeUpdate:function(rowId){ |
3330 | - return true; |
3331 | - }, |
3332 | - /** |
3333 | - * @desc: send row(s) values to server |
3334 | - * @param: rowId - id of row which data to send. If not specified, then all "updated" rows will be send |
3335 | - * @type: public |
3336 | - */ |
3337 | - sendData:function(rowId){ |
3338 | - if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return; |
3339 | - if (this.obj.editStop) this.obj.editStop(); |
3340 | - |
3341 | - |
3342 | - if(typeof rowId == "undefined" || this._tSend) return this.sendAllData(); |
3343 | - if (this._in_progress[rowId]) return false; |
3344 | - |
3345 | - this.messages=[]; |
3346 | - if (!this.checkBeforeUpdate(rowId) && this.callEvent("onValidatationError",[rowId,this.messages])) return false; |
3347 | - this._beforeSendData(this._getRowData(rowId),rowId); |
3348 | - }, |
3349 | - _beforeSendData:function(data,rowId){ |
3350 | - if (!this.callEvent("onBeforeUpdate",[rowId,this.getState(rowId),data])) return false; |
3351 | - this._sendData(data,rowId); |
3352 | - }, |
3353 | - serialize:function(data, id){ |
3354 | - if (typeof data == "string") |
3355 | - return data; |
3356 | - if (typeof id != "undefined") |
3357 | - return this.serialize_one(data,""); |
3358 | - else{ |
3359 | - var stack = []; |
3360 | - var keys = []; |
3361 | - for (var key in data) |
3362 | - if (data.hasOwnProperty(key)){ |
3363 | - stack.push(this.serialize_one(data[key],key+this.post_delim)); |
3364 | - keys.push(key); |
3365 | - } |
3366 | - stack.push("ids="+this.escape(keys.join(","))); |
3367 | - if (dhtmlx.security_key) |
3368 | - stack.push("dhx_security="+dhtmlx.security_key); |
3369 | - return stack.join("&"); |
3370 | - } |
3371 | - }, |
3372 | - serialize_one:function(data, pref){ |
3373 | - if (typeof data == "string") |
3374 | - return data; |
3375 | - var stack = []; |
3376 | - for (var key in data) |
3377 | - if (data.hasOwnProperty(key)) |
3378 | - stack.push(this.escape((pref||"")+key)+"="+this.escape(data[key])); |
3379 | - return stack.join("&"); |
3380 | - }, |
3381 | - _sendData:function(a1,rowId){ |
3382 | - if (!a1) return; //nothing to send |
3383 | - if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId),a1]:[null, null, a1])) return false; |
3384 | - |
3385 | - if (rowId) |
3386 | - this._in_progress[rowId]=(new Date()).valueOf(); |
3387 | - var a2=new dtmlXMLLoaderObject(this.afterUpdate,this,true); |
3388 | - |
3389 | - var a3 = this.serverProcessor+(this._user?(getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&")):""); |
3390 | - |
3391 | - if (this._tMode!="POST") |
3392 | - a2.loadXML(a3+((a3.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId)); |
3393 | - else |
3394 | - a2.loadXML(a3,true,this.serialize(a1,rowId)); |
3395 | - |
3396 | - this._waitMode++; |
3397 | - }, |
3398 | - sendAllData:function(){ |
3399 | - if (!this.updatedRows.length) return; |
3400 | - |
3401 | - this.messages=[]; var valid=true; |
3402 | - for (var i=0; i<this.updatedRows.length; i++) |
3403 | - valid&=this.checkBeforeUpdate(this.updatedRows[i]); |
3404 | - if (!valid && !this.callEvent("onValidatationError",["",this.messages])) return false; |
3405 | - |
3406 | - if (this._tSend) |
3407 | - this._sendData(this._getAllData()); |
3408 | - else |
3409 | - for (var i=0; i<this.updatedRows.length; i++) |
3410 | - if (!this._in_progress[this.updatedRows[i]]){ |
3411 | - if (this.is_invalid(this.updatedRows[i])) continue; |
3412 | - this._beforeSendData(this._getRowData(this.updatedRows[i]),this.updatedRows[i]); |
3413 | - if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return; //block send all for tree |
3414 | - } |
3415 | - }, |
3416 | - |
3417 | - |
3418 | - |
3419 | - |
3420 | - |
3421 | - |
3422 | - |
3423 | - |
3424 | - _getAllData:function(rowId){ |
3425 | - var out={}; |
3426 | - var has_one = false; |
3427 | - for(var i=0;i<this.updatedRows.length;i++){ |
3428 | - var id=this.updatedRows[i]; |
3429 | - if (this._in_progress[id] || this.is_invalid(id)) continue; |
3430 | - if (!this.callEvent("onBeforeUpdate",[id,this.getState(id)])) continue; |
3431 | - out[id]=this._getRowData(id,id+this.post_delim); |
3432 | - has_one = true; |
3433 | - this._in_progress[id]=(new Date()).valueOf(); |
3434 | - } |
3435 | - return has_one?out:null; |
3436 | - }, |
3437 | - |
3438 | - |
3439 | - /** |
3440 | - * @desc: specify column which value should be varified before sending to server |
3441 | - * @param: ind - column index (0 based) |
3442 | - * @param: verifFunction - function (object) which should verify cell value (if not specified, then value will be compared to empty string). Two arguments will be passed into it: value and column name |
3443 | - * @type: public |
3444 | - */ |
3445 | - setVerificator:function(ind,verifFunction){ |
3446 | - this.mandatoryFields[ind] = verifFunction||(function(value){return (value!="");}); |
3447 | - }, |
3448 | - /** |
3449 | - * @desc: remove column from list of those which should be verified |
3450 | - * @param: ind - column Index (0 based) |
3451 | - * @type: public |
3452 | - */ |
3453 | - clearVerificator:function(ind){ |
3454 | - this.mandatoryFields[ind] = false; |
3455 | - }, |
3456 | - |
3457 | - |
3458 | - |
3459 | - |
3460 | - |
3461 | - findRow:function(pattern){ |
3462 | - var i=0; |
3463 | - for(i=0;i<this.updatedRows.length;i++) |
3464 | - if(pattern==this.updatedRows[i]) break; |
3465 | - return i; |
3466 | - }, |
3467 | - |
3468 | - |
3469 | - |
3470 | - |
3471 | - |
3472 | - |
3473 | - |
3474 | - |
3475 | - |
3476 | - |
3477 | - |
3478 | - /** |
3479 | - * @desc: define custom actions |
3480 | - * @param: name - name of action, same as value of action attribute |
3481 | - * @param: handler - custom function, which receives a XMl response content for action |
3482 | - * @type: private |
3483 | - */ |
3484 | - defineAction:function(name,handler){ |
3485 | - if (!this._uActions) this._uActions=[]; |
3486 | - this._uActions[name]=handler; |
3487 | - }, |
3488 | - |
3489 | - |
3490 | - |
3491 | - |
3492 | - /** |
3493 | -* @desc: used in combination with setOnBeforeUpdateHandler to create custom client-server transport system |
3494 | -* @param: sid - id of item before update |
3495 | -* @param: tid - id of item after up0ate |
3496 | -* @param: action - action name |
3497 | -* @type: public |
3498 | -* @topic: 0 |
3499 | -*/ |
3500 | - afterUpdateCallback:function(sid, tid, action, btag) { |
3501 | - var marker = sid; |
3502 | - var correct=(action!="error" && action!="invalid"); |
3503 | - if (!correct) this.set_invalid(sid,action); |
3504 | - if ((this._uActions)&&(this._uActions[action])&&(!this._uActions[action](btag))) |
3505 | - return (delete this._in_progress[marker]); |
3506 | - |
3507 | - if (this._in_progress[marker]!="wait") |
3508 | - this.setUpdated(sid, false); |
3509 | - |
3510 | - var soid = sid; |
3511 | - |
3512 | - switch (action) { |
3513 | - case "update": |
3514 | - case "updated": |
3515 | - case "inserted": |
3516 | - case "insert": |
3517 | - if (tid != sid) { |
3518 | - this.obj[this._methods[2]](sid, tid); |
3519 | - sid = tid; |
3520 | - } |
3521 | - break; |
3522 | - case "delete": |
3523 | - case "deleted": |
3524 | - this.obj.setUserData(sid, this.action_param, "true_deleted"); |
3525 | - this.obj[this._methods[3]](sid); |
3526 | - delete this._in_progress[marker]; |
3527 | - return this.callEvent("onAfterUpdate", [sid, action, tid, btag]); |
3528 | - break; |
3529 | - } |
3530 | - |
3531 | - if (this._in_progress[marker]!="wait"){ |
3532 | - if (correct) this.obj.setUserData(sid, this.action_param,''); |
3533 | - delete this._in_progress[marker]; |
3534 | - } else { |
3535 | - delete this._in_progress[marker]; |
3536 | - this.setUpdated(tid,true,this.obj.getUserData(sid,this.action_param)); |
3537 | - } |
3538 | - |
3539 | - this.callEvent("onAfterUpdate", [sid, action, tid, btag]); |
3540 | - }, |
3541 | - |
3542 | - /** |
3543 | - * @desc: response from server |
3544 | - * @param: xml - XMLLoader object with response XML |
3545 | - * @type: private |
3546 | - */ |
3547 | - afterUpdate:function(that,b,c,d,xml){ |
3548 | - xml.getXMLTopNode("data"); //fix incorrect content type in IE |
3549 | - if (!xml.xmlDoc.responseXML) return; |
3550 | - var atag=xml.doXPath("//data/action"); |
3551 | - for (var i=0; i<atag.length; i++){ |
3552 | - var btag=atag[i]; |
3553 | - var action = btag.getAttribute("type"); |
3554 | - var sid = btag.getAttribute("sid"); |
3555 | - var tid = btag.getAttribute("tid"); |
3556 | - |
3557 | - that.afterUpdateCallback(sid,tid,action,btag); |
3558 | - } |
3559 | - that.finalizeUpdate(); |
3560 | - }, |
3561 | - finalizeUpdate:function(){ |
3562 | - if (this._waitMode) this._waitMode--; |
3563 | - |
3564 | - if ((this.obj.mytype=="tree" || this.obj._h2) && this.updatedRows.length) |
3565 | - this.sendData(); |
3566 | - this.callEvent("onAfterUpdateFinish",[]); |
3567 | - if (!this.updatedRows.length) |
3568 | - this.callEvent("onFullSync",[]); |
3569 | - }, |
3570 | - |
3571 | - |
3572 | - |
3573 | - |
3574 | - |
3575 | - /** |
3576 | - * @desc: initializes data-processor |
3577 | - * @param: anObj - dhtmlxGrid object to attach this data-processor to |
3578 | - * @type: public |
3579 | - */ |
3580 | - init:function(anObj){ |
3581 | - this.obj = anObj; |
3582 | - if (this.obj._dp_init) |
3583 | - this.obj._dp_init(this); |
3584 | - }, |
3585 | - |
3586 | - |
3587 | - setOnAfterUpdate:function(ev){ |
3588 | - this.attachEvent("onAfterUpdate",ev); |
3589 | - }, |
3590 | - enableDebug:function(mode){ |
3591 | - }, |
3592 | - setOnBeforeUpdateHandler:function(func){ |
3593 | - this.attachEvent("onBeforeDataSending",func); |
3594 | - }, |
3595 | - |
3596 | - |
3597 | - |
3598 | - /*! starts autoupdate mode |
3599 | - @param interval |
3600 | - time interval for sending update requests |
3601 | - */ |
3602 | - setAutoUpdate: function(interval, user) { |
3603 | - interval = interval || 2000; |
3604 | - |
3605 | - this._user = user || (new Date()).valueOf(); |
3606 | - this._need_update = false; |
3607 | - this._loader = null; |
3608 | - this._update_busy = false; |
3609 | - |
3610 | - this.attachEvent("onAfterUpdate",function(sid,action,tid,xml_node){ |
3611 | - this.afterAutoUpdate(sid, action, tid, xml_node); |
3612 | - }); |
3613 | - this.attachEvent("onFullSync",function(){ |
3614 | - this.fullSync(); |
3615 | - }); |
3616 | - |
3617 | - var self = this; |
3618 | - window.setInterval(function(){ |
3619 | - self.loadUpdate(); |
3620 | - }, interval); |
3621 | - }, |
3622 | - |
3623 | - |
3624 | - /*! process updating request answer |
3625 | - if status == collision version is depricated |
3626 | - set flag for autoupdating immidiatly |
3627 | - */ |
3628 | - afterAutoUpdate: function(sid, action, tid, xml_node) { |
3629 | - if (action == 'collision') { |
3630 | - this._need_update = true; |
3631 | - return false; |
3632 | - } else { |
3633 | - return true; |
3634 | - } |
3635 | - }, |
3636 | - |
3637 | - |
3638 | - /*! callback function for onFillSync event |
3639 | - call update function if it's need |
3640 | - */ |
3641 | - fullSync: function() { |
3642 | - if (this._need_update == true) { |
3643 | - this._need_update = false; |
3644 | - this.loadUpdate(); |
3645 | - } |
3646 | - return true; |
3647 | - }, |
3648 | - |
3649 | - |
3650 | - /*! sends query to the server and call callback function |
3651 | - */ |
3652 | - getUpdates: function(url,callback){ |
3653 | - if (this._update_busy) |
3654 | - return false; |
3655 | - else |
3656 | - this._update_busy = true; |
3657 | - |
3658 | - this._loader = this._loader || new dtmlXMLLoaderObject(true); |
3659 | - |
3660 | - this._loader.async=true; |
3661 | - this._loader.waitCall=callback; |
3662 | - this._loader.loadXML(url); |
3663 | - }, |
3664 | - |
3665 | - |
3666 | - /*! returns xml node value |
3667 | - @param node |
3668 | - xml node |
3669 | - */ |
3670 | - _v: function(node) { |
3671 | - if (node.firstChild) return node.firstChild.nodeValue; |
3672 | - return ""; |
3673 | - }, |
3674 | - |
3675 | - |
3676 | - /*! returns values array of xml nodes array |
3677 | - @param arr |
3678 | - array of xml nodes |
3679 | - */ |
3680 | - _a: function(arr) { |
3681 | - var res = []; |
3682 | - for (var i=0; i < arr.length; i++) { |
3683 | - res[i]=this._v(arr[i]); |
3684 | - }; |
3685 | - return res; |
3686 | - }, |
3687 | - |
3688 | - |
3689 | - /*! loads updates and processes them |
3690 | - */ |
3691 | - loadUpdate: function(){ |
3692 | - var self = this; |
3693 | - var version = this.obj.getUserData(0,"version"); |
3694 | - var url = this.serverProcessor+getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+version].join("&"); |
3695 | - url = url.replace("editing=true&",""); |
3696 | - this.getUpdates(url, function(){ |
3697 | - var vers = self._loader.doXPath("//userdata"); |
3698 | - self.obj.setUserData(0,"version",self._v(vers[0])); |
3699 | - |
3700 | - var upds = self._loader.doXPath("//update"); |
3701 | - if (upds.length){ |
3702 | - self._silent_mode = true; |
3703 | - |
3704 | - for (var i=0; i<upds.length; i++) { |
3705 | - var status = upds[i].getAttribute('status'); |
3706 | - var id = upds[i].getAttribute('id'); |
3707 | - var parent = upds[i].getAttribute('parent'); |
3708 | - switch (status) { |
3709 | - case 'inserted': |
3710 | - self.callEvent("insertCallback",[upds[i], id, parent]); |
3711 | - break; |
3712 | - case 'updated': |
3713 | - self.callEvent("updateCallback",[upds[i], id, parent]); |
3714 | - break; |
3715 | - case 'deleted': |
3716 | - self.callEvent("deleteCallback",[upds[i], id, parent]); |
3717 | - break; |
3718 | - } |
3719 | - } |
3720 | - |
3721 | - self._silent_mode = false; |
3722 | - } |
3723 | - |
3724 | - self._update_busy = false; |
3725 | - self = null; |
3726 | - }); |
3727 | - } |
3728 | - |
3729 | -}; |
3730 | - |
3731 | -//(c)dhtmlx ltd. www.dhtmlx.com |
3732 | -/* |
3733 | - dhx_sort[index]=direction |
3734 | - dhx_filter[index]=mask |
3735 | -*/ |
3736 | -if (window.dhtmlXGridObject){ |
3737 | - dhtmlXGridObject.prototype._init_point_connector=dhtmlXGridObject.prototype._init_point; |
3738 | - dhtmlXGridObject.prototype._init_point=function(){ |
3739 | - var clear_url=function(url){ |
3740 | - url=url.replace(/(\?|\&)connector[^\f]*/g,""); |
3741 | - return url+(url.indexOf("?")!=-1?"&":"?")+"connector=true"+(this.hdr.rows.length > 0 ? "&dhx_no_header=1":""); |
3742 | - }; |
3743 | - var combine_urls=function(url){ |
3744 | - return clear_url.call(this,url)+(this._connector_sorting||"")+(this._connector_filter||""); |
3745 | - }; |
3746 | - var sorting_url=function(url,ind,dir){ |
3747 | - this._connector_sorting="&dhx_sort["+ind+"]="+dir; |
3748 | - return combine_urls.call(this,url); |
3749 | - }; |
3750 | - var filtering_url=function(url,inds,vals){ |
3751 | - for (var i=0; i<inds.length; i++) |
3752 | - inds[i]="dhx_filter["+inds[i]+"]="+encodeURIComponent(vals[i]); |
3753 | - this._connector_filter="&"+inds.join("&"); |
3754 | - return combine_urls.call(this,url); |
3755 | - }; |
3756 | - this.attachEvent("onCollectValues",function(ind){ |
3757 | - if (this._con_f_used[ind]){ |
3758 | - if (typeof(this._con_f_used[ind]) == "object") |
3759 | - return this._con_f_used[ind]; |
3760 | - else |
3761 | - return false; |
3762 | - } |
3763 | - return true; |
3764 | - }); |
3765 | - this.attachEvent("onDynXLS",function(){ |
3766 | - this.xmlFileUrl=combine_urls.call(this,this.xmlFileUrl); |
3767 | - return true; |
3768 | - }); |
3769 | - this.attachEvent("onBeforeSorting",function(ind,type,dir){ |
3770 | - if (type=="connector"){ |
3771 | - var self=this; |
3772 | - this.clearAndLoad(sorting_url.call(this,this.xmlFileUrl,ind,dir),function(){ |
3773 | - self.setSortImgState(true,ind,dir); |
3774 | - }); |
3775 | - return false; |
3776 | - } |
3777 | - return true; |
3778 | - }); |
3779 | - this.attachEvent("onFilterStart",function(a,b){ |
3780 | - if (this._con_f_used.length){ |
3781 | - this.clearAndLoad(filtering_url.call(this,this.xmlFileUrl,a,b)); |
3782 | - return false; |
3783 | - } |
3784 | - return true; |
3785 | - }); |
3786 | - this.attachEvent("onXLE",function(a,b,c,xml){ |
3787 | - if (!xml) return; |
3788 | - }); |
3789 | - |
3790 | - if (this._init_point_connector) this._init_point_connector(); |
3791 | - }; |
3792 | - dhtmlXGridObject.prototype._con_f_used=[]; |
3793 | - dhtmlXGridObject.prototype._in_header_connector_text_filter=function(t,i){ |
3794 | - if (!this._con_f_used[i]) |
3795 | - this._con_f_used[i]=1; |
3796 | - return this._in_header_text_filter(t,i); |
3797 | - }; |
3798 | - dhtmlXGridObject.prototype._in_header_connector_select_filter=function(t,i){ |
3799 | - if (!this._con_f_used[i]) |
3800 | - this._con_f_used[i]=2; |
3801 | - return this._in_header_select_filter(t,i); |
3802 | - }; |
3803 | - dhtmlXGridObject.prototype.load_connector=dhtmlXGridObject.prototype.load; |
3804 | - dhtmlXGridObject.prototype.load=function(url, call, type){ |
3805 | - if (!this._colls_loaded && this.cellType){ |
3806 | - var ar=[]; |
3807 | - for (var i=0; i < this.cellType.length; i++) |
3808 | - if (this.cellType[i].indexOf("co")==0 || this._con_f_used[i]==2) ar.push(i); |
3809 | - if (ar.length) |
3810 | - arguments[0]+=(arguments[0].indexOf("?")!=-1?"&":"?")+"connector=true&dhx_colls="+ar.join(","); |
3811 | - } |
3812 | - return this.load_connector.apply(this,arguments); |
3813 | - }; |
3814 | - dhtmlXGridObject.prototype._parseHead_connector=dhtmlXGridObject.prototype._parseHead; |
3815 | - dhtmlXGridObject.prototype._parseHead=function(url, call, type){ |
3816 | - this._parseHead_connector.apply(this,arguments); |
3817 | - if (!this._colls_loaded){ |
3818 | - var cols = this.xmlLoader.doXPath("./coll_options", arguments[0]); |
3819 | - for (var i=0; i < cols.length; i++){ |
3820 | - var f = cols[i].getAttribute("for"); |
3821 | - var v = []; |
3822 | - var combo=null; |
3823 | - if (this.cellType[f] == "combo") |
3824 | - combo = this.getColumnCombo(f); |
3825 | - if (this.cellType[f].indexOf("co")==0) |
3826 | - combo=this.getCombo(f); |
3827 | - |
3828 | - var os = this.xmlLoader.doXPath("./item",cols[i]); |
3829 | - for (var j=0; j<os.length; j++){ |
3830 | - var val=os[j].getAttribute("value"); |
3831 | - |
3832 | - if (combo){ |
3833 | - var lab=os[j].getAttribute("label")||val; |
3834 | - |
3835 | - if (combo.addOption) |
3836 | - combo.addOption([[val, lab]]); |
3837 | - else |
3838 | - combo.put(val,lab); |
3839 | - |
3840 | - v[v.length]=lab; |
3841 | - } else |
3842 | - v[v.length]=val; |
3843 | - } |
3844 | - if (this._con_f_used[f*1]) |
3845 | - this._con_f_used[f*1]=v; |
3846 | - } |
3847 | - this._colls_loaded=true; |
3848 | - } |
3849 | - }; |
3850 | -} |
3851 | - |
3852 | -if (window.dataProcessor){ |
3853 | - dataProcessor.prototype.init_original=dataProcessor.prototype.init; |
3854 | - dataProcessor.prototype.init=function(obj){ |
3855 | - this.init_original(obj); |
3856 | - obj._dataprocessor=this; |
3857 | - |
3858 | - this.setTransactionMode("POST",true); |
3859 | - this.serverProcessor+=(this.serverProcessor.indexOf("?")!=-1?"&":"?")+"editing=true"; |
3860 | - }; |
3861 | -} |
3862 | -dhtmlxError.catchError("LoadXML",function(a,b,c){ |
3863 | - if (c[0].status != 0) { |
3864 | - alert(c[0].responseText); |
3865 | - } |
3866 | -}); |
3867 | - |
3868 | -window.dhtmlXScheduler = window.scheduler = { version: "3.5.0" }; |
3869 | -dhtmlxEventable(scheduler); |
3870 | - |
3871 | -scheduler.init=function(id,date,mode){ |
3872 | - date=date||(new Date()); |
3873 | - mode=mode||"week"; |
3874 | - |
3875 | - scheduler.date.init(); |
3876 | - |
3877 | - this._obj=(typeof id == "string")?document.getElementById(id):id; |
3878 | - this._els=[]; |
3879 | - this._scroll=true; |
3880 | - this._quirks=(_isIE && document.compatMode == "BackCompat"); |
3881 | - this._quirks7=(_isIE && navigator.appVersion.indexOf("MSIE 8")==-1); |
3882 | - |
3883 | - this.get_elements(); |
3884 | - this.init_templates(); |
3885 | - this.set_actions(); |
3886 | - dhtmlxEvent(window,"resize",function(){ |
3887 | - window.clearTimeout(scheduler._resize_timer); |
3888 | - scheduler._resize_timer=window.setTimeout(function(){ |
3889 | - if (scheduler.callEvent("onSchedulerResize",[])) { |
3890 | - scheduler.update_view(); |
3891 | - scheduler.callEvent("onAfterSchedulerResize", []); |
3892 | - } |
3893 | - }, 100); |
3894 | - }); |
3895 | - this.set_sizes(); |
3896 | - scheduler.callEvent('onSchedulerReady', []); |
3897 | - this.setCurrentView(date,mode); |
3898 | -}; |
3899 | -scheduler.xy={ |
3900 | - nav_height:22, |
3901 | - min_event_height:40, |
3902 | - scale_width:50, |
3903 | - bar_height:20, |
3904 | - scroll_width:18, |
3905 | - scale_height:20, |
3906 | - month_scale_height:20, |
3907 | - menu_width:25, |
3908 | - margin_top:0, |
3909 | - margin_left:0, |
3910 | - editor_width:140, |
3911 | - lightbox_additional_height:50 |
3912 | -}; |
3913 | -scheduler.keys={ |
3914 | - edit_save:13, |
3915 | - edit_cancel:27 |
3916 | -}; |
3917 | -scheduler.set_sizes=function(){ |
3918 | - var w = this._x = this._obj.clientWidth-this.xy.margin_left; |
3919 | - var h = this._y = this._obj.clientHeight-this.xy.margin_top; |
3920 | - |
3921 | - //not-table mode always has scroll - need to be fixed in future |
3922 | - var scale_x=this._table_view?0:(this.xy.scale_width+this.xy.scroll_width); |
3923 | - var scale_s=this._table_view?-1:this.xy.scale_width; |
3924 | - |
3925 | - this.set_xy(this._els["dhx_cal_navline"][0],w,this.xy.nav_height,0,0); |
3926 | - this.set_xy(this._els["dhx_cal_header"][0],w-scale_x,this.xy.scale_height,scale_s,this.xy.nav_height+(this._quirks?-1:1)); |
3927 | - //to support alter-skin, we need a way to alter height directly from css |
3928 | - var actual_height = this._els["dhx_cal_navline"][0].offsetHeight; |
3929 | - if (actual_height > 0) this.xy.nav_height = actual_height; |
3930 | - |
3931 | - var data_y=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0); |
3932 | - this.set_xy(this._els["dhx_cal_data"][0],w,h-(data_y+2),0,data_y+2); |
3933 | -}; |
3934 | -scheduler.set_xy=function(node,w,h,x,y){ |
3935 | - node.style.width=Math.max(0,w)+"px"; |
3936 | - node.style.height=Math.max(0,h)+"px"; |
3937 | - if (arguments.length>3){ |
3938 | - node.style.left=x+"px"; |
3939 | - node.style.top=y+"px"; |
3940 | - } |
3941 | -}; |
3942 | -scheduler.get_elements=function(){ |
3943 | - //get all child elements as named hash |
3944 | - var els=this._obj.getElementsByTagName("DIV"); |
3945 | - for (var i=0; i < els.length; i++){ |
3946 | - var name=els[i].className; |
3947 | - if (name) name = name.split(" ")[0]; |
3948 | - if (!this._els[name]) this._els[name]=[]; |
3949 | - this._els[name].push(els[i]); |
3950 | - |
3951 | - //check if name need to be changed |
3952 | - var t=scheduler.locale.labels[els[i].getAttribute("name")||name]; |
3953 | - if (t) els[i].innerHTML=t; |
3954 | - } |
3955 | -}; |
3956 | -scheduler.set_actions=function(){ |
3957 | - for (var a in this._els) |
3958 | - if (this._click[a]) |
3959 | - for (var i=0; i < this._els[a].length; i++) |
3960 | - this._els[a][i].onclick=scheduler._click[a]; |
3961 | - this._obj.onselectstart=function(e){ return false; }; |
3962 | - this._obj.onmousemove=function(e){ |
3963 | - scheduler._on_mouse_move(e||event); |
3964 | - }; |
3965 | - this._obj.onmousedown=function(e){ |
3966 | - scheduler._on_mouse_down(e||event); |
3967 | - }; |
3968 | - this._obj.onmouseup=function(e){ |
3969 | - scheduler._on_mouse_up(e||event); |
3970 | - }; |
3971 | - this._obj.ondblclick=function(e){ |
3972 | - scheduler._on_dbl_click(e||event); |
3973 | - }; |
3974 | - this._obj.oncontextmenu = function(e) { |
3975 | - var ev = e||event; |
3976 | - var src = ev.target||ev.srcElement; |
3977 | - var returnValue = scheduler.callEvent("onContextMenu", [scheduler._locate_event(src), ev]); |
3978 | - return returnValue; |
3979 | - }; |
3980 | -}; |
3981 | -scheduler.select=function(id){ |
3982 | - if (this._select_id==id) return; |
3983 | - this.editStop(false); |
3984 | - this.unselect(); |
3985 | - this._select_id = id; |
3986 | - this.updateEvent(id); |
3987 | -}; |
3988 | -scheduler.unselect=function(id){ |
3989 | - if (id && id!=this._select_id) return; |
3990 | - var t=this._select_id; |
3991 | - this._select_id = null; |
3992 | - if (t) this.updateEvent(t); |
3993 | -}; |
3994 | -scheduler.getState=function(){ |
3995 | - return { |
3996 | - mode: this._mode, |
3997 | - date: this._date, |
3998 | - min_date: this._min_date, |
3999 | - max_date: this._max_date, |
4000 | - editor_id: this._edit_id, |
4001 | - lightbox_id: this._lightbox_id, |
4002 | - new_event: this._new_event, |
4003 | - select_id: this._select_id, |
4004 | - expanded: this.expanded, |
4005 | - drag_id: this._drag_id, |
4006 | - drag_mode: this._drag_mode |
4007 | - }; |
4008 | -}; |
4009 | -scheduler._click={ |
4010 | - dhx_cal_data:function(e){ |
4011 | - var trg = e?e.target:event.srcElement; |
4012 | - var id = scheduler._locate_event(trg); |
4013 | - |
4014 | - e = e || event; |
4015 | - |
4016 | - if (!id) { |
4017 | - scheduler.callEvent("onEmptyClick",[scheduler.getActionData(e).date, e]); |
4018 | - } else { |
4019 | - if ( !scheduler.callEvent("onClick",[id,e]) || scheduler.config.readonly ) return; |
4020 | - } |
4021 | - |
4022 | - if (id && scheduler.config.select) { |
4023 | - |
4024 | - scheduler.select(id); |
4025 | - var mask = trg.className; |
4026 | - if (mask.indexOf("_icon")!=-1) |
4027 | - scheduler._click.buttons[mask.split(" ")[1].replace("icon_","")](id); |
4028 | - } else |
4029 | - scheduler._close_not_saved(); |
4030 | - }, |
4031 | - dhx_cal_prev_button:function(){ |
4032 | - scheduler._click.dhx_cal_next_button(0,-1); |
4033 | - }, |
4034 | - dhx_cal_next_button:function(dummy,step){ |
4035 | - scheduler.setCurrentView(scheduler.date.add( //next line changes scheduler._date , but seems it has not side-effects |
4036 | - scheduler.date[scheduler._mode+"_start"](scheduler._date),(step||1),scheduler._mode)); |
4037 | - }, |
4038 | - dhx_cal_today_button:function(){ |
4039 | - scheduler.setCurrentView(new Date()); |
4040 | - }, |
4041 | - dhx_cal_tab:function(){ |
4042 | - var name = this.getAttribute("name"); |
4043 | - var mode = name.substring(0, name.search("_tab")); |
4044 | - scheduler.setCurrentView(scheduler._date,mode); |
4045 | - }, |
4046 | - buttons:{ |
4047 | - "delete":function(id){ |
4048 | - var c = scheduler.locale.labels.confirm_deleting; |
4049 | - scheduler._dhtmlx_confirm(c, scheduler.locale.labels.title_confirm_deleting, function(){ scheduler.deleteEvent(id) }); |
4050 | - }, |
4051 | - edit:function(id){ scheduler.edit(id); }, |
4052 | - save:function(id){ scheduler.editStop(true); }, |
4053 | - details:function(id){ scheduler.showLightbox(id); }, |
4054 | - cancel:function(id){ scheduler.editStop(false); } |
4055 | - } |
4056 | -}; |
4057 | -scheduler._dhtmlx_confirm = function(message, title, callback) { |
4058 | - if (!message) |
4059 | - return callback(); |
4060 | - var opts = { text: message }; |
4061 | - if (title) |
4062 | - opts.title = title; |
4063 | - if (callback) { |
4064 | - opts.callback = function(result) { |
4065 | - if (result) |
4066 | - callback(); |
4067 | - }; |
4068 | - } |
4069 | - dhtmlx.confirm(opts); |
4070 | -}; |
4071 | -scheduler.addEventNow=function(start,end,e){ |
4072 | - var base = {}; |
4073 | - if (start && start.constructor.toString().match(/object/i) !== null){ |
4074 | - base = start; |
4075 | - start = null; |
4076 | - } |
4077 | - |
4078 | - var d = (this.config.event_duration||this.config.time_step)*60000; |
4079 | - if (!start) start = Math.round((new Date()).valueOf()/d)*d; |
4080 | - var start_date = new Date(start); |
4081 | - if (!end){ |
4082 | - var start_hour = this.config.first_hour; |
4083 | - if (start_hour > start_date.getHours()){ |
4084 | - start_date.setHours(start_hour); |
4085 | - start = start_date.valueOf(); |
4086 | - } |
4087 | - end = start.valueOf()+d; |
4088 | - } |
4089 | - var end_date = new Date(end); |
4090 | - |
4091 | - // scheduler.addEventNow(new Date(), new Date()) + collision though get_visible events defect (such event was not retrieved) |
4092 | - if(start_date.valueOf() == end_date.valueOf()) |
4093 | - end_date.setTime(end_date.valueOf()+d); |
4094 | - |
4095 | - base.start_date = base.start_date||start_date; |
4096 | - base.end_date = base.end_date||end_date; |
4097 | - base.text = base.text||this.locale.labels.new_event; |
4098 | - base.id = this._drag_id = this.uid(); |
4099 | - this._drag_mode="new-size"; |
4100 | - |
4101 | - this._loading=true; |
4102 | - this.addEvent(base); |
4103 | - this.callEvent("onEventCreated",[this._drag_id,e]); |
4104 | - this._loading=false; |
4105 | - |
4106 | - this._drag_event={}; //dummy , to trigger correct event updating logic |
4107 | - this._on_mouse_up(e); |
4108 | -}; |
4109 | -scheduler._on_dbl_click=function(e,src){ |
4110 | - src = src||(e.target||e.srcElement); |
4111 | - if (this.config.readonly) return; |
4112 | - var name = src.className.split(" ")[0]; |
4113 | - switch(name){ |
4114 | - case "dhx_scale_holder": |
4115 | - case "dhx_scale_holder_now": |
4116 | - case "dhx_month_body": |
4117 | - case "dhx_wa_day_data": |
4118 | - case "dhx_marked_timespan": |
4119 | - if (!scheduler.config.dblclick_create) break; |
4120 | - this.addEventNow(this.getActionData(e).date,null,e); |
4121 | - break; |
4122 | - case "dhx_cal_event": |
4123 | - case "dhx_wa_ev_body": |
4124 | - case "dhx_agenda_line": |
4125 | - case "dhx_grid_event": |
4126 | - case "dhx_cal_event_line": |
4127 | - case "dhx_cal_event_clear": |
4128 | - var id = this._locate_event(src); |
4129 | - if (!this.callEvent("onDblClick",[id,e])) return; |
4130 | - if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id)._timed || !this.config.select) |
4131 | - this.showLightbox(id); |
4132 | - else |
4133 | - this.edit(id); |
4134 | - break; |
4135 | - case "dhx_time_block": |
4136 | - case "dhx_cal_container": |
4137 | - return; |
4138 | - break; |
4139 | - default: |
4140 | - var t = this["dblclick_"+name]; |
4141 | - if (t) { |
4142 | - t.call(this,e); |
4143 | - } |
4144 | - else { |
4145 | - if (src.parentNode && src != this) |
4146 | - return scheduler._on_dbl_click(e,src.parentNode); |
4147 | - } |
4148 | - break; |
4149 | - } |
4150 | -}; |
4151 | - |
4152 | -scheduler._mouse_coords=function(ev){ |
4153 | - var pos; |
4154 | - var b=document.body; |
4155 | - var d = document.documentElement; |
4156 | - if(ev.pageX || ev.pageY) |
4157 | - pos={x:ev.pageX, y:ev.pageY}; |
4158 | - else pos={ |
4159 | - x:ev.clientX + (b.scrollLeft||d.scrollLeft||0) - b.clientLeft, |
4160 | - y:ev.clientY + (b.scrollTop||d.scrollTop||0) - b.clientTop |
4161 | - }; |
4162 | - |
4163 | - //apply layout |
4164 | - pos.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width); |
4165 | - pos.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els["dhx_cal_data"][0].scrollTop; |
4166 | - pos.ev = ev; |
4167 | - |
4168 | - var handler = this["mouse_"+this._mode]; |
4169 | - if (handler) |
4170 | - return handler.call(this,pos); |
4171 | - |
4172 | - //transform to date |
4173 | - if (!this._table_view) { |
4174 | - pos.x=Math.min(this._cols.length-1, Math.max(0,Math.ceil(pos.x/this._cols[0])-1)); |
4175 | - 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); |
4176 | - } else { |
4177 | - if (!this._cols || !this._colsS) // agenda/map views |
4178 | - return pos; |
4179 | - var dy=0; |
4180 | - for (dy=1; dy < this._colsS.heights.length; dy++) |
4181 | - if (this._colsS.heights[dy]>pos.y) break; |
4182 | - |
4183 | - pos.y=Math.ceil( (Math.max(0, pos.x/this._cols[0])+Math.max(0,dy-1)*7)*24*60/this.config.time_step ); |
4184 | - |
4185 | - if (scheduler._drag_mode || this._mode == "month") |
4186 | - 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; |
4187 | - |
4188 | - pos.x=0; |
4189 | - } |
4190 | - |
4191 | - return pos; |
4192 | -}; |
4193 | -scheduler._close_not_saved=function(){ |
4194 | - if (new Date().valueOf()-(scheduler._new_event||0) > 500 && scheduler._edit_id){ |
4195 | - var c=scheduler.locale.labels.confirm_closing; |
4196 | - |
4197 | - scheduler._dhtmlx_confirm(c, scheduler.locale.labels.title_confirm_closing, function() { scheduler.editStop(scheduler.config.positive_closing); }); |
4198 | - } |
4199 | -}; |
4200 | -scheduler._correct_shift=function(start, back){ |
4201 | - return start-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(start)).getTimezoneOffset())*60000*(back?-1:1); |
4202 | -}; |
4203 | -scheduler._on_mouse_move=function(e){ |
4204 | - if (this._drag_mode){ |
4205 | - var pos=this._mouse_coords(e); |
4206 | - if (!this._drag_pos || pos.custom || this._drag_pos.x!=pos.x || this._drag_pos.y!=pos.y){ |
4207 | - var start, end; |
4208 | - if (this._edit_id!=this._drag_id) |
4209 | - this._close_not_saved(); |
4210 | - |
4211 | - this._drag_pos=pos; |
4212 | - |
4213 | - if (this._drag_mode=="create"){ |
4214 | - this._close_not_saved(); |
4215 | - this._loading=true; //will be ignored by dataprocessor |
4216 | - |
4217 | - start = this._get_date_from_pos(pos).valueOf(); |
4218 | - |
4219 | - var res = this.callEvent("onBeforeEventCreated", [e]); |
4220 | - if (!res) |
4221 | - return; |
4222 | - |
4223 | - if (!this._drag_start){ |
4224 | - this._drag_start=start; return; |
4225 | - } |
4226 | - end = start; |
4227 | - if (end==this._drag_start) return; |
4228 | - |
4229 | - this._drag_id=this.uid(); |
4230 | - this.addEvent(new Date(this._drag_start), new Date(end),this.locale.labels.new_event,this._drag_id, pos.fields); |
4231 | - |
4232 | - this.callEvent("onEventCreated",[this._drag_id,e]); |
4233 | - this._loading=false; |
4234 | - this._drag_mode="new-size"; |
4235 | - |
4236 | - } |
4237 | - |
4238 | - var ev=this.getEvent(this._drag_id); |
4239 | - |
4240 | - if (this._drag_mode=="move"){ |
4241 | - start = this._min_date.valueOf()+(pos.y*this.config.time_step+pos.x*24*60)*60000; |
4242 | - if (!pos.custom && this._table_view) start+=this.date.time_part(ev.start_date)*1000; |
4243 | - start = this._correct_shift(start); |
4244 | - end = ev.end_date.valueOf()-(ev.start_date.valueOf()-start); |
4245 | - } else { // resize |
4246 | - start = ev.start_date.valueOf(); |
4247 | - end = ev.end_date.valueOf(); |
4248 | - if (this._table_view) { |
4249 | - var resize_date = this._min_date.valueOf()+pos.y*this.config.time_step*60000 + (pos.custom?0:24*60*60000); |
4250 | - if (this._mode == "month") |
4251 | - resize_date = this._correct_shift(resize_date, false); |
4252 | - |
4253 | - if (pos.resize_from_start) |
4254 | - start = resize_date; |
4255 | - else |
4256 | - end = resize_date; |
4257 | - } else { |
4258 | - end = this.date.date_part(new Date(ev.end_date)).valueOf()+pos.y*this.config.time_step*60000; |
4259 | - this._els["dhx_cal_data"][0].style.cursor="s-resize"; |
4260 | - if (this._mode == "week" || this._mode == "day") |
4261 | - end = this._correct_shift(end); |
4262 | - } |
4263 | - if (this._drag_mode == "new-size") { |
4264 | - if (end <= this._drag_start){ |
4265 | - var shift = pos.shift||((this._table_view && !pos.custom)?24*60*60000:0); |
4266 | - start = end-(pos.shift?0:shift); |
4267 | - end = this._drag_start+(shift||(this.config.time_step*60000)); |
4268 | - } else { |
4269 | - start = this._drag_start; |
4270 | - } |
4271 | - } else { |
4272 | - if (end<=start) |
4273 | - end=start+this.config.time_step*60000; |
4274 | - } |
4275 | - } |
4276 | - var new_end = new Date(end-1); |
4277 | - var new_start = new Date(start); |
4278 | - //prevent out-of-borders situation for day|week view |
4279 | - if ( this._table_view || (new_end.getDate()==new_start.getDate() && new_end.getHours()<this.config.last_hour) || scheduler._allow_dnd ){ |
4280 | - ev.start_date=new_start; |
4281 | - ev.end_date=new Date(end); |
4282 | - if (this.config.update_render){ |
4283 | - //fix for repaint after dnd and scroll issue, #231 |
4284 | - var sx = scheduler._els["dhx_cal_data"][0].scrollTop; |
4285 | - this.update_view(); |
4286 | - scheduler._els["dhx_cal_data"][0].scrollTop = sx; |
4287 | - } else |
4288 | - this.updateEvent(this._drag_id); |
4289 | - } |
4290 | - if (this._table_view) { |
4291 | - this.for_rendered(this._drag_id,function(r){ |
4292 | - r.className+=" dhx_in_move"; |
4293 | - }); |
4294 | - } |
4295 | - } |
4296 | - } else { |
4297 | - if (scheduler.checkEvent("onMouseMove")){ |
4298 | - |
4299 | - var id = this._locate_event(e.target||e.srcElement); |
4300 | - this.callEvent("onMouseMove",[id,e]); |
4301 | - } |
4302 | - } |
4303 | -}; |
4304 | -scheduler._on_mouse_down=function(e,src){ |
4305 | - if (this.config.readonly || this._drag_mode) return; |
4306 | - src = src||(e.target||e.srcElement); |
4307 | - var classname = src.className && src.className.split(" ")[0]; |
4308 | - switch (classname) { |
4309 | - case "dhx_cal_event_line": |
4310 | - case "dhx_cal_event_clear": |
4311 | - if (this._table_view) |
4312 | - this._drag_mode="move"; //item in table mode |
4313 | - break; |
4314 | - case "dhx_event_move": |
4315 | - case "dhx_wa_ev_body": |
4316 | - this._drag_mode="move"; |
4317 | - break; |
4318 | - case "dhx_event_resize": |
4319 | - this._drag_mode="resize"; |
4320 | - break; |
4321 | - case "dhx_scale_holder": |
4322 | - case "dhx_scale_holder_now": |
4323 | - case "dhx_month_body": |
4324 | - case "dhx_matrix_cell": |
4325 | - case "dhx_marked_timespan": |
4326 | - this._drag_mode="create"; |
4327 | - this.unselect(this._select_id); |
4328 | - break; |
4329 | - case "": |
4330 | - if (src.parentNode) |
4331 | - return scheduler._on_mouse_down(e,src.parentNode); |
4332 | - default: |
4333 | - if (scheduler.checkEvent("onMouseDown") && scheduler.callEvent("onMouseDown", [classname])) { |
4334 | - if (src.parentNode && src != this) { |
4335 | - return scheduler._on_mouse_down(e,src.parentNode); |
4336 | - } |
4337 | - } |
4338 | - this._drag_mode=null; |
4339 | - this._drag_id=null; |
4340 | - break; |
4341 | - } |
4342 | - if (this._drag_mode){ |
4343 | - var id = this._locate_event(src); |
4344 | - if (!this.config["drag_"+this._drag_mode] || !this.callEvent("onBeforeDrag",[id, this._drag_mode, e])) |
4345 | - this._drag_mode=this._drag_id=0; |
4346 | - else { |
4347 | - this._drag_id= id; |
4348 | - this._drag_event = scheduler._lame_clone(this.getEvent(this._drag_id) || {}); |
4349 | - } |
4350 | - } |
4351 | - this._drag_start=null; |
4352 | -}; |
4353 | -scheduler._on_mouse_up=function(e){ |
4354 | - if (this._drag_mode && this._drag_id){ |
4355 | - this._els["dhx_cal_data"][0].style.cursor="default"; |
4356 | - //drop |
4357 | - var ev=this.getEvent(this._drag_id); |
4358 | - if (this._drag_event._dhx_changed || !this._drag_event.start_date || ev.start_date.valueOf()!=this._drag_event.start_date.valueOf() || ev.end_date.valueOf()!=this._drag_event.end_date.valueOf()){ |
4359 | - var is_new=(this._drag_mode=="new-size"); |
4360 | - if (!this.callEvent("onBeforeEventChanged",[ev,e,is_new,this._drag_event])){ |
4361 | - if (is_new) |
4362 | - this.deleteEvent(ev.id, true); |
4363 | - else { |
4364 | - this._drag_event._dhx_changed = false; |
4365 | - scheduler._lame_copy(ev, this._drag_event); |
4366 | - this.updateEvent(ev.id); |
4367 | - } |
4368 | - } else { |
4369 | - var drag_id = this._drag_id; |
4370 | - this._drag_id = this._drag_mode = null; |
4371 | - if (is_new && this.config.edit_on_create){ |
4372 | - this.unselect(); |
4373 | - this._new_event=new Date();//timestamp of creation |
4374 | - //if selection disabled - force lightbox usage |
4375 | - if (this._table_view || this.config.details_on_create || !this.config.select) { |
4376 | - return this.showLightbox(drag_id); |
4377 | - } |
4378 | - this._drag_pos = true; //set flag to trigger full redraw |
4379 | - this._select_id = this._edit_id = drag_id; |
4380 | - } else { |
4381 | - if (!this._new_event) |
4382 | - this.callEvent(is_new?"onEventAdded":"onEventChanged",[drag_id,this.getEvent(drag_id)]); |
4383 | - } |
4384 | - } |
4385 | - } |
4386 | - if (this._drag_pos) this.render_view_data(); //redraw even if there is no real changes - necessary for correct positioning item after drag |
4387 | - } |
4388 | - this._drag_id = null; |
4389 | - this._drag_mode=null; |
4390 | - this._drag_pos=null; |
4391 | -}; |
4392 | -scheduler.update_view=function(){ |
4393 | - this._reset_scale(); |
4394 | - if (this._load_mode && this._load()) return this._render_wait = true; |
4395 | - this.render_view_data(); |
4396 | -}; |
4397 | -scheduler.updateView = function(date, mode) { |
4398 | - date = date || this._date; |
4399 | - mode = mode || this._mode; |
4400 | - |
4401 | - var dhx_cal_data = 'dhx_cal_data'; |
4402 | - |
4403 | - if (!this._mode) |
4404 | - this._obj.className += " dhx_scheduler_" + mode; else { |
4405 | - this._obj.className = this._obj.className.replace("dhx_scheduler_" + this._mode, "dhx_scheduler_" + mode); |
4406 | - } |
4407 | - |
4408 | - var prev_scroll = (this._mode == mode && this.config.preserve_scroll) ? this._els[dhx_cal_data][0].scrollTop : false; // saving current scroll |
4409 | - |
4410 | - //hide old custom view |
4411 | - if (this[this._mode + "_view"] && mode && this._mode != mode) |
4412 | - this[this._mode + "_view"](false); |
4413 | - |
4414 | - this._close_not_saved(); |
4415 | - |
4416 | - var dhx_multi_day = 'dhx_multi_day'; |
4417 | - if (this._els[dhx_multi_day]) { |
4418 | - this._els[dhx_multi_day][0].parentNode.removeChild(this._els[dhx_multi_day][0]); |
4419 | - this._els[dhx_multi_day] = null; |
4420 | - } |
4421 | - |
4422 | - this._mode = mode; |
4423 | - this._date = date; |
4424 | - this._table_view = (this._mode == "month"); |
4425 | - |
4426 | - var tabs = this._els["dhx_cal_tab"]; |
4427 | - for (var i = 0; i < tabs.length; i++) { |
4428 | - var name = tabs[i].className; |
4429 | - name = name.replace(/ active/g, ""); |
4430 | - if (tabs[i].getAttribute("name") == this._mode + "_tab") |
4431 | - name = name + " active"; |
4432 | - tabs[i].className = name; |
4433 | - } |
4434 | - |
4435 | - //show new view |
4436 | - var view = this[this._mode + "_view"]; |
4437 | - view ? view(true) : this.update_view(); |
4438 | - |
4439 | - if (typeof prev_scroll == "number") // if we are updating or working with the same view scrollTop should be saved |
4440 | - this._els[dhx_cal_data][0].scrollTop = prev_scroll; // restoring original scroll |
4441 | -}; |
4442 | -scheduler.setCurrentView = function(date, mode) { |
4443 | - if (!this.callEvent("onBeforeViewChange", [this._mode, this._date, mode, date])) return; |
4444 | - this.updateView(date, mode); |
4445 | - this.callEvent("onViewChange", [this._mode, this._date]); |
4446 | -}; |
4447 | -scheduler._render_x_header = function(i,left,d,h){ |
4448 | - //header scale |
4449 | - var head=document.createElement("DIV"); head.className="dhx_scale_bar"; |
4450 | - this.set_xy(head,this._cols[i]-1,this.xy.scale_height-2,left,0);//-1 for border |
4451 | - head.innerHTML=this.templates[this._mode+"_scale_date"](d,this._mode); //TODO - move in separate method |
4452 | - h.appendChild(head); |
4453 | -}; |
4454 | -scheduler._reset_scale=function(){ |
4455 | - //current mode doesn't support scales |
4456 | - //we mustn't call reset_scale for such modes, so it just to be sure |
4457 | - if (!this.templates[this._mode + "_date"]) return; |
4458 | - |
4459 | - var h = this._els["dhx_cal_header"][0]; |
4460 | - var b = this._els["dhx_cal_data"][0]; |
4461 | - var c = this.config; |
4462 | - |
4463 | - h.innerHTML = ""; |
4464 | - b.scrollTop = 0; //fix flickering in FF |
4465 | - b.innerHTML = ""; |
4466 | - |
4467 | - var str = ((c.readonly || (!c.drag_resize)) ? " dhx_resize_denied" : "") + ((c.readonly || (!c.drag_move)) ? " dhx_move_denied" : ""); |
4468 | - if (str) b.className = "dhx_cal_data" + str; |
4469 | - |
4470 | - this._scales = {}; |
4471 | - this._cols = []; //store for data section |
4472 | - this._colsS = {height: 0}; |
4473 | - this._dy_shift = 0; |
4474 | - |
4475 | - this.set_sizes(); |
4476 | - var summ=parseInt(h.style.width,10); //border delta |
4477 | - var left=0; |
4478 | - |
4479 | - var d,dd,sd,today; |
4480 | - dd=this.date[this._mode+"_start"](new Date(this._date.valueOf())); |
4481 | - d=sd=this._table_view?scheduler.date.week_start(dd):dd; |
4482 | - today=this.date.date_part(new Date()); |
4483 | - |
4484 | - //reset date in header |
4485 | - var ed=scheduler.date.add(dd,1,this._mode); |
4486 | - var count = 7; |
4487 | - |
4488 | - if (!this._table_view){ |
4489 | - var count_n = this.date["get_"+this._mode+"_end"]; |
4490 | - if (count_n) ed = count_n(dd); |
4491 | - count = Math.round((ed.valueOf()-dd.valueOf())/(1000*60*60*24)); |
4492 | - } |
4493 | - |
4494 | - this._min_date=d; |
4495 | - this._els["dhx_cal_date"][0].innerHTML=this.templates[this._mode+"_date"](dd,ed,this._mode); |
4496 | - |
4497 | - for (var i=0; i<count; i++){ |
4498 | - this._cols[i]=Math.floor(summ/(count-i)); |
4499 | - |
4500 | - this._render_x_header(i,left,d,h); |
4501 | - if (!this._table_view){ |
4502 | - var scales=document.createElement("DIV"); |
4503 | - var cls = "dhx_scale_holder"; |
4504 | - if (d.valueOf()==today.valueOf()) cls = "dhx_scale_holder_now"; |
4505 | - scales.className=cls+" "+this.templates.week_date_class(d,today); |
4506 | - this.set_xy(scales,this._cols[i]-1,c.hour_size_px*(c.last_hour-c.first_hour),left+this.xy.scale_width+1,0);//-1 for border |
4507 | - b.appendChild(scales); |
4508 | - this.callEvent("onScaleAdd",[scales, d]); |
4509 | - } |
4510 | - |
4511 | - d=this.date.add(d,1,"day"); |
4512 | - summ-=this._cols[i]; |
4513 | - left+=this._cols[i]; |
4514 | - this._colsS[i]=(this._cols[i-1]||0)+(this._colsS[i-1]||(this._table_view?0:this.xy.scale_width+2)); |
4515 | - this._colsS['col_length'] = count+1; |
4516 | - } |
4517 | - this._max_date=d; |
4518 | - this._colsS[count]=this._cols[count-1]+this._colsS[count-1]; |
4519 | - |
4520 | - if (this._table_view) // month view |
4521 | - this._reset_month_scale(b,dd,sd); |
4522 | - else{ |
4523 | - this._reset_hours_scale(b,dd,sd); |
4524 | - if (c.multi_day) { |
4525 | - var dhx_multi_day = 'dhx_multi_day'; |
4526 | - |
4527 | - if(this._els[dhx_multi_day]) { |
4528 | - this._els[dhx_multi_day][0].parentNode.removeChild(this._els[dhx_multi_day][0]); |
4529 | - this._els[dhx_multi_day] = null; |
4530 | - } |
4531 | - |
4532 | - var navline = this._els["dhx_cal_navline"][0]; |
4533 | - var top = navline.offsetHeight + this._els["dhx_cal_header"][0].offsetHeight+1; |
4534 | - |
4535 | - var c1 = document.createElement("DIV"); |
4536 | - c1.className = dhx_multi_day; |
4537 | - c1.style.visibility="hidden"; |
4538 | - this.set_xy(c1, this._colsS[this._colsS.col_length-1]+this.xy.scroll_width, 0, 0, top); // 2 extra borders, dhx_header has -1 bottom margin |
4539 | - b.parentNode.insertBefore(c1,b); |
4540 | - |
4541 | - var c2 = c1.cloneNode(true); |
4542 | - c2.className = dhx_multi_day+"_icon"; |
4543 | - c2.style.visibility="hidden"; |
4544 | - this.set_xy(c2, this.xy.scale_width, 0, 0, top); // dhx_header has -1 bottom margin |
4545 | - |
4546 | - c1.appendChild(c2); |
4547 | - this._els[dhx_multi_day]=[c1,c2]; |
4548 | - this._els[dhx_multi_day][0].onclick = this._click.dhx_cal_data; |
4549 | - } |
4550 | - } |
4551 | -}; |
4552 | -scheduler._reset_hours_scale=function(b,dd,sd){ |
4553 | - var c=document.createElement("DIV"); |
4554 | - c.className="dhx_scale_holder"; |
4555 | - |
4556 | - var date = new Date(1980,1,1,this.config.first_hour,0,0); |
4557 | - for (var i=this.config.first_hour*1; i < this.config.last_hour; i++) { |
4558 | - var cc=document.createElement("DIV"); |
4559 | - cc.className="dhx_scale_hour"; |
4560 | - cc.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px"; |
4561 | - cc.style.width=this.xy.scale_width+"px"; |
4562 | - cc.innerHTML=scheduler.templates.hour_scale(date); |
4563 | - |
4564 | - c.appendChild(cc); |
4565 | - date=this.date.add(date,1,"hour"); |
4566 | - } |
4567 | - b.appendChild(c); |
4568 | - if (this.config.scroll_hour) |
4569 | - b.scrollTop = this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour); |
4570 | -}; |
4571 | -scheduler._reset_month_scale=function(b,dd,sd){ |
4572 | - var ed=scheduler.date.add(dd,1,"month"); |
4573 | - |
4574 | - //trim time part for comparation reasons |
4575 | - var cd=new Date(); |
4576 | - this.date.date_part(cd); |
4577 | - this.date.date_part(sd); |
4578 | - |
4579 | - var rows=Math.ceil(Math.round((ed.valueOf()-sd.valueOf()) / (60*60*24*1000) ) / 7); |
4580 | - var tdcss=[]; |
4581 | - var height=(Math.floor(b.clientHeight/rows)-22); |
4582 | - |
4583 | - this._colsS.height=height+22; |
4584 | - var h = this._colsS.heights = []; |
4585 | - for (var i=0; i<=7; i++) |
4586 | - tdcss[i]=" style='height:"+height+"px; width:"+((this._cols[i]||0)-1)+"px;' "; |
4587 | - |
4588 | - |
4589 | - |
4590 | - var cellheight = 0; |
4591 | - this._min_date=sd; |
4592 | - var html="<table cellpadding='0' cellspacing='0'>"; |
4593 | - var rendered_dates = []; |
4594 | - for (var i=0; i<rows; i++){ |
4595 | - html+="<tr>"; |
4596 | - for (var j=0; j<7; j++){ |
4597 | - html+="<td"; |
4598 | - var cls = ""; |
4599 | - if (sd<dd) |
4600 | - cls='dhx_before'; |
4601 | - else if (sd>=ed) |
4602 | - cls='dhx_after'; |
4603 | - else if (sd.valueOf()==cd.valueOf()) |
4604 | - cls='dhx_now'; |
4605 | - html+=" class='"+cls+" "+this.templates.month_date_class(sd,cd)+"' "; |
4606 | - html+="><div class='dhx_month_head'>"+this.templates.month_day(sd)+"</div><div class='dhx_month_body' "+tdcss[j]+"></div></td>"; |
4607 | - rendered_dates.push(sd); |
4608 | - sd=this.date.add(sd,1,"day"); |
4609 | - } |
4610 | - html+="</tr>"; |
4611 | - h[i] = cellheight; |
4612 | - cellheight+=this._colsS.height; |
4613 | - } |
4614 | - html+="</table>"; |
4615 | - this._max_date=sd; |
4616 | - |
4617 | - b.innerHTML=html; |
4618 | - |
4619 | - this._scales = {}; |
4620 | - var divs = b.getElementsByTagName('div'); |
4621 | - for (var i=0; i<rendered_dates.length; i++) { // [header, body, header, body, ...] |
4622 | - var div = divs[(i*2)+1]; |
4623 | - var date = rendered_dates[i]; |
4624 | - this._scales[+date] = div; |
4625 | - } |
4626 | - for (var i=0; i<rendered_dates.length; i++) { |
4627 | - var date = rendered_dates[i]; |
4628 | - this.callEvent("onScaleAdd", [this._scales[+date], date]); |
4629 | - } |
4630 | - |
4631 | - return sd; |
4632 | -}; |
4633 | -scheduler.getLabel = function(property, key) { |
4634 | - var sections = this.config.lightbox.sections; |
4635 | - for (var i=0; i<sections.length; i++) { |
4636 | - if(sections[i].map_to == property) { |
4637 | - var options = sections[i].options; |
4638 | - for (var j=0; j<options.length; j++) { |
4639 | - if(options[j].key == key) { |
4640 | - return options[j].label; |
4641 | - } |
4642 | - } |
4643 | - } |
4644 | - } |
4645 | - return ""; |
4646 | -}; |
4647 | -scheduler.updateCollection = function(list_name, collection) { |
4648 | - var list = scheduler.serverList(list_name); |
4649 | - if (!list) return false; |
4650 | - list.splice(0, list.length); |
4651 | - list.push.apply(list, collection || []); |
4652 | - scheduler.callEvent("onOptionsLoad", []); |
4653 | - scheduler.resetLightbox(); |
4654 | - return true; |
4655 | -}; |
4656 | -scheduler._lame_clone = function(object, cache) { |
4657 | - var i, t, result; // iterator, types array, result |
4658 | - |
4659 | - cache = cache || []; |
4660 | - |
4661 | - for (i=0; i<cache.length; i+=2) |
4662 | - if(object === cache[i]) |
4663 | - return cache[i+1]; |
4664 | - |
4665 | - if (object && typeof object == "object") { |
4666 | - result = {}; |
4667 | - t = [Array,Date,Number,String,Boolean]; |
4668 | - for (i=0; i<t.length; i++) { |
4669 | - if (object instanceof t[i]) |
4670 | - result = i ? new t[i](object) : new t[i](); // first one is array |
4671 | - } |
4672 | - cache.push(object, result); |
4673 | - for (i in object) { |
4674 | - if (Object.prototype.hasOwnProperty.apply(object, [i])) |
4675 | - result[i] = scheduler._lame_clone(object[i], cache) |
4676 | - } |
4677 | - } |
4678 | - return result || object; |
4679 | -}; |
4680 | -scheduler._lame_copy = function(target, source) { |
4681 | - for (var key in source) { |
4682 | - if (source.hasOwnProperty(key)) { |
4683 | - target[key] = source[key]; |
4684 | - } |
4685 | - } |
4686 | - return target; |
4687 | -}; |
4688 | -scheduler._get_date_from_pos = function(pos) { |
4689 | - var start=this._min_date.valueOf()+(pos.y*this.config.time_step+(this._table_view?0:pos.x)*24*60)*60000; |
4690 | - return new Date(this._correct_shift(start)); |
4691 | -}; |
4692 | -// n_ev - native event |
4693 | -scheduler.getActionData = function(n_ev) { |
4694 | - var pos = this._mouse_coords(n_ev); |
4695 | - return { |
4696 | - date:this._get_date_from_pos(pos), |
4697 | - section:pos.section |
4698 | - }; |
4699 | -}; |
4700 | - |
4701 | -scheduler.date={ |
4702 | - init:function(){ |
4703 | - var s = scheduler.locale.date.month_short; |
4704 | - var t = scheduler.locale.date.month_short_hash = {}; |
4705 | - for (var i = 0; i < s.length; i++) |
4706 | - t[s[i]]=i; |
4707 | - |
4708 | - var s = scheduler.locale.date.month_full; |
4709 | - var t = scheduler.locale.date.month_full_hash = {}; |
4710 | - for (var i = 0; i < s.length; i++) |
4711 | - t[s[i]]=i; |
4712 | - }, |
4713 | - date_part:function(date){ |
4714 | - date.setHours(0); |
4715 | - date.setMinutes(0); |
4716 | - date.setSeconds(0); |
4717 | - date.setMilliseconds(0); |
4718 | - if (date.getHours() != 0) |
4719 | - date.setTime(date.getTime() + 60 * 60 * 1000 * (24 - date.getHours())); |
4720 | - return date; |
4721 | - }, |
4722 | - time_part:function(date){ |
4723 | - return (date.valueOf()/1000 - date.getTimezoneOffset()*60)%86400; |
4724 | - }, |
4725 | - week_start:function(date){ |
4726 | - var shift=date.getDay(); |
4727 | - if (scheduler.config.start_on_monday){ |
4728 | - if (shift===0) shift=6; |
4729 | - else shift--; |
4730 | - } |
4731 | - return this.date_part(this.add(date,-1*shift,"day")); |
4732 | - }, |
4733 | - month_start:function(date){ |
4734 | - date.setDate(1); |
4735 | - return this.date_part(date); |
4736 | - }, |
4737 | - year_start:function(date){ |
4738 | - date.setMonth(0); |
4739 | - return this.month_start(date); |
4740 | - }, |
4741 | - day_start:function(date){ |
4742 | - return this.date_part(date); |
4743 | - }, |
4744 | - add:function(date,inc,mode){ |
4745 | - var ndate=new Date(date.valueOf()); |
4746 | - switch(mode){ |
4747 | - case "week": |
4748 | - inc *= 7; |
4749 | - case "day": |
4750 | - ndate.setDate(ndate.getDate() + inc); |
4751 | - if (!date.getHours() && ndate.getHours()) //shift to yesterday |
4752 | - ndate.setTime(ndate.getTime() + 60 * 60 * 1000 * (24 - ndate.getHours())); |
4753 | - break; |
4754 | - case "month": |
4755 | - var new_month = ndate.getMonth()+inc; |
4756 | - var t_ndate = new Date(ndate); |
4757 | - ndate.setMonth(new_month); |
4758 | - if (ndate.getMonth() != new_month && ndate.getMonth() != (new_month % 12)) { // 31 March +1 Month = 1 May, need to make 30 April |
4759 | - t_ndate.setDate(1); |
4760 | - t_ndate.setMonth(new_month); |
4761 | - t_ndate.setDate(new Date(t_ndate.getFullYear(),new_month+1,0).getDate()); |
4762 | - ndate = t_ndate; |
4763 | - } |
4764 | - break; |
4765 | - case "year": ndate.setYear(ndate.getFullYear()+inc); break; |
4766 | - case "hour": ndate.setHours(ndate.getHours()+inc); break; |
4767 | - case "minute": ndate.setMinutes(ndate.getMinutes()+inc); break; |
4768 | - default: |
4769 | - return scheduler.date["add_"+mode](date,inc,mode); |
4770 | - } |
4771 | - return ndate; |
4772 | - }, |
4773 | - to_fixed:function(num){ |
4774 | - if (num<10) return "0"+num; |
4775 | - return num; |
4776 | - }, |
4777 | - copy:function(date){ |
4778 | - return new Date(date.valueOf()); |
4779 | - }, |
4780 | - date_to_str:function(format,utc){ |
4781 | - format=format.replace(/%[a-zA-Z]/g,function(a){ |
4782 | - switch(a){ |
4783 | - case "%d": return "\"+scheduler.date.to_fixed(date.getDate())+\""; |
4784 | - case "%m": return "\"+scheduler.date.to_fixed((date.getMonth()+1))+\""; |
4785 | - case "%j": return "\"+date.getDate()+\""; |
4786 | - case "%n": return "\"+(date.getMonth()+1)+\""; |
4787 | - case "%y": return "\"+scheduler.date.to_fixed(date.getFullYear()%100)+\""; |
4788 | - case "%Y": return "\"+date.getFullYear()+\""; |
4789 | - case "%D": return "\"+scheduler.locale.date.day_short[date.getDay()]+\""; |
4790 | - case "%l": return "\"+scheduler.locale.date.day_full[date.getDay()]+\""; |
4791 | - case "%M": return "\"+scheduler.locale.date.month_short[date.getMonth()]+\""; |
4792 | - case "%F": return "\"+scheduler.locale.date.month_full[date.getMonth()]+\""; |
4793 | - case "%h": return "\"+scheduler.date.to_fixed((date.getHours()+11)%12+1)+\""; |
4794 | - case "%g": return "\"+((date.getHours()+11)%12+1)+\""; |
4795 | - case "%G": return "\"+date.getHours()+\""; |
4796 | - case "%H": return "\"+scheduler.date.to_fixed(date.getHours())+\""; |
4797 | - case "%i": return "\"+scheduler.date.to_fixed(date.getMinutes())+\""; |
4798 | - case "%a": return "\"+(date.getHours()>11?\"pm\":\"am\")+\""; |
4799 | - case "%A": return "\"+(date.getHours()>11?\"PM\":\"AM\")+\""; |
4800 | - case "%s": return "\"+scheduler.date.to_fixed(date.getSeconds())+\""; |
4801 | - case "%W": return "\"+scheduler.date.to_fixed(scheduler.date.getISOWeek(date))+\""; |
4802 | - default: return a; |
4803 | - } |
4804 | - }); |
4805 | - if (utc) format=format.replace(/date\.get/g,"date.getUTC"); |
4806 | - return new Function("date","return \""+format+"\";"); |
4807 | - }, |
4808 | - str_to_date:function(format,utc){ |
4809 | - var splt="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);"; |
4810 | - var mask=format.match(/%[a-zA-Z]/g); |
4811 | - for (var i=0; i<mask.length; i++){ |
4812 | - switch(mask[i]){ |
4813 | - case "%j": |
4814 | - case "%d": splt+="set[2]=temp["+i+"]||1;"; |
4815 | - break; |
4816 | - case "%n": |
4817 | - case "%m": splt+="set[1]=(temp["+i+"]||1)-1;"; |
4818 | - break; |
4819 | - case "%y": splt+="set[0]=temp["+i+"]*1+(temp["+i+"]>50?1900:2000);"; |
4820 | - break; |
4821 | - case "%g": |
4822 | - case "%G": |
4823 | - case "%h": |
4824 | - case "%H": |
4825 | - splt+="set[3]=temp["+i+"]||0;"; |
4826 | - break; |
4827 | - case "%i": |
4828 | - splt+="set[4]=temp["+i+"]||0;"; |
4829 | - break; |
4830 | - case "%Y": splt+="set[0]=temp["+i+"]||0;"; |
4831 | - break; |
4832 | - case "%a": |
4833 | - case "%A": splt+="set[3]=set[3]%12+((temp["+i+"]||'').toLowerCase()=='am'?0:12);"; |
4834 | - break; |
4835 | - case "%s": splt+="set[5]=temp["+i+"]||0;"; |
4836 | - break; |
4837 | - case "%M": splt+="set[1]=scheduler.locale.date.month_short_hash[temp["+i+"]]||0;"; |
4838 | - break; |
4839 | - case "%F": splt+="set[1]=scheduler.locale.date.month_full_hash[temp["+i+"]]||0;"; |
4840 | - break; |
4841 | - default: |
4842 | - break; |
4843 | - } |
4844 | - } |
4845 | - var code ="set[0],set[1],set[2],set[3],set[4],set[5]"; |
4846 | - if (utc) code =" Date.UTC("+code+")"; |
4847 | - return new Function("date","var set=[0,0,1,0,0,0]; "+splt+" return new Date("+code+");"); |
4848 | - }, |
4849 | - getISOWeek: function(ndate) { |
4850 | - if(!ndate) return false; |
4851 | - var nday = ndate.getDay(); |
4852 | - if (nday === 0) { |
4853 | - nday = 7; |
4854 | - } |
4855 | - var first_thursday = new Date(ndate.valueOf()); |
4856 | - first_thursday.setDate(ndate.getDate() + (4 - nday)); |
4857 | - var year_number = first_thursday.getFullYear(); // year of the first Thursday |
4858 | - 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) |
4859 | - var week_number = 1 + Math.floor( ordinal_date / 7); |
4860 | - return week_number; |
4861 | - }, |
4862 | - getUTCISOWeek: function(ndate){ |
4863 | - return this.getISOWeek(ndate); |
4864 | - }, |
4865 | - convert_to_utc: function(date) { |
4866 | - return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); |
4867 | - } |
4868 | -}; |
4869 | -scheduler.locale = { |
4870 | - date:{ |
4871 | - month_full:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], |
4872 | - month_short:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], |
4873 | - day_full:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], |
4874 | - day_short:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] |
4875 | - }, |
4876 | - labels:{ |
4877 | - dhx_cal_today_button:"Today", |
4878 | - day_tab:"Day", |
4879 | - week_tab:"Week", |
4880 | - month_tab:"Month", |
4881 | - new_event:"New event", |
4882 | - icon_save:"Save", |
4883 | - icon_cancel:"Cancel", |
4884 | - icon_details:"Details", |
4885 | - icon_edit:"Edit", |
4886 | - icon_delete:"Delete", |
4887 | - confirm_closing:"",//Your changes will be lost, are your sure ? |
4888 | - confirm_deleting:"Event will be deleted permanently, are you sure?", |
4889 | - section_description:"Description", |
4890 | - section_time:"Time period", |
4891 | - full_day:"Full day", |
4892 | - |
4893 | - /*recurring events*/ |
4894 | - confirm_recurring:"Do you want to edit the whole set of repeated events?", |
4895 | - section_recurring:"Repeat event", |
4896 | - button_recurring:"Disabled", |
4897 | - button_recurring_open:"Enabled", |
4898 | - button_edit_series: "Edit series", |
4899 | - button_edit_occurrence: "Edit occurrence", |
4900 | - |
4901 | - /*agenda view extension*/ |
4902 | - agenda_tab:"Agenda", |
4903 | - date:"Date", |
4904 | - description:"Description", |
4905 | - |
4906 | - /*year view extension*/ |
4907 | - year_tab:"Year", |
4908 | - |
4909 | - /* week agenda extension */ |
4910 | - week_agenda_tab: "Agenda", |
4911 | - |
4912 | - /*grid view extension*/ |
4913 | - grid_tab: "Grid" |
4914 | - } |
4915 | -}; |
4916 | - |
4917 | - |
4918 | -/* |
4919 | -%e Day of the month without leading zeros (01..31) |
4920 | -%d Day of the month, 2 digits with leading zeros (01..31) |
4921 | -%j Day of the year, 3 digits with leading zeros (001..366) |
4922 | -%a A textual representation of a day, two letters |
4923 | -%W A full textual representation of the day of the week |
4924 | - |
4925 | -%c Numeric representation of a month, without leading zeros (0..12) |
4926 | -%m Numeric representation of a month, with leading zeros (00..12) |
4927 | -%b A short textual representation of a month, three letters (Jan..Dec) |
4928 | -%M A full textual representation of a month, such as January or March (January..December) |
4929 | - |
4930 | -%y A two digit representation of a year (93..03) |
4931 | -%Y A full numeric representation of a year, 4 digits (1993..03) |
4932 | -*/ |
4933 | - |
4934 | -scheduler.config={ |
4935 | - default_date: "%j %M %Y", |
4936 | - month_date: "%F %Y", |
4937 | - load_date: "%Y-%m-%d", |
4938 | - week_date: "%l", |
4939 | - day_date: "%D, %F %j", |
4940 | - hour_date: "%H:%i", |
4941 | - month_day: "%d", |
4942 | - xml_date: "%m/%d/%Y %H:%i", |
4943 | - api_date: "%d-%m-%Y %H:%i", |
4944 | - |
4945 | - hour_size_px: 42, |
4946 | - time_step: 5, |
4947 | - |
4948 | - start_on_monday: 1, |
4949 | - first_hour: 0, |
4950 | - last_hour: 24, |
4951 | - readonly: false, |
4952 | - drag_resize: 1, |
4953 | - drag_move: 1, |
4954 | - drag_create: 1, |
4955 | - dblclick_create: 1, |
4956 | - edit_on_create: 1, |
4957 | - details_on_create: 0, |
4958 | - click_form_details: 0, |
4959 | - cascade_event_display: false, |
4960 | - cascade_event_count: 4, |
4961 | - cascade_event_margin: 30, |
4962 | - drag_lightbox: true, |
4963 | - preserve_scroll: true, |
4964 | - select: true, |
4965 | - |
4966 | - server_utc: false, |
4967 | - |
4968 | - positive_closing: false, |
4969 | - |
4970 | - icons_edit: ["icon_save", "icon_cancel"], |
4971 | - icons_select: ["icon_details", "icon_edit", "icon_delete"], |
4972 | - buttons_left: ["dhx_save_btn", "dhx_cancel_btn"], |
4973 | - buttons_right: ["dhx_delete_btn"], |
4974 | - lightbox: { |
4975 | - sections: [ |
4976 | - {name: "description", height: 200, map_to: "text", type: "textarea", focus: true}, |
4977 | - {name: "time", height: 72, type: "time", map_to: "auto"} |
4978 | - ] |
4979 | - }, |
4980 | - highlight_displayed_event: true, |
4981 | - displayed_event_color: "#ffc5ab", |
4982 | - displayed_event_text_color: "#7e2727" |
4983 | -}; |
4984 | -scheduler.templates={}; |
4985 | -scheduler.init_templates=function(){ |
4986 | - var labels = scheduler.locale.labels; |
4987 | - labels.dhx_save_btn = labels.icon_save; |
4988 | - labels.dhx_cancel_btn = labels.icon_cancel; |
4989 | - labels.dhx_delete_btn = labels.icon_delete; |
4990 | - |
4991 | - |
4992 | - var d=scheduler.date.date_to_str; |
4993 | - var c=scheduler.config; |
4994 | - var f = function(a,b){ |
4995 | - for (var c in b) |
4996 | - if (!a[c]) a[c]=b[c]; |
4997 | - }; |
4998 | - f(scheduler.templates,{ |
4999 | - day_date:d(c.default_date), |
5000 | - month_date:d(c.month_date), |
The diff has been truncated for viewing.
Seems you forgot to add the fullcalendar library