annotate rhodecode/public/js/yui/uploader/uploader.js @ 547:1e757ac98988

renamed project to rhodecode
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 06 Oct 2010 03:18:16 +0200
parents pylons_app/public/js/yui/uploader/uploader.js@564e40829f80
children 289ff43cc190
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1 /*
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
2 Copyright (c) 2009, Yahoo! Inc. All rights reserved.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3 Code licensed under the BSD License:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
4 http://developer.yahoo.net/yui/license.txt
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 version: 2.8.0r4
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
6 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
7 /*extern ActiveXObject, __flash_unloadHandler, __flash_savedUnloadHandler */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8 /*!
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12 * http://www.opensource.org/licenses/mit-license.php
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 * @namespace YAHOO
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16 YAHOO.namespace("deconcept");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18 YAHOO.deconcept = YAHOO.deconcept || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20 if(typeof YAHOO.deconcept.util == "undefined" || !YAHOO.deconcept.util)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
21 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
22 YAHOO.deconcept.util = {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
23 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
24
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25 if(typeof YAHOO.deconcept.SWFObjectUtil == "undefined" || !YAHOO.deconcept.SWFObjectUtil)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
27 YAHOO.deconcept.SWFObjectUtil = {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
28 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 YAHOO.deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
32 if(!document.getElementById) { return; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33 this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 this.skipDetect = YAHOO.deconcept.util.getRequestParameter(this.DETECT_KEY);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 this.params = {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 this.variables = {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
37 this.attributes = [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
38 if(swf) { this.setAttribute('swf', swf); }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39 if(id) { this.setAttribute('id', id); }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40 if(w) { this.setAttribute('width', w); }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41 if(h) { this.setAttribute('height', h); }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 if(ver) { this.setAttribute('version', new YAHOO.deconcept.PlayerVersion(ver.toString().split("."))); }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 this.installedVer = YAHOO.deconcept.SWFObjectUtil.getPlayerVersion();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 if (!window.opera && document.all && this.installedVer.major > 7)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46 // only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47 YAHOO.deconcept.SWFObject.doPrepUnload = true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
48 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
49 if(c)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
50 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
51 this.addParam('bgcolor', c);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
52 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
53 var q = quality ? quality : 'high';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
54 this.addParam('quality', q);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
55 this.setAttribute('useExpressInstall', false);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
56 this.setAttribute('doExpressInstall', false);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
57 var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
58 this.setAttribute('xiRedirectUrl', xir);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
59 this.setAttribute('redirectUrl', '');
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
60 if(redirectUrl)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
61 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
62 this.setAttribute('redirectUrl', redirectUrl);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
63 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
64 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
65
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
66 YAHOO.deconcept.SWFObject.prototype =
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
67 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
68 useExpressInstall: function(path)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
69 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
70 this.xiSWFPath = !path ? "expressinstall.swf" : path;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
71 this.setAttribute('useExpressInstall', true);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
72 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
73 setAttribute: function(name, value){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
74 this.attributes[name] = value;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
75 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
76 getAttribute: function(name){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
77 return this.attributes[name];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
78 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
79 addParam: function(name, value){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
80 this.params[name] = value;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
81 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
82 getParams: function(){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
83 return this.params;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
84 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
85 addVariable: function(name, value){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
86 this.variables[name] = value;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
87 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
88 getVariable: function(name){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
89 return this.variables[name];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
90 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
91 getVariables: function(){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
92 return this.variables;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
93 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
94 getVariablePairs: function(){
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
95 var variablePairs = [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
96 var key;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
97 var variables = this.getVariables();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
98 for(key in variables)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
99 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
100 if(variables.hasOwnProperty(key))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
101 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
102 variablePairs[variablePairs.length] = key +"="+ variables[key];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
103 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
104 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
105 return variablePairs;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
106 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
107 getSWFHTML: function() {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
108 var swfNode = "";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
109 var params = {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
110 var key = "";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
111 var pairs = "";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
112 if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
113 if (this.getAttribute("doExpressInstall")) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
114 this.addVariable("MMplayerType", "PlugIn");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
115 this.setAttribute('swf', this.xiSWFPath);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
116 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
117 swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'"';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
118 swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
119 params = this.getParams();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
120 for(key in params)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
121 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
122 if(params.hasOwnProperty(key))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
123 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
124 swfNode += [key] +'="'+ params[key] +'" ';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
125 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
126 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
127 pairs = this.getVariablePairs().join("&");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
128 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
129 swfNode += '/>';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
130 } else { // PC IE
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
131 if (this.getAttribute("doExpressInstall")) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
132 this.addVariable("MMplayerType", "ActiveX");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
133 this.setAttribute('swf', this.xiSWFPath);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
134 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
135 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') +'">';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
136 swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
137 params = this.getParams();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
138 for(key in params)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
139 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
140 if(params.hasOwnProperty(key))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
141 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
142 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
143 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
144 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
145 pairs = this.getVariablePairs().join("&");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
146 if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
147 swfNode += "</object>";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
148 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
149 return swfNode;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
150 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
151 write: function(elementId)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
152 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
153 if(this.getAttribute('useExpressInstall')) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
154 // check to see if we need to do an express install
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
155 var expressInstallReqVer = new YAHOO.deconcept.PlayerVersion([6,0,65]);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
156 if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
157 this.setAttribute('doExpressInstall', true);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
158 this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
159 document.title = document.title.slice(0, 47) + " - Flash Player Installation";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
160 this.addVariable("MMdoctitle", document.title);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
161 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
162 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
163 if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version')))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
164 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
165 var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
166 n.innerHTML = this.getSWFHTML();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
167 return true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
168 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
169 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
170 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
171 if(this.getAttribute('redirectUrl') !== "")
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
172 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
173 document.location.replace(this.getAttribute('redirectUrl'));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
174 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
175 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
176 return false;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
177 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
178 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
179
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
180 /* ---- detection functions ---- */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
181 YAHOO.deconcept.SWFObjectUtil.getPlayerVersion = function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
182 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
183 var axo = null;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
184 var PlayerVersion = new YAHOO.deconcept.PlayerVersion([0,0,0]);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
185 if(navigator.plugins && navigator.mimeTypes.length)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
186 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
187 var x = navigator.plugins["Shockwave Flash"];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
188 if(x && x.description)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
189 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
190 PlayerVersion = new YAHOO.deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
191 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
192 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
193 else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
194 { // if Windows CE
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
195 var counter = 3;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
196 while(axo)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
197 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
198 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
199 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
200 counter++;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
201 axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
202 // document.write("player v: "+ counter);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
203 PlayerVersion = new YAHOO.deconcept.PlayerVersion([counter,0,0]);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
204 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
205 catch(e)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
206 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
207 axo = null;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
208 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
209 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
210 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
211 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
212 { // Win IE (non mobile)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
213 // do minor version lookup in IE, but avoid fp6 crashing issues
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
214 // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
215 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
216 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
217 axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
218 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
219 catch(e)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
220 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
221 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
222 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
223 axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
224 PlayerVersion = new YAHOO.deconcept.PlayerVersion([6,0,21]);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
225 axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
226 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
227 catch(e)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
228 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
229 if(PlayerVersion.major == 6)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
230 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
231 return PlayerVersion;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
232 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
233 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
234 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
235 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
236 axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
237 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
238 catch(e) {}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
239 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
240
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
241 if(axo !== null)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
242 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
243 PlayerVersion = new YAHOO.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
244 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
245 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
246 return PlayerVersion;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
247 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
248
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
249 YAHOO.deconcept.PlayerVersion = function(arrVersion)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
250 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
251 this.major = arrVersion[0] !== null ? parseInt(arrVersion[0], 0) : 0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
252 this.minor = arrVersion[1] !== null ? parseInt(arrVersion[1], 0) : 0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
253 this.rev = arrVersion[2] !== null ? parseInt(arrVersion[2], 0) : 0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
254 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
255
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
256 YAHOO.deconcept.PlayerVersion.prototype.versionIsValid = function(fv)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
257 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
258 if(this.major < fv.major)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
259 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
260 return false;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
261 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
262 if(this.major > fv.major)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
263 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
264 return true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
265 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
266 if(this.minor < fv.minor)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
267 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
268 return false;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
269 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
270 if(this.minor > fv.minor)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
271 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
272 return true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
273 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
274 if(this.rev < fv.rev)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
275 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
276 return false;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
277 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
278 return true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
279 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
280
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
281 /* ---- get value of query string param ---- */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
282 YAHOO.deconcept.util =
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
283 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
284 getRequestParameter: function(param)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
285 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
286 var q = document.location.search || document.location.hash;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
287 if(param === null) { return q; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
288 if(q)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
289 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
290 var pairs = q.substring(1).split("&");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
291 for(var i=0; i < pairs.length; i++)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
292 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
293 if (pairs[i].substring(0, pairs[i].indexOf("=")) == param)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
294 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
295 return pairs[i].substring((pairs[i].indexOf("=") + 1));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
296 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
297 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
298 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
299 return "";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
300 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
301 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
302
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
303 /* fix for video streaming bug */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
304 YAHOO.deconcept.SWFObjectUtil.cleanupSWFs = function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
305 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
306 var objects = document.getElementsByTagName("OBJECT");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
307 for(var i = objects.length - 1; i >= 0; i--)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
308 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
309 objects[i].style.display = 'none';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
310 for(var x in objects[i])
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
311 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
312 if(typeof objects[i][x] == 'function')
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
313 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
314 objects[i][x] = function(){};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
315 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
316 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
317 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
318 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
319
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
320 // fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
321 if(YAHOO.deconcept.SWFObject.doPrepUnload)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
322 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
323 if(!YAHOO.deconcept.unloadSet)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
324 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
325 YAHOO.deconcept.SWFObjectUtil.prepUnload = function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
326 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
327 __flash_unloadHandler = function(){};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
328 __flash_savedUnloadHandler = function(){};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
329 window.attachEvent("onunload", YAHOO.deconcept.SWFObjectUtil.cleanupSWFs);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
330 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
331 window.attachEvent("onbeforeunload", YAHOO.deconcept.SWFObjectUtil.prepUnload);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
332 YAHOO.deconcept.unloadSet = true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
333 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
334 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
335
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
336 /* add document.getElementById if needed (mobile IE < 5) */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
337 if(!document.getElementById && document.all)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
338 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
339 document.getElementById = function(id) { return document.all[id]; };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
340 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
341 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
342 * Wraps Flash embedding functionality and allows communication with SWF through
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
343 * attributes.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
344 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
345 * @namespace YAHOO.widget
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
346 * @class FlashAdapter
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
347 * @uses YAHOO.util.AttributeProvider
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
348 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
349 YAHOO.widget.FlashAdapter = function(swfURL, containerID, attributes, buttonSkin)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
350 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
351
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
352 this._queue = this._queue || [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
353 this._events = this._events || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
354 this._configs = this._configs || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
355 attributes = attributes || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
356
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
357 //the Flash Player external interface code from Adobe doesn't play nicely
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
358 //with the default value, yui-gen, in IE
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
359 this._id = attributes.id = attributes.id || YAHOO.util.Dom.generateId(null, "yuigen");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
360 attributes.version = attributes.version || "9.0.45";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
361 attributes.backgroundColor = attributes.backgroundColor || "#ffffff";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
362
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
363 //we can't use the initial attributes right away
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
364 //so save them for once the SWF finishes loading
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
365 this._attributes = attributes;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
366
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
367 this._swfURL = swfURL;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
368 this._containerID = containerID;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
369
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
370 //embed the SWF file in the page
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
371 this._embedSWF(this._swfURL, this._containerID, attributes.id, attributes.version,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
372 attributes.backgroundColor, attributes.expressInstall, attributes.wmode, buttonSkin);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
373
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
374 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
375 * Fires when the SWF is initialized and communication is possible.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
376 * @event contentReady
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
377 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
378 //Fix for iframe cross-domain issue with FF2x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
379 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
380 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
381 this.createEvent("contentReady");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
382 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
383 catch(e){}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
384 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
385
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
386 YAHOO.widget.FlashAdapter.owners = YAHOO.widget.FlashAdapter.owners || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
387
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
388 YAHOO.extend(YAHOO.widget.FlashAdapter, YAHOO.util.AttributeProvider,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
389 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
390 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
391 * The URL of the SWF file.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
392 * @property _swfURL
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
393 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
394 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
395 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
396 _swfURL: null,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
397
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
398 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
399 * The ID of the containing DIV.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
400 * @property _containerID
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
401 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
402 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
403 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
404 _containerID: null,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
405
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
406 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
407 * A reference to the embedded SWF file.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
408 * @property _swf
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
409 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
410 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
411 _swf: null,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
412
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
413 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
414 * The id of this instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
415 * @property _id
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
416 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
417 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
418 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
419 _id: null,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
420
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
421 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
422 * Indicates whether the SWF has been initialized and is ready
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
423 * to communicate with JavaScript
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
424 * @property _initialized
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
425 * @type Boolean
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
426 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
427 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
428 _initialized: false,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
429
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
430 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
431 * The initializing attributes are stored here until the SWF is ready.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
432 * @property _attributes
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
433 * @type Object
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
434 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
435 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
436 _attributes: null, //the intializing attributes
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
437
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
438 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
439 * Public accessor to the unique name of the FlashAdapter instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
440 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
441 * @method toString
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
442 * @return {String} Unique name of the FlashAdapter instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
443 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
444 toString: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
445 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
446 return "FlashAdapter " + this._id;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
447 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
448
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
449 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
450 * Nulls out the entire FlashAdapter instance and related objects and removes attached
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
451 * event listeners and clears out DOM elements inside the container. After calling
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
452 * this method, the instance reference should be expliclitly nulled by implementer,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
453 * as in myChart = null. Use with caution!
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
454 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
455 * @method destroy
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
456 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
457 destroy: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
458 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
459 //kill the Flash Player instance
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
460 if(this._swf)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
461 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
462 var container = YAHOO.util.Dom.get(this._containerID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
463 container.removeChild(this._swf);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
464 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
465
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
466 var instanceName = this._id;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
467
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
468 //null out properties
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
469 for(var prop in this)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
470 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
471 if(YAHOO.lang.hasOwnProperty(this, prop))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
472 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
473 this[prop] = null;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
474 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
475 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
476
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
477 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
478
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
479 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
480 * Embeds the SWF in the page and associates it with this instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
481 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
482 * @method _embedSWF
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
483 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
484 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
485 _embedSWF: function(swfURL, containerID, swfID, version, backgroundColor, expressInstall, wmode, buttonSkin)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
486 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
487 //standard SWFObject embed
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
488 var swfObj = new YAHOO.deconcept.SWFObject(swfURL, swfID, "100%", "100%", version, backgroundColor);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
489
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
490 if(expressInstall)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
491 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
492 swfObj.useExpressInstall(expressInstall);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
493 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
494
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
495 //make sure we can communicate with ExternalInterface
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
496 swfObj.addParam("allowScriptAccess", "always");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
497
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
498 if(wmode)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
499 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
500 swfObj.addParam("wmode", wmode);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
501 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
502
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
503 swfObj.addParam("menu", "false");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
504
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
505 //again, a useful ExternalInterface trick
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
506 swfObj.addVariable("allowedDomain", document.location.hostname);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
507
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
508 //tell the SWF which HTML element it is in
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
509 swfObj.addVariable("elementID", swfID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
510
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
511 // set the name of the function to call when the swf has an event
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
512 swfObj.addVariable("eventHandler", "YAHOO.widget.FlashAdapter.eventHandler");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
513 if (buttonSkin) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
514 swfObj.addVariable("buttonSkin", buttonSkin);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
515 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
516 var container = YAHOO.util.Dom.get(containerID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
517 var result = swfObj.write(container);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
518 if(result)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
519 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
520 this._swf = YAHOO.util.Dom.get(swfID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
521 YAHOO.widget.FlashAdapter.owners[swfID] = this;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
522 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
523 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
524 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
525 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
526 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
527
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
528 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
529 * Handles or re-dispatches events received from the SWF.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
530 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
531 * @method _eventHandler
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
532 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
533 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
534 _eventHandler: function(event)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
535 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
536 var type = event.type;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
537 switch(type)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
538 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
539 case "swfReady":
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
540 this._loadHandler();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
541 return;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
542 case "log":
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
543 return;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
544 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
545
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
546
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
547 //be sure to return after your case or the event will automatically fire!
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
548 this.fireEvent(type, event);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
549 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
550
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
551 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
552 * Called when the SWF has been initialized.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
553 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
554 * @method _loadHandler
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
555 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
556 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
557 _loadHandler: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
558 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
559 this._initialized = false;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
560 this._initAttributes(this._attributes);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
561 this.setAttributes(this._attributes, true);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
562
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
563 this._initialized = true;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
564 this.fireEvent("contentReady");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
565 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
566
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
567 set: function(name, value)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
568 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
569 //save all the attributes in case the swf reloads
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
570 //so that we can pass them in again
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
571 this._attributes[name] = value;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
572 YAHOO.widget.FlashAdapter.superclass.set.call(this, name, value);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
573 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
574
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
575 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
576 * Initializes the attributes.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
577 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
578 * @method _initAttributes
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
579 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
580 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
581 _initAttributes: function(attributes)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
582 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
583 //should be overridden if other attributes need to be set up
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
584
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
585 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
586 * @attribute wmode
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
587 * @description Sets the window mode of the Flash Player control. May be
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
588 * "window", "opaque", or "transparent". Only available in the constructor
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
589 * because it may not be set after Flash Player has been embedded in the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
590 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
591 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
592
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
593 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
594 * @attribute expressInstall
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
595 * @description URL pointing to a SWF file that handles Flash Player's express
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
596 * install feature. Only available in the constructor because it may not be
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
597 * set after Flash Player has been embedded in the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
598 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
599 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
600
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
601 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
602 * @attribute version
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
603 * @description Minimum required version for the SWF file. Only available in the constructor because it may not be
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
604 * set after Flash Player has been embedded in the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
605 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
606 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
607
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
608 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
609 * @attribute backgroundColor
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
610 * @description The background color of the SWF. Only available in the constructor because it may not be
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
611 * set after Flash Player has been embedded in the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
612 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
613 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
614
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
615 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
616 * @attribute altText
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
617 * @description The alternative text to provide for screen readers and other assistive technology.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
618 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
619 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
620 this.getAttributeConfig("altText",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
621 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
622 method: this._getAltText
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
623 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
624 this.setAttributeConfig("altText",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
625 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
626 method: this._setAltText
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
627 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
628
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
629 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
630 * @attribute swfURL
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
631 * @description Absolute or relative URL to the SWF displayed by the FlashAdapter. Only available in the constructor because it may not be
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
632 * set after Flash Player has been embedded in the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
633 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
634 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
635 this.getAttributeConfig("swfURL",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
636 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
637 method: this._getSWFURL
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
638 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
639 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
640
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
641 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
642 * Getter for swfURL attribute.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
643 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
644 * @method _getSWFURL
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
645 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
646 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
647 _getSWFURL: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
648 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
649 return this._swfURL;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
650 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
651
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
652 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
653 * Getter for altText attribute.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
654 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
655 * @method _getAltText
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
656 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
657 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
658 _getAltText: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
659 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
660 return this._swf.getAltText();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
661 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
662
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
663 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
664 * Setter for altText attribute.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
665 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
666 * @method _setAltText
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
667 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
668 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
669 _setAltText: function(value)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
670 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
671 return this._swf.setAltText(value);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
672 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
673 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
674
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
675
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
676 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
677 * Receives event messages from SWF and passes them to the correct instance
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
678 * of FlashAdapter.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
679 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
680 * @method YAHOO.widget.FlashAdapter.eventHandler
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
681 * @static
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
682 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
683 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
684 YAHOO.widget.FlashAdapter.eventHandler = function(elementID, event)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
685 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
686
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
687 if(!YAHOO.widget.FlashAdapter.owners[elementID])
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
688 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
689 //fix for ie: if owner doesn't exist yet, try again in a moment
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
690 setTimeout(function() { YAHOO.widget.FlashAdapter.eventHandler( elementID, event ); }, 0);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
691 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
692 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
693 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
694 YAHOO.widget.FlashAdapter.owners[elementID]._eventHandler(event);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
695 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
696 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
697
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
698 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
699 * The number of proxy functions that have been created.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
700 * @static
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
701 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
702 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
703 YAHOO.widget.FlashAdapter.proxyFunctionCount = 0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
704
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
705 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
706 * Creates a globally accessible function that wraps a function reference.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
707 * Returns the proxy function's name as a string for use by the SWF through
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
708 * ExternalInterface.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
709 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
710 * @method YAHOO.widget.FlashAdapter.createProxyFunction
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
711 * @static
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
712 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
713 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
714 YAHOO.widget.FlashAdapter.createProxyFunction = function(func)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
715 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
716 var index = YAHOO.widget.FlashAdapter.proxyFunctionCount;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
717 YAHOO.widget.FlashAdapter["proxyFunction" + index] = function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
718 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
719 return func.apply(null, arguments);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
720 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
721 YAHOO.widget.FlashAdapter.proxyFunctionCount++;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
722 return "YAHOO.widget.FlashAdapter.proxyFunction" + index.toString();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
723 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
724
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
725 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
726 * Removes a function created with createProxyFunction()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
727 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
728 * @method YAHOO.widget.FlashAdapter.removeProxyFunction
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
729 * @static
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
730 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
731 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
732 YAHOO.widget.FlashAdapter.removeProxyFunction = function(funcName)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
733 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
734 //quick error check
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
735 if(!funcName || funcName.indexOf("YAHOO.widget.FlashAdapter.proxyFunction") < 0)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
736 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
737 return;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
738 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
739
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
740 funcName = funcName.substr(26);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
741 YAHOO.widget.FlashAdapter[funcName] = null;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
742 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
743 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
744 * The YUI Uploader Control
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
745 * @module uploader
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
746 * @description <p>YUI Uploader provides file upload functionality that goes beyond the basic browser-based methods.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
747 * Specifically, the YUI Uploader allows for:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
748 * <ol>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
749 * <li> Multiple file selection in a single "Open File" dialog.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
750 * <li> File extension filters to facilitate the user's selection.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
751 * <li> Progress tracking for file uploads.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
752 * <li> A range of file metadata: filename, size, date created, date modified, and author.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
753 * <li> A set of events dispatched on various aspects of the file upload process: file selection, upload progress, upload completion, etc.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
754 * <li> Inclusion of additional data in the file upload POST request.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
755 * <li> Faster file upload on broadband connections due to the modified SEND buffer size.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
756 * <li> Same-page server response upon completion of the file upload.</li>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
757 * </ol>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
758 * </p>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
759 * @title Uploader
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
760 * @namespace YAHOO.widget
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
761 * @requires yahoo, dom, element, event
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
762 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
763 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
764 * Uploader class for the YUI Uploader component.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
765 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
766 * @namespace YAHOO.widget
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
767 * @class Uploader
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
768 * @uses YAHOO.widget.FlashAdapter
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
769 * @constructor
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
770 * @param containerId {HTMLElement} Container element for the Flash Player instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
771 * @param buttonSkin {String} [optional]. If defined, the uploader is
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
772 * rendered as a button. This parameter must provide the URL of a button
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
773 * skin sprite image. Acceptable types are: jpg, gif, png and swf. The
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
774 * sprite is divided evenly into four sections along its height (e.g., if
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
775 * the sprite is 200 px tall, it's divided into four sections 50px each).
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
776 * Each section is used as a skin for a specific state of the button: top
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
777 * section is "up", second section is "over", third section is "down", and
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
778 * fourth section is "disabled".
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
779 * If the parameter is not supplied, the uploader is rendered transparent,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
780 * and it's the developer's responsibility to create a visible UI below it.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
781 * @param forceTransparent {Boolean} This parameter, if true, forces the Flash
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
782 * UI to be rendered with wmode set to "transparent". This behavior is useful
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
783 * in conjunction with non-rectangular button skins with PNG transparency.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
784 * The parameter is false by default, and ignored if no buttonSkin is defined.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
785 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
786 YAHOO.widget.Uploader = function(containerId, buttonSkin, forceTransparent)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
787 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
788 var newWMode = "window";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
789
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
790 if (!(buttonSkin) || (buttonSkin && forceTransparent)) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
791 newWMode = "transparent";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
792 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
793
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
794
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
795 YAHOO.widget.Uploader.superclass.constructor.call(this, YAHOO.widget.Uploader.SWFURL, containerId, {wmode:newWMode}, buttonSkin);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
796
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
797 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
798 * Fires when the mouse is pressed over the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
799 * Only fires when the Uploader UI is enabled and
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
800 * the render type is 'transparent'.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
801 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
802 * @event mouseDown
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
803 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
804 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
805 this.createEvent("mouseDown");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
806
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
807 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
808 * Fires when the mouse is released over the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
809 * Only fires when the Uploader UI is enabled and
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
810 * the render type is 'transparent'.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
811 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
812 * @event mouseUp
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
813 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
814 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
815 this.createEvent("mouseUp");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
816
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
817 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
818 * Fires when the mouse rolls over the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
819 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
820 * @event rollOver
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
821 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
822 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
823 this.createEvent("rollOver");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
824
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
825 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
826 * Fires when the mouse rolls out of the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
827 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
828 * @event rollOut
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
829 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
830 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
831 this.createEvent("rollOut");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
832
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
833 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
834 * Fires when the uploader is clicked.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
835 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
836 * @event click
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
837 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
838 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
839 this.createEvent("click");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
840
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
841 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
842 * Fires when the user has finished selecting files in the "Open File" dialog.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
843 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
844 * @event fileSelect
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
845 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
846 * @param event.fileList {Object} A dictionary of objects with file information
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
847 * @param event.fileList[].size {Number} File size in bytes for a specific file in fileList
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
848 * @param event.fileList[].cDate {Date} Creation date for a specific file in fileList
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
849 * @param event.fileList[].mDate {Date} Modification date for a specific file in fileList
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
850 * @param event.fileList[].name {String} File name for a specific file in fileList
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
851 * @param event.fileList[].id {String} Unique file id of a specific file in fileList
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
852 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
853 this.createEvent("fileSelect");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
854
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
855 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
856 * Fires when an upload of a specific file has started.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
857 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
858 * @event uploadStart
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
859 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
860 * @param event.id {String} The id of the file that's started to upload
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
861 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
862 this.createEvent("uploadStart");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
863
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
864 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
865 * Fires when new information about the upload progress for a specific file is available.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
866 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
867 * @event uploadProgress
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
868 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
869 * @param event.id {String} The id of the file with which the upload progress data is associated
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
870 * @param bytesLoaded {Number} The number of bytes of the file uploaded so far
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
871 * @param bytesTotal {Number} The total size of the file
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
872 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
873 this.createEvent("uploadProgress");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
874
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
875 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
876 * Fires when an upload for a specific file is cancelled.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
877 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
878 * @event uploadCancel
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
879 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
880 * @param event.id {String} The id of the file with which the upload has been cancelled.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
881 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
882 this.createEvent("uploadCancel");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
883
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
884 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
885 * Fires when an upload for a specific file is complete.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
886 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
887 * @event uploadComplete
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
888 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
889 * @param event.id {String} The id of the file for which the upload has been completed.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
890 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
891 this.createEvent("uploadComplete");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
892
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
893 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
894 * Fires when the server sends data in response to a completed upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
895 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
896 * @event uploadCompleteData
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
897 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
898 * @param event.id {String} The id of the file for which the upload has been completed.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
899 * @param event.data {String} The raw data returned by the server in response to the upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
900 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
901 this.createEvent("uploadCompleteData");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
902
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
903 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
904 * Fires when an upload error occurs.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
905 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
906 * @event uploadError
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
907 * @param event.type {String} The event type
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
908 * @param event.id {String} The id of the file that was being uploaded when the error has occurred.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
909 * @param event.status {String} The status message associated with the error.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
910 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
911 this.createEvent("uploadError");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
912 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
913
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
914 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
915 * Location of the Uploader SWF
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
916 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
917 * @property Chart.SWFURL
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
918 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
919 * @static
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
920 * @final
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
921 * @default "assets/uploader.swf"
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
922 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
923 YAHOO.widget.Uploader.SWFURL = "assets/uploader.swf";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
924
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
925 YAHOO.extend(YAHOO.widget.Uploader, YAHOO.widget.FlashAdapter,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
926 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
927 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
928 * Starts the upload of the file specified by fileID to the location specified by uploadScriptPath.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
929 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
930 * @param fileID {String} The id of the file to start uploading.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
931 * @param uploadScriptPath {String} The URL of the upload location.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
932 * @param method {String} Either "GET" or "POST", specifying how the variables accompanying the file upload POST request should be submitted. "GET" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
933 * @param vars {Object} The object containing variables to be sent in the same request as the file upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
934 * @param fieldName {String} The name of the variable in the POST request containing the file data. "Filedata" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
935 * </code>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
936 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
937 upload: function(fileID, uploadScriptPath, method, vars, fieldName)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
938 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
939 this._swf.upload(fileID, uploadScriptPath, method, vars, fieldName);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
940 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
941
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
942 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
943 * Starts the upload of the files specified by fileIDs, or adds them to a currently running queue. The upload queue is automatically managed.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
944 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
945 * @param fileIDs {Array} The ids of the files to start uploading.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
946 * @param uploadScriptPath {String} The URL of the upload location.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
947 * @param method {String} Either "GET" or "POST", specifying how the variables accompanying the file upload POST request should be submitted. "GET" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
948 * @param vars {Object} The object containing variables to be sent in the same request as the file upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
949 * @param fieldName {String} The name of the variable in the POST request containing the file data. "Filedata" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
950 * </code>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
951 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
952 uploadThese: function(fileIDs, uploadScriptPath, method, vars, fieldName)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
953 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
954 this._swf.uploadThese(fileIDs, uploadScriptPath, method, vars, fieldName);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
955 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
956
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
957 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
958 * Starts uploading all files in the queue. If this function is called, the upload queue is automatically managed.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
959 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
960 * @param uploadScriptPath {String} The URL of the upload location.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
961 * @param method {String} Either "GET" or "POST", specifying how the variables accompanying the file upload POST request should be submitted. "GET" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
962 * @param vars {Object} The object containing variables to be sent in the same request as the file upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
963 * @param fieldName {String} The name of the variable in the POST request containing the file data. "Filedata" by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
964 * </code>
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
965 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
966 uploadAll: function(uploadScriptPath, method, vars, fieldName)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
967 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
968 this._swf.uploadAll(uploadScriptPath, method, vars, fieldName);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
969 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
970
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
971 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
972 * Cancels the upload of a specified file. If no file id is specified, all ongoing uploads are cancelled.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
973 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
974 * @param fileID {String} The ID of the file whose upload should be cancelled.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
975 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
976 cancel: function(fileID)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
977 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
978 this._swf.cancel(fileID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
979 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
980
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
981 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
982 * Clears the list of files queued for upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
983 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
984 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
985 clearFileList: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
986 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
987 this._swf.clearFileList();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
988 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
989
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
990 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
991 * Removes the specified file from the upload queue.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
992 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
993 * @param fileID {String} The id of the file to remove from the upload queue.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
994 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
995 removeFile: function (fileID)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
996 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
997 this._swf.removeFile(fileID);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
998 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
999
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1000 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1001 * Turns the logging functionality on.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1002 * Uses Flash internal trace logging, as well as YUI Logger, if available.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1003 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1004 * @param allowLogging {Boolean} If true, logs are output; otherwise, no logs are produced.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1005 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1006 setAllowLogging: function (allowLogging)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1007 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1008 this._swf.setAllowLogging(allowLogging);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1009 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1010
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1011 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1012 * Sets the number of simultaneous uploads when using uploadAll()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1013 * The minimum value is 1, and maximum value is 5. The default value is 2.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1014 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1015 * @param simUploadLimit {int} Number of simultaneous uploads, between 1 and 5.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1016 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1017 setSimUploadLimit : function (simUploadLimit)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1018 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1019 this._swf.setSimUploadLimit(simUploadLimit);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1020 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1021
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1022 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1023 * Sets the flag allowing users to select multiple files for the upload.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1024 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1025 * @param allowMultipleFiles {Boolean} If true, multiple files can be selected. False by default.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1026 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1027 setAllowMultipleFiles : function (allowMultipleFiles)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1028 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1029 this._swf.setAllowMultipleFiles(allowMultipleFiles);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1030 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1031
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1032 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1033 * Sets the file filters for the "Browse" dialog.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1034 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1035 * @param newFilterArray An array of sets of key-value pairs of the form
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1036 * {extensions: extensionString, description: descriptionString, [optional]macType: macTypeString}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1037 * The extensions string is a semicolon-delimited list of elements of the form "*.xxx",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1038 * e.g. "*.jpg;*.gif;*.png".
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1039 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1040 setFileFilters : function (fileFilters)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1041 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1042 this._swf.setFileFilters(fileFilters);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1043 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1044
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1045 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1046 * Enables the mouse events on the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1047 * If the uploader is being rendered as a button,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1048 * then the button's skin is set to "up"
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1049 * (first section of the button skin sprite).
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1050 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1051 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1052 enable : function ()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1053 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1054 this._swf.enable();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1055 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1056
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1057 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1058 * Disables the mouse events on the Uploader.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1059 * If the uploader is being rendered as a button,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1060 * then the button's skin is set to "disabled"
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1061 * (fourth section of the button skin sprite).
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1062 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1063 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1064 disable : function ()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1065 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1066 this._swf.disable();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1067 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1068 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1069 YAHOO.register("uploader", YAHOO.widget.Uploader, {version: "2.8.0r4", build: "2449"});