title: calling a function in file1.as from file2.as?
body: <p>How can I call a function in file1.as from file2.as?</p>
  
  <p>here is the code.</p>
  
  <pre><code>package com.modestmaps
  {
          import com.modestmaps.overlays.MarkerClip;
  
          import flash.display.Graphics;
          import flash.display.Loader;
          import flash.display.Shape;
          import flash.display.Sprite;
          import flash.filters.BlurFilter;
          import flash.geom.Matrix;
          import flash.geom.Rectangle;
          import flash.net.URLRequest;
          import flash.text.TextField;
          //import mx.core.Application;
          import mx.core.Application;
          import flash.events.MouseEvent;
  
  
  public class InfoBubble extends Sprite
  {
      private var btn_close:String = "http://(.yada.yada.)/media/close_button.swf";
      public var textField:TextField;
      public var background:Shape;
      public var shadow:Shape;
      public var infoClip:MarkerClip;
  
      protected var map:InfoMap;
      //var infoClip:MarkerClip;
      public var infoBubble:InfoBubble;
      public function InfoBubble(urlLink:String)
      {
          //the name of my markers are set to the links of the swf files in which I want to load into the infobubble
          this.name = urlLink;
          this.mouseEnabled = false;
          this.mouseChildren = true;
          this.buttonMode=false;
  
          shadow = new Shape();
          shadow.filters = [ new BlurFilter(16, 16) ];
          shadow.transform.matrix = new Matrix(1, 0, -0.5, 0.5, 0, 0);   
          addChild(shadow);
  
          background = new Shape();
          addChild(background);
  
          textField = new TextField();
          textField.selectable = false;
          //the infobubble is still sized according to the textField.width and height
          //I don't know how to get the size of the loaded swf
          textField.width = textField.textWidth+432+4;
          textField.height = textField.textHeight+288+4;
  
          //add main swf
          var request:URLRequest = new URLRequest(urlLink);
          var loader:Loader = new Loader();
          loader.load(request);
          addChild(loader);
  
          //position the main swf
          //current measurements of swf file w432 h288
          loader.y = -288 - 37;
          loader.x = mx.core.FlexGlobals.topLevelApplication.LBloaderX;
  
          //add close button
          var reqButton:URLRequest = new URLRequest(btn_close);
          var loader2:Loader = new Loader();
          loader2.load(reqButton);
          addChild(loader2);
  
          loader2.addEventListener(MouseEvent.CLICK, closeInfoBubble);
  
          function closeInfoBubble(event:MouseEvent):void
          {
          infoClip.removeMarkerObject(infoBubble)
          infoBubble = null
          }
          //position the closebutton swf
          //current measurements of closebutton swf file w18 h18
          loader2.y = -286 - 37;
          loader2.x = mx.core.FlexGlobals.topLevelApplication.LBloader2X;
  
          // remember that things in marker clips are positioned with (0,0) at the given location
          textField.y = -textField.height - 35;
          textField.x = -10;
  
          //I need to find out how to detect the width and height of the swf file loaded into loader2
          //instead of the size of the textField
          var rect:Rectangle = textField.getRect(this);
  
          // get your graph paper ready, here's a "speech bubble"
          background.graphics.beginFill(0x12345);
          shadow.graphics.beginFill(0x000000);
  
          for each (var g:Graphics in [ background.graphics, shadow.graphics ] ) {
              g.moveTo(rect.left, rect.top);
              g.lineTo(rect.right, rect.top);
              g.lineTo(rect.right, rect.bottom);
              g.lineTo(rect.left+15, rect.bottom);
              g.lineTo(rect.left+10, rect.bottom+15);
              g.lineTo(rect.left+5, rect.bottom);
              g.lineTo(rect.left, rect.bottom);
              g.lineTo(rect.left, rect.top);
              g.endFill();
          } 
      }
      }
  }
  </code></pre>
  
  <p>in this package i am attempting to add the shadow, which works, and then add the infobubble, which works, and then add a main swf which works, and then add a close_button.swf which it does load the swf; however, when I try to add the listener, I am unable to make the infobubble close back up.</p>