﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="book" content="ActionScript&nbsp;3.0&nbsp;Language&nbsp;and&nbsp;Components&nbsp;Reference"><link rel="stylesheet" href="../../style.css" type="text/css" media="screen"><link rel="stylesheet" href="../../print.css" type="text/css" media="print"><link rel="stylesheet" href="../../override.css" type="text/css"><meta name="keywords" content="ExternalInterface,flash.external.ExternalInterface,available,marshallExceptions,objectID,addCallback,call"><title>flash.external.ExternalInterface (ActionScript 3.0)</title><script src="../../AC_OETags.js" type="text/javascript"></script></head><body><script language="javascript" type="text/javascript" src="../../asdoc.js"></script><script language="javascript" type="text/javascript" src="../../help.js"></script><script language="javascript" type="text/javascript" src="../../cookies.js"></script><script language="javascript" type="text/javascript">  
            <!--  
			    
				asdocTitle = 'ExternalInterface - ActionScript 3.0 Language and Components Reference';

				var baseRef = '../../';

				window.onload = configPage;
			      
			    -->  
            </script>
<script language="javascript" type="text/javascript"><!--
function submitValue(){
var searchStr=document.getElementById('search-livedocs').value;
window.location="../../search.html"+"###"+searchStr;
}
--></script><script type="text/javascript">
		scrollToNameAnchor();
	</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">ActionScript 3.0 Language and Components Reference</td><td class="titleTableSearch" align="center"><form class="searchForm" method="get" action="../../search.html" onsubmit="submitValue();"><input class="hidden" name="loc" value="" type="hidden"><input class="hidden" name="termPrefix" value="" type="hidden"><input class="hidden" name="term" value="" type="hidden"><input class="hidden" name="area" value="" type="hidden"><input id="search-livedocs" name="search_text" value="" title="" type="text"> <input type="button" name="action" value="Search" onclick="submitValue()"></form></td><td class="titleTableTopNav" align="right"><a href="../../../../Flash/10.0_Welcome/index.html">Home</a>&nbsp;|&nbsp;<a href="../../package-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="../../class-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a href="../../language-elements.html">Language Elements</a>&nbsp;| <a href="../../all-index-Symbols.html" onclick="loadClassListFrame('../../index-list.html')">Index</a>&nbsp;|&nbsp;<a href="../../appendixes.html">Appendixes</a>&nbsp;|&nbsp;<a href="../../conventions.html">Conventions</a>&nbsp;|&nbsp;<a id="framesLink1" href="../../index.html?flash/external/ExternalInterface.html&amp;flash/external/class-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="../../images/logo.jpg" class="logoImage" alt=" Adobe Logo " title=" Adobe Logo "></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">ExternalInterface</td><td class="titleTableSubNav" id="subNav" align="right" colspan="2"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#eventSummary">Events</a>&nbsp;| <a href="#styleSummary">Styles</a>&nbsp;| <a href="#effectSummary">Effects</a>&nbsp;| <a href="#constantSummary">Constants</a>&nbsp;| <a href="#includeExamplesSummary">Examples</a></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
                
                    
                

				<!--

				
				    
				

					if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("ExternalInterface"); titleBar_setSubNav(false,true,false	,false,false,false,true,true,false	,false,false,false,false,false);}

				    
				        
				    
				-->
                
                    
                
			</script><div class="MainContent"><table class="classHeaderTable" cellpadding="0" cellspacing="0"><tr><td class="classHeaderTableLabel">Package</td><td><a href="package-detail.html" onclick="javascript:loadClassListFrame('class-list.html')">flash.external</a></td></tr><tr><td class="classHeaderTableLabel">Class</td><td class="classSignature">public final   class  ExternalInterface</td></tr><tr><td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">ExternalInterface  <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> <a href="../../Object.html">Object</a></td></tr></table><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9</td></tr></table><p></p><p></p><p></p>
        The ExternalInterface class is the External API, an application programming interface
 that enables straightforward communication between ActionScript and the Flash Player
 container– for example, an HTML page with JavaScript. Adobe recommends using
 ExternalInterface for all JavaScript-ActionScript communication.
        <p>You can call an ActionScript function in
 Flash Player, using JavaScript in the HTML page. The ActionScript function can return a value,
 and JavaScript receives it immediately as the return value of the call.</p>
        
               <p>
          This functionality replaces the
          <code>fscommand()</code>
          method.
        </p>
        
               <p>Use the ExternalInterface class in the following combinations of browser and
 operating system:</p>
        
               <table class="innertable" ><tr><th>Browser</th><th>Operating System</th><th>Operating System</th></tr><tr><td>Internet Explorer 5.0 and later</td><td>&nbsp;Windows&nbsp;</td><td>&nbsp;</td></tr><tr><td>Netscape 8.0 and later</td><td>&nbsp;Windows&nbsp;</td><td>&nbsp;MacOS&nbsp;</td></tr><tr><td>Mozilla 1.7.5 and later</td><td>&nbsp;Windows&nbsp;</td><td>&nbsp;MacOS&nbsp;</td></tr><tr><td>Firefox 1.0 and later</td><td>&nbsp;Windows&nbsp;</td><td>&nbsp;MacOS&nbsp;</td></tr><tr><td>Safari 1.3 and later</td><td>&nbsp;</td><td>&nbsp;MacOS&nbsp;</td></tr></table>
        
               <p>Flash Player for Linux version 9.0.31.0 and later supports the ExternalInterface class in the following browsers:</p>
        
               <table class="innertable" ><tr><th>Browser</th></tr><tr><td>Mozilla 1.7.x and later</td></tr><tr><td>Firefox 1.5.0.7 and later</td></tr><tr><td>SeaMonkey 1.0.5 and later</td></tr></table>
        
               <p>
          The ExternalInterface class requires the user's web browser to support either
 ActiveX
          <sup>&reg;</sup>
          or the NPRuntime API that is exposed by some browsers for plug-in scripting.
 Even if a browser and operating system combination are not listed above, they should support 
 the ExternalInterface class if they support the NPRuntime API.
 See
          <a href="http://www.mozilla.org/projects/plugins/npruntime.html" target="external">http://www.mozilla.org/projects/plugins/npruntime.html</a>
          .
        </p>
        
               <p>
                  <b>Note:</b>
          When embedding SWF files within an HTML page, make sure that the
          <code>id</code>
          attribute is set and the
          <code>id</code>
          and
          <code>name</code>
          attributes of the
          <code>object</code>
          and
          <code>embed</code>
          tags do not include the following characters:
        </p>
        
               <pre>. - + * / \</pre>
        
               <p>
                  <b>Note:</b>
          Flash Player version 9.0.115.0 and later allows the
          <code>.</code>
          (period) character
 within the
          <code>id</code>
          and
          <code>name</code>
          attributes.
        </p>
        
               <p>In Flash Player 10 and later running in a browser, using this class programmatically to
 open a pop-up window may not be successful.  Various browsers (and browser configurations) may block pop-up windows 
 at any time; it is not possible to guarantee any pop-up window will appear.  
 However, for the best chance of success, use this class to open a pop-up window only in code that executes 
 as a direct result of a user action (for example, in an event handler for a mouse click or key-press event.)</p>
        
               <p>
          From ActionScript, you can do the following on the HTML page:
          <ul>
                     <li>Call any JavaScript function.</li>
                     <li>Pass any number of arguments, with any names.</li>
                     <li>Pass various data types (Boolean, Number, String, and so on).</li>
                     <li>Receive a return value from the JavaScript function.</li>
                  </ul>
          
               </p>
        
               <p>
          From JavaScript on the HTML page, you can:
          <ul>
                     <li>Call an ActionScript function.</li>
                     <li>Pass arguments using standard function call notation.</li>
                     <li>Return a value to the JavaScript function.</li>
                  </ul>
          
               </p>
        
               <p>Flash Player does not currently support SWF files embedded within HTML forms.</p>
        
               <p>
                  <i>Note:</i>
          Adobe AIR currently does not support the ExternalInterface class.
        </p>
        
            <p></p><p><a href="#includeExamplesSummary">View the examples</a></p><p><span class="classHeaderTableLabel">See also</span></p><div class="seeAlso"><a href="../../flash/system/package.html#fscommand()" target="">flash.system.fscommand()</a></div><br/><hr></div><a name="propertySummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Properties</div><div class="showHideLinks"><div id="hideInheritedProperty" class="hideInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(false,'Property');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Properties</a></div><div id="showInheritedProperty" class="showInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(true,'Property');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Properties</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th>Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#available" class="signatureLink">available</a> : <a href="../../Boolean.html">Boolean</a><div class="summaryTableDescription">[static] [read-only] Indicates whether this player is in a container that offers an external interface.</div></td><td class="summaryTableOwnerCol">ExternalInterface</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../Object.html#constructor" class="signatureLink">constructor</a> : <a href="../../Object.html">Object</a><div class="summaryTableDescription">A reference to the class object or constructor function for a given object instance.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#marshallExceptions" class="signatureLink">marshallExceptions</a> : <a href="../../Boolean.html">Boolean</a> = false<div class="summaryTableDescription">[static] Indicates whether the external interface should attempt to pass ActionScript exceptions to the 
     current browser and JavaScript exceptions to Flash Player.</div></td><td class="summaryTableOwnerCol">ExternalInterface</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#objectID" class="signatureLink">objectID</a> : <a href="../../String.html">String</a><div class="summaryTableDescription">[static] [read-only] Returns the id attribute of the object tag in Internet Explorer,
     or the name attribute of the embed tag in Netscape.</div></td><td class="summaryTableOwnerCol">ExternalInterface</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../Object.html#prototype" class="signatureLink">prototype</a> : <a href="../../Object.html">Object</a><div class="summaryTableDescription">[static] A reference to the prototype object of a class or function object.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr></table></div><a name="methodSummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Methods </div><div class="showHideLinks"><div id="hideInheritedMethod" class="hideInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(false,'Method');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Methods</a></div><div id="showInheritedMethod" class="showInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(true,'Method');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Methods</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th>Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#addCallback()" class="signatureLink">addCallback</a>(functionName:<a href="../../String.html">String</a>, closure:<a href="../../Function.html">Function</a>):<a href="../../specialTypes.html#void">void</a></div><div class="summaryTableDescription">[static] Registers an ActionScript method as callable from the container.</div></td><td class="summaryTableOwnerCol">ExternalInterface</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#call()" class="signatureLink">call</a>(functionName:<a href="../../String.html">String</a>, <a href="../../statements.html#..._(rest)_parameter">...</a> arguments):<a href="../../specialTypes.html#*">*</a></div><div class="summaryTableDescription">[static] Calls a function exposed by the Flash Player container, passing zero or
     more arguments.</div></td><td class="summaryTableOwnerCol">ExternalInterface</td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#hasOwnProperty()" class="signatureLink">hasOwnProperty</a>(name:<a href="../../String.html">String</a>):<a href="../../Boolean.html">Boolean</a></div><div class="summaryTableDescription">Indicates whether an object has a specified property defined.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#isPrototypeOf()" class="signatureLink">isPrototypeOf</a>(theClass:<a href="../../Object.html">Object</a>):<a href="../../Boolean.html">Boolean</a></div><div class="summaryTableDescription">Indicates whether an instance of the Object class is in the prototype chain of the object specified 
  as the parameter.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#propertyIsEnumerable()" class="signatureLink">propertyIsEnumerable</a>(name:<a href="../../String.html">String</a>):<a href="../../Boolean.html">Boolean</a></div><div class="summaryTableDescription">Indicates whether the specified property exists and is enumerable.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#setPropertyIsEnumerable()" class="signatureLink">setPropertyIsEnumerable</a>(name:<a href="../../String.html">String</a>, isEnum:<a href="../../Boolean.html">Boolean</a> = true):<a href="../../specialTypes.html#void">void</a></div><div class="summaryTableDescription">Sets the availability of a dynamic property for loop operations.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#toString()" class="signatureLink">toString</a>():<a href="../../String.html">String</a></div><div class="summaryTableDescription">Returns the string representation of the specified object.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../Object.html#valueOf()" class="signatureLink">valueOf</a>():<a href="../../Object.html">Object</a></div><div class="summaryTableDescription">Returns the primitive value of the specified object.</div></td><td class="summaryTableOwnerCol"><a href="../../Object.html">Object</a></td></tr></table></div><script language="javascript" type="text/javascript"><!--
                      showHideInherited();
                      --></script><div class="MainContent"><div class="detailSectionHeader">Property Detail</div><a name="propertyDetail"></a><a name="available"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">available</td><td class="detailHeaderType">property</td></tr></table><div class="detailBody"><code>available:<a href="../../Boolean.html">Boolean</a></code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9</td></tr></table><p></p><p></p><p>
          Indicates whether this player is in a container that offers an external interface.
     If the external interface is available, this property is
          <code>true</code>
          ; otherwise,
     it is
          <code>false</code>
          .
          <p>
            <b>Note:</b>
            When using the External API with HTML, always check that the HTML 
     has finished loading before you attempt to call any JavaScript methods.
          </p>
          
        </p><br/><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public static function get available():<a href="../../Boolean.html">Boolean</a></code><br/><br/><span class="label"> Example </span><br/><div class="detailBody">
          The following example uses the
          <code>available</code>
          property to
     determine whether the player is in a container that offers an external interface.
          <div class="listing" version="3.0"><pre>package {
       import flash.text.TextField;
       import flash.display.MovieClip;
       import flash.external.ExternalInterface;
     
       public class extint_test extends MovieClip {
         public function extint_test() {
           var isAvailable:Boolean = ExternalInterface.available;
           var availTxt:TextField = new TextField();
           availTxt.text = isAvailable.toString();
           addChild(availTxt);
         }
       }
     }</pre></div>
          
        </div></div><a name="propertyDetail"></a><a name="marshallExceptions"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">marshallExceptions</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>public static var marshallExceptions:<a href="../../Boolean.html">Boolean</a> = false</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9.0.115.0</td></tr></table><p></p><p></p><p>
          Indicates whether the external interface should attempt to pass ActionScript exceptions to the 
     current browser and JavaScript exceptions to Flash Player. You must explicitly set this property
     to
          <code>true</code>
          to catch JavaScript exceptions in ActionScript and to catch ActionScript exceptions
     in JavaScript.
        </p><p><span class="label">See also</span></p><div class="seeAlso"><a href="ExternalInterface.html#addCallBack()" target="">addCallBack()</a><br/><a href="../../statements.html#try..catch..finally" target="">try..catch..finally statement</a></div><br/><span class="label"> Example </span><br/><div class="detailBody">
          The following example creates an ActionScript function and registers it with 
 the containing browser by using the
          <code>addCallback()</code>
          method. The new function throws 
 an exception so that JavaScript code running in the browser can catch it. This example also
 contains a
          <code>try..catch</code>
          statement to catch any exceptions thrown by the browser
 when the
          <code>throwit()</code>
          function is called.
          <div class="listing"><pre>package
{
    import flash.external.*
    import flash.net.*;
    import flash.display.*;
    import flash.system.System;
    public class ext_test extends Sprite {
    function ext_test():void {
        ExternalInterface.marshallExceptions = true;
        ExternalInterface.addCallback("g", g);

        try {
        ExternalInterface.call("throwit");
        } catch(e:Error) {
        trace(e)
        }
    }
    function g() { throw new Error("exception from actionscript!!!!") }
    }
}</pre></div>
        </div></div><a name="propertyDetail"></a><a name="objectID"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">objectID</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>objectID:<a href="../../String.html">String</a></code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9</td></tr></table><p></p><p></p><p>
          Returns the
          <code>id</code>
          attribute of the
          <code>object</code>
          tag in Internet Explorer,
     or the
          <code>name</code>
          attribute of the
          <code>embed</code>
          tag in Netscape.
        </p><br/><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public static function get objectID():<a href="../../String.html">String</a></code><br/></div><a name="methodDetail"></a><div class="detailSectionHeader">Method Detail</div><a name="addCallback()"></a><a name="addCallback(String,Function)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">addCallback</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td></tr></table><div class="detailBody"><code> public static function addCallback(functionName:<a href="../../String.html">String</a>, closure:<a href="../../Function.html">Function</a>):<a href="../../specialTypes.html#void">void</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9</td></tr></table><p></p><p></p><p>
          Registers an ActionScript method as callable from the container.
     After a successful invocation of
          <code>addCallBack()</code>
          , the registered function in
     Flash Player can be called by JavaScript or ActiveX code in the container.
          <p>
            <b>Note:</b>
            For
            <i>local</i>
            content running in a browser, calls to the
            <code>ExternalInterface.addCallback()</code>
            method work only if the SWF file and the 
     containing web page are in the local-trusted security sandbox. For more information, 
     see the following:
          </p>
          
          <ul><li>
              The
              <a href="http://www.adobe.com/go/flashcs4_prog_as3_security_en" target="external">security chapter</a>
              in the
              <i>Programming ActionScript 3.0</i>
              book and the latest comments on LiveDocs
            </li><li>
              The Flash Player Developer Center Topic:
              <a href="http://www.adobe.com/go/devnet_security_en" target="external">Security</a>
            </li></ul>
          
        </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">functionName</span>:<a href="../../String.html">String</a></code> &mdash; The name by which the container can invoke
                         the function.</td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><span class="label">closure</span>:<a href="../../Function.html">Function</a></code> &mdash; The function closure to invoke.  This could be a
                    free-standing function, or it could be a method closure
                    referencing a method of an object instance.  By passing
                    a method closure, you can direct the callback 
                    at a method of a particular object instance.</td></tr></table></p><br/><span class="label">Throws</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../Error.html">Error</a> </code> &mdash; The container does not support incoming calls.
                   Incoming calls are supported only in Internet Explorer for Windows and browsers
                   that use the NPRuntime API such as Mozilla 1.7.5 and later or Firefox 1.0 and later.</td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20"></td><td><code><a href="../../SecurityError.html">SecurityError</a> </code> &mdash; 
              A callback with the specified name has already been
     added by ActionScript in a sandbox to which you do not have access; you
     cannot overwrite that callback. To work around this problem, rewrite the
     ActionScript that originally called the
              <code>addCallback()</code>
              method so that it also
     calls the
              <code>Security.allowDomain()</code>
              method.
            </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20"></td><td><code><a href="../../SecurityError.html">SecurityError</a> </code> &mdash; 
              The containing environment belongs to a security sandbox
     to which the calling code does not have access. To fix this problem, follow these steps:
              <ol><li>
                  In the
                  <code>object</code>
                  tag for the SWF file in the containing HTML page,
      set the following parameter:
                  <p>
                    <code>&lt;param name="allowScriptAccess" value="always" /&gt;</code>
                  </p>
                  
                </li><li>
                  In the SWF file, add the following ActionScript:
                  <p>
                    <code>
                      flash.system.Security.allowDomain(
                      <i>sourceDomain</i>
                      )
                    </code>
                  </p>
                  
                </li></ol>
              
            </td></tr></table><p><span class="label">See also</span></p><div class="seeAlso"><a href="../../flash/system/Security.html#allowDomain()" target="">flash.system.Security.allowDomain()</a></div></div><a name="call()"></a><a name="call(String,restParam)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">call</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code> public static function call(functionName:<a href="../../String.html">String</a>, <a href="../../statements.html#..._(rest)_parameter">...</a> arguments):<a href="../../specialTypes.html#*">*</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Language Version:&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b>Runtime Versions:&nbsp;</b></td><td>AIR 1.0, Flash Player 9</td></tr></table><p></p><p></p><p>
          Calls a function exposed by the Flash Player container, passing zero or
     more arguments.  If the function is not available, the call returns
          <code>null</code>
          ; otherwise it returns the value provided by the function. 
     Recursion is
          <i>not</i>
          permitted on Opera or Netscape browsers; on these browsers a recursive call 
     produces a
          <code>null</code>
          response. (Recursion is supported on Internet Explorer and Firefox browsers.)
          <p>
            If the container is an HTML page, this method invokes a JavaScript function
     in a
            <code>script</code>
            element.
          </p>
          
          <p>If the container is another ActiveX container, this method dispatches the
     FlashCall ActiveX event with the specified name, and the container processes the event.</p>
          
          <p>If the container is hosting the Netscape plug-in, you can either write custom support 
     for the new NPRuntime interface or embed an HTML control and embed Flash Player within 
     the HTML control. If you embed an HTML control, you can communicate with  
     Flash Player through a JavaScript interface to the native container application.</p>
          
          <p>
            <b>Note:</b>
            For
            <i>local</i>
            content running in a browser, calls to the
            <code>ExternalInterface.call()</code>
            method are permitted only if the SWF file and the 
     containing web page (if there is one) are in the local-trusted security sandbox. Also, you can 
     prevent a SWF file from using this method by setting the
            <code>allowNetworking</code>
            parameter of the
            <code>object</code>
            and
            <code>embed</code>
            tags in the HTML 
     page that contains the SWF content. For more information, see the following:
          </p>
          
          <ul><li>
              The
              <a href="http://www.adobe.com/go/flashcs4_prog_as3_security_en" target="external">security chapter</a>
              in the
              <i>Programming ActionScript 3.0</i>
              book and the latest comments on LiveDocs
            </li><li>
              The Flash Player Developer Center Topic:
              <a href="http://www.adobe.com/go/devnet_security_en" target="external">Security</a>
            </li></ul>
          
          <p>In Flash Player 10 and Flash Player 9 Update 5, some web browsers restrict this method
     if a pop-up blocker is enabled. In this scenario, you can only call this method successfully 
     in response to a user event (for example, in an event handler for a mouse click or keypress event).</p>
          
        </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">functionName</span>:<a href="../../String.html">String</a></code> &mdash; 
              The alphanumeric name of the function to call in the container. Using a non-alphanumeric function name
     causes a runtime error (error 2155). You can use a
              <code>try..catch</code>
              block to handle the error.
            </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><a href="../../statements.html#..._(rest)_parameter">...</a> <span class="label">arguments</span></code> &mdash; The arguments to pass to the function in the
                      container. You can specify zero or more parameters, separating them with commas.
                      They can be of any ActionScript data type. 
                      When the call is to a JavaScript function, the ActionScript
                      types are automatically converted into JavaScript types; when the call is to some other
                      ActiveX container, the parameters are encoded in the request message.</td></tr></table></p><p></p><span class="label">Returns</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../specialTypes.html#*">*</a></code> &mdash; 
              The response received from the container. If the call failed– for example, if there is no such 
             function in the container, the interface is not available, a recursion occurred (with a Netscape
     or Opera browser), or there is a security issue–
              <code>null</code>
              is returned and an error is thrown.
            </td></tr></table><br/><span class="label">Throws</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../Error.html">Error</a> </code> &mdash; The container does not support outgoing calls.
                   Outgoing calls are supported only in Internet Explorer for Windows and browsers
                   that use the NPRuntime API such as Mozilla 1.7.5 and later or Firefox 1.0 and later.</td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20"></td><td><code><a href="../../SecurityError.html">SecurityError</a> </code> &mdash; 
              The containing environment belongs to a security sandbox
                           to which the calling code does not have access. To fix this problem, follow these steps:
              <ol><li>
                  In the
                  <code>object</code>
                  tag for the SWF file in the containing HTML page,
      set the following parameter:
                  <p>
                    <code>&lt;param name="allowScriptAccess" value="always" /&gt;</code>
                  </p>
                  
                </li><li>
                  In the SWF file, add the following ActionScript:
                  <p>
                    <code>
                      flash.system.Security.allowDomain(
                      <i>sourceDomain</i>
                      )
                    </code>
                  </p>
                  
                </li></ol>
              
            </td></tr></table></div><a name="includeExamplesSummary"></a><div class="detailSectionHeader">Examples<span class="usage"><a href="../../ExampleInstruct.html"> How to use examples </a></span></div><div class="exampleHeader">ExternalInterfaceExample.as</div><br/><div class="detailBody">
        The following example demonstrates sending data between Flash Player and an HTML container.
        <div class="listing"><pre>package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.external.ExternalInterface;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.text.TextFieldType;
    import flash.text.TextFieldAutoSize;

    public class ExternalInterfaceExample extends Sprite {
        private var input:TextField;
        private var output:TextField;
        private var sendBtn:Sprite;

        public function ExternalInterfaceExample() {
            input = new TextField();
            input.type = TextFieldType.INPUT;
            input.background = true;
            input.border = true;
            input.width = 350;
            input.height = 18;
            addChild(input);

            sendBtn = new Sprite();
            sendBtn.mouseEnabled = true;
            sendBtn.x = input.width + 10;
            sendBtn.graphics.beginFill(0xCCCCCC);
            sendBtn.graphics.drawRoundRect(0, 0, 80, 18, 10, 10);
            sendBtn.graphics.endFill();
            sendBtn.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(sendBtn);

            output = new TextField();
            output.y = 25;
            output.width = 450;
            output.height = 325;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.text = "Initializing...\n";
            addChild(output);

            if (ExternalInterface.available) {
                try {
                    output.appendText("Adding callback...\n");
                    ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
                    if (checkJavaScriptReady()) {
                        output.appendText("JavaScript is ready.\n");
                    } else {
                        output.appendText("JavaScript is not ready, creating timer.\n");
                        var readyTimer:Timer = new Timer(100, 0);
                        readyTimer.addEventListener(TimerEvent.TIMER, timerHandler);
                        readyTimer.start();
                    }
                } catch (error:SecurityError) {
                    output.appendText("A SecurityError occurred: " + error.message + "\n");
                } catch (error:Error) {
                    output.appendText("An Error occurred: " + error.message + "\n");
                }
            } else {
                output.appendText("External interface is not available for this container.");
            }
        }
        private function receivedFromJavaScript(value:String):void {
            output.appendText("JavaScript says: " + value + "\n");
        }
        private function checkJavaScriptReady():Boolean {
            var isReady:Boolean = ExternalInterface.call("isReady");
            return isReady;
        }
        private function timerHandler(event:TimerEvent):void {
            output.appendText("Checking JavaScript status...\n");
            var isReady:Boolean = checkJavaScriptReady();
            if (isReady) {
                output.appendText("JavaScript is ready.\n");
                Timer(event.target).stop();
            }
        }
        private function clickHandler(event:MouseEvent):void {
            if (ExternalInterface.available) {
                ExternalInterface.call("sendToJavaScript", input.text);
            }
        }
    }
}</pre></div>
        In order to test the previous ActionScript code, embed the generated SWF file using the following HTML template:
        <div class="listing" version="2.0"><pre>&lt;!-- saved from url=(0014)about:internet --&gt;
 &lt;html lang="en"&gt;
 &lt;head&gt;
 &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
 &lt;title&gt;ExternalInterfaceExample&lt;/title&gt;
 &lt;script language="JavaScript"&gt;
     var jsReady = false;
     function isReady() {
         return jsReady;
     }
     function pageInit() {
         jsReady = true;
         document.forms["form1"].output.value += "\n" + "JavaScript is ready.\n";
     }
     function thisMovie(movieName) {
         if (navigator.appName.indexOf("Microsoft") != -1) {
             return window[movieName];
         } else {
             return document[movieName];
         }
     }
     function sendToActionScript(value) {
         thisMovie("ExternalInterfaceExample").sendToActionScript(value);
     }
     function sendToJavaScript(value) {
         document.forms["form1"].output.value += "ActionScript says: " + value + "\n";
     }
 &lt;/script&gt;
 &lt;/head&gt;
 &lt;body onload="pageInit();"&gt;
 
     &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
             id="ExternalInterfaceExample" width="500" height="375"
             codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"&gt;
         &lt;param name="movie" value="ExternalInterfaceExample.swf" /&gt;
         &lt;param name="quality" value="high" /&gt;
         &lt;param name="bgcolor" value="#869ca7" /&gt;
         &lt;param name="allowScriptAccess" value="sameDomain" /&gt;
         &lt;embed src="ExternalInterfaceExample.swf" quality="high" bgcolor="#869ca7"
             width="500" height="375" name="ExternalInterfaceExample" align="middle"
             play="true" loop="false" quality="high" allowScriptAccess="sameDomain"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;
         &lt;/embed&gt;
     &lt;/object&gt;
 
     &lt;form name="form1" onsubmit="return false;"&gt;
         &lt;input type="text" name="input" value="" /&gt;
         &lt;input type="button" value="Send" onclick="sendToActionScript(this.form.input.value);" /&gt;&lt;br /&gt;
         &lt;textarea cols="60" rows="20" name="output" readonly="true"&gt;Initializing...&lt;/textarea&gt;
     &lt;/form&gt;
 
 &lt;/body&gt;
 &lt;/html&gt;</pre></div>
        
      </div><br/><br/><hr><br/><p></p><center class="copyright"> &copy; 2004-2008 Adobe Systems Incorporated. All rights reserved. <br/>Thu Oct 30 2008, 07:08 PM -07:00  </center><div style="display:none">ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface ExternalInterface </div><div style="display:none">flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface flash.external.ExternalInterface </div></div></body></html><!-- &copy; 2004-2008 Adobe Systems Incorporated. All rights reserved. <br/>Thu Oct 30 2008, 07:08 PM -07:00  -->
