Problems with scrollbar tracker - please help!

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.

The code I have on the movie clip is attached.

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

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;