/* 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.config.limit_start=null;scheduler.config.limit_end=null;scheduler.config.limit_view=!1;scheduler.config.check_limits=!0;scheduler.config.mark_now=!0;scheduler.config.display_marked_timespans=!0; (scheduler._temp_limit_scope=function(){function A(b,a,c,d,e){function g(a,b,c,d){var e=[];if(a&&a[b])for(var g=a[b],i=h(c,d,g),k=0;kscheduler.config.limit_end.valueOf()||this.date.add(d,1,c)<=scheduler.config.limit_start.valueOf())?(setTimeout(function(){scheduler.setCurrentView(scheduler._date,c)},1),!1):!0});scheduler.checkInMarkedTimespan=function(b,a,c){for(var a=a||v,d=!0,e=new Date(b.start_date.valueOf()),g=scheduler.date.add(e,1,"day"),h=scheduler._marked_timespans;eg||b.end_date.getDate()!=e.getDate()?1440:scheduler._get_zone_minutes(b.end_date),o=l[m],j=l[m+1];if(on&&(d=c=="function"?c(b,n,k,o,j):!1,!d))break}}return!d};var s=scheduler.checkLimitViolation=function(b){if(!b)return!0;if(!scheduler.config.check_limits)return!0;for(var a=scheduler,c=a.config,d=[],d=b.rec_type?scheduler.getRecDates(b):[b],e= !0,g=0;g=c.limit_start.valueOf()&&f.end_date.valueOf()<=c.limit_end.valueOf():!0)&&(h=!scheduler.checkInMarkedTimespan(f,t,function(b,c,d,e,f){var g=!0;if(c<=f&&c>=e){if(f==1440||d=e&&df)b._timed&&a._drag_id&&a._drag_mode=="new-size"?(b.end_date.setHours(0), b.end_date.setMinutes(e)):g=!1;return g}));if(!h)a._drag_id=null,a._drag_mode=null,h=a.checkEvent("onLimitViolation")?a.callEvent("onLimitViolation",[f.id,f]):h;e=e&&h}return e};scheduler.attachEvent("onMouseDown",function(b){return!(b=t)});scheduler.attachEvent("onBeforeDrag",function(b){return!b?!0:s(scheduler.getEvent(b))});scheduler.attachEvent("onClick",function(b){return s(scheduler.getEvent(b))});scheduler.attachEvent("onBeforeLightbox",function(b){var a=scheduler.getEvent(b);u=[a.start_date, a.end_date];return s(a)});scheduler.attachEvent("onEventSave",function(b,a){if(!a.start_date||!a.end_date){var c=scheduler.getEvent(b);a.start_date=new Date(c.start_date);a.end_date=new Date(c.end_date)}if(a.rec_type){var d=scheduler._lame_clone(a);scheduler._roll_back_dates(d);return s(d)}return s(a)});scheduler.attachEvent("onEventAdded",function(b){if(!b)return!0;var a=scheduler.getEvent(b);if(!s(a)&&scheduler.config.limit_start&&scheduler.config.limit_end){if(a.start_date=scheduler.config.limit_end.valueOf())a.start_date=this.date.add(scheduler.config.limit_end,-1,"day");if(a.end_date=scheduler.config.limit_end.valueOf())a.end_date=this.date.add(scheduler.config.limit_end,-1,"day");if(a.start_date.valueOf()>=a.end_date.valueOf())a.end_date=this.date.add(a.start_date,this.config.event_duration||this.config.time_step, "minute");a._timed=this.isOneDayEvent(a)}return!0});scheduler.attachEvent("onEventChanged",function(b){if(!b)return!0;var a=scheduler.getEvent(b);if(!s(a)){if(!u)return!1;a.start_date=u[0];a.end_date=u[1];a._timed=this.isOneDayEvent(a)}return!0});scheduler.attachEvent("onBeforeEventChanged",function(b){return s(b)});scheduler.attachEvent("onBeforeEventCreated",function(b){var a=scheduler.getActionData(b).date,c={_timed:!0,start_date:a,end_date:scheduler.date.add(a,scheduler.config.time_step,"minute")}; return s(c)});scheduler.attachEvent("onViewChange",function(){scheduler._mark_now()});scheduler.attachEvent("onSchedulerResize",function(){window.setTimeout(function(){scheduler._mark_now()},1);return!0});scheduler.attachEvent("onTemplatesReady",function(){scheduler._mark_now_timer=window.setInterval(function(){scheduler._mark_now()},6E4)});scheduler._mark_now=function(b){var a="dhx_now_time";this._els[a]||(this._els[a]=[]);var c=scheduler._currentDate(),d=this.config;scheduler._remove_mark_now(); if(!b&&d.mark_now&&cthis._min_date&&c.getHours()>=d.first_hour&&c.getHours()b.start_date||b.days!==void 0&&b.zones))return a;var h=0,f=1440;if(b.zones=="fullday")b.zones=[h,f];if(b.zones&&b.invert_zones)b.zones=scheduler.invertZones(b.zones);b.id= scheduler.uid();b.css=b.css||"";b.type=b.type||v;var i=b.sections;if(i)for(var l in i){if(i.hasOwnProperty(l)){var m=i[l];m instanceof Array||(m=[m]);for(e=0;eq?scheduler._get_zone_minutes(j):h,s=p>w||p.getDate()!=q.getDate()?f:scheduler._get_zone_minutes(p);n.zones=[r,s];a.push(n);q=w;w=scheduler.date.add(w,1,"day")}else{if(o.days instanceof Date)o.days=scheduler.date.date_part(o.days).valueOf();o.zones=b.zones.slice();a.push(o)}}return a};scheduler._get_dates_by_index=function(b,a,c){for(var d=[],a=scheduler.date.date_part(new Date(a||scheduler._min_date)),c=new Date(c||scheduler._max_date),e=a.getDay(),g=b-e>=0?b-e:7-a.getDay()+b, h=scheduler.date.add(a,g,"day");h=+i&&+g<=+i))return d;c=i.getDay()}var l=g.getDay();l>c?c=7-(l-c):c-=l}var m=b.zones,n=scheduler._get_css_classes_by_config(b);if(scheduler._table_view&&scheduler._mode=="month"){var k=[],o=[];if(a)k.push(a),o.push(c);else for(var o=f?[f]:scheduler._get_dates_by_index(c),j=0;jz.position+z.size&&(y=0)}a=a?a:scheduler.locate_holder(y);for(j=0;jg&&i<=g||i=e)c[d]=Math.min(e,i),c[d+1]=Math.max(g,l),d-=2;else{if(!h)continue;var m=e>i?0:2;c.splice(d+m,0,i,l)}a.splice(f--,2);break}return c};scheduler._subtract_timespan_zones=function(b,a){for(var c=b.slice(),d=0;de&&f=f&&g<=i&&c.splice(d,2);ei&&c.splice(l?d+2:d,l?0:2,i,g);d-=2;break}}return c};scheduler.invertZones=function(b){return scheduler._subtract_timespan_zones([0,1440],b.slice())};scheduler._delete_marked_timespan_by_id=function(b){var a=scheduler._marked_timespans_ids[b];if(a)for(var c=0;c