addChild 1180 eror

when I run this code I get an error in the output window. I was getting error 1180 I think its because when it creates the container movieClip it doesnt know where it is, I think I need to create the holder movieClip and pass it in some where but I dont know where.


package {
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.display.MovieClip;
 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;
   
  trace('doing stuff');
  function mainApp() {
   getXML();
  }
  
  public static function getXML(){
   
   var xmlLoader:URLLoader = new URLLoader();
   xmlLoader.addEventListener(Event.COMPLETE,loadXML);
   xmlLoader.load(new URLRequest(myURL));
   }
  
  
  public static function createSectionItem() {
   trace('menuItem');
  }
  public static function menuItemPressed(event:MouseEvent):void {
   //createSectionItem();
   trace('menuItem'+event.currentTarget.name);
  }
  public static function myButtonPressed(event:MouseEvent):void {
   //createSectionItem();
   trace('myButtonPressed: '+event.currentTarget.name);
  }
  public static function loadXML(e:Event, holder:MovieClip) {
   trace('Loading XML'+holder);
   xmlData = new XML(e.target.data);
var myContainer:container = new container();
   holder.addChild(myContainer);
   var menuItems:Number=3;
   trace('adfad'+menuItems);
   
   trace(myContainer);
   for (var m:Number = 0; m<menuItems; m++) {
    trace('menuItem');
    var myMainButton:mainButton = new mainButton();
    holder.myContainer.addChild(myMainButton);
    myMainButton.name = 'menuItem'+m;
    myContainer.getChildByName('menuItem'+m).y = m*(30)+5;
    myMainButton.addEventListener(MouseEvent.CLICK, menuItemPressed);
   }
   var mySectionLength:Number = xmlData.section.*.length();
   for (var i:Number =0; i <mySectionLength; i++) {
    var myImagePropertyLength:Number = 4;
    //xmlData.section*.image.length();
    trace('Section: ' + myImagePropertyLength);

    var imageBtn:image_btn = new image_btn();
    myContainer.addChild(imageBtn);
    imageBtn.name='myButton'+i;
    trace(imageBtn.name);
    myContainer.getChildByName('myButton'+i).x = i*(30)+5;
    
    //trace('myButton: '+ xmlData.section.image[0]);
    
    imageBtn.addEventListener(MouseEvent.CLICK,myButtonPressed);
   }
  }
 }
}
 
Please help, if you could also tell me where I was going wrong too so I dont have to ask for help again