﻿Type.registerNamespace("Telerik.Web.UI.Scheduler.Views.Month");
(function($,$T,_3,_4){
var _5=60000;
var _6=_5*60;
var _7=_6*24;
var _8=_7*7;
_4.ModelBase=function(_9){
this._owner=_9;
this._settings=this._owner.get_monthViewSettings();
};
_4.ModelBase.prototype={get_visibleRangeStart:function(){
var _a=this._owner.get_selectedDate();
var _b=_3.DateHelper.getFirstDayOfMonth(_a);
var _c=_3.DateHelper.getStartOfWeek(_b,this._owner.get_firstDayOfWeek());
var _d=_3.DateHelper.getEndOfWeek(_c,this._owner.get_firstDayOfWeek(),this.get_weekLength());
var _e;
if(_d.getMonth()==_a.getMonth()){
_e=_c;
}else{
_e=_3.DateTime.add(_c,7*_7);
}
return _e;
},get_visibleRangeEnd:function(){
var _f=_3.DateHelper.getLastDayOfMonth(this._owner.get_selectedDate());
return _3.DateHelper.getEndOfWeek(_f,this._owner.get_firstDayOfWeek(),this.get_weekLength());
},get_nextPeriodDate:function(){
var _10=this._owner.get_selectedDate();
return new Date(_10.getFullYear(),_10.getMonth(),32);
},get_previousPeriodDate:function(){
var _11=this._owner.get_selectedDate();
return new Date(_11.getFullYear(),_11.getMonth(),0);
},get_weekLength:function(){
return _3.DateHelper.getWeekLength(this._owner.get_selectedDate(),this._owner.get_firstDayOfWeek(),this._owner.get_lastDayOfWeek());
},get_headerDateFormat:function(){
return this._settings.headerDateFormat||"MMM, yyyy";
},get_dayHeaderDateFormat:function(){
return this._settings.dayHeaderDateFormat||"dd";
},get_firstDayHeaderDateFormat:function(){
return this._settings.firstDayHeaderDateFormat||"dd MMM";
},get_visibleAppointmentsPerDay:function(){
return this._settings.visibleAppointmentsPerDay||2;
}};
_4.ModelBase.registerClass("Telerik.Web.UI.Scheduler.Views.Month.ModelBase");
_4.Model=function(_12){
if(_3.Rendering.HorizontalBlockCollection){
this._allDayBlocks=new _3.Rendering.HorizontalBlockCollection();
}
_4.Model.initializeBase(this,[_12]);
};
_4.Model.prototype={initialize:function(){
},addToBlocks:function(_13){
this._allDayBlocks.add(_13);
},removeFromBlock:function(_14){
this._allDayBlocks.remove(_14);
},getTimeSlotFromDomElement:function(_15){
var _16=this._getRawIndexFromDomElement(_15);
var _17=this._getTimeFromDomElement(_15);
return new _4.TimeSlot(_16,_17,_15);
},isVisible:function(_18){
return _18._isInRange(this.get_visibleRangeStart(),this.get_visibleRangeEnd());
},_getTimeFromDomElement:function(_19){
var _1a=this._getRawIndexFromDomElement(_19);
return this._getTimeFromIndex(_1a);
},_getTimeFromIndex:function(_1b){
var _1c=this.get_visibleRangeStart();
var _1d=this.get_weekLength();
var _1e=Math.floor(_1b.dayIndex/_1d);
var _1f=_1b.dayIndex%_1d;
var _20=(_1e*7)+_1f;
$T.RadScheduler._incrementTime(_1c,24*_20,0);
return _1c;
},_getRawIndexFromDomElement:function(_21){
while(_21&&(_21.tagName.toUpperCase()!="TD")){
_21=_21.parentNode;
}
if(_21){
var _22=_21.parentNode;
var _23=_22.cells.length;
var _24=_21.cellIndex;
var _25=_22.rowIndex;
return {dayIndex:(_23*_25)+_24};
}
return null;
},getTimeSlotForAppointment:function(_26){
return this._getAllDayTimeSlotFromStartTime(_26.get_start());
},_getAllDayTimeSlotFromStartTime:function(_27){
var _28=_3.DateTime.subtract(_27,this.get_visibleRangeStart());
var _29=Math.floor(_28/_8);
var _2a=_28-(_29*_8);
var _2b=Math.floor(_2a/_7);
var _2c=this._getTimeSlotDomElement(_29,_2b);
return new _4.TimeSlot({rowIndex:_29,cellIndex:_2b},null,_2c);
},_getTimeSlotDomElement:function(_2d,_2e){
var _2f=this._owner.get_element();
return $("div.rsTopWrap table.rsContentTable",_2f)[0].tBodies[0].rows[_2d].cells[_2e];
},_getRenderer:function(){
if(!this._renderer){
this._renderer=new $T.Scheduler.Rendering.MonthViewRenderer(this);
}
return this._renderer;
}};
_4.Model.registerClass("Telerik.Web.UI.Scheduler.Views.Month.Model",_4.ModelBase);
_4.TimeSlot=function(_30,_31,_32){
this._rawIndex=_30;
this._startTime=_31;
this._domElement=_32;
};
_4.TimeSlot.prototype={get_index:function(){
var _33=this.get_rawIndex();
return String.format("{0}",_33.dayIndex);
},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()*_5;
},get_durationInMinutes:function(){
return 1440;
},get_isAllDay:function(){
return true;
},get_domElement:function(){
return this._domElement;
}};
_4.TimeSlot.registerClass("Telerik.Web.UI.Scheduler.Views.Month.TimeSlot",null,$T.ISchedulerTimeSlot);
})($telerik.$,Telerik.Web.UI,Telerik.Web.UI.Scheduler,Telerik.Web.UI.Scheduler.Views.Month);


if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();