to increse the randome movement speed on mouse over

Hi there i had written a code in AS 3.0 which creates a random movement on 960*540 screen size and is working absolutely fine. What I want isto increase the random speed for two second when the movie clip comes near the mouse pointer. please help me out as it is most urgent.

The main fla file only include black timeline with a movieclip in library which has class name Player
here is the code.

package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class Main extends MovieClip
{
	// player settings		
	private var _moveSpeedMax:Number = 2000;   //initially at 1000
	private var _rotateSpeedMax:Number = 5;   //initially at 15
	private var _decay:Number = .98;
	private var _destinationX:int = 150;
	private var _destinationY:int = 150;
	
	private var _minX:Number = 0;
	private var _minY:Number = 0;
	private var _maxX:Number = 960;
	private var _maxY:Number = 540;
	
	// player
	private var _player:MovieClip;
	
	// global		
	private var _dx:Number = 0;
	private var _dy:Number = 0;
	
	private var _vx:Number = 0;
	private var _vy:Number = 0;
	
	private var _trueRotation:Number = 0;
	
	/**
	 * Constructor
	 */
	public function Main() 
	{
		// create player object
		createPlayer();
		
		// add listeners
		stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
	}
	
	/**
	 * Creates player
	 */
	private function createPlayer():void
	{			
		_player = new Player();
		_player.x = stage.stageWidth / 2;
		_player.y = stage.stageHeight / 2;
		_player.scaleX = .3;
		_player.scaleY = .3;
		stage.addChild(_player);
		
	}
	
	/**
	 * EnterFrame Handlers
	 */
	private function enterFrameHandler(event:Event):void
	{
		updateCollision();
		updatePosition();
		updateRotation();
	}
	
	/**
	 * Calculate Rotation
	 */
	private function updateRotation():void
	{
		// calculate rotation
		_dx = _player.x - _destinationX;
		_dy = _player.y - _destinationY;
		
		// which way to rotate
		var rotateTo:Number = getDegrees(getRadians(_dx, _dy));	
		
		// keep rotation positive, between 0 and 360 degrees
		if (rotateTo > _player.rotation + 180) rotateTo -= 360;
		if (rotateTo < _player.rotation - 180) rotateTo += 360;
		
		// ease rotation
		_trueRotation = (rotateTo - _player.rotation) / _rotateSpeedMax;
		
		// update rotation
		_player.rotation += _trueRotation;			
	}
	
	/**
	 * Calculate Position
	 */
	private function updatePosition():void
	{
		// update velocity
		_vx += (_destinationX - _player.x) / _moveSpeedMax;
		_vy += (_destinationY - _player.y) / _moveSpeedMax;
		
		// if close to target
		if (getDistance(_dx, _dy) < 50)
		{
			getRandomDestination();
		}
		
		// apply decay (drag)
		_vx *= _decay;
		_vy *= _decay;
		
		// update position
		_player.x += _vx;
		_player.y += _vy;
	}
	
	/**
	 * updateCollision
	 */
	protected function updateCollision():void
	{
		// Check X
		// Check if hit top
		if (((_player.x - _player.width / 2) < _minX) && (_vx < 0))
		{
		  _vx = -_vx;
		}
		// Check if hit bottom
		if ((_player.x + _player.width / 2) > _maxX && (_vx > 0))
		{
		  _vx = -_vx;
		}
		
		// Check Y
		// Check if hit left side
		if (((_player.y - _player.height / 2) < _minY) && (_vy < 0))
		{
		  _vy = -_vy
		}
		// Check if hit right side
		if (((_player.y + _player.height / 2) > _maxY) && (_vy > 0))
		{
		  _vy = -_vy;
		}
	}
	
	/**
	 * Calculates a random destination based on stage size
	 */
	private function getRandomDestination():void
	{
		_destinationX = Math.random() * (_maxX - _player.width) + _player.width / 2;
		_destinationY = Math.random() * (_maxY - _player.height) + _player.height / 2;
	}
	
	/**
	 * Get distance
	 * @param	delta_x
	 * @param	delta_y
	 * @return
	 */
	public function getDistance(delta_x:Number, delta_y:Number):Number
	{
		return Math.sqrt((delta_x*delta_x)+(delta_y*delta_y));
	}
	
	/**
	 * Get radians
	 * @param	delta_x
	 * @param	delta_y
	 * @return
	 */
	public function getRadians(delta_x:Number, delta_y:Number):Number
	{
		var r:Number = Math.atan2(delta_y, delta_x);
		
		if (delta_y < 0)
		{
			r += (2 * Math.PI);
		}
		return r;
	}
	
	/**
	 * Get degrees
	 * @param	radians
	 * @return
	 */
	public function getDegrees(radians:Number):Number
	{
		return Math.floor(radians/(Math.PI/180));
	}
	
}

}

