Type.registerNamespace("Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource");
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model=function(_1,_2){
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model.initializeBase(this,[_1,_2]);
this._rawModelData=_2;
this._timelineModels=[];
this._resources=null;
};
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model.prototype={initialize:function(){
var _3=this._modelData.groupingResource;
this._resources=this._owner.get_resources().getResourcesByType(_3);
for(var i=0;i<this._resources.get_count();i++){
this._timelineModels[i]=new Telerik.Web.UI.Scheduler.Views.Timeline.Model(this._owner,this._rawModelData);
}
},getTimeSlotFromDomElement:function(_5){
var _6=this._getRawIndexFromDomElement(_5);
var _7=this._getTimeFromDomElement(_5);
var _8=this._resources.getResource(_6.modelIndex);
var _9=this._timelineModels[0]._slotDuration;
return new Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot(_6,_7,_9,_8,_5);
},_getMaxAppointmentGrowth:function(_a){
if(this._modelData.isVertical){
return this._modelData.numberOfSlots;
}else{
var _b=this.getTimeSlotFromDomElement(_a);
return (this._modelData.numberOfSlots-_b.get_rawIndex().intervalIndex-1);
}
},_getTimeFromDomElement:function(_c){
var _d=this._getRawIndexFromDomElement(_c);
return this._timelineModels[0]._getTimeFromIndex(_d);
},_getRawIndexFromDomElement:function(_e){
while(_e&&(_e.tagName.toUpperCase()!="TD")){
_e=_e.parentNode;
}
if(!_e){
return null;
}
var _f=_e.parentNode;
if(!this._modelData.isVertical){
var _10=_f.cells.length/this._resources.get_count();
var _11=Math.floor(_e.cellIndex/_10);
var _12=_e.cellIndex-(_11*_10);
return {intervalIndex:_12,modelIndex:_11};
}else{
return {intervalIndex:_e.cellIndex,modelIndex:_f.rowIndex};
}
}};
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model.registerClass("Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model",Telerik.Web.UI.Scheduler.Views.Timeline.ModelBase);
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot=function(_13,_14,_15,_16,_17){
this._resource=_16;
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot.initializeBase(this,[_13,_14,_15,_17]);
};
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot.prototype={get_index:function(){
var _18=this.get_rawIndex();
var _19=Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot.callBaseMethod(this,"get_index");
return String.format("{0}:{1}",_18.modelIndex,_19);
},get_resource:function(){
return this._resource;
}};
Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot.registerClass("Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.TimeSlot",Telerik.Web.UI.Scheduler.Views.Timeline.TimeSlot);

