// JavaScript Document


// constant once set
var _scrollDivId;
var _scrollInnerDivId;
var _amount;
var _upArrowId;
var _downArrowId;

// variable
var _scrollToInt;
var _invervalID;


function scrollUp() {
    holdScroll = true;
    setTimeout("checkWhichScrollUp()", 300);
    /*
    if (!_invervalID) {
    var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
    if (currentScrollValue < _amount)  _scrollToInt = 0;
    else  _scrollToInt = currentScrollValue - _amount;
    _invervalID = setInterval("scrollUpRepeat()", 10);
    }*/
}


function scrollDown() {
    holdScroll = true;
    setTimeout("checkWhichScrollDown()", 300);
	
}

function stopScroll() {
    holdScroll = false;
}

function checkWhichScrollUp() {
    if (!holdScroll) {
        if (!_invervalID) {
            var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
            if (currentScrollValue < _amount) _scrollToInt = 0;
            else _scrollToInt = currentScrollValue - _amount;
            _invervalID = setInterval("scrollUpRepeat()", 10);
        }
    }
    else { // holdscroll
        var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
        _scrollToInt = 0;
        _invervalID = setInterval("scrollUpHold()", 10);
    }
}

function checkWhichScrollDown() {
    if (!holdScroll) {
        if (!_invervalID) {
            var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
            var totalHeight = Math.round(document.getElementById(_scrollInnerDivId).offsetHeight);
            if (currentScrollValue + _amount * 2 > totalHeight) {			
                _scrollToInt = parseInt(totalHeight - _amount);
			}
            else
                _scrollToInt = currentScrollValue + _amount;
            _invervalID = setInterval("scrollDownRepeat()", 10);
        }
    }
    else { // holdscroll
        var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
        var totalHeight = Math.round(document.getElementById(_scrollInnerDivId).offsetHeight);
        _scrollToInt = parseInt(totalHeight - _amount);
        _invervalID = setInterval("scrollDownHold()", 10);
    }
}

function scrollUpHold() {
    if (holdScroll) {
        if (document.getElementById(_scrollDivId).scrollTop <= _scrollToInt) {
            clearInterval(_invervalID);
            _invervalID = null;
            checkScrollArrows();
        }
        else document.getElementById(_scrollDivId).scrollTop = document.getElementById(_scrollDivId).scrollTop - 10;
    }
    else {
        clearInterval(_invervalID);
        _invervalID = null;
        checkScrollArrows();
        holdScroll = false;
    }
}


function scrollDownHold() {
    if (holdScroll) {
        if (document.getElementById(_scrollDivId).scrollTop >= _scrollToInt) {
            clearInterval(_invervalID);
            _invervalID = null;
            checkScrollArrows();
        }
        else document.getElementById(_scrollDivId).scrollTop = document.getElementById(_scrollDivId).scrollTop + 10;
    }
    else {
        clearInterval(_invervalID);
        _invervalID = null;
        checkScrollArrows();
        holdScroll = false;
    }
}

function scrollUpRepeat() {

    if (document.getElementById(_scrollDivId).scrollTop <= _scrollToInt) {
        clearInterval(_invervalID);
        _invervalID = null;
        checkScrollArrows();
    }
    else document.getElementById(_scrollDivId).scrollTop = document.getElementById(_scrollDivId).scrollTop - 10;
}

function scrollDownRepeat() {
	var innerDivHeight = parseInt(document.getElementById(_scrollInnerDivId).offsetHeight) - (_amount/.75)
	
    if (document.getElementById(_scrollDivId).scrollTop >= _scrollToInt || document.getElementById(_scrollDivId).scrollTop == innerDivHeight) {
        clearInterval(_invervalID);
        _invervalID = null;
        checkScrollArrows();
    }
    else {
		document.getElementById(_scrollDivId).scrollTop = document.getElementById(_scrollDivId).scrollTop + 10;
		//alert(document.getElementById(_scrollDivId).scrollTop +"|"+ _scrollToInt +"|"+ innerDivHeight)
		
	}
	
}





function checkScrollArrows() {
    var currentScrollValue = document.getElementById(_scrollDivId).scrollTop;
    var disableUpvar = false;

    var disableDownvar = false;
    if (currentScrollValue == 0)
        disableUpvar = true;
    if (Math.round(document.getElementById(_scrollInnerDivId).offsetHeight) <= (currentScrollValue + (_amount/.75)))
        disableDownvar = true;
    if (disableUpvar)
        disableUp();
    else
        enableUp();
    if (disableDownvar)
        disableDown();
    else
        enableDown();
    if (!(disableDownvar && disableUpvar)) {
        document.getElementById('pagescrollingarrowsdiv').style.display = 'block';
    }

}


function disableUp() {
    document.getElementById(_upArrowId).src = virtualRoot + "images/PageScrolling/uparrowdis.png";
    document.getElementById(_upArrowId).style.cursor = "auto";
}
function enableUp() {
    document.getElementById(_upArrowId).src = virtualRoot + "images/PageScrolling/uparrow.png";
	document.getElementById(_upArrowId).style.cursor = "pointer";
}
function disableDown() {
    document.getElementById(_downArrowId).src = virtualRoot + "images/PageScrolling/downarrowdis.png";
	document.getElementById(_downArrowId).style.cursor = "auto";
}
function enableDown() {
    document.getElementById(_downArrowId).src = virtualRoot + "images/PageScrolling/downarrow.png";
	document.getElementById(_downArrowId).style.cursor = "pointer";
}