var restorePosX=new Array;var restorePosY=new Array;var layerStatus=new Array;var isMoving;var targetLayerID;var srcX,srcY,dstX,dstY;var lastFrame;var currentFrame;var timerID;function MoveLayer(layerID,moveFromX,moveFromY,moveToX,moveToY,msec){	if( !isMoving )	{		if( layerStatus[layerID] != "moved" )		{			StartMoveLayer(layerID,moveFromX,moveFromY,moveToX,moveToY,msec);			layerStatus[layerID]="moved";		}		else		{			var	layerStyle=GetLayerStyle(layerID);			moveFromX=parseInt( layerStyle.left , 10 );			moveFromY=parseInt( layerStyle.top , 10 );			StartMoveLayer(layerID,moveFromX,moveFromY,restorePosX[layerID],restorePosY[layerID],msec);			layerStatus[layerID]="";		}	}}function StartMoveLayer(layerID,moveFromX,moveFromY,moveToX,moveToY,msec){	var timeSlice=50;	targetLayerID=layerID;	currentFrame=0;		lastFrame=Math.ceil( msec/timeSlice );	if( msec%timeSlice )		lastFrame++;		srcX=moveFromX;	srcY=moveFromY;		restorePosX[layerID]=srcX;	restorePosY[layerID]=srcY;		dstX=( isNaN(moveToX) )?srcX:moveToX;	dstY=( isNaN(moveToY) )?srcY:moveToY;		isMoving=true;	timerID=setInterval('LocateLayerAccelerated(0.2)',timeSlice);}function LocateLayerAccelerated(alpha){	var layerStyle=GetLayerStyle(targetLayerID);	currentFrame++;	if( currentFrame < lastFrame )	{		var	t=Math.PI * (currentFrame/lastFrame);		var	a=Math.cos(t);		var	p=( 1 + Math.pow( Math.abs(a), alpha ) * ((a>0)?1:-1) ) / 2;		layerStyle.left=srcX*p + dstX*(1-p);		layerStyle.top=srcY*p + dstY*(1-p);		layerStyle.visibility="visible";	}	else	{		layerStyle.left=dstX;		layerStyle.right=dstY;		isMoving=false;		clearInterval(timerID);	}}function GetLayerStyle(layerID){	var s;	if( navigator.appVersion.search( "(MS)?IE" ) > -1 )		s=document.all[layerID].style;	else	{		var d=document.getElementsByTagName("div");		s=d[layerID].style;	}	return s;}