
//  Configurable options
var ExternalInterfaceDebugMode = false;

// Invoke flash-metod with params divided by comma
function InvokeExternalInterface( isPopup, flashId, externalInterface, parameters )
{
    try
    {
        var flashObject = isPopup ? self.parent.document.getElementById(flashId) : document.getElementById(flashId);
        
        if( flashObject == null || flashObject[externalInterface] == null ) {
            setTimeout("InvokeExternalInterface(" + isPopup + ", '" + flashId + "', '" + externalInterface + "', '" + parameters + "')", 200);
        }
        else
        {       
            var method = "flashObject[externalInterface]( ";
            if ( parameters != undefined )
            {
            var objects = parameters.toString().split(/[,]/);
            for( var i = 0; i < objects.length; i++ )
            {
                if( i > 0 )
                    method += ", ";
                method += "objects[" + i + "]";
            }
            }
            
            method += " );";            
            eval(method);   
            
            if( ExternalInterfaceDebugMode )
            {
                var message = flashId + "." + externalInterface + "(" + parameters +  ") successed!";
                alert( message );
            }     
        }
    }
    catch(e)
    {    
        if( ExternalInterfaceDebugMode )
            alert( e.message );
    }
}

