-1){
+ return true;
+ }
+ }
+ return false;
+ })();
+
+ qtMarkup = function(kwArgs){
+ if(!installed){ return { id: null, markup: getQTMarkup }; }
+
+ kwArgs = prep(kwArgs);
+ if(!kwArgs){ return null; }
+ var s = '';
+ return { id: kwArgs.id, markup: s };
+ }
+ }
+
+ qtVersion = { major: 0, minor: 0, rev: 0 };
+
+ // *** This is an offical kludge, but it seems to work everywhere. Sigh. *************************
+ dojo.addOnLoad(function(){
+ var n = document.createElement("div");
+ n.style.cssText = "top:0;left:0;width:1px;height:1px;overflow:hidden;position:absolute;";
+ var o = qtMarkup({ path: testMovieUrl, width:4, height:4 });
+
+ document.body.appendChild(n);
+ n.innerHTML = o.markup;
+ var qt = (dojo.isIE) ? dojo.byId(o.id) : document[o.id];
+
+ // Let Safari and IE have a moment to init the QT object before trying to query it.
+ setTimeout(function(){
+ var v = [ 0, 0, 0 ];
+ if(qt){
+ try {
+ v = qt.GetQuickTimeVersion().split(".");
+ qtVersion = { major: parseInt(v[0]||0), minor: parseInt(v[1]||0), rev: parseInt(v[2]||0) };
+ } catch(e){
+ qtVersion = { major: 0, minor: 0, rev: 0 };
+ }
+ }
+
+ dojox.av.quicktime.supported = v[0];
+ dojox.av.quicktime.version = qtVersion;
+ if(dojox.av.quicktime.supported){
+ dojox.av.quicktime.onInitialize();
+ }
+
+ // fricking IE. gonna end up leaving the movie in the doc, for some
+ // reason getting an unspecified error when trying to remove it.
+ if(!dojo.isIE){
+ document.body.removeChild(n);
+ } else {
+ // move it out of the way.
+ n.style.top = "-10000px";
+ n.style.visibility="hidden";
+ }
+ }, 10);
+ });
+
+ // *** The public interface. ****************************************************************
+ dojox.av.quicktime={
+ minSupported: 6,
+ available: installed,
+ supported: installed,
+ version: qtVersion,
+ initialized: false,
+ onInitialize: function(){ dojox.av.quicktime.initialized = true; }, // stub function to let you know when this is ready
+
+ place: function(/* DOMElement */node, /* Object */kwArgs){
+ node = dojo.byId(node);
+ var o = qtMarkup(kwArgs);
+ if(o){
+ node.innerHTML = o.markup;
+ if(o.id){
+ return (dojo.isIE)? dojo.byId(o.id) : document[o.id]; // QuickTimeObject
+ }
+ }
+ return null; // QuickTimeObject
+ }
+ };
+})();
+
+}
diff --git a/includes/js/dojox/av/resources/version.mov b/includes/js/dojox/av/resources/version.mov
new file mode 100644
index 0000000..4f2cb73
Binary files /dev/null and b/includes/js/dojox/av/resources/version.mov differ
diff --git a/includes/js/dojox/av/tests/flash.html b/includes/js/dojox/av/tests/flash.html
new file mode 100644
index 0000000..a3bb143
--- /dev/null
+++ b/includes/js/dojox/av/tests/flash.html
@@ -0,0 +1,39 @@
+
+
+ DojoX A/V Flash Detection Test
+
+
+
+
+
+
+ DojoX A/V: Flash detection tests.
+
+ This page is testing the base Flash movie generator.
+
+ Installed Flash version: .
+
+ A movie will be inserted here on load.
+
+
+
diff --git a/includes/js/dojox/av/tests/quicktime.html b/includes/js/dojox/av/tests/quicktime.html
new file mode 100644
index 0000000..48e1426
--- /dev/null
+++ b/includes/js/dojox/av/tests/quicktime.html
@@ -0,0 +1,24 @@
+
+
+ DojoX A/V QuickTime Detection Test
+
+
+
+
+
+
+ DojoX A/V: QuickTime detection tests.
+
+ This page is testing the base QuickTime movie generator. See the Firebug log for details.
+
+ Installed QuickTime version: .
+
+
diff --git a/includes/js/dojox/av/tests/resources/hfp.swf b/includes/js/dojox/av/tests/resources/hfp.swf
new file mode 100644
index 0000000..b878f69
Binary files /dev/null and b/includes/js/dojox/av/tests/resources/hfp.swf differ
--
cgit v1.2.3-54-g00ecf