/* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License to use it in non-GPL project. Please contact sales@dhtmlx.com for details */ (scheduler._temp_matrix_scope=function(){function H(){for(var a=scheduler.get_visible_events(),c=[],b=0;b=this._trace_x[h+1];)h++;for(;this._trace_x[h]&&a[b].end_date>this._trace_x[h];)c[d][h]||(c[d][h]=[]),c[d][h].push(a[b]),h++}return c}function w(a,c,b){var d=0,h=b._step,e=b.round_position,l=0,f=c?a.end_date:a.start_date;if(f.valueOf()>scheduler._max_date.valueOf())f= scheduler._max_date;var k=f-scheduler._min_date_timeline;if(k>0){var m=scheduler._get_date_index(b,f);scheduler._ignores[m]&&(e=!0);for(var i=0;i+p&&c&&(l=scheduler._cols[m]):(k=f-p,b.first_hour||b.last_hour?(k-=b._start_correction,k<0&&(k=0),l=Math.round(k/h),l>scheduler._cols[m]&&(l=scheduler._cols[m])):l=Math.round(k/h))}d+= c?k!=0&&!e?l-12:l-14:l+1;return d}function t(a,c){var b=scheduler._get_date_index(this,a),d=this._trace_x[b];c&&+a!=+this._trace_x[b]&&(d=this._trace_x[b+1]?this._trace_x[b+1]:scheduler.date.add(this._trace_x[b],this.x_step,this.x_unit));return new Date(d)}function I(a){var c="";if(a&&this.render!="cell"){a.sort(this.sort||function(a,b){return a.start_date.valueOf()==b.start_date.valueOf()?a.id>b.id?1:-1:a.start_date>b.start_date?1:-1});for(var b=[],d=a.length,h=0;hq)q=b[o]._sorder;e._sorder=q+1;e._inner=!1}else e._sorder=0;b.push(e);b.length>(b.max_count||0)?(b.max_count=b.length,e._count=b.length):e._count=e._count?e._count:1}for(var j=0;jj.height?s:j.height;j.style_height="height:"+j.height+"px;";this._section_height[this.y_unit[g].key]=j.height}c+=""+j.td_content+""; if(this.render=="cell")for(e=0;e":"
"+scheduler.templates[this.name+"_cell_value"](b[g][e])+"
";else{c+="
";c+=r;c+="";for(e=0;e":"";c+="
";c+="
"}c+=""}c+="";this._matrix=b;a.innerHTML=c;scheduler._rendered=[]; for(var B=scheduler._obj.getElementsByTagName("DIV"),g=0;g";if(this.second_scale){for(var p=this.second_scale.x_unit,g=[this._trace_x[0]],q=[],n=[this.dx,this.dx],o=0,j=0;j
";var x=a.firstChild;x.style.height=b+"px";var z=a.lastChild;z.style.position="relative";for(var u=0;ub.start_date?1:-1});if(scheduler._tooltip){if(scheduler._tooltip.date==d)return;scheduler._tooltip.innerHTML=""}else{var e=scheduler._tooltip=document.createElement("DIV");e.className="dhx_year_tooltip";document.body.appendChild(e);e.onclick=scheduler._click.dhx_cal_data}for(var l="",f=0;f";l+="
"+(h[f]._timed?scheduler.templates.event_date(h[f].start_date):"")+"
";l+="
 
";l+=scheduler.templates[a.name+"_tooltip"](h[f].start_date,h[f].end_date,h[f])+""}scheduler._tooltip.style.display="";scheduler._tooltip.style.top="0px";scheduler._tooltip.style.left=document.body.offsetWidth-b.left-scheduler._tooltip.offsetWidth<0?b.left-scheduler._tooltip.offsetWidth+"px":b.left+c.src.offsetWidth+ "px";scheduler._tooltip.date=d;scheduler._tooltip.innerHTML=l;scheduler._tooltip.style.top=document.body.offsetHeight-b.top-scheduler._tooltip.offsetHeight<0?b.top-scheduler._tooltip.offsetHeight+c.src.offsetHeight+"px":b.top+"px"}}function G(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(a){var c=scheduler.matrix[scheduler._mode];if(c&&c.render=="cell"){if(c){var b=scheduler._locate_cell_timeline(a),a=a||event,d=a.target||a.srcElement;if(b)return M(c,b,getOffset(b.src))}D()}}); G=function(){}}function N(a){for(var c=a.parentNode.childNodes,b=0;b0?a.x_start-=i:a.x_start=i+a.x_start}}return d};scheduler.attachEvent("onBeforeTodayDisplayed",function(){a.x_start=a._original_x_start;return!0});scheduler.date[a.name+"_start"]=function(b){var c=scheduler.date[a.x_unit+"_start"]||scheduler.date.day_start,d=c.call(scheduler.date,b);return d=scheduler.date.add(d,a.x_step*a.x_start,a.x_unit)};scheduler.attachEvent("onSchedulerResize",function(){return this._mode==a.name?(scheduler._renderMatrix.call(a, !0,!0),!1):!0});scheduler.attachEvent("onOptionsLoad",function(){a.order={};scheduler.callEvent("onOptionsLoadStart",[]);for(var b=0;bb.x){var i=(b.x-(d-m))/m,i=i<0?0:i;break}}if(f==0&&this._ignores[0]){f=1;for(i=0;this._ignores[f];)f++}else if(f==this._cols.length&&this._ignores[f-1]){f=this._cols.length-1;for(i=0;this._ignores[f];)f--;f++}for(d=0;kb.y)break;b.fields={};a.y_unit[k]||(k=a.y_unit.length-1);if(k>=0&&a.y_unit[k]&&(b.section=b.fields[a.y_property]=a.y_unit[k].key,c)){if(c[a.y_property]!=b.section){var p=scheduler._get_timeline_event_height(c,a);c._sorder=scheduler._get_dnd_order(c._sorder,p,a._section_height[b.section])}c[a.y_property]=b.section}b.x=0;b.force_redraw=!0;b.custom=!0;var g;if(f>=a._trace_x.length)g=scheduler.date.add(a._trace_x[a._trace_x.length-1],a.x_step,a.x_unit),a._end_correction&&(g=new Date(g-a._end_correction)); else{var q=i*m*a._step+a._start_correction;g=new Date(+a._trace_x[f]+q)}if(this._drag_mode=="move"&&this._drag_id&&this._drag_event){var c=this.getEvent(this._drag_id),n=this._drag_event;b._ignores=this._ignores_detected||a._start_correction||a._end_correction;if(!n._move_delta&&(n._move_delta=(c.start_date-g)/6E4,this.config.preserve_length&&b._ignores))n._move_delta=this._get_real_event_length(c.start_date,g,a),n._event_length=this._get_real_event_length(c.start_date,c.end_date,a);if(this.config.preserve_length&& b._ignores){var o=n._event_length,j=this._get_fictional_event_length(g,n._move_delta,a,!0);g=new Date(g-j)}else g=scheduler.date.add(g,n._move_delta,"minute")}if(this._drag_mode=="resize"&&c){var r=!!(Math.abs(c.start_date-g)';if(scheduler.config.drag_resize&&!scheduler.config.readonly){var o="dhx_event_resize";n+="
"}n+=q+"";if(c){var j=document.createElement("DIV"); j.innerHTML=n;var r=this.order[b],s=scheduler._els.dhx_cal_data[0].firstChild.rows[r].cells[1].firstChild;scheduler._rendered.push(j.firstChild);s.appendChild(j.firstChild)}else return n};scheduler._renderMatrix=function(a,c){if(!c)scheduler._els.dhx_cal_data[0].scrollTop=0;scheduler._min_date=scheduler.date[this.name+"_start"](scheduler._date);scheduler._max_date=scheduler.date.add(scheduler._min_date,this.x_size*this.x_step,this.x_unit);scheduler._table_view=!0;if(this.second_scale){if(a&&!this._header_resized)this._header_resized= scheduler.xy.scale_height,scheduler.xy.scale_height*=2,scheduler._els.dhx_cal_header[0].className+=" dhx_second_cal_header";if(!a&&this._header_resized){scheduler.xy.scale_height/=2;this._header_resized=!1;var b=scheduler._els.dhx_cal_header[0];b.className=b.className.replace(/ dhx_second_cal_header/gi,"")}}L.call(this,a)};scheduler._locate_cell_timeline=function(a){for(var a=a||event,c=a.target?a.target:a.srcElement,b={},d=scheduler.matrix[scheduler._mode],h=scheduler.getActionData(a),e=0;e6){var g=new Date(a.days);scheduler.date.date_part(new Date(d))<=+g&&+h>=+g&&p.push(g)}else p.push.apply(p,scheduler._get_dates_by_index(a.days));for(var q=a.zones,n=scheduler._get_css_classes_by_config(a),o=0;oz){var y=scheduler._get_block_by_config(a);y.className=n;var C=w({start_date:z},!1,e)-1,A=w({start_date:u}, !1,e)-1,v=Math.max(1,A-C-1),D=e._section_height[b]-1;y.style.cssText="height: "+D+"px; left: "+C+"px; width: "+v+"px; top: 0;";c.insertBefore(y,c.firstChild);l.push(y)}}return l}}else return P.apply(scheduler,[a,c,b])};var Q=scheduler._append_mark_now;scheduler._append_mark_now=function(a,c){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var b=scheduler._currentDate(),d=scheduler._get_zone_minutes(b),h={days:+scheduler.date.date_part(b),zones:[d,d+1],css:"dhx_matrix_now_time",type:"dhx_now_time"}; return scheduler._render_marked_timespan(h)}else return Q.apply(scheduler,[a,c])};scheduler.attachEvent("onScaleAdd",function(a,c){var b=scheduler._marked_timespans;if(b&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var d=scheduler._mode,h=scheduler._min_date,e=scheduler._max_date,l=b.global,f=scheduler.date.date_part(new Date(h));f=+d[b+1];)b++;return b}})();