/**
 * @author Matthew Foster
 * @date   October 2nd 2007
 * @purpose Provide data encapsulation class to build search result "pages"
 */
var Pagination = Class.create();

Object.extend(Pagination.prototype,
				{
					
					initialize : function(options){
					
						this.options = Object.extend({ perPage : 10 }, options || {});
											
					},
					setDataSet : function(set){
												
						this.dataset = this.formatData(set);
						
					},
					getDataSet : function(){
					
						return this.dataset;
					
					}, 
					getPage : function(index){
						
						try{
							return this.dataset[index];
						}
						catch(e){
							return false;
						}
					
					},
					getLength : function(){
						
						return this.dataset.length;
					
					},
					formatData : function(set){
						var ret = [], arr = [], perPage = this.options.perPage;
						set.each(function(obj, itr){									
									if(itr % perPage == 0 && itr != 0){
										ret.push(arr);
										arr = [];
									}
									arr.push(obj);		
								});
						if(arr.length > 0)
							ret.push(arr);
								
						return ret;
					
					}
				
				}
			);