Draggable Menu (including buttons) with Easing: in AS2.0

I found that thread, but it is 5 years old and the attatchments have disappeared. But basically I am having the exact same problem.

Explanation:
I have created a timeline as part of a University project, the flash product is designed to be used on touch screen. So basically you drag the timeline along x from right to left. But the movement is very rigid. On to the easing. The script used works sure enough, however it looses its ‘scroll constraints’ and can be moved anywhere on the stage, the button(s) also stop working.

**Code:
**This is the code we are using for the slide and the buttons:

timeline_mc.hit_mc.onPress = function() {
    startDrag(this._parent, false, 0, this._parent._y, 800-this._parent._width, this._parent._y);
};


timeline_mc.hit_mc.onRelease = function() {
    this._parent.stopDrag();
};

timeline_mc.hit_mc.onReleaseOutside = function() {
    this._parent.stopDrag();
};

timeline_mc.plat_btn.onPress = function() {
    trace("pressed");
};

stop();


What this is doing is dragging an invisible mc (within the ‘timeline_mc’) so that the buttons can work without interfearence. So in effect you are dragging the bottom layer of a multi-layer mc.

Which works, however then comes the movement code:


this.onPress = function() {
    this.startDrag();
    delete this.onEnterFrame;
};

this.onRelease = this.onReleaseOutside=function () {
    this.stopDrag();
    inertia();
};


function inertia() {
    
    xDif = this._x-((lastX-this._x)*3);
    yDif = this._y-((lastY-this._y)*3);
    this.onEnterFrame = function() {
        X = this._x;
        difX = xDif-X;
        this._x = X+(difX/10);
        // 
        Y = this._y;
        difY = yDif-Y;
        this._y = Y+(difY/10);
    };
}

function checkPos() {
    if (this._x>this.height) {
        lastX = -xDif/10;
        this._x = 0;
        inertia();
    }
    if (this._y<0) {
        this._y = this.width;
        lastX = Stage.width+this._width-10;
        inertia();
    }
    lastX = this._x;
}

var intervalId:Number;
intervalId = setInterval(this, "checkPos", 100);

I’m not quite sure what this code does exactly, it was found and written by another team member. What I do know is that it overrides the drag contraint and buttons.

I have also uploaded the .fla.
http://vibrantgreen.net/timeline_03.fla

I hope I haven’t missed anything out. Thanks in advance for any help given.