aboutsummaryrefslogtreecommitdiff
path: root/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js')
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js191
1 files changed, 191 insertions, 0 deletions
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js
new file mode 100644
index 0000000..cdfc97a
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js
@@ -0,0 +1,191 @@
+PO.M.Debug.OnExpressInstall = 'PluginObject: Flash Player version "%ver%" is outdated. Version "%verreq%" is required. Running express install.';
+PO.L.Flash = {
+
+ options: {
+ upgrade_url : 'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',
+ class_id : 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000',
+ codebase : 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0',
+ mime_type : 'application/x-shockwave-flash',
+ quality : 'high',
+ bgcolor : null,
+ bgcolour : null,
+ use_express_install : false,
+ do_express_install : false,
+ express_install_swf : 'plugins/flash/expressinstall.swf'
+ },
+
+ variables: {}, // these are flashvars
+
+// best docs
+// http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701
+ params: {
+// swliveconnect : false,
+// play : true,
+// loop : false,
+// menu : true,
+// quality : 'high',
+// scale : 'showall',
+// align : null,
+// salign : 'tl',
+// wmode : 'window',
+// bgcolor : null,
+// base : ''
+ },
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.Flash.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.Flash.params);
+ o.variables = PO.U.merge(o.variables || {}, PO.L.Flash.variables);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.Flash.attributes);
+
+ if(o.do_express_install)
+ {
+ o.params.MMplayerType = PO.U.Browser.IE ? 'Active-X' : 'Plugin';
+ if(PO.U.Browser.IE)
+ {
+ o.params.wmode = 'transparent';
+// to complete <------------------------------------------------------------------------------
+ }
+ }
+
+ var v = [];
+ for(var a in o.variables)
+ {
+ v.push(a+'='+escape(o.variables[a]));
+ }
+ if(v.length) o.params.flashvars = v.join('&');
+
+ if(!o.params.bgcolor)
+ {
+ var bg = o.bgcolour ? o.bgcolour : (o.bgcolor ? o.bgcolor : false);
+ if(bg) o.params.bgcolor = bg;
+ }
+ o.params.quality = o.quality;
+
+ return new PO.ObjectEmbed(src, o, PO.L.Flash, p);
+ },
+
+ _express_install_active: false,
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+// most of this is lifted/adapted directly from swfobject methods
+// SWFObject v2.0 rc1 <http://code.google.com/p/swfobject/>
+// Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+ if(PO.L.Flash._installed_version) return PO.L.Flash._installed_version;
+ var pv = new PO.U.PlayerVersion([0, 0, 0]), ma, mi, rev, d, pva;
+ if (typeof navigator.plugins != 'undefined' && typeof navigator.plugins['Shockwave Flash'] == 'object')
+ {
+ d = navigator.plugins['Shockwave Flash'].description;
+ if (d)
+ {
+ d = d.replace(/^.*\s+(\S+\s+\S+$)/, '$1');
+ ma = parseInt(d.replace(/^(.*)\..*$/, '$1'), 10);
+ min = parseInt(d.replace(/^.*\.(.*)\s.*$/, '$1'), 10);
+ rev = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, '$1'), 10) : 0;
+ pv = new PO.U.PlayerVersion([ma, mi, rev]);
+ }
+ }
+ else if (typeof window.ActiveXObject != 'undefined')
+ {
+ var a = null, fp6_crash = false;
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.7');
+ }
+ catch(e)
+ {
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
+ pva = [6,0,21];
+ a.AllowScriptAccess = 'always'; // Introduced in fp6.0.47
+ }
+ catch(e)
+ {
+ if (pva[0] == 6)
+ {
+ fp6_crash = true;
+ }
+ }
+ if (!fp6_crash)
+ {
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
+ }
+ catch(e) {}
+ }
+ }
+ if (!fp6_crash && typeof a == 'object')
+ {
+ try
+ {
+ d = a.GetVariable('$version');
+ if (d)
+ {
+ d = d.split(' ')[1].split(',');
+ pva = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+ }
+ }
+ catch(e) {}
+ }
+ pv = new PO.U.PlayerVersion(pva);
+ }
+ PO.L.Flash._installed_version = pv;
+
+ if(pv.ma == 8 && PO.U.Platform.Win)
+ {
+// again copied/adapted from swfobject, see credits above
+ window.attachEvent('onunload', function ()
+ {
+ var o = document.getElementsByTagName('object');
+ if (o)
+ {
+ var ol = o.length;
+ for (var i = 0; i < ol; i++)
+ {
+ o[i].style.display = 'none';
+ for (var x in o[i])
+ {
+ if (typeof o[i][x] == 'function') o[i][x] = function() {};
+ }
+ }
+ }
+ });
+ }
+ if(!pv.validate(rv) && o.use_express_install && pv.validate(new PO.U.PlayerVersion([6,0,65])) && (PO.U.Platform.Win || PO.U.Platform.Apple))
+ {
+// again copied/adapted from swfobject, see credits above
+ PO.L.Flash._express_install_active = true;
+ PO.M.call(PO.M.Debug.OnExpressInstall, {ver:pv.toString(), verreq:rv.toString()}, 'd');
+// if(!o.force_into_id)
+// {
+// h = '<div id="PO_Wrapper_'+this._id+'">'+h+'</div>';
+// }
+ return -1;
+ }
+ return pv;
+ },
+
+ expressInstallCallback: function()
+ {
+// again copied/adapted from swfobject, see credits above
+ if (PO.L.Flash._express_install_active && storedAltContent)
+ {
+ var obj = document.getElementById('SWFObjectExprInst');
+ if (obj)
+ {
+ obj.parentNode.replaceChild(storedAltContent, obj);
+ storedAltContent = null;
+ PO.L.Flash._express_install_active = false;
+ }
+ }
+ }
+};
+// for use with the swfobject express install so simple swaps can be made.
+swfobject = { expressInstallCallback: PO.Plugins.Flash.expressInstallCallback };
+PO.Plugins.Flash.loaded = 1;