function Scroller(id) {
	this.item = id;
	this.Init();
}

Scroller.prototype.Init = function() {
	document.getElementById(this.item + "_content").style.top = "0px";
	document.getElementById(this.item + "_scroller").style.top = "0px";

	this.docH = document.getElementById(this.item + "_content").offsetHeight;
	this.contH = document.getElementById(this.item + "_container").offsetHeight;

	if (this.docH > this.contH) {
		document.getElementById(this.item + "_scrollArea").style.visibility = "visible";
	} else {
		document.getElementById(this.item + "_scrollArea").style.visibility = "hidden";
	}
	this.scrollAreaH = document.getElementById(this.item + "_scrollArea").offsetHeight;
	if (this.docH > 0) {
		this.scrollH = (this.contH * this.scrollAreaH) / this.docH;
	} else {
		this.scrollH = 0;
	}
	document.getElementById(this.item + "_scroller").style.height = Math.round(this.scrollH) + "px";
	this.scrollDist = Math.round(this.scrollAreaH - this.scrollH);

	Drag.init(document.getElementById(this.item + "_scroller"), null, 0, 0, 0, this.scrollDist + 0);

	document.getElementById(this.item + "_scroller").onDrag = this.onDrag;
}

Scroller.prototype.onDrag = function (x, y) {
	this.item = this.parentNode.parentNode.id;

	this.docH = document.getElementById(this.item + "_content").offsetHeight;
	this.contH = document.getElementById(this.item + "_container").offsetHeight;
	this.scrollAreaH = document.getElementById(this.item + "_scrollArea").offsetHeight;
	this.scrollH = (this.contH * this.scrollAreaH) / this.docH;
	this.scrollDist = Math.round(this.scrollAreaH - this.scrollH);

	var scrollY = getTop(this.item + "_scroller");
	var docY = 0 - (scrollY * (this.docH - this.contH) / this.scrollDist);
	document.getElementById(this.item + "_content").style.top = docY + "px";
}

Scroller.prototype.scrollBy = function (name, delta) {
	// change delta related to content, not the scroller

	this.item = name;
	scrollY = getTop(this.item + "_scroller");
	this.docH = document.getElementById(this.item + "_content").offsetHeight;
	this.contH = document.getElementById(this.item + "_container").offsetHeight;
	this.scrollerH = document.getElementById(this.item + "_scroller").offsetHeight;
	this.scrollAreaH = document.getElementById(this.item + "_scrollArea").offsetHeight;
	this.scrollH = (this.contH * this.scrollAreaH) / this.docH;
	this.scrollDist = Math.round(this.scrollAreaH - this.scrollH);

	scrollY += delta;
	scrollY = (scrollY < 0) ? 0 : scrollY;
	scrollY = (scrollY > this.scrollAreaH - this.scrollerH) ? this.scrollAreaH - this.scrollerH : scrollY;
	document.getElementById(this.item + "_scroller").style.top = scrollY + "px";

	var docY = 0 - (scrollY * (this.docH - this.contH) / this.scrollDist);
	document.getElementById(this.item + "_content").style.top = docY + "px";

}

