function Pager(tableName, itemsPerPage) 
{
	//alert("tableName :"+tableName);
	this.tableName = tableName;
    this.itemsPerPage = itemsPerPage;
    this.currentPage = 1;
    this.pages = 0;
    this.inited = false;
  } 
    function showRecords(from, to) 
    {        
        var rows = document.getElementById(tableName).rows;
        // i starts from 1 to skip table header row
        for (var i =1; i < rows.length; i++) 
        {
            if (i < from || i > to)  
                rows[i].style.display = 'none';
            else
                rows[i].style.display = '';
        }
    }
    
    function showPage(pageNumber) 
    {
    	
    	if (!this.inited) 
    	{
    		alert("not inited");
    		return;
    	}
		var oldPageAnchor = document.getElementById('pg'+this.currentPage);
        oldPageAnchor.className = 'pg-normal';
        
        this.currentPage = pageNumber;
        var newPageAnchor = document.getElementById('pg'+this.currentPage);
        newPageAnchor.className = 'pg-selected';
        //alert(itemsPerPage);
        var from = (pageNumber - 1) * itemsPerPage + 1;
        //alert("from "+from);
        var to = from + itemsPerPage - 1;
        //alert("to "+to);
        this.showRecords(from, to);
    }   
    
    function prev() 
    {
    	//alert("in the previous fun :"+this.currentPage);
        if (this.currentPage > 1)
            this.showPage(this.currentPage - 1);
    }
    
    function next() 
    {
    	//alert("In d next function");
        if (this.currentPage < this.pages) {
            this.showPage(this.currentPage + 1);
        }
    }                        
    
    function init() 
    {
        //alert("in the init function");
        var rows = document.getElementById(tableName).rows;
        //alert("row length is "+rows.length);
        var records = (rows.length-1); 
        //alert("records"+records);
        this.pages = Math.ceil(records / itemsPerPage);
        this.inited = true;
    }

	function initial() 
    {
        //alert("in init function");
        var rows = document.getElementById(tableName).rows;
        //alert("row length is "+rows.length);
        var records = (rows.length-1); 
        //alert("records"+records);
        this.pages = Math.ceil(records / itemsPerPage);
        this.inited = true;
    }

    function showPageNav(positionId) 
    {
    //alert('step2'); 
    //alert("pager Name"+pagerName);
    	if (! this.inited) {
    		alert("not inited");
    		return;
    	}
    	
    	//alert("pager Name"+pagerName+positionId);
    	//var pagerN=new Pager('results', 3);
    	//alert(pagerN);
    	var element = document.getElementById(positionId);
    	var pagerHtml = '<span onclick="prev();" class="pg-normal"> &#171 Prev </span> | ';
        for (var page = 1; page <= this.pages; page++) 
            pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="showPage(' + page + ');">' + page + '</span> | ';
        pagerHtml += '<span onclick="next();" class="pg-normal"> Next &#187;</span>';            
        //alert(pagerHtml);
        element.innerHTML = pagerHtml;
    }



