function AllProductsListClass(listElementId, numRecPageElementId, selectedPageElementId, numberPagesElementId, goToPageElementId) 
{   
  var _allProductList = this;
  
  this.listElementId = listElementId;
  this.numRecPageElementId = numRecPageElementId;
  this.selectedPageElementId = selectedPageElementId;
  this.numberPagesElementId = numberPagesElementId;
  this.goToPageElementId = goToPageElementId;
  
  this.updatePage = function(pageToGo, numRecPage) 
  {
	var listElement = document.getElementById(_allProductList.listElementId);
	var url = UIObj.absRoot + "/includes/allProductsList.jspf" + UIObj.addJSessionId();
	
	new Ajax.Updater(
	  listElement, 
	  url, 
	  { 
		method: 'post', 
		onFailure: UIObj.failureAjaxUpdater,
		parameters: 
		{
		  numRecPage: numRecPage,
		  displayPage: pageToGo
		}, 
		evalScripts: true 
	  }
	);  
  }
  
  this.numRecPageChange = function() 
  {
	var selectedPageElement = document.getElementById(_allProductList.selectedPageElementId);
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = parseInt(selectedPageElement.value);	
	var numRecPage = parseInt(numRecPageElement.value);
	
	_allProductList.updatePage(pageToGo, numRecPage);
  }
  
  this.goToPageChange = function() 
  {
	var goToPageElement = document.getElementById(_allProductList.goToPageElementId);
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = parseInt(goToPageElement.value);
	var numRecPage = parseInt(numRecPageElement.value);
	
	_allProductList.updatePage(pageToGo, numRecPage);
  }
  
  this.firstPage = function() 
  {
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = 1;
	var numRecPage = parseInt(numRecPageElement.value);
	
	_allProductList.updatePage(pageToGo, numRecPage);	  
  }
  
  this.prevPage = function() 
  {
	var selectedPageElement = document.getElementById(_allProductList.selectedPageElementId);
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = parseInt(selectedPageElement.value) - 1;
	var numRecPage = parseInt(numRecPageElement.value);
		
	_allProductList.updatePage(pageToGo, numRecPage);
  }
  
  this.nextPage = function() 
  {
	var selectedPageElement = document.getElementById(_allProductList.selectedPageElementId);
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = parseInt(selectedPageElement.value) + 1;
	var numRecPage = parseInt(numRecPageElement.value);
	
	_allProductList.updatePage(pageToGo, numRecPage);
  }	  
  
  this.lastPage = function() 
  {
	var numberPagesElement = document.getElementById(_allProductList.numberPagesElementId);
	var numRecPageElement = document.getElementById(_allProductList.numRecPageElementId);
	var pageToGo = parseInt(numberPagesElement.value);
	var numRecPage = parseInt(numRecPageElement.value);
				
	_allProductList.updatePage(pageToGo, numRecPage);
  }
}
