1318 |
alexandre_ |
1 |
/*
|
|
|
2 |
Copyright (c) 2004-2006, The Dojo Foundation
|
|
|
3 |
All Rights Reserved.
|
|
|
4 |
|
|
|
5 |
Licensed under the Academic Free License version 2.1 or above OR the
|
|
|
6 |
modified BSD license. For more information on Dojo licensing, see:
|
|
|
7 |
|
|
|
8 |
http://dojotoolkit.org/community/licensing.shtml
|
|
|
9 |
*/
|
|
|
10 |
|
1422 |
alexandre_ |
11 |
|
|
|
12 |
|
1318 |
alexandre_ |
13 |
dojo.provide("dojo.flash");
|
|
|
14 |
dojo.require("dojo.string.*");
|
|
|
15 |
dojo.require("dojo.uri.*");
|
|
|
16 |
dojo.require("dojo.html.common");
|
|
|
17 |
dojo.flash = function () {
|
|
|
18 |
};
|
|
|
19 |
dojo.flash = {flash6_version:null, flash8_version:null, ready:false, _visible:true, _loadedListeners:new Array(), _installingListeners:new Array(), setSwf:function (fileInfo) {
|
|
|
20 |
if (fileInfo == null || dojo.lang.isUndefined(fileInfo)) {
|
|
|
21 |
return;
|
|
|
22 |
}
|
|
|
23 |
if (fileInfo.flash6 != null && !dojo.lang.isUndefined(fileInfo.flash6)) {
|
|
|
24 |
this.flash6_version = fileInfo.flash6;
|
|
|
25 |
}
|
|
|
26 |
if (fileInfo.flash8 != null && !dojo.lang.isUndefined(fileInfo.flash8)) {
|
|
|
27 |
this.flash8_version = fileInfo.flash8;
|
|
|
28 |
}
|
|
|
29 |
if (!dojo.lang.isUndefined(fileInfo.visible)) {
|
|
|
30 |
this._visible = fileInfo.visible;
|
|
|
31 |
}
|
|
|
32 |
this._initialize();
|
|
|
33 |
}, useFlash6:function () {
|
|
|
34 |
if (this.flash6_version == null) {
|
|
|
35 |
return false;
|
|
|
36 |
} else {
|
|
|
37 |
if (this.flash6_version != null && dojo.flash.info.commVersion == 6) {
|
|
|
38 |
return true;
|
|
|
39 |
} else {
|
|
|
40 |
return false;
|
|
|
41 |
}
|
|
|
42 |
}
|
|
|
43 |
}, useFlash8:function () {
|
|
|
44 |
if (this.flash8_version == null) {
|
|
|
45 |
return false;
|
|
|
46 |
} else {
|
|
|
47 |
if (this.flash8_version != null && dojo.flash.info.commVersion == 8) {
|
|
|
48 |
return true;
|
|
|
49 |
} else {
|
|
|
50 |
return false;
|
|
|
51 |
}
|
|
|
52 |
}
|
|
|
53 |
}, addLoadedListener:function (listener) {
|
|
|
54 |
this._loadedListeners.push(listener);
|
|
|
55 |
}, addInstallingListener:function (listener) {
|
|
|
56 |
this._installingListeners.push(listener);
|
|
|
57 |
}, loaded:function () {
|
|
|
58 |
dojo.flash.ready = true;
|
|
|
59 |
if (dojo.flash._loadedListeners.length > 0) {
|
|
|
60 |
for (var i = 0; i < dojo.flash._loadedListeners.length; i++) {
|
|
|
61 |
dojo.flash._loadedListeners[i].call(null);
|
|
|
62 |
}
|
|
|
63 |
}
|
|
|
64 |
}, installing:function () {
|
|
|
65 |
if (dojo.flash._installingListeners.length > 0) {
|
|
|
66 |
for (var i = 0; i < dojo.flash._installingListeners.length; i++) {
|
|
|
67 |
dojo.flash._installingListeners[i].call(null);
|
|
|
68 |
}
|
|
|
69 |
}
|
|
|
70 |
}, _initialize:function () {
|
|
|
71 |
var installer = new dojo.flash.Install();
|
|
|
72 |
dojo.flash.installer = installer;
|
|
|
73 |
if (installer.needed() == true) {
|
|
|
74 |
installer.install();
|
|
|
75 |
} else {
|
|
|
76 |
dojo.flash.obj = new dojo.flash.Embed(this._visible);
|
|
|
77 |
dojo.flash.obj.write(dojo.flash.info.commVersion);
|
|
|
78 |
dojo.flash.comm = new dojo.flash.Communicator();
|
|
|
79 |
}
|
|
|
80 |
}};
|
|
|
81 |
dojo.flash.Info = function () {
|
|
|
82 |
if (dojo.render.html.ie) {
|
|
|
83 |
document.writeln("<script language=\"VBScript\" type=\"text/vbscript\">");
|
|
|
84 |
document.writeln("Function VBGetSwfVer(i)");
|
|
|
85 |
document.writeln(" on error resume next");
|
|
|
86 |
document.writeln(" Dim swControl, swVersion");
|
|
|
87 |
document.writeln(" swVersion = 0");
|
|
|
88 |
document.writeln(" set swControl = CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" + CStr(i))");
|
|
|
89 |
document.writeln(" if (IsObject(swControl)) then");
|
|
|
90 |
document.writeln(" swVersion = swControl.GetVariable(\"$version\")");
|
|
|
91 |
document.writeln(" end if");
|
|
|
92 |
document.writeln(" VBGetSwfVer = swVersion");
|
|
|
93 |
document.writeln("End Function");
|
|
|
94 |
document.writeln("</script>");
|
|
|
95 |
}
|
|
|
96 |
this._detectVersion();
|
|
|
97 |
this._detectCommunicationVersion();
|
|
|
98 |
};
|
|
|
99 |
dojo.flash.Info.prototype = {version:-1, versionMajor:-1, versionMinor:-1, versionRevision:-1, capable:false, commVersion:6, installing:false, isVersionOrAbove:function (reqMajorVer, reqMinorVer, reqVer) {
|
|
|
100 |
reqVer = parseFloat("." + reqVer);
|
|
|
101 |
if (this.versionMajor >= reqMajorVer && this.versionMinor >= reqMinorVer && this.versionRevision >= reqVer) {
|
|
|
102 |
return true;
|
|
|
103 |
} else {
|
|
|
104 |
return false;
|
|
|
105 |
}
|
|
|
106 |
}, _detectVersion:function () {
|
|
|
107 |
var versionStr;
|
|
|
108 |
for (var testVersion = 25; testVersion > 0; testVersion--) {
|
|
|
109 |
if (dojo.render.html.ie) {
|
|
|
110 |
versionStr = VBGetSwfVer(testVersion);
|
|
|
111 |
} else {
|
|
|
112 |
versionStr = this._JSFlashInfo(testVersion);
|
|
|
113 |
}
|
|
|
114 |
if (versionStr == -1) {
|
|
|
115 |
this.capable = false;
|
|
|
116 |
return;
|
|
|
117 |
} else {
|
|
|
118 |
if (versionStr != 0) {
|
|
|
119 |
var versionArray;
|
|
|
120 |
if (dojo.render.html.ie) {
|
|
|
121 |
var tempArray = versionStr.split(" ");
|
|
|
122 |
var tempString = tempArray[1];
|
|
|
123 |
versionArray = tempString.split(",");
|
|
|
124 |
} else {
|
|
|
125 |
versionArray = versionStr.split(".");
|
|
|
126 |
}
|
|
|
127 |
this.versionMajor = versionArray[0];
|
|
|
128 |
this.versionMinor = versionArray[1];
|
|
|
129 |
this.versionRevision = versionArray[2];
|
|
|
130 |
var versionString = this.versionMajor + "." + this.versionRevision;
|
|
|
131 |
this.version = parseFloat(versionString);
|
|
|
132 |
this.capable = true;
|
|
|
133 |
break;
|
|
|
134 |
}
|
|
|
135 |
}
|
|
|
136 |
}
|
|
|
137 |
}, _JSFlashInfo:function (testVersion) {
|
|
|
138 |
if (navigator.plugins != null && navigator.plugins.length > 0) {
|
|
|
139 |
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
|
|
|
140 |
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
|
|
|
141 |
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
|
|
|
142 |
var descArray = flashDescription.split(" ");
|
|
|
143 |
var tempArrayMajor = descArray[2].split(".");
|
|
|
144 |
var versionMajor = tempArrayMajor[0];
|
|
|
145 |
var versionMinor = tempArrayMajor[1];
|
|
|
146 |
if (descArray[3] != "") {
|
|
|
147 |
var tempArrayMinor = descArray[3].split("r");
|
|
|
148 |
} else {
|
|
|
149 |
var tempArrayMinor = descArray[4].split("r");
|
|
|
150 |
}
|
|
|
151 |
var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
|
|
|
152 |
var version = versionMajor + "." + versionMinor + "." + versionRevision;
|
|
|
153 |
return version;
|
|
|
154 |
}
|
|
|
155 |
}
|
|
|
156 |
return -1;
|
|
|
157 |
}, _detectCommunicationVersion:function () {
|
|
|
158 |
if (this.capable == false) {
|
|
|
159 |
this.commVersion = null;
|
|
|
160 |
return;
|
|
|
161 |
}
|
|
|
162 |
if (typeof djConfig["forceFlashComm"] != "undefined" && typeof djConfig["forceFlashComm"] != null) {
|
|
|
163 |
this.commVersion = djConfig["forceFlashComm"];
|
|
|
164 |
return;
|
|
|
165 |
}
|
|
|
166 |
if (dojo.render.html.safari == true || dojo.render.html.opera == true) {
|
|
|
167 |
this.commVersion = 8;
|
|
|
168 |
} else {
|
|
|
169 |
this.commVersion = 6;
|
|
|
170 |
}
|
|
|
171 |
}};
|
|
|
172 |
dojo.flash.Embed = function (visible) {
|
|
|
173 |
this._visible = visible;
|
|
|
174 |
};
|
|
|
175 |
dojo.flash.Embed.prototype = {width:215, height:138, id:"flashObject", _visible:true, protocol:function () {
|
|
|
176 |
switch (window.location.protocol) {
|
|
|
177 |
case "https:":
|
|
|
178 |
return "https";
|
|
|
179 |
break;
|
|
|
180 |
default:
|
|
|
181 |
return "http";
|
|
|
182 |
break;
|
|
|
183 |
}
|
|
|
184 |
}, write:function (flashVer, doExpressInstall) {
|
|
|
185 |
if (dojo.lang.isUndefined(doExpressInstall)) {
|
|
|
186 |
doExpressInstall = false;
|
|
|
187 |
}
|
|
|
188 |
var containerStyle = new dojo.string.Builder();
|
|
|
189 |
containerStyle.append("width: " + this.width + "px; ");
|
|
|
190 |
containerStyle.append("height: " + this.height + "px; ");
|
|
|
191 |
if (this._visible == false) {
|
|
|
192 |
containerStyle.append("position: absolute; ");
|
|
|
193 |
containerStyle.append("z-index: 10000; ");
|
|
|
194 |
containerStyle.append("top: -1000px; ");
|
|
|
195 |
containerStyle.append("left: -1000px; ");
|
|
|
196 |
}
|
|
|
197 |
containerStyle = containerStyle.toString();
|
|
|
198 |
var objectHTML;
|
|
|
199 |
var swfloc;
|
|
|
200 |
if (flashVer == 6) {
|
|
|
201 |
swfloc = dojo.flash.flash6_version;
|
|
|
202 |
var dojoPath = djConfig.baseRelativePath;
|
|
|
203 |
swfloc = swfloc + "?baseRelativePath=" + escape(dojoPath);
|
|
|
204 |
objectHTML = "<embed id=\"" + this.id + "\" src=\"" + swfloc + "\" " + " quality=\"high\" bgcolor=\"#ffffff\" " + " width=\"" + this.width + "\" height=\"" + this.height + "\" " + " name=\"" + this.id + "\" " + " align=\"middle\" allowScriptAccess=\"sameDomain\" " + " type=\"application/x-shockwave-flash\" swLiveConnect=\"true\" " + " pluginspage=\"" + this.protocol() + "://www.macromedia.com/go/getflashplayer\">";
|
|
|
205 |
} else {
|
|
|
206 |
swfloc = dojo.flash.flash8_version;
|
|
|
207 |
var swflocObject = swfloc;
|
|
|
208 |
var swflocEmbed = swfloc;
|
|
|
209 |
var dojoPath = djConfig.baseRelativePath;
|
|
|
210 |
if (doExpressInstall) {
|
|
|
211 |
var redirectURL = escape(window.location);
|
|
|
212 |
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
|
|
|
213 |
var docTitle = escape(document.title);
|
|
|
214 |
swflocObject += "?MMredirectURL=" + redirectURL + "&MMplayerType=ActiveX" + "&MMdoctitle=" + docTitle + "&baseRelativePath=" + escape(dojoPath);
|
|
|
215 |
swflocEmbed += "?MMredirectURL=" + redirectURL + "&MMplayerType=PlugIn" + "&baseRelativePath=" + escape(dojoPath);
|
|
|
216 |
}
|
|
|
217 |
if (swflocEmbed.indexOf("?") == -1) {
|
|
|
218 |
swflocEmbed += "?baseRelativePath=" + escape(dojoPath) + "' ";
|
|
|
219 |
}
|
|
|
220 |
objectHTML = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" " + "codebase=\"" + this.protocol() + "://fpdownload.macromedia.com/pub/shockwave/cabs/flash/" + "swflash.cab#version=8,0,0,0\" " + "width=\"" + this.width + "\" " + "height=\"" + this.height + "\" " + "id=\"" + this.id + "\" " + "align=\"middle\"> " + "<param name=\"allowScriptAccess\" value=\"sameDomain\" /> " + "<param name=\"movie\" value=\"" + swflocObject + "\" /> " + "<param name=\"quality\" value=\"high\" /> " + "<param name=\"bgcolor\" value=\"#ffffff\" /> " + "<embed src=\"" + swflocEmbed + "' " + "quality=\"high\" " + "bgcolor=\"#ffffff\" " + "width=\"" + this.width + "\" " + "height=\"" + this.height + "\" " + "id=\"" + this.id + "\" " + "name=\"" + this.id + "\" " + "swLiveConnect=\"true\" " + "align=\"middle\" " + "allowScriptAccess=\"sameDomain\" " + "type=\"application/x-shockwave-flash\" " + "pluginspage=\"" + this.protocol() + "://www.macromedia.com/go/getflashplayer\" />" + "</object>";
|
|
|
221 |
}
|
|
|
222 |
objectHTML = "<div id=\"" + this.id + "Container\" style=\"" + containerStyle + "\"> " + objectHTML + "</div>";
|
|
|
223 |
document.writeln(objectHTML);
|
|
|
224 |
}, get:function () {
|
|
|
225 |
return document.getElementById(this.id);
|
|
|
226 |
}, setVisible:function (visible) {
|
|
|
227 |
var container = dojo.byId(this.id + "Container");
|
|
|
228 |
if (visible == true) {
|
|
|
229 |
container.style.visibility = "visible";
|
|
|
230 |
} else {
|
|
|
231 |
container.style.position = "absolute";
|
|
|
232 |
container.style.x = "-1000px";
|
|
|
233 |
container.style.y = "-1000px";
|
|
|
234 |
container.style.visibility = "hidden";
|
|
|
235 |
}
|
|
|
236 |
}, center:function () {
|
|
|
237 |
var elementWidth = this.width;
|
|
|
238 |
var elementHeight = this.height;
|
|
|
239 |
var scroll_offset = dojo.html.getScroll().offset;
|
|
|
240 |
var viewport_size = dojo.html.getViewport();
|
|
|
241 |
var x = scroll_offset.x + (viewport_size.width - elementWidth) / 2;
|
|
|
242 |
var y = scroll_offset.y + (viewport_size.height - elementHeight) / 2;
|
|
|
243 |
var container = dojo.byId(this.id + "Container");
|
|
|
244 |
container.style.top = y + "px";
|
|
|
245 |
container.style.left = x + "px";
|
|
|
246 |
}};
|
|
|
247 |
dojo.flash.Communicator = function () {
|
|
|
248 |
if (dojo.flash.useFlash6()) {
|
|
|
249 |
this._writeFlash6();
|
|
|
250 |
} else {
|
|
|
251 |
if (dojo.flash.useFlash8()) {
|
|
|
252 |
this._writeFlash8();
|
|
|
253 |
}
|
|
|
254 |
}
|
|
|
255 |
};
|
|
|
256 |
dojo.flash.Communicator.prototype = {_writeFlash6:function () {
|
|
|
257 |
var id = dojo.flash.obj.id;
|
|
|
258 |
document.writeln("<script language=\"JavaScript\">");
|
|
|
259 |
document.writeln(" function " + id + "_DoFSCommand(command, args){ ");
|
|
|
260 |
document.writeln(" dojo.flash.comm._handleFSCommand(command, args); ");
|
|
|
261 |
document.writeln("}");
|
|
|
262 |
document.writeln("</script>");
|
|
|
263 |
if (dojo.render.html.ie) {
|
|
|
264 |
document.writeln("<SCRIPT LANGUAGE=VBScript> ");
|
|
|
265 |
document.writeln("on error resume next ");
|
|
|
266 |
document.writeln("Sub " + id + "_FSCommand(ByVal command, ByVal args)");
|
|
|
267 |
document.writeln(" call " + id + "_DoFSCommand(command, args)");
|
|
|
268 |
document.writeln("end sub");
|
|
|
269 |
document.writeln("</SCRIPT> ");
|
|
|
270 |
}
|
|
|
271 |
}, _writeFlash8:function () {
|
|
|
272 |
}, _handleFSCommand:function (command, args) {
|
|
|
273 |
if (command != null && !dojo.lang.isUndefined(command) && /^FSCommand:(.*)/.test(command) == true) {
|
|
|
274 |
command = command.match(/^FSCommand:(.*)/)[1];
|
|
|
275 |
}
|
|
|
276 |
if (command == "addCallback") {
|
|
|
277 |
this._fscommandAddCallback(command, args);
|
|
|
278 |
} else {
|
|
|
279 |
if (command == "call") {
|
|
|
280 |
this._fscommandCall(command, args);
|
|
|
281 |
} else {
|
|
|
282 |
if (command == "fscommandReady") {
|
|
|
283 |
this._fscommandReady();
|
|
|
284 |
}
|
|
|
285 |
}
|
|
|
286 |
}
|
|
|
287 |
}, _fscommandAddCallback:function (command, args) {
|
|
|
288 |
var functionName = args;
|
|
|
289 |
var callFunc = function () {
|
|
|
290 |
return dojo.flash.comm._call(functionName, arguments);
|
|
|
291 |
};
|
|
|
292 |
dojo.flash.comm[functionName] = callFunc;
|
|
|
293 |
dojo.flash.obj.get().SetVariable("_succeeded", true);
|
|
|
294 |
}, _fscommandCall:function (command, args) {
|
|
|
295 |
var plugin = dojo.flash.obj.get();
|
|
|
296 |
var functionName = args;
|
|
|
297 |
var numArgs = parseInt(plugin.GetVariable("_numArgs"));
|
|
|
298 |
var flashArgs = new Array();
|
|
|
299 |
for (var i = 0; i < numArgs; i++) {
|
|
|
300 |
var currentArg = plugin.GetVariable("_" + i);
|
|
|
301 |
flashArgs.push(currentArg);
|
|
|
302 |
}
|
|
|
303 |
var runMe;
|
|
|
304 |
if (functionName.indexOf(".") == -1) {
|
|
|
305 |
runMe = window[functionName];
|
|
|
306 |
} else {
|
|
|
307 |
runMe = eval(functionName);
|
|
|
308 |
}
|
|
|
309 |
var results = null;
|
|
|
310 |
if (!dojo.lang.isUndefined(runMe) && runMe != null) {
|
|
|
311 |
results = runMe.apply(null, flashArgs);
|
|
|
312 |
}
|
|
|
313 |
plugin.SetVariable("_returnResult", results);
|
|
|
314 |
}, _fscommandReady:function () {
|
|
|
315 |
var plugin = dojo.flash.obj.get();
|
|
|
316 |
plugin.SetVariable("fscommandReady", "true");
|
|
|
317 |
}, _call:function (functionName, args) {
|
|
|
318 |
var plugin = dojo.flash.obj.get();
|
|
|
319 |
plugin.SetVariable("_functionName", functionName);
|
|
|
320 |
plugin.SetVariable("_numArgs", args.length);
|
|
|
321 |
for (var i = 0; i < args.length; i++) {
|
|
|
322 |
var value = args[i];
|
|
|
323 |
value = value.replace(/\0/g, "\\0");
|
|
|
324 |
plugin.SetVariable("_" + i, value);
|
|
|
325 |
}
|
|
|
326 |
plugin.TCallLabel("/_flashRunner", "execute");
|
|
|
327 |
var results = plugin.GetVariable("_returnResult");
|
|
|
328 |
results = results.replace(/\\0/g, "\x00");
|
|
|
329 |
return results;
|
|
|
330 |
}, _addExternalInterfaceCallback:function (methodName) {
|
|
|
331 |
var wrapperCall = function () {
|
|
|
332 |
var methodArgs = new Array(arguments.length);
|
|
|
333 |
for (var i = 0; i < arguments.length; i++) {
|
|
|
334 |
methodArgs[i] = arguments[i];
|
|
|
335 |
}
|
|
|
336 |
return dojo.flash.comm._execFlash(methodName, methodArgs);
|
|
|
337 |
};
|
|
|
338 |
dojo.flash.comm[methodName] = wrapperCall;
|
|
|
339 |
}, _encodeData:function (data) {
|
|
|
340 |
var entityRE = /\&([^;]*)\;/g;
|
|
|
341 |
data = data.replace(entityRE, "&$1;");
|
|
|
342 |
data = data.replace(/</g, "<");
|
|
|
343 |
data = data.replace(/>/g, ">");
|
|
|
344 |
data = data.replace("\\", "&custom_backslash;&custom_backslash;");
|
|
|
345 |
data = data.replace(/\n/g, "\\n");
|
|
|
346 |
data = data.replace(/\r/g, "\\r");
|
|
|
347 |
data = data.replace(/\f/g, "\\f");
|
|
|
348 |
data = data.replace(/\0/g, "\\0");
|
|
|
349 |
data = data.replace(/\'/g, "\\'");
|
|
|
350 |
data = data.replace(/\"/g, "\\\"");
|
|
|
351 |
return data;
|
|
|
352 |
}, _decodeData:function (data) {
|
|
|
353 |
if (data == null || typeof data == "undefined") {
|
|
|
354 |
return data;
|
|
|
355 |
}
|
|
|
356 |
data = data.replace(/\&custom_lt\;/g, "<");
|
|
|
357 |
data = data.replace(/\&custom_gt\;/g, ">");
|
|
|
358 |
data = eval("\"" + data + "\"");
|
|
|
359 |
return data;
|
|
|
360 |
}, _chunkArgumentData:function (value, argIndex) {
|
|
|
361 |
var plugin = dojo.flash.obj.get();
|
|
|
362 |
var numSegments = Math.ceil(value.length / 1024);
|
|
|
363 |
for (var i = 0; i < numSegments; i++) {
|
|
|
364 |
var startCut = i * 1024;
|
|
|
365 |
var endCut = i * 1024 + 1024;
|
|
|
366 |
if (i == (numSegments - 1)) {
|
|
|
367 |
endCut = i * 1024 + value.length;
|
|
|
368 |
}
|
|
|
369 |
var piece = value.substring(startCut, endCut);
|
|
|
370 |
piece = this._encodeData(piece);
|
|
|
371 |
plugin.CallFunction("<invoke name=\"chunkArgumentData\" " + "returntype=\"javascript\">" + "<arguments>" + "<string>" + piece + "</string>" + "<number>" + argIndex + "</number>" + "</arguments>" + "</invoke>");
|
|
|
372 |
}
|
|
|
373 |
}, _chunkReturnData:function () {
|
|
|
374 |
var plugin = dojo.flash.obj.get();
|
|
|
375 |
var numSegments = plugin.getReturnLength();
|
|
|
376 |
var resultsArray = new Array();
|
|
|
377 |
for (var i = 0; i < numSegments; i++) {
|
|
|
378 |
var piece = plugin.CallFunction("<invoke name=\"chunkReturnData\" " + "returntype=\"javascript\">" + "<arguments>" + "<number>" + i + "</number>" + "</arguments>" + "</invoke>");
|
|
|
379 |
if (piece == "\"\"" || piece == "''") {
|
|
|
380 |
piece = "";
|
|
|
381 |
} else {
|
|
|
382 |
piece = piece.substring(1, piece.length - 1);
|
|
|
383 |
}
|
|
|
384 |
resultsArray.push(piece);
|
|
|
385 |
}
|
|
|
386 |
var results = resultsArray.join("");
|
|
|
387 |
return results;
|
|
|
388 |
}, _execFlash:function (methodName, methodArgs) {
|
|
|
389 |
var plugin = dojo.flash.obj.get();
|
|
|
390 |
plugin.startExec();
|
|
|
391 |
plugin.setNumberArguments(methodArgs.length);
|
|
|
392 |
for (var i = 0; i < methodArgs.length; i++) {
|
|
|
393 |
this._chunkArgumentData(methodArgs[i], i);
|
|
|
394 |
}
|
|
|
395 |
plugin.exec(methodName);
|
|
|
396 |
var results = this._chunkReturnData();
|
|
|
397 |
results = this._decodeData(results);
|
|
|
398 |
plugin.endExec();
|
|
|
399 |
return results;
|
|
|
400 |
}};
|
|
|
401 |
dojo.flash.Install = function () {
|
|
|
402 |
};
|
|
|
403 |
dojo.flash.Install.prototype = {needed:function () {
|
|
|
404 |
if (dojo.flash.info.capable == false) {
|
|
|
405 |
return true;
|
|
|
406 |
}
|
|
|
407 |
if (dojo.render.os.mac == true && !dojo.flash.info.isVersionOrAbove(8, 0, 0)) {
|
|
|
408 |
return true;
|
|
|
409 |
}
|
|
|
410 |
if (!dojo.flash.info.isVersionOrAbove(6, 0, 0)) {
|
|
|
411 |
return true;
|
|
|
412 |
}
|
|
|
413 |
return false;
|
|
|
414 |
}, install:function () {
|
|
|
415 |
dojo.flash.info.installing = true;
|
|
|
416 |
dojo.flash.installing();
|
|
|
417 |
if (dojo.flash.info.capable == false) {
|
|
|
418 |
var installObj = new dojo.flash.Embed(false);
|
|
|
419 |
installObj.write(8);
|
|
|
420 |
} else {
|
|
|
421 |
if (dojo.flash.info.isVersionOrAbove(6, 0, 65)) {
|
|
|
422 |
var installObj = new dojo.flash.Embed(false);
|
|
|
423 |
installObj.write(8, true);
|
|
|
424 |
installObj.setVisible(true);
|
|
|
425 |
installObj.center();
|
|
|
426 |
} else {
|
|
|
427 |
alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
|
|
|
428 |
window.location.href = +dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
|
|
|
429 |
}
|
|
|
430 |
}
|
|
|
431 |
}, _onInstallStatus:function (msg) {
|
|
|
432 |
if (msg == "Download.Complete") {
|
|
|
433 |
dojo.flash._initialize();
|
|
|
434 |
} else {
|
|
|
435 |
if (msg == "Download.Cancelled") {
|
|
|
436 |
alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
|
|
|
437 |
window.location.href = dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
|
|
|
438 |
} else {
|
|
|
439 |
if (msg == "Download.Failed") {
|
|
|
440 |
alert("There was an error downloading the Flash Player update. " + "Please try again later, or visit macromedia.com to download " + "the latest version of the Flash plugin.");
|
|
|
441 |
}
|
|
|
442 |
}
|
|
|
443 |
}
|
|
|
444 |
}};
|
|
|
445 |
dojo.flash.info = new dojo.flash.Info();
|
|
|
446 |
|