
var scroll_timer;
var scroll_el;
var scroll_speed = 10;
var scroll_step = 10;
var scroll_size;
var scroll_top;

function scroll_up( id ) {

	// set scroll element
	if( ! scroll_el ) {
		scroll_init(id);
	}

	// if already at top, cancel
	if( scroll_is_at_top() ) {
		scroll_stop();
		return false;
	}
	
	// start scroll top
	scroll_timer = window.setInterval( scroll_anim_up , scroll_speed );

}

function scroll_down( id ) {

	// set scroll element
	if( ! scroll_el ) {
		scroll_init(id);
	}
	
	// if already at bottom, cancel
	if( scroll_is_at_bottom() ) {
		scroll_stop();
		return false;
	}
	
	// start scroll down
	scroll_timer = window.setInterval( scroll_anim_down , scroll_speed );

}

function scroll_init(id) {
	// get element
	scroll_el = document.getElementById(id);
	// make sure it is relative
	scroll_el.style.position = 'relative';
	// make its empty child relavite to
	scroll_el.childNodes[0].style.position = 'relative';
	// get the scroll max size
	scroll_size = scroll_el.childNodes[0].offsetHeight - scroll_el.offsetHeight;
	// set starting top pos
	scroll_top = 0;
}

function scroll_stop() {
	if( scroll_timer ) window.clearInterval( scroll_timer );
}

function scroll_is_at_top() {
	if( scroll_top >= 0 ) {
		return true;
	}
	return false;
}

function scroll_is_at_bottom() {
	if( scroll_top <= -(scroll_size+15) ) {
		return true;
	}
	return false;
}

function scroll_anim_up() {
	// if already at bottom, cancel
	if( scroll_is_at_top() ) {
		return false;
	}
	// scroll
	// increment top and bottom
	scroll_top += scroll_step;
	scroll_el.childNodes[0].style.top = scroll_top + 'px';
	
}

function scroll_anim_down() {
	// if already at bottom, cancel
	if( scroll_is_at_bottom() ) {
		return false;
	}
	// scroll
	// increment top and bottom
	scroll_top -= scroll_step;
	scroll_el.childNodes[0].style.top = scroll_top + 'px';
}



