annotate pylons_app/public/js/yui/swf/swf.js @ 457:644795a4e8d2

Code cleanups, made js rollup file, some preparation for .egg creation
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 04 Sep 2010 15:20:06 +0200
parents 564e40829f80
children
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 YAHOO.namespace("widget");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 (function () {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 var version = 0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12 var UA = YAHOO.env.ua;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 var sF = "ShockwaveFlash";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15 if (UA.gecko || UA.webkit || UA.opera) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16 if ((mF = navigator.mimeTypes['application/x-shockwave-flash'])) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17 if ((eP = mF.enabledPlugin)) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18 var vS = [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19 vS = eP.description.replace(/\s[rd]/g, '.').replace(/[A-Za-z\s]+/g, '').split('.');
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20 version = vS[0] + '.';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
21 switch((vS[2].toString()).length)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
22 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
23 case 1:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
24 version += "00";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25 break;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 case 2:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
27 version += "0";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
28 break;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 version += vS[2];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31 version = parseFloat(version);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
32 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 else if(UA.ie) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
37 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
38 var ax6 = new ActiveXObject(sF + "." + sF + ".6");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39 ax6.AllowScriptAccess = "always";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41 catch(e)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 if(ax6 != null)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45 version = 6.0;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
48 if (version == 0) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
49 try
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
50 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
51 var ax = new ActiveXObject(sF + "." + sF);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
52 var vS = [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
53 vS = ax.GetVariable("$version").replace(/[A-Za-z\s]+/g, '').split(',');
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
54 version = vS[0] + '.';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
55 switch((vS[2].toString()).length)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
56 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
57 case 1:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
58 version += "00";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
59 break;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
60 case 2:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
61 version += "0";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
62 break;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
63 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
64 version += vS[2];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
65 version = parseFloat(version);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
66
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
67 } catch (e) {}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
68 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
69 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
70
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
71 UA.flash = version;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
72
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
73 YAHOO.util.SWFDetect = {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
74 getFlashVersion : function () {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
75 return version;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
76 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
77
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
78 isFlashVersionAtLeast : function (ver) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
79 return version >= ver;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
80 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
81 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
82
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
83 var Dom = YAHOO.util.Dom,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
84 Event = YAHOO.util.Event,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
85 SWFDetect = YAHOO.util.SWFDetect,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
86 Lang = YAHOO.lang,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
87
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
88 // private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
89 FLASH_CID = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
90 FLASH_TYPE = "application/x-shockwave-flash",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
91 FLASH_VER = "10.22",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
92 EXPRESS_INSTALL_URL = "http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?" + Math.random(),
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
93 EVENT_HANDLER = "YAHOO.widget.SWF.eventHandler",
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
94 possibleAttributes = {align:"", allowNetworking:"", allowScriptAccess:"", base:"", bgcolor:"", menu:"", name:"", quality:"", salign:"", scale:"", tabindex:"", wmode:""};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
95
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
96 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
97 * The SWF utility is a tool for embedding Flash applications in HTMl pages.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
98 * @module swf
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
99 * @title SWF Utility
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
100 * @requires yahoo, dom, event
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
101 * @namespace YAHOO.widget
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
102 */
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 * Creates the SWF instance and keeps the configuration data
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
106 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
107 * @class SWF
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
108 * @extends YAHOO.util.Element
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
109 * @constructor
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
110 * @param {String|HTMLElement} id The id of the element, or the element itself that the SWF will be inserted into.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
111 * The width and height of the SWF will be set to the width and height of this container element.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
112 * @param {String} swfURL The URL of the SWF to be embedded into the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
113 * @param {Object} p_oAttributes (optional) Configuration parameters for the Flash application and values for Flashvars
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
114 * to be passed to the SWF.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
115 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
116
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
117 YAHOO.widget.SWF = function (p_oElement /*:String*/, swfURL /*:String*/, p_oAttributes /*:Object*/ ) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
118
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
119 this._queue = this._queue || [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
120 this._events = this._events || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
121 this._configs = this._configs || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
122
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
123 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
124 * The DOM id of this instance of the element. Automatically generated.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
125 * @property _id
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
126 * @type String
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
127 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
128 this._id = Dom.generateId(null, "yuiswf");
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
129
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
130 if(p_oAttributes.host) this._host = p_oAttributes.host;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
131
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
132 var _id = this._id;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
133 var oElement = Dom.get(p_oElement);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
134 var flashVersion = (p_oAttributes["version"] || FLASH_VER);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
135 var isFlashVersionRight = SWFDetect.isFlashVersionAtLeast(flashVersion);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
136 var canExpressInstall = (UA.flash >= 8.0);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
137 var shouldExpressInstall = canExpressInstall && !isFlashVersionRight && p_oAttributes["useExpressInstall"];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
138 var flashURL = (shouldExpressInstall)?EXPRESS_INSTALL_URL:swfURL;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
139 var objstring = '<object ';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
140 var w, h;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
141 var flashvarstring = "YUISwfId=" + _id + "&YUIBridgeCallback=" + EVENT_HANDLER;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
142
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
143 YAHOO.widget.SWF._instances[_id] = this;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
144
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
145 if (oElement && (isFlashVersionRight || shouldExpressInstall) && flashURL) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
146 objstring += 'id="' + _id + '" ';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
147 if (UA.ie) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
148 objstring += 'classid="' + FLASH_CID + '" '
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
149 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
150 else {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
151 objstring += 'type="' + FLASH_TYPE + '" data="' + flashURL + '" ';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
152 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
153
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
154 w = "100%";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
155 h = "100%";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
156
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
157 objstring += 'width="' + w + '" height="' + h + '">';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
158
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
159 if (UA.ie) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
160 objstring += '<param name="movie" value="' + flashURL + '"/>';
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 for (var attribute in p_oAttributes.fixedAttributes) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
164 if (possibleAttributes.hasOwnProperty(attribute)) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
165 objstring += '<param name="' + attribute + '" value="' + p_oAttributes.fixedAttributes[attribute] + '"/>';
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
166 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
167 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
168
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
169 for (var flashvar in p_oAttributes.flashVars) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
170 var fvar = p_oAttributes.flashVars[flashvar];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
171 if (Lang.isString(fvar)) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
172 flashvarstring += "&" + flashvar + "=" + encodeURIComponent(fvar);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
173 }
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 if (flashvarstring) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
177 objstring += '<param name="flashVars" value="' + flashvarstring + '"/>';
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 objstring += "</object>";
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
181
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
182 oElement.innerHTML = objstring;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
183 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
184
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
185 YAHOO.widget.SWF.superclass.constructor.call(this, Dom.get(_id));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
186 this._swf = Dom.get(_id);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
187 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
188
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
189 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
190 * The static collection of all instances of the SWFs on the page.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
191 * @property _instances
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
192 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
193 * @type Object
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
194 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
195
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
196 YAHOO.widget.SWF._instances = YAHOO.widget.SWF._instances || {};
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
197
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
198 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
199 * Handles an event coming from within the SWF and delegate it
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
200 * to a specific instance of SWF.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
201 * @method eventHandler
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
202 * @param swfid {String} the id of the SWF dispatching the event
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
203 * @param event {Object} the event being transmitted.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
204 * @private
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
205 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
206 YAHOO.widget.SWF.eventHandler = function (swfid, event) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
207 YAHOO.widget.SWF._instances[swfid]._eventHandler(event);
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 YAHOO.extend(YAHOO.widget.SWF, YAHOO.util.Element, {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
211 _eventHandler: function(event)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
212 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
213 if (event.type == "swfReady")
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
214 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
215 this.createEvent("swfReady", {fireOnce:true});
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
216 this.fireEvent("swfReady", event);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
217 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
218 else if(event.type == "log")
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
219 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
220 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
221 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
222 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
223 if(this._host && this._host.fireEvent)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
224 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
225 this._host.fireEvent(event.type, event);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
226 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
227 else
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
228 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
229 this.fireEvent(event.type, event);
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
230 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
231 }
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 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
235 * Calls a specific function exposed by the SWF's
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
236 * ExternalInterface.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
237 * @method callSWF
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
238 * @param func {String} the name of the function to call
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
239 * @param args {Object} the set of arguments to pass to the function.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
240 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
241 callSWF: function (func, args)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
242 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
243 if (!args) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
244 args= [];
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
245 };
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
246
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
247 if (this._swf[func]) {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
248 return(this._swf[func].apply(this._swf, args));
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
249 } else {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
250 return null;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
251 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
252 },
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
253
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
254 /**
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
255 * Public accessor to the unique name of the SWF instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
256 *
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
257 * @method toString
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
258 * @return {String} Unique name of the SWF instance.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
259 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
260 toString: function()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
261 {
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
262 return "SWF " + this._id;
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
263 }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
264 });
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
265
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
266
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
267 })();
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
268 YAHOO.register("swf", YAHOO.widget.SWF, {version: "2.8.0r4", build: "2449"});