External loaded swf content player scrub bar problem

Hi, I m trying to make a content player that plays externally loaded swfs. I haven’t found anything on the net that pleases me so decided to built one.
But I have a problem with the scrub bar. When I try to drag it it jumps back. The same code I am about to post works fine when the content is a [COLOR="#B22222"]MovieClip[/COLOR] and NOT an [COLOR="#B22222"]externally loaded swf[/COLOR].
What am I missing?




var loader:Loader = new Loader();
addChild(loader);
var animLength: int;

loader.mask = mask_mc;
loader.load(new URLRequest("L1P1.swf"));
var currentMovie:MovieClip = new MovieClip();

play_mc.buttonMode = true;
stop_mc.buttonMode = true;
stop_mc.addEventListener(MouseEvent.CLICK, button_pause);	
play_mc.addEventListener(MouseEvent.CLICK, playClicked);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, trackLoad);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);

function playClicked(event:Event):void
{
	
	currentMovie.play();
	
}

function button_pause(e:Event):void{
	  currentMovie.stop();
	
	  }
function trackLoad(event:ProgressEvent):void
{
	var perLoaded:Number = event.bytesLoaded / event.bytesTotal;
	prog_mc.preload.scaleX = perLoaded;
	
}

function swfLoaded(event:Event):void
{
	addEventListener(Event.ENTER_FRAME, trackPlayback);
	var scale:Number = Math.min( mask_mc.width / MovieClip(loader.content).width,
                            mask_mc.height / MovieClip(loader.content).height );
	MovieClip(loader.content).scaleX = MovieClip(loader.content).scaleY = scale;
	//currentMovie.stop();
	currentMovie = MovieClip(loader.content);
	trace(currentMovie.totalFrames);
	animLength = currentMovie.totalFrames;
}

function trackPlayback(event:Event):void
{
	var perPlayed:Number = MovieClip(loader.content).currentFrame /     MovieClip(loader.content).totalFrames;
	prog_mc.drag.x = (prog_mc.width - prog_mc.drag.width) * perPlayed;
}




var leftBound : Number = prog_mc.drag.x;
var rightBound : Number = prog_mc.drag.x + prog_mc.drag.width;
var dragBound : Rectangle = new Rectangle(leftBound, prog_mc.drag.y, prog_mc.drag.width-10, 0);
var calcWidth : Number = prog_mc.drag.width / animLength;
var animPlaying : Boolean = false;

prog_mc.drag.x = leftBound;
prog_mc.drag.buttonMode = true;
prog_mc.drag.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseEvents);

function handleMouseEvents(evt:MouseEvent):void
{
   switch(String(evt.type)) {
      case MouseEvent.MOUSE_DOWN:
         prog_mc.drag.startDrag(true, dragBound);
         stage.addEventListener(MouseEvent.MOUSE_UP, handleMouseEvents);
        currentMovie.addEventListener(Event.ENTER_FRAME, scrubMovie);
		
		trace(animLength);
         
         if (animPlaying) stopAnimation();
         
      break;
      case MouseEvent.MOUSE_UP:
         prog_mc.drag.stopDrag();
         stage.removeEventListener(MouseEvent.MOUSE_UP, handleMouseEvents);
         currentMovie.removeEventListener(Event.ENTER_FRAME, scrubMovie);
         
         if (animPlaying) playAnimation();
      break;
   }
}

////HERE IS THE SCRUB BAR UPDATE////////////////////////////////////////////////////////

function scrubMovie(evt:Event):void
{
var scrubPos : int = prog_mc.drag.x;
var gotoFrame : int = Math.ceil(scrubPos / calcWidth);
currentMovie.stop();
currentMovie.gotoAndPlay(gotoFrame);  

}

function togglePlay(evt:MouseEvent):void
{
   if (!animPlaying) {
      playAnimation();
      animPlaying = true;
      prog_mc.drag.addEventListener(Event.ENTER_FRAME, updateScrubber);
  

   } else {
      stopAnimation();
      animPlaying = false; 
	    prog_mc.drag.removeEventListener(Event.ENTER_FRAME, updateScrubber);
      
   }
}

function updateScrubber(evt:Event):void
{
   var percent : Number = currentMovie.currentFrame / animLength;
   prog_mc.drag.x = percent * prog_mc.drag.width-10;   
   
}
function playAnimation():void
{
   currentMovie.play();
   prog_mc.addEventListener(Event.ENTER_FRAME, updateScrubber);
}

function stopAnimation():void
{
   currentMovie.stop();
   prog_mc.removeEventListener(Event.ENTER_FRAME, updateScrubber);
}