compass-jquery-plugin 0.3.2.pre.2 → 0.3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.md +20 -20
- data/README.md +7 -2
- data/VERSION.yml +2 -2
- data/lib/jquery/gridify/grid.rb +1 -1
- data/lib/jquery/gridify/grid_column.rb +1 -1
- data/lib/jquery/gridify/grid_finder.rb +16 -1
- data/lib/jquery/gridify/grid_view.rb +1 -1
- data/lib/jquery/jqgrid.rb +4 -4
- data/lib/jquery/jqtouch.rb +3 -3
- data/lib/jquery/jquery.rb +431 -431
- data/lib/jquery/jquery_json_response.rb +28 -0
- data/lib/jquery/secret_sauce.rb +8 -8
- data/lib/jquery/secret_sauce/controller/ui_dialog_controls.rb +13 -13
- data/lib/jquery/secret_sauce/controller/ui_grid_controls.rb +18 -18
- data/lib/jquery/secret_sauce/helpers/ui_dialog_helper.rb +5 -5
- data/lib/jquery/secret_sauce/model/find_for_grid.rb +41 -41
- data/templates/dynatree/jquery.dynatree.js +111 -110
- data/templates/dynatree/jquery.dynatree.min.js +75 -77
- data/templates/dynatree/jquery/dynatree/aero.scss +1 -3
- data/templates/dynatree/jquery/dynatree/aqua.scss +1 -3
- data/templates/dynatree/jquery/dynatree/crystal.scss +1 -3
- data/templates/dynatree/jquery/dynatree/xp.scss +1 -3
- data/templates/emulators/emulators/iphone.landscape.png +0 -0
- data/templates/emulators/emulators/iphone.landscape.scss +4 -4
- data/templates/emulators/emulators/palm.landscape.scss +6 -6
- data/templates/emulators/emulators/palm.pre.landscape.png +0 -0
- data/templates/ical/jquery.ical.js +3202 -3197
- data/templates/ical/jquery.ical.min.js +185 -184
- data/templates/ical/jquery/ical.scss +3 -3
- data/templates/jqgrid/i18n/jqgrid/locale-ar.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ar.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fi.js +45 -47
- data/templates/jqgrid/i18n/jqgrid/locale-fi.min.js +6 -6
- data/templates/jqgrid/jquery.jqGrid.js +2047 -2036
- data/templates/jqgrid/jquery.jqGrid.min.js +48 -48
- data/templates/jqgrid/manifest.rb +2 -0
- data/templates/jqtouch/jquery.jqtouch.js +122 -113
- data/templates/jqtouch/jquery.jqtouch.min.js +1 -1
- data/templates/jquery/config/initializers/jquery.rb +4 -2
- data/templates/jquery/i18n/jquery.ui/datepicker-ar-DZ.js +23 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-ar-DZ.min.js +2 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-en-AU.js +23 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-en-AU.min.js +2 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-en-NZ.js +23 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-en-NZ.min.js +2 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-ml.js +23 -0
- data/templates/jquery/i18n/jquery.ui/datepicker-ml.min.js +2 -0
- data/templates/jquery/jquery-ui.js +354 -316
- data/templates/jquery/jquery-ui.min.js +544 -544
- data/templates/jquery/jquery.cookie.js +3 -3
- data/templates/jquery/jquery.form.js +271 -140
- data/templates/jquery/jquery.form.min.js +19 -17
- data/templates/jquery/jquery.layout.js +2435 -2437
- data/templates/jquery/jquery.layout.min.js +4 -3
- data/templates/jquery/jquery.mousewheel.js +78 -0
- data/templates/jquery/jquery.mousewheel.min.js +2 -0
- data/templates/jquery/jquery.offline.js +212 -0
- data/templates/jquery/jquery.offline.min.js +4 -0
- data/templates/jquery/jquery.tmpl.js +15 -22
- data/templates/jquery/jquery.tmpl.min.js +12 -12
- data/templates/jquery/jquery.tmplPlus.js +1 -0
- data/templates/jquery/jquery/ui/_theme.scss +27 -27
- data/templates/jquery/json.js +7 -0
- data/templates/jquery/json.min.js +7 -0
- data/templates/jquery/manifest.rb +14 -2
- data/templates/mobile/glyphish/{Read me first - license.txt → License.txt} +0 -0
- data/templates/mobile/jquery.mobile.js +1583 -1408
- data/templates/mobile/jquery.mobile.min.js +5 -5
- data/templates/mobile/jquery/mobile/_base.scss +938 -1038
- data/templates/mobile/jquery/mobile/default.scss +25 -26
- data/templates/mobile/jquery/mobile/valencia.scss +0 -1
- data/templates/mobile/manifest.rb +1 -1
- data/templates/tools/config/initializers/tools.rb +2 -0
- data/templates/tools/flowplayer.js +24 -0
- data/templates/tools/flowplayer.min.js +30 -0
- data/templates/tools/jquery.tools.js +4 -3
- data/templates/tools/jquery.tools.min.js +1 -1
- data/templates/tools/manifest.rb +4 -0
- data/templates/tools/swfobject.js +777 -0
- data/templates/tools/swfobject.min.js +19 -0
- metadata +31 -15
- data/templates/jquery/jquery.metadata.js +0 -122
- data/templates/jquery/jquery.metadata.min.js +0 -2
@@ -12,7 +12,7 @@
|
|
12
12
|
.ui-bar-a {
|
13
13
|
border: 1px solid #2A2A2A;
|
14
14
|
background: #111111;
|
15
|
-
color: #
|
15
|
+
color: #ffffff;
|
16
16
|
font-weight: bold;
|
17
17
|
text-shadow: 0 -1px 1px black;
|
18
18
|
background-image: -moz-linear-gradient(top, #3c3c3c, #111111);
|
@@ -180,7 +180,7 @@
|
|
180
180
|
color: #3E3E3E;
|
181
181
|
font-weight: bold;
|
182
182
|
text-shadow: 0 1px 1px #fff;
|
183
|
-
background-image: -moz-linear-gradient(#f0f0f0, #e9eaeb);
|
183
|
+
background-image: -moz-linear-gradient(top, #f0f0f0, #e9eaeb);
|
184
184
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f0f0f0), color-stop(1, #e9eaeb));
|
185
185
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#f0f0f0', EndColorStr='#e9eaeb')";
|
186
186
|
font-family: Helvetica, Arial, sans-serif;
|
@@ -192,9 +192,9 @@
|
|
192
192
|
color: #333333;
|
193
193
|
text-shadow: 0 1px 0 #fff;
|
194
194
|
background: #f0f0f0;
|
195
|
-
background-image: -moz-linear-gradient(
|
196
|
-
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0,
|
197
|
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#
|
195
|
+
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
196
|
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eeeeee), color-stop(1, #dddddd));
|
197
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#dddddd')";
|
198
198
|
font-family: Helvetica, Arial, sans-serif;
|
199
199
|
input, select, textarea, button {
|
200
200
|
font-family: Helvetica, Arial, sans-serif; }
|
@@ -212,22 +212,22 @@
|
|
212
212
|
cursor: pointer;
|
213
213
|
text-shadow: 0 1px 1px #f6f6f6;
|
214
214
|
text-decoration: none;
|
215
|
-
background-image: -moz-linear-gradient(#
|
215
|
+
background-image: -moz-linear-gradient(top, #fefefe, #eeeeee);
|
216
216
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fdfdfd), color-stop(1, #eeeeee));
|
217
217
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')";
|
218
218
|
a.ui-link-inherit {
|
219
219
|
color: #2F3E46; } }
|
220
220
|
|
221
221
|
.ui-btn-hover-c {
|
222
|
-
border: 1px solid #
|
223
|
-
background: #
|
222
|
+
border: 1px solid #bbb;
|
223
|
+
background: #dadada;
|
224
224
|
font-weight: bold;
|
225
|
-
color: #
|
225
|
+
color: #101010;
|
226
226
|
text-decoration: none;
|
227
227
|
text-shadow: 0 1px 1px #fff;
|
228
|
-
background-image: -moz-linear-gradient(
|
229
|
-
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0,
|
230
|
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#
|
228
|
+
background-image: -moz-linear-gradient(top, #ededed, #dadada);
|
229
|
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ededed), color-stop(1, #dadada));
|
230
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ededed', EndColorStr='#dadada')";
|
231
231
|
a.ui-link-inherit {
|
232
232
|
color: #2F3E46; } }
|
233
233
|
|
@@ -237,7 +237,7 @@
|
|
237
237
|
font-weight: bold;
|
238
238
|
color: #111111;
|
239
239
|
text-shadow: 0 1px 1px #ffffff;
|
240
|
-
background-image: -moz-linear-gradient(#eeeeee, #fdfdfd);
|
240
|
+
background-image: -moz-linear-gradient(top, #eeeeee, #fdfdfd);
|
241
241
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eeeeee), color-stop(1, #fdfdfd));
|
242
242
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#fdfdfd')";
|
243
243
|
a.ui-link-inherit {
|
@@ -254,9 +254,9 @@
|
|
254
254
|
background: #bbb;
|
255
255
|
color: #333;
|
256
256
|
text-shadow: 0 1px 0 #eee;
|
257
|
-
background-image: -moz-linear-gradient(#dddddd, #bbbbbb);
|
257
|
+
background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
|
258
258
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #dddddd), color-stop(1, #bbbbbb));
|
259
|
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#
|
259
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#dddddd', EndColorStr='#bbbbbb')";
|
260
260
|
font-family: Helvetica, Arial, sans-serif;
|
261
261
|
input, select, textarea, button {
|
262
262
|
font-family: Helvetica, Arial, sans-serif; }
|
@@ -298,7 +298,7 @@
|
|
298
298
|
cursor: pointer;
|
299
299
|
text-shadow: 0 1px 1px #fff;
|
300
300
|
text-decoration: none;
|
301
|
-
background-image: -moz-linear-gradient(#fdfdfd, #eeeeee);
|
301
|
+
background-image: -moz-linear-gradient(top, #fdfdfd, #eeeeee);
|
302
302
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fdfdfd), color-stop(1, #eeeeee));
|
303
303
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')";
|
304
304
|
a.ui-link-inherit {
|
@@ -310,7 +310,7 @@
|
|
310
310
|
font-weight: bold;
|
311
311
|
color: #111;
|
312
312
|
text-shadow: 0 1px 1px #ffffff;
|
313
|
-
background-image: -moz-linear-gradient(#eeeeee, white);
|
313
|
+
background-image: -moz-linear-gradient(top, #eeeeee, white);
|
314
314
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eeeeee), color-stop(1, white));
|
315
315
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#ffffff')";
|
316
316
|
a.ui-link-inherit {
|
@@ -319,7 +319,7 @@
|
|
319
319
|
font-weight: bold;
|
320
320
|
color: #111;
|
321
321
|
text-shadow: none;
|
322
|
-
background-image: -moz-linear-gradient(#cccccc, #eeeeee);
|
322
|
+
background-image: -moz-linear-gradient(top, #cccccc, #eeeeee);
|
323
323
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #cccccc), color-stop(1, #eeeeee));
|
324
324
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#cccccc', EndColorStr='#eeeeee')"; } }
|
325
325
|
|
@@ -334,7 +334,7 @@
|
|
334
334
|
background: #fadb4e;
|
335
335
|
color: #333;
|
336
336
|
text-shadow: 0 1px 0 #fff;
|
337
|
-
background-image: -moz-linear-gradient(#fceda7, #fadb4e);
|
337
|
+
background-image: -moz-linear-gradient(top, #fceda7, #fadb4e);
|
338
338
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fceda7), color-stop(1, #fadb4e));
|
339
339
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')";
|
340
340
|
font-family: Helvetica, Arial, sans-serif;
|
@@ -356,7 +356,7 @@
|
|
356
356
|
color: #333333;
|
357
357
|
text-shadow: 0 1px 0 #fff;
|
358
358
|
background: #faeb9e;
|
359
|
-
background-image: -moz-linear-gradient(white, #faeb9e);
|
359
|
+
background-image: -moz-linear-gradient(top, white, #faeb9e);
|
360
360
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, white), color-stop(1, #faeb9e));
|
361
361
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#faeb9e')";
|
362
362
|
font-family: Helvetica, Arial, sans-serif;
|
@@ -377,7 +377,7 @@
|
|
377
377
|
text-shadow: 0 1px 1px #fe3;
|
378
378
|
text-decoration: none;
|
379
379
|
text-shadow: 0 1px 0 #fff;
|
380
|
-
background-image: -moz-linear-gradient(#fceda7, #fadb4e);
|
380
|
+
background-image: -moz-linear-gradient(top, #fceda7, #fadb4e);
|
381
381
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fceda7), color-stop(1, #fadb4e));
|
382
382
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')";
|
383
383
|
a.ui-link-inherit {
|
@@ -390,7 +390,7 @@
|
|
390
390
|
color: #111;
|
391
391
|
text-decoration: none;
|
392
392
|
text-shadow: 0 1px 1px #fff;
|
393
|
-
background-image: -moz-linear-gradient(#fcf0b5, #fbe26f);
|
393
|
+
background-image: -moz-linear-gradient(top, #fcf0b5, #fbe26f);
|
394
394
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf0b5), color-stop(1, #fbe26f));
|
395
395
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcf0b5', EndColorStr='#fbe26f')";
|
396
396
|
a.ui-link-inherit {
|
@@ -402,7 +402,7 @@
|
|
402
402
|
font-weight: bold;
|
403
403
|
color: #111;
|
404
404
|
text-shadow: 0 1px 1px #ffffff;
|
405
|
-
background-image: -moz-linear-gradient(#fadb4e, #fceda7);
|
405
|
+
background-image: -moz-linear-gradient(top, #fadb4e, #fceda7);
|
406
406
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fadb4e), color-stop(1, #fceda7));
|
407
407
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fadb4e', EndColorStr='#fceda7')";
|
408
408
|
a.ui-link-inherit {
|
@@ -428,9 +428,10 @@ a.ui-link-inherit {
|
|
428
428
|
cursor: pointer;
|
429
429
|
text-shadow: 0 -1px 1px #145072;
|
430
430
|
text-decoration: none;
|
431
|
-
background-image: -moz-linear-gradient(#85bae4, #5393c5);
|
431
|
+
background-image: -moz-linear-gradient(top, #85bae4, #5393c5);
|
432
432
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #85bae4), color-stop(1, #5393c5));
|
433
433
|
-msfilter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#85bae4', EndColorStr='#5393c5')";
|
434
|
+
outline: none;
|
434
435
|
a.ui-link-inherit {
|
435
436
|
color: #fff; } }
|
436
437
|
|
@@ -552,7 +553,6 @@ a.ui-link-inherit {
|
|
552
553
|
.ui-icon-black {
|
553
554
|
background-image: image_url("jquery/mobile/default/icons-36-black.png"); } }
|
554
555
|
|
555
|
-
|
556
556
|
/* plus minus */
|
557
557
|
|
558
558
|
.ui-icon-plus {
|
@@ -752,7 +752,6 @@ a.ui-link-inherit {
|
|
752
752
|
-----------------------------------------------------------------------------------------------------------*/
|
753
753
|
|
754
754
|
.ui-focus {
|
755
|
-
outline-width: 0;
|
756
755
|
-moz-box-shadow: 0px 0px 12px #387bbe;
|
757
756
|
-webkit-box-shadow: 0px 0px 12px #387bbe;
|
758
757
|
box-shadow: 0px 0px 12px #387bbe; }
|
@@ -188,4 +188,4 @@ image 'glyphish/mini-icons-black/puzzle.png'
|
|
188
188
|
image 'glyphish/mini-icons-black/star.png'
|
189
189
|
image 'glyphish/mini-icons-black/tag.png'
|
190
190
|
image 'glyphish/mini-icons-black/tshirt.png'
|
191
|
-
image 'glyphish/
|
191
|
+
image 'glyphish/License.txt'
|
@@ -1,3 +1,5 @@
|
|
1
1
|
require 'jquery/tools'
|
2
2
|
|
3
3
|
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :tools => ['jquery.tools.min']
|
4
|
+
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :flowplayer => ['flowplayer.min']
|
5
|
+
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :swfobject => ['swfobject.min']
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/*
|
2
|
+
* flowplayer.js 3.2.4. The Flowplayer API
|
3
|
+
*
|
4
|
+
* Copyright 2009 Flowplayer Oy
|
5
|
+
*
|
6
|
+
* This file is part of Flowplayer.
|
7
|
+
*
|
8
|
+
* Flowplayer is free software: you can redistribute it and/or modify
|
9
|
+
* it under the terms of the GNU General Public License as published by
|
10
|
+
* the Free Software Foundation, either version 3 of the License, or
|
11
|
+
* (at your option) any later version.
|
12
|
+
*
|
13
|
+
* Flowplayer is distributed in the hope that it will be useful,
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
* GNU General Public License for more details.
|
17
|
+
*
|
18
|
+
* You should have received a copy of the GNU General Public License
|
19
|
+
* along with Flowplayer. If not, see <http://www.gnu.org/licenses/>.
|
20
|
+
*
|
21
|
+
* Date: 2010-08-25 12:48:46 +0000 (Wed, 25 Aug 2010)
|
22
|
+
* Revision: 551
|
23
|
+
*/
|
24
|
+
(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)}function i(q,p,o){if(typeof p!="object"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!="function"){q[r]=s}})}return q}function n(s){var q=s.indexOf(".");if(q!=-1){var p=s.slice(0,q)||"*";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return"_"+(""+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t=="string"){t={url:t}}i(this,t,true);m(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var v="on"+this;if(v.indexOf("*")!=-1){v=v.slice(0,v.length-1);var w="onBefore"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x=="number"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v=="onLoad"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v=="onCuepoint"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o=="function"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w=="function"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;if(t){i(s,t)}m(r,function(v,w){if(typeof w=="function"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z=="function"){x=z;z=500}if(typeof y=="string"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display="block";q._api().fp_showPlugin(p);return o},hide:function(){this.display="none";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x=="function"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w=="onUpdate"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=""+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D==="undefined"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)=="_"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height="0px"}if(w.isLoaded()){v.style.height="0px"}return w},show:function(){q.style.height=A+"px";if(w.isLoaded()){v.style.height=o+"px"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent("onBeforeLoad")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=""}if(J){J.cached=true;j(x,"onLoad",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)}return w}if(u.replace(/\s/g,"")!==""){if(w._fireEvent("onBeforeUnload")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent("onUnload")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}return F[H]},getCommonClip:function(){return s},getPlaylist:function(){return F},getPlugin:function(H){var J=y[H];if(!J&&w.isLoaded()){var I=w._api().fp_getPlugin(H);if(I){J=new l(H,I,w);y[H]=J}}return J},getScreen:function(){return w.getPlugin("screen")},getControls:function(){return w.getPlugin("controls")._fireEvent("onUpdate")},getLogo:function(){try{return w.getPlugin("logo")._fireEvent("onUpdate")}catch(H){}},getPlay:function(){return w.getPlugin("play")._fireEvent("onUpdate")},getConfig:function(H){return H?k(t):t},getFlashParams:function(){return G},loadPlugin:function(K,J,M,L){if(typeof M=="function"){L=M;M={}}var I=L?e():"_";w._api().fp_loadPlugin(K,J,M,I);var H={};H[I]=L;var N=new l(K,null,w,H);y[K]=N;return N},getState:function(){return w.isLoaded()?v.fp_getState():-1},play:function(I,H){var J=function(){if(I!==undefined){w._api().fp_play(I,H)}else{w._api().fp_play()}};if(w.isLoaded()){J()}else{if(D){setTimeout(function(){w.play(I,H)},50)}else{w.load(function(){J()})}}return w},getVersion:function(){var I="flowplayer.js 3.2.4";if(w.isLoaded()){var H=v.fp_getVersion();H.push(I);return H}return I},_api:function(){if(!w.isLoaded()){throw"Flowplayer "+w.id()+" not loaded when calling an API method"}return v},setClip:function(H){w.setPlaylist([H]);return w},getIndex:function(){return p},_swfHeight:function(){return v.clientHeight}});m(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var H="on"+this;if(H.indexOf("*")!=-1){H=H.slice(0,H.length-1);var I="onBefore"+H.slice(2);w[I]=function(J){j(x,I,J);return w}}w[H]=function(J){j(x,H,J);return w}});m(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled").split(","),function(){var H=this;w[H]=function(J,I){if(!w.isLoaded()){return w}var K=null;if(J!==undefined&&I!==undefined){K=v["fp_"+H](J,I)}else{K=(J===undefined)?v["fp_"+H]():v["fp_"+H](J)}return K==="undefined"||K===undefined?w:K}});w._fireEvent=function(Q){if(typeof Q=="string"){Q=[Q]}var R=Q[0],O=Q[1],M=Q[2],L=Q[3],K=0;if(t.debug){g(Q)}if(!w.isLoaded()&&R=="onLoad"&&O=="player"){v=v||c(r);o=w._swfHeight();m(F,function(){this._fireEvent("onLoad")});m(y,function(S,T){T._fireEvent("onUpdate")});s._fireEvent("onLoad")}if(R=="onLoad"&&O!="player"){return}if(R=="onError"){if(typeof O=="string"||(typeof O=="number"&&typeof M=="number")){O=M;M=L}}if(R=="onContextMenu"){m(t.contextMenu[O],function(S,T){T.call(w)});return}if(R=="onPluginEvent"||R=="onBeforePluginEvent"){var H=O.name||O;var I=y[H];if(I){I._fireEvent("onUpdate",O);return I._fireEvent(M,Q.slice(3))}return}if(R=="onPlaylistReplace"){F=[];var N=0;m(O,function(){F.push(new h(this,N++,w))})}if(R=="onClipAdd"){if(O.isInStream){return}O=new h(O,M,w);F.splice(M,0,O);for(K=M+1;K<F.length;K++){F[K].index++}}var P=true;if(typeof O=="number"&&O<F.length){C=O;var J=F[O];if(J){P=J._fireEvent(R,M,L)}if(!J||P!==false){P=s._fireEvent(R,M,L,J)}}m(x[R],function(){P=this.call(w,O,M);if(this.cached){x[R].splice(K,1)}if(P===false){return false}K++});return P};function B(){if($f(q)){$f(q).getParent().innerHTML="";p=$f(q).getIndex();a[p]=w}else{a.push(w);p=a.length-1}A=parseInt(q.style.height,10)||q.clientHeight;E=q.id||"fp"+e();r=G.id||E+"_api";G.id=r;t.playerId=E;if(typeof t=="string"){t={clip:{url:t}}}if(typeof t.clip=="string"){t.clip={url:t.clip}}t.clip=t.clip||{};if(q.getAttribute("href",2)&&!t.clip.url){t.clip.url=q.getAttribute("href",2)}s=new h(t.clip,-1,w);t.playlist=t.playlist||[t.clip];var I=0;m(t.playlist,function(){var K=this;if(typeof K=="object"&&K.length){K={url:""+K}}m(t.clip,function(L,M){if(M!==undefined&&K[L]===undefined&&typeof M!="function"){K[L]=M}});t.playlist[I]=K;K=new h(K,I,w);F.push(K);I++});m(t,function(K,L){if(typeof L=="function"){if(s[K]){s[K](L)}else{j(x,K,L)}delete t[K]}});m(t.plugins,function(K,L){if(L){y[K]=new l(K,L,w)}});if(!t.plugins||t.plugins.controls===undefined){y.controls=new l("controls",null,w)}y.canvas=new l("canvas",null,w);u=q.innerHTML;function J(L){var K=w.hasiPadSupport&&w.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(F[0].url)&&!K){return true}if(!w.isLoaded()&&w._fireEvent("onBeforeClick")!==false){w.load()}return f(L)}function H(){if(u.replace(/\s/g,"")!==""){if(q.addEventListener){q.addEventListener("click",J,false)}else{if(q.attachEvent){q.attachEvent("onclick",J)}}}else{if(q.addEventListener){q.addEventListener("click",f,false)}w.load()}}setTimeout(H,0)}if(typeof q=="string"){var z=c(q);if(!z){throw"Flowplayer cannot access element: "+q}q=z;B()}else{B()}}var a=[];function d(o){this.length=o.length;this.each=function(p){m(o,p)};this.size=function(){return o.length}}window.flowplayer=window.$f=function(){var p=null;var o=arguments[0];if(!arguments.length){m(a,function(){if(this.isLoaded()){p=this;return false}});return p||a[0]}if(arguments.length==1){if(typeof o=="number"){return a[o]}else{if(o=="*"){return new d(a)}m(a,function(){if(this.id()==o.id||this.id()==o||this.getParent()==o){p=this;return false}});return p}}if(arguments.length>1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t=="string"){t={src:t}}t=i({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:true},t);if(typeof o=="string"){if(o.indexOf(".")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery=="function"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]=="number"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var h=document.all,j="http://www.adobe.com/go/getflashplayer",c=typeof jQuery=="function",e=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,b={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function i(m,l){if(l){for(var f in l){if(l.hasOwnProperty(f)){m[f]=l[f]}}}return m}function a(f,n){var m=[];for(var l in f){if(f.hasOwnProperty(l)){m[l]=n(f[l])}}return m}window.flashembed=function(f,m,l){if(typeof f=="string"){f=document.getElementById(f.replace("#",""))}if(!f){return}if(typeof m=="string"){m={src:m}}return new d(f,i(i({},b),m),l)};var g=i(window.flashembed,{conf:b,getVersion:function(){var m,f;try{f=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(o){try{m=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");f=m&&m.GetVariable("$version")}catch(n){try{m=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");f=m&&m.GetVariable("$version")}catch(l){}}}f=e.exec(f);return f?[f[1],f[3]]:[0,0]},asString:function(l){if(l===null||l===undefined){return null}var f=typeof l;if(f=="object"&&l.push){f="array"}switch(f){case"string":l=l.replace(new RegExp('(["\\\\])',"g"),"\\$1");l=l.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+l+'"';case"array":return"["+a(l,function(o){return g.asString(o)}).join(",")+"]";case"function":return'"function()"';case"object":var m=[];for(var n in l){if(l.hasOwnProperty(n)){m.push('"'+n+'":'+g.asString(l[n]))}}return"{"+m.join(",")+"}"}return String(l).replace(/\s/g," ").replace(/\'/g,'"')},getHTML:function(o,l){o=i({},o);var n='<object width="'+o.width+'" height="'+o.height+'" id="'+o.id+'" name="'+o.id+'"';if(o.cachebusting){o.src+=((o.src.indexOf("?")!=-1?"&":"?")+Math.random())}if(o.w3c||!h){n+=' data="'+o.src+'" type="application/x-shockwave-flash"'}else{n+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'}n+=">";if(o.w3c||h){n+='<param name="movie" value="'+o.src+'" />'}o.width=o.height=o.id=o.w3c=o.src=null;o.onFail=o.version=o.expressInstall=null;for(var m in o){if(o[m]){n+='<param name="'+m+'" value="'+o[m]+'" />'}}var p="";if(l){for(var f in l){if(l[f]){var q=l[f];p+=f+"="+(/function|object/.test(typeof q)?g.asString(q):q)+"&"}}p=p.slice(0,-1);n+='<param name="flashvars" value=\''+p+"' />"}n+="</object>";return n},isSupported:function(f){return k[0]>f[0]||k[0]==f[0]&&k[1]>=f[1]}});var k=g.getVersion();function d(f,n,m){if(g.isSupported(n.version)){f.innerHTML=g.getHTML(n,m)}else{if(n.expressInstall&&g.isSupported([6,65])){f.innerHTML=g.getHTML(i(n,{src:n.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title})}else{if(!f.innerHTML.replace(/\s/g,"")){f.innerHTML="<h2>Flash version "+n.version+" or greater is required</h2><h3>"+(k[0]>0?"Your version is "+k:"You have no flash plugin installed")+"</h3>"+(f.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+j+"'>here</a></p>");if(f.tagName=="A"){f.onclick=function(){location.href=j}}}if(n.onFail){var l=n.onFail.call(this);if(typeof l=="string"){f.innerHTML=l}}}}if(h){window[n.id]=document.getElementById(n.id)}i(this,{getRoot:function(){return f},getOptions:function(){return n},getConf:function(){return m},getApi:function(){return f.firstChild}})}if(c){jQuery.tools=jQuery.tools||{version:"3.2.4"};jQuery.tools.flashembed={conf:b};jQuery.fn.flashembed=function(l,f){return this.each(function(){$(this).data("flashembed",flashembed(this,l,f))})}}})();
|
@@ -0,0 +1,30 @@
|
|
1
|
+
(function(){function t(a){if(!a||typeof a!="object")return a;var d=new a.constructor,c;for(c in a)if(a.hasOwnProperty(c))d[c]=t(a[c]);return d}function o(a,d){if(a){var c,b=0,k=a.length;if(k===undefined)for(c in a){if(d.call(a[c],c,a[c])===false)break}else for(c=a[0];b<k&&d.call(c,b,c)!==false;c=a[++b]);return a}}function s(a,d,c){if(typeof d!="object")return a;a&&d&&o(d,function(b,k){if(!c||typeof k!="function")a[b]=k});return a}function F(a){var d=a.indexOf(".");if(d!=-1){var c=a.slice(0,d)||"*",
|
2
|
+
b=a.slice(d+1,a.length),k=[];o(document.getElementsByTagName(c),function(){this.className&&this.className.indexOf(b)!=-1&&k.push(this)});return k}}function G(a){a=a||window.event;if(a.preventDefault){a.stopPropagation();a.preventDefault()}else{a.returnValue=false;a.cancelBubble=true}return false}function y(a,d,c){a[d]=a[d]||[];a[d].push(c)}function A(){return"_"+(""+Math.random()).slice(2,10)}function z(a,d,c){var b=this,k=null,q=false,v,g,h=[],m={},p={},r,B,C,H,J,K;s(b,{id:function(){return r},isLoaded:function(){return k!==
|
3
|
+
null&&k.fp_play!==undefined&&!q},getParent:function(){return a},hide:function(f){if(f)a.style.height="0px";if(b.isLoaded())k.style.height="0px";return b},show:function(){a.style.height=K+"px";if(b.isLoaded())k.style.height=J+"px";return b},isHidden:function(){return b.isLoaded()&&parseInt(k.style.height,10)===0},load:function(f){if(!b.isLoaded()&&b._fireEvent("onBeforeLoad")!==false){var l=0;o(j,function(){this.unload(function(){if(++l==j.length){if((v=a.innerHTML)&&!flashembed.isSupported(d.version))a.innerHTML=
|
4
|
+
"";if(f){f.cached=true;y(p,"onLoad",f)}flashembed(a,d,{config:c})}})})}return b},unload:function(f){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){f&&f(false);return b}if(v.replace(/\s/g,"")!==""){if(b._fireEvent("onBeforeUnload")===false){f&&f(false);return b}q=true;try{if(k){k.fp_close();b._fireEvent("onUnload")}}catch(l){}setTimeout(function(){k=null;a.innerHTML=v;q=false;f&&f(true)},50)}else f&&f(false);return b},getClip:function(f){if(f===undefined)f=H;return h[f]},getCommonClip:function(){return g},
|
5
|
+
getPlaylist:function(){return h},getPlugin:function(f){var l=m[f];if(!l&&b.isLoaded()){var i=b._api().fp_getPlugin(f);if(i){l=new e(f,i,b);m[f]=l}}return l},getScreen:function(){return b.getPlugin("screen")},getControls:function(){return b.getPlugin("controls")._fireEvent("onUpdate")},getLogo:function(){try{return b.getPlugin("logo")._fireEvent("onUpdate")}catch(f){}},getPlay:function(){return b.getPlugin("play")._fireEvent("onUpdate")},getConfig:function(f){return f?t(c):c},getFlashParams:function(){return d},
|
6
|
+
loadPlugin:function(f,l,i,n){if(typeof i=="function"){n=i;i={}}var u=n?A():"_";b._api().fp_loadPlugin(f,l,i,u);l={};l[u]=n;n=new e(f,null,b,l);return m[f]=n},getState:function(){return b.isLoaded()?k.fp_getState():-1},play:function(f,l){var i=function(){f!==undefined?b._api().fp_play(f,l):b._api().fp_play()};if(b.isLoaded())i();else q?setTimeout(function(){b.play(f,l)},50):b.load(function(){i()});return b},getVersion:function(){if(b.isLoaded()){var f=k.fp_getVersion();f.push("flowplayer.js 3.2.4");
|
7
|
+
return f}return"flowplayer.js 3.2.4"},_api:function(){if(!b.isLoaded())throw"Flowplayer "+b.id()+" not loaded when calling an API method";return k},setClip:function(f){b.setPlaylist([f]);return b},getIndex:function(){return C},_swfHeight:function(){return k.clientHeight}});o("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut".split(","),function(){var f="on"+this;if(f.indexOf("*")!=-1){f=f.slice(0,f.length-1);var l="onBefore"+
|
8
|
+
f.slice(2);b[l]=function(i){y(p,l,i);return b}}b[f]=function(i){y(p,f,i);return b}});o("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled".split(","),function(){var f=this;b[f]=function(l,i){if(!b.isLoaded())return b;var n=null;n=l!==undefined&&i!==undefined?k["fp_"+f](l,i):l===undefined?k["fp_"+
|
9
|
+
f]():k["fp_"+f](l);return n==="undefined"||n===undefined?b:n}});b._fireEvent=function(f){if(typeof f=="string")f=[f];var l=f[0],i=f[1],n=f[2],u=f[3],D=0;c.debug&&console.log("$f.fireEvent",[].slice.call(f));if(!b.isLoaded()&&l=="onLoad"&&i=="player"){k=k||document.getElementById(B);J=b._swfHeight();o(h,function(){this._fireEvent("onLoad")});o(m,function(M,I){I._fireEvent("onUpdate")});g._fireEvent("onLoad")}if(!(l=="onLoad"&&i!="player")){if(l=="onError")if(typeof i=="string"||typeof i=="number"&&
|
10
|
+
typeof n=="number"){i=n;n=u}if(l=="onContextMenu")o(c.contextMenu[i],function(M,I){I.call(b)});else if(l=="onPluginEvent"||l=="onBeforePluginEvent"){if(u=m[i.name||i]){u._fireEvent("onUpdate",i);return u._fireEvent(n,f.slice(3))}}else{if(l=="onPlaylistReplace"){h=[];var N=0;o(i,function(){h.push(new x(this,N++,b))})}if(l=="onClipAdd"){if(i.isInStream)return;i=new x(i,n,b);h.splice(n,0,i);for(D=n+1;D<h.length;D++)h[D].index++}var E=true;if(typeof i=="number"&&i<h.length){H=i;if(f=h[i])E=f._fireEvent(l,
|
11
|
+
n,u);if(!f||E!==false)E=g._fireEvent(l,n,u,f)}o(p[l],function(){E=this.call(b,i,n);this.cached&&p[l].splice(D,1);if(E===false)return false;D++});return E}}};if(typeof a=="string"){var L=document.getElementById(a);if(!L)throw"Flowplayer cannot access element: "+a;a=L}(function(){function f(i){var n=b.hasiPadSupport&&b.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(h[0].url)&&!n)return true;!b.isLoaded()&&b._fireEvent("onBeforeClick")!==false&&b.load();return G(i)}
|
12
|
+
if($f(a)){$f(a).getParent().innerHTML="";C=$f(a).getIndex();j[C]=b}else{j.push(b);C=j.length-1}K=parseInt(a.style.height,10)||a.clientHeight;r=a.id||"fp"+A();B=d.id||r+"_api";d.id=B;c.playerId=r;if(typeof c=="string")c={clip:{url:c}};if(typeof c.clip=="string")c.clip={url:c.clip};c.clip=c.clip||{};if(a.getAttribute("href",2)&&!c.clip.url)c.clip.url=a.getAttribute("href",2);g=new x(c.clip,-1,b);c.playlist=c.playlist||[c.clip];var l=0;o(c.playlist,function(){var i=this;if(typeof i=="object"&&i.length)i=
|
13
|
+
{url:""+i};o(c.clip,function(n,u){if(u!==undefined&&i[n]===undefined&&typeof u!="function")i[n]=u});c.playlist[l]=i;i=new x(i,l,b);h.push(i);l++});o(c,function(i,n){if(typeof n=="function"){g[i]?g[i](n):y(p,i,n);delete c[i]}});o(c.plugins,function(i,n){if(n)m[i]=new e(i,n,b)});if(!c.plugins||c.plugins.controls===undefined)m.controls=new e("controls",null,b);m.canvas=new e("canvas",null,b);v=a.innerHTML;setTimeout(function(){if(v.replace(/\s/g,"")!=="")if(a.addEventListener)a.addEventListener("click",
|
14
|
+
f,false);else a.attachEvent&&a.attachEvent("onclick",f);else{a.addEventListener&&a.addEventListener("click",G,false);b.load()}},0)})()}function w(a){this.length=a.length;this.each=function(d){o(a,d)};this.size=function(){return a.length}}var x=function(a,d,c){var b=this,k={},q={};b.index=d;if(typeof a=="string")a={url:a};s(this,a,true);o("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop".split(","),function(){var g="on"+this;if(g.indexOf("*")!=-1){g=
|
15
|
+
g.slice(0,g.length-1);var h="onBefore"+g.slice(2);b[h]=function(m){y(q,h,m);return b}}b[g]=function(m){y(q,g,m);return b};if(d==-1){if(b[h])c[h]=b[h];if(b[g])c[g]=b[g]}});s(this,{onCuepoint:function(g,h){if(arguments.length==1){k.embedded=[null,g];return b}if(typeof g=="number")g=[g];var m=A();k[m]=[g,h];c.isLoaded()&&c._api().fp_addCuepoints(g,d,m);return b},update:function(g){s(b,g);c.isLoaded()&&c._api().fp_updateClip(g,d);var h=c.getConfig();s(d==-1?h.clip:h.playlist[d],g,true)},_fireEvent:function(g,
|
16
|
+
h,m,p){if(g=="onLoad"){o(k,function(C,H){H[0]&&c._api().fp_addCuepoints(H[0],d,C)});return false}p=p||b;if(g=="onCuepoint"){var r=k[h];if(r)return r[1].call(c,p,m)}if(h&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(g)!=-1){s(p,h);if(h.metaData)if(p.duration)p.fullDuration=h.metaData.duration;else p.duration=h.metaData.duration}var B=true;o(q[g],function(){B=this.call(c,p,h,m)});return B}});if(a.onCuepoint){var v=a.onCuepoint;b.onCuepoint.apply(b,typeof v=="function"?[v]:v);delete a.onCuepoint}o(a,
|
17
|
+
function(g,h){if(typeof h=="function"){y(q,g,h);delete a[g]}});if(d==-1)c.onCuepoint=this.onCuepoint},e=function(a,d,c,b){var k=this,q={},v=false;b&&s(q,b);o(d,function(g,h){if(typeof h=="function"){q[g]=h;delete d[g]}});s(this,{animate:function(g,h,m){if(!g)return k;if(typeof h=="function"){m=h;h=500}if(typeof g=="string"){var p=g;g={};g[p]=h;h=500}if(m){var r=A();q[r]=m}if(h===undefined)h=500;d=c._api().fp_animate(a,g,h,r);return k},css:function(g,h){if(h!==undefined){var m={};m[g]=h;g=m}d=c._api().fp_css(a,
|
18
|
+
g);s(k,d);return k},show:function(){this.display="block";c._api().fp_showPlugin(a);return k},hide:function(){this.display="none";c._api().fp_hidePlugin(a);return k},toggle:function(){this.display=c._api().fp_togglePlugin(a);return k},fadeTo:function(g,h,m){if(typeof h=="function"){m=h;h=500}if(m){var p=A();q[p]=m}this.display=c._api().fp_fadeTo(a,g,h,p);this.opacity=g;return k},fadeIn:function(g,h){return k.fadeTo(1,g,h)},fadeOut:function(g,h){return k.fadeTo(0,g,h)},getName:function(){return a},
|
19
|
+
getPlayer:function(){return c},_fireEvent:function(g,h){if(g=="onUpdate"){var m=c._api().fp_getPlugin(a);if(!m)return;s(k,m);delete k.methods;if(!v){o(m.methods,function(){var p=""+this;k[p]=function(){var r=[].slice.call(arguments);r=c._api().fp_invoke(a,p,r);return r==="undefined"||r===undefined?k:r}});v=true}}if(m=q[g]){m=m.apply(k,h);g.slice(0,1)=="_"&&delete q[g];return m}return k}})},j=[];window.flowplayer=window.$f=function(){var a=null,d=arguments[0];if(!arguments.length){o(j,function(){if(this.isLoaded()){a=
|
20
|
+
this;return false}});return a||j[0]}if(arguments.length==1)if(typeof d=="number")return j[d];else{if(d=="*")return new w(j);o(j,function(){if(this.id()==d.id||this.id()==d||this.getParent()==d){a=this;return false}});return a}if(arguments.length>1){var c=arguments[1],b=arguments.length==3?arguments[2]:{};if(typeof c=="string")c={src:c};c=s({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:true},c);if(typeof d=="string")if(d.indexOf(".")!=
|
21
|
+
-1){var k=[];o(F(d),function(){k.push(new z(this,t(c),t(b)))});return new w(k)}else{var q=document.getElementById(d);return new z(q!==null?q:d,c,b)}else if(d)return new z(d,c,b)}return null};s(window.$f,{fireEvent:function(){var a=[].slice.call(arguments),d=$f(a[0]);return d?d._fireEvent(a.slice(1)):null},addPlugin:function(a,d){z.prototype[a]=d;return $f},each:o,extend:s});if(typeof jQuery=="function")jQuery.fn.flowplayer=function(a,d){if(!arguments.length||typeof arguments[0]=="number"){var c=[];
|
22
|
+
this.each(function(){var b=$f(this);b&&c.push(b)});return arguments.length?c[arguments[0]]:new w(c)}return this.each(function(){$f(this,t(a),d?t(d):{})})}})();
|
23
|
+
(function(){function t(e,j){if(j)for(var a in j)if(j.hasOwnProperty(a))e[a]=j[a];return e}function o(e,j){var a=[],d;for(d in e)if(e.hasOwnProperty(d))a[d]=j(e[d]);return a}function s(e,j,a){if(w.isSupported(j.version))e.innerHTML=w.getHTML(j,a);else if(j.expressInstall&&w.isSupported([6,65]))e.innerHTML=w.getHTML(t(j,{src:j.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{if(!e.innerHTML.replace(/\s/g,"")){e.innerHTML="<h2>Flash version "+j.version+
|
24
|
+
" or greater is required</h2><h3>"+(x[0]>0?"Your version is "+x:"You have no flash plugin installed")+"</h3>"+(e.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+G+"'>here</a></p>");if(e.tagName=="A")e.onclick=function(){location.href=G}}if(j.onFail){var d=j.onFail.call(this);if(typeof d=="string")e.innerHTML=d}}if(F)window[j.id]=document.getElementById(j.id);t(this,{getRoot:function(){return e},getOptions:function(){return j},getConf:function(){return a},
|
25
|
+
getApi:function(){return e.firstChild}})}var F=document.all,G="http://www.adobe.com/go/getflashplayer",y=typeof jQuery=="function",A=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,z={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}});
|
26
|
+
window.flashembed=function(e,j,a){if(typeof e=="string")e=document.getElementById(e.replace("#",""));if(e){if(typeof j=="string")j={src:j};return new s(e,t(t({},z),j),a)}};var w=t(window.flashembed,{conf:z,getVersion:function(){var e,j;try{j=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(a){try{j=(e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"))&&e.GetVariable("$version")}catch(d){try{j=(e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"))&&e.GetVariable("$version")}catch(c){}}}return(j=
|
27
|
+
A.exec(j))?[j[1],j[3]]:[0,0]},asString:function(e){if(e===null||e===undefined)return null;var j=typeof e;if(j=="object"&&e.push)j="array";switch(j){case "string":e=e.replace(RegExp('(["\\\\])',"g"),"\\$1");e=e.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+e+'"';case "array":return"["+o(e,function(d){return w.asString(d)}).join(",")+"]";case "function":return'"function()"';case "object":j=[];for(var a in e)e.hasOwnProperty(a)&&j.push('"'+a+'":'+w.asString(e[a]));return"{"+j.join(",")+"}"}return String(e).replace(/\s/g,
|
28
|
+
" ").replace(/\'/g,'"')},getHTML:function(e,j){e=t({},e);var a='<object width="'+e.width+'" height="'+e.height+'" id="'+e.id+'" name="'+e.id+'"';if(e.cachebusting)e.src+=(e.src.indexOf("?")!=-1?"&":"?")+Math.random();a+=e.w3c||!F?' data="'+e.src+'" type="application/x-shockwave-flash"':' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';a+=">";if(e.w3c||F)a+='<param name="movie" value="'+e.src+'" />';e.width=e.height=e.id=e.w3c=e.src=null;e.onFail=e.version=e.expressInstall=null;for(var d in e)if(e[d])a+=
|
29
|
+
'<param name="'+d+'" value="'+e[d]+'" />';d="";if(j){for(var c in j)if(j[c]){var b=j[c];d+=c+"="+(/function|object/.test(typeof b)?w.asString(b):b)+"&"}d=d.slice(0,-1);a+='<param name="flashvars" value=\''+d+"' />"}a+="</object>";return a},isSupported:function(e){return x[0]>e[0]||x[0]==e[0]&&x[1]>=e[1]}}),x=w.getVersion();if(y){jQuery.tools=jQuery.tools||{version:"3.2.4"};jQuery.tools.flashembed={conf:z};jQuery.fn.flashembed=function(e,j){return this.each(function(){$(this).data("flashembed",flashembed(this,
|
30
|
+
e,j))})}}})();
|
@@ -459,8 +459,9 @@
|
|
459
459
|
|
460
460
|
setValue: function(year, month, day) {
|
461
461
|
|
462
|
-
var date = integer(month) >= -1 ?
|
463
|
-
year || value
|
462
|
+
var date = integer(month) >= -1 ?
|
463
|
+
new Date(integer(year), integer(month), integer(day || 1)) : year || value
|
464
|
+
;
|
464
465
|
|
465
466
|
if (date < min) { date = min; }
|
466
467
|
else if (date > max) { date = max; }
|
@@ -1767,7 +1768,7 @@
|
|
1767
1768
|
},
|
1768
1769
|
|
1769
1770
|
getItems: function() {
|
1770
|
-
return itemWrap.
|
1771
|
+
return itemWrap.children(conf.item).not("." + conf.clonedClass);
|
1771
1772
|
},
|
1772
1773
|
|
1773
1774
|
move: function(offset, time) {
|
@@ -191,7 +191,7 @@ K.trigger(w,[r])}}).click(function(w){return w.preventDefault()});o.click(functi
|
|
191
191
|
a(this).val();v!==r&&d.setValue(v,w)});a.extend(j[0],{stepUp:d.stepUp,stepDown:d.stepDown});c();p||a(window).load(c)}a.tools=a.tools||{version:"@VERSION"};var f;f=a.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:true,progress:false,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var b,m;a.fn.drag=function(j){document.ondragstart=function(){return false};j=a.extend({x:true,y:true,drag:true},j);b=b||a(document).bind("mousedown mouseup",
|
192
192
|
function(g){var h=a(g.target);if(g.type=="mousedown"&&h.data("drag")){var l=h.position(),c=g.pageX-l.left,d=g.pageY-l.top,k=true;b.bind("mousemove.drag",function(o){var i=o.pageX-c;o=o.pageY-d;var r={};if(j.x)r.left=i;if(j.y)r.top=o;if(k){h.trigger("dragStart");k=false}j.drag&&h.css(r);h.trigger("drag",[o,i]);m=h});g.preventDefault()}else try{m&&m.trigger("dragEnd")}finally{b.unbind("mousemove.drag");m=null}});return this.data("drag",true)};a.expr[":"].range=function(j){var g=j.getAttribute("type");
|
193
193
|
return g&&g=="range"||!!a(j).filter("input").data("rangeinput")};a.fn.rangeinput=function(j){if(this.data("rangeinput"))return this;j=a.extend(true,{},f.conf,j);var g;this.each(function(){var h=new e(a(this),a.extend(true,{},j));h=h.getInput().data("rangeinput",h);g=g?g.add(h):h});return g?g:this}})(jQuery);
|
194
|
-
(function(a){function y(e,f){var b=a(f);return b.length<2?b:e.parent().find(f)}function t(e,f){var b=this,m=e.add(b),j=e.children(),g=0,h=f.vertical;n||(n=b);if(j.length>1)j=a(f.items,e);a.extend(b,{getConf:function(){return f},getIndex:function(){return g},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return d.add(k)},getRoot:function(){return e},getItemWrap:function(){return j},getItems:function(){return j.
|
194
|
+
(function(a){function y(e,f){var b=a(f);return b.length<2?b:e.parent().find(f)}function t(e,f){var b=this,m=e.add(b),j=e.children(),g=0,h=f.vertical;n||(n=b);if(j.length>1)j=a(f.items,e);a.extend(b,{getConf:function(){return f},getIndex:function(){return g},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return d.add(k)},getRoot:function(){return e},getItemWrap:function(){return j},getItems:function(){return j.children(f.item).not("."+f.clonedClass)},move:function(i,r){return b.seekTo(g+
|
195
195
|
i,r)},next:function(i){return b.move(1,i)},prev:function(i){return b.move(-1,i)},begin:function(i){return b.seekTo(0,i)},end:function(i){return b.seekTo(b.getSize()-1,i)},focus:function(){return n=b},addItem:function(i){i=a(i);if(f.circular){j.children("."+f.clonedClass+":last").before(i);j.children("."+f.clonedClass+":first").replaceWith(i.clone().addClass(f.clonedClass))}else j.append(i);m.trigger("onAddItem",[i]);return b},seekTo:function(i,r,s){i.jquery||(i*=1);if(f.circular&&i===0&&g==-1&&r!==
|
196
196
|
0)return b;if(!f.circular&&i<0||i>b.getSize()||i<-1)return b;var p=i;if(i.jquery)i=b.getItems().index(i);else p=b.getItems().eq(i);var q=a.Event("onBeforeSeek");if(!s){m.trigger(q,[i,r]);if(q.isDefaultPrevented()||!p.length)return b}p=h?{top:-p.position().top}:{left:-p.position().left};g=i;n=b;if(r===undefined)r=f.speed;j.animate(p,r,f.easing,s||function(){m.trigger("onSeek",[i])});return b}});a.each(["onBeforeSeek","onSeek","onAddItem"],function(i,r){a.isFunction(f[r])&&a(b).bind(r,f[r]);b[r]=function(s){s&&
|
197
197
|
a(b).bind(r,s);return b}});if(f.circular){var l=b.getItems().slice(-1).clone().prependTo(j),c=b.getItems().eq(1).clone().appendTo(j);l.add(c).addClass(f.clonedClass);b.onBeforeSeek(function(i,r,s){if(!i.isDefaultPrevented())if(r==-1){b.seekTo(l,s,function(){b.end(0)});return i.preventDefault()}else r==b.getSize()&&b.seekTo(c,s,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var d=y(e,f.prev).click(function(){b.prev()}),k=y(e,f.next).click(function(){b.next()});if(!f.circular&&b.getSize()>1){b.onBeforeSeek(function(i,
|
data/templates/tools/manifest.rb
CHANGED
@@ -0,0 +1,777 @@
|
|
1
|
+
/*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
|
2
|
+
is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
|
3
|
+
*/
|
4
|
+
|
5
|
+
var swfobject = function() {
|
6
|
+
|
7
|
+
var UNDEF = "undefined",
|
8
|
+
OBJECT = "object",
|
9
|
+
SHOCKWAVE_FLASH = "Shockwave Flash",
|
10
|
+
SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
|
11
|
+
FLASH_MIME_TYPE = "application/x-shockwave-flash",
|
12
|
+
EXPRESS_INSTALL_ID = "SWFObjectExprInst",
|
13
|
+
ON_READY_STATE_CHANGE = "onreadystatechange",
|
14
|
+
|
15
|
+
win = window,
|
16
|
+
doc = document,
|
17
|
+
nav = navigator,
|
18
|
+
|
19
|
+
plugin = false,
|
20
|
+
domLoadFnArr = [main],
|
21
|
+
regObjArr = [],
|
22
|
+
objIdArr = [],
|
23
|
+
listenersArr = [],
|
24
|
+
storedAltContent,
|
25
|
+
storedAltContentId,
|
26
|
+
storedCallbackFn,
|
27
|
+
storedCallbackObj,
|
28
|
+
isDomLoaded = false,
|
29
|
+
isExpressInstallActive = false,
|
30
|
+
dynamicStylesheet,
|
31
|
+
dynamicStylesheetMedia,
|
32
|
+
autoHideShow = true,
|
33
|
+
|
34
|
+
/* Centralized function for browser feature detection
|
35
|
+
- User agent string detection is only used when no good alternative is possible
|
36
|
+
- Is executed directly for optimal performance
|
37
|
+
*/
|
38
|
+
ua = function() {
|
39
|
+
var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
|
40
|
+
u = nav.userAgent.toLowerCase(),
|
41
|
+
p = nav.platform.toLowerCase(),
|
42
|
+
windows = p ? /win/.test(p) : /win/.test(u),
|
43
|
+
mac = p ? /mac/.test(p) : /mac/.test(u),
|
44
|
+
webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
|
45
|
+
ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
|
46
|
+
playerVersion = [0,0,0],
|
47
|
+
d = null;
|
48
|
+
if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
|
49
|
+
d = nav.plugins[SHOCKWAVE_FLASH].description;
|
50
|
+
if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
|
51
|
+
plugin = true;
|
52
|
+
ie = false; // cascaded feature detection for Internet Explorer
|
53
|
+
d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
|
54
|
+
playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
|
55
|
+
playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
|
56
|
+
playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
else if (typeof win.ActiveXObject != UNDEF) {
|
60
|
+
try {
|
61
|
+
var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
|
62
|
+
if (a) { // a will return null when ActiveX is disabled
|
63
|
+
d = a.GetVariable("$version");
|
64
|
+
if (d) {
|
65
|
+
ie = true; // cascaded feature detection for Internet Explorer
|
66
|
+
d = d.split(" ")[1].split(",");
|
67
|
+
playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
catch(e) {}
|
72
|
+
}
|
73
|
+
return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
|
74
|
+
}(),
|
75
|
+
|
76
|
+
/* Cross-browser onDomLoad
|
77
|
+
- Will fire an event as soon as the DOM of a web page is loaded
|
78
|
+
- Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/
|
79
|
+
- Regular onload serves as fallback
|
80
|
+
*/
|
81
|
+
onDomLoad = function() {
|
82
|
+
if (!ua.w3) { return; }
|
83
|
+
if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically
|
84
|
+
callDomLoadFunctions();
|
85
|
+
}
|
86
|
+
if (!isDomLoaded) {
|
87
|
+
if (typeof doc.addEventListener != UNDEF) {
|
88
|
+
doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false);
|
89
|
+
}
|
90
|
+
if (ua.ie && ua.win) {
|
91
|
+
doc.attachEvent(ON_READY_STATE_CHANGE, function() {
|
92
|
+
if (doc.readyState == "complete") {
|
93
|
+
doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee);
|
94
|
+
callDomLoadFunctions();
|
95
|
+
}
|
96
|
+
});
|
97
|
+
if (win == top) { // if not inside an iframe
|
98
|
+
(function(){
|
99
|
+
if (isDomLoaded) { return; }
|
100
|
+
try {
|
101
|
+
doc.documentElement.doScroll("left");
|
102
|
+
}
|
103
|
+
catch(e) {
|
104
|
+
setTimeout(arguments.callee, 0);
|
105
|
+
return;
|
106
|
+
}
|
107
|
+
callDomLoadFunctions();
|
108
|
+
})();
|
109
|
+
}
|
110
|
+
}
|
111
|
+
if (ua.wk) {
|
112
|
+
(function(){
|
113
|
+
if (isDomLoaded) { return; }
|
114
|
+
if (!/loaded|complete/.test(doc.readyState)) {
|
115
|
+
setTimeout(arguments.callee, 0);
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
callDomLoadFunctions();
|
119
|
+
})();
|
120
|
+
}
|
121
|
+
addLoadEvent(callDomLoadFunctions);
|
122
|
+
}
|
123
|
+
}();
|
124
|
+
|
125
|
+
function callDomLoadFunctions() {
|
126
|
+
if (isDomLoaded) { return; }
|
127
|
+
try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
|
128
|
+
var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
|
129
|
+
t.parentNode.removeChild(t);
|
130
|
+
}
|
131
|
+
catch (e) { return; }
|
132
|
+
isDomLoaded = true;
|
133
|
+
var dl = domLoadFnArr.length;
|
134
|
+
for (var i = 0; i < dl; i++) {
|
135
|
+
domLoadFnArr[i]();
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
function addDomLoadEvent(fn) {
|
140
|
+
if (isDomLoaded) {
|
141
|
+
fn();
|
142
|
+
}
|
143
|
+
else {
|
144
|
+
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
/* Cross-browser onload
|
149
|
+
- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
|
150
|
+
- Will fire an event as soon as a web page including all of its assets are loaded
|
151
|
+
*/
|
152
|
+
function addLoadEvent(fn) {
|
153
|
+
if (typeof win.addEventListener != UNDEF) {
|
154
|
+
win.addEventListener("load", fn, false);
|
155
|
+
}
|
156
|
+
else if (typeof doc.addEventListener != UNDEF) {
|
157
|
+
doc.addEventListener("load", fn, false);
|
158
|
+
}
|
159
|
+
else if (typeof win.attachEvent != UNDEF) {
|
160
|
+
addListener(win, "onload", fn);
|
161
|
+
}
|
162
|
+
else if (typeof win.onload == "function") {
|
163
|
+
var fnOld = win.onload;
|
164
|
+
win.onload = function() {
|
165
|
+
fnOld();
|
166
|
+
fn();
|
167
|
+
};
|
168
|
+
}
|
169
|
+
else {
|
170
|
+
win.onload = fn;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
|
174
|
+
/* Main function
|
175
|
+
- Will preferably execute onDomLoad, otherwise onload (as a fallback)
|
176
|
+
*/
|
177
|
+
function main() {
|
178
|
+
if (plugin) {
|
179
|
+
testPlayerVersion();
|
180
|
+
}
|
181
|
+
else {
|
182
|
+
matchVersions();
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
/* Detect the Flash Player version for non-Internet Explorer browsers
|
187
|
+
- Detecting the plug-in version via the object element is more precise than using the plugins collection item's description:
|
188
|
+
a. Both release and build numbers can be detected
|
189
|
+
b. Avoid wrong descriptions by corrupt installers provided by Adobe
|
190
|
+
c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports
|
191
|
+
- Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available
|
192
|
+
*/
|
193
|
+
function testPlayerVersion() {
|
194
|
+
var b = doc.getElementsByTagName("body")[0];
|
195
|
+
var o = createElement(OBJECT);
|
196
|
+
o.setAttribute("type", FLASH_MIME_TYPE);
|
197
|
+
var t = b.appendChild(o);
|
198
|
+
if (t) {
|
199
|
+
var counter = 0;
|
200
|
+
(function(){
|
201
|
+
if (typeof t.GetVariable != UNDEF) {
|
202
|
+
var d = t.GetVariable("$version");
|
203
|
+
if (d) {
|
204
|
+
d = d.split(" ")[1].split(",");
|
205
|
+
ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
206
|
+
}
|
207
|
+
}
|
208
|
+
else if (counter < 10) {
|
209
|
+
counter++;
|
210
|
+
setTimeout(arguments.callee, 10);
|
211
|
+
return;
|
212
|
+
}
|
213
|
+
b.removeChild(o);
|
214
|
+
t = null;
|
215
|
+
matchVersions();
|
216
|
+
})();
|
217
|
+
}
|
218
|
+
else {
|
219
|
+
matchVersions();
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
/* Perform Flash Player and SWF version matching; static publishing only
|
224
|
+
*/
|
225
|
+
function matchVersions() {
|
226
|
+
var rl = regObjArr.length;
|
227
|
+
if (rl > 0) {
|
228
|
+
for (var i = 0; i < rl; i++) { // for each registered object element
|
229
|
+
var id = regObjArr[i].id;
|
230
|
+
var cb = regObjArr[i].callbackFn;
|
231
|
+
var cbObj = {success:false, id:id};
|
232
|
+
if (ua.pv[0] > 0) {
|
233
|
+
var obj = getElementById(id);
|
234
|
+
if (obj) {
|
235
|
+
if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match!
|
236
|
+
setVisibility(id, true);
|
237
|
+
if (cb) {
|
238
|
+
cbObj.success = true;
|
239
|
+
cbObj.ref = getObjectById(id);
|
240
|
+
cb(cbObj);
|
241
|
+
}
|
242
|
+
}
|
243
|
+
else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported
|
244
|
+
var att = {};
|
245
|
+
att.data = regObjArr[i].expressInstall;
|
246
|
+
att.width = obj.getAttribute("width") || "0";
|
247
|
+
att.height = obj.getAttribute("height") || "0";
|
248
|
+
if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); }
|
249
|
+
if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); }
|
250
|
+
// parse HTML object param element's name-value pairs
|
251
|
+
var par = {};
|
252
|
+
var p = obj.getElementsByTagName("param");
|
253
|
+
var pl = p.length;
|
254
|
+
for (var j = 0; j < pl; j++) {
|
255
|
+
if (p[j].getAttribute("name").toLowerCase() != "movie") {
|
256
|
+
par[p[j].getAttribute("name")] = p[j].getAttribute("value");
|
257
|
+
}
|
258
|
+
}
|
259
|
+
showExpressInstall(att, par, id, cb);
|
260
|
+
}
|
261
|
+
else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF
|
262
|
+
displayAltContent(obj);
|
263
|
+
if (cb) { cb(cbObj); }
|
264
|
+
}
|
265
|
+
}
|
266
|
+
}
|
267
|
+
else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content)
|
268
|
+
setVisibility(id, true);
|
269
|
+
if (cb) {
|
270
|
+
var o = getObjectById(id); // test whether there is an HTML object element or not
|
271
|
+
if (o && typeof o.SetVariable != UNDEF) {
|
272
|
+
cbObj.success = true;
|
273
|
+
cbObj.ref = o;
|
274
|
+
}
|
275
|
+
cb(cbObj);
|
276
|
+
}
|
277
|
+
}
|
278
|
+
}
|
279
|
+
}
|
280
|
+
}
|
281
|
+
|
282
|
+
function getObjectById(objectIdStr) {
|
283
|
+
var r = null;
|
284
|
+
var o = getElementById(objectIdStr);
|
285
|
+
if (o && o.nodeName == "OBJECT") {
|
286
|
+
if (typeof o.SetVariable != UNDEF) {
|
287
|
+
r = o;
|
288
|
+
}
|
289
|
+
else {
|
290
|
+
var n = o.getElementsByTagName(OBJECT)[0];
|
291
|
+
if (n) {
|
292
|
+
r = n;
|
293
|
+
}
|
294
|
+
}
|
295
|
+
}
|
296
|
+
return r;
|
297
|
+
}
|
298
|
+
|
299
|
+
/* Requirements for Adobe Express Install
|
300
|
+
- only one instance can be active at a time
|
301
|
+
- fp 6.0.65 or higher
|
302
|
+
- Win/Mac OS only
|
303
|
+
- no Webkit engines older than version 312
|
304
|
+
*/
|
305
|
+
function canExpressInstall() {
|
306
|
+
return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312);
|
307
|
+
}
|
308
|
+
|
309
|
+
/* Show the Adobe Express Install dialog
|
310
|
+
- Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
|
311
|
+
*/
|
312
|
+
function showExpressInstall(att, par, replaceElemIdStr, callbackFn) {
|
313
|
+
isExpressInstallActive = true;
|
314
|
+
storedCallbackFn = callbackFn || null;
|
315
|
+
storedCallbackObj = {success:false, id:replaceElemIdStr};
|
316
|
+
var obj = getElementById(replaceElemIdStr);
|
317
|
+
if (obj) {
|
318
|
+
if (obj.nodeName == "OBJECT") { // static publishing
|
319
|
+
storedAltContent = abstractAltContent(obj);
|
320
|
+
storedAltContentId = null;
|
321
|
+
}
|
322
|
+
else { // dynamic publishing
|
323
|
+
storedAltContent = obj;
|
324
|
+
storedAltContentId = replaceElemIdStr;
|
325
|
+
}
|
326
|
+
att.id = EXPRESS_INSTALL_ID;
|
327
|
+
if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; }
|
328
|
+
if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; }
|
329
|
+
doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
|
330
|
+
var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
|
331
|
+
fv = "MMredirectURL=" + win.location.toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title;
|
332
|
+
if (typeof par.flashvars != UNDEF) {
|
333
|
+
par.flashvars += "&" + fv;
|
334
|
+
}
|
335
|
+
else {
|
336
|
+
par.flashvars = fv;
|
337
|
+
}
|
338
|
+
// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
|
339
|
+
// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
|
340
|
+
if (ua.ie && ua.win && obj.readyState != 4) {
|
341
|
+
var newObj = createElement("div");
|
342
|
+
replaceElemIdStr += "SWFObjectNew";
|
343
|
+
newObj.setAttribute("id", replaceElemIdStr);
|
344
|
+
obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf
|
345
|
+
obj.style.display = "none";
|
346
|
+
(function(){
|
347
|
+
if (obj.readyState == 4) {
|
348
|
+
obj.parentNode.removeChild(obj);
|
349
|
+
}
|
350
|
+
else {
|
351
|
+
setTimeout(arguments.callee, 10);
|
352
|
+
}
|
353
|
+
})();
|
354
|
+
}
|
355
|
+
createSWF(att, par, replaceElemIdStr);
|
356
|
+
}
|
357
|
+
}
|
358
|
+
|
359
|
+
/* Functions to abstract and display alternative content
|
360
|
+
*/
|
361
|
+
function displayAltContent(obj) {
|
362
|
+
if (ua.ie && ua.win && obj.readyState != 4) {
|
363
|
+
// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
|
364
|
+
// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
|
365
|
+
var el = createElement("div");
|
366
|
+
obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
|
367
|
+
el.parentNode.replaceChild(abstractAltContent(obj), el);
|
368
|
+
obj.style.display = "none";
|
369
|
+
(function(){
|
370
|
+
if (obj.readyState == 4) {
|
371
|
+
obj.parentNode.removeChild(obj);
|
372
|
+
}
|
373
|
+
else {
|
374
|
+
setTimeout(arguments.callee, 10);
|
375
|
+
}
|
376
|
+
})();
|
377
|
+
}
|
378
|
+
else {
|
379
|
+
obj.parentNode.replaceChild(abstractAltContent(obj), obj);
|
380
|
+
}
|
381
|
+
}
|
382
|
+
|
383
|
+
function abstractAltContent(obj) {
|
384
|
+
var ac = createElement("div");
|
385
|
+
if (ua.win && ua.ie) {
|
386
|
+
ac.innerHTML = obj.innerHTML;
|
387
|
+
}
|
388
|
+
else {
|
389
|
+
var nestedObj = obj.getElementsByTagName(OBJECT)[0];
|
390
|
+
if (nestedObj) {
|
391
|
+
var c = nestedObj.childNodes;
|
392
|
+
if (c) {
|
393
|
+
var cl = c.length;
|
394
|
+
for (var i = 0; i < cl; i++) {
|
395
|
+
if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
|
396
|
+
ac.appendChild(c[i].cloneNode(true));
|
397
|
+
}
|
398
|
+
}
|
399
|
+
}
|
400
|
+
}
|
401
|
+
}
|
402
|
+
return ac;
|
403
|
+
}
|
404
|
+
|
405
|
+
/* Cross-browser dynamic SWF creation
|
406
|
+
*/
|
407
|
+
function createSWF(attObj, parObj, id) {
|
408
|
+
var r, el = getElementById(id);
|
409
|
+
if (ua.wk && ua.wk < 312) { return r; }
|
410
|
+
if (el) {
|
411
|
+
if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
|
412
|
+
attObj.id = id;
|
413
|
+
}
|
414
|
+
if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
|
415
|
+
var att = "";
|
416
|
+
for (var i in attObj) {
|
417
|
+
if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
|
418
|
+
if (i.toLowerCase() == "data") {
|
419
|
+
parObj.movie = attObj[i];
|
420
|
+
}
|
421
|
+
else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
422
|
+
att += ' class="' + attObj[i] + '"';
|
423
|
+
}
|
424
|
+
else if (i.toLowerCase() != "classid") {
|
425
|
+
att += ' ' + i + '="' + attObj[i] + '"';
|
426
|
+
}
|
427
|
+
}
|
428
|
+
}
|
429
|
+
var par = "";
|
430
|
+
for (var j in parObj) {
|
431
|
+
if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
|
432
|
+
par += '<param name="' + j + '" value="' + parObj[j] + '" />';
|
433
|
+
}
|
434
|
+
}
|
435
|
+
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
|
436
|
+
objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
|
437
|
+
r = getElementById(attObj.id);
|
438
|
+
}
|
439
|
+
else { // well-behaving browsers
|
440
|
+
var o = createElement(OBJECT);
|
441
|
+
o.setAttribute("type", FLASH_MIME_TYPE);
|
442
|
+
for (var m in attObj) {
|
443
|
+
if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
|
444
|
+
if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
445
|
+
o.setAttribute("class", attObj[m]);
|
446
|
+
}
|
447
|
+
else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
|
448
|
+
o.setAttribute(m, attObj[m]);
|
449
|
+
}
|
450
|
+
}
|
451
|
+
}
|
452
|
+
for (var n in parObj) {
|
453
|
+
if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
|
454
|
+
createObjParam(o, n, parObj[n]);
|
455
|
+
}
|
456
|
+
}
|
457
|
+
el.parentNode.replaceChild(o, el);
|
458
|
+
r = o;
|
459
|
+
}
|
460
|
+
}
|
461
|
+
return r;
|
462
|
+
}
|
463
|
+
|
464
|
+
function createObjParam(el, pName, pValue) {
|
465
|
+
var p = createElement("param");
|
466
|
+
p.setAttribute("name", pName);
|
467
|
+
p.setAttribute("value", pValue);
|
468
|
+
el.appendChild(p);
|
469
|
+
}
|
470
|
+
|
471
|
+
/* Cross-browser SWF removal
|
472
|
+
- Especially needed to safely and completely remove a SWF in Internet Explorer
|
473
|
+
*/
|
474
|
+
function removeSWF(id) {
|
475
|
+
var obj = getElementById(id);
|
476
|
+
if (obj && obj.nodeName == "OBJECT") {
|
477
|
+
if (ua.ie && ua.win) {
|
478
|
+
obj.style.display = "none";
|
479
|
+
(function(){
|
480
|
+
if (obj.readyState == 4) {
|
481
|
+
removeObjectInIE(id);
|
482
|
+
}
|
483
|
+
else {
|
484
|
+
setTimeout(arguments.callee, 10);
|
485
|
+
}
|
486
|
+
})();
|
487
|
+
}
|
488
|
+
else {
|
489
|
+
obj.parentNode.removeChild(obj);
|
490
|
+
}
|
491
|
+
}
|
492
|
+
}
|
493
|
+
|
494
|
+
function removeObjectInIE(id) {
|
495
|
+
var obj = getElementById(id);
|
496
|
+
if (obj) {
|
497
|
+
for (var i in obj) {
|
498
|
+
if (typeof obj[i] == "function") {
|
499
|
+
obj[i] = null;
|
500
|
+
}
|
501
|
+
}
|
502
|
+
obj.parentNode.removeChild(obj);
|
503
|
+
}
|
504
|
+
}
|
505
|
+
|
506
|
+
/* Functions to optimize JavaScript compression
|
507
|
+
*/
|
508
|
+
function getElementById(id) {
|
509
|
+
var el = null;
|
510
|
+
try {
|
511
|
+
el = doc.getElementById(id);
|
512
|
+
}
|
513
|
+
catch (e) {}
|
514
|
+
return el;
|
515
|
+
}
|
516
|
+
|
517
|
+
function createElement(el) {
|
518
|
+
return doc.createElement(el);
|
519
|
+
}
|
520
|
+
|
521
|
+
/* Updated attachEvent function for Internet Explorer
|
522
|
+
- Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
|
523
|
+
*/
|
524
|
+
function addListener(target, eventType, fn) {
|
525
|
+
target.attachEvent(eventType, fn);
|
526
|
+
listenersArr[listenersArr.length] = [target, eventType, fn];
|
527
|
+
}
|
528
|
+
|
529
|
+
/* Flash Player and SWF content version matching
|
530
|
+
*/
|
531
|
+
function hasPlayerVersion(rv) {
|
532
|
+
var pv = ua.pv, v = rv.split(".");
|
533
|
+
v[0] = parseInt(v[0], 10);
|
534
|
+
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
|
535
|
+
v[2] = parseInt(v[2], 10) || 0;
|
536
|
+
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
|
537
|
+
}
|
538
|
+
|
539
|
+
/* Cross-browser dynamic CSS creation
|
540
|
+
- Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
|
541
|
+
*/
|
542
|
+
function createCSS(sel, decl, media, newStyle) {
|
543
|
+
if (ua.ie && ua.mac) { return; }
|
544
|
+
var h = doc.getElementsByTagName("head")[0];
|
545
|
+
if (!h) { return; } // to also support badly authored HTML pages that lack a head element
|
546
|
+
var m = (media && typeof media == "string") ? media : "screen";
|
547
|
+
if (newStyle) {
|
548
|
+
dynamicStylesheet = null;
|
549
|
+
dynamicStylesheetMedia = null;
|
550
|
+
}
|
551
|
+
if (!dynamicStylesheet || dynamicStylesheetMedia != m) {
|
552
|
+
// create dynamic stylesheet + get a global reference to it
|
553
|
+
var s = createElement("style");
|
554
|
+
s.setAttribute("type", "text/css");
|
555
|
+
s.setAttribute("media", m);
|
556
|
+
dynamicStylesheet = h.appendChild(s);
|
557
|
+
if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
|
558
|
+
dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1];
|
559
|
+
}
|
560
|
+
dynamicStylesheetMedia = m;
|
561
|
+
}
|
562
|
+
// add style rule
|
563
|
+
if (ua.ie && ua.win) {
|
564
|
+
if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) {
|
565
|
+
dynamicStylesheet.addRule(sel, decl);
|
566
|
+
}
|
567
|
+
}
|
568
|
+
else {
|
569
|
+
if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) {
|
570
|
+
dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
|
571
|
+
}
|
572
|
+
}
|
573
|
+
}
|
574
|
+
|
575
|
+
function setVisibility(id, isVisible) {
|
576
|
+
if (!autoHideShow) { return; }
|
577
|
+
var v = isVisible ? "visible" : "hidden";
|
578
|
+
if (isDomLoaded && getElementById(id)) {
|
579
|
+
getElementById(id).style.visibility = v;
|
580
|
+
}
|
581
|
+
else {
|
582
|
+
createCSS("#" + id, "visibility:" + v);
|
583
|
+
}
|
584
|
+
}
|
585
|
+
|
586
|
+
/* Filter to avoid XSS attacks
|
587
|
+
*/
|
588
|
+
function urlEncodeIfNecessary(s) {
|
589
|
+
var regex = /[\\\"<>\.;]/;
|
590
|
+
var hasBadChars = regex.exec(s) != null;
|
591
|
+
return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
|
592
|
+
}
|
593
|
+
|
594
|
+
/* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
|
595
|
+
*/
|
596
|
+
var cleanup = function() {
|
597
|
+
if (ua.ie && ua.win) {
|
598
|
+
window.attachEvent("onunload", function() {
|
599
|
+
// remove listeners to avoid memory leaks
|
600
|
+
var ll = listenersArr.length;
|
601
|
+
for (var i = 0; i < ll; i++) {
|
602
|
+
listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
|
603
|
+
}
|
604
|
+
// cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect
|
605
|
+
var il = objIdArr.length;
|
606
|
+
for (var j = 0; j < il; j++) {
|
607
|
+
removeSWF(objIdArr[j]);
|
608
|
+
}
|
609
|
+
// cleanup library's main closures to avoid memory leaks
|
610
|
+
for (var k in ua) {
|
611
|
+
ua[k] = null;
|
612
|
+
}
|
613
|
+
ua = null;
|
614
|
+
for (var l in swfobject) {
|
615
|
+
swfobject[l] = null;
|
616
|
+
}
|
617
|
+
swfobject = null;
|
618
|
+
});
|
619
|
+
}
|
620
|
+
}();
|
621
|
+
|
622
|
+
return {
|
623
|
+
/* Public API
|
624
|
+
- Reference: http://code.google.com/p/swfobject/wiki/documentation
|
625
|
+
*/
|
626
|
+
registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) {
|
627
|
+
if (ua.w3 && objectIdStr && swfVersionStr) {
|
628
|
+
var regObj = {};
|
629
|
+
regObj.id = objectIdStr;
|
630
|
+
regObj.swfVersion = swfVersionStr;
|
631
|
+
regObj.expressInstall = xiSwfUrlStr;
|
632
|
+
regObj.callbackFn = callbackFn;
|
633
|
+
regObjArr[regObjArr.length] = regObj;
|
634
|
+
setVisibility(objectIdStr, false);
|
635
|
+
}
|
636
|
+
else if (callbackFn) {
|
637
|
+
callbackFn({success:false, id:objectIdStr});
|
638
|
+
}
|
639
|
+
},
|
640
|
+
|
641
|
+
getObjectById: function(objectIdStr) {
|
642
|
+
if (ua.w3) {
|
643
|
+
return getObjectById(objectIdStr);
|
644
|
+
}
|
645
|
+
},
|
646
|
+
|
647
|
+
embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
|
648
|
+
var callbackObj = {success:false, id:replaceElemIdStr};
|
649
|
+
if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
|
650
|
+
setVisibility(replaceElemIdStr, false);
|
651
|
+
addDomLoadEvent(function() {
|
652
|
+
widthStr += ""; // auto-convert to string
|
653
|
+
heightStr += "";
|
654
|
+
var att = {};
|
655
|
+
if (attObj && typeof attObj === OBJECT) {
|
656
|
+
for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
|
657
|
+
att[i] = attObj[i];
|
658
|
+
}
|
659
|
+
}
|
660
|
+
att.data = swfUrlStr;
|
661
|
+
att.width = widthStr;
|
662
|
+
att.height = heightStr;
|
663
|
+
var par = {};
|
664
|
+
if (parObj && typeof parObj === OBJECT) {
|
665
|
+
for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
|
666
|
+
par[j] = parObj[j];
|
667
|
+
}
|
668
|
+
}
|
669
|
+
if (flashvarsObj && typeof flashvarsObj === OBJECT) {
|
670
|
+
for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
|
671
|
+
if (typeof par.flashvars != UNDEF) {
|
672
|
+
par.flashvars += "&" + k + "=" + flashvarsObj[k];
|
673
|
+
}
|
674
|
+
else {
|
675
|
+
par.flashvars = k + "=" + flashvarsObj[k];
|
676
|
+
}
|
677
|
+
}
|
678
|
+
}
|
679
|
+
if (hasPlayerVersion(swfVersionStr)) { // create SWF
|
680
|
+
var obj = createSWF(att, par, replaceElemIdStr);
|
681
|
+
if (att.id == replaceElemIdStr) {
|
682
|
+
setVisibility(replaceElemIdStr, true);
|
683
|
+
}
|
684
|
+
callbackObj.success = true;
|
685
|
+
callbackObj.ref = obj;
|
686
|
+
}
|
687
|
+
else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install
|
688
|
+
att.data = xiSwfUrlStr;
|
689
|
+
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
|
690
|
+
return;
|
691
|
+
}
|
692
|
+
else { // show alternative content
|
693
|
+
setVisibility(replaceElemIdStr, true);
|
694
|
+
}
|
695
|
+
if (callbackFn) { callbackFn(callbackObj); }
|
696
|
+
});
|
697
|
+
}
|
698
|
+
else if (callbackFn) { callbackFn(callbackObj); }
|
699
|
+
},
|
700
|
+
|
701
|
+
switchOffAutoHideShow: function() {
|
702
|
+
autoHideShow = false;
|
703
|
+
},
|
704
|
+
|
705
|
+
ua: ua,
|
706
|
+
|
707
|
+
getFlashPlayerVersion: function() {
|
708
|
+
return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
|
709
|
+
},
|
710
|
+
|
711
|
+
hasFlashPlayerVersion: hasPlayerVersion,
|
712
|
+
|
713
|
+
createSWF: function(attObj, parObj, replaceElemIdStr) {
|
714
|
+
if (ua.w3) {
|
715
|
+
return createSWF(attObj, parObj, replaceElemIdStr);
|
716
|
+
}
|
717
|
+
else {
|
718
|
+
return undefined;
|
719
|
+
}
|
720
|
+
},
|
721
|
+
|
722
|
+
showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) {
|
723
|
+
if (ua.w3 && canExpressInstall()) {
|
724
|
+
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
|
725
|
+
}
|
726
|
+
},
|
727
|
+
|
728
|
+
removeSWF: function(objElemIdStr) {
|
729
|
+
if (ua.w3) {
|
730
|
+
removeSWF(objElemIdStr);
|
731
|
+
}
|
732
|
+
},
|
733
|
+
|
734
|
+
createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) {
|
735
|
+
if (ua.w3) {
|
736
|
+
createCSS(selStr, declStr, mediaStr, newStyleBoolean);
|
737
|
+
}
|
738
|
+
},
|
739
|
+
|
740
|
+
addDomLoadEvent: addDomLoadEvent,
|
741
|
+
|
742
|
+
addLoadEvent: addLoadEvent,
|
743
|
+
|
744
|
+
getQueryParamValue: function(param) {
|
745
|
+
var q = doc.location.search || doc.location.hash;
|
746
|
+
if (q) {
|
747
|
+
if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
|
748
|
+
if (param == null) {
|
749
|
+
return urlEncodeIfNecessary(q);
|
750
|
+
}
|
751
|
+
var pairs = q.split("&");
|
752
|
+
for (var i = 0; i < pairs.length; i++) {
|
753
|
+
if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
|
754
|
+
return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
|
755
|
+
}
|
756
|
+
}
|
757
|
+
}
|
758
|
+
return "";
|
759
|
+
},
|
760
|
+
|
761
|
+
// For internal usage only
|
762
|
+
expressInstallCallback: function() {
|
763
|
+
if (isExpressInstallActive) {
|
764
|
+
var obj = getElementById(EXPRESS_INSTALL_ID);
|
765
|
+
if (obj && storedAltContent) {
|
766
|
+
obj.parentNode.replaceChild(storedAltContent, obj);
|
767
|
+
if (storedAltContentId) {
|
768
|
+
setVisibility(storedAltContentId, true);
|
769
|
+
if (ua.ie && ua.win) { storedAltContent.style.display = "block"; }
|
770
|
+
}
|
771
|
+
if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); }
|
772
|
+
}
|
773
|
+
isExpressInstallActive = false;
|
774
|
+
}
|
775
|
+
}
|
776
|
+
};
|
777
|
+
}();
|