var bDrag = false;
var shift_y;

function cancelEvent(e) {
	e = e ? e : window.event;
	if(e.stopPropagation)	e.stopPropagation();
	if(e.preventDefault) e.preventDefault();
	e.cancelBubble = true;
	e.cancel = true;
	e.returnValue = false;
	return false;
}

function start_drag(itemToMove,e) {
	if (!e) e = window.event;
	bDrag = true;
	shift_y = e.clientY-parseInt(itemToMove.style.top);
	return cancelEvent(e);
}

function end_drag() { bDrag = false; }

function dragIt(e) {
	if (!bDrag) return;
	if (!e) e = window.event;
	var y = e.clientY-shift_y;
	var div = document.getElementById('text');
	var dY = div.scrollHeight-div.offsetHeight;
	var dy = 300;
	div.scrollTop = parseInt(y/dy*dY);
	return cancelEvent(e);
}
function moveScroll(offset) {
	if (offset) {
		document.getElementById('text').scrollTop+=offset;
	} else {
		var Y = document.getElementById('text').scrollTop;
		var div = document.getElementById('text');
		var dY = div.scrollHeight-div.offsetHeight;
		var dy = 300;
		document.getElementById('scroll_track').style.top=parseInt(Y/dY*dy)+'px';
	}
}
function wheelScroll(e) {
	if (!e) e = window.event;
	var wheelDelta = e.detail ? -e.detail*40 : e.wheelDelta;
	moveScroll(-wheelDelta);
	return cancelEvent(e);
}

function hookWheel(item)
{
	if(item.addEventListener) {
		item.addEventListener('DOMMouseScroll', wheelScroll, false);
		item.addEventListener('mousewheel', wheelScroll, false);
	}
	else if(item.attachEvent) item.attachEvent('onmousewheel', wheelScroll);
}
