]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/flash/ExpressInstall.as
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / flash / ExpressInstall.as
diff --git a/static/dojo-release-1.1.1/dojox/flash/ExpressInstall.as b/static/dojo-release-1.1.1/dojox/flash/ExpressInstall.as
new file mode 100644 (file)
index 0000000..1801171
--- /dev/null
@@ -0,0 +1,71 @@
+/**\r
+ * Based on the expressinstall.as class created by Geoff Stearns as part\r
+ * of the FlashObject library.\r
+ *\r
+ * Use this file to invoke the Macromedia Flash Player Express Install functionality\r
+ * This file is intended for use with the FlashObject embed script. You can download FlashObject \r
+ * and this file at the following URL: http://blog.deconcept.com/flashobject/\r
+ *\r
+ * Usage: \r
+ *          var ExpressInstall = new ExpressInstall();\r
+ *          \r
+ *          // test to see if install is needed:\r
+ *          if (ExpressInstall.needsUpdate) { // returns true if update is needed\r
+ *              ExpressInstall.init(); // starts the update\r
+ *          }\r
+ *\r
+ *     NOTE: Your Flash movie must be at least 214px by 137px in order to use ExpressInstall.\r
+ *\r
+ */\r
+\r
+class ExpressInstall{\r
+       public var needsUpdate:Boolean;\r
+       private var updater:MovieClip;\r
+       private var hold:MovieClip;\r
+       \r
+       public function ExpressInstall(){\r
+               // does the user need to update?\r
+               this.needsUpdate = (_root.MMplayerType == undefined) ? false : true;    \r
+       }\r
+\r
+       public function init():Void{\r
+               this.loadUpdater();\r
+       }\r
+\r
+       public function loadUpdater():Void{\r
+               System.security.allowDomain("fpdownload.macromedia.com");\r
+\r
+               // hope that nothing is at a depth of 10000000, you can change this depth if needed, but you want\r
+               // it to be on top of your content if you have any stuff on the first frame\r
+               this.updater = _root.createEmptyMovieClip("expressInstallHolder", 10000000);\r
+\r
+               // register the callback so we know if they cancel or there is an error\r
+               var _self = this;\r
+               this.updater.installStatus = _self.onInstallStatus;\r
+               this.hold = this.updater.createEmptyMovieClip("hold", 1);\r
+\r
+               // can't use movieClipLoader because it has to work in 6.0.65\r
+               this.updater.onEnterFrame = function():Void {\r
+                       if(typeof this.hold.startUpdate == 'function'){\r
+                               _self.initUpdater();\r
+                               this.onEnterFrame = null;\r
+                       }\r
+               }\r
+\r
+               var cacheBuster:Number = Math.random();\r
+\r
+               this.hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/"\r
+                                                                                               +"update/current/swf/autoUpdater.swf?"+ cacheBuster);\r
+       }\r
+\r
+       private function initUpdater():Void{\r
+               this.hold.redirectURL = _root.MMredirectURL;\r
+               this.hold.MMplayerType = _root.MMplayerType;\r
+               this.hold.MMdoctitle = _root.MMdoctitle;\r
+               this.hold.startUpdate();\r
+       }\r
+\r
+       public function onInstallStatus(msg):Void{\r
+               getURL("javascript:dojox.flash.install._onInstallStatus('"+msg+"')");\r
+       }\r
+}\r