dojo.flash.Communicator.prototype={_writeFlash6:function()

in tapestry-framework/src/js/dojo-0.4.3-custom-4.1.6/src/flash.js [244:388]


dojo.flash.Communicator.prototype={_writeFlash6:function(){
var id=dojo.flash.obj.id;
document.writeln("<script language=\"JavaScript\">");
document.writeln("  function "+id+"_DoFSCommand(command, args){ ");
document.writeln("    dojo.flash.comm._handleFSCommand(command, args); ");
document.writeln("}");
document.writeln("</script>");
if(dojo.render.html.ie){
document.writeln("<SCRIPT LANGUAGE=VBScript> ");
document.writeln("on error resume next ");
document.writeln("Sub "+id+"_FSCommand(ByVal command, ByVal args)");
document.writeln(" call "+id+"_DoFSCommand(command, args)");
document.writeln("end sub");
document.writeln("</SCRIPT> ");
}
},_writeFlash8:function(){
},_handleFSCommand:function(_2f,_30){
if(_2f!=null&&!dojo.lang.isUndefined(_2f)&&/^FSCommand:(.*)/.test(_2f)==true){
_2f=_2f.match(/^FSCommand:(.*)/)[1];
}
if(_2f=="addCallback"){
this._fscommandAddCallback(_2f,_30);
}else{
if(_2f=="call"){
this._fscommandCall(_2f,_30);
}else{
if(_2f=="fscommandReady"){
this._fscommandReady();
}
}
}
},_fscommandAddCallback:function(_31,_32){
var _33=_32;
var _34=function(){
return dojo.flash.comm._call(_33,arguments);
};
dojo.flash.comm[_33]=_34;
dojo.flash.obj.get().SetVariable("_succeeded",true);
},_fscommandCall:function(_35,_36){
var _37=dojo.flash.obj.get();
var _38=_36;
var _39=parseInt(_37.GetVariable("_numArgs"));
var _3a=new Array();
for(var i=0;i<_39;i++){
var _3c=_37.GetVariable("_"+i);
_3a.push(_3c);
}
var _3d;
if(_38.indexOf(".")==-1){
_3d=window[_38];
}else{
_3d=eval(_38);
}
var _3e=null;
if(!dojo.lang.isUndefined(_3d)&&_3d!=null){
_3e=_3d.apply(null,_3a);
}
_37.SetVariable("_returnResult",_3e);
},_fscommandReady:function(){
var _3f=dojo.flash.obj.get();
_3f.SetVariable("fscommandReady","true");
},_call:function(_40,_41){
var _42=dojo.flash.obj.get();
_42.SetVariable("_functionName",_40);
_42.SetVariable("_numArgs",_41.length);
for(var i=0;i<_41.length;i++){
var _44=_41[i];
_44=_44.replace(/\0/g,"\\0");
_42.SetVariable("_"+i,_44);
}
_42.TCallLabel("/_flashRunner","execute");
var _45=_42.GetVariable("_returnResult");
_45=_45.replace(/\\0/g,"\x00");
return _45;
},_addExternalInterfaceCallback:function(_46){
var _47=function(){
var _48=new Array(arguments.length);
for(var i=0;i<arguments.length;i++){
_48[i]=arguments[i];
}
return dojo.flash.comm._execFlash(_46,_48);
};
dojo.flash.comm[_46]=_47;
},_encodeData:function(_4a){
var _4b=/\&([^;]*)\;/g;
_4a=_4a.replace(_4b,"&amp;$1;");
_4a=_4a.replace(/</g,"&lt;");
_4a=_4a.replace(/>/g,"&gt;");
_4a=_4a.replace("\\","&custom_backslash;&custom_backslash;");
_4a=_4a.replace(/\n/g,"\\n");
_4a=_4a.replace(/\r/g,"\\r");
_4a=_4a.replace(/\f/g,"\\f");
_4a=_4a.replace(/\0/g,"\\0");
_4a=_4a.replace(/\'/g,"\\'");
_4a=_4a.replace(/\"/g,"\\\"");
return _4a;
},_decodeData:function(_4c){
if(_4c==null||typeof _4c=="undefined"){
return _4c;
}
_4c=_4c.replace(/\&custom_lt\;/g,"<");
_4c=_4c.replace(/\&custom_gt\;/g,">");
_4c=eval("\""+_4c+"\"");
return _4c;
},_chunkArgumentData:function(_4d,_4e){
var _4f=dojo.flash.obj.get();
var _50=Math.ceil(_4d.length/1024);
for(var i=0;i<_50;i++){
var _52=i*1024;
var _53=i*1024+1024;
if(i==(_50-1)){
_53=i*1024+_4d.length;
}
var _54=_4d.substring(_52,_53);
_54=this._encodeData(_54);
_4f.CallFunction("<invoke name=\"chunkArgumentData\" "+"returntype=\"javascript\">"+"<arguments>"+"<string>"+_54+"</string>"+"<number>"+_4e+"</number>"+"</arguments>"+"</invoke>");
}
},_chunkReturnData:function(){
var _55=dojo.flash.obj.get();
var _56=_55.getReturnLength();
var _57=new Array();
for(var i=0;i<_56;i++){
var _59=_55.CallFunction("<invoke name=\"chunkReturnData\" "+"returntype=\"javascript\">"+"<arguments>"+"<number>"+i+"</number>"+"</arguments>"+"</invoke>");
if(_59=="\"\""||_59=="''"){
_59="";
}else{
_59=_59.substring(1,_59.length-1);
}
_57.push(_59);
}
var _5a=_57.join("");
return _5a;
},_execFlash:function(_5b,_5c){
var _5d=dojo.flash.obj.get();
_5d.startExec();
_5d.setNumberArguments(_5c.length);
for(var i=0;i<_5c.length;i++){
this._chunkArgumentData(_5c[i],i);
}
_5d.exec(_5b);
var _5f=this._chunkReturnData();
_5f=this._decodeData(_5f);
_5d.endExec();
return _5f;
}};