﻿function ExternalInterfaceManager(){
    this.registerMovie = function(movieName) {
        if(!window.fakeMovies) window.fakeMovies = new Array();
        window.fakeMovies[window.fakeMovies.length] = movieName;
    }
    
    this.initialize = function() {
        if(document.all){
            if(window.fakeMovies){
                for(i=0;i<window.fakeMovies.length;i++){
                    window[window.fakeMovies[i]] = new Object();
                }
                window.onload = initializeExternalInterface;
            }
        }

    }
}

function initializeExternalInterface(){
    for(i=0;i<window.fakeMovies.length;i++){
        var movieName = window.fakeMovies[i];
        var fakeMovie = window[movieName];
        var realMovie = document.getElementById(movieName);

        for(var method in fakeMovie){
            realMovie[method] = function() {
                flashFunction = "<invoke name=\"" 
                    + method.toString() 
                    + "\" returntype=\"javascript\">" 
                    + __flash__argumentsToXML(arguments, 0) 
                    + "</invoke>";
                this.CallFunction(flashFunction);}
        }
        window[movieName] = realMovie;
    }
}