/*en el html :
test
Example of JavaScript-to-Flash communication
en el fla :
import com.buho.util.JSconnector;
JSconnector.addListener(this,recibe);
bt.onPress =function(){
JSconnector.send("Alert","prueba lalala ");
}
sdBt.onPress=function(){
JSconnector.send("Load","prueba||el array recibira otro elemento");
}
function recibe(arg){
texto.text+=arg+"\n";
}
*/
class com.buho.util.JSconnector{
private static var _listObj = new Array();
private static var _listFunc = new Array();
static function send(funcJs, arg){
var str = "(\'" + arg + "\')";
_root.getURL("javascript:" + funcJs + str);
}
static function addListener(obj, func){
if (isInit())init();
_listObj.push(obj);
_listFunc.push(func);
}
static function removeListener(obj, func){
for (var i =0 ;i< _listObj.length;i++){
if (_listObj[i] == obj && _listFunc[i] == func){
_listObj.splice(i, 1);
_listFunc.splice(i, 1);
}
}
}
// private
static function avisa(str){
var arr = str.split("||");
for(var i=0 ;i < _listObj.length;i++){
_listFunc[i].apply(_listObj[i], [arr]);
}
}
static function setJS(mensaje){
avisa(mensaje);
}
static function getJS(){
return null;
}
private static function init(){
_root.addProperty("____result", com.buho.util.JSconnector.getJS, com.buho.util.JSconnector.setJS);
}
private static function isInit(){
return(_root.____result == null);
}
}