Photogallery - Random Images

Hi

i am trying to create a photogallery where the thumbnails should slide in and position themselves randomly on screen. there are 2 buttons on stage " random and stack" which stack and randomize the thumbs. the gallery load up and the thumbs generate randomly but dont slide in (animate). also if i click on any other thumbnail the current image has to scale down to thumbnail size.

My problem is i am not able to do
1. slide in (animate) the thumbnails on load of gallery oo on press of shuffle / stack button
2. scale down the current image to thumbnail size on click of other thumb

i am attaching my code for your reference

thanks in advance for help

import mx.transitions.Tween;
 import mx.transitions.easing.*;
 var myArray:Array = new Array();
 var allMcs:Array = new Array();
 var myXml:XML = new XML();
 myXml.ignoreWhite = true;
 myXml.load("images.xml");
 var mcLoader:MovieClipLoader = new MovieClipLoader();
 var myListener:Object = new Object();
 
 // reference for original position  
 var prevXPos:Number = 0;
 var prevYPos:Number = 0;
 var prevRPos:Number = 0;
 this.createEmptyMovieClip("small",1);
 
 // xml load function 
 myXml.onLoad = function(success) {
     if (success) {
         myArray = this.firstChild.childNodes[0].childNodes;
         establishMcs();
     }
 };
 
 function establishMcs() {
     for (var i:Number = 0; i<myArray.length; i++) {
         thumbset = this.small.attachMovie("thumb", "thumb"+i, this.small.getNextHighestDepth());
         thumbset._x = -200;
         mcLoader.loadClip(myArray*.attributes.big,thumbset.imgLoad);
         allMcs.push(thumbset);
     }
     arrange(allMcs,false);
 }
 
 // movieclips position parameters
 var gap:Number = 10;
 var totalCols:Number;
 var totalRows:Number;
 var startXPos:Number;
 var startYPos:Number;
 var thumbset:MovieClip;
 var nameOfMC:String;
 
 function randomNo(max:Number, min:Number):Number {
     var range:Number = max-min;
     var resultRandom = Math.random()*range;
     resultRandom += min;
     return resultRandom;
 }
 // function for stacking of images
 function alignVert(mcNames:Array):Void {
     var ctr:Number = 0;
     totalCols = 6;
     totalRows = 1;
     startXPos = 300;
     startYPos = 100;
     for (var i:Number = 0; i<mcNames.length; i++) {
         this.thumbset = mcNames*;
         this.thumbset._xscale = this.thumbset._yscale=10;
         this.thumbset._rotation = 0;
         this.thumbset._x = this.startXPos+(this.thumbset._width+gap)*ctr;
         this.thumbset._y = this.startYPos+(this.thumbset._height+gap)*totalRows;
         ctr++;
         if (ctr == totalCols) {
             ctr = 0;
             totalRows++;
         }
         this.thumbset.onPress = clickX;
     }
 
 }
 
 // function for random position of images
 function alignRandom(mcNames:Array):Void {
     for (var i:Number = 0; i<mcNames.length; i++) {
         this.thumbset = mcNames*;
         this.thumbset._xscale = this.thumbset._yscale=10;
         this.thumbset._x = randomNo(800, 0);
         this.thumbset._y = randomNo(400, 0);
         this.thumbset._rotation = randomNo(360, 0);
         this.thumbset.onPress = clickX;
     }
 }
 
 // check point - to confirm that there are only movieclips in array
 function arrange(movClps:Array, isHori:Boolean) {
     for (var i:Number = 0; i<movClps.length; i++) {
         if (typeof (movClps*)<>"movieclip") {
             return "Invalid params";
         }
     }
     if (isHori == true) {
         alignVert(movClps);
     } else {
         alignRandom(movClps);
     }
 }
 
 // enlarge image function
 function clickX() {
     if (!this.select) {
         prevXPos = this._x;
         prevYPos = this._y;
         prevRPos = this._rotation;
         //trace(prevXPos + "= prevXPos " + prevYPos+"=prevYPos");
         var rotateTween:Tween = new Tween(this, "_rotation", Strong.easeOut, this._rotation, 0, 1, true);
         var xPos:Tween = new Tween(this, "_x", Strong.easeOut, prevXPos, Stage.width/2, 1, true);
         var yPos:Tween = new Tween(this, "_y", Strong.easeOut, prevYPos, Stage.height/2, 1, true);
         var yScale:Tween = new Tween(this, "_yscale", Strong.easeOut, this._yscale, 100, 2, true);
         var xScale:Tween = new Tween(this, "_xscale", Strong.easeOut, this._xscale, 100, 2, true);
         var newDepth = this._parent.getNextHighestDepth();
         this.swapDepths(newDepth);
         this.select = true;
         bigId = this._name.substr(5);
     } else {
         var yScale:Tween = new Tween(this, "_yscale", Strong.easeOut, 100, 10, 2, true);
         var xScale:Tween = new Tween(this, "_xscale", Strong.easeOut, 100, 10, 2, true);
         var xPos:Tween = new Tween(this, "_x", Strong.easeOut, Stage.width/2, prevXPos, 1, true);
         var yPos:Tween = new Tween(this, "_y", Strong.easeOut, this._y, prevYPos, 1, true);
         var rotateTween:Tween = new Tween(this, "_rotation", Strong.easeOut, this._rotation, prevRPos, 1, true);
         this.select = false;
     }
 }
 
 // randomize and stack button functions
 
 _level0.stack.onPress = function() {
     arrange(allMcs,true);
 };
 _level0.randomize.onPress = function() {
     arrange(allMcs,false);
 };
 
 myListener.onLoadStart = function(target_mc:MovieClip) {
     target_mc._parent.preloader._visible = true;
     target_mc._parent.preloader.play();
 
 };
 myListener.onLoadComplete = function(target_mc:MovieClip) {
     target_mc._parent.preloader._visible = false;
     target_mc._parent.preloader.stop();
 };
 myListener.onLoadInit = function(target_mc:MovieClip) {
     target_mc.forceSmoothing = true;
     var myTween:Tween = new Tween(target_mc._parent, "_alpha", Strong.easeOut, 0, 100, 2, true);
 
 
 };
 mcLoader.addListener(myListener);

thanks
piyush