function resounts(name){
  this.currentPage = 0;
  this.pageCount;
  this.data = [];
  this.rowsPerPage = 4
  this.name = name
  this.displayDivName = "busResoults";
  this.sectionNameIndex = -1;
  this.navDiv = null;
  
  this.busNavMoveNext = function (){
    this.gotoPage(this.currentPage + 1);
  }
  
  
  this.busNavMovePrevous = function (){
    this.gotoPage(this.currentPage - 1);
  }
  
  this.gotoPage = function(newPage){
    this.currentPage = newPage;
	try{
      this.buildPage(this.currentPage);
	
      document.getElementById("busNavNext_a").style.display = "";
      document.getElementById("busNavPre_a").style.display = "";
	
	
      if(this.currentPage + 1 == this.pageCount){
        document.getElementById("busNavNext_a").style.display = "none";
      }
	
      if(this.currentPage == 0){
        document.getElementById("busNavPre_a").style.display = "none";
      }
	
      document.getElementById("busNavPageNumber").innerHTML = (this.currentPage + 1);
	}catch(e){}
  }
  
  this.buildResoults = function (){
    this.pageCount = ((this.data.length -1) / this.rowsPerPage);
  
    if (Math.floor(this.pageCount) != this.pageCount){
      this.pageCount = Math.floor(this.pageCount + 1);
    }	

    if (this.pageCount > 0){
      this.buildResoultsSpage()
      this.buildPage(this.currentPage);
    }else{
      this.buildNoResoults();
    }
  }	


  this.buildResoultsSpage = function (){
    var busResoults = document.getElementById(this.displayDivName);
    busResoults.innerHTML = "";
	this.currentPage = 0;
  
    var dataDiv = document.createElement("div");
    dataDiv.setAttribute("id", "busData");
    busResoults.appendChild(dataDiv);
  
  
    // build navation
    if (this.pageCount > 1){
      var navDiv = document.createElement("div");
	  this.navDiv = navDiv
      navDiv.setAttribute("id", "busNav");
      busResoults.appendChild(navDiv);
	
      var navControl = document.createElement("div");
      navControl.setAttribute("id", "navControl");
      navDiv.appendChild(navControl);
	
	  var busNavPrev = document.createElement("div");
      busNavPrev.setAttribute("id", "busNavPre");
      navControl.appendChild(busNavPrev);
	
	  var A = document.createElement("a");
	  busNavPrev.appendChild( A);
      A.setAttribute("href", "javascript:" + this.name + ".busNavMovePrevous()")
      A.setAttribute("id", "busNavPre_a")
	  A.appendChild( document.createTextNode("<<Prev"));
	
	  var busNavPageNumber = document.createElement("div");
      busNavPageNumber.setAttribute("id", "busNavPageNumber");
      navControl.appendChild(busNavPageNumber);	
	  busNavPageNumber.appendChild( document.createTextNode("1"));

	  var busNavPageCount = document.createElement("div");
      busNavPageCount.setAttribute("id", "busNavPageCount");
      navControl.appendChild(busNavPageCount);	
	  busNavPageCount.appendChild(document.createTextNode( "of " + this.pageCount ));
	
	  var busNavNext = document.createElement("div");
      busNavNext.setAttribute("id", "busNavNext");
      navControl.appendChild(busNavNext);

	  var A = document.createElement("a");
	  busNavNext.appendChild( A);
      A.setAttribute("href", "javascript:" + this.name + ".busNavMoveNext()")
      A.setAttribute("id", "busNavNext_a")
	  A.appendChild( document.createTextNode("Next>>"));
	
      document.getElementById("busNavPre_a").style.display = "none";
    }
  }

  this.buildPage = function (pageNumber){
    var busData = document.getElementById("busData");
    busData.innerHTML = "";
  
    if (pageNumber < this.pageCount){
  
      var TABLE =  document.createElement("table");
      busData.appendChild(TABLE);
	
	  var TBODY = document.createElement('tbody');
      TABLE.appendChild(TBODY);
  
      var startingBusiness = pageNumber * this.rowsPerPage;

      var oldSection = "";
	  var lineCount = 0;
      for(var i=0; i < this.rowsPerPage; i++){
		lineCount++;  
		if((startingBusiness + i) < (this.data.length -1)){
		  if((this.sectionNameIndex != -1)&&(oldSection != this.data[startingBusiness + i][this.sectionNameIndex] )){
		    oldSection = this.data[startingBusiness + i][this.sectionNameIndex];
			TBODY.appendChild(this.buildSectionHeader(startingBusiness + i,lineCount));
		  }
          TBODY.appendChild(this.buildRow(startingBusiness + i));
		}
      }
    }
  }

  this.buildNoResoults = function(){
    var busResoults = document.getElementById(this.displayDivName);
    busResoults.innerHTML = "";
	
	var P = document.createElement("p");
	P.appendChild( document.createTextNode("Sorry, no results were found. Please try again."));
	busResoults.appendChild(P);
  }
  
}  // end of class resounts