// JavaScript Document
function myList () {
	this.data=null;
	this.containerId=null;
	this.containerPaginationId=null;
	this.itemTemplateId=null;
	this.columns=null;
	this.rows=null;
	this.page=null;
	this.paginationTitle=null;
	this.stylePageLink=null;
	this.stylePageLinkCurrent=null;
	this.replaceItemTemplate=function (itemContainer, i) {
		return itemContainer;
	};
	this.postDraw=function () {
		
	};
	this.postPagination=function () {
		
	};
	this.itemsToDisplay = function () {
		var data=new Array();
		var firstItem=(this.page-1)*(this.columns*this.rows);
		var lastItem = firstItem+(this.columns*this.rows)-1;
		var j=0;
		for (var i=firstItem; i<=lastItem; i++) {
			if (i>=this.data.length) break;
			data[j] = this.data[i];
			j++;
		}
		return data;
	}
	this.draw = function () {
		document.getElementById(this.itemTemplateId).style.display='none';
		var tbody=document.getElementById(this.containerId);
		while (tbody.rows.length > 0) {
        	tbody.deleteRow(0);
    	}
		var data = this.itemsToDisplay();
		var i=0;
		for (var j=1; j<=this.rows; j++) {
			if (i>=data.length) break;
			tr=tbody.insertRow(tbody.rows.length);
			for (var k=1; k<=this.columns; k++) {
				if (i>=data.length) break;
				td=tr.insertCell(tr.cells.length);
				td.innerHTML = this.replaceItemTemplate(document.getElementById(this.itemTemplateId).innerHTML, data[i]);
				i++;
			}
		}
		this.postDraw();
	}
	this.pagination = function (objName) {
		document.getElementById(this.containerPaginationId).innerHTML='';
		var num_pages = Math.ceil((this.data.length)/(this.columns*this.rows));
		if (num_pages > 1) {
			document.getElementById(this.containerPaginationId).innerHTML=this.paginationTitle;
			for (var i=1; i<=num_pages; i++) {
				if (i==this.page) document.getElementById(this.containerPaginationId).innerHTML+='<a href=\"javascript:;\" onClick=\"'+objName+'.page='+i+';'+objName+'.draw();'+objName+'.pagination(\''+objName+'\');\" class=\"'+this.stylePageLinkCurrent+'\">&nbsp;'+i+'&nbsp;</a>&nbsp;';
				else document.getElementById(this.containerPaginationId).innerHTML+='<a href=\"javascript:;\" onClick=\"'+objName+'.page='+i+';'+objName+'.draw();'+objName+'.pagination(\''+objName+'\');\" class=\"'+this.stylePageLink+'\">&nbsp;'+i+'&nbsp;</a>&nbsp;'; 
			}
		}
		this.postPagination();
	}
}