]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blobdiff - wradmin/static/yui/uploader/uploader.js
Remove yui.
[philipp/winterrodeln/wradmin.git] / wradmin / static / yui / uploader / uploader.js
diff --git a/wradmin/static/yui/uploader/uploader.js b/wradmin/static/yui/uploader/uploader.js
deleted file mode 100644 (file)
index 674a68b..0000000
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-/*extern ActiveXObject, __flash_unloadHandler, __flash_savedUnloadHandler */
-/*!
- * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
- *
- * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
- * http://www.opensource.org/licenses/mit-license.php
- * @namespace YAHOO
- */
-
-YAHOO.namespace("deconcept"); 
-       
-YAHOO.deconcept = YAHOO.deconcept || {};
-
-if(typeof YAHOO.deconcept.util == "undefined" || !YAHOO.deconcept.util)
-{
-       YAHOO.deconcept.util = {};
-}
-
-if(typeof YAHOO.deconcept.SWFObjectUtil == "undefined" || !YAHOO.deconcept.SWFObjectUtil)
-{
-       YAHOO.deconcept.SWFObjectUtil = {};
-}
-
-YAHOO.deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey)
-{
-       if(!document.getElementById) { return; }
-       this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
-       this.skipDetect = YAHOO.deconcept.util.getRequestParameter(this.DETECT_KEY);
-       this.params = {};
-       this.variables = {};
-       this.attributes = [];
-       if(swf) { this.setAttribute('swf', swf); }
-       if(id) { this.setAttribute('id', id); }
-       if(w) { this.setAttribute('width', w); }
-       if(h) { this.setAttribute('height', h); }
-       if(ver) { this.setAttribute('version', new YAHOO.deconcept.PlayerVersion(ver.toString().split("."))); }
-       this.installedVer = YAHOO.deconcept.SWFObjectUtil.getPlayerVersion();
-       if (!window.opera && document.all && this.installedVer.major > 7)
-       {
-               // only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE
-               YAHOO.deconcept.SWFObject.doPrepUnload = true;
-       }
-       if(c)
-       {
-               this.addParam('bgcolor', c);
-       }
-       var q = quality ? quality : 'high';
-       this.addParam('quality', q);
-       this.setAttribute('useExpressInstall', false);
-       this.setAttribute('doExpressInstall', false);
-       var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
-       this.setAttribute('xiRedirectUrl', xir);
-       this.setAttribute('redirectUrl', '');
-       if(redirectUrl)
-       {
-               this.setAttribute('redirectUrl', redirectUrl);
-       }
-};
-
-YAHOO.deconcept.SWFObject.prototype =
-{
-       useExpressInstall: function(path)
-       {
-               this.xiSWFPath = !path ? "expressinstall.swf" : path;
-               this.setAttribute('useExpressInstall', true);
-       },
-       setAttribute: function(name, value){
-               this.attributes[name] = value;
-       },
-       getAttribute: function(name){
-               return this.attributes[name];
-       },
-       addParam: function(name, value){
-               this.params[name] = value;
-       },
-       getParams: function(){
-               return this.params;
-       },
-       addVariable: function(name, value){
-               this.variables[name] = value;
-       },
-       getVariable: function(name){
-               return this.variables[name];
-       },
-       getVariables: function(){
-               return this.variables;
-       },
-       getVariablePairs: function(){
-               var variablePairs = [];
-               var key;
-               var variables = this.getVariables();
-               for(key in variables)
-               {
-                       if(variables.hasOwnProperty(key))
-                       {
-                               variablePairs[variablePairs.length] = key +"="+ variables[key];
-                       }
-               }
-               return variablePairs;
-       },
-       getSWFHTML: function() {
-               var swfNode = "";
-               var params = {};
-               var key = "";
-               var pairs = "";
-               if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
-                       if (this.getAttribute("doExpressInstall")) {
-                               this.addVariable("MMplayerType", "PlugIn");
-                               this.setAttribute('swf', this.xiSWFPath);
-                       }
-                       swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'"';
-                       swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
-                       params = this.getParams();
-                       for(key in params)
-                       {
-                               if(params.hasOwnProperty(key))
-                               {
-                                       swfNode += [key] +'="'+ params[key] +'" ';
-                               }
-                       }
-                       pairs = this.getVariablePairs().join("&");
-                       if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
-                       swfNode += '/>';
-               } else { // PC IE
-                       if (this.getAttribute("doExpressInstall")) {
-                               this.addVariable("MMplayerType", "ActiveX");
-                               this.setAttribute('swf', this.xiSWFPath);
-                       }
-                       swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'">';
-                       swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
-                       params = this.getParams();
-                       for(key in params)
-                       {
-                               if(params.hasOwnProperty(key))
-                               {
-                                       swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
-                               }
-                       }
-                       pairs = this.getVariablePairs().join("&");
-                       if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
-                       swfNode += "</object>";
-               }
-               return swfNode;
-       },
-       write: function(elementId)
-       {
-               if(this.getAttribute('useExpressInstall')) {
-                       // check to see if we need to do an express install
-                       var expressInstallReqVer = new YAHOO.deconcept.PlayerVersion([6,0,65]);
-                       if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
-                               this.setAttribute('doExpressInstall', true);
-                               this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
-                               document.title = document.title.slice(0, 47) + " - Flash Player Installation";
-                               this.addVariable("MMdoctitle", document.title);
-                       }
-               }
-               if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version')))
-               {
-                       var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
-                       n.innerHTML = this.getSWFHTML();
-                       return true;
-               }
-               else
-               {
-                       if(this.getAttribute('redirectUrl') !== "")
-                       {
-                               document.location.replace(this.getAttribute('redirectUrl'));
-                       }
-               }
-               return false;
-       }
-};
-
-/* ---- detection functions ---- */
-YAHOO.deconcept.SWFObjectUtil.getPlayerVersion = function()
-{
-       var axo = null;
-       var PlayerVersion = new YAHOO.deconcept.PlayerVersion([0,0,0]);
-       if(navigator.plugins && navigator.mimeTypes.length)
-       {
-               var x = navigator.plugins["Shockwave Flash"];
-               if(x && x.description)
-               {
-                       PlayerVersion = new YAHOO.deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
-               }
-       }
-       else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0)
-       { // if Windows CE
-               var counter = 3;
-               while(axo)
-               {
-                       try
-                       {
-                               counter++;
-                               axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
-//                             document.write("player v: "+ counter);
-                               PlayerVersion = new YAHOO.deconcept.PlayerVersion([counter,0,0]);
-                       }
-                       catch(e)
-                       {
-                               axo = null;
-                       }
-               }
-       }
-       else
-       { // Win IE (non mobile)
-               // do minor version lookup in IE, but avoid fp6 crashing issues
-               // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
-               try
-               {
-                       axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
-               }
-               catch(e)
-               {
-                       try
-                       {
-                               axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
-                               PlayerVersion = new YAHOO.deconcept.PlayerVersion([6,0,21]);
-                               axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
-                       }
-                       catch(e)
-                       {
-                               if(PlayerVersion.major == 6)
-                               {
-                                       return PlayerVersion;
-                               }
-                       }
-                       try
-                       {
-                               axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
-                       }
-                       catch(e) {}
-               }
-               
-               if(axo !== null)
-               {
-                       PlayerVersion = new YAHOO.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
-               }
-       }
-       return PlayerVersion;
-};
-
-YAHOO.deconcept.PlayerVersion = function(arrVersion)
-{
-       this.major = arrVersion[0] !== null ? parseInt(arrVersion[0], 0) : 0;
-       this.minor = arrVersion[1] !== null ? parseInt(arrVersion[1], 0) : 0;
-       this.rev = arrVersion[2] !== null ? parseInt(arrVersion[2], 0) : 0;
-};
-
-YAHOO.deconcept.PlayerVersion.prototype.versionIsValid = function(fv)
-{
-       if(this.major < fv.major)
-       {
-               return false;
-       }
-       if(this.major > fv.major)
-       {
-               return true;
-       }
-       if(this.minor < fv.minor)
-       {
-               return false;
-       }
-       if(this.minor > fv.minor)
-       {
-               return true;
-       }
-       if(this.rev < fv.rev)
-       {
-               return false;
-       }
-       return true;
-};
-
-/* ---- get value of query string param ---- */
-YAHOO.deconcept.util =
-{
-       getRequestParameter: function(param)
-       {
-               var q = document.location.search || document.location.hash;
-               if(param === null) { return q; }
-               if(q)
-               {
-                       var pairs = q.substring(1).split("&");
-                       for(var i=0; i < pairs.length; i++)
-                       {
-                               if (pairs[i].substring(0, pairs[i].indexOf("=")) == param)
-                               {
-                                       return pairs[i].substring((pairs[i].indexOf("=") + 1));
-                               }
-                       }
-               }
-               return "";
-       }
-};
-
-/* fix for video streaming bug */
-YAHOO.deconcept.SWFObjectUtil.cleanupSWFs = function()
-{
-       var objects = document.getElementsByTagName("OBJECT");
-       for(var i = objects.length - 1; i >= 0; i--)
-       {
-               objects[i].style.display = 'none';
-               for(var x in objects[i])
-               {
-                       if(typeof objects[i][x] == 'function')
-                       {
-                               objects[i][x] = function(){};
-                       }
-               }
-       }
-};
-
-// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
-if(YAHOO.deconcept.SWFObject.doPrepUnload)
-{
-       if(!YAHOO.deconcept.unloadSet)
-       {
-               YAHOO.deconcept.SWFObjectUtil.prepUnload = function()
-               {
-                       __flash_unloadHandler = function(){};
-                       __flash_savedUnloadHandler = function(){};
-                       window.attachEvent("onunload", YAHOO.deconcept.SWFObjectUtil.cleanupSWFs);
-               };
-               window.attachEvent("onbeforeunload", YAHOO.deconcept.SWFObjectUtil.prepUnload);
-               YAHOO.deconcept.unloadSet = true;
-       }
-}
-
-/* add document.getElementById if needed (mobile IE < 5) */
-if(!document.getElementById && document.all)
-{
-       document.getElementById = function(id) { return document.all[id]; };
-}
-/**
- * Wraps Flash embedding functionality and allows communication with SWF through
- * attributes.
- *
- * @namespace YAHOO.widget
- * @class FlashAdapter
- * @uses YAHOO.util.AttributeProvider
- */
-YAHOO.widget.FlashAdapter = function(swfURL, containerID, attributes, buttonSkin)
-{
-       
-       this._queue = this._queue || [];
-       this._events = this._events || {};
-       this._configs = this._configs || {};
-       attributes = attributes || {};
-       
-       //the Flash Player external interface code from Adobe doesn't play nicely
-       //with the default value, yui-gen, in IE
-       this._id = attributes.id = attributes.id || YAHOO.util.Dom.generateId(null, "yuigen");
-       attributes.version = attributes.version || "9.0.45";
-       attributes.backgroundColor = attributes.backgroundColor || "#ffffff";
-       
-       //we can't use the initial attributes right away
-       //so save them for once the SWF finishes loading
-       this._attributes = attributes;
-       
-       this._swfURL = swfURL;
-       this._containerID = containerID;
-       
-       //embed the SWF file in the page
-       this._embedSWF(this._swfURL, this._containerID, attributes.id, attributes.version,
-               attributes.backgroundColor, attributes.expressInstall, attributes.wmode, buttonSkin);
-       
-       /**
-        * Fires when the SWF is initialized and communication is possible.
-        * @event contentReady
-        */
-       //Fix for iframe cross-domain issue with FF2x 
-       try
-       {
-               this.createEvent("contentReady");
-       }
-       catch(e){}
-};
-
-YAHOO.widget.FlashAdapter.owners = YAHOO.widget.FlashAdapter.owners || {};
-
-YAHOO.extend(YAHOO.widget.FlashAdapter, YAHOO.util.AttributeProvider,
-{
-       /**
-        * The URL of the SWF file.
-        * @property _swfURL
-        * @type String
-        * @private
-        */
-       _swfURL: null,
-
-       /**
-        * The ID of the containing DIV.
-        * @property _containerID
-        * @type String
-        * @private
-        */
-       _containerID: null,
-
-       /**
-        * A reference to the embedded SWF file.
-        * @property _swf
-        * @private
-        */
-       _swf: null,
-
-       /**
-        * The id of this instance.
-        * @property _id
-        * @type String
-        * @private
-        */
-       _id: null,
-
-       /**
-        * Indicates whether the SWF has been initialized and is ready
-        * to communicate with JavaScript
-        * @property _initialized
-        * @type Boolean
-        * @private
-        */
-       _initialized: false,
-       
-       /**
-        * The initializing attributes are stored here until the SWF is ready.
-        * @property _attributes
-        * @type Object
-        * @private
-        */
-       _attributes: null, //the intializing attributes
-
-       /**
-        * Public accessor to the unique name of the FlashAdapter instance.
-        *
-        * @method toString
-        * @return {String} Unique name of the FlashAdapter instance.
-        */
-       toString: function()
-       {
-               return "FlashAdapter " + this._id;
-       },
-
-       /**
-        * Nulls out the entire FlashAdapter instance and related objects and removes attached
-        * event listeners and clears out DOM elements inside the container. After calling
-        * this method, the instance reference should be expliclitly nulled by implementer,
-        * as in myChart = null. Use with caution!
-        *
-        * @method destroy
-        */
-       destroy: function()
-       {
-               //kill the Flash Player instance
-               if(this._swf)
-               {
-                       var container = YAHOO.util.Dom.get(this._containerID);
-                       container.removeChild(this._swf);
-               }
-               
-               var instanceName = this._id;
-               
-               //null out properties
-               for(var prop in this)
-               {
-                       if(YAHOO.lang.hasOwnProperty(this, prop))
-                       {
-                               this[prop] = null;
-                       }
-               }
-               
-       },
-
-       /**
-        * Embeds the SWF in the page and associates it with this instance.
-        *
-        * @method _embedSWF
-        * @private
-        */
-       _embedSWF: function(swfURL, containerID, swfID, version, backgroundColor, expressInstall, wmode, buttonSkin)
-       {
-               //standard SWFObject embed
-               var swfObj = new YAHOO.deconcept.SWFObject(swfURL, swfID, "100%", "100%", version, backgroundColor);
-
-               if(expressInstall)
-               {
-                       swfObj.useExpressInstall(expressInstall);
-               }
-
-               //make sure we can communicate with ExternalInterface
-               swfObj.addParam("allowScriptAccess", "always");
-               
-               if(wmode)
-               {
-                       swfObj.addParam("wmode", wmode);
-               }
-               
-               swfObj.addParam("menu", "false");
-               
-               //again, a useful ExternalInterface trick
-               swfObj.addVariable("allowedDomain", document.location.hostname);
-
-               //tell the SWF which HTML element it is in
-               swfObj.addVariable("elementID", swfID);
-
-               // set the name of the function to call when the swf has an event
-               swfObj.addVariable("eventHandler", "YAHOO.widget.FlashAdapter.eventHandler");
-               if (buttonSkin) {
-               swfObj.addVariable("buttonSkin", buttonSkin);
-               }
-               var container = YAHOO.util.Dom.get(containerID);
-               var result = swfObj.write(container);
-               if(result)
-               {
-                       this._swf = YAHOO.util.Dom.get(swfID);
-                       YAHOO.widget.FlashAdapter.owners[swfID] = this;
-               }
-               else
-               {
-               }
-       },
-
-       /**
-        * Handles or re-dispatches events received from the SWF.
-        *
-        * @method _eventHandler
-        * @private
-        */
-       _eventHandler: function(event)
-       {
-               var type = event.type;
-               switch(type)
-               {
-                       case "swfReady":
-                               this._loadHandler();
-                               return;
-                       case "log":
-                               return;
-               }
-               
-               
-               //be sure to return after your case or the event will automatically fire!
-               this.fireEvent(type, event);
-       },
-
-       /**
-        * Called when the SWF has been initialized.
-        *
-        * @method _loadHandler
-        * @private
-        */
-       _loadHandler: function()
-       {
-               this._initialized = false;
-               this._initAttributes(this._attributes);
-               this.setAttributes(this._attributes, true);
-               
-               this._initialized = true;
-               this.fireEvent("contentReady");
-       },
-       
-       set: function(name, value)
-       {
-               //save all the attributes in case the swf reloads
-               //so that we can pass them in again
-               this._attributes[name] = value;
-               YAHOO.widget.FlashAdapter.superclass.set.call(this, name, value);
-       },
-       
-       /**
-        * Initializes the attributes.
-        *
-        * @method _initAttributes
-        * @private
-        */
-       _initAttributes: function(attributes)
-       {
-               //should be overridden if other attributes need to be set up
-
-               /**
-                * @attribute wmode
-                * @description Sets the window mode of the Flash Player control. May be
-                *              "window", "opaque", or "transparent". Only available in the constructor
-                *              because it may not be set after Flash Player has been embedded in the page.
-                * @type String
-                */
-                
-               /**
-                * @attribute expressInstall
-                * @description URL pointing to a SWF file that handles Flash Player's express
-                *              install feature. Only available in the constructor because it may not be
-                *              set after Flash Player has been embedded in the page.
-                * @type String
-                */
-
-               /**
-                * @attribute version
-                * @description Minimum required version for the SWF file. Only available in the constructor because it may not be
-                *              set after Flash Player has been embedded in the page.
-                * @type String
-                */
-
-               /**
-                * @attribute backgroundColor
-                * @description The background color of the SWF. Only available in the constructor because it may not be
-                *              set after Flash Player has been embedded in the page.
-                * @type String
-                */
-                
-               /**
-                * @attribute altText
-                * @description The alternative text to provide for screen readers and other assistive technology.
-                * @type String
-                */
-               this.getAttributeConfig("altText",
-               {
-                       method: this._getAltText
-               });
-               this.setAttributeConfig("altText",
-               {
-                       method: this._setAltText
-               });
-               
-               /**
-                * @attribute swfURL
-                * @description Absolute or relative URL to the SWF displayed by the FlashAdapter. Only available in the constructor because it may not be
-                *              set after Flash Player has been embedded in the page.
-                * @type String
-                */
-               this.getAttributeConfig("swfURL",
-               {
-                       method: this._getSWFURL
-               });
-       },
-       
-       /**
-        * Getter for swfURL attribute.
-        *
-        * @method _getSWFURL
-        * @private
-        */
-       _getSWFURL: function()
-       {
-               return this._swfURL;
-       },
-       
-       /**
-        * Getter for altText attribute.
-        *
-        * @method _getAltText
-        * @private
-        */
-       _getAltText: function()
-       {
-               return this._swf.getAltText();
-       },
-
-       /**
-        * Setter for altText attribute.
-        *
-        * @method _setAltText
-        * @private
-        */
-       _setAltText: function(value)
-       {
-               return this._swf.setAltText(value);
-       }
-});
-
-
-/**
- * Receives event messages from SWF and passes them to the correct instance
- * of FlashAdapter.
- *
- * @method YAHOO.widget.FlashAdapter.eventHandler
- * @static
- * @private
- */
-YAHOO.widget.FlashAdapter.eventHandler = function(elementID, event)
-{
-
-       if(!YAHOO.widget.FlashAdapter.owners[elementID])
-       {
-               //fix for ie: if owner doesn't exist yet, try again in a moment
-               setTimeout(function() { YAHOO.widget.FlashAdapter.eventHandler( elementID, event ); }, 0);
-       }
-       else
-       {
-               YAHOO.widget.FlashAdapter.owners[elementID]._eventHandler(event);
-       }
-};
-
-/**
- * The number of proxy functions that have been created.
- * @static
- * @private
- */
-YAHOO.widget.FlashAdapter.proxyFunctionCount = 0;
-
-/**
- * Creates a globally accessible function that wraps a function reference.
- * Returns the proxy function's name as a string for use by the SWF through
- * ExternalInterface.
- *
- * @method YAHOO.widget.FlashAdapter.createProxyFunction
- * @static
- * @private
- */
-YAHOO.widget.FlashAdapter.createProxyFunction = function(func)
-{
-       var index = YAHOO.widget.FlashAdapter.proxyFunctionCount;
-       YAHOO.widget.FlashAdapter["proxyFunction" + index] = function()
-       {
-               return func.apply(null, arguments);
-       };
-       YAHOO.widget.FlashAdapter.proxyFunctionCount++;
-       return "YAHOO.widget.FlashAdapter.proxyFunction" + index.toString();
-};
-
-/**
- * Removes a function created with createProxyFunction()
- * 
- * @method YAHOO.widget.FlashAdapter.removeProxyFunction
- * @static
- * @private
- */
-YAHOO.widget.FlashAdapter.removeProxyFunction = function(funcName)
-{
-       //quick error check
-       if(!funcName || funcName.indexOf("YAHOO.widget.FlashAdapter.proxyFunction") < 0)
-       {
-               return;
-       }
-       
-       funcName = funcName.substr(26);
-       YAHOO.widget.FlashAdapter[funcName] = null;
-};
-/**
- * The YUI Uploader Control
- * @module uploader
- * @description <p>YUI Uploader provides file upload functionality that goes beyond the basic browser-based methods. 
- * Specifically, the YUI Uploader allows for:
- * <ol>
- * <li> Multiple file selection in a single "Open File" dialog.</li>
- * <li> File extension filters to facilitate the user's selection.</li>
- * <li> Progress tracking for file uploads.</li>
- * <li> A range of file metadata: filename, size, date created, date modified, and author.</li>
- * <li> A set of events dispatched on various aspects of the file upload process: file selection, upload progress, upload completion, etc.</li>
- * <li> Inclusion of additional data in the file upload POST request.</li>
- * <li> Faster file upload on broadband connections due to the modified SEND buffer size.</li>
- * <li> Same-page server response upon completion of the file upload.</li>
- * </ol>
- * </p>
- * @title Uploader
- * @namespace YAHOO.widget
- * @requires yahoo, dom, element, event
- */
-/**
- * Uploader class for the YUI Uploader component.
- *
- * @namespace YAHOO.widget
- * @class Uploader
- * @uses YAHOO.widget.FlashAdapter
- * @constructor
- * @param containerId {HTMLElement} Container element for the Flash Player instance.
- * @param buttonSkin {String} [optional]. If defined, the uploader is 
- * rendered as a button. This parameter must provide the URL of a button
- * skin sprite image. Acceptable types are: jpg, gif, png and swf. The 
- * sprite is divided evenly into four sections along its height (e.g., if
- * the sprite is 200 px tall, it's divided into four sections 50px each).
- * Each section is used as a skin for a specific state of the button: top
- * section is "up", second section is "over", third section is "down", and
- * fourth section is "disabled". 
- * If the parameter is not supplied, the uploader is rendered transparent,
- * and it's the developer's responsibility to create a visible UI below it.
- * @param forceTransparent {Boolean} This parameter, if true, forces the Flash
- * UI to be rendered with wmode set to "transparent". This behavior is useful 
- * in conjunction with non-rectangular button skins with PNG transparency. 
- * The parameter is false by default, and ignored if no buttonSkin is defined.
-  */
-YAHOO.widget.Uploader = function(containerId, buttonSkin, forceTransparent)
-{
-       var newWMode = "window";
-
-       if (!(buttonSkin) || (buttonSkin && forceTransparent)) {
-               newWMode = "transparent";
-       }
-
-       
-       YAHOO.widget.Uploader.superclass.constructor.call(this, YAHOO.widget.Uploader.SWFURL, containerId, {wmode:newWMode}, buttonSkin);
-
-       /**
-        * Fires when the mouse is pressed over the Uploader.
-        * Only fires when the Uploader UI is enabled and
-        * the render type is 'transparent'.
-        *
-        * @event mouseDown
-        * @param event.type {String} The event type
-        */
-       this.createEvent("mouseDown");
-       
-       /**
-        * Fires when the mouse is released over the Uploader.
-        * Only fires when the Uploader UI is enabled and
-        * the render type is 'transparent'.
-        *
-        * @event mouseUp
-        * @param event.type {String} The event type
-        */
-       this.createEvent("mouseUp");
-
-       /**
-        * Fires when the mouse rolls over the Uploader.
-        *
-        * @event rollOver
-        * @param event.type {String} The event type
-        */
-       this.createEvent("rollOver");
-       
-       /**
-        * Fires when the mouse rolls out of the Uploader.
-        *
-        * @event rollOut
-        * @param event.type {String} The event type
-        */
-       this.createEvent("rollOut");
-       
-       /**
-        * Fires when the uploader is clicked.
-        *
-        * @event click
-        * @param event.type {String} The event type
-        */
-       this.createEvent("click");
-       
-       /**
-        * Fires when the user has finished selecting files in the "Open File" dialog.
-        *
-        * @event fileSelect
-        * @param event.type {String} The event type
-        * @param event.fileList {Object} A dictionary of objects with file information
-        * @param event.fileList[].size {Number} File size in bytes for a specific file in fileList
-        * @param event.fileList[].cDate {Date} Creation date for a specific file in fileList
-        * @param event.fileList[].mDate {Date} Modification date for a specific file in fileList
-        * @param event.fileList[].name {String} File name for a specific file in fileList
-        * @param event.fileList[].id {String} Unique file id of a specific file in fileList
-        */
-       this.createEvent("fileSelect");
-
-       /**
-        * Fires when an upload of a specific file has started.
-        *
-        * @event uploadStart
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file that's started to upload
-        */
-       this.createEvent("uploadStart");
-
-       /**
-        * Fires when new information about the upload progress for a specific file is available.
-        *
-        * @event uploadProgress
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file with which the upload progress data is associated
-        * @param bytesLoaded {Number} The number of bytes of the file uploaded so far
-        * @param bytesTotal {Number} The total size of the file
-        */
-       this.createEvent("uploadProgress");
-       
-       /**
-        * Fires when an upload for a specific file is cancelled.
-        *
-        * @event uploadCancel
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file with which the upload has been cancelled.
-        */     
-       this.createEvent("uploadCancel");
-
-       /**
-        * Fires when an upload for a specific file is complete.
-        *
-        * @event uploadComplete
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file for which the upload has been completed.
-        */     
-       this.createEvent("uploadComplete");
-
-       /**
-        * Fires when the server sends data in response to a completed upload.
-        *
-        * @event uploadCompleteData
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file for which the upload has been completed.
-        * @param event.data {String} The raw data returned by the server in response to the upload.
-        */     
-       this.createEvent("uploadCompleteData");
-       
-       /**
-        * Fires when an upload error occurs.
-        *
-        * @event uploadError
-        * @param event.type {String} The event type
-        * @param event.id {String} The id of the file that was being uploaded when the error has occurred.
-        * @param event.status {String} The status message associated with the error.
-        */     
-       this.createEvent("uploadError");
-}
-
-/**
- * Location of the Uploader SWF
- *
- * @property Chart.SWFURL
- * @private
- * @static
- * @final
- * @default "assets/uploader.swf"
- */
-YAHOO.widget.Uploader.SWFURL = "assets/uploader.swf";
-
-YAHOO.extend(YAHOO.widget.Uploader, YAHOO.widget.FlashAdapter,
-{      
-/**
- * Starts the upload of the file specified by fileID to the location specified by uploadScriptPath.
- *
- * @param fileID {String} The id of the file to start uploading.
- * @param uploadScriptPath {String} The URL of the upload location.
- * @param method {String} Either "GET" or "POST", specifying how the variables accompanying the file upload POST request should be submitted. "GET" by default.
- * @param vars {Object} The object containing variables to be sent in the same request as the file upload.
- * @param fieldName {String} The name of the variable in the POST request containing the file data. "Filedata" by default.
- * </code> 
- */
-       upload: function(fileID, uploadScriptPath, method, vars, fieldName)
-       {
-               this._swf.upload(fileID, uploadScriptPath, method, vars, fieldName);
-       },
-       
-/**
- * Starts uploading all files in the queue. If this function is called, the upload queue is automatically managed.
- *
- * @param uploadScriptPath {String} The URL of the upload location.
- * @param method {String} Either "GET" or "POST", specifying how the variables accompanying the file upload POST request should be submitted. "GET" by default.
- * @param vars {Object} The object containing variables to be sent in the same request as the file upload.
- * @param fieldName {String} The name of the variable in the POST request containing the file data. "Filedata" by default.
- * </code> 
- */
-       uploadAll: function(uploadScriptPath, method, vars, fieldName)
-       {
-               this._swf.uploadAll(uploadScriptPath, method, vars, fieldName);
-       },
-
-/**
- * Cancels the upload of a specified file. If no file id is specified, all ongoing uploads are cancelled.
- *
- * @param fileID {String} The ID of the file whose upload should be cancelled.
- */
-       cancel: function(fileID)
-       {
-               this._swf.cancel(fileID);
-       },
-
-/**
- * Clears the list of files queued for upload.
- *
- */
-       clearFileList: function()
-       {
-               this._swf.clearFileList();
-       },
-       
-/**
- * Removes the specified file from the upload queue. 
- *
- * @param fileID {String} The id of the file to remove from the upload queue. 
- */
-       removeFile: function (fileID) 
-       {
-               this._swf.removeFile(fileID);
-       },
-
-/**
- * Turns the logging functionality on.
- * Uses Flash internal trace logging, as well as YUI Logger, if available.
- *
- * @param allowLogging {Boolean} If true, logs are output; otherwise, no logs are produced.
- */
-    setAllowLogging: function (allowLogging)
-    {
-       this._swf.setAllowLogging(allowLogging);
-    },
-
-/**
- * Sets the number of simultaneous uploads when using uploadAll()
- * The minimum value is 1, and maximum value is 5. The default value is 2.
- *
- * @param simUploadLimit {int} Number of simultaneous uploads, between 1 and 5.
- */
-    setSimUploadLimit : function (simUploadLimit)
-    {
-       this._swf.setSimUploadLimit(simUploadLimit);
-    },
-
-/**
- * Sets the flag allowing users to select multiple files for the upload.
- *
- * @param allowMultipleFiles {Boolean} If true, multiple files can be selected. False by default.
- */     
-    setAllowMultipleFiles : function (allowMultipleFiles) 
-    {
-       this._swf.setAllowMultipleFiles(allowMultipleFiles);
-    },
-
-/**
- * Sets the file filters for the "Browse" dialog.
- *
- *  @param newFilterArray An array of sets of key-value pairs of the form
- *  {extensions: extensionString, description: descriptionString, [optional]macType: macTypeString}
- *  The extensions string is a semicolon-delimited list of elements of the form "*.xxx", 
- *  e.g. "*.jpg;*.gif;*.png". 
- */       
-    setFileFilters : function (fileFilters) 
-    {
-       this._swf.setFileFilters(fileFilters);
-    },
-
-       /**
-        * Enables the mouse events on the Uploader.
-        * If the uploader is being rendered as a button,
-        * then the button's skin is set to "up"
-        * (first section of the button skin sprite).
-        *
-        */
-       enable : function ()
-       {
-               this._swf.enable();
-       },
-
-       /**
-        * Disables the mouse events on the Uploader.
-        * If the uploader is being rendered as a button,
-        * then the button's skin is set to "disabled"
-        * (fourth section of the button skin sprite).
-        *
-        */
-       disable : function () 
-       {
-               this._swf.disable();
-       }
-});
-YAHOO.register("uploader", YAHOO.widget.Uploader, {version: "2.7.0", build: "1799"});