Type.registerNamespace("Telerik.Web.UI.Scheduler");
(function(m,n,o){var k=60000;
var p=k*60;
var r=p*24;
var l=8*p;
var q=18*p;
var j=4;
n.Scheduler.WeekModelBase=function(a){this._owner=a;
this._settings=this._owner.get_weekViewSettings();
this._defaultHeaderDateFormat="d";
this._defaultColumnHeaderDateFormat="ddd, d"
};
n.Scheduler.WeekModelBase.prototype={get_visibleRangeStart:function(){var a=this._owner;
var b=o.DateHelper.getStartOfWeek(a.get_selectedDate(),a.get_firstDayOfWeek());
if(!a.get_showAllDayRow()){b=o.DateTime.add(b,this.get_effectiveDayStartTime())
}return b
},get_visibleRangeEnd:function(){var a=this._owner;
var b=o.DateHelper.getEndOfWeek(a.get_selectedDate(),a.get_firstDayOfWeek(),this.get_numberOfDays()-1);
if(!a.get_showAllDayRow()){b=o.DateTime.add(b,this.get_effectiveDayEndTime())
}else{b=o.DateTime.add(b,r)
}return b
},get_numberOfDays:function(){var a=this._owner;
return o.DateHelper.getWeekLength(a.get_selectedDate(),a.get_firstDayOfWeek(),a.get_lastDayOfWeek())
},get_dayStartTime:function(){if(!this._settings){return l
}return this._settings.dayStartTime||l
},get_dayEndTime:function(){if(!this._settings){return q
}return this._settings.dayEndTime||q
},get_effectiveDayStartTime:function(){return this._owner.get_showFullTime()?0:this.get_dayStartTime()
},get_effectiveDayEndTime:function(){var e=this._owner.get_showFullTime()?r:this.get_dayEndTime();
var d=e-this.get_effectiveDayStartTime();
var b=d/k;
var c=this._owner.get_minutesPerRow();
var a=Math.round(Math.ceil(b/c));
return this.get_effectiveDayStartTime()+(a*c*k)
},get_slotsPerDay:function(){var a=(this.get_effectiveDayEndTime()-this.get_effectiveDayStartTime())/k;
return a/this._owner.get_minutesPerRow()
},get_nextPeriodDate:function(){return o.DateTime.add(this._owner.get_selectedDate(),(this.get_numberOfDays()*r))
},get_previousPeriodDate:function(){return o.DateTime.add(this._owner.get_selectedDate(),-(this.get_numberOfDays()*r))
},get_headerDateFormat:function(){if(!this._settings){return this._defaultHeaderDateFormat
}return this._settings.headerDateFormat||this._defaultHeaderDateFormat
},get_columnHeaderDateFormat:function(){if(!this._settings){return this._defaultColumnHeaderDateFormat
}return this._settings.columnHeaderDateFormat||this._defaultColumnHeaderDateFormat
},updateResizingAppointmentSize:function(b,g){var e=b.parentNode.parentNode;
var f=e.offsetHeight;
var d=g.parentNode.rowIndex-e.parentNode.rowIndex;
d=Math.min(d,this._getMaxAppointmentGrowth(e));
var c=Math.max(1,(d+1))*f;
var a=parseInt(b.style.paddingBottom);
a=isNaN(a)?0:a;
c-=a;
if($telerik.isIE&&$telerik.quirksMode){c-=$telerik.getBorderBox(e).vertical*2
}c-=j;
b.style.height=c+"px";
m(".rsAptOut, .rsAptMid, .rsAptIn, .rsAptContent",b).css("height",c+"px")
},isVisible:function(a){return this._isInsideVisibleRange(a)
},_isInsideVisibleRange:function(a){var f=o.DateTime.getDate(this.get_visibleRangeStart());
for(var d=0,c=this.get_numberOfDays();
d<c;
d++){var b=o.DateTime.add(f,r*d);
var e=o.DateTime.add(b,this.get_effectiveDayEndTime());
b=o.DateTime.add(b,this.get_effectiveDayStartTime());
if(a._isInRange(b,e)){return true
}}return false
},_getFirstDayStart:function(){var a=o.DateHelper.getStartOfWeek(this._owner.get_selectedDate(),this._owner.get_firstDayOfWeek());
return new o.DateTime(a).add(this.get_effectiveDayStartTime()).toDate()
},getDurationOfMovedAppointment:function(a,c,b){var f=b.get_isAllDay();
var e=c.get_isAllDay();
var d=a.get_duration();
if(f&&!e){d=b.get_duration()
}if(e&&!f){d=this._owner.get_minutesPerRow()*this._owner.get_numberOfHoveredRows()*k
}return d
},_getMaxAppointmentGrowth:function(a){return a.parentNode.parentNode.rows.length
}};
n.Scheduler.WeekModelBase.registerClass("Telerik.Web.UI.Scheduler.WeekModelBase",null,n.ISchedulerModel);
n.Scheduler.WeekModel=function(a){n.Scheduler.WeekModel.initializeBase(this,[a]);
if(o.Rendering.BlockCollection){this._blockCollection=new o.Rendering.BlockCollection()
}if(o.Rendering.HorizontalBlockCollection){this._allDayBlocks=new o.Rendering.HorizontalBlockCollection()
}};
n.Scheduler.WeekModel.prototype={initialize:function(){},getTimeSlotFromDomElement:function(b){var c=60*24;
var a=this._getRawIndexFromDomElement(b);
var e=this._getTimeFromDomElement(b);
var d=(a.viewPartIndex==0)?c:this._owner.get_minutesPerRow();
return new n.Scheduler.WeekTimeSlot(a,e,d,b)
},_getTimeFromDomElement:function(a){var b=this._getRawIndexFromDomElement(a);
return this._getTimeFromIndex(b)
},_getTimeFromIndex:function(c){var a;
if(c.viewPartIndex==0){a=o.DateHelper.getStartOfWeek(this._owner.get_selectedDate(),this._owner.get_firstDayOfWeek())
}else{a=this._getFirstDayStart()
}var b=c.rowIndex*this._owner.get_minutesPerRow();
return new o.DateTime(a).add(c.cellIndex*r).add(b*k).toDate()
},_getRawIndexFromDomElement:function(b){while(b&&b.tagName.toUpperCase()!="TD"&&b.tagName.toUpperCase()!="TH"){b=b.parentNode
}if(b){var f=b.cellIndex;
var e=b.parentNode.rowIndex;
var a=b.parentNode;
var d=Sys.UI.DomElement.containsCssClass(a,"rsAllDayRow");
var c=d?0:1;
return{cellIndex:f,rowIndex:e,viewPartIndex:c}
}return null
},getTimeSlotForAppointment:function(a){var d=a._isAllDay()&&this._owner.get_showAllDayRow();
var c=d?0:1;
var e;
if(d){e=this._getAllDayTimeSlotIndices(a.get_start())
}else{e=this._getRegularTimeSlotIndices(a.get_start())
}e.viewPartIndex=c;
var f=this._getTimeSlotDomElement(c,e.rowIndex,e.cellIndex);
var b=this._getTimeFromIndex(e);
return this._createTimeSlot(e,b,f)
},_createTimeSlot:function(a,e,b){var c=60*24;
var d=(a.viewPartIndex==0)?c:this._owner.get_minutesPerRow();
return new n.Scheduler.WeekTimeSlot(a,e,d,b)
},_getAllDayTimeSlotIndices:function(b){var a=this.get_visibleRangeStart();
var c=new o.DateTime(b).subtract(a);
var d=Math.max(0,Math.round(c/r));
var e=0;
return{rowIndex:e,cellIndex:d}
},_getAllDayTimeSlotFromStartTime:function(b){var a=this._getAllDayTimeSlotIndices(b);
a.viewPartIndex=0;
var c=this._getTimeSlotDomElement(a.viewPartIndex,a.rowIndex,a.cellIndex);
return this._createTimeSlot(a,b,c)
},_getTimeSlotFromStartTime:function(b){var a=this._getRegularTimeSlotIndices(b);
var c=this._getTimeSlotDomElement(1,a.rowIndex,a.cellIndex);
return this._createTimeSlot(a,b,c)
},_getRegularTimeSlotIndices:function(c){var b=this._getFirstDayStart();
var e=new o.DateTime(c).subtract(b);
var f=Math.max(0,Math.floor(e/r));
var d=e-(f*r);
var a=Math.max(0,Math.floor(d/(this._owner.get_minutesPerRow()*k)));
return{rowIndex:a,cellIndex:f}
},_getTimeSlotDomElement:function(c,a,b){var d=this._owner.get_element();
if(c==0){return m("div.rsTopWrap .rsAllDayRow",d).children()[b]
}return m("div.rsTopWrap table.rsContentTable",d)[0].tBodies[0].rows[a].cells[b]
},removeFromBlock:function(a){this._allDayBlocks.remove(a);
this._blockCollection.remove(a)
},addToBlocks:function(a){if(a.isAllDay){this._allDayBlocks.add(a)
}else{this._blockCollection.add(a)
}},_getRenderer:function(){if(!this._renderer){this._renderer=new n.Scheduler.Rendering.WeekViewRenderer(this)
}return this._renderer
}};
n.Scheduler.WeekModel.registerClass("Telerik.Web.UI.Scheduler.WeekModel",n.Scheduler.WeekModelBase);
n.Scheduler.WeekTimeSlot=function(d,c,b,a){this._rawIndex=d;
this._startTime=c;
this._durationInMinutes=b;
this._domElement=a
};
n.Scheduler.WeekTimeSlot.prototype={get_index:function(){var a=this.get_rawIndex();
return String.format("{0}:{1}:{2}",a.viewPartIndex,a.rowIndex,a.cellIndex)
},get_rawIndex:function(){return this._rawIndex
},get_startTime:function(){return this._startTime
},get_endTime:function(){return o.DateTime.add(this.get_startTime(),this.get_duration())
},get_duration:function(){return this.get_durationInMinutes()*k
},get_durationInMinutes:function(){return this._durationInMinutes
},get_isAllDay:function(){return this.get_rawIndex().viewPartIndex==0
},get_domElement:function(){return this._domElement
}};
n.Scheduler.WeekTimeSlot.registerClass("Telerik.Web.UI.Scheduler.WeekTimeSlot",null,n.ISchedulerTimeSlot)
})($telerik.$,Telerik.Web.UI,Telerik.Web.UI.Scheduler);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();