hc.scrollbalken_horizontal = Class.create();
hc.scrollbalken_horizontal.prototype = {
	initialize: function(el, leftEl, rightEl, onScrollLeft, onScrollRight) {
		if(!onScrollLeft) this.onScrollLeft = null; else this.onScrollLeft = onScrollLeft;
		if(!onScrollRight) this.onScrollRight = null; else this.onScrollRight = onScrollRight;
		this.el = ($(el) ? $(el) : el);
		this.leftEl = ($(leftEl) ? $(leftEl) : leftEl);
		this.rightEl = ($(rightEl) ? $(rightEl) : rightEl);
		
		this.leftEl.onmouseover = this.left.bindAsEventListener(this);
		this.rightEl.onmouseover = this.right.bindAsEventListener(this);
		this.leftEl.onmouseout = this.killInterval.bindAsEventListener(this);
		this.rightEl.onmouseout = this.killInterval.bindAsEventListener(this);
		
		this.leftEl.onmousedown = this.speedUp.bindAsEventListener(this);
		this.rightEl.onmousedown = this.speedUp.bindAsEventListener(this);
		this.leftEl.onmouseup = this.speedDown.bindAsEventListener(this);
		this.rightEl.onmouseup = this.speedDown.bindAsEventListener(this);
		
		this.scrollFaktor = 1;
	},
	left: function () {
		this.killInterval();
		this.interval = setInterval(
			function () {
				if ((this.el.scrollLeft -= (2 * this.scrollFaktor)) != this.el.scrollLeft) this.killInterval();
				if (this.onScrollLeft)
						this.onScrollLeft();
			}.bind(this), 5);
	},
	right: function () {
		this.killInterval();
		this.interval = setInterval(
			function () { 
				if ((this.el.scrollLeft += (2 * this.scrollFaktor)) != this.el.scrollLeft) this.killInterval();
				if (this.onScrollRight)
					this.onScrollRight();									
			}.bind(this), 5);
	},
	killInterval: function () {
		window.clearInterval(this.interval);
	},
	speedUp: function () {
		this.scrollFaktor = 3;
	},
	speedDown: function () {
		this.scrollFaktor = 1;
	},
	destroy: function () {
	}
}

hc.lightboxAuswahl = Class.create();
hc.lightboxAuswahl.prototype = {
	initialize: function(el, leftEl, rightEl) {
		this.scrollbar = new hc.scrollbalken_horizontal(el, leftEl, rightEl);
	}
}
