Returning movieClips to x,y origins after animation

Hi im using AS3 and flash CS3,

I have created an Array “pieces” this Array consists of 3 different movieClips of randomly spaced on the screen

 
  private var pieces:Array = [{className:fone},{className:ftwo},{className:fthree}];

for (var x:uint = 0; x < numOfParticlesX; x++) {
      cardClass = Class(pieces[PIndex].className);
      shadow = new DropShadowFilter();
      cards = new cardClass();
      trace(cards);
      cards.x = Math.random() * w;
      cards.y = Math.random() * h;
      particles_ary.push(cards);
      addChild(cards);
      particleX[x] = cards.x;
      particleY[x] = cards.y;
      RADIUS = cards.width / 2;
      cards.rotation = Math.random() * 180;
etc.

now obviously particleX[x] = cards.x; and particleY[x] = cards.y; store the original positions of the movieClips

Once the MovieClip has been animated away from this original position after 3 seconds i want to return them back to there original positions.

All the MovieClips have an active:Boolean so until the MovieClip leaves the stage it is active, once it leaves the stage its active = false wait 3 seconds then return the MovieClip call a function to return to its original position.
I know you can use a for loop and just test if its not active tween it back to the original position, but this creates lag due to so many movieClips trying to animate at the same time.:snooze:

so instead of looping through all the movieClips i created a tempory Array to store the notActive particles in, ready to be tweened back. Now the problem i am getting is how do i now reference correctly the
particleX[x] = cards.x;
particleY[x] = cards.y;
from this new Array? :drink:

any example code greatly appreciated.
TY
ThreeDzone