package {
import flash.display.;
import flash.events.
;
import flash.utils.*;

public class Main extends MovieClip {
	// player settings
	private var _moveSpeedMax:Number = 5000;//initially at 1000
	private var _rotateSpeedMax:Number = 5;//initially at 15
	private var _decay:Number = .98;
	private var _destinationX:int = 150;
	private var _destinationY:int = 150;
	private var _minX:Number = 0;
	private var _minY:Number = 0;
	private var _maxX:Number = 960;
	private var _maxY:Number = 540;
	// player
	private var _player:MovieClip;
	// global
	private var _dx:Number = 0;
	private var _dy:Number = 0;
	private var _vx:Number = 0;
	private var _vy:Number = 0;
	private var _trueRotation:Number = 0;
	private var _timer:Timer = new Timer(2000,1);

	public function Main() {
		createPlayer();
		stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
	}
	private function createPlayer():void {
		_player = new Player();
		_player.x = stage.stageWidth / 2;
		_player.y = stage.stageHeight / 2;
		_player.scaleX = .3;
		_player.scaleY = .3;
		stage.addChild(_player);
		_player.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
	}
	private function overHandler(event:Event):void{
		if (!_timer.running){
			startTimer()
		}
	}
	private function enterFrameHandler(event:Event):void {
		updateCollision();
		updatePosition();
		updateRotation();
	}
	private function startTimer():void{
		_timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler);
		_timer.start();
		_moveSpeedMax = 100;
	}
	private function timerHandler(event:TimerEvent):void{
		_timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerHandler);
		_moveSpeedMax = 5000;
	}
	private function updateRotation():void {
		_dx = _player.x - _destinationX;
		_dy = _player.y - _destinationY;
		var rotateTo:Number = getDegrees(getRadians(_dx,_dy));
		if (rotateTo > _player.rotation + 180) {
			rotateTo -=  360;
		}
		if (rotateTo < _player.rotation - 180) {
			rotateTo +=  360;
		}
		_trueRotation = (rotateTo - _player.rotation) / _rotateSpeedMax;
		_player.rotation +=  _trueRotation;
	}
	private function updatePosition():void {
		_vx +=  (_destinationX - _player.x) / _moveSpeedMax;
		_vy +=  (_destinationY - _player.y) / _moveSpeedMax;
		// if close to target
		if (getDistance(_dx, _dy) < 50) {
			getRandomDestination();
		}
		// apply decay (drag)
		_vx *=  _decay;
		_vy *=  _decay;
		// update position
		_player.x +=  _vx;
		_player.y +=  _vy;
	}
	protected function updateCollision():void {
		// Check if hit top
		if (((_player.x - _player.width / 2) < _minX) && (_vx < 0)) {
			_vx =  -  _vx;
		}
		// Check if hit bottom
		if ((_player.x + _player.width / 2) > _maxX && (_vx > 0)) {
			_vx =  -  _vx;
		}
		// Check if hit left side
		if (((_player.y - _player.height / 2) < _minY) && (_vy < 0)) {
			_vy =  -  _vy;
		}
		// Check if hit right side
		if (((_player.y + _player.height / 2) > _maxY) && (_vy > 0)) {
			_vy =  -  _vy;
		}
	}
	private function getRandomDestination():void {
		_destinationX = Math.random() * (_maxX - _player.width) + _player.width / 2;
		_destinationY = Math.random() * (_maxY - _player.height) + _player.height / 2;
	}
	public function getDistance(delta_x:Number, delta_y:Number):Number {
		return Math.sqrt((delta_x*delta_x)+(delta_y*delta_y));
	}
	public function getRadians(delta_x:Number, delta_y:Number):Number {
		var r:Number = Math.atan2(delta_y,delta_x);
		if (delta_y < 0) {
			r +=  (2 * Math.PI);
		}
		return r;
	}
	public function getDegrees(radians:Number):Number {
		return Math.floor(radians/(Math.PI/180));
	}
}

}