/*
	Copyright: http://germ.wordpress.com/2006/04/10/scroll-div-contents-with-javascript/
*/

function TextScroll(scrollname, div_name, up_name, down_name)
{
	this.div_name = div_name;
	this.name = scrollname;
	this.scrollCursor = 0;
	this.speed = 5;
	this.timeoutID = 0;
	this.div_obj = null;
	this.up_name = up_name;
	this.dn_name = down_name;
	{
		if (document.getElementById) {
			div_obj = document.getElementById(this.div_name);
			
			if (div_obj) {
				this.div_obj = div_obj;
				this.div_obj.style.overflow = 'hidden';
			}
			
			div_up_obj = document.getElementById(this.up_name);
			div_dn_obj = document.getElementById(this.dn_name);
			
			if (div_up_obj && div_dn_obj) {
				div_up_obj.onmouseover = function() { eval(scrollname + ".scrollUp();") };
				div_up_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				div_dn_obj.onmouseover = function() { eval(scrollname + ".scrollDown();") };
				div_dn_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
			}
		}
	}
	
	this.stopScroll = function() {
		clearTimeout(this.timeoutID);
	}
	
	this.scrollUp = function() {
		if (this.div_obj) {
			this.scrollCursor = (this.scrollCursor - this.speed) < 0 ? 0 : this.scrollCursor - this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			this.timeoutID = setTimeout(this.name + ".scrollUp()", 10);
		}
	}
	
	this.scrollDown = function() {
		if (this.div_obj) {
			this.scrollCursor += this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			
			if (this.div_obj.scrollTop == this.scrollCursor) {
				this.timeoutID = setTimeout(this.name + ".scrollDown()", 10);
			} else {
				this.scrollCursor = this.div_obj.scrollTop;
			}
		}
	}
	
	/*
	this.resetScroll = function() {
		if (this.div_obj) {
			this.div_obj.scrollTop = 0;
			this.scrollCursor = 0;
		}
	}
	*/
}

