﻿
function PageScroller()
{
    this.className = null;
    this.currentPageNumber = null; 
    this.pageCount = null;
    this.pageDisplayEl = null;
    this.elements = new Array(); 
    
    this.Initialize = function(className, pageDisplayElId)
    {
        var all = document.all ? document.all : document.getElementsByTagName('*');  
          for (var e = 0; e < all.length; e++)
          {
            if (all[e].className == className)
            {
                this.elements.push(all[e]);                
            }
          }
        this.pageCount = this.elements.length;
        
        this.pageDisplayEl = document.getElementById(pageDisplayElId);        
    }
    
    this.HideAll = function()
    {
          for (var e = 0; e < this.elements.length; e++)
          {                       
              this.elements[e].style.display = 'none';
          }
    }  
    
    this.ShowPage = function(pageNumber)
    {
        this.HideAll();
        
        for (var e = 0; e < this.elements.length; e++)
        {                        
            if(pageNumber == e)
            {
                this.elements[e].style.display = 'block';            
            }
        }
        this.currentPageNumber = pageNumber;     
        
        if(this.pageDisplayEl != null)
        {
            this.pageDisplayEl.innerHTML = (this.currentPageNumber + 1) + "/" + this.pageCount;
        }
    }
    this.ShowNextPage = function()
    {
        var NextPageNumber = this.currentPageNumber + 1;
        if(NextPageNumber >= this.pageCount)
        {
            this.ShowPage(0);
        }
        else
        {
            this.ShowPage(NextPageNumber);
        }        
        return false;
    }
    this.ShowPrevPage = function()
    {
        var PrevPageNumber = this.currentPageNumber - 1;
        if(PrevPageNumber < 0)
        {
            this.ShowPage(this.pageCount - 1);  
        }
        else
        {
            this.ShowPage(this.currentPageNumber - 1);        
        }        
        return false;
    }
}
      
