Type.registerNamespace("Telerik.Web.UI.Scheduler");
(function($,$T,_3){
var _4=60000;
var _5=_4*60;
var _6=_5*24;
var _7=8*_5;
var _8=18*_5;
var _9=4;
$T.Scheduler.WeekModelBase=function(_a){
this._owner=_a;
this._settings=this._owner.get_weekViewSettings();
this._defaultHeaderDateFormat="d";
this._defaultColumnHeaderDateFormat="ddd, d";
};
$T.Scheduler.WeekModelBase.prototype={get_visibleRangeStart:function(){
var _b=this._owner;
var _c=_3.DateHelper.getStartOfWeek(_b.get_selectedDate(),_b.get_firstDayOfWeek());
if(!_b.get_showAllDayRow()){
_c=_3.DateTime.add(_c,this.get_effectiveDayStartTime());
}
return _c;
},get_visibleRangeEnd:function(){
var _d=this._owner;
var _e=_3.DateHelper.getEndOfWeek(_d.get_selectedDate(),_d.get_firstDayOfWeek(),this.get_numberOfDays()-1);
if(!_d.get_showAllDayRow()){
_e=_3.DateTime.add(_e,this.get_effectiveDayEndTime());
}else{
_e=_3.DateTime.add(_e,_6);
}
return _e;
},get_numberOfDays:function(){
var _f=this._owner;
return _3.DateHelper.getWeekLength(_f.get_selectedDate(),_f.get_firstDayOfWeek(),_f.get_lastDayOfWeek());
},get_dayStartTime:function(){
if(!this._settings){
return _7;
}
return this._settings.dayStartTime||_7;
},get_dayEndTime:function(){
if(!this._settings){
return _8;
}
return this._settings.dayEndTime||_8;
},get_effectiveDayStartTime:function(){
return this._owner.get_showFullTime()?0:this.get_dayStartTime();
},get_effectiveDayEndTime:function(){
var _10=this._owner.get_showFullTime()?_6:this.get_dayEndTime();
var _11=_10-this.get_effectiveDayStartTime();
var _12=_11/_4;
var _13=this._owner.get_minutesPerRow();
var _14=Math.round(Math.ceil(_12/_13));
return this.get_effectiveDayStartTime()+(_14*_13*_4);
},get_slotsPerDay:function(){
var _15=(this.get_effectiveDayEndTime()-this.get_effectiveDayStartTime())/_4;
return _15/this._owner.get_minutesPerRow();
},get_nextPeriodDate:function(){
return _3.DateTime.add(this._owner.get_selectedDate(),(this.get_numberOfDays()*_6));
},get_previousPeriodDate:function(){
return _3.DateTime.add(this._owner.get_selectedDate(),-(this.get_numberOfDays()*_6));
},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(_16,_17){
var _18=_16.parentNode.parentNode;
var _19=_18.offsetHeight;
var _1a=_17.parentNode.rowIndex-_18.parentNode.rowIndex;
_1a=Math.min(_1a,this._getMaxAppointmentGrowth(_18));
var _1b=Math.max(1,(_1a+1))*_19;
var _1c=parseInt(_16.style.paddingBottom);
_1c=isNaN(_1c)?0:_1c;
_1b-=_1c;
if($telerik.isIE&&$telerik.quirksMode){
_1b-=$telerik.getBorderBox(_18).vertical*2;
}
_1b-=_9;
_16.style.height=_1b+"px";
$(_16).find(".rsAptMid, .rsAptIn").css("height",_1b+"px");
},isVisible:function(_1d){
return this._isInsideVisibleRange(_1d);
},_isInsideVisibleRange:function(_1e){
for(var _1f=0,_20=this.get_numberOfDays();_1f<_20;_1f++){
var _21=_3.DateTime.add(this.get_visibleRangeStart(),_6*_1f);
var _22=_3.DateTime.add(_21,this.get_effectiveDayEndTime());
_21=_3.DateTime.add(_21,this.get_effectiveDayStartTime());
if(_1e._isInRange(_21,_22)){
return true;
}
}
return false;
},_getFirstDayStart:function(){
var _23=_3.DateHelper.getStartOfWeek(this._owner.get_selectedDate(),this._owner.get_firstDayOfWeek());
return new _3.DateTime(_23).add(this.get_effectiveDayStartTime()).toDate();
},_getMaxAppointmentGrowth:function(_24){
return _24.parentNode.parentNode.rows.length;
}};
$T.Scheduler.WeekModelBase.registerClass("Telerik.Web.UI.Scheduler.WeekModelBase",null,$T.ISchedulerModel);
$T.Scheduler.WeekModel=function(_25){
$T.Scheduler.WeekModel.initializeBase(this,[_25]);
if(_3.Rendering.BlockCollection){
this._blockCollection=new _3.Rendering.BlockCollection();
}
if(_3.Rendering.HorizontalBlockCollection){
this._allDayBlocks=new _3.Rendering.HorizontalBlockCollection();
}
};
$T.Scheduler.WeekModel.prototype={initialize:function(){
},getTimeSlotFromDomElement:function(_26){
var _27=60*24;
var _28=this._getRawIndexFromDomElement(_26);
var _29=this._getTimeFromDomElement(_26);
var _2a=(_28.viewPartIndex==0)?_27:this._owner.get_minutesPerRow();
return new $T.Scheduler.WeekTimeSlot(_28,_29,_2a,_26);
},getDurationOfMovedAppointment:function(_2b,_2c,_2d){
var _2e=_2d.get_isAllDay();
var _2f=_2c.get_isAllDay();
var _30=_2b.get_duration();
if(_2e&&!_2f){
_30=_2d.get_duration();
}
if(_2f&&!_2e){
_30=this._owner.get_minutesPerRow()*this._owner.get_numberOfHoveredRows()*_4;
}
return _30;
},_getTimeFromDomElement:function(_31){
var _32=this._getRawIndexFromDomElement(_31);
return this._getTimeFromIndex(_32);
},_getTimeFromIndex:function(_33){
var _34;
if(_33.viewPartIndex==0){
_34=_3.DateHelper.getStartOfWeek(this._owner.get_selectedDate(),this._owner.get_firstDayOfWeek());
}else{
_34=this._getFirstDayStart();
}
var _35=_33.rowIndex*this._owner.get_minutesPerRow();
return new _3.DateTime(_34).add(_33.cellIndex*_6).add(_35*_4).toDate();
},_getRawIndexFromDomElement:function(_36){
while(_36&&(_36.tagName.toUpperCase()!="TD")){
_36=_36.parentNode;
}
if(_36){
var _37=_36.cellIndex;
var _38=_36.parentNode.rowIndex;
var _39=_36.parentNode;
var _3a=Sys.UI.DomElement.containsCssClass(_39,"rsAllDayRow");
var _3b=_3a?0:1;
return {cellIndex:_37,rowIndex:_38,viewPartIndex:_3b};
}
return null;
},getTimeSlotForAppointment:function(_3c){
var _3d=_3c._isAllDay();
var _3e=_3d?0:1;
var _3f;
if(_3d){
_3f=this._getAllDayTimeSlotIndices(_3c.get_start());
}else{
_3f=this._getRegularTimeSlotIndices(_3c.get_start());
}
_3f.viewPartIndex=_3e;
var _40=this._getTimeSlotDomElement(_3e,_3f.rowIndex,_3f.cellIndex);
var _41=this._getTimeFromIndex(_3f);
return this._createTimeSlot(_3f,_41,_40);
},_createTimeSlot:function(_42,_43,_44){
var _45=60*24;
var _46=(_42.viewPartIndex==0)?_45:this._owner.get_minutesPerRow();
return new $T.Scheduler.WeekTimeSlot(_42,_43,_46,_44);
},_getAllDayTimeSlotIndices:function(_47){
var _48=this.get_visibleRangeStart();
var _49=new _3.DateTime(_47).subtract(_48);
var _4a=Math.max(0,Math.round(_49/_6));
var _4b=0;
return {rowIndex:_4b,cellIndex:_4a};
},_getAllDayTimeSlotFromStartTime:function(_4c){
var _4d=this._getAllDayTimeSlotIndices(_4c);
_4d.viewPartIndex=0;
var _4e=this._getTimeSlotDomElement(_4d.viewPartIndex,_4d.rowIndex,_4d.cellIndex);
return this._createTimeSlot(_4d,_4c,_4e);
},_getTimeSlotFromStartTime:function(_4f){
var _50=this._getRegularTimeSlotIndices(_4f);
var _51=this._getTimeSlotDomElement(1,_50.rowIndex,_50.cellIndex);
return this._createTimeSlot(_50,_4f,_51);
},_getRegularTimeSlotIndices:function(_52){
var _53=this._getFirstDayStart();
var _54=new _3.DateTime(_52).subtract(_53);
var _55=Math.max(0,Math.floor(_54/_6));
var _56=_54-(_55*_6);
var _57=Math.max(0,Math.floor(_56/(this._owner.get_minutesPerRow()*_4)));
return {rowIndex:_57,cellIndex:_55};
},_getTimeSlotDomElement:function(_58,_59,_5a){
var _5b=this._owner.get_element();
if(_58==0){
return $("div.rsTopWrap .rsAllDayRow",_5b).children()[_5a];
}
return $("div.rsTopWrap table.rsContentTable",_5b)[0].tBodies[0].rows[_59].cells[_5a];
},removeFromBlock:function(_5c){
this._allDayBlocks.remove(_5c);
this._blockCollection.remove(_5c);
},addToBlocks:function(_5d){
if(_5d.isAllDay){
this._allDayBlocks.add(_5d);
}else{
this._blockCollection.add(_5d);
}
},_getRenderer:function(){
if(!this._renderer){
this._renderer=new $T.Scheduler.Rendering.WeekViewRenderer(this);
}
return this._renderer;
}};
$T.Scheduler.WeekModel.registerClass("Telerik.Web.UI.Scheduler.WeekModel",$T.Scheduler.WeekModelBase);
$T.Scheduler.WeekTimeSlot=function(_5e,_5f,_60,_61){
this._rawIndex=_5e;
this._startTime=_5f;
this._durationInMinutes=_60;
this._domElement=_61;
};
$T.Scheduler.WeekTimeSlot.prototype={get_index:function(){
var _62=this.get_rawIndex();
return String.format("{0}:{1}:{2}",_62.viewPartIndex,_62.rowIndex,_62.cellIndex);
},get_rawIndex:function(){
return this._rawIndex;
},get_startTime:function(){
return this._startTime;
},get_endTime:function(){
return _3.DateTime.add(this.get_startTime(),this.get_duration());
},get_duration:function(){
return this.get_durationInMinutes()*_4;
},get_durationInMinutes:function(){
return this._durationInMinutes;
},get_isAllDay:function(){
return this.get_rawIndex().viewPartIndex==0;
},get_domElement:function(){
return this._domElement;
}};
$T.Scheduler.WeekTimeSlot.registerClass("Telerik.Web.UI.Scheduler.WeekTimeSlot",null,$T.ISchedulerTimeSlot);
})($telerik.$,Telerik.Web.UI,Telerik.Web.UI.Scheduler);


if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();