/* DocumentReady Plug-in This plugin loads SWFUpload as soon as the document is ready. You should not load SWFUpload inside window.onload using this plugin. You can also chain other functions by calling SWFUpload.DocumentReady(your function). Warning: Embedded Ads or other scripts that overwrite window.onload or use their own document ready functions may interfer with this plugin. You should not set window.onload when using this plugin. Usage Example: var swfu = new SWFUpload(your settings object); SWFUpload.DocumentReady(function () { alert('Document Ready!'; }); */ var SWFUpload; if (typeof(SWFUpload) === "function") { // Override iniSWFUpload so SWFUpload gets inited when the document is ready rather than immediately SWFUpload.prototype.initSWFUpload = function (old_initSWFUpload) { return function (init_settings) { var self = this; if (typeof(old_initSWFUpload) === "function") { SWFUpload.DocumentReady(function () { old_initSWFUpload.call(self, init_settings); }); } } }(SWFUpload.prototype.initSWFUpload); // The DocumentReady function adds the passed in function to // the functions that will be executed when the document is ready/loaded SWFUpload.DocumentReady = function (fn) { // Add the function to the chain SWFUpload.DocumentReady.InternalOnloadChain = function (previous_link_fn) { return function () { if (typeof(previous_link_fn) === "function") { previous_link_fn(); } fn(); }; }(SWFUpload.DocumentReady.InternalOnloadChain); }; SWFUpload.DocumentReady.InternalOnloadChain = null; SWFUpload.DocumentReady.Onload = function () { // Execute the onload function chain if (typeof(SWFUpload.DocumentReady.InternalOnloadChain) === "function") { SWFUpload.DocumentReady.InternalOnloadChain(); } }; SWFUpload.DocumentReady.SetupComplete = false; /* ******************************************** This portion of the code gets executed as soon it is loaded. It binds the proper event for executing JavaScript is early as possible. This is a per browser function and so some browser sniffing is used. This solution still has the "exposed" issue (See the Global Delegation section at http://peter.michaux.ca/article/553 ) Base solution from http://dean.edwards.name/weblog/2006/06/again/ and http://dean.edwards.name/weblog/2005/09/busted/ ******************************************** */ if (!SWFUpload.DocumentReady.SetupComplete) { // for Internet Explorer (using conditional comments) /*@cc_on @*/ /*@if (@_win32) document.write("