﻿Type.registerNamespace("Telerik.Web.UI.Scheduler.Rendering");
(function(){var a=Telerik.Web.UI.Scheduler.Rendering;
a.BlockCollection=function(){this._blocks=new Array();
};
a.BlockCollection.prototype={add:function(b){var c;
if(this._blocks.length==0){c=this._createBlock();
}else{var d=new Array();
for(var e=0;
e<this._blocks.length;
e++){if(this._blocks[e].overlapsWith(b)){Array.add(d,this._blocks[e]);
}}if(d.length==0){c=this._createBlock();
}else{if(d.length==1){c=d[0];
}else{c=this._mergeBlocks(d);
}}}c.add(b);
},remove:function(e){var b=[];
var c,d;
for(c=0,d=this._blocks.length;
c<d;
c++){this._blocks[c].remove(e);
if(this._blocks[c]._parts.length==0){Array.add(b,this._blocks[c]);
}}for(c=0,d=b.length;
c<d;
c++){Array.remove(this._blocks,b[c]);
}},forEach:function(d){for(var c=0,b=this._blocks.length;
c<b;
c++){this._blocks[c].forEach(d);
}},_createBlock:function(){var b=new a.Block();
var c=this._blocks.length;
Array.insert(this._blocks,c,b);
return b;
},_mergeBlocks:function(b){var f=b[0];
for(var c=0;
c<b.length;
c++){var d=b[c];
if(d==f){continue;
}for(var e=0;
e<d._parts.length;
e++){f.add(d._parts[e]);
}Array.remove(this._blocks,d);
}return f;
}};
a.BlockCollection.registerClass("Telerik.Web.UI.Scheduler.Rendering.BlockCollection");
})();

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();