0. Download Kit 1. copy FlashJavascriptGateway/source/flash/actionscript's /com folder to project, and set where to find the AS classes via the classpath (set in Preferences->Actionscript->2.0 settings->add com folder) or more easily copy it to C:\Program Files\Macromedia\Flash MX 2004\en\First Run\Classes Folder so always available (com/macromedia/javascript/JavaScriptProxy.as com/macromedia/javascript/JavaScriptSerializer.as) 2. copy JavaScriptFlashGateway.swf (in FlashJavascriptGateway/installation/) to web root (or wherever you are storing the files like a javascript folder) [ or if want to js->flash to work in Flash players be4 6.65 too Compile the JavaScriptFlashGateway.fla file located in the FlashJavascriptGateway/source/flash/gateway directory using Flash. Copy the resulting JavaScriptFlashGateway.swf file into your web root ] 3. copy JavaScriptFlashGateway.js (FlashJavascriptGateway/installation/) to web root (or wherever you are storing the files like a javascript folder) 4. to call actionscript from javascript, add these to html (make sure copied JavaScriptFlashGateway.js and JavaScriptFlashGateway.swf files to web root) //change to where the js you have is located ... ... AND in A.S. say where the functions? are located aka 'this' movie import com.macromedia.javascript.JavaScriptProxy; var proxy:JavaScriptProxy = new JavaScriptProxy(_root.lcId, this); //lcId is set automatically when u create a PRoxy in JS i beleive, u dont set it in Flash function doStuff() { //do stuff to flash via actionscript, move a movie, check a checkbox etc. } 5. to call javascript from Flash (make sure com folder is in classpath) import com.macromedia.javascript.JavaScriptProxy; var proxy:JavaScriptProxy = new JavaScriptProxy(); proxy.call("javaScriptMethodName", "arg1", new Object()); //OR //proxy.javaScriptMethodName("arg1", new Object()); ( 6. if u r doing BOTH, calling JS functions from Flash and calling ActionScript functons from JS use the parameter-filled constructor var proxy:JavaScriptProxy = new JavaScriptProxy(_root.lcId, this); ) Files are attached which are a bit more specific and will work