Display list troubles

Hi,
Im starting to make the change from AS2.0 to AS3.0 I make most of my stuff OOP so I thought I would breeze throught it I thought I understood the basics of the display list so I started making an XML driven gallery I have everything displaying and working fine.

My problem is when there is a section already open how to remove the hodler clip ‘myImageGalleryContainer’ so that the thumb nails disappear and you can then open another section. Well thats the way I would do it in AS2.0.

Im pretty sure that the code is messy and ugly and any advice would be much appreciated as would any help you can give.


package {
 import flash.net.URLLoader;
 import flash.display.*;
 import flash.net.URLRequest;
 import flash.events.*;
 import flash.events.Event;
 import flash.events.ProgressEvent;
 import flash.events.MouseEvent;
 import flash.display.MovieClip;
 import flash.display.DisplayObject;
 import flash.display.Stage;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
 import flash.text.TextFormat;
 import flash.net.FileReference;
 dynamic public class mainApp extends MovieClip {;
 public static  var xmlData:XML = new XML;
 public static  var myURL:String = "galleryXML.xml";
 public static  var mySection:Number=0;
 public static  var myContainer:container = new container();
 public static  var mySectionNumber:Number;
 public static  var sectionNum:String;
 public static  var myImage:Number;
 public static  var myPreLoaderClip;
 public static  var myImageButton;
 public static  var stephensHelper;
 public static  var pictureClip;
 public static  var imageGalleryIsOpen:Boolean = false;
 trace('doing stuff');
 function mainApp() {
  getXML();
  addChild(myContainer);
 }
 public static function getXML() {
  var xmlLoader:URLLoader = new URLLoader();
  xmlLoader.addEventListener(Event.COMPLETE,loadXML);
  xmlLoader.load(new URLRequest(myURL));
 }
 public static function loadXML(e:Event) {
  xmlData = new XML(e.target.data);
  var myMenuSection:MovieClip = new MovieClip();
  myContainer.addChild(myMenuSection);
  var menuItems:Number=xmlData.*.length();
  for (var m:Number = 0; m<menuItems; m++) {
   var myMainButton:mainButton = new mainButton();
   myMainButton.name = 'menuItem'+m;
   myMenuSection.addChild(myMainButton);
   myMenuSection.getChildByName('menuItem'+m).y = m*(30)+5;
   var myLabelPosMov = myMenuSection.getChildByName('menuItem'+m);
   var myLabel:TextField = new TextField();
   myMenuSection.addChild(myLabel);
   myLabel.text=xmlData.section[m].@name;
   myLabel.y = myMenuSection.getChildByName('menuItem'+m).y;
   myLabel.x = myMenuSection.getChildByName('menuItem'+m).x+3;
   myLabel.selectable = false;
   myLabel.mouseEnabled= false;
   myMenuSection.y = 400-myMenuSection.height;
   myMainButton.addEventListener(MouseEvent.CLICK, imageButton);
  }
 }
 public static function imageButton(e:Event) {
  if (myImageGalleryContainer!=null) {
   myContainer.removeChild(myImageGalleryContainer);
   trace('REMOVE');
  } else {
  }
  var myImageGalleryContainer:MovieClip = new MovieClip();
  myImageGalleryContainer.name='myImageHolder';
  var imageButtonCounter:Number = 0;
  var Ycounter:Number = 0;
  var Xcounter:Number = 0;
  trace('Have we been here before: '+(myImageGalleryContainer.numChildren));
  trace('e:   '+e.target.name);
  var sectionNumText:String = e.target.name;
  sectionNum = String(sectionNumText.substring(8, 9));
  trace('sectionNum: '  + sectionNum);
  myContainer.addChild(myImageGalleryContainer);
  trace(myContainer.getChildByName('myImageHolder'));
  var mySectionLength:Number = xmlData.section[sectionNum].*.length();
  for (var i:Number =0; i <mySectionLength; i++) {
   var imageBtn:image_btn = new image_btn();
   var pictLdr:Loader = new Loader();
   var pictURL:String =xmlData.section.image*.thumb;
   var pictURLReq:URLRequest = new URLRequest(pictURL);
   pictLdr.load(pictURLReq);
   myImageButton = myImageGalleryContainer.getChildByName('myButton'+i);
   var myTest:MovieClip = new MovieClip();
   myTest.addChild(pictLdr);
   myImageGalleryContainer.addChild(imageBtn);
   imageBtn.addChild(myTest);
   imageBtn.name='myButton'+i;
   myImageGalleryContainer.getChildByName('myButton'+i).x = Xcounter*40;
   myImageGalleryContainer.getChildByName('myButton'+i).y = Ycounter*40;
   imageButtonCounter++;
   Xcounter++;
   myImageGalleryContainer.y = 50;
   if (imageButtonCounter==4) {
    imageButtonCounter=0;
    Xcounter=0;
    Ycounter++;
   }
   stephensHelper = myImageGalleryContainer.getChildByName('myButton'+i);
   trace('how many children?   '+myContainer.removeChild(myContainer.getChildByName('imageHolder')));
   myContainer.removeChild(myContainer.getChildByName('imageHolder'));
   //myContainer.removeChild(myContainer.getChildByName('imageHolder'))
   imageBtn.addEventListener(MouseEvent.CLICK,myImageButtonPressed);
  }
 }
 public static function myImageButtonPressed(e:Event) {
  var picLoader:Loader= new Loader();
  var preLoaderHolder:MovieClip = new MovieClip();
  preLoaderHolder.name='preLoaderHolder';
  myContainer.addChild(preLoaderHolder);
  var myPreloader:preLoader = new preLoader();
  myPreloader.name='picPreLoader';
  preLoaderHolder.x = ((myContainer.stage.stageWidth)/2)-(preLoaderHolder.width/2)-200;
  preLoaderHolder.y = ((myContainer.stage.stageHeight)/2);
  trace('preLoaderHolder.x: '+preLoaderHolder.x);
  preLoaderHolder.addChild(myPreloader);
  //trace('!"!"!"!"!: ' + preLoaderHolder.getChildAt(0));
  myPreLoaderClip = preLoaderHolder.getChildAt(0);
  var picture:MovieClip = new MovieClip();
  picLoader.load(new URLRequest('myPic1.jpg'));
  picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,picLoaded);
  picLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
 }
 public static function showProgress(evt:Event) {
  //trace('LOADING...'+evt.target.bytesLoaded);
  var loadPercent:Number = (evt.target.bytesLoaded/evt.target.bytesTotal);
  var what:DisplayObject = myContainer.getChildByName('preLoaderHolder');
  //trace('loader: '+ myContainer.preLoaderHolder.getChildByName('picPreLoader'));
  trace('loader: '+ myPreLoaderClip.scaleX);
  myPreLoaderClip.scaleX = loadPercent;
  //myPreloaderHolder.scaleX = 0.15;
  trace('%: '+loadPercent);
 }
 public static function picLoaded(evt:Event) {
  var pictureHolder:MovieClip= new MovieClip();
  myContainer.addChild(pictureHolder);
  pictureHolder.addChild(evt.target.content);
  pictureClip = pictureHolder;
  repositionImage();
 }
 public static function repositionImage() {
  trace('asdfa: ' + pictureClip.height);
  pictureClip.y = (myContainer.stage.stageHeight/2)-(pictureClip.height/2);
  pictureClip.x = ((myContainer.stage.stageWidth-200)/2)-(pictureClip.width/2)+200;
 }
}
}