//**	Layer Animation Script
//**	OIL, Incorporated
//**	May 15, 2002
//**	Version 0.2
var ANIMATE_SPEED = 60;	var ANIMATE_INTERVAL = 50;	var animateObjs = new Object();var animateIntevalObj = null; var animateLayerCntr = 0;
function animateLayerInALine(layerObj, endPos, speedFactor, notifyWhenDone){if((!layerObj) || (typeof endPos != "object") || (!endPos.length) || (endPos.length!=2)) return;
var speed = (speedFactor && !isNaN(speedFactor)) ? (ANIMATE_SPEED * speedFactor):ANIMATE_SPEED;curPos = [getLeft(layerObj),getTop(layerObj)]; 
if((typeof curPos != "object") || (!curPos.length) || (curPos.length!=2)) return;var relX = endPos[0]-curPos[0]; var relY = endPos[1]-curPos[1];
ySpeed = (Math.round((speed * Math.cos(Math.atan2(relX,relY))) * 10) / 10);xSpeed = (Math.round((speed * Math.sin(Math.atan2(relX,relY))) * 10) / 10);
if((ySpeed==0)&&(xSpeed==0)) return;layerid = (layerObj.id) ? layerObj.id : "layer" + animateLayerCntr;
animateObjs[layerid] = {layer:layerObj, xSpeed:xSpeed, ySpeed:ySpeed, x:curPos[0], y:curPos[1], endX:endPos[0], endY:endPos[1], cntr:0};
if(typeof notifyWhenDone=='function')animateObjs[layerid].notifyFunction=notifyWhenDone;if(animateIntevalObj == null) animateIntevalObj = setInterval("animateLayerInALine_Move()", ANIMATE_INTERVAL);
};var timeCntr = 0;function animateLayerInALine_Move(){if(!animateObjs){clearInterval(animateIntevalObj);return;}var ao=null; var cntr=0; var layer; var setToEnd;
for(aniObj in animateObjs){ao = animateObjs[aniObj];if(!ao){continue;}var newX = null; var newY = null; setToEnd=false;if((typeof ao!="object")||(!ao.layer)||(ao.cntr>3000)) continue;
ao.cntr++; layer=ao.layer; cntr++;if(ao.xSpeed>0) {if(ao.x + ao.xSpeed >= ao.endX) setToEnd=true;}else {if((ao.x + ao.xSpeed <= ao.endX)&&(ao.xSpeed!=0)) setToEnd=true;}
if(ao.ySpeed>0) {if(ao.y + ao.ySpeed >= ao.endY) setToEnd=true;}else {if((ao.y + ao.ySpeed <= ao.endY)&&(ao.ySpeed!=0)) setToEnd=true;}
if(setToEnd) {newY = ao.endY; newX = ao.endX; animateObjs[aniObj]=null;if(ao.notifyFunction){ao.notifyFunction();}}else {newX = ao.x += ao.xSpeed; newY = ao.y += ao.ySpeed;}
setPosition(layer, newX, newY);}timeCntr++;if(cntr==0){clearInterval(animateIntevalObj);animateIntevalObj = null;}};
