Scrollbar tracker behaving oddly!

Hi,

Thank you for reading my topic.

I am loading a text file using a movie clip with a dynamic textbox, scroll buttons and tracker inside. The text box and scroll buttons all work fine.

The scrollbar tracker scrolls the text but as soon as you drag it to scroll the .txt, it moves to a new start point. It’s difficult to describe so I’ve uploaded the swf here. My fla can be downloaded from [URL=http://www.spindriftmedia.com/scrollbar.zip]here.

Here is the code I have on the mc:

onClipEvent (load) {
	this.loadVariables("test.txt");
	scrolling = 0;
	frameCounter = 1;
	speedFactor = 3;
	numLines = 7;
	origHeight = scrollbar._height;
	origX = scrollbar._x;
	needInit = false;
	function initScrollbar() {
		var totalLines = numLines+daTextBox.maxscroll-1;
		scrollbar._yscale = 100*(numLines)/totalLines;
		deltaHeight = origHeight-scrollbar._height;
		lineHeight = deltaHeight/(daTextBox.maxScroll-1);
	}
	function updateScrollBarPos() {
		scrollbar._y = lineHeight*(daTextBox.scroll-1);
	}
}
onClipEvent (enterFrame) {
	if (needInit) {
		if (daTextBox.maxscroll>1) {
			initScrollbar();
			needInit = false;
		}
	}
	if (frameCounter%speedFactor == 0) {
		if (scrolling == "up" && daTextBox.scroll>1) {
			daTextBox.scroll--;
			updateScrollBarPos();
		} else if (scrolling == "down" && daTextBox.scroll<daTextBox.maxscroll) {
			daTextBox.scroll++;
			updateScrollBarPos();
		}
		frameCounter = 0;
	}
	frameCounter++;
}
onClipEvent (mouseDown) {
	if (up.hitTest(_root._xmouse, _root._ymouse)) {
		scrolling = "up";
		frameCounter = speedFactor;
		up.gotoAndStop(2);
	}
	if (down.hitTest(_root._xmouse, _root._ymouse)) {
		scrolling = "down";
		frameCounter = speedFactor;
		down.gotoAndStop(2);
	}
	if (scrollbar.hitTest(_root._xmouse, _root._ymouse)) {
		scrollbar.startDrag(0, origX, deltaHeight, origX);
		scrolling = "scrollbar";
	}
	updateAfterEvent();
}
onClipEvent (mouseUp) {
	scrolling = 0;
	up.gotoAndStop(1);
	down.gotoAndStop(1);
	stopDrag();
	updateAfterEvent();
}
onClipEvent (mouseMove) {
	if (scrolling == "scrollbar") {
		daTextBox.scroll = Math.round((scrollbar._y)/lineHeight+1);
	}
	updateAfterEvent();
}
onClipEvent (data) {
	needInit = true;
}

I’d really appreciate anyones thoughts on why this is or could be happening please.

Thank you very much and hope to hear from you.

Mark