Koha/koha-tmpl/intranet-tmpl/prog/en/lib/yui/swfdetect/swfdetect.js
2009-09-30 11:30:39 +02:00

93 lines
1.9 KiB
JavaScript

/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.8.0r4
*/
/**
* Utility for Flash version detection
* @namespace YAHOO.util
* @module swfdetect
*/
YAHOO.namespace("util");
/**
* Flafh detection utility.
* @class SWFDetect
* @static
*/
(function () {
var version = 0;
var uA = YAHOO.env.ua;
var sF = "ShockwaveFlash";
if (uA.gecko || uA.webkit || uA.opera) {
if ((mF = navigator.mimeTypes['application/x-shockwave-flash'])) {
if ((eP = mF.enabledPlugin)) {
var vS = [];
vS = eP.description.replace(/\s[rd]/g, '.').replace(/[A-Za-z\s]+/g, '').split('.');
version = vS[0] + '.';
switch((vS[2].toString()).length)
{
case 1:
version += "00";
break;
case 2:
version += "0";
break;
}
version += vS[2];
version = parseFloat(version);
}
}
}
else if(uA.ie) {
try
{
var ax6 = new ActiveXObject(sF + "." + sF + ".6");
ax6.AllowScriptAccess = "always";
}
catch(e)
{
if(ax6 != null)
{
version = 6.0;
}
}
if (version == 0) {
try
{
var ax = new ActiveXObject(sF + "." + sF);
var vS = [];
vS = ax.GetVariable("$version").replace(/[A-Za-z\s]+/g, '').split(',');
version = vS[0] + '.';
switch((vS[2].toString()).length)
{
case 1:
version += "00";
break;
case 2:
version += "0";
break;
}
version += vS[2];
version = parseFloat(version);
} catch (e) {}
}
}
uA.flash = version;
YAHOO.util.SWFDetect = {
getFlashVersion : function () {
return version;
},
isFlashVersionAtLeast : function (ver) {
return version >= ver;
}
};
})();
YAHOO.register("swfdetect", YAHOO.util.SWFDetect, {version: "2.8.0r4", build: "2449"});