﻿function simpleScroller(sContainerDiv, sContentDiv, sArrowUp, sArrowDown, iSpeed, iScrollDist) {
    var thisScrollObj = new Object();
        
    thisScrollObj.speed = (iSpeed) ? iSpeed : 10;
    thisScrollObj.scrollDist = (iScrollDist) ? iScrollDist : 2;
    thisScrollObj.scrollDistOrig = thisScrollObj.scrollDist;
    
    thisScrollObj.dir = 0;
    thisScrollObj.timerid = 0;
    thisScrollObj.contentYMin = 0;
    
    
    thisScrollObj.oContainerDiv = document.getElementById(sContainerDiv);
    thisScrollObj.oContentDiv = document.getElementById(sContentDiv);
    thisScrollObj.oArrowUp = document.getElementById(sArrowUp);
    thisScrollObj.oArrowDown = document.getElementById(sArrowDown);            
        
    
        
    thisScrollObj.init = function() {
        thisScrollObj.oContentDiv.style.top = "0px";    
        thisScrollObj.contentYMin = thisScrollObj.oContainerDiv.offsetHeight - thisScrollObj.oContentDiv.offsetHeight;
        
        thisScrollObj.oArrowUp.style.display = (thisScrollObj.contentYMin >= 0) ? "none" : "inline";
        thisScrollObj.oArrowDown.style.display = (thisScrollObj.contentYMin >= 0) ? "none" : "inline";
    }        
    
    thisScrollObj.scroll = function() {
        iTop = parseInt(thisScrollObj.oContentDiv.style.top)        
        iTop += (thisScrollObj.scrollDist * thisScrollObj.dir)
        
        iTop = (iTop > 0) ? 0 : iTop;
        iTop = (iTop < thisScrollObj.contentYMin) ? thisScrollObj.contentYMin : iTop;
        
        thisScrollObj.oContentDiv.style.top = iTop + "px";
    }
    thisScrollObj.start = function(dir) {
        thisScrollObj.dir = (dir == "up") ? 1 : -1
        thisScrollObj.timerId = setInterval(thisScrollObj.scroll, thisScrollObj.speed);         
    }
    thisScrollObj.stop = function() {
        if (thisScrollObj.timerId) clearInterval(thisScrollObj.timerId);
        thisScrollObj.timerId = 0;  
        thisScrollObj.dir = "";  
    }
    thisScrollObj.doublespeed = function() {
        thisScrollObj.scrollDist = thisScrollObj.scrollDistOrig * 2;
    }
    thisScrollObj.resetspeed = function() {
        thisScrollObj.scrollDist = thisScrollObj.scrollDistOrig;
    }
    
    thisScrollObj.init();
    return thisScrollObj;
}