Help shut off a tween pls- eating CPU

Hello. This was originally a move tween that I modified to be an elastic scale tween:



MovieClip.prototype.scaleItElastic = function (scalex, scaley, inertia, k) { 
    vx = -this._xscale+scalex;
    vy = -this._yscale+scaley;
    this.xp = this.xp*inertia+vx*k;
    this.yp = this.yp*inertia+vy*k;
    this._xscale += this.xp;
    this._yscale += this.yp;
}


on the to-be-tweened movieclip when it loads:



onClipEvent(load) {
// set MC scale to 0
    this._xscale = 0;
    this._yscale = 0;
//
    var xp = 0;
    var yp = 0;

}


and finally the function to call it on a keyframe:



onEnterFrame = function () {
	trace("running");

	if (this.copy_mc._xscale == 100) {
		this.copyStatus = "loaded";
		trace("elastic function shut off");
		delete this.onEnterFrame;
//else
}
	else if (this.copyStatus != "loaded") {
		this.copy_mc.scaleItElastic(100, 100, .75, 0.1);
}
}


Works great EXCEPT, the function is very CPU intensive because even though the tween is no longer VISIBLY working (the clip has no more elasticity), it continues to run in the background for 5-8 seconds after the last visible movement has occured.

i tried to take care of this with this part of the above actionscript (see below), but it seems that the scale is passing back and forth through 100% that the code is failing to work until the passing has truly stopped. Any way to get this code to stop after 1 or two springs? Or after 2 seconds or so?



if (this.copy_mc._xscale == 100) {
		this.copyStatus = "loaded";
		trace("elastic function shut off");
		delete this.onEnterFrame;