var yscroll = {
	speed: 8,
	interval: null,
	scrollElement: null,
	upBtn: null,
	dnBtn: null,

	init: function(id, upID, downID, spd) {
		
		scrollElement = document.getElementById(id);	
		scrollElement.style.overflow = "hidden";
		scrollElement.style.overflowY = "visible";
		
		upBtn = document.getElementById(upID);
		dnBtn = document.getElementById(downID);
		
		//upBtn.style.display = "block";
//		dnBtn.style.display = "block";

		document.onmouseup = yscroll.scrollEnd;
		
		upBtn.onmousedown = yscroll.up;
		upBtn.onmouseup = yscroll.scrollEnd;
		upBtn.onmouseout = yscroll.scrollEnd;
		
		dnBtn.onmousedown = yscroll.down;
		dnBtn.onmouseup = yscroll.scrollEnd;
		dnBtn.onmouseout = yscroll.scrollEnd;
		
		if(window.addEventListener)
			scrollElement.addEventListener('DOMMouseScroll', yscroll.wheel, false);
		scrollElement.onmousewheel = yscroll.wheel;
	},
	up: function() {
		yscroll.scrollEnd();
		yscroll.isOver = true;
		yscroll.interval = window.setInterval("yscroll.doScroll(-1)", 5);
	},
	down: function() {
		yscroll.scrollEnd();
		yscroll.isOver = true;
		yscroll.interval = window.setInterval("yscroll.doScroll(1)", 5);
	},
	doScroll: function(dir) {
		if(scrollElement == null)
			return;
		scrollElement.scrollLeft += dir * yscroll.speed;
	},
	scrollEnd: function() {
		if(yscroll.interval == null)
			return;
		window.clearInterval(yscroll.interval);
		yscroll.interval = null;
	}, 
	wheel: function(event) {
		var delta = 0;
		if (!event) event = window.event;
		if (event.wheelDelta) {
			delta = Math.floor(event.wheelDelta/120); 
			if (window.opera) delta = -delta;
		} else if (event.detail) {
			delta = -event.detail/3;
		}
		if (delta)
			yscroll.handle(delta*3);
					if (event.preventDefault)
									event.preventDefault();
					event.returnValue = false;
	},
 handle: function(delta) {
		if(scrollElement == null)
			return;
		if (delta < 0)
			scrollElement.scrollLeft -= delta;
		else
			scrollElement.scrollLeft -= delta;
	}
};